foobar plugin

Allgemeines zum Thema EventGhost

Postby MonsterMagnet » Tue Feb 14, 2006 3:21 pm

Der Code ist absolut genial.

Sehr klar und einleuchtend, so ist das glaube ich für jeden zu kapieren.

Da hab ich mich ja gleich ans nächste Plugin gemacht.

Das wird jetzt allerdings etwas umfangreicher. :lol:

P.S.

Hab nochmal ein bißchen nachgeforscht das Firefox Plugin verwendet auch
die Commandline Parameter...
MonsterMagnet
Plugin Developer
 
Posts: 137
Joined: Fri Feb 10, 2006 12:04 pm

Postby Bitmonster » Wed Feb 15, 2006 1:39 pm

Ich bin gestern auf die glorreiche Idee gekommen, dass ich in EG noch einen weiteren Thread einführen sollte, der Event-Verarbeitung von der Aktions-Verarbeitung trennen sollte. Der Vorteil ist dann, dass Aktionen z.B. direkt in ihrer __call__ Funktion auf einen ButtonRelease warten können. Das spart an vielen Ecken das Erzeugen von Hilfsthreads. Die gute Nachricht ist: es funktioniert sogar und spart ein paar hundert Programmzeilen ein. Die schlechte: das hat im Moment noch soviele Nebeneffekte, dass ich wohl noch lange mit der Fehlersuche beschäftigt bin. :)

Also wird es sowieso etwas dauern, bis das fertig ist und ich werde daher auch gleich noch das Plugin-System refaktorieren. Wird aber im Endeffekt bei der Erstellung von Plugins keine große Rolle spielen. Die notwendigen Änderungen an den Plugins sollten dann minimal sein.

Mit dem neuen Thread-Modell werde ich dann wohl gleich auf Revision 0.3.0 springen. Sollten sich noch schwere Bugs in der 0.2.6 zeigen, wird es vielleicht zwischendurch noch eine 0.2.7 geben.
User avatar
Bitmonster
Site Admin
 
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Postby MonsterMagnet » Wed Feb 15, 2006 2:39 pm

Also mit dem Plugins schreiben klappt das jetzt.
Hab da jetzt sohalbwegs durchgeblickt.
Hab mal eins für MediaPlayerClassic gemacht, funktioniert wunderbar mit
Unterverzeichnissen nur einer __call__ Funktion etc.

Das einzige Problem was ich hab ist das Icon.

Code: Select all
ValueError: bad transparency mask


Hab mich mal ein bißchen mit wx beschäftigt, gibts da nicht irgendwo ne
anständige Anleitung ?

Das meiste zu dem Thema ist total veraltet.
MonsterMagnet
Plugin Developer
 
Posts: 137
Joined: Fri Feb 10, 2006 12:04 pm

Postby MonsterMagnet » Wed Feb 15, 2006 2:44 pm

Das mit den Threads ist ne gute Idee, viel Spass dabei... :lol:
MonsterMagnet
Plugin Developer
 
Posts: 137
Joined: Fri Feb 10, 2006 12:04 pm

Postby Bitmonster » Wed Feb 15, 2006 3:06 pm

Manche Programme scheinen PNGs zu erzeugen, die wxPython nicht mag. Da hab ich auch keine andere Lösung gefunden, als das PNG einfach mit einem anderen Programm zu erstellen/konvertieren. Ich glaube IrfanView macht bei mir die wenigsten Probleme.

Die beste Doku zu wxPython ist eigentlich die wxPython-Hilfe-Datei, denn eigentlich schaut man sowieso nur nach, welche Funktionen ein Objekt hat und dort stehen sie wenigstens alle drin. Um aber die Grundbegriffe zu lernen ist vielleicht das wxPython-Wiki ganz gut.
http://wiki.wxpython.org/index.cgi/Fron ... StartSeite

Und nicht zu vergessen das wxPython-Demo, weil man dort viele Beispielsourcen hat, die man sogar während des Laufes des Programmes verändern kann, um die Auswirkungen zu sehen.
User avatar
Bitmonster
Site Admin
 
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Postby MonsterMagnet » Wed Feb 15, 2006 4:18 pm

Hab mal wx installiert, ist wohl doch besser als es nur in EG zu probieren...
MonsterMagnet
Plugin Developer
 
Posts: 137
Joined: Fri Feb 10, 2006 12:04 pm

