Button mit zwei Kommandos belegen, geht das?

Begonnen von Richy, 19. Juni 2011, 09:43:38

Vorheriges Thema - Nächstes Thema

Foo Foo

Ich würde versuchen die Karte umzutauschen aber das haut ja wohl nicht hin.
Die Karte wollte ich mir auch mal kaufen aber Sie kostet ca. 160€ habe das ein oder andere gelesen
und ich werde mir erstmal keine neue Soundkarte kaufen.

Schau mal hier... http://arnie77.deviantart.com/
Habe meinen eigenen Player zusammengeschustert da verwende ich auch den WHS Pannel.
Aber ohne Die Hilfe von tedgo und manch anderen hier im forum und auf dA hätte ich es nie hinbekommen.
Ich habe mir nur das ein oder andere abgeschaut aber nie richtig gelernt.

Aber das haut schon hin mit dem WHS Script.
Ich bräuchte etwas Hilfe von jemandem hier im Forum der etwas mehr vom WHS Pannel scripten versteht,
dann könnte man eine Abfrage in das Script einbauen.

Irgendwie so...
Wenn Lautstärke -100dB und der Player spielt dann kein Mute.

Denn die Mute Funktion von Foobar läuft folgendermaßen ab Mute und dann Unmute (reset auf den letzten dB Wert)
es gibt kein einzelnes Kommando für Mute nur Mute/Unmute.


tedgo

Zitat von: Foo Foo in 20. Juni 2011, 20:20:46
Irgendwie so...
Wenn Lautstärke -100dB und der Player spielt dann kein Mute.
if (fb.Volume > -100 && !fb.IsPlaying) fb.VolumeMute();

Meinst du das?

Foo Foo

genau das meine ich  :o
Ich wusste Doch auf Dich ist Verlass  :top:

bekomme es aber trotzdem nicht auf die Reihe...



var a = {normal: imgPath + "bt-play-off.png", hover: imgPath + "bt-play-on.png"};
var b = {normal: imgPath + "bt-pause-off.png", hover: imgPath + "bt-pause-on.png"};

function createPlaButton() {
    return new Button( 29, 0, 33, 22, fb.IsPlaying && !fb.IsPaused ? b : a, function () {fb.RunMainMenuCommand("Playback/Play or Pause"); if (fb.Volume > -100 && !fb.IsPlaying) fb.VolumeMute();  });
}

Buttons.A = createPlaButton();



...sch... Klammern ( } () #  immer script error  :uglystupid2:

tedgo

#18
Ne, haut sowieso nicht so hin wie ich dachte...
Da ist noch ein Denkfehler drin (fb.IsPaused ist ja auch "IsPlaying", nur eben in Pause. Deshalb schaltet es nicht auf Mute. Und es schaltet bei Mute auch nicht zurück, da fehlt noch 'ne zweite Bedingung...)

Die } Klammer gehört übrigens direkt hinter fb.VolumeMute() nicht hinters Semikolon.

Foo Foo

Habe mal ein bischen rumprobiert...


return new Button( 36, 3, 30, 20, fb.IsPlaying ? (fb.IsPaused ? b : c) : b, function ()  { fb.IsPlaying ? (fb.IsPaused ?  fb.Play() : fb.Pause()                    ) : fb.Play();});


...da wo ich etwas Platz gelassen habe müsste die Mute Abfrage rein

if (fb.Volume > -100 && !fb.IsPlaying) fb.VolumeMute();


bekomme es irgendwie nicht aufn Pin   :(

qwert73

Es geht einfacher als ich auf HA es erzählt habe: das Batchfile kann man sich schenken und das Zeugs für die Kommandozeile direkt in foo_run eintragen.

http://www.hydrogenaudio.org/forums/index.php?showtopic=88977&view=findpost&p=760490

Richy

Sorry Leute,
zwei Sachen gefallen mir nicht.
1. Der Umstand, daß die Lautstärke manchmal bei 100% landet.
2. Der Play/Pause Button hängt im WHS Pannel irgendwo im Player Layout herum.

Ich habe mir einen Button in der Buttonleiste gewünscht. 'Das scheint aber nicht zu funktionieren. In das WHS Panel müßte ich alle Buttens incl. Spezialfunktionen integrieren.
Leider fehlen mir aber die Programmierkentnisse.

qwert73

Haaaallo! :crazy2:

Habe ich nicht auf eine mögliche Lösung hingewiesen, bei der man sich nicht den Schädel zermartern muss? Wenn ihr es vorzieht, mit Kanonen die Spatzen vom Dach zu holen, dann sagt nur bescheid und ich halte mich raus.

Frank Bicking

Ich verstehe ja, dass wir uns in einem Anwenderforum befinden, aber warum wird den Leuten eigentlich der Umgang mit WSH oder Kommandozeilen zugetraut, aber gleichzeitig nie direkt auf das foobar2000 SDK hingewiesen?

Kenntnisse in C++ vorausgesetzt lassen sich solche Befehlsabläufe damit leicht hinzufügen.

qwert73

Ja, diese vorausgesetzt aber auch nur. Kentnisse in C++ haben und ein wenig mit der Kommandozeile umgehen, sind doch ganz verschiedene Ligen, oder? Du meinst doch jetzt bestimmt richtige foobar2000-Komponenten schreibenß

Richy

Nochmal in eigener Sache,
ich habe für mich die Lösung mit "foo_scheduler" gefunden.
Soviel zu den Kanonen und den Spatzen.

Richy

#26
Leider mußte ich feststellen, daß das PlugIn "foo_scheduler" eine fehlerhafte Funktion hat.
Wenn ich über "action lists" die Aktion "previous track" vorgebe, wird bei der Befehlsausführung nicht der vorherige Track, sondern der nächste Track angewählt. :-X

Nachfolgende Beiträge abgetrennt und nach HIER verschoben - tedgo