Jump to content

Entwicklung eines iMon Display Plugins (VFD/LCD)


Recommended Posts

Hallo,

 

ich als begeisterter DVBViewer User würde gerne ein Plugin basierend auf der neuen Soundgraph iMon Display API schreiben. Bisher nutze ich das vorhandene Plugin hier aus dem Forum. Da es aber nicht mehr weiterentwicklet wird und einige Features fehlen(z.B. Sendungsfortschritt) habe ich mich zu diesem Schritt entschlossen.

 

Eine Beschreibung der Soundgraph API gibt es hier: Klickmich

 

Ich verfüge über erweiterte Programmierkenntnisse auf dem Gebiet C/C++/C#/Java/Perl. Allerdings habe ich mich noch nicht mit DVBViewer Plugins beschäftigt.

Habt ihr eventuell Tutorials hier bzw. Dokumente die in die Plugin entwicklung einführen?

 

So wie ich es bisher verstanden habe könnte man ein "externes" Plugin(Stichwort: EXE Datei) schreiben, dass die COM Schnittstelle des DVBViewers und die Soundgraph API implementiert und die Kommunikation übernimmt oder aber ein "internes" DVBViewer Plugin schreiben.

 

Bin für jede Hilfe dankbar. :)

 

Viele Grüße

ViperXXL

Link to comment
  • Replies 262
  • Created
  • Last Reply

Top Posters In This Topic

  • ViperXXL

    46

  • phylax

    38

  • Tüftler

    20

  • pyro

    13

Top Posters In This Topic

Posted Images

@Admin,Mod: Ups beim Threadtitel ist was schief gelaufen. Bitte ändern in: "Entwicklung eines iMon Display Plugins (VFD/LCD) basierend auf der iMon Display API"

Edited by ViperXXL
Link to comment

Der Titel war für den Haupttitel zu lang.

 

Ich vermute für ein so ein Plugin ist das COM Interface die bessere Wahl. Grad mit C# soll das wohl recht einfach anzusprechen sein.

 

Was du darüber abfragen kannst, kannst du dir mit DVBViewer Spy (Mitgliederbereich) angucken.

 

Das COM Interface gibt es allerdings nur beim DVBViewer falls du auch daten vom Recording Service abfragen möchtest müsstest du dann auch noch die Web API von dem verwenden.

http://en.DVBViewer.tv/wiki/Recording_Service_API

 

Und wenn es um Beispiele geht da findest du ein bisschen was im Mitgliederbereich und in Scripting Lounge / COM (de/en)

http://www.DVBViewer.tv/forum/forum/40-scripting-lounge-com-deen/

Link to comment

Ich selbst besitze nur ein iMON Display. Und zwar das OEM LCD im Antec Micro Fusion. Damit funktionierts soweit super. Ich bin dann auf euch angewiesen wenns um den Test anderer Displays (VFD) geht! Falls jemand ein VFD "rumfliegen" hat wäre ich auch bereit das gegen einen Pfand auf dem Postweg auszuleihen und dafür zu entwickeln. :)

 

Das "Plugin" ist eigentlich kein Plugin sondern ein externes Tool. Es wird die .NET Laufzweitumgebung auf dem Rechner benötigt. Die Entscheidung ein Tool zu entwicklen statt eines DVBViewer Plugins habe ich aus gründen der Einfachheit getroffen. Für mich ist es fürs erste deutlich einfacher die COM Schnittstelle des DVBViewer und die iMON Display API über ein .NET Tool zu verbinden.

Edited by ViperXXL
Link to comment

Ich hab das Imon LCD,testen kein Problem :)

 

Ist es dann möglich,das Plugin mit dem DVBViewer direkt zu starten und auch wieder zu beenden?

Weil nutze XBMC und starte es über einen Luncher,beim beenden geht XBMC wieder auf.

Link to comment

Das sollte über eine Windows Batch-Datei möglich sein! Muss ich mich aber selbst zu einlesen...

Es ist aber auch möglich mein Tool ständig laufen zu lassen. Sobald der DVBViewer startet klinkt es sich ins Display ein.

Edited by ViperXXL
Link to comment

die hauptkritikpunkte beim anderen plugin sind ja meiner meinung nach:

 

