foo_seek

Begonnen von fooamp, 19. Mai 2011, 15:35:29

Vorheriges Thema - Nächstes Thema

fooamp

Sehr hübsch. Fallen mir auch gleich Anwendungsmöglichkeiten ein. Danke! :top:

Fragen/Anregungen (unverbindlich):

(1)
Ich bin ein Freund aufgeräumter Menüs. Ein Untermenü unter "Seek" für alle vier Funktionen wäre mir persönlich lieber, da mein Playback-Menü auch ohne SHIFT-Erweiterung schon die halbe Bildschirmhöhe einnimmt. Aber das ist vielleicht Geschmackssache.

(2)
Ich habe auf die Schnelle nicht herausbekommen, wofür ich "Playback position" brauche. :-[

(3)
Wenn ich das richtig verstanden habe, springt "Preview", wenn man bei einem Track aus "der Mitte heraus" die Funktion zuschaltet, beim nächsten Track an die selbe Stelle. Was mir gefallen würde, wäre eine Funktion, die, wenn man bei "null" anfängt, per "Preferences" bei einem voreingestellen Zeitwert beginnen könnte, da ja so manche Titel am Anfang nicht immer representativ sind.

(4)
Mir würde es vielleicht besser gefallen, wenn "Preview" nicht durch STOP zurückgesetzt würde, bin mir aber noch nicht sicher... aber mir würde es definitiv besser gefallen, wenn "Fast Forward" nicht durch den Sprung in einen neuen Titel zurückgesetzt würde, denn so ließen sich mehrere Titel nacheinander "überfliegen" ohne dauernde Klicks, was m. E. eine schöne und nützliche Funktion wäre.

Danke nochmal für dieses kleine praktische plugin.

grimes

#1
Zitat von: fooamp in 19. Mai 2011, 15:35:29
Sehr hübsch. Fallen mir auch gleich Anwendungsmöglichkeiten ein. Danke! :top:
Freut mich. :)

Zitat von: fooamp in 19. Mai 2011, 15:35:29
(1) Ich bin ein Freund aufgeräumter Menüs. Ein Untermenü unter "Seek" für alle vier Funktionen wäre mir persönlich lieber, da mein Playback-Menü auch ohne SHIFT-Erweiterung schon die halbe Bildschirmhöhe einnimmt. Aber das ist vielleicht Geschmackssache.
Kann ich machen. "Seek" gibts schon, wie wärs mit "Seek Control"

Zitat von: fooamp in 19. Mai 2011, 15:35:29
(2) Ich habe auf die Schnelle nicht herausbekommen, wofür ich "Playback position" brauche. :-[
(3) Wenn ich das richtig verstanden habe, springt "Preview", wenn man bei einem Track aus "der Mitte heraus" die Funktion zuschaltet, beim nächsten Track an die selbe Stelle. Was mir gefallen würde, wäre eine Funktion, die, wenn man bei "null" anfängt, per "Preferences" bei einem voreingestellen Zeitwert beginnen könnte, da ja so manche Titel am Anfang nicht immer representativ sind.
Eben dazu ist "Playback position" da. Es ist die initiale Playback Position, d.h. da startet das Preview-Playback, nachdem man foobar2000 gestartet hat. Moment: Vielleicht kann sich foobar2000 die Position auch über Sessions hinweg merken. Werde ich mal ausprobieren.

EDIT: Upps, "Playback position" funktioniert nicht wie gewünscht. Ich versuche das zu korrigieren.

Zitat von: fooamp in 19. Mai 2011, 15:35:29
(4) Mir würde es vielleicht besser gefallen, wenn "Preview" nicht durch STOP zurückgesetzt würde, bin mir aber noch nicht sicher... aber mir würde es definitiv besser gefallen, wenn "Fast Forward" nicht durch den Sprung in einen neuen Titel zurückgesetzt würde, denn so ließen sich mehrere Titel nacheinander "überfliegen" ohne dauernde Klicks, was m. E. eine schöne und nützliche Funktion wäre.
a) Bin mir auch nicht sicher, aber ansonsten müsste man "Preview" im Hauptmenü wieder umständlich ausschalten.
b) "Fast Forward" wird beim Sprung zum nächsten Track nicht zurückgesetzt, nur durch "Stop". ???




fooamp

#2

Danke für Deine schnelle Antwort:

