む、JammyにKernel 6.5が標準で入ってくるようになるとMIDI 2.0を使える環境が広がってくるな。 https://9to5linux.com/ubuntu-22-04-lts-is-now-powered-by-linux-kernel-6-5-from-ubuntu-23-10
antlr-kotlin、ついに正式にANTLRの一部ってことになりそう(というお知らせというかライセンス変更依頼が来た) https://github.com/Strumenta/antlr-kotlin/issues/144
wasmサポートがあるから公式にしたい、とはまた公式もゲンキンだなw(嫌いじゃない)
RoomもMultiplatformで使えるようになるとコードの再利用性が高まるな(Lifecycle/ViewModelと同じで、Android専用すぎて全く使う気になれなかったやつ) https://medium.com/@callmeryan/kotlin-multiplatform-when-will-the-android-room-database-join-the-club-949005ba0d58
Kotlin Multiplatformで使えるライブラリの選択、wasmJsターゲットをサポートしようと思うとなかなか厳しくなってくる。ktorが使えないなら他に…ってなっても、そっちもwasmJsまではカバーしていないことが多い。
今はDeflate (Zip) の実装が無い〜ってなってる。
きょう1日でinitiator property subscription, profile details, process inquiry, property body chunkingをあらかた片付けたのでMIDI-CI実装がだいぶ進んだ気がする。あとzlib+Mcoded7とRFC6901のpartial updatesとMIDI Messaging Reportを実装すれば一応feature completeってことになるかな。
さすがにこっちばかりやっていられないので早めに片付けてAndroidプラグインに戻りたい…実装した以上は何かしらのメタデータのやり取りに応用しようとは思うけど(未定)
MIDI-CI実装、昨日はResponderサイドをやっつけて、今日はInitiatorサイドをやっつけてた。
JUCE CapabilityInquiryDemoがSubscriptionでプロパティの更新通知を送り付けてくるので、それにReply to Subscriptionで返事しつつ、更新されたデータを取得するリクエストを送るのだけど、このReply to SubscriptionをどうやらJUCEが想定していないというバグも発見してしまった https://github.com/juce-framework/JUCE/issues/1329
なんかこういう「仕様に忠実に実装されていない」みたいなやつ、昔XML Schemaの実装をやってたときに.NETで大量に記録していたな…
JUCEのMIDI-CI実装は実のところかなりよくできてると思う。自分のMIDI-CI実装もあらかたできていて、ここまでやってまだ2件しか相互運用性問題が出てきていない。(まあプロパティ更新通知が"notify"しかない、みたいな手抜き部分ももちろんまだあるけど。)
今日はMIDI-CIのProperty Subscriptionを実装していたのだけど、これCommon Rules for PEに忠実に実装すると、subscribeを受け取ったresponderはそのリクエストごとにsubscribeIdを発行して、以降property updatesが生じるたびにSubscribe to Propertyメッセージを発行することになるのだけど、そのヘッダーにはsubscribeIdが含まれる…ということは、subscriberごとにupdatesを送ることになるのだけど、正気か…?ってなってる。destination MUIDは仕様上7F7F7F7Fなんだから、全員向けに一度通知を送ってしまえば済む話だと思うのだが…?
去年になって妙に活発になったように見えていたけど死期を悟って書き物を残していったということだったのか https://media.rakuten-sec.net/articles/-/43818
(This is my Japanese timeline. atsushieno@g0v.social for English)
music software tools enthusiast. Audio Plugins For Android, Linux, MML, MIDI 1.0/2.0.
old posts are at https://mastodon.cloud/@atsushieno