読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

S.F.Traker(377) - Widgetを考える(4)

一から構築してみようと思い立ったものの、何も進んでいない状態。 基本はJUCEの内部をお手本にするかな。 後は、Boostをできる限り活用して作成していくとするか。

S.F.Traker(376) - Widgetを考える(3)

とりあえずWidget自作で頑張ってみることにした。 思考ばかりで成果物ゼロ。

S.F.Traker(375) - Widgetを考える(2)

Direct2Dを生かしたWidgetライブラリを作ろうとしているけれど、難しいね。Direct2Dはオーナードローとかカスタムドローとか、既存のWin32コントロールの描画には適していないような気がする。 もし、Win32コントロールをDirect2Dで描画しようとすると、コン…

S.F.Traker(374) - Widgetを考える。

UI部分を自作してみようと思うものの、どう作ればよいかいまいちいいアイデアがうかばない。 で、Chromeのソースコードを見てみることに。 うーん結構泥臭いというかWin32 GDIしているなぁということがわかった。世の中そんなに甘くなかったことがわかったの…

S.F.Traker(373) - Hello World

ようやくウィンドウが表示され、文字が表示できた。 http://sourceforge.jp/projects/sftracker2/svn/view/sftracker2/?root=sftracker2

S.F.Traker(372) - thunk

今日はWindowの基本的な部分の実装を行っていた。 最初に考えたのはHWNDとC++クラスインタンスとの結びつけなのだが、最初はWM_CREATE時に、SetWindowLongPtrのGWLP_USERDATAエリアにthisポインタを保存する方法でやってみたら、WM_CREATEイベント発生前にい…

S.F.Traker(371)

WASAPI+Direct2Dを使ってコードを作り直すことにした。 最初にWTLのような薄いGUIラッパクラスを作ってみることにする。 http://sourceforge.jp/projects/sftracker2/svn/view/sftracker2/?root=sftracker2

S.F.Tracker(371)

StretchableLayoutManagerの使いこなしで苦戦中。 いまひとつ良くわかっていないので、デバッガを使い動作を追っているところ。

S.F.Tracker(370)

トラック画面の拡大、縮小部分を作成中。 かるくハマっている状況。

S.F.Tracker(369)

トラック画面の拡大、縮小部分を作成中。

S.F.Tracker(368)

最近停滞気味。

S.F.Tracker(367)

browserを取り払い、ZoomSliderを追加してみた。 ZoomSliderはただ表示しただけ。 実装はこれから。

S.F.Tracker(366)

トラックエディタのUIの実装を少しずつであるが進めている。 少し「らしく」なってきた。

S.F.Tracker(365)

トラックエディタのUIの実装を少しずつであるが進めている。

S.F.Tracker(365)

少しUIの構成を変えてみた。

S.F.Tracker(364)

大まかなUIの雛形を実行した画面がこちら。

S.F.Tracker(363)

大まかにUIの雛形が完成したので、少し実装し始めている。 JUCEのお作法の枠内でやろうと思っていたのだが、実際実装し始めるとboostやらSTLを使うほうが手馴れていて楽なのでJUCEのコンテナライブラリを使わずに実装してしまっている。 どっちにしてもプラ…

S.F.Tracker(362)

引き続き、トラックのデータ構成を考えつつ、Jucerを使ってUIの雛形を作成しているところ。

S.F.Tracker(361)

引き続き、トラックのデータ構成を考えつつ、Jucerを使ってUIの雛形を作成しているところ。

S.F.Tracker(360)

引き続き、トラックのデータ構成を考えながらプログラミングしているところ。

S.F.Tracker(359)

Bugもようやく直り、Sequenceトラックのデータ構成を考えながらプログラミングしているところ。

S.F.Tracker(358)

Bugを1つ見つけたので、ぼちぼち直しているところ。

S.F.Tracker(357)

トラックのデータ構成を考えながらプログラミングしつつ、Vistaから実装されているWASAPIやWDMカーネルストリーミングを勉強しているところ。 WASAPIを使うと低レイテンシなサウンドプログラミングができる(Vistaだけだが)。 また、ASIOはサウンドカードが…

S.F.Tracker(356)

Pluginエディタは一段落したので、次にシーケンスエディタ部分を大幅に変更する。 大まかな仕様は、 ・シーケンスエディタはトラックエディタとパターンエディタに分ける ・トラックエディタはAodixを参考に独自に作成する ・パターンエディタはAodixとRenoi…

S.F.Tracker(355)

ただいまJOSTをVISTAで動くようにポーティング中。 Pluginの追加がやりにくいので、PluginListComponentやKnownPluginListを使用してPluginの追加を楽にしようとしているところ。 Pluginのスキャン中に固まってしまうのは自分が作ったBugだった。。。 という…

S.F.Tracker(353)

ただいまJOSTをVISTAで動くようにポーティング中。 デバッグビルドだと一般保護違反になる問題は解決したが、メモリーリークが発生してしまっているので、その原因究明を行おうとしているところ。

S.F.Tracker(352)

だいまJOSTをVISTAで動くようにポーティング中。 引き続きデバッグビルドだと一般保護違反になるが、リリースビルドだと一般保護違反にならないエラーの原因究明を行っているところ。

S.F.Tracker(351)

