RSS

NASIL: shell-fm ile last.fm müziklerini hem dinlemek hem de diske kaydetmek

12 Feb

Daha önce shell-fm isimli GNU/Linux için komut satırı last.fm çalıcısının (ve de onun Emacs arayüzünün) güzelliklerinden bahsetmiştim. Bu güzel, ufak tefek, çevik ve pratik last.fm çalıcısı ile dinlediğim müzikleri bir yandan dinlerken bir yandan diskteki bir .mp3 dosyasına da kaydedebilir miyim diye merak edip biraz araştırdım ve sonuç olarak:

man shell-fm-config:

extern = command
On some platforms, Shell.FM is still unable to play streams properly. This option enables you to use Shell.FM for stream control, but use another player for the playback. The stream will
be written to STDIN of the external player.

Hemen .shell-fm/shell-fm.rc düzenlenir ve içine


extern = tee last.fm.mp3 | vlc -

satırı eklenir. Yani shell-fm’nin mp3 ses çıktısı tee komutunun STDIN’ine yönlendirilmiş olur ve tee bir yandan standart girdiden okuduğu veriyi last.fm.mp3 dosyasına yazarken diğer yandan da bunu kendisinden sonra gelen vlc programının STDIN’ine geçirir. vlc programı da - parametresini aldığı için çalacağı ses verisini STDIN’den okuması gerektiğini algılayıp devreye girer ve böylece last.fm’den gelmekte olan veriyi müzik olarak dinleyebiliriz (durdurmak için önce vlc’yi, sonra da shell-fm’yi durdurmak yeterli):


$ shell-fm lastfm://artist/Brad+Mehldau/similarartists

Shell.FM v0.4, (C) 2007 by Jonas Kramer
Published under the terms of the GNU General Public License (GPL)

Press ? for help.

Receiving .
Now playing "Ron's Place" by Brad Mehldau.
VLC media player 0.8.6e Janus
libdvdnav: Using dvdnav version 0.1.10 from http://dvd.sf.net
libdvdread: Encrypted DVD support unavailable.
libdvdread: Can't stat -
No such file or directory
libdvdnav: vm: faild to open/read the DVD
[00000283] main playlist: stopping playback

$ ls -l last.fm.mp3
-rw-r--r-- 1 cas cas 800K 2009-02-12 20:08 last.fm.mp3

tee’nin ve vlc’nin programcılarıyla shell-fm‘nin programcısı Jonas Kramer’e bu güzel yazılımlar için, Brad Mehldau‘ya ise her zamanki gibi güzel müzikler için teşekkürler.

Advertisements
 
7 Comments

Posted by on February 12, 2009 in General, Linux

 

7 responses to “NASIL: shell-fm ile last.fm müziklerini hem dinlemek hem de diske kaydetmek

  1. Sönmez Kartal

    February 13, 2009 at 08:14

    streamripper adlı programı araya sokabilir miyiz acaba?

    Şarkı adlarına göre ayrı ayrı dosyalar oluşturabiliyor.

     
  2. Emre Sevinc

    February 13, 2009 at 11:09

    Güzel fikir!

     
  3. mert

    February 14, 2009 at 22:05

    çok daha fonksiyonel olan bir versiyon olan last ripperi öneririm. komple açık kod.

    http://code.google.com/p/thelastripper/

     
  4. Emre Sevinc

    February 14, 2009 at 22:43

    Güzel bir çalışmaya benziyor. Paylaştığın için teşekkürler. C# ile last.fm programlama konusunda incelenebilecek bir kod tabanı. MP3lere ayırmasının yanı sıra Artist, Album gibi dizinlere ayırıp albüm kapakları filan çekmesi de güzel özellikler.

    Anladığım kadarı ile MONO bağımlılığı var bu yazılımda. shell-fm ise 50 KB’lık bir binary dosya ve sadece bir iki decoding lib. kullanıyor görebildiğim kadarı ile. Ben ağırlıklı olarak komut satırından ya da Emacs içinden last.fm’den seçtiğim şeyleri dinlemek için kullanıyorum ve bu blog girdisini hazırlarkenki temel amacım da elimde zaten kullandığım araçlarla gelen ses verisini aynı anda bir dosyaya nasıl kaydedebileceğimi görmek idi.

    Açık ve özgür kodun böyle alternatifleri tetiklediğini görmek sevindirici. 🙂

     
  5. mert

    February 14, 2009 at 22:55

    csharp ile yazıldığı; framework gereksinimi duyduğu için ,apple os-windows-linux işletim sistemlerinde çalışması hedeflendiğinden malesef dediğin gibi MONO bağımlılığı mevcut.

    Bu projeyi ben yazıyor olsaydım java ile yazmayı tercih ederdim,multi platform olabilmek için.

     
  6. Emre Sevinc

    February 14, 2009 at 23:01

    Belli bir frameworke bağlı olmayı mutlak anlamda kötü bir şey gibi algılamıyorum ben. Bir şey hem Apple’da, hem MS Windows’da hem de GNU/Linux’da çalışsın, hepsinde aynı özellikleri, aynı arayüzü sunsun demek kolay bir iş değil, yapabileni ve sürdürebileni de takdir etmek lazım.

     
  7. mert

    February 14, 2009 at 23:04

    Bir framework e bağımlı olmak meselesi değil, ancak .net framework ün henüz diğer işletim sistemleri tarafında tam bir karşılığı olmaması programcıları bir noktada zorluyor. Açıkçası mono project de başlangıç aşamasında son derece doğru adımların atıldığı bir mantıkla başladı, ileriye yönelik umutlarım vardı ancak halihazırda projeye katkıda bulunan insan sayısı son derece kısıtlı.
    Javanın platform bağımsızlığı ile savaşmak güç açıkçası.

     

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: