gibt es eine möglichkeit kmetronome so zu starten, dass ohne weitere interaktion das metronome loslegt ohne dass ich noch extra auf wiedergabe drücken muß?
Einen schalter dafür habe ich in den man pages nicht gefunden. "ALT-w" startet zwar das metronom, aber kann man das irgendwie in ein konsolenkommando (für das fluxbox startmenü) einbauen, so dass dies automatisch übergeben wird?
dbus tuts vielleicht...
=> http://kde-apps.org/content/show.php?content=22485
=> "External transport control: play - stop - continue commands, can be controlled using DBUS"
... also als Aufruf des Programms dann "kmetronome && der entsprechende dbus Play-Befehl".
Mußt mal in qdbusviewer schauen -> qt4-dev-tools installieren.
hey spacepenguin, danke für den tipp.
Hast du qdbusviewer selber schon mal genutzt? "man qdbusviewer" ist recht übersichtlich.
Ich nehme an dass dein vorschlag daruf hinausläuft mit qdbusviewer zu lauschen, welche kommands bei kmetronome so über dbus gehen und eben dabei herauszufinden, was "Alt-w" auf dem dbus tut um dies dann als zusatz an den startbefehl anzuhängen? Aber wo finde ich basisinfo zu qdbusviewer? Oder kannst du den lauschangriff kurz beschreiben?
EDIT://
ok, qdbusviewer ist ein graphisches interface. damit muß ich mich nun erstmal beschäftiogen um zu sehen ob es mir zeigt was ich wissen will.
EDIT2://
Das einzige was ich soweit herausfinden konnte, dass ich die wiedergabe mit dem qdbusviewer starten kann, wenn ich etwas tiefer in dessen eingeweiden "Method: play" anklicke.
Nur habe ich keine syntax ( "kmetronome && method: play", "kmetronome --play", "kmetronome method: play", "kmetronome -p", "kmetronome play" ) gefunden, die erfolgreich im fluxbox startmenü zu irgendetwas führt. Falsche syntax wird einfach mit nichtstarten beantwortet.
Jemand ne idee was mit diesem "method: play" ausserhalb des qdbusviewer anzufangen ist?
So schwer ist das gar nicht. Öffne Kmetronome neben qdbusviewer. Dann suchst du in qdbusviewer über das Suchfeld nach kmetronome. Dann öffnest du den rechts angezeigten Baum und klickst auf den Pfad mit dem Programmnamen (kmetronome/).
Und jetzt gehst du die Unterverzeichnisse durch. Du wirst recht schnell unter MainWindow_1/net.sourceforge.kmetronome "Method: play" finden. Klingt passend oder? Klickst du darauf, fängt kmetronome an zu arbeiten, funktioniert also, hast du ja auch schon gemerkt. Du mußt den Pfad, also den Programmnamen, nehmen, es gibt auch weiter oben ein "Method: Play" unter net.sourceforge.kmetronome, das funktioniert auch beim Draufklicken, hilft dir aber nicht weiter für den Befehl, da es kein Pfad ist.
(http://img5.fotos-hochladen.net/thumbnail/qdbusviewerkmewq58irbkdj_thumb.jpg) (http://www.fotos-hochladen.net/view/qdbusviewerkmewq58irbkdj.jpg)
Jetzt gilt es noch, das Gefundene in einen Befehl einzubauen. Die Syntax:
qdbus session-bus-Bezeichner-links /Pfad-Bezeichner-rechts Unterkategorie.Methode Parameter-so-nötig
Bastel es dir zusammen und teste es in einer Konsole bei gleichzeitig geöffnetem kmetronome-Fenster. Fängt kmetronome an zu arbeiten, ist dein Ergebnis richtig und du kannst das zusammen mit "kmetronome &&" als Starter verwenden.
Edit, weil nett ;)
qdbus net.sourceforge.kmetronome-24638 /kmetronome/MainWindow_1 net.sourceforge.kmetronome.play
hm, das ergäbe nach adam riese:
kmetronome && net.sourceforge.kmetronome-3436/kmetronome/MainWindow_1/net.sourceforge.kmetronome.Methode play
... klappt aber nicht, auch nicht ein paar varianten, methode, methode:, Methode:
Noch ein hinweis vielleicht?
Ah, danke für das edit. Was mich verwirrt, bleibt denn die nummer auch nache eine reboot gleich, bei mir statt 24638 die # 3436
EDIT://
das haut nicht hin, und die nummer ist ja iommer verschieden. Bei dir klappt das?
Nein, so:
kmetronome && qdbus net.sourceforge.kmetronome-24638 /kmetronome/MainWindow_1 net.sourceforge.kmetronome.play
Wobei ich fürchte, da du eine andere Zahl da stehen hast, daß der Entwickler das session-abhängig gemacht hat, herzlichen Glückwunsch. Also ersetz mal meine durch deine Zahl und teste. Und dann teste das in einer neuen Session ob's noch funktioniert. Wenn ja gut, wenn nein, Entwickler auf kde-apps.org anschreiben.
Nein, hab es nicht ausprobiert mit verschiedenen Sessions. Wie ich befürchtet habe, hat der Entwickler das nicht global gemacht... Mist...
Daher auch mein anfängliches "dbus tuts vielleicht..." - ich kenne das von yakuake her, da war das anfänglich auch so, bis der Entwickler das mal geändert hat.
Ich habs mal versucht auf kde-apps.org zu formulieren....
Neine, tut es nicht, weil nach jedem restatr von kmetronome sich die nummer ändert. Es hat noch nicht einmal geklappt. :-(
ok, typischer fall von mindestens wishlist bug report.
Danke für deine hilfe!
Wahrscheinlich könnte man dem ganzen mit einem Script zu Leibe rücken, aber das ist nicht mein Metier. Das Script müßte im Grunde kmetronome starten, die PID auslesen, den qdbus-Befehl entsprechend anpassen und ihn dann ausführen.
jo, dabei wünsche ich mir nichts anderes als ein "kmetronome -p" ;-)
Ja, manchmal ist das nicht so einfach mit den Wünschen ;)
da haste wohl recht
Ich bin nicht gerade der bashcrack, aber hier der Versuch eines Bashscripts von mir (macht hier was es soll):
#! /bin/bash
kmetronome & sleep 1 && qdbus net.sourceforge.kmetronome-$(pidof kmetronome) /kmetronome/MainWindow_1 net.sourceforge.kmetronome.play
Beachten:
Einzeiler und nur 1 "&" hinter kmetronome sonst wird auf das "beendet"-Signal von kmetronome gewartet, das aber nicht kommen kann, da kmetronome ja laufen soll, aber "&&" hinter sleep, denn das Ende der Wartezeit muß abgewartet werden.
Nachteil des Ganzen: Meldungen werden in der aufrufenden bash ausgegeben.
hth
ayla
Als Befehl für einen Menü-Starter würde diese Zeile nicht funktionieren?
Der Entwickler von Kmentronome hat folgendes vorgeschlagen:
Quotetry this Bash script:
$ cat kmetronome-autoplay.sh
#!/bin/bash
kmetronome &
sleep 1s
SERVICE="net.sourceforge.kmetronome-$(pidof kmetronome)"
qdbus $SERVICE / play
http://kde-apps.org/content/show.php?content=22485
Das sieht im Grunde wie deine Lösung aus, ayla - aber du warst schneller ;).
Quote from: "spacepenguin"Als Befehl für einen Menü-Starter würde diese Zeile nicht funktionieren?
Hier bei KDE funktionierts indem ich das script einfach aus dem Dolphin in die Kontrolleiste ziehe und dort per Klick starte.
Wie ich einen Menüeintrag hinzufüge hab ich schon wieder mal vergessen... :)
Gruß
ayla
Ha, kaum geht man mal kurz weg, schon wird das problem von anderen gelöst ... das mach ich jetz öfters ;-), das könnt sogar ne regel werden.
Danke euch beiden. Wo legt man so ein script am geeignetsten hin, nach ~.kde/??, oder ~bin (ja, ist kein binary)?
Also, da sscript liegt bei mir jetz unter /home/<user>/bin/mnom-p.sh und im fluxbox menü habe ich einfach das script mit pfad angegebenden.
"spleep 1" funktioniert nicht, eine sekunde ist wohl zu kurz, da unter fluxbox kdeinit4, klaunch und kded4 erst noch gestartet werden müssen. Mit "sleep 3" klappt das jedoch.
Danke nochmals euch beiden!