「Repete Plus」をアップデートしました(version 10.1)

「Repete Plus」をアップデートしました。(version 10.1)

Repete Plusは、語学学習を支援するオーディオプレイヤーです。
無音部分を自動認識し、語学教材をフレーズごとに間隔をあけて再生できます。
フレーズごとに再生・再生不要を設定、再生速度変更、録音機能、テキストメモ機能など多彩な機能で語学学習を助けます。

App Storeでダウンロード

使い方を紹介しているサポートサイトはこちら
Repete Plus – nackpan Blog

変更点

バージョン10で削除されていた「フォルダを作成」「アイテムの編集(削除・名前変更・移動)」機能を、「Appフォルダ」および「録音」タブの選曲画面に再追加しました。

多くのユーザーの皆さまから「使いにくくなった」というご意見をいただき、これらの機能を復活させることにしました。

開発者後記

version 10で選曲画面をSwiftUIで作り直しました。
そのさい、「フォルダを作成」「アイテムの編集(削除・名前変更・移動)」機能を削除しました。
iOSの「ファイル」アプリが登場して、そちらで機能を代替できるであろうと考えたことと、自前で今後もメンテナンスするのは大変だろうと考えたからでした。

しかし、version 10をリリースすると、「フォルダを作成」「アイテムの編集(削除・名前変更・移動)」がないと「使いにくい」というコメントを、水谷さん、久世大介さん、DAIさん、湯川恵子さん、岡村さんからいただき、あらためて、この機能を復活させることとしました。

今回のアップデートで復活した「アイテムの編集」機能の中でも、フォルダの「移動」処理については悩みました。

以前のバージョンでは、フォルダを移動しようとしたときに、移動先に同じ名前のフォルダがすでに存在している場合、中身を結合(merge)していました。
移動先フォルダの中で移動元と同名のファイルがあるときには、上書きあるいはキャンセルを行う。
そうでない時には、移動元ファイルを移動先フォルダに移動する。
という方式です。そして、フォルダの中にフォルダがある構造だと、この処理を再帰的に繰り返す必要があります。
そのため、この処理は、再帰的にフォルダ内を全部調べる必要があり、時間がかかる処理になることもありえました。
コードの構造も複雑になりがちで、今後修正や機能追加をしようと思ったときに、ちょっと腰が重くなっていました。

そこで今回は方針を変えて、移動先に同名のフォルダがすでにある場合は、結合せずにそのままスキップする仕様にしました。
トラブルが生じにくく、動作も軽くなっています。

また、アイテム移動の際には、データベースの情報も変更する必要がありますが、そちらの書き方も、簡潔になるように書き直しました。

今回のアップデートでは、「フォルダ表示(FolderView)」の内部構造もかなり手を入れました。

元々の FolderView は、録音ファイルやAppフォルダ内のアイテムをリスト表示するためのViewでしたが、アップデート前は比較的シンプルな構成で、「見る」「選ぶ」ことに特化していました。

しかし、今回復活させた「アイテムの編集」や「移動」「フォルダ作成」といった機能を実装するにあたって、Viewの中でやりとりする状態や操作が一気に増えました。

それに伴い、従来の構造では対応しきれなくなっていた部分もあり、FolderView のリファクタリングを進めました。Appleが推奨するように、細かいViewに分割するというスタイルになっていきました。

「フォルダを作成」「アイテムの編集(削除・名前変更・移動)」機能を、ご活用いただければ幸いです。




「「Repete Plus」をアップデートしました(version 10.1)」への2件のフィードバック

  1. ありがとうございます!使い勝手が格段によくなって本当に感謝です。遅くなりましたがRepete Plusも購入させていただきましたので、これからがっつり使い倒します!

    返信
  2. 水谷さん、こんにちは!
    コメントありがとうございます!

    Repete、Repete Plusがお役に立てば幸いです!
    これからもよろしくお願いします!

    返信

コメントする