今回はmusicLineの内部実装の話。 Transform(スクロール量等の画面状態)の情報を末端のクラスへどのように共有するか(依存性の注入)について考えてみました。 いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール Transformの共有方法は? 3分作…
今回はmusicLineの座標系と座標変換の話。 例えば、タップ位置の音符とは、どの音符を指すでしょうか? いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール タップ位置の音符とは 3分作曲 musicLine~ いつでも、どこでも、気軽に作曲 ♪ ~ はじめに …
musicLine(iOS)についての進捗。 指ツールの実装が大体完了したので報告します。 いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール 指ツールの動作 3分作曲 musicLine~ いつでも、どこでも、気軽に作曲 ♪ ~ 実装状況 カテゴリタイトル補足 View Co…
musicLineの作曲モデルを設計した話。 いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール モデル設計 音符選択動作 3分作曲 musicLine~ いつでも、どこでも、気軽に作曲 ♪ ~ はじめに musicLineでは全体的な依存関係がわかりやすくなるようにマルチ…
musicLineでは画面をSwiftUIを使って描画しています。 今回はその描画のコストが気になったので、その調査と最適化した話。 いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール 描画コストの表示 3分作曲 musicLine~ いつでも、どこでも、気軽に作曲…
musicLineのGoogle Playストアの掲載情報を長い間変えてなかったのですが、インストール数に直接関わってくる大切な部分です。 今よりもインストール数を上げるために、重い腰を上げてブラッシュアップしていこう思います。 今回はストアのアプリアイコンを…
musicLine(iOS)についての進捗。 iOSの作曲画面が形になってきたので、現状を報告します。 いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール 作曲画面の動作 実装状況 ピアノロールの配置 小節番号と小節線の表示 分割線の表示 フレーズの表示 ボ…
必要ないモジュール依存を省いてSwiftUIのプレビューを快適にした話。 musicLineではマルチモジュールで開発を行っており、それが原因かSwiftUI のプレビューが遅いのが気になっていました。 いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール はじ…
musicLineのiOS版を開発する時に、MVVMパターンの構造を選択した話。 iOSアプリ開発におけるSwiftUIとMVVMを使った実装方法を調査しました。 いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール また実際にSwiftでタイマーを作ってみて、MVVMパター…
今回はマルチモジュール開発の話。 最近のSwiftPackageを使ったマルチモジュール開発について調査しました。 はじめに 開発が大きくなったり複数人で進めていく場合、モジュール分割してないとよくわからない状態でも実装を進められてしまいます。最初はなん…
musicLine(ver.8.18.0)の新機能「アカウント移行機能」の紹介。 いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール アカウント移行 背景 musicLineのコミュニティにアップロードしたデータはアカウントに紐づいて管理されてますが、現在Facebookア…
musicLine(ver.8.18.0)の新機能「アクティビティログ」についての紹介。 いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール アクティビティログ 背景 作曲は初心者にとって難しく、1週間もしないうちに作曲を諦めてしまうことがあります。 musicLin…
Android開発で、同じようなレイアウトを部品化して再利用する話。 今回はmusicLineで実装中の機能「アクティビティログ」を例に解説します。 いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール アクティビティログ レイアウトを部品化 アクティビテ…
はじめに 最近流行りのChatGPTですが、何かを調べるくらいならわざわざ使うほどでもないかと思い、使う機会がないまま過ごしていました。 そんな時、musicLineの開発で複雑なSQL文を考える機会があり、あまり慣れていない私は頭を悩ませていました。。。 そ…
皆様はAndroid開発において、画面推移をNavigation Componentで実装していますか。 今回はDialogFragmentでNavigationを使用したらハマった話。 musicLineでは、新しく作成する「データを移行」ダイアログにNavigationを使用しました。全体としては従来通り…
musicLineのテストサーバーをローカル環境に構築してデバッグを簡単にした話。 WindowsでDockerとVSCodeを使って、サーバーをデバッグしたい時に役立つ内容です。 課題 musicLineでは、コミュニティ(クラウド)にデータをアップロード・ダウンロードする際…
musicLineの新機能「作曲データの移行」についての進捗。 いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール 作曲データ移行 背景 musicLineではスマホで作成した、作曲データとMIDIデータをコミュニティにアップロードして、他のmusicLineのユーザ…
数字入力をダイヤル式のナンバーピッカーに変えて使いやすくした話。 ナンバーピッカー 例えば musicLineでは、拍子の指定にテキスト入力を使っていました。 いつでも、どこでも、気軽に作曲 ♪ musicLineをインストール テキスト入力 でも、テキスト入力だと…
ViewModelは画面の状態を保持する役割があります。 今回は画面の状態をいつまで保持するかについての話。 ViewModelの概要 ViewModelは紐づけたFragmentが破棄されるまで生き続けます。 この生存期間のことをスコープといいます。 ViewModelを生成する時は、…
モバイルアプリの開発ブログをはじめます。 アプリ開発してると同じ問題でつまずて、前も同じようなことあったな。となって後悔することがありますよね。 私もその一人です。 きっと誰もが同じような感覚を体験したことがあると思います。あの時、解決した問…