Interfaccia grafica per estrarre tracce audio ed altro

Ho scritto un programma in python che permette di:

  1. estrarre le singole tracce audio da un file ape, wav o flac utilizzando il relativo file cue;

  2. trasformare i file ape presenti in una cartella in flac;

  3. creare playlist (in formato m3u) a partire dai files audio presenti in una cartella.

Il tutto fa da interfaccia grafica ai comandi mac, flac, cuebreakpoints e shnsplit, con funzioni aggiuntive (lettura ed eventuale modifica, singola o cumulativa, dei nomi delle tracce partendo dal file cue) rispetto a quanto si potrebbe fare da terminale. Laddove vengono eseguiti comandi utilizzabili da terminale, è possibile visualizzare comandi ed output.

Se qualcuno fosse interessato, lo rilascio sotto licenza GPL, ed è scaricabile, in formato rpm ed rpm sorgente, alla pagina http://www.mathhelp.eu/software/splitaudiotracks/splitaudiotracksinstall.html.

N.B. Ho ampiamente scopiazzato (ove possibile) dal programma http://www.mathhelp.eu/software/synchronizelater/synchronizelater.html che avevo scritto quest’estate, ma penso di poter essere perdonato in quanto:

  1. l’autore ero sempre io :D;
  2. avevo rilasciato anche quello sotto licenza GPL :).

N.B.2 Ho “rubato” :ooops: un’emoticon dal sito FedoraOnLine, mettendola in http://www.mathhelp.eu/software/splitaudiotracks/splitaudiotracks.html pagina… spero che fosse presente anche lei sotto licenza GPL :P, e che non me ne vogliate…

N.B.3 @Virus: non mi sembra, ma se per caso avessi reinventato l’acqua calda, perdonami :rolleyes: :rolleyes:…

Bravo Marco, ottimo lavoro.

Se leggi a piè di pagina troverai:

Bravo Marco, mi sembra una ottima applicazione, il codice è leggero ed elegante.
:slight_smile:

Interessante, dovrò darci un’occhiata più avanti al codice per imparare a programmare in python :wink:
Ho datto una veloce lettura allo spec e penso (personalmente) che dovresti caricare il file tar.gz da qualche parte nel web e nello spec indicare al posto di:

Source0: splitAudioTracks-%{ver_maj}.%{ver_min}.tar.gz

qualcosa del tipo:

Source0: http://www.indirizzo.com/bla/bla/bla/splitAudioTracks-%{ver_maj}.%{ver_min}.tar.gz

Poi modificherei la sezione in cui inserisci il file .desktop togliendola e creando un file a parte nomeapp.desktop, da inserire come file Source1 ed escluderei i tag Vendor e Packager.
Fatto questo si potrebbe anche aprire un bug su bz per aggiungerlo ai repo :slight_smile:

Ciao!

Intanto ho la prima correzione di un bug dalla pubblicazione sul sito (mentre andavo a comprare il pane mi sono reso conto di non aver rimosso il carattere ‘/’ dal nome delle tracce, se presente, durante la lettura del file cue).

Poi, rispondendo un po’ a tutti:

[quote=virus]Bravo Marco, mi sembra una ottima applicazione, il codice è leggero ed elegante.
:)[/quote]

Mi fa molto piacere che lo pensi, perché il mio incubo notturno era che, dopo 12 giorni di lavoro, mi dicessi: “Quello che hai fatto esiste già e lo fa il tale programma. Programmatore fai da te? No conoscenza programmi esistenti? Ahi ahi ahi…” :lol: :lol: :lol:

Diciamo che è stato stimolante, ho imparato anche cose che non sono ben documentate (tipo ottenere singole voci di una combobox in grassetto). Potrai capire che non ho amato fino in fondo python dal fatto che l’immagine l’ho creata con un programma in java… (Ah, i programmi tipizzati e compilati, ti salvano il sedere da tante cose…) :rolleyes:

[quote=bebo_sudo]
Ho datto una veloce lettura allo spec e penso (personalmente) che dovresti caricare il file tar.gz da qualche parte nel web e nello spec indicare al posto di:

Source0: splitAudioTracks-%{ver_maj}.%{ver_min}.tar.gz

qualcosa del tipo:

Source0: http://www.indirizzo.com/bla/bla/bla/splitAudioTracks-%{ver_maj}.%{ver_min}.tar.gz

È che, al momento, mi fa comodo creare l’rpm con uno script automatico a partire dai sorgenti (non compressi) che sono in una cartella del mio PC. Qualcosa tipo:

cd $SRC_DIR
SPLIT_AUDIO_TRACKS="splitAudioTracks-`cat version`"
mkdir -p "$SPLIT_AUDIO_TRACKS"
cp -r html "$SPLIT_AUDIO_TRACKS"
cp -r img "$SPLIT_AUDIO_TRACKS"
cp -r java "$SPLIT_AUDIO_TRACKS"
cp -r python "$SPLIT_AUDIO_TRACKS"
tar --remove-files -czf ~/rpmbuild/SOURCES/"$SPLIT_AUDIO_TRACKS.tar.gz" "$SPLIT_AUDIO_TRACKS"
cp splitAudioTracks.spec ~/rpmbuild/SPECS
rpmbuild -bs ~/rpmbuild/SPECS/splitAudioTracks.spec
if  "$?" == "0" ]; then
 mv ~/rpmbuild/SRPMS/splitAudioTracks*.src.rpm $DST_DIR
 rpmbuild -v -bb --clean ~/rpmbuild/SPECS/splitAudioTracks.spec
 if  "$?" == "0" ]; then
  mv ~/rpmbuild/RPMS/noarch/splitAudioTracks*.noarch.rpm $DST_DIR
  cd $DST_DIR
  rpm --addsign *.rpm
 fi
fi
echo "Premere un tasto per terminare"
read 

Quella parte, a dire il vero, l’ho “rubata” (ovviamente, adattandola) da un rpm non mio (mi sembra quello di unison). Non è una mia invenzione.

Bisogna aprire un bug per aggiungere un pacchetto ai repo??? Ohibò, questo non lo sapevo! :eeek: :eeek: :eeek:
Ovviamente, mi farebbe piacere se splitAudioTracks (e, perché no, magari anche gSynchronizeLater), andassero nei repo, ma per ora avrei bisogno di riprendere alcune faccende interrotte da troppi giorni: se qualcuno volesse avviare la cosa per me, ha la mia autorizzazione (anche perché è sotto licenza GPL), altrimenti ne riparliamo quando ho un momento libero (non sono proprio addentro nelle procedure necessarie, scusate).

Se è tutto software libero che rispetta eventuali brevetti e necessita solo di software presente nei repo fedora non c’è motivo perché non sia inserito all’interno dei repo ufficiali :slight_smile:

Ciao