zu 1)
"Seek control" klingt auch gut, nur "Seek to time..." sollte es nicht heißen, das hat DAO auch schon mit foo_seek_box belegt...
Edit: Erledigt mit 0.2 - danke.

zu 2 und 3)
Das hatte ich mir eigentlich auch gedacht, aber es funktionierte bei mir nicht; so schloß ich, es müsse was anderes sein. - Aber wie ich sehe, ist es Dir selbst aufgefallen.
Edit: Erledigt mit 0.2 - danke.

Edit: Eine Änderung der Sekundenzahl bei "Playback position" benötigt einen Neustart, um wirksam zu werden. Ist dies absichtlich/unumgänglich? (Die anderen Einstellungen habe ich noch nicht getestet/verändert.)
Edit: Erledigt mit 0.3 - danke.

zu 4)

a) Fände ich persönlich gar nicht schlimm, wenn man Preview als "playback-Modus" versteht, so wie beispielsweise "Playback follows cursor".

b) Leider doch, und zwar wenn man den Titel manuell wechselt (Button oder Shortcut "Next" oder "Previous"). Das gleiche auch bei "Play" und bei "Random". Scheinen alle dieselbe Reaktion nach sich zu ziehen wie "Stop". Außerdem stoppt das Abspielen in diesem Modus nicht, wenn man "Pause" drückt (Seekbarbewegung), sondern erst am Ende des Stückes (wenn man die Pause wieder freigibt bleibt "Fast forward" aber erhalten). - Vielleicht hängt das ja irgendwie zusammen.
Das gleiche übrigens auch bei "Rewind" (obwohl da der Sprung zum nächsten Titel ohnehin wegfällt, einer zum vorigen findet nicht erst statt, wozu auch).

Edit: Erledigt mit 0.3 - danke.

5)
In "About Seek" steht "cammands"...
Edit: Erledigt mit 0.3 - danke.

fooamp

#3
v0.3

Danke für Dein schnelles "overnight bugfix"! (siehe Edits im vorigen post) :top:


neu zu 3)

a)
Wenn man im Preview-Modus den Slider in der Seekbar bewegt, ist der Startpunkt für den nächsten automatisch oder manuell gewählten Titel während des laufenden Preview-Modus der zuletzt in der Seekbar eingestellte - das ist ja auch in Ordnung so. Wenn man aber den Preview-Modus abhakt oder auf Stop geht, wird der Wert nicht auf den unter "Playback position" eingestellten zurückgesetzt, obwohl der laufende Preview-Modus ja ausgeschaltet wird - siehe 4a) - sondern bleibt beim nächsten aufgerufenen Preview erhalten. Solange, bis foobar2000 neu gestartet wird. Ist das so gewollt?
Edit: Erledigt mit 0.4 - danke.

b)
Wenn man im Preview-Modus während des Abspielens foobar2000 schließt, ohne also vorher die Wiedergabe zu stoppen, bleibt beim Neustart der Preview-Modus erhalten und keine playback-Eingabe ist möglich (Play, Forward etc.). Erst nach Betätigen von Stop oder dem Abhaken von Preview reagiert foobar2000 wieder normal.
Edit: Erledigt mit 0.4 - danke.

neu zu 4b)
Hier gilt ähnliches wie oben bei 3b), nur daß hier allein das Häckchen gesetzt bleibt, dies aber keine Auswirkung auf das normale Abspielverhalten hat, d. h. z. B. daß der Fast Forward-Modus gesetzt ist, foobar2000 aber normal abspielt. Das Häckchen verschwindet erst durch Abhaken oder durch Stop. Gilt für Fast Forward und Rewind.
Edit: Erledigt mit 0.4 - danke.

ganz neu 6)
Für Loop gilt gleiches wir unter 3a) und 3b)
Edit: Erledigt mit 0.4 - danke.

b)
Im Gegensatz zu 3b) startet die Wiedergabe ab dem voreingestellten (nicht dem eventuell zuletzt angewählten) Punkt, es "loopt" jedoch auf der Stelle (wie eine "hängende" CD).
Edit: Erledigt mit 0.4 - danke.

grimes

zu 3a)
Das mit der Memoryfunktion ist so gewollt. Sinnvoll wäre aber vielleicht ein Reset auf "Playback position" bei "Stop" oder Deaktivieren von "Preview".
Was meinst Du?

zu 3b) 4b) 6) b)
Den foobar2000-Neustart habe ich noch gar nicht berücksichtigt. Hier könnte man ein Reset (alle Häckchen weg + normales Playback) machen. (Ein Neustart von foobar2000 sollte (mindestens) so behandelt werden wie ein "Stop")

