« foobar2000 ビルドしたコンポーネントを自動的にコピーしよう | トップページ | タグふれんず 休止します »

2007年8月20日 (月)

foobar2000 曲再生時にメッセージを表示する

曲が再生される度にコンソールにメッセージを表示するコンポーネントを作成する。

Console

↑コンソール画面は View → Console で表示する。

コンソールへのメッセージの表示はデバッグ時に役立つので必ず覚えよう。

今回のソースコードはこちら。


4行目

DECLARE_COMPONENT_VERSION

コンポーネントのバージョン情報用マクロ。

コンポーネント作成の際には必ず記載する。


16行目~30行目 

再生時にコールされるクラス、CPlaybackの宣言。

play_callback_static から派生させる。

今回は get_flag()、 on_playback_new_track() という2つのメンバ関数をオーバーライドする。


32行目 

static play_callback_static_factory_t<CPlayback> pbsf;

CPlayback クラスのインスタンスを作成する。

これがないと関数がコールされない。


34~37行目 

CPlayback::get_flags() の定義。

この関数で、foobar2000からどのタイミングでコールしてもらいたいかを定義する。

今回は曲の再生開始時にコールしてもらうため、flag_on_playback_new_track を指定した。

再生開始時以外にも、停止時や毎秒コールさせることも可能。

詳細はSDKの play_callback.h を参照。

enum {
    flag_on_playback_starting            = 1 << 0,
    flag_on_playback_new_track            = 1 << 1,
    flag_on_playback_stop                = 1 << 2,
    flag_on_playback_seek                = 1 << 3,
    flag_on_playback_pause                = 1 << 4,
    flag_on_playback_edited                = 1 << 5,
    flag_on_playback_dynamic_info        = 1 << 6,
    flag_on_playback_dynamic_info_track    = 1 << 7,
    flag_on_playback_time                = 1 << 8,
    flag_on_volume_change                = 1 << 9, 

    flag_on_playback_all = flag_on_playback_starting | flag_on_playback_new_track |
        flag_on_playback_stop | flag_on_playback_seek |
        flag_on_playback_pause | flag_on_playback_edited |
        flag_on_playback_dynamic_info | flag_on_playback_dynamic_info_track | flag_on_playback_time,
};

これらの値を or で組み合わせる。


39~42行目 

CPlayback::get_flags() で flag_on_playback_new_track を設定したため、foobar2000から曲の再生開始時に CPlayback::on_playback_new_track() がコールされるようになる。

console::info("on_playback_new_track()");

console::info() でコンソールに文字列を表示している。


無事動作しただろうか?

曲の再生開始時以外のタイミングでも文字列を表示してみよう。

今回作成したプロジェクトをダウンロードする


                                                                                              

|

« foobar2000 ビルドしたコンポーネントを自動的にコピーしよう | トップページ | タグふれんず 休止します »

foobar2000」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/56729/16180670

この記事へのトラックバック一覧です: foobar2000 曲再生時にメッセージを表示する:

« foobar2000 ビルドしたコンポーネントを自動的にコピーしよう | トップページ | タグふれんず 休止します »