sansibarius
3 Beiträge
schrieb am 11.10.12 um 16:47 Uhr
Link zu diesem Post
StreamWriter speichert bei mir alle Songs eines Radios in einem Ordner mit dem Namen des Radios.
Ich möchte aber eine Ordner-Struktur Artist (> Album) > Titel, so dass zB alle Songs gleich von welcher Radio-Station in einen Ordner "Supertramp" kopiert werden.
Ein Unter-Ordner nach Album wird wohl schwierig, wenn die Tags nicht eindeutig sind.

Habe in den Einstellungen nichts dazu gefunden.
 
alex
2552 Beiträge
schrieb am 11.10.12 um 17:28 Uhr
Link zu diesem Post
Das steht hier:
http://streamwriter.org/de/wiki/artikel/settings/#filenames

Standardmäßig steht vorne als Ordner (weil danach ein \ folgt) der Sendername. Da muss man dann eben den Künstler hintun.
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
sansibarius
3 Beiträge
schrieb am 11.10.12 um 17:54 Uhr
Link zu diesem Post
Hallo Alex
Vielen Dank für den Tip. Nach etwas pröbeln sollte es nun stimmen.
Jetzt möchte ich noch die schon bestehenden Dateien in die neue Struktur umsortieren, aber dafür gibts Spezialprogramme, habe ich gesehen.
Ist es richtig, dass streamwriter keine ID3-Tags schreibt, sondern nur die Dateinamen?

Vielen Dank
Gruss
Sansibar

 
alex
2552 Beiträge
schrieb am 11.10.12 um 18:19 Uhr zuletzt bearbeitet von alex am 11.10.12 um 18:19 Uhr
Link zu diesem Post
Das passende Addon (AudioGenie) hier aktivieren:
http://streamwriter.org/de/wiki/artikel/settings/#addons

Dann unter http://streamwriter.org/de/wiki/artikel/settings/#postprocessing die Nachbearbeitung aktivieren. Entweder für neue Streams global unter Einstellungen im Hauptmenü oder für bereits hinzugefügte mit Rechtsklick auf Stream und dann im Popupmenü unter "Einstellungen".
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
ecxod
9 Beiträge
schrieb am 28.12.24 um 15:29 Uhr zuletzt bearbeitet von ecxod am 28.12.24 um 15:34 Uhr
Link zu diesem Post
> Sansibar schrieb am 11.10.12 um 17:54 Uhr
> Jetzt möchte ich noch die schon bestehenden Dateien in die neue Struktur umsortieren,
> aber dafür gibts Spezialprogramme, habe ich gesehen.

Wer seine Sammlung umsortieren will, kann meinen Script nutzen
Mein Script macht 3 Sachen gleichzeitig
- er speichert die Daten aus den Tags in einer sqlite3 Datei
- erzeugt eine m3u Playlist und
- sortiert die Datein nach dem neuen Muster um

Anforderungen:


Einfach entpacken und dann den bin Ordner in den Path einfügen.
Das kann man von Hand machen, oder den Environment Editor von Oleg Danilov nutzen https://www.rapidee.com

Dann erzeugt ihr eine Datei die z.B. "SortierTool.bat" heißt und kopiert den folgenden Code rein

@echo off
setlocal enabledelayedexpansion

:: Benutzereingaben
set "input_folder=C:\Pfad\zu\Ordner"
set "output_folder=C:\Pfad\zu\Ausgang"
set "playlist_file=C:\Pfad\zu\playlist.m3u"
set "pattern=%%genre%%\%%artist%% - %%title%% (%%year%%)"

:: Erlaubte Muster
set "allowed_patterns=%%artist%% %%title%% %%album%% %%genre%% %%streamtitle%% %%streamname%% %%number%% %%day%% %%month%% %%year%%"

:: SQLite-Datenbank initialisieren
set "db_file=music_metadata.db"
sqlite3 "%db_file%" "CREATE TABLE IF NOT EXISTS music (path TEXT, artist TEXT, title TEXT, album TEXT, genre TEXT, streamtitle TEXT, streamname TEXT, number TEXT, day TEXT, month TEXT, year TEXT);"

:: Musikdateien durchsuchen und Metadaten extrahieren
for /r "%input_folder%" %%f in (*.mp3 *.ogg *.aac) do (
echo Verarbeite: %%f

:: Metadaten mit ffprobe extrahieren
for /f "tokens=1,* delims==" %%a in ('ffprobe -v error -show_entries format_tags ^| find "="') do (
set "%%a=%%b"
)

:: Daten in SQLite speichern
sqlite3 "%db_file%" "INSERT INTO music (path, artist, title, album, genre, streamtitle, streamname, number, day, month, year) VALUES ('%%f', '!artist!', '!title!', '!album!', '!genre!', '!streamtitle!', '!streamname!', '!number!', '!day!', '!month!', '!year!');"
)

:: Dateien umsortieren
for /f "tokens=*" %%a in ('sqlite3 "%db_file%" "SELECT path, artist, title, album, genre, streamtitle, streamname, number, day, month, year FROM music;"') do (
set "source_file=%%~a"
set "artist=%%~b"
set "title=%%~c"
set "album=%%~d"
set "genre=%%~e"
set "streamtitle=%%~f"
set "streamname=%%~g"
set "number=%%~h"
set "day=%%~i"
set "month=%%~j"
set "year=%%~k"

:: Zielpfad basierend auf dem Muster erstellen
set "output_path=%pattern%"
for %%p in (%allowed_patterns%) do (
set "output_path=!output_path:%%p=%%%%~p!"
)
set "output_path=%output_folder%\!output_path!"

:: Zielverzeichnis erstellen
if not exist "!output_path!" mkdir "!output_path!"

:: Datei verschieben
move "!source_file!" "!output_path!"

:: Playlist-Eintrag hinzufügen
echo !output_path! >> "%playlist_file%"
)

:: Playlist-Header hinzufügen
(echo #EXTM3U
echo) > "%playlist_file%.tmp"
type "%playlist_file%" >> "%playlist_file%.tmp"
move /y "%playlist_file%.tmp" "%playlist_file%"

echo Playlist erstellt: %playlist_file%
echo Fertig!
pause
grüzzi ecxod