RDK (Radyo Dinle Kaydet) 4.8

RDK (Radyo Dinle Kaydet) 4.8

RDK 4.8 sürümü ile yine karşınızdayım. Geçtiğimiz Ramazan Bayramında biraz boş vaktim oldu ve bu sürümde bazı hataları daha giderip yeni özellikler ekledim. Özellikle RDK' nın en büyük hatası olan kayıt sınırlaması sorununu aşmayı başardım. Malum RDK ile kayıt yaptığınızda yaklaşık 185 MB dosya sınırı kendiliğinden oluşuyordu. Ne kadar uğraşsamda bunun üzerine çıkamamıştım. Aslında 185 MB diyorum ama bunun saat olarak ifadesi 03:22:53' e denk düşüyor. 3 saat 22 dakika ve 53 saniye' den fazla kayıt yapamıyorduk. Oturup araştırdım ve bu sürenin 2 GB' lik bir PCM dosyasına denk düştüğünü fark ettim ve sorunun aslında RDK' dan değil de LAME' den kaynaklandığını fark ettim. BASS kütüphanesi ve LAME arasında bir uyumsuzluk olduğunu keşfetmem çok uzun sürmedi. Artık RDK ile sınırsız kayıt yapabileceğiz. Sınırsız diyorum ama bu teorik olarak elbette. İşletim sisteminin sınırları dahilinde düşünmek gerek.

Çok istenen bir özellik daha vardı: Kayıt esnasında kaydı duraksatma (Pause Recording). Bu özelliği de ekledim. Artık kaydı istediğimiz bir anda duraksatıp yeniden başlatabiliyoruz. Üstelik aynı dosya üzerinde... Malum yayın esnasında araya reklam falan giriyor. Bu durumda kayda müdahele edebiliyorz artık.

Benim için son derece gereksiz bir özellik ekledim: Twitter' da ve Facebook' ta paylaşma. Bende çağa ayak uydurdum ve bu özellikleri de ekledim. Malum sitenin trafiği artsın biraz. Başka bir niyetim yok...

Son olarak bazı simgeleri değiştirdim va ufak tefek hataları giderdim. RDK' nın içine eski simgeyi de ekledim. İsteyen arkadaşlar siyah simgeyi de kullanabilirler.

Favori listesi diye birşey isteniyor ama onu bu ekrana sığdıramıyorum. Arayüzü değiştirmek gerek. Bu Fovori listesi hakkında bir yorum yapmıştım. Bu yorumu okumadan lütfen mail atmayınız. Ayrıca bazı arkadaşlar Radyo D, Slow Türk, CNN Türk ve Diyanet Radyo gibi radyoların çalışmamasına dair mail atıyorlar ama kendileri RDK' nın çok eski sürümü kullanıyorlar. Bu radyolar için mutlaka son sürümü yükleyin.

Aslında çok eksiği var ama vakit darlığından dolayı yapabildiklerim bunlar. Güle güle kullanın ve bağış yapmayı unutmayın...

Yerel Sunucu (shenturk.com)

      RDK 4.8 (KURULUM): İndir rdk-4.8-setup.rar [6,55 MB]
      RDK 4.8 (TAŞINABİLİR): İndir rdk-4.8-portable.zip [8,21 MB]

NOT:
Eğer bilgisayarınızda RDK' nın eski sürümleri yüklü ise kaldırmanıza gerek yoktur. RDK 4.8 kurulum programı, eski sürümü kaldırıp yerine 4.8 sürümünü kurar.

YAZILIMCILAR İÇİN:
LAME ile BASS kütüphanesini kullanan arkadaşlar aynı hatayla karşılaşabilirler. Benim yayını kaydederken LAME ile kullandığım komut şuydu:

  
  CmdLine := Format('lame -b %d --resample %d -m %s -',
    [BValue, FValue, FMode]);

  FHandle := BASS_Encode_Start(FChannel, PAnsiChar(CmdLine),
    BASS_ENCODE_AUTOFREE, @RecorderProc, Pointer(Self));

Bu satırlar normal görünse de muhtemelen pipe sorunu var. Çünkü BASS, LAME' in STDIN' nine yazıyor ve bende LAME' in STDOUT' undan okuyorum. 2 GB' lık kaydı geçtiğimde LAME birden kill oluyor ve hata da vermiyor. Bu durumda FFmpeg kullanarak sorunu aşabilirsiniz. Kodu şu şekilde değiştirdim:

  
  CmdLine := Format('ffmpeg -ac %d -ar %d -f s16le -i pipe:0' +
    ' -ac %d -ar %d -ab %dk -f mp3 pipe:1',
    [InChannels, InFrequency, OutChannels, 
    OutFrequency, OutBitrate]);

  FHandle := BASS_Encode_Start(FChannel, PAnsiChar(CmdLine),
    BASS_ENCODE_AUTOFREE or BASS_ENCODE_NOHEAD, 
    @RecorderProc, Pointer(Self));

Yazarken aklıma geldi: Belkide BASS_ENCODE_NOHEAD parametresini ekledim diye düzeldi ama hiç sanmıyorum. Bu parametre PCM formatında kaydederken WAV header bilgisini yazmak için kullanılıyor genelde. Test ederim ve gelişmeyi bildiririm. Kolay gelsin...