Mac用の気に入った譜面ビューワーが無いので作った
ウチのピアノには譜面台代わりにモニターが置いてあって、PDFやYoutube画面を見ながら練習しています。
使っているモニタはアイ・オー・データの25インチ液晶「LCD-DX251EPB/E」です。
解像度は1920x1200と、普通のワイドモニタよりちょっと縦が長く、楽譜の表示に適しています。もうちょっと画素数があった方が見やすいですが、私の用途では十分です。
これまで、PDF楽譜の表示には、iPad用のPiascoreをMac上で動かしてきました。PIasocoreはとても良いアプリですが、やはりiPad用なのでMacで使うには、ちょっと不便なところがありました。
Mac用の譜面ビューワーや汎用PDFビューワーも試しましたが、どうもしっくり来るものがないので、試しにChatGPTに依頼してみたら、結構満足いくものができました。
楽譜の表示に特化したシンプルなビューワー
とにかく、シンプルなモノが欲しかったので仕様は以下のようなものです。
- PDFの表示だけに特化。編集や書き込み機能は不要
- サムネイル一覧やブックマークも不要
- 見開き・単ページ表示を切り替え可能
- 見開きの組合せを選択可能(表紙がある楽譜に対応)
- フルスクリーン表示可能
- ページめくりは横方向。スクロールは不要
- 自由に拡大できる。拡大時にスクロールしても勝手にページ送りしない
- ボタンなどのUIは不要。キーボードショートカットで操作可能
- よく使う譜面、最近使った譜面をすぐに開ける
この仕様をChatGPTに投げたところ、swiftを使ったデスクトップアプリケーションを作ってくれました。
楽譜表示用PDFビューワー「Scoreviewer」
本当に単純なアプリです。
起動するとファイル選択ダイアログが出るので表示したいPDFを選択します。
メニューとショートカットで好みの表示サイズに調整します。
トラックパッドでの拡大、縮小、スクロール、ページ送りができます。
ページめくりは矢印キー左右でもできます。
複数のPDFを開いている時は、メニューやタブで切り替えられます。
よく使う楽譜は、ファイルメニューの最近使った書類からアクセスできます。ChatGPTによると、この辺の機能は、特にコーディングしなくてもOS側で勝手に実装されるらしいです。
コード(Xcodeプロジェクト)をGithubに置いておきます。コードを見ると、びっくりするくらい短いことが分かると思います。macOSはPDF関連のライブラリが充実しているためでしょうか。正直、コード自体はChatGPTに丸投げなのでよく分かりません。
私はAppleのDevelopper IDを持っていないので、アプリケーションに署名をすることができません。無署名のアプリケーションは配布が面倒だったりしますし、正直、トラブルがあった時に責任を負いたくないので、公開はソースコードにします。
https://github.com/ryjkmr/simple_score_viewer
使いたい方はXcodeを使って自分でアプリケーションをビルド&保存してください。方法はChatGPTとかGeminiに聞いてください。結構簡単です。
しつこいようですが、素人がChatGPTに丸投げして作った代物です。間違ってもプロの方が仕事で使ったりしないでください。ご利用は自己責任でお願いします。
Xcodeを使ったデスクトップアプリケーションがAIで作れてびっくり
今まで自分がAIコーディングで作ったアプリは、Webアプリやコマンドラインアプリがほとんどでした。デスクトップアプリケーションは、WebアプリベースのものをElectrtonでデスクトップアプリ化したものだけでした。
今回は、Xcodeを使ったれっきとしたMac用デスクトップアプリケーションです。
私は、GUIデスクトップアプリケーションの開発経験はほとんどありませんでしたが、統合開発環境(IDE)は多少なりとも使ったことがありました。
ChatGPTは、必要な複数のソースコードを提示してくれたので、これをXcodeのプロジェクトにペーストして、ビルド&ランさせてエラーメッセージをChatGPTに投げるといったいつもの作業を何度か繰り返して、数時間で完成できました。
開発がうまくいったポイントは、仕様を絞り込んだことだと思います。仕様が単純ならコードも短く、構成もシンプルになり、トラブルが減り、デバッグも容易です。
作っている過程では,もうちょっとこうしたいという要望もあったのですが、試しにChatGPTに投げてみて、コードが複雑になりそうなら止めました。
高機能なアプリの開発には、AIを使っても時間と手間がかかりますので、とにかくシンプルにするのが成功の近道じゃないかと思います。AIはどんどん賢くなるので、将来はもっと高機能なアプリが簡単に作れるようになることでしょう。
そんなわけで、またひとつAIの手助けで自分の不便を解消することができました。本当に良い時代になったものです。