(last) fmGrabber – import your favourites and find files! – w końcu to napisałem

1
Tagi: , , , , , , , ,

I’ve released new 2.0 version. Check it out here.

Polski poniżej. fmGrabber is simple app written in C# .NET 4.5 which imports your LastFm favourites xspf (xml) file. You may choose your library collection with music which should be searched for your exported favourites songs. After finding results you may copy them to specified location or filter list. App is in english.

Supported extensions: mp3, wav, flac, wma, mp4 (yep, sorry, it’s hardcoded). It uses TagLib# library. Download below.

___

Gdzieś niedawno* sprzedałem komuś pomysł, że potrzebowałbym aplikację, która z wyeksportowanej listy ulubionych LastFm przeszuka mi moją kolekcję mp3’jek i skopiuje je w określone miejsce.

Ten dzień dziś nadszedł. Prezentuję Wam fmGrabbera!

fmGrabber Lookup

fmGrabber 1.1

* – pewnie już ze dwa lata minęły. Ah te moje poślizgi.

Download i changelog:

Strona projektu: http://dev.dexterxx.pl/projects/apps_fmgrabber/wiki 

Co to je, po co mi to?

Jak we wstępie wspomniałem.

Od lat oznaczam utwory na LastFm które mi się podobają. Kiedyś mając 2GB empetrójkę zapychałem ją wyłącznie składanką z moich ulubionych kawałków, niestety musiałem to wszystko robić ręcznie.

Teraz wystarczy wyeksportować plik xspf z ulubionymi utworami, wrzucić w tą aplikację podać login użytkownika i liczyć na to, że uda się powiązać media.

Uprzedzając pytania: czy będzie open source? Wątpię… o ile zrefaktoruję kod. Śledź subprojekt na redmine, może udostępnie repo. (Z resztą po co, można sobie zdekompilować :P)

Jak to dziaua?

Klepnięte w C# na bazie VS2013 i .NET 4.5. W sumie nie umiem w niczym innym na szybko pisać małych GUIków. Zerknij też tu po inne moje twory. Korzysta z biblioteki TagLib# (taglibszarp) do odczytywania metadanych z plików. Obsługuje mp3,  wav, flac, wma, mp4 – ja w sumie więcej nie potrzebuję, ale że jest zahardcode’owane, to w razie potrzeby zrób mi ticket na inne rozszerzenia.

Z kilku niejasnych rzeczy:

  • Nie nadpisuje plików jeśli docelowy folder będzie już miał dany plik (wtedy appenduje do nazwy „_%d” gdzie %d to int od 1 w górę)
  • „Remove joined” usuwa z tabelki, nie z dysku – bez obaw :P
  • UPPER CASE aby uwzględnić przypadki „artysta” == „Artysta”
  • Może coś nie działać, szczególnie skakanie po wątkach odświeżających GUI. W „podstawowym przypadku użycia” certyfikuję, ze jest ok!
  • Jeśli plik ma zdupione tagi, brak Title czy Artist czy po prostu biblioteka od tagów sobie nie poradziła – ignoruje go

Marzę w przyszłości spiąć z tym sieć neuronową, która ogarnie brak tagów i posłuży się np. odczytaniem z nazwy plików czy po prostu dramatyczne przypadki, gdzie „ODDYCHAJ (FEAT. ZDUNO)” == „ODDYCHAJ (FT. ZDUNO)” będzie dostatecznie podobne do połączenia. Nie trzeba było sieci neuronowej, by aplikacja też radziła sobie i z tym.

Przyda Ci się?

Aktualizacja 2016-10-30

Wydałem wersję v2.0 korzystającą z algorytmu Jaro-Winkler’a osiągającą 100% skuteczność :-).

Strona projektu i zawsze najświeższe informacje: fmGrabber.

Komentarze (1)

[…] >>> Obczaj moją aplikację do zrzucania ulubionych kawałków z LastFm […]

Skomentuj