FPVTrackside Mac版(v2.77.1.877)で確認している問題点は二つあります。使用方法によっては致命的とも言えます。併せて回避策も示しておきます。問題が整理でき、あるいはコードフィックスの目処がつけば開発者にフィードバックする予定です。将来のバージョンでは問題が解決するものと思います。
[ ディレクトリ問題 ]
FPVTracksideの様々なデータはWindowsにおいてはユーザーの”AppData\Local\FPVTrackside\”下に集約されています。
macOS版でも”~/Documents/FPVTrackside”(ユーザーの書類フォルダー)と言うフォルダーが作成され、そこにデータを置くような設計になっているようです。ところがいくつかのデータはアプリケーションバンドル内のMacOS下を参照しています。


アプリレーションバンドルの中身はアプリケーションファイルを右クリックして「パッケージ内容の表示」で開くことが出来ます。
どのデータがアプリケーションバンドル内を参照しているのかは、追いきれていませんが、以下の二つは確実です。
< events >

レースイベントの全てに関わるデータがアプリケーション内のMacOS/eventsに保管されます。レースの実施にはおそらく大きな問題はありません。問題となるのはFPVTracksideを更新、あるいは同じバージョンであっても再インストールを行うとデータが失われてしまうことです。
もしデータを失いたくない場合は自力でeventsディレクトリーをどこかに保存しておく必要があります。
< pilots >
pilotsフォルダーはパイロットの写真や動画を保存する場所です。FPVTracksideは最初の起動時にpilotsフォルダーを作成します。実際に”~/Documents/FPVTrackside/pilots”を作成しています。ところがFPVTracksideがpilotsフォルダーの操作を行う時にはアプリケーションバンドル内のMacOS/pilotsを参照します。しかしこのフォルダーは作成されていません。そのため様々な問題が発生します。
とりあえずMacOS下に自分でpilotsフォルダーを作成すればパイロットの写真機能を使用することは出来ます。
[ macOSの濁点問題 ]
ファィル名に濁点と半濁点が含まれていると発生する問題です。NFC/NFD問題とも言います。簡単に説明します。NFDとNFCと言う異なる文字表現があります。NFDでは濁点などを独立した文字としてあつかいます。NFCは濁点付きの一つの文字として表します。例えば「が」はNFDでは2文字、NFCでは1文字になります。日本語だけではなく西欧の文字列にもわずかですが同様の文字が存在するそうです。
macOSではファイル名をNFDで作成します。ところが一般的にプログラム内部ではNFCを期待しています。macOSでプログラムが濁点の含まれるファイル名を単純に読み込むと濁点が独立した文字(NFD)になってしまいます。それをそのまま画面に表示すると濁点、半濁点がやや離れたところに表示される奇妙な状態になります。また、プログラム内部でNFCで管理されている文字列とファイルシステムから得られたNFD文字列は一致しないため、意味としては同じだったはずのものが別のものになってしまいます。macOSの仕様が何故このようになっているのか理解に苦しむところでもあります。
FPVTracsideにおいてはパイロット名と上記のpilotsフォルダーに保管したパイロットの写真の間でこの問題が発生します。
シナリオは幾つかありますが、ここではmars.fpv@YAMAGATAさんのFPVパイロット一覧のデータを使ってテストしてみます。
– FPVTrackside用ZIPをダウンロードします。
– ZIPを展開した中にあるアイコンファイル(拡張子png)を上の方で作成したアプリケーション内のMacOS/pilotsフォルダーにコピーします。
– FPVTracksideを起動しイベント画面でパイロットのインポートを行います。

「プロフィール画像ファイルからインポート」を行います。
– これで先にコピーした画像ファイル名をパイロットの名前として使用できるようになります。

パイロットの写真があればパイロット名リストが簡単にインポート出来るとても便利な機能です。が、コザックとドローン部長だけちょっと名前が見づらいです。これはWTW四国のメンバーであることが原因ではありません。これこそがNFD問題です。ちなみにmacOSのファインダー上では普通に見えます。
– 名前が見づらくても良いのであればこのままでも動きます。

やはりカッコよくないです。それにパイロット名を別の方法でインポートしてあった場合にはパイロット名が一致しなくなります。
本来の解決策はFPVTrascksideの中でNFDからNFCに変換する”nfc normalization”と言う処理を行うことです。それが実現されるまでの間はファイルシステム上でnfc化することも可能です。ただし古いHFS+ファイルシステムだとうまく行かないようです。
nfc化を行うnfd2nfcと言うPythonスクリプトを作りました。

これを使うとファイルシステム上でnfc化することが出来ます。

no comment untill now