だいまJOSTをVISTAで動くようにポーティング中。 まだポーティング時のBugは多くあるので、修正を行っている。 今はデバッグビルドだと一般保護違反になるが、リリースビルドだと一般保護違反にならないエラーの修正を行っているところ。

S.F.Tracker(350)

だいまJOSTをVISTAで動くようにポーティング中。 まだBugは多くあるので、修正を行っている。

S.F.Tracker(349)

だいまJOSTをVISTAで動くようにポーティング中。 引き続きViewPort周りの実装がJOSTとJUCEの最新バージョンでは異なっているので、その違いの調査と、実装の変更をおこなっているところ。

S.F.Tracker(348)

だいまJOSTをVISTAで動くようにポーティング中。 ViewPort周りの実装がJOSTとJUCEの最新バージョンでは異なっているので、その違いの調査と、実装の変更をおこなっているところ。

S.F.Tracker(347)

ただいまJOSTをVISTAで動くようにポーティング中。 ようやくVST Pluginが読み込めようになったが、まだまだおかしな動作がたくさんある。

S.F.Tracker(346)

ただいまJOSTをVISTAで動くようにポーティング中。 ようやくリンカエラーがなくなり、動作するようになったが、VST Pluginが読み込めないことがわかり、ただいま変更中。

S.F.Tracker(345)

ただいまJOSTをVISTAで動くようにポーティング中。 ようやくリンカエラーがなくなり、動作するようになった。

S.F.Tracker(344)

JOSTのコンパイルがようやく終わった。 しかし、リンカエラーが今16個出ていて、それをひとつずつ解決していこうとしているところ。

S.F.Tracker(343)

JOSTをVistaで動作するようにポーティングを進めている。 とりあえずプロジェクトをつくり、JOSTのソースコードをすべて入れてコンパイルを試みているところ。 コンパイルをしては修正し、またコンパイルしては修正しの繰り返しだ。

S.F.Tracker(342)

JOSTをVistaで動作するようにポーティングを進めている。 とりあえずプロジェクトをつくり、JOSTのソースコードをすべて入れてコンパイルを試みているところ。 当然ながらエラーは多発。

S.F.Tracker(341)

シーケンサを設計する前に、JOSTをJUCEベースで動作するようにポーティングし、実際の動作を確かめてみることにする。これを何とか4月末までに完成したいと考えているが、できるかどうか。

S.F.Tracker(340)

大体の解析はすんだ。 そろそろシーケンサの部分の設計に入ろうと思う。 ゴールデンウィーク中に実装できればよいのだが。

S.F.Tracker(339)

引き続き、JUCE&JOSTのソースコードを見ているところ。 昨日でだいぶ流れが整理できてきた。 肝なのはRenderingOpSequenceCalculatoクラスrだろう。 まあ、ここが完全に理解できたら一段落といったところだ。

S.F.Tracker(338)

相変わらず、JUCE&JOSTのソースコードを見ているところ。 まだJOSTのシーケンスの流れがよくわかっていない状態だ。 もう少しといったところである。

S.F.Tracker(337)

土日もいろいろ忙しく、JOSTの解析は3時間程度しかできなかった。 今はMIDI周りの処理がどうなっているか解析しているところ。 JOSTではSequencerはPlugin形式となっているので、それがどのように他のフィルタ(VSTi)を鳴らすのかを深堀りしているところ。 ま…

S.F.Tracker(336)

DoxygenのDOTオプションでUMLのクラス図が生成(UML_LOOK)できそうなので、またドキュメントを生成しなおしているところ。 Doxygenは割と前から利用しているがこんなオプションがあるとは知らなかった。

S.F.Tracker(335)

「マインドマップ問題解決」と「UML2.0クイックリファレンス」を読んでいたのでソースコードはほとんど見ずに一日が終わってしまった。 今週はがんばって何とか全容を理解したいと思っているが、マインドマップ問題解決の内容を理解し、実践するほうが優先か…

S.F.Tracker(334)

AudioProcessorGraphクラス周りの動きを一通り見終わり、現在はJOSTのHostクラスをソースコードを見ているところ。 Doxygenのほぼフルオプションでドキュメントを作成したせいで、ソースコードが非常に追いやすい状態になっている。わからない関数が出てきて…

S.F.Tracker(333)

引き続き、AudioProcessorGraphクラス周りの動きを追っているが、昨日は飲み会があり停滞。

S.F.Tracker(332)

引き続き、AudioProcessorGraphクラス周りの動きを追っているが、WBCを見ていたりして少し停滞気味。

S.F.Tracker(331)

引き続き、AudioProcessorGraphクラス周りの動きを追っている。図に描きながら AudioProcessorGraph::buildRenderingSequence()の解析を進めている。なかなか興味深い実装だ。 JUCEのソースコードはわかりやすいのだが、コンテナはJUCE独自実装なのでSTLの知…

S.F.Tracker(330)

引き続き、自前、もしくはJOSTのMIDISequencerPluginをベースとしたSequencerクラスを妄想ししている。 今の状況はJOSTソースコードを一通り眺め終わり、JUCEをdoxygenで詳細ドキュメント化し、AudioProcessorGraphクラス周りの動きを観察しているところ。

S.F.Tracker(329)

引き続き、自前、もしくはJOSTのMIDISequencerPluginをベースとしたSequencerクラスを妄想しつつ、JOSTソースコードをながめているところ。