-nach aufwachen aus standby ging es nicht mehr. Daher musste man sich diverse schließen/öffnen makros basteln. Das führt zu nicht verschwindenen icons in der systray.

 

-will man das plugin nutzen, musste frontview auf nie oder so stehen, das heißt auch wenn der DVBViewer nicht gestaret ist, konnte man keine anderen funktion des displays nutzen.

 

Darauf sollte denke ich hier geachtet werden, sonst sehe ich NOCH keinen direkten mehrwert.

Link to comment

@ViperXXL

Sie haben Post :)

 

Darin enthalten evtl. eine Möglichkeit Frontview und Meldungen des DVBViewers zu nutzen, hoffe ich. :bye:

Edited by Tüftler
Link to comment

die hauptkritikpunkte beim anderen plugin sind ja meiner meinung nach:

-will man das plugin nutzen, musste frontview auf nie oder so stehen, das heißt auch wenn der DVBViewer nicht gestaret ist, konnte man keine anderen funktion des displays nutzen.

 

Das funktioniert schon! Wenn der DVBViewer nicht läuft ist Frontview aktiv und bei starten des Plugins schaltet sich Frontview ab und das Plugin übernimmt die Kontrolle. (Benötigt iMon Manager ab iMON 7.91.0929 Beta).

Edited by ViperXXL
Link to comment

Ja das alte plugin geht ja nicht über die api sondern irgendeine veraltete third party dll oder so, darum ging das da nicht.

 

cool wäre, wenn man z. B. beim stoppen des graphen oder deaktivieren von audio/video im DVBViewer auch das display "freigeben" könnte, damit dann z. B. das XBMC, was ich aus DVBViewer starte (ohne DVBViewer zu beenden, es wird nur in den hintergrund gelegt) das display ansprechen kann. Oder wird das vielleicht sowieso über die im Focus liegende Applikation geregelt? Dann müßte es ja bereits gehen?

Edited by desweil
Link to comment

Erstmal die grundlegende Funktion sicherstellen. Dann können wir uns über Erweiterungen unterhalten ok!?

Habe bei diversen Softwareprojekten schon den Fehler gemacht von Anfang an zu viel Funktion zu integrieren.

Edited by ViperXXL
Link to comment

ja das ist richtig, nur kann das aktuelle plugin halt (fast alles) bereits und wenn die wesentlichen Schwachpunkte NICHT beseitigt werden (können), dann muss man sich überlegen ob sich der aufwand lohnt. Darum meine generelle Frage ob sowas möglich ist.

 

Also die Frage ist halt wo ist der Mehrwert, oder was soll anders gemacht werden als beim aktuellen Plugin.

Link to comment

Zum Beispiel Sendungsfortschrittsanzeige will ich persönlich haben (Ist für mich ein großer Mehrwert).

Und die Freiheit alle gewünschten Informationen der DVBViewer COM-Schnittstelle anzuzeigen.

Desweiteren der Mehrwert dass man Frontview und mein Tool parallel betreiben kann.

Link to comment

Will euch ja nicht die Vorfreude nehmen aber mich hats ganzschön erwischt. Liege momentan angeschlagen im Bett...kann sich also ein paar Tage verzögern mit dem ersten Release...

Edited by ViperXXL
Link to comment

Hopefully you could make a brief presentation of your plugin in English as well when it's finished? This is very intresting you know, since there are many out there who has iMON displays and not fully master the German language.

Link to comment

Damit die Zeit nicht ganz verloren ist habe ich an diesem Post mal meine aktuelle Version des Tools angehangen. Einfach alle dateien irgendwohin entpacken und die EXE starten. Das .NET-Framework 4.0 Client Profile wird zur Ausführung benötigt.

 

Es wird momentan nur der Sendername auf dem LCD oder VFD angezeigt. Wobei ich nur mit dem LCD testen konnte, da ich kein VFD besitze. Bei überlangen Sendernamen sollte automatisch gescrollt werden. Wer ein VFD hat kann ja mal posten ob er was sieht.

 

Weiter gehts dann wenns mir etwas besser geht!

 

Viele Grüße

ViperXXL

DVBViewer_iMonDisplayPlugin_0.1.0.0.zip

Edited by ViperXXL
Link to comment

Hi,

 

funzt soweit mit dem iMon-VFD, wie geschrieben, die aktuelle Beta des iMon-Managers vorausgesetzt.

 

Weiter so und Gute Besserung, hoffe da geht noch was! :)

 

MfG

 

Edit: Scrolling/(Umbruch?) bei langen Sendernamen geht nicht. Bsp.: "Servus TV HD (AC" oder "kabeleins class" ...dann hört es auf

 

Testplattform: Win 7 Ultimate x64, aktuelle iMon-Beta

Edited by Pumuckl
Link to comment

Freut mich dass es bei @Pumuckl funktioniert :) Ich habe heute etwas weiter gemacht (en stündchen) muss aber nun wieder aufhören da das Fieber am abend immer hochgeht. Es geht jedenfalls vorwärts mit dem Tool! Was funktioniert: Sendungsfortschritt, Sendername, aktuelle Sendung. Und ich habe einige Optimierungen für die VFDs gemacht. Werde es hochladen(in paar Tagen) sobald es etwas stabiler ist (hab hier und da noch kleine Probleme). Wäre dann froh wenn ihr testen könntet.

 

btw: Hat außer Pumuckl schon jemand das Tool getestet?

 

Gruß

ViperXXL

Edited by ViperXXL
Link to comment

Erstmal auch gute Besserung von mir.

 

Ich kann mich dem pyro nur anschließen.

 

Gruß Inti31

Edited by Inti31
Link to comment

Hab jetzt auch mal die Beta installiert und dein Tool gestartet. Funktioniert bisher problemlos mit dem Antec LCD-Display und Win7 (32bit).

Einzig die Laufschrift ist keine wirkliche Laufschrift.

 

Evtl. kannst du ja später noch einbauen, das bei Radiosendern das EPG oder RDS Info angezeigt werden kann!?

 

/edit

Gute Besserung natürlich auch von mir! ;)

Edited by son goku
Link to comment

Heute Abend noch oder morgen früh wirds ne neue Version geben :)

Kann mal bitte jemand mit VFD testen ob die letzte Version meines Tools abstürzt wenn der iMon Manager mitten im Betrieb geschlossen wird?!

Link to comment

Dein Tool stürzt bei mir jedes mal ab, wenn der Rechner aus dem Ruhezustand kommt. Ich poste nachher gleich mal den Fehlertext.

 

************** Ausnahmetext **************

System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

bei DVBViewer_iMonDisplayPlugin.FormMain.timerUpdateData_Tick(Object sender, EventArgs e)

bei System.Windows.Forms.Timer.OnTick(EventArgs e)

bei System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)

bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

 

 

************** Geladene Assemblys **************

mscorlib

Assembly-Version: 4.0.0.0.

Win32-Version: 4.0.30319.1 (RTMRel.030319-0100).

CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll.

----------------------------------------

DVBViewer_iMonDisplayPlugin

Assembly-Version: 0.1.0.0.

Win32-Version: 0.1.0.0.

CodeBase: file:///C:/Users/HTPC/Desktop/DVBViewer_iMonDisplayPlugin_0.1.0.0/DVBViewer_iMonDisplayPlugin.exe.

----------------------------------------

System.Windows.Forms

Assembly-Version: 4.0.0.0.

Win32-Version: 4.0.30319.1 built by: RTMRel.

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.

----------------------------------------

System.Drawing

Assembly-Version: 4.0.0.0.

Win32-Version: 4.0.30319.1 built by: RTMRel.

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.

----------------------------------------

System

Assembly-Version: 4.0.0.0.

Win32-Version: 4.0.30319.1 built by: RTMRel.

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll.

----------------------------------------

iMonDisplayApiWrapperSharp

Assembly-Version: 0.1.0.6.

Win32-Version: 0.1.0.6.

CodeBase: file:///C:/Users/HTPC/Desktop/DVBViewer_iMonDisplayPlugin_0.1.0.0/iMonDisplayApiWrapperSharp.DLL.

----------------------------------------

iMonDisplayApiSharp

Assembly-Version: 0.1.0.1.

Win32-Version: 0.1.0.1.

CodeBase: file:///C:/Users/HTPC/Desktop/DVBViewer_iMonDisplayPlugin_0.1.0.0/iMonDisplayApiSharp.DLL.