Postby Bitmonster » Wed Feb 15, 2006 4:23 pm

MonsterMagnet wrote:Hab mal wx installiert, ist wohl doch besser als es nur in EG zu probieren...

Auf jeden Fall.
Du kannst auch gleich noch den Rest installieren, dann kannst du EG vom Sourcecode aus laufen lassen:
http://www.eventghost.com/wiki/HowTo:Ru ... rom_source

Als Editor nehme ich gerne "DrPython":
http://drpython.sourceforge.net/
(der ist selbst in Python/wxPython geschrieben)
User avatar
Bitmonster
Site Admin
 
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Postby Bartman » Thu Aug 24, 2006 3:37 pm

*mal ausgrab*
Gibt es eigentlich eine Möglichkeit, dass man 2x Sekunden vor und Zurück springt? Man kann zwar jeden Menübefehl per Kommandozeile aufrufen, aber dafür finde ich nichts.

Und was habt ihr denn für ein Problem mit Sendmessage?
Window per executable suchen und dann gehen doch zumindest die Standardfunktionalitäten. Das mit dem steuern per Kommandozeile ist unter hoher Auslastung doch schon etwas langsamer als Sendmessage.
Bartman
Plugin Developer
 
Posts: 881
Joined: Sun Feb 12, 2006 9:03 am

Postby MonsterMagnet » Thu Aug 24, 2006 4:20 pm

Also ich hab hier noch 0.8.3 und damals hieß es:

There are no such message ids in the SDK, which means there are no message ids to control foobar directly.


http://www.hydrogenaudio.org/forums/index.php?showtopic=12055

Und es sollte ja ohne foobar plugin funzen.

Jetzt sehe ich das die schon bei 0.9.3.1 sind vielleicht geht es ja jetzt ohne "foo_remote".

Mit dem Jump weiß ich jetzt auch nich.
MonsterMagnet
Plugin Developer
 
Posts: 137
Joined: Fri Feb 10, 2006 12:04 pm

Postby Bartman » Thu Aug 24, 2006 5:12 pm

Zumindest für Standardfunktionen kann man ja die Standard-Sendmessage Nummern nehmen, die bei praktisch allen Medienplayern funktionieren.
Das ging und geht bei mir auch ohne jegliches Plugin schon seit 0.7 oder seit wann ich das benutze.
Dann ist mir noch aufgefallen, dass wenn man einen Pluginaufruf macht und foobar läuft gar nicht es trotzdem gestartet wird und dann ohne Oberfläche läuft.
Bartman
Plugin Developer
 
Posts: 881
Joined: Sun Feb 12, 2006 9:03 am

Postby MonsterMagnet » Thu Aug 24, 2006 6:08 pm

Zumindest für Standardfunktionen kann man ja die Standard-Sendmessage Nummern nehmen, die bei praktisch allen Medienplayern funktionieren.
Das ging und geht bei mir auch ohne jegliches Plugin schon seit 0.7 oder seit wann ich das benutze.


Wenns nicht im API steht ist das mit dem Sendmessage unzuverlässig.

Dann ist mir noch aufgefallen, dass wenn man einen Pluginaufruf macht und foobar läuft gar nicht es trotzdem gestartet wird


Da ja nicht geprüft wird ob foobar läuft, ist das doch logisch oder ?

und dann ohne Oberfläche läuft.


Das kann ich hier nicht nachvollziehen.

Schreib doch einfach ein neues Plugin. :lol:
MonsterMagnet
Plugin Developer
 
Posts: 137
Joined: Fri Feb 10, 2006 12:04 pm

Postby Bartman » Thu Aug 24, 2006 6:21 pm

MonsterMagnet wrote:Wenns nicht im API steht ist das mit dem Sendmessage unzuverlässig.
Das würde dann auch die Steuerung mit den üblichen Multimediatasten unmöglich machen.
Was offizielles mit allen Möglichkeiten wäre aber sicher ideal. Vielleicht mit 1.0, falls die nochmal kommt

MonsterMagnet wrote:Das kann ich hier nicht nachvollziehen.
Ich habe grade noch mal auf 0.9.3.1 upgedated und wenn ich z.B. den PlayBefehl auslöse, dann fängt die Musik anzuspielen, aber ich habe kein Fenster. Nacktes Foobar ohne irgendwelche GUI-Elemete. Würde ja auch eher sagen, dass es an foobar liegt und nicht am Plugin.