fooamp

#5
Zitat von: grimes in 20. Mai 2011, 12:46:12
zu 3a)
Das mit der Memoryfunktion ist so gewollt. Sinnvoll wäre aber vielleicht ein Reset auf "Playback position" bei "Stop" oder Deaktivieren von "Preview".

...und von "Loop".

Genau das meinte ich. Mir gefällt ja die Memory-Funktion. Sie bietet die Möglichkeit, Titel in verschiedenen Versionen, z. B. via "Loop", unkompliziert ohne große Einstellungen am selben Zeitindex zu vergleichen.
Ein "Reset" bei Stop oder Abhaken ist aber das, was man irgendwie erwartet, wenn der Modus selbst abgeschaltet ist - daher auch meine obigen Überlegungen, daß man eventuell "Preview" und "Loop" von Stop entkoppelt, sie als zu- und abschaltbare Modi konzipiert. Dann könnte man auch das Reset auf das Abhaken beschränken. Oder so... :crazy2:

Zitat von: grimes in 20. Mai 2011, 12:46:12

zu 3b) 4b) 6) b)
Hier könnte man ein Reset (alle Häckchen weg + normales Playback) machen. (Ein Neustart von foobar2000 sollte (mindestens) so behandelt werden wie ein "Stop")

Kurze Rede, langer Sinn: Ja.

grimes

Was mir gerade einfällt:
Man könnte für "Preview" und "Loop" zwei unabhängige Variablen für die "Playback Position" machen, da sich "Preview" meist in den vorderen Regionen des tracks abspielt, "Loop" dagegen überall im track. Ein gemeinsamer Memoryeffekt (wie jetzt) ist vielleicht nicht so sinnig...

fooamp

#7
Eine gute Idee! Mach mal, ich teste. ;)

Eigentlich bräuchte es für Loop gar keine vorgegebene "Playback Position". Man wird doch die gewünschte Position einfach wählen, die dann bis zum Reset erhalten bleibt. Hier geht es ja um was gänzlich anderes als bei Preview. Edit: Dadurch, daß man den Wert aber auch bei Null lassen kann, ist das ja ohnehin gegeben.

fooamp

#8
v0.4

Ok, ich kann nichts mehr finden, außer...

Wenn bei Preview oder Loop die voreingestellte oder (nur bei Preview) die per Seekbar angewählte Zeit jenseits der Titellänge des nächsten Titels liegt, wird dieser einfach übersprungen - klar, was sonst. Im darauffolgenden Titel beginnt das Abspielen dann aber nicht wieder bei der eingestellten oder angewählten Zeit, sondern irgendwo im Titel. Dieser neue Zeitindex ist dann - logisch - der auch für die nachfolgenden Titel in der Reihe.
Ich kann kein Muster erkennen, wie der Wert zustande kommt. Wohl wird da irgendwas raufgerechtet und abgezogen und querversummt oder so.

Und jetzt noch eine Praktikabilitätssache:
Ich halte die Sprünge bei 60x für zu groß. Zuerst einmal braucht man lange Titel, sonst ist man schneller durch, als man hören kann. Also habe ich die Funktion auf die 5 Beethoven Klavierkonzerte angesetzt (da ich sie soweit nachsingbar auswendig kann, daß ich die schnelle Suche nachzuvollziehen mich in der Lage sehe): Wenn man eine Stelle sucht und die Seekbar springt derart weit, ist der Cursor in der Seekbar vielleicht schon zu weit weg gesprungen und man muß die eben gefundene Stelle dann doch wieder suchen einerseits und andererseits überspringt man leicht zu viel an Zeit und findet umso weniger. Ich würde daher mehr Abstufungen im unteren Bereich - 5,10,15,20 - für praktikabler halten, um einen Kompromiß zwischen Akkuratesse und Schnelligkeit zu haben, und bei spätestens 30x könnte Schluß sein. Auch würde ich per default eine längere "playback time" (2 oder 3 Sekunden) empfehlen, sonst hört man nämlich ab 30x so gut wie gar nichts. So schnell kann mutmaßlich kaum jemand reagieren (bei Rewind sehe ich physiologisch dann gar keine Chancen mehr...).

fooamp

v0.5

