5月の開発記録 (2021)

恒例の自分用開発記録です。

と書き出しましたが、5月はほとんど何もやってない感じです。ひとつには、4月にM3向けにいろいろやっていた間にいろいろ先送りしていたのと、自宅近辺の騒音工事がうるさい間は寝不足になりながらコーディングを放棄してゲームで遊んでいたりとか*1Google I/Oの動画を眺めていたら終わった週があったりとか。

コーディング作業としては、なぜかフリーランス仕事してくれみたいなのが集中してやって来て、仕事ではやりたくないなぁ…とか返しつつその調査を手伝ったりとか、何だかんだで手伝うことになった感じの案件があったりとかで、自分のプロジェクトの開発はあんまり進展していないです。ここ数日もどちらかといえばFluidsynthのAndroidビルドでトラブっているのを直す手伝いで時間を使っている感じです(現在進行形)。

ktmidi and AAP on maven central

AndroidのオーディオプラグインのプロジェクトのMIDIまわりのコードをもう少しまともにしたいので、ktmidiを使いたいと思っていた(いる)のですが、パッケージ参照をsubmoduleのmavenLocal経由で解決し続けるのがしんどくなってきたので、いろいろな手抜き解決をあきらめてSonatype経由でMaven Centralに出すことにしました。AAPのほうは今日出したばかりなのでまだインデックスされていません。

mvnrepository.com

mvnrepository.com

この辺は参考資料がいくつかあるので、わたしがまとめることもないでしょう。ktmidiはKotlin MPPだったのであまり資料が無く、主にJetBrainsの中の人が書いたらしいコレを参考にしています。(ちょいちょい改良を加えてフィードバックしていたり。)

dev.to

ちなみにMaven Centralはめんどくさい…って思って手抜き策としていろいろ手を打ってみたのですが…

  • Jitpack : 一時期ビルドできていたのですが、モジュールが複雑化してきてビルドできなくなったのと、alsaktでALSAまわりのヘッダファイルが必要になってビルドできなくなって、こっちで続けるのは無理があると思ってやめました
  • GitHub Packages : 使う側が認証を求められるのはやっぱり体験が悪いのでやめました
  • GCR Maven Package Registry : しばらく前にGCPでアルファユーザー登録していて、放置されっぱなしだったのが、5月に使えるようになったのでちょっと調べてみて、やっぱり使う側が認証を求められたりするのか調べるのが面倒だったのでやめました

そんなわけで現状Jitpackが使えないようならまあMaven Centralが一番楽だろうとは思っています(楽な度合いで言えばJitpackが圧倒的に楽です)。まあ今でもあんましやりたくないのですが、一応GitHubでsonatypeに送りつけるまでは自動化できるようになったので、とりあえずは使い続けると思います。

ちなみにGitHub Actionsのubuntu 20.04で自動ビルドするようになった結果、iOSビルドを維持できなくなって、iOSはbuild.gradle.ktsで無効化してあります。これは↓あたりを読むと実現できそうですが…

medium.com

…Composeで作った仮想MIDIキーボードアプリをKotlin 1.5でビルドできるようになってからでいいや、っていう感じで先延ばししています(何

今月はホントに外の調べものばかりで、特にFluidsynthのビルドまわりでさまざまな試行錯誤をしているだけで時間を取られているのがよくわかったので(自力でprefab作ろうとしたりcerberoビルドがうまく行かない調べものをしたり…)、あんまり泥沼化しないうちにどこかで手打ちにしようと思います。アレを最初にビルドできるところまで持っていった当時の自分はホントえらい…

*1:サガ某とかニーア某とか…モバイルはアプリの安定性がアレでダメな感じですがPS4のほうはとてもよかった