MonsterMagnet wrote:Schreib doch einfach ein neues Plugin. :lol:
Glaub mir; Ich weiß das jetzt erst richtig zu würdigen ;)
Bartman
Plugin Developer
 
Posts: 881
Joined: Sun Feb 12, 2006 9:03 am

Postby MonsterMagnet » Thu Aug 24, 2006 7:24 pm

aber ich habe kein Fenster. Nacktes Foobar ohne irgendwelche GUI-Elemete


Hab grade mal 0.9.3.1 installiert, also bei mir funktioniert es.

Das würde dann auch die Steuerung mit den üblichen Multimediatasten unmöglich machen.


Das mit den Multimediatasten funktioniert halt nur wenn foobar den Focus hat, und ich habe bei der 0.8 und 0.9 beta auch keine zuverlässige Sendmessage Funktion (Ziel) gefunden.

Allerdings wird in der Registry das InstallDir nicht mehr eingetragen !

Also muß da eh was gemacht werden.

Hast Du Lust das zu übernehmen ?
MonsterMagnet
Plugin Developer
 
Posts: 137
Joined: Fri Feb 10, 2006 12:04 pm

Postby MonsterMagnet » Fri Aug 25, 2006 12:19 pm

Also ich hab hier nochmal versucht ein konstantes Ergebnis mit Sendmessage zu erzielen. Mit einem einfachen FindWindow ist da nichts zu machen.

Die einzige Möglichkeit das Fenster für die Nachricht zufinden ist es so zu machen wie im Finde Fenster Befehl. (also "nur nach der exe" suchen, da sich der Titel und die Klasse ändert)

Oder gleich so:

Python Skript:

Code: Select all
eg.plugins.Window.FindWindow(u'foobar2000.exe', None, None, None, None, 1, False, 0.0, 0)
print eg.lastFoundWindows
eg.plugins.Window.SendMessage(273, 40011, 0, 0)


Da das mit einem Plugin ja nicht mehr viel zutun hat, sollte man sowas vielleicht eher als Programmgruppe anbieten.

Code: Select all
<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="699">
    <Macro Name="Finde Fenster: foobar2000.exe">
        <Action>
            Window.FindWindow(u'foobar2000.exe', None, None, None, None, 1, False, 0.0, 0)
        </Action>
        <Action>
            Window.SendMessage(273, 40011, 0, 0)
        </Action>
    </Macro>
</EventGhost>


@Bitmonster

Vielleicht sollte man das foobar plugin entfernen, da es mit der neusten Version nicht mehr funktioniert ?

Wie bereits angesprochen, würde auch ich eine Forum für bereits erstellte Programmgruppen begrüßen.

Foobar z.B. läßt sich nämlich am besten per emulierter Tastatureingabe steuern. (z.B. 2 sec vor/zurück).
MonsterMagnet
Plugin Developer
 
Posts: 137
Joined: Fri Feb 10, 2006 12:04 pm

Postby coxon » Wed Nov 15, 2006 11:40 am

hi zusammen.. :>

ich hab mir den thread heute mal vollständig durchgelesen und habe es jetzt
auch ziemlich geil hinbekommen meine Q-Sonic auf mein Foobar2000 0.9.4.1
einzustellen.

die sache mit der registry.. da habe ich einfach den foobar2000-installdir
schlüßel in die registry eingetragen und schwupps haben die normalen
sachen funktioniert.. atm konfiguriere ich mir mein foobar auf tastenkürzel,
wie es hier schon angesprochen wurde und finde gefallen dran denn ich muß
mir nicht so einen akt geben wie mit girder...

ich bin definitiv dafür den foobar plugin drinzulassen. bei mir funkt der 1A! :)
ich werd mich hier mit der sache auch weiter auseinandersetzen und
berichten! :D

vielleicht könntet ihr das mit der "find foobar.exe" einfach in die nächste
version mit einbinden, dann hätten andere nicht den gleichen stress wie ich
am anfang. :D

ich bleibe hier am ball und danke schonmal für eure gelunge vorarbeit! :D

es grüßt, der cox


€dit:

wie kann ich euch denn meine tastenkürzel die ich gemacht habe zur verfügung
stellen? :D
coxon
 
Posts: 7
Joined: Tue Nov 14, 2006 5:19 pm

PreviousNext

Return to Hilfe und Support

Who is online

Users browsing this forum: Google Adsense [Bot] and 2 guests