Ist ja nicht so, daß ich verlangt hätte, Du solltest alles umsetzen, was ich vorschlage - aber jetzt ist das ganze aus meiner Sicht perfekt: sauber und praktikabel. Beizeiten bastle ich mir ein paar buttons dafür. Vielen Dank nochmal für Deine Arbeit und Deine schnelle Umsetzung. :top:

Freut mich, daß ich Dir bei der Fehlherrkoortrektuhr helfen konnte. 8)

grimes

Danke fooamp für die große Hilfe.

Ich glaube, die größten Fehler sind ausgemerzt.

Wenn Du nichts dagegen hast, würde ich gerne Deinen Einsatz im "About Seek" würdigen.

fooamp

Aber gerne doch. :)

qwert73

#12
Du bist ja sehr gründlich, fooamp! ;)

grimes, sehr nützliche Komponente, vor allem "Fast Forward" und die Möglichkeit, die für Preview angegebene Zeitspanne mehrmals innerhalb eines Tracks anzuwenden! Danke! In Kombination mit der Wave Seekbar macht das Ganze Spaß! (Kleine Anmerkung: hat man die foo_playbackattributes installiert, sollte man die Option "bookmark last playback position" deaktiviert lassen, um nicht wirr zu werden)

Was ich nicht so gut finde ist, dass die in den Einstellungen gesetzte Anfangsposition nicht immer auf den nächsten Track angewendet wird: der Sinn erschließt sich mir nicht, warum im nächsten Track, der mit dem vorherigen nichts zu tun, der Preview an der gleichen Stelle beginnen sollte.  Ich fände folgendes sinniger: der erste Preview startet wie in den Einstellungen angegeben oder wenn der Track schon läuft an der Stelle, wo der Preview aktiviert wurde. Beim nächsten Track aber dann immer an der besagten Anfangsposition. In der Seekbar oder auch am Gehörten lässt sich erkennen, ob eine spätere Stelle nicht doch besser zum Vorhören geeignet ist, und man schaltet per Seekbar dahin. Macht meines Erachtens mehr Sinn als den Preview bei Minute 3 deshalb zu beginnen, weil im letzten Song das auch so war - ein Preview soll doch lediglich einen repräsentativen Ausschnitt aus einem Song bieten. Meines Erachtens wäre somit auch einfacher zu lösen, was fooamp schon beschrieben hat: die weggeskipten Tracks. Folgende Formel wäre anwendbar: Ist die Summe in Sekunden aus Anfangsposition und Vorhördauer kleiner als die Länge des Tracks, so starte den Preview genau an der Stelle, wo die volle Vorhördauer geboten werden kann; sollte der Track aber noch nicht einmal so lang wie die Vorhörlänge sein, so spiele ihn ganz.

Das einzige, was mir noch verbesserungsbedürftig erscheint, wäre die Gestaltung des Menüs: So viele Einträge hat Seek Control nun doch nicht, als dass es noch Untermenüs für "Rewind" and "fast forward" bräuchte - Trennstriche würden genauso für Ordnung sorgen und man hat alles auf einmal im (Über)blick.


Nachtrag
Ich frag mich gerade, inwiefern die Loop Funktion als Teil von Seek Control von Nutzen sein kann?

Nachtrag zum Nachtrag
Ich glaub es zu wissen, aber oft werde ich es wohl nicht gebrauchen, schauen wir mal! Ansonsten das Gleiche wie zum Preview, was die Anfangsposition angeht.

Und dann noch
foo_preview werde ich deinstallieren, aus dem einfachen Grund, den grimes schon genannt hat: das umständliche Abstellen im Hauptmenü, das oft genug vergessen wird, entzfällt mit foo_seek.

Und noch was
Ich finde es unschön, dass "stop after current", obwohl es aktiviert ist, das Playback nicht beendet. Ich weiss ja, dass diese Funktion in Verbindung mit foo_seek fast gar keinen Sinn machen könnte, würde sie denn funktionieren; ausser vielleicht dann doch den, den letzten Preview zu beschließen. Wenn diese Funktion aktiviert ist, so sollte sie dann auch ihren Job tun dürfen.

Und als letztes für heute
grimes, mich nervt es, dass beim Starten des Playbacks durch Aktivieren der Preview oder der anderen Funktionen der zuletzt gespielte Titel zu spielen beginnt - das ist nunmal das foobar2000 Standardverhalten. Ich möchte dich nun nicht drum bitten dieses Verhalten ausser Kraft zu setzen - erstens fände ich das unschön und zweitens hat man mit foo_playbackattributes eine Komponente, die das einem global erledigt. Wonach ich aber fragen möchte: eine Option, um das automatische Starten des playbacks zu verhindern, um das erste Lied dann manuell starten zu können. Das Häkchen ist also zu sehen im Menü, obwohl noch kein Playback läuft, und nach dem Stoppen ist es weg. In dem Zusammenhang: mit einer weiteren Option (besser gesagt: Suboption, da nur sinnvoll, wenn erstere aktiviert), das Häkchen auch nach Beenden des Playbacks nicht zu entfernen, hätte fooamp seinen playback-modus. Es reicht dicke aus, wenn diese Option(en) sich auf alle Funktionen (Preview, Loop, ...) bezieht - für jede Funktion einzeln, wäre es ein Overkill.

Als erstes heute morgen
ZitatFolgende Formel wäre anwendbar: Ist die Summe in Sekunden aus Anfangsposition und Vorhördauer kleiner als die Länge des Tracks, so starte den Preview genau an der Stelle, wo die volle Vorhördauer geboten werden kann; sollte der Track aber noch nicht einmal so lang wie die Vorhörlänge sein, so spiele ihn ganz.
Die Formel läst sich natürlich auch auf den Memory-Effekt anwenden: Wenn der nächste Track längst vorbei ist, wo eigentlich der Preview beginnen sollte, so spiele das letzte Stück des Liedes in der Länge der Vorhördauer; ist der Track kürzer als diese, so spiele ihn ganz. Apropos Memory-Effekt: fooamp findet ihn ja ganz sinnvoll, mir wäre er als Option viel lieber, weil ich ja dann ausschalten könnte.



grimes

Danke für die Anregungen.

Ich kann eine Option in den Advanced Preferences machen, mit der man zwischen Memory-Effekt und Reset (für "Preview") umschalten kann.
Bei "Loop" macht ein ständiges Reset keinen Sinn, da kann man ja nicht mehr seeken.

Stop after current funktioniert nicht, weil der track ja bei "Preview" in der Regel gar nicht bis zum Ende gespielt wird. Ein normales Verhalten.

Zur Option, den automatischen Start zu verhindern: Ich schau mal, ob ich was machen kann.

qwert73

Zitat von: grimes in 22. Mai 2011, 09:09:41
Zur Option, den automatischen Start zu verhindern: Ich schau mal, ob ich was machen kann.
Freut mich, wäre für mich so praktikabler bei allen Funktionen.

Zitat von: grimes in 22. Mai 2011, 09:09:41
Stop after current funktioniert nicht, weil der track ja bei "Preview" in der Regel gar nicht bis zum Ende gespielt wird. Ein normales Verhalten.
Ja, das stimmt! Wenn es nicht allzu kompliziert ist, könntest Du es dann nicht einrichten, dass die "Stop after Current" berücksichtigt wird, also dann tatsächlich der letzte Loop, Preview, Rewind oder Forward durchgeführt wird? Irgendwie entspricht das doch den Erwartungen und zwar so sehr, dass es noch nicht einmal optional sein sollte.

Zitat von: grimes in 22. Mai 2011, 09:09:41
Ich kann eine Option in den Advanced Preferences machen, mit der man zwischen Memory-Effekt und Reset (für "Preview") umschalten kann.
Bei "Loop" macht ein ständiges Reset keinen Sinn, da kann man ja nicht mehr seeken.
Ich muss eingestehen, dass ich aus der Loop Funktion immer noch nicht so recht schlau werde, von daher kann ich den Sinn oder Unsinn nicht beurteilen. Was mir auffällt ist aber jedoch, dass sich in den Einstellungen eine Anfangsposition für den Loop einstellen lässt. Können Du oder fooamp einfach mal ein Beispiel für den Nutzen bringen?


Noch was! Es würde durchaus Sinn machen, die Playbackdauer für den Rewind und Fast Forward getrennt zu bestimmen. Unter gar nicht mal so unwahrscheinlichen Umständen, also wenn die Playbacklänge größer ist als die Zeitspanne, um die zurückgesprungen wird, da stellt sich Rewind als ein zähes Forward dar: 4 Schritte nach vorne und 3 wieder zurück! Soll jeder selbst entscheiden, ob er das für nützlich hält. Man sollte aber es nicht aufgezwungen bekommen, nur weil man beim Forward ein bestimmtes Verhalten haben will.