2012年12月10日 星期一

ChatRadio V5版 目前架構

因為頭腦真的越來越不好 一定要把一些東西整理起來筆記了

以下列出目前 ChatRadio 的架構
Player:
Foobar2000
plug-in:
foo_httpcontrol (need VS2010 to rebuild, you can reference here and here)
foo_removeplayed
edcast

foobar dsp order
Preferences/Playback/DSP Manager/Active DSPs
Resampler (PPHS)
Advanced Limiter
Hard-6dB limiter
edcast V3
Stream server:
SHOUTcast

ChatRadio Web Interface
Main Framework: PHP+MySQL
UpdateSong: Python27+mutagen+MySQLdb
checkreload: php+Python33+foobar command

2014/5/2補充
因為CR點播娘會自動加入歌曲給 Foobar2000 當歌單快要空的時候,
但是我在用電腦的時候,加入歌曲就會跑出 Foobar2000 視窗,在電
腦操作上總是很不方便,困擾了我一年多的問題原來答案這麼簡單。


2015/3/5補充架構圖

2012年12月8日 星期六

Python 第二關 - 安裝自己需要的擴充套件

上一篇講解了 Python 的開發環境,這裡就繼續補充我有用到的擴充套件

#1 把 Python 的 .py 檔案編譯成 .exe 檔案 - cxfreeze
選擇 Python 的版本下載,安裝完成後在 Python\Scripts 目錄下有 cxfreeze.bat,將要轉換的 python 程式複製到這個目錄下面,開啟 command line 到這個目錄執行
C:\Python33\Scripts>cxfreeze checkreload.py --target-dir dist
完成後,dist目錄下就會出現 checkreload 的執行檔。

#2 安裝獲取 mp3 id3 tag 的程式 - eyeD3
有個英文版的windows平台安裝說明
官網也有簡易的安裝說明,如果需要安裝Setuptools在這,安裝好後就可以使用easy_install來安裝 eyeD3 - 使用指令easy_install eyeD3,或是到 eyeD3 目錄下用 python setup.py install 來安裝。

#3 安裝獲取 mp3 id3 tag 的程式 - mutagen
因為我使用 eyeD3 總有些問題,所以又去找了這套程式。有些檔案 eyeD3 取不到撥放時間的長度,同樣的檔案 mutagen 可以,這裡有 tutorial

#4 安裝 Mysql for python - MySQLdb
如何link的簡介
tutorial

Python 安裝,我的第一個 Python 程式 - 不是 Hello World!!

好像每個程式一開始總要來個 Hello World!! 其實這是有其意義的
一方面可以讓使用者知道你的環境已經建構起來可以開始撰寫程式碼
另一方面也可以讓使用者有信心說我也可以讓它跑起來。

不少的程式開發環境其實不像微軟提供的IDE(Integrated Development Environment)這麼簡單
可能需要去安裝這個程式的編譯環境,然後還要找個不錯的開發工具,甚至要什麼功能還要自己去找是否有已經開發好的 function 可以呼叫,沒有的話就要自己寫一個。

2012年12月4日 星期二

RT-N16 tomato IP分享器後面架站

有了固定 IP 後
要在 IP 分享器後面架站有兩種方法
1. IP分享器用 pppoe 撥號 hinet 的固定 ip 帳號 HN號碼@ip.hinet.net 取得固定 IP 後,用 port forwarding 方式把相關的 service port 轉到 local ip 去 (例如 192.168.1.xxx)
2. 用 pppoe relay 讓後面虛擬 IP 的機器 (192.168.1.xxx) 那台直接撥號出去

第一個方式很簡單,只是麻煩,要一個個 port 開啟,直接進入 tomato 的設定就可以
但是第二點在 tomato 怎麼找都找不到,原來當初 tomato 在包裝的時候把 pppoe relay 拿掉了,至於要開啟的方式網路上的教學都蠻完整的,補充以下連結
http://blog.hychen.org/archives/2011/01/10/45/
http://neture.homeip.net/digiland/viewtopic.php?id=1515

但是第二個其實類似 DMZ 了有點危險,畢竟全部赤裸裸的把機器對外開放了,安全性不佳