Thema: monitor 1.9.0 - aber richtig :)

  1. #346
    Registriert seit
    03.02.2006
    Beiträge
    75
    jupp make lüppt unter linux durch und text wird angezeigt:
    Code:
    textuebertragung = "&12:03: 258..*wlnotf*hunf*.......*.........*...........*>* **"
    wobei ich ort*straße*name mit ...... rausgenommen habe

    wie du schon sagtest, es fehlt nur noch die implementierung der einzelnen socketthreads
    :-))))
    klasse arbeit :-))))

    wäre es nicht möglich debug in eine logdatei zu schieben?

    Thomas

    ach ja, hatte ich vergessen...
    featurewünsche erst für die version 2.1 ... *rolleyes*
    Geändert von MacLeod (15.12.2007 um 12:35 Uhr)

  2. #347
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    So, nächte Rev. liegt im SVN. Irgendwie war mein Eclipse Plugin ein wenig verwirrt. Aktuell ist jetzt rev.226. Neu ist jetzt die Aufnahmesteuerung (Kommando 204 vom Client). Schreibt im Moment im raw Format.

    Namesschema ist fest eingestellt:
    [Kanalnummer]_[DATUM_UHRZEIT].raw im monitord Ordner.

    Wobei die Kanalnummer so vergeben sind:
    0 = Links der ersten Soundkarte
    1 = Rechts der ersten Soundkarte

    2 = Links der zweiten Soundkarte
    3 = Rechts der zweiten Soundkarte

    usw.

    Auch die anderen Kommandos laut letztem Entwurf sollen nun gehen. Ebenso sind nun die Ausgaben für FMS,ZVEI und POCSAG an das neue Format angepasst.

    Die Plugins für die Audioaufnahme sind nur verfügbar, wenn man mit configure --enable-plugins deren Übersetzung anfordert. Vorher am besten ein make clean, damit auch wirklich alles neu übersetzt wird. Wer ein 101:005 auf ein 204er Kommando bekommt hat wohl etwas falsch gemacht:-)

    Zur Zeit läßt sich der monitord unter Windows nur per Task-Manager beendet. Unter Linux klappt weiter STRG-C. Das warum werde ich mir nochmal anschauen...
    Geändert von Buebchen (16.12.2007 um 20:29 Uhr) Grund: Hinweise, daß STRG-C unter Windows nicht geht

  3. #348
    Registriert seit
    21.08.2005
    Beiträge
    251
    Zitat Zitat von Buebchen Beitrag anzeigen
    Auch die anderen Kommandos laut letztem Entwurf sollen nun gehen. Ebenso sind nun die Ausgaben für FMS,ZVEI und POCSAG an das neue Format angepasst.
    Bei mir arbeitet die Version ohne Plugin (auf dem Thinkpan mit Ubuntu 7.10 32Bit). Mit Plugin stürzt Monitord mit einem Segmentation Fault ab. Ich probiere das gleich noch auf der 64-Bit-Plattform.

    Der 203 liefert aktuell immer 8 Kanäle zurück, auch wenn nur zwei in der Config stehen.

    Die Zvei-Alarme kommen mit einem 320. Der sollte aber für Pocsac zuständig sein (und wir haben noch keine Syntax dafür). Zvei sollte aber einen 300 auslösen.
    Der 300er (momentan 320) gibt noch Text als Sirenencode zurück, das Protokoll sieht eine nummerische Ausgabe vor.

    Wir sollten uns noch ein Paar xml-Paramter für die Config ausdenken, mit der wir Pfad und Dateinamen für die Aufnahme steuern.

    viele Grüße,
    Andreas

  4. #349
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Zitat Zitat von nepomuck Beitrag anzeigen
    Bei mir arbeitet die Version ohne Plugin (auf dem Thinkpan mit Ubuntu 7.10 32Bit). Mit Plugin stürzt Monitord mit einem Segmentation Fault ab. Ich probiere das gleich noch auf der 64-Bit-Plattform.
    Poste da bitte mal die letzten Ausgaben vor dem SegFault. Unter meinem Ubuntu 6.06 (32Bit) klappt das Probleme. Vermutlich kann er die Plugins nicht laden (Die Plugins sind als eigene Dateien ausgelagert und werden zur Laufzeit dazugeladen).

    Zitat Zitat von nepomuck Beitrag anzeigen
    Der 203 liefert aktuell immer 8 Kanäle zurück, auch wenn nur zwei in der Config stehen.
    Oh. da war die Debugeinstellung noch nicht wieder raus. Jetzt werden wieder nur aktive Karten angezeigt. Was später noch in der Doku aufgeführt werden muss: Man darf niemals eine Karte "überspringen". Also nicht die erste und dritte aktiv schalten, die zweite aber nicht. Dann würde das herunterzählen nicht funktionieren. Die Kanale 2 und 3 würden fehlen.

    Zitat Zitat von nepomuck Beitrag anzeigen
    Die Zvei-Alarme kommen mit einem 320. Der sollte aber für Pocsac zuständig sein (und wir haben noch keine Syntax dafür). Zvei sollte aber einen 300 auslösen.
    Der 300er (momentan 320) gibt noch Text als Sirenencode zurück, das Protokoll sieht eine nummerische Ausgabe vor.
    Die 320 ist jetzt in 300 geändert (jaja, cut & paste :-) ). Der Weckton ist numerisch vorhanden. Danach habe ich einen Text ergänzt. Den bitte zum Protokoll hinzufügen. Der Grund ist ganz einfach: Ein ggf. irgendwann zentral verfügbares Modul kann da auch noch den Namen des Empfängers oder sonstiges hinzufügen. Generell bin ich in fast allen Produkten die ich betreue der Meinung, daß ein Freitext Feld immer vorhanden sein sollte. Man kann sich zu Beginn oft nicht vorstellen, was der Benutzer später gerne noch als kleinen Hinweis hinterlegen möchte (und was tatsächlich sinnvoll ist).

    Für POCSAG wäre die Struktur:

    Code:
    320:{Zeitangabe}:{RIC}:{Subadresse}:{Text}
    Die Unterscheidung Nur-Ton, Numerisch und Alphanumerisch ist auf der Empfängerseite relevant, wie er die Daten anzeigt. Im POCSAG Code unterscheiden sie sich nur darin, ob nach dem Adresswort noch Datenworte folgen oder nicht. Hier würde es sich für den monitord Client also daran unterscheiden, ob der Text leer ist oder nicht.

    Zitat Zitat von nepomuck Beitrag anzeigen
    Wir sollten uns noch ein Paar xml-Paramter für die Config ausdenken, mit der wir Pfad und Dateinamen für die Aufnahme steuern.
    Bis auf Kleinigkeiten (z.B. ein Präfix) würde ich den Dateinamen in der Version 2.0 so lassen.

    In der Version 2.1 kann man dann z.B. noch eine zweite Datei schreiben, die die Daten zur Aufnahme enthält (Welcher Client hat es angefordert, ggf. ein Freitext vom Client, Dauer, Start, Ende , ...).

    Pfadangabe ist selbstredend notwendig. Werde ich einpflegen.
    Geändert von Buebchen (17.12.2007 um 01:51 Uhr) Grund: Niemals nach 20:00 Beiträge schreiben. Der Kopf hat dann schon Feierabend :-)

  5. #350
    Registriert seit
    21.08.2005
    Beiträge
    251
    Zitat Zitat von Buebchen Beitrag anzeigen
    Noch ein Beitrag zum Kommunikationsprotokoll:
    Bei der Channel-Info (Kommando 203) sollte noch ein Bit 2^3 eingefügt werden. Damit man 2^2 für 512Baud POCSAG und 2^3 für 1200 Baud POCSAG nehmen kann.
    Übernehme ich in das Protokoll wie vorgeschlagen
    Zitat Zitat von Buebchen Beitrag anzeigen
    Inquiry (Kommando 210,110):
    Macht es Sinn die Antworten zu "quittieren" ?
    Das ist tatsächlich nicht nötig. Ich ändere Die Dokumentation entsprechend und streiche die Quittung bei den Kommandos, die darauf verzichten können.
    Zitat Zitat von Buebchen Beitrag anzeigen
    Bei den Aufnahmekommando könnte man ggf. bei einer Antwort, daß die Aufnahme schon läuft, bzw. die Aufnahme beendet ist, noch die geplante (gesamte) Aufnahmedauer mitgeben.
    Wäre möglich, aber macht das Sinn? Der Client hat ja die Zeit selbst vorgegeben und erwartet einen "Aufnahme beendet". Er braucht die "Zischenzeit"-Angabe vom Server nicht auszuwerten.

    Zitat Zitat von Buebchen Beitrag anzeigen
    (Die Plugins sind als eigene Dateien ausgelagert und werden zur Laufzeit dazugeladen).
    OK. Da liegt wahrscheinlich der Fehler. Ich move das Executable monitord nach erfolgreichem make in ein anderes Verzeichnis, in dem sonst nur die .xml drin steht. Da kann er die Module nicht finden.
    Wie heissen die Moduldateien? Kann man einen Failsafe einbauen, so dass monitord eine klingende Fehlermeldung ausgibt wie "Module nicht gefunden"?
    Zitat Zitat von Buebchen Beitrag anzeigen
    Man darf niemals eine Karte "überspringen". Also nicht die erste und dritte aktiv schalten, die zweite aber nicht.
    Um Fehler zu vermeiden, sollte monitord.xml dann gar keine Nummern sondern nur Namen deklarieren. Die Nummerierung erledigt monitord dann intern gemäß der Reihenfolge der Kanäle in der Config.
    Zitat Zitat von Buebchen Beitrag anzeigen
    Die 320 ist jetzt in 320 geändert
    das ändert alles :-)
    Zitat Zitat von Buebchen Beitrag anzeigen
    Danach habe ich einen Text ergänzt. Den bitte zum Protokoll hinzufügen.
    OK. Dan bekommt der 300 ein Textfeld am Ende. Was machen wir, wenn es keinen Text zu übermitteln gibt? Lassen wir das Feld weg oder sendet der 300 in dem Fall ein einzelnes ":" am Ende?
    Die Pocsac-Struktur übernehme ich ins Protokoll wie vorgeschlagen.
    Zitat Zitat von Buebchen Beitrag anzeigen
    ... würde ich den Dateinamen in der Version 2.0 so lassen ...
    Pfadangabe ist selbstredend notwendig. Werde ich einpflegen.
    Damit können alle gut leben.

    Das überarbeitete Protokoll poste ich im Laufe der nächsten Tage,
    Grüße,
    Andreas

  6. #351
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Zitat Zitat von nepomuck Beitrag anzeigen
    Wäre möglich, aber macht das Sinn? Der Client hat ja die Zeit selbst vorgegeben und erwartet einen "Aufnahme beendet". Er braucht die "Zischenzeit"-Angabe vom Server nicht auszuwerten.
    Der Gedanke ist, daß der Client dem User anzeigen kann,wie lange er noch auf die Datei warten muss bis sie fertig ist. Wenn zwei Benutzer eine Aufnahme mit unterschiedlichen Aufnahemdauern auslösen kann sich die anfängliche Aufnahmedauer verändern. Das weiss der erste Client aber dann nicht und versucht die Datei zu öffnen, obwohl sie noch im Zugriff ist.

    Zitat Zitat von nepomuck Beitrag anzeigen
    Ich move das Executable monitord nach erfolgreichem make in ein anderes Verzeichnis, in dem sonst nur die .xml drin steht. Da kann er die Module nicht finden.
    Wie heissen die Moduldateien? Kann man einen Failsafe einbauen, so dass monitord eine klingende Fehlermeldung ausgibt wie "Module nicht gefunden"?
    Ist schon in Arbeit. Bisher war der Pfad fest auf die SVN Ordner verknüpft, da es auch noch kein Install dazu gibt.

    Zitat Zitat von nepomuck Beitrag anzeigen
    Um Fehler zu vermeiden, sollte monitord.xml dann gar keine Nummern sondern nur Namen deklarieren. Die Nummerierung erledigt monitord dann intern gemäß der Reihenfolge der Kanäle in der Config.
    Hmm. Dann müßte ich unter Windows die Kartennummer anders hinterlegen (Windows nutzt primär die Gerätenummer, nicht seinen Namen. Würde aber gehen. Werde ich mal Testweise umbauen.

    Zitat Zitat von nepomuck Beitrag anzeigen
    OK. Dan bekommt der 300 ein Textfeld am Ende. Was machen wir, wenn es keinen Text zu übermitteln gibt? Lassen wir das Feld weg oder sendet der 300 in dem Fall ein einzelnes ":" am Ende?
    Ich sende dann ein ":" ohne nachfolgenden Text.

  7. #352
    Registriert seit
    21.08.2005
    Beiträge
    251
    Zitat Zitat von Buebchen Beitrag anzeigen
    Wenn zwei Benutzer eine Aufnahme mit unterschiedlichen Aufnahemdauern auslösen kann sich die anfängliche Aufnahmedauer verändern. Das weiss der erste Client aber dann nicht und versucht die Datei zu öffnen, obwohl sie noch im Zugriff ist.
    Hä?
    Wenn zwei getrennte Clients ein REC-Kommando absetzen, erstellt der monitord auch zwei getrennte Files. Wenn also Client 1 die Aufzeichnung verlängert, betrifft das nicht die Aufzeichnung von Client 2.
    Jeder Client weiss daher, dass die Aufzeichnung nach Ablauf seiner Zeitvorgabe zzgl. Zeit für die Umwandlung von raw nach wav oder mp3 fertig sein muss. Eine Zwischenzeitangabe nützt dem Client nichts, da der monitord die Umwandlungszeit von sox/lame nicht vorhersagen kann. Damit wäre die Zeitangabe auch nur eine bessere Schätzung.

    Warum sollte der Client ausserdem versuchen, auf die Datei zuzugreifen, bevor er den passenden 104 erhalten hat? Ich würde im Client eine Eventsteuerung einbauen, die den 104 abwartet und dann die REC-Datei per FTP/NFS/CIFS auf den Client holt.

    Zitat Zitat von Buebchen Beitrag anzeigen
    Ich sende dann ein ":" ohne nachfolgenden Text.
    So im Protokoll vermerkt.

    viele Grüße,
    Andreas

  8. #353
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Mit dem 104:0 Status macht natürlich Sinn. Erst ab dann ist die Aufnahme verfügbar. Jetzt aber zum Haken an der Sache. Pro Kanal wird im Moment nur eine Aufnahme laufen. Diese wird mit einem 104:2: Kommando nach Angabe des letzten Clients verlängert. Das teilt monitord dann auch per 104:2 Kommando allen zur Zeit aufnehmenden Clients mit.

    Dann habe ich den Parameter 104:2 falsch interpretiert. Werde mal sehen, ob sich das auch mit einzelnen Aufnahmen realisieren läßt.

  9. #354
    Registriert seit
    21.08.2005
    Beiträge
    251
    Zitat Zitat von Buebchen Beitrag anzeigen
    Das teilt monitord dann auch per 104:2 Kommando allen zur Zeit aufnehmenden Clients mit.
    Es macht wenig Sinn, wenn ein Client erfährt, dass ein anderer was aufnimmt. Im Zweifelsfalle geht den Client der betreffende Kanal nicht einmal etwas an. In kommenden Versionen könnte (sollte) es auch eine User-Policy per Kanal geben, so dass nicht jeder Benutzer auch jeden verfügbaren Kanal abhören und auswerten darf.

    Ich dachte, der monitord reicht kontinuierlich Datenblöcke von der Soundkarte durch einen Puffer, so dass sich mehrere REC-Tasks simultan daraus bedienen und daher völlig unabhängig voneinander aufnehmen können. Schliesslich greifen ja auch mehrere Auswerter simultan auf den Datenbestand zu.

    viele Grüße,
    Andreas

  10. #355
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Zitat Zitat von nepomuck Beitrag anzeigen
    Es macht wenig Sinn, wenn ein Client erfährt, dass ein anderer was aufnimmt. Im Zweifelsfalle geht den Client der betreffende Kanal nicht einmal etwas an. In kommenden Versionen könnte (sollte) es auch eine User-Policy per Kanal geben, so dass nicht jeder Benutzer auch jeden verfügbaren Kanal abhören und auswerten darf.

    Ich dachte, der monitord reicht kontinuierlich Datenblöcke von der Soundkarte durch einen Puffer, so dass sich mehrere REC-Tasks simultan daraus bedienen und daher völlig unabhängig voneinander aufnehmen können. Schliesslich greifen ja auch mehrere Auswerter simultan auf den Datenbestand zu.

    viele Grüße,
    Andreas
    Es ist schon so, daß pro Kanal aufgezeichnet wird (also Mono). Auch getrennte Kanäle in Unterschiedliche Dateien. Pro Kanal ist zur Zeit aber immer nur exakt eine Aufnahme aktiv. Der Hintergrund ist einfach der, daß sonst noch massiver Multitasking nötig wird.

    Wenn also ein Client A den Kanal 3 aufzeichnet hat das nichts damit zu tun (und er wird darüber auch nicht in Kenntnis gesetzt) wenn ein Client B den Kanal 1 aufzeichnet.

    Kommt aber nun Client C und will den Kanal 3 aufzeichnen erhält er den gleichen Dateinamen wir Client A. Die Aufnahme wird ggf. entsprechend verlängert, wenn A's Aufnahme zu kurz wäre. Dann erhalten beide die Info 104:2 und auch 104:0. Das meinte ich mit alle. Nicht unbeteiligte Clients.

    Disk I/O ist relativ langsam. Ich wollte das nicht zu weit ausbreiten. Einige wollen den monitord auf leistungsschwachen Maschinen einsetzen. Grundsätzlich könnte ich aber sicherlich auch mehrere Dateien innerhalb eines Kanals aufzeichnen. Muss ich aber schreiben. Da Weihnachten naht ist meine Zeit etwas knapp ...

    Strukturell gibt es nicht pro Auswerter einen Thread - Nur pro Karte. Die Daten werden nacheinander an die Auswerter vergeben. Danach gehen die Daten dann an die AudioPlugins. Aber alles von einem Thread aus bedient. Ja, ich weiss. Man könnte da ganz toll was mit ThreadPools und WorkerThreads machen ... Wäre was für die Version 2.2 oder so :-)

  11. #356
    Registriert seit
    21.08.2005
    Beiträge
    251
    Zitat Zitat von Buebchen Beitrag anzeigen
    Kommt aber nun Client C und will den Kanal 3 aufzeichnen erhält er den gleichen Dateinamen wir Client A. Die Aufnahme wird ggf. entsprechend verlängert, wenn A's Aufnahme zu kurz wäre. Dann erhalten beide die Info 104:2 und auch 104:0. Das meinte ich mit alle. Nicht unbeteiligte Clients.
    Kapiert!
    Das kann aber dazu führen, dass ein Client zur Not Minuten oder gar Stundenlang auf seine Aufzeichnung warten muss und dann ein Monster-File erhält.
    (Der Kyrill-Tag war ein solcher Extremfall, da ging alle paar Minuten ein Alarm raus)

    Vorschlag:
    Wir belassen es bei einem Thread pro Kanal für die Aufzeichnung. Der Segmentiert dafür die Aufzeichnung in Blöcke (pro 10 Sekunden ein RAW-File). Vor der Auslieferung an den Client übergibt monitord die Liste der Blöcke an sox, das daraus ein .wav- oder .mp3-File zusammenbaut.
    Will ein weiterer Client während einer laufenden Aufzeichnung REC auslösen, läuft der Aufzeichnungs-Thread einfach weiter, monitord merkt sich die Nummern der RAW-Blöcke und denkt sich schon mal einen neuen Namen für den anderen Client aus..
    Damit erzeugen wir eine Art pseude Multithread-Aufzeichnung ohne dabei aber die Systemlast zu steigern.
    Theoretisch können dutzende verschiedener Clients simultan aufzeichnen so dass jeder seine eigene Datei erhält aber nur ein REC-Thread pro Kanal läuft.

    Läßt sich das ohne große Probleme im Code umsetzen?

    viele Grüße,
    Andreas

  12. #357
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Zitat Zitat von nepomuck Beitrag anzeigen
    Will ein weiterer Client während einer laufenden Aufzeichnung REC auslösen, läuft der Aufzeichnungs-Thread einfach weiter, monitord merkt sich die Nummern der RAW-Blöcke und denkt sich schon mal einen neuen Namen für den anderen Client aus..
    Damit erzeugen wir eine Art pseude Multithread-Aufzeichnung ohne dabei aber die Systemlast zu steigern.
    Theoretisch können dutzende verschiedener Clients simultan aufzeichnen so dass jeder seine eigene Datei erhält aber nur ein REC-Thread pro Kanal läuft.

    Läßt sich das ohne große Probleme im Code umsetzen?

    viele Grüße,
    Andreas
    Ööööh ... Nö :-)

    Ich denke, ich werde pro REC Modul eine Liste von Dateien pflegen, die parallel geschrieben werden. Dann braucht der Datenblock nur einmal aufbereitet zu werden und wird dann in die einzelnen Dateien geschrieben. Muss nur angepasst werden, daß Client und Datei nicht verwechselt werden :-)

    Ich habe nur Sorge, daß die Bearbeitungszeit für einen Datenblock länger ist, als es dauert der nächste Datenblock von der Soundkarte kommt. Dann müßte ich doch noch eine Queue für die Datenpakete machen. Sonst gehen Daten verloren und die Auswerter und/oder Datei bekommt unvollständige Tondaten (Nicht umsonst hat FMS32 diesen Soundkartenreset drin. Ich vermute, genau wegen solcher Probleme)

    [Edit]:
    Funktion ist jetzt geändert. In der nächsten Version sollte man das nochmal überarbeiten. Nicht alles so richtig hübsch. Aber egal. Die Funktion macht bei ersten Test zumindest keinen Absturz.

    Die Dateinamen sehen jetzt so aus:
    {Datum-Uhrzeit}_{Kanalnummer}_{jobID}.raw

    Bsp:
    20071217230000_0_2.raw

    Alles ganz frisch. Bei mir klappt es soweit schon. Wer mag kann ja mal rev.230 austesten. Der Pfad zum Plugin kann jetzt auch im monitord.xml definiert werden. Siehe Datei im SVN.
    Geändert von Buebchen (17.12.2007 um 23:49 Uhr) Grund: Hinweis auf rev.230

  13. #358
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Hat jemand mehr als eine Soundkarte ? Insbesonder unter Windows würde es mich interessieren , ob das in der Auswertung fehlerfrei läuft. Die SocketThreads kriegen davon noch nicht so viel mit, der Client dementsprechend auch noch nicht.

    Windows interpretiert die Device Defintion von Linux in der monitord.xml nun als Gerätenummer. Also

    /dev/dsp0 = Erste Soundkarte
    /dev/dsp1 = Zweite Soundkarte
    /dev/dsp2 = Dritte Soundkarte
    /dev/dsp3 = Vierte Soundkarte

    Ich habe ausserdem noch einen Support für lame implementiert. Damit kann man direkt in mp3 aufzeichnen. Das geht zwar, ist aber etwas kniffelig zu installieren. Das muss ich mal in einer ruhigen Minuten dokumentieren, bzw. mal als Beispiel darstellen.

    Zumindest die configure Option gibt es schon. Muss mich aber mal mit autoconf befassen, wie nun automatisch den Pfad zu den DLLs, bzw. .so's finde (oder deren Existenz abklären kann).

    [Edit]
    Nachtrag: rev. 233 im SVN ist gemeint.

  14. #359
    Registriert seit
    21.08.2005
    Beiträge
    251
    Zitat Zitat von Buebchen Beitrag anzeigen
    Nachtrag: rev. 233 im SVN ist gemeint.
    Upgedated; make clean; chmod +x config*; ./configure --enable-plugins; make

    passiert folgendes:

    Code:
    ...
    monitord/plugins/libmplugin_audiorecorder.cpp: In member function 'virtual void MonitorAudioPlugInRecorder::ProcessAudio(float*, int)':
    monitord/plugins/libmplugin_audiorecorder.cpp:211: warning: comparison between signed and unsigned integer expressions
    monitord/plugins/libmplugin_audiorecorder.cpp: In member function 'void MonitorAudioPlugInRecorder::StartRecording(int, std::string, int)':
    monitord/plugins/libmplugin_audiorecorder.cpp:275: error: cast from 'MonitorAudioPlugInRecorder*' to 'int' loses precision
    monitord/plugins/libmplugin_audiorecorder.cpp:293: warning: converting to non-pointer type 'long int' from NULL
    monitord/plugins/libmplugin_audiorecorder.cpp: In member function 'virtual std::string MonitorAudioPlugInRecorder::DoCommand(std::string, SocketThread*)':
    monitord/plugins/libmplugin_audiorecorder.cpp:354: warning: comparison between signed and unsigned integer expressions
    monitord/plugins/libmplugin_audiorecorder.cpp:359: warning: converting to non-pointer type 'long int' from NULL
    make[1]: *** [monitord/plugins/monitord_plugins_libmplugin_audiorecorder_la-libmplugin_audiorecorder.lo] Fehler 1
    make[1]: Verlasse Verzeichnis '/home/ast/monitorsvn/monitor/trunk'
    make: *** [all] Fehler 2
    2. Versuch ohne Plugins:
    make clean; ./configure; make

    Code:
    make  all-am
    make[1]: Betrete Verzeichnis '/home/ast/monitorsvn/monitor/trunk'
    g++ -DHAVE_CONFIG_H -I.  -Ijthread-1.2.1/src -D_DEBUG -Wall -pedantic        -g -O2 -MT monitord/monitord_monitord-Monitor.o -MD -MP -MF monitord/.deps/monitord_monitord-Monitor.Tpo -c -o monitord/monitord_monitord-Monitor.o `test -f 'monitord/Monitor.cpp' || echo './'`monitord/Monitor.cpp
    monitord/Monitor.cpp: In member function »void Monitor::InitSndCard()«:
    monitord/Monitor.cpp:203: Fehler: »class CSndPipe« hat kein Element namens »loadPlugins«
    make[1]: *** [monitord/monitord_monitord-Monitor.o] Fehler 1
    make[1]: Verlasse Verzeichnis '/home/ast/monitorsvn/monitor/trunk'
    make: *** [all] Fehler 2
    Plattform: Athlon X2 mit Ubuntu 7.10 64-Bit.

    any Ideas ?

    Andreas

  15. #360
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Hmm. Im oberen build sehe ich nur warnings. Die sind soweit auch ok.

    Den Fehler im untern Build habe ich vermutlich schon behoben. Fehlte ein #define.
    -> Rev.234 (#define in Monitor.cpp)
    -> Rev.235 (#define in CSndPipe.cpp)

    Den oberen Teil schau ich mir noch mal an.

    [Edit]
    Ah. War Blind. Habe den error jetzt gesehen. Schau mich mir an.
    [Edit2]
    Fehler im ersten Build liegt vermutlich am 64Bit System. Die Zeile kann ich aber bedenkenlos streichen, da sie nur für die ersten Debug Aufnahmen wichtig war.

    -> Rev. 236 (pointer cast nach int geht unter 64Bit nicht)
    Geändert von Buebchen (19.12.2007 um 23:26 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •