Replay Gain oder Musikstücke vorscannen

Deutsches Forum - von Silverjuke-Nutzern für Silverjuke-Nutzer.
User avatar
thomas_s
Posts: 18
Joined: 31. Oct 07, 14:15
Contact:

Re: Replay Gain oder Musikstücke vorscannen

Postby thomas_s » 31. Oct 07, 14:23


User avatar
Service-Team
Posts: 2448
Joined: 7. Dec 04, 04:48
Location: Germany
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: Replay Gain oder Musikstücke vorscannen

Postby Service-Team » 31. Oct 07, 20:05

Hallo Thomas,

vielen Dank für Ihren Beitrag; wir hatten bislang keine Zeit, uns das Skript im Detail anzusehen, möchten an dieser Stelle aber gerne Ihre Fragen beantworten.

> Wie kann ich es erreichen, dass z.B. auf die ESC-Taste
> reagiert wird während ich mich in der while-Schleife
> befinde?

Unser Vorschlag wäre, komplett auf eine "globale" while-Schleife zu verzichten und stattdessen einen Timer zu bemühen, der z.B. alle 10 Sekunden den Status überprüft (neuer Titel? Position "10 Sekunden" übersprungen? -> zu 50% vorspulen, Wiedergabeliste leer? -> neuen Titel einstellen usw.)

Einen Timer können Sie über die Funktion einstellen.

Um die aktion abzubrechen böte sich entweder ein kleiner, nichtmodaler mit einem "Abbruch"-Button an oder ein zweiter Menüeintrag "AutoVol Abbrechen" (rufen Sie für mehrere Menüeinträge die Funktion einfach mehrfach auf).

Vielleicht war ja der eine oder andere nützliche Tip dabei ;-)

Mit freundlichen Grüßen,
Ihr Silverjuke-Team

PS: Willkommen an Bord, Thomas

User avatar
thomas_s
Posts: 18
Joined: 31. Oct 07, 14:15
Contact:

Re: Replay Gain oder Musikstücke vorscannen

Postby thomas_s » 1. Nov 07, 14:41

Moin zusammen,

habe das Script nochmal einiges aufgebohrt und vorallem alles mal in ne Klasse gepack.
Zur Bedienung: Im Kontextmenü "Extra" gibt es nun den Eintrag "Start pre scan for AutoVolume...". Klickt man diesen an, so wird ein automatischer Scan über alle Titel gestartet, bei welchen der Datenbankeintrag AutoVol gleich null ist. Per default geht der Scan über drei Bereiche à 8 Sekunden eines Titels und springt dann zum nächsten Titel. Dem Konstruktor kann die Anzahl der Bereiche und die Anspiellänge der einzelnen Bereiche übergeben werden.

Während der "Scannens" wird die aktuelle Zustandsinfo im Display angezeigt und ein modaler Dialog verhindert, dass der Benutzer einfach einen anderen Track abspielt. Könnte man mit mehr Aufwand sicher auch noch so gestalten, dass man durchs Archiv browsen kann aber die Play und Queue Funktionen deaktiviert sind. War mir aber zu aufwendig und normalerweise will/soll der Benutzer während des Scans ja auch nix anderes machen. Ein Klick auf den Ok-Button des modalen Dialogs bricht den PreScanVorgang ab und setzt den AutoVol Werte des Tracks, bei dem abgebrochen wurde, wieder auf 0. Außerdem findet der Benutzer die Queue wieder unverändert vor und der Player mach da weiter, wo er vor dem Start des Prescans war.

Die 3 mal 8 Sekunden über drei gleichmäßig verteilte Stellen im Titel sollten meistens ausreichen, um einen vernünftigen AutoVol Wert zu ermitteln, oder?

Im Anhang befindet sich der aktuelle Code. Eventuell kann man den ganzen Thread mittlerweile zu den Skripten schieben.

Freue mich auf Rückmeldung!

Schöne Grüße
Thomas
Attachments
AutoVolPreScan.sj
AutoVolumePreScan extension
(10.6 KiB) Downloaded 674 times

Guest
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: Replay Gain oder Musikstücke vorscannen

Postby Guest » 1. Nov 07, 14:56

Vielen Dank!
*gleichmalausprobier*

- Holgi

User avatar
Service-Team
Posts: 2448
Joined: 7. Dec 04, 04:48
Location: Germany
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: Replay Gain oder Musikstücke vorscannen

Postby Service-Team » 1. Nov 07, 15:01

Hallo Thomas,

sehr saubere Arbeit, keine Probleme bei unserem ersten Test. Mit diesem Skript haben Sie wahrscheinlich vielen Usern eine große Freude gemacht :-)

Vielen Dank auch von uns!
Ihr Silverjuke-Team

User avatar
greyhound
Posts: 114
Joined: 14. Mar 06, 20:06
Location: NRW
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: Replay Gain oder Musikstücke vorscannen

Postby greyhound » 1. Nov 07, 15:03

Bestens! Probiers es auch gerade aus.

Jetzt fehlt nur noch ein Scipt um die ermittelten Daten in der MP3-Datei selbst zu speichern und eins, um sie wieder auszulesen.
Dann könnte man die Dateien auch al verschieben und wieder neu einlesen und hätte diese werte auch wieder :-)

Gruß
Greyhound

User avatar
thomas_s
Posts: 18
Joined: 31. Oct 07, 14:15
Contact:

Re: Replay Gain oder Musikstücke vorscannen

Postby thomas_s » 1. Nov 07, 17:41

So gibt noch eine kleine Änderung.

Unter "Einstellungen->Erweitert->Weitere Optionen->AutoVolumePreScan Settings" sind nun Werte für die Anzahl der zu scannenden Teile pro Titel und die Länge jedes zu scannenden Teils einstellbar. Werden auch gespeichert und geladen.

Viel Spaß und Erfolg damit!
Thomas
Attachments
AutoVolPreScan.sj
AutoVolumePreScan extension
(12.9 KiB) Downloaded 673 times

User avatar
thomas_s
Posts: 18
Joined: 31. Oct 07, 14:15
Contact:

Re: Replay Gain oder Musikstücke vorscannen

Postby thomas_s » 1. Nov 07, 22:17

Wieder eine neue Version.

Werde mal Versionsnummern einführen. Warum auch immer funktionierte die letzte Version auf einem anderen Rechner nicht richtig.

@SJ Service: Wenn ich die default-Parameter der iniRead() Funktion weg lasse, dann funktioniert es richtig. Habe außerdem noch ein var vor die Attribute im Konstruktor gemacht, aber das iniRead() Problem war unabhängig davon. Könnt ja mal nen Diff auf die letzte Version machen, um die Unterschiede zu sehen. Ist das Problem nachvollziehbar?

Hier nun das hoffentlich lauffähige Skript.

Wenn jemand Fehler entdeckt oder Anregungen hat, nur her damit.

Thomas
Attachments
AutoVolPreScan.sj
AutoVolumePreScan v1.0 extension
(12.99 KiB) Downloaded 678 times

User avatar
Service-Team
Posts: 2448
Joined: 7. Dec 04, 04:48
Location: Germany
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: Replay Gain oder Musikstücke vorscannen

Postby Service-Team » 2. Nov 07, 09:01

Hallo Thomas,

wir können bei der iniRead()-Funktion hier irgendeine Unstimmigkeit nachvollziehen, sind uns im Moment aber noch nicht einige, wo genau das Problem ist. Ihr Workaround klappt jedenfalls ;-)

Vielen Dank auf jeden Fall schon einmal für Ihren Hinweis, wir werden uns hier wieder melden, wenn das Problem gelöst ist.

Mit freundlichen Grüßen,
Ihr Silverjuke-Team

User avatar
Service-Team
Posts: 2448
Joined: 7. Dec 04, 04:48
Location: Germany
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: Replay Gain oder Musikstücke vorscannen

Postby Service-Team » 2. Nov 07, 09:44

Hallo noch einmal,

so, die vermutete Unstimmigkeit war gar keine, sondern die Zeile scanLengthEachPart = 8000 im neuen Skript - hiermit wird der just mit iniRead() gelesene Wert überschrieben, was uns etwas verwirrte ...

Ansonsten konnten wir keine Fehler mit iniRead() reproduzieren; gerne gehen wir aber weiteren Hinweisen nach.

Mit freundlichen Grüßen,
Ihr Silverjuke-Team
Last edited by Service-Team on 30. Sep 08, 08:30, edited 1 time in total.


[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Return to “Deutsches Forum”