以下の内容はhttps://atsushieno.hatenablog.com/entry/2025/08/31/123318より取得しました。


8月の開発記録 (2025)

台湾からの移動日にノートPCにコーヒーをひっかけて使い物にならなくなった状態でくそ暑い東京に帰ってきました。もうちょっとヒートアイランドを高みの見物していたかった…(時候の挨拶)

Can we build better music software ecosystems for more generative era? @ COSCUP 2025

今年のトークは例年よりエモい…というか今あるプラグイン技術でできていない「データの可搬性の無さ」の問題を取り上げて、プラグインフォーマット間の相互運用性を高めるにはどうすればいいか?みたいな議論を中心に話してきました。スライドは公開してあります。セッション動画はそのうちyoutubeに上がるんじゃないかと思います。

speakerdeck.com

COSCUP自体は今年も3000人くらい参加していたそうですが、今年はRubyConf Taiwanとくっついていたこともあってか、やたら日本人が多く来ていました。まあその面倒を見るのはOSC方面の人たちで、自分は「その他」野生の外国人勢ですが。

本当はもっと理想のプラグインフォーマット本に沿って、プラグインフォーマットごとの設計の相違点をネチネチと30分くらいしゃべれればよかったのですが、完全に主題が行方不明になってしまうのと、それをどこまで期待されているのかわからん(英語セッションの時点でこんな心配しても意味ないのですが)ということもあって、だいぶ絞って話しました。1時間あれば40分、2時間あれば1時間40分はその話をしたと思います…

midicci-keyboard

先月uapmdにktmidiのC++移植midicciを統合してAllCtrlListを取得できるようにするだけしましたが、やはりクライアントがktmidi-ci-toolやJUCEのCapabilityInquiryDemoくらいしかないのでは全く実用性が無いので、適当にMIDI 2.0キーボードのサンプルをでっち上げようと思って、またClaude Codeに作らせました。最初は独立リポジトリに作ってあったのですが、途中で面倒になってmidicciの一部として開発しています。

github.com

AI coding agentが書いたものなので全般的に中途半端ですが、動くときは動くようです。今はLinuxビルドがMIDI-CIのGet Property Data Replyの処理に失敗するようで、ここまで来るとなかなかAIでは先に進め難いところです。実行環境も特殊でローカルで動かすのが前提ですし。

ようやくAllCtrlListのプロパティをMIDI 2.0デバイス化したVitalから取得できるようになった…これじゃ使い勝手が悪いからツマミのリストくらいにしないとな。 ちなみに列挙値も取れるからJUCEのproperty grid的なものも作れなくもない。オーディオプラグイン並のことができるようにしたいところだな。

Atsushi Eno (@atsushieno.bsky.social) 2025-08-12T12:52:57.996Z
bsky.app

g0v.social

今月はこれに合わせて、uapmdで全フォーマット(VST3, AU, LV2, CLAP)でパラメーターリストを取得できるようにしたり(特にLV2がしんどい)、StateListをサポートするためにきちんとMIDI-CI Property ExchangeのresIdサポートを実装したり、その上でState APIをそもそもプラグインホスティングAPI (remidy) のレベルで実装して回ったりと、いろいろ目に見えない部分に時間がかかりました。まだProgramListの設計と実装の辺りができていないので、その辺がひと段落したらuapmdと合わせてもう少しまともにプロモーションしようと思います。

来月の予定

来月はDroidKaigiがあるので、発表資料をあーでもないこーでもないとこねくり回しながら作っています。コードもしばらくはAAP方面のメンテなどをやることになるでしょう。それが終わったらようやくひと息つける感じです。




以上の内容はhttps://atsushieno.hatenablog.com/entry/2025/08/31/123318より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14