----------------------------------------

mscorlib.resources

Assembly-Version: 4.0.0.0.

Win32-Version: 4.0.30319.1 (RTMRel.030319-0100).

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_de_b77a5c561934e089/mscorlib.resources.dll.

----------------------------------------

System.Windows.Forms.resources

Assembly-Version: 4.0.0.0.

Win32-Version: 4.0.30319.1 built by: RTMRel.

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.

----------------------------------------

Edited by son goku
Link to comment

@son goku: Danke für die Info! Werde ich bei Gelegenheit testen!

 

@All: Eine neue Version 0.2.0.0 zum testen hängt an diesem Post an!

 

changelog:

v0.2.0.0

- Anzeige von Sendername, Sendungstitel und Sendungsfortschritt auf LCDs

- zweizeilige VFD Displays unterstützt (nur Sendername und Sendungstitel)

- Stabilität gegen plötzliches Beenden/Starten von iMon-Manager und DVBViewer erhöht

 

v0.1.0.0

- Erster Release (benötigt iMon Manager ab ver 7.91.0929 und .NET Framework 4.0 Client Profile)

 

Viel Spass, erbitte um Rückmeldung und Verbesserungsvorschläge.

Der Code wird übrigens auf Sourceforge oder GoogleCode veröffentlicht. Muss nur noch ein geeignetes git oder subversion Plugin für VisualStudio 2010 finden!

DVBViewer_iMonDisplayPlugin_0.2.0.0.zip

Edited by ViperXXL
Link to comment

Soweit funktioniert das schon mal aber:

- Scrollen geht auf dem VFD noch nicht (bei langen Sendernamen)

- beim Zappen wird manchmal nicht der richtige Sender im Display aktualisiert aber im log ist es richtig gelistet (Wie kriege ich das log eigentlich als txt aus deiner Anzeige oder wo wird das hinterlegt?)

Link to comment

Wäre es möglich das Plugin direkt bei Start,in den Task zu minimieren?

 

Ja, soll in ner "runderen" Version als Icon im System-Tray verschwinden :)

 

Soweit funktioniert das schon mal aber:

- Scrollen geht auf dem VFD noch nicht (bei langen Sendernamen)

- beim Zappen wird manchmal nicht der richtige Sender im Display aktualisiert aber im log ist es richtig gelistet (Wie kriege ich das log eigentlich als txt aus deiner Anzeige oder wo wird das hinterlegt?)

 

Eine Funktion zum Scrollen auf VFDs hat Soundgraph in seiner API leider nicht vorgesehen. Wie ich gehört habe soll die Funktion in einer zukünftigen Version der API nachgereicht werden. Ob es da Sinn macht wenn ich selbst was schreibe muss ich abwägen. Da ich kein VFD habe wird das mit dem testen sowieso schwierig.

 

Kannst du genauer sagen wann beim Zappen der Sender nicht aktualisiert wird? Wird denn dann trotzdem der Sendungsname und Sendeungsfortschritt aktualisiert?

Link to comment

Wie gesagt ist es im log und der GUI-Ansicht alles sauber gelistet nur das Display bekommt es nicht übergeben, einen nachvollziehbaren Grund habe ich noch nicht gefunden aber ich beobachte weiter.

Link to comment

ich habe ein Antec Fusion Remote Max mit diesem 2zeiligen Display, m.W ist s ein LCD.

 

Das Scrollen funktioniert, Der SenderName und Titel werden angezeigt - mehr ist wohl mit diesem Display nicht drin.

ich hab was gelesen von Sendungsfortschritt, muss wohl doch mal näher ran ans Display... (heute Abend)

 

Ansonsten schaltet er tadellos um, wenn ich den DVBV schließe, laufen die IMON-Meldungen durch - bisher alles prima.

 

Ich persönlich hätte gern die Option, mir NUR die reine Uhrzeit anzeigen lassen zu können (in lesbarer Schrift) - die IMON-Meldungen interessieren mich eher weniger.

Das heisst: Läuft der DVBV nicht, dann zeige mir NUR die nette Uhrzeit in groß auf dem Display, starte ich den DVBV, dann zeige Sender und lfd. Sendung.

 

Gruß Inti31

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...