從 PCMan 原本寫的 hinet-radio 一直改一直改
原本寫的部份有九成都被我改掉了~ :P
不過基本的框架還是 PCMan 原本寫的 hinet-radio
後來 PCMan 又 fork 出一份新的 GtkHiRadio
改成使用 perl 去動態 parse 電台撥放清單
底層還是使用 wget 抓資料跟透過呼叫外部的 MPlayer 來撥放音樂
現在我又 fork 出另外一個版本 Beta Radio
因為我之前一直使用 beta 來作為版號~ :P
為什麼要 fork 出另外一個版本呢... ?
因為個人興趣我把底層改成使用 libcurl 來抓電台
播放廣播的部份改成 GStreamer 來做
原始碼的部份改用 autotools (autoconf, automake, libtool, pkgconfig...) 的方法建構
還有整份程式碼都是使用 C 語言來寫的 (使用 GTK, GDK, GStreamer, Curl 等函式庫)
完全不使用外部命令 (ex. system(), exec() ...)
Beta Radio v0.1.0 還是有很多地方需要改進
例如: 更直覺的使用者介面, 錯誤處理, 程式註解, 美工圖片, 自動化更新選單, 多國語言化, 套件打包 ...
Source Code 目前放在 http://fd.idv.tw/betaradio/
以後會移到 http://code.google.com/p/betaradio/ 上面去
這個新專案授權為 GPL v2
P.S. 要裝上 gstreamer 的 ffmpeg plugins 才能夠播放廣播
GNU/Linux, Debian/Ubuntu, Mac OS X, Free Software/Open Source Software, Freeware, and Programming.
2007年6月23日 星期六
fifo - first-in first-out special file, named pipe
mkfifo 可以製造出一個特殊的 pipeline 檔案
可以在 A process 讀取它
然後在 B process 將資料寫給同一個它
那麼在 A process 就可以讀取到 B process 傳過來的資料了
在不同的 process 間傳遞資料有一個特殊的名稱 Interprocess Communication 簡稱 IPC
而 pipeline 在 GNU/Linux 上只是其中一種 IPC 方法
有趣的是... :)
如果沒有 A process 打開讀取它 (open for read)
B process 先打開寫入它 (open for write)
這時候 B process 就會開啟失敗
想一想也挺合理的... :P
pipeline 本來就是把某處的資料傳遞到另一處
既然沒有資料也就無法傳遞
那麼 B process 的開啟失敗似乎本來就應該如此~
可以在 A process 讀取它
然後在 B process 將資料寫給同一個它
那麼在 A process 就可以讀取到 B process 傳過來的資料了
在不同的 process 間傳遞資料有一個特殊的名稱 Interprocess Communication 簡稱 IPC
而 pipeline 在 GNU/Linux 上只是其中一種 IPC 方法
有趣的是... :)
如果沒有 A process 打開讀取它 (open for read)
B process 先打開寫入它 (open for write)
這時候 B process 就會開啟失敗
想一想也挺合理的... :P
pipeline 本來就是把某處的資料傳遞到另一處
既然沒有資料也就無法傳遞
那麼 B process 的開啟失敗似乎本來就應該如此~
2007年6月22日 星期五
libtool's versioning system
Never try to set the interface numbers so that they correspond to the release number of
your package. This is an abuse that only fosters misunderstanding of the purpose of library
versions. Instead, use the -release flag (see Release numbers), but be warned that every release
of your package will not be binary compatible with any other release.
文件明明就是這樣寫的... 可是 GNU/Linux 的軟體就是把 -version-info 當 -release 使用... 真是搞不懂啊... XD
2007年6月18日 星期一
Windows Vista 隨機版可以降級安裝使用 Windows XP
http://www.microsoft.com/taiwan/licensing/faq.aspx
哇!真棒!微軟真是貼心的公司啊!
知道新版的 Windows Vista 不好用!
所以讓客戶可以選擇使用舊版的 Windows XP!
哇!真棒!微軟真是貼心的公司啊!
知道新版的 Windows Vista 不好用!
所以讓客戶可以選擇使用舊版的 Windows XP!
2007年6月10日 星期日
2007年6月6日 星期三
Hinet Radio 點播器 Beta3
咦~~~ 在應用程式裡面找到了一個 "Hinet Radio 點播器" 耶~ ^o^
還是一樣只有 Source Code 還是一樣不斷地在 Beta 中~ :P
http://fd.idv.tw/hinetradio/
還是一樣只有 Source Code 還是一樣不斷地在 Beta 中~ :P
http://fd.idv.tw/hinetradio/
2007年6月3日 星期日
Hinet Radio 點播器
最近 Hinet Radio 的收聽機制一直改
搞得我在 Linux 系統底下無法使用 champ 提供的 shell script 來收聽
http://tw.myblog.yahoo.com/champ_yen/article?mid=220
這段期間剛好想到 pcman 以前寫的一個小程式
http://moto.debian.org.tw/viewtopic.php?t=9903
基本上兩個都是利用 wget 跟 mplayer 就可以收聽 Hinet Radio
於是心生一計想要來自己改一個可以穩定使用的版本
http://fd.idv.tw/hinetradio/
現在只有改出 BETA 版本 (目前提供原始碼)
在 Gnome/Linux 下收聽是沒問題啦~
不過操作上還是會讓主程式當掉
只剩下 mplayer 在背景跑
如果要關掉的話必須 killall mplayer
最後要說一句 "I welcome to the patch."
還有 Linux 系統的使用者也是使用者啊~
不要排擠我們~~~ ~>_<~
搞得我在 Linux 系統底下無法使用 champ 提供的 shell script 來收聽
http://tw.myblog.yahoo.com/champ_yen/article?mid=220
這段期間剛好想到 pcman 以前寫的一個小程式
http://moto.debian.org.tw/viewtopic.php?t=9903
基本上兩個都是利用 wget 跟 mplayer 就可以收聽 Hinet Radio
於是心生一計想要來自己改一個可以穩定使用的版本
http://fd.idv.tw/hinetradio/
現在只有改出 BETA 版本 (目前提供原始碼)
在 Gnome/Linux 下收聽是沒問題啦~
不過操作上還是會讓主程式當掉
只剩下 mplayer 在背景跑
如果要關掉的話必須 killall mplayer
最後要說一句 "I welcome to the patch."
還有 Linux 系統的使用者也是使用者啊~
不要排擠我們~~~ ~>_<~
訂閱:
文章 (Atom)