MDX Player for iOS

xicon

MDX Player for iOS を 5/2 リリースします。



MDXとは、かつての名機X68000の音楽ファイルで、、
とは言ってもX68000なんてもう20年以上前の代物ですから、
分かる人だけでいいです。

先日ふと久しぶりにMDXファイルでも聞こうかなと、HDDを掘って整理をしていたところ、
手元がmacだったせいか、2〜3時間後、気がついたらなぜかiOSで再生していました。
手癖怖いです。

とりあえず鳴るだけのものだったのですが、面白かったのでmoyashi(@hitoriblog)さんにテストアプリをお送りしたところ、リリースするの?、と。

iTunesにリリースするにはとりあえず作ってみたレベルでは審査で落とされるので、最低限ちゃんと動く、審査を通せるだけのファンクション等が必要、各種リソースが必要など、結構な労力が必要になってきます。
大体何でもプロトタイプとして作ってみたより、プロトタイプからプロダクトにする作業の方が大変です。
ですので、サンプルファイルとかなければ審査も通せないし出さないよ、と言っていたのですが・・
なんとmoyashiさんが、サンプルファイルとしてX68030のテーマを作ってくれました。
しかもPCMでミクさん歌う、いったいいつの時代のテクノロジーなんですかと。
こりゃ仕方ないと、とりあえず形になるところまで作業を行い、バックグラウンド再生や起動画面への曲名表示、Dropboxの対応など入れましてリリースすることとなりました。

アイコンはSUPERやXVIのチタングレー風をベースにmmdsp風カラーでお馴染みロゴを配置しました。

今回、懐かしむ目的なので特に広告もなく無料です。

ソースコードも置いておきます。
あの頃はみんな、なければ自分で作れ、なのでご意見ご要望はコード改修でよろしくです。
https://github.com/nagisaworks/MDXPlayer

mdxデコード部はGORRYさんのGAMDXからのポートとなります。
mdx,ADPCM,OPMなどのLicense等含めGAMDXにつきましてはこちらを参照願います。
http://gorry.haun.org/android/gamdx/

i文庫HD 2.7.0 / i文庫S 2.7.0

i文庫HD 2.7.0 / i文庫S 2.7.0 がリリースされました。
今回の更新内容は以下の通りです。

-Google Drive対応
Google docsファイルはPDFとして表示します
-しおりの色選択追加
不透明カラーでチェックシート代わりにも使用出来ます
-タップ反転移動モード追加
進行方向側タップで戻る/逆位置で進むを追加しました
-PDFのアノテーションをいくつか表示
-PDFの文字処理/選択を修正
-バッチダウンロードでの登録を可能に
-中国語リソースをさらに追加
-text表示時にルビタグ非処理設定追加
-再ダウンロードの修正
-Open in対応フォーマットにtxt,rar等を追加
-その他多くの修正

gdrive
Google Drive対応
ご要望が多かったGoogle Driveに対応しました。
共有されているファイルも’Shared with me’フォルダにてリンクします。
Google Driveの特徴として、スプレッドシートや文章などWEB上で作成・編集する類のものについては、ローカルに落とすファイルがファイルがありません。
ですが、これらについてはGoogleがdocやxlsなど対応できそうなフォーマットに変換してダウンロードする機能がありますので、このうちPDFにできそうなものはPDFにしてダウンロードするようにしました。



pdfmark
しおりの色選択追加
しおりマーキングに6色の色を選択出来るようになりました。
状況によって使い分けてください。
一番右の赤色は塗りつぶしになっています。
これでマークングすると文章は見えません。
君の教科書もまっ赤っか、です。
(↑分かる人だけで結構です)
いわゆるチェックペン的な機能として使えます。
塗りつぶし内容はタップするとしおり内容としてポップアップ表示されますので、剥がしたりする必要は無く、シートのようについほかの内容が見えてしまうこともありません。
またデジタル的に塗りつぶしていますので、目を凝らせばつい見えてしまったということもありません。



pdfannot
PDFのアノテーション/文字処理など
PDFアノテーションの表示に対応しました。
内部draw系は一部未対応ですが、おおよそのアノテーションは表示できるかと思います。
ポップアップテキストは簡易ではありますが、タップすると内容を表示します。
また、PDFの文字選択で一部問題があったType1系などの問題を修正しました。



バッチダウンロード系
フォルダ画面で複数選択してからのダウンロードなどのバッチ系処理にて、今までは一旦ダウンロードしてからでないと本棚登録出来なかったのですが、直接本棚に登録を指定出来るようになりました。
ダウンロードが終わったものから逐次本棚登録を行います。
また本棚にはあるが実ファイルが無い場合の再ダウンロード機能を修正しました。



taprev
タップ反転の追加
進行方向側タップで前ページ逆側で次ページというタップの反転モードを追加しました。
2.5系までは設定の組み合わせ上ついていたものの完全に逆操作なので、需要ないということで外したのですが、外してみると意外に要望が多かったので復活となりました。



noruby
ルビカット
textの場合、青空文庫でルビとして使う記号《》をそのまま表示する設定を付けました。
テキストはほぼ青空文庫として使用するしかないだろうということで処理していたのですが、テキストとして表示したいという要望があったため設定として選択可能としました。



chinese
中国語リソースの追加
中国語のリソースをもっと充実させてほしいとい要望を(英語で)よく頂くことがありましたので、リソースとして処理可能な対応を増やしました。



OpenIn対応追加
今まではpdf,zipのみでしたが、txt,rar,cbr,cbzも可能としました。

i文庫HD 2.6.0 / i文庫S 2.6.0

i文庫HD 2.6.0 / i文庫S 2.6.0 がリリースされました。
今回の更新内容は以下の通りです。

-本棚画面の改善
・サブフォルダ対応改善
・書籍のドラッグ移動改善
・編集モードにて全選択、なぞって選択など追加
・書籍が多い場合にページドラッグバーを表示(HD)
-ページガイド表示変更
-タップ移動設定改善
-Bluetooth Keyboardによるページ移動(HD)
-青空文庫書籍詳細画面にブクログ追加
-余白設定にてオーバー値を設定可能に
-青空文庫を外部URLスキームから選択可能に
-Dropbox SDK,Evernote SDK更新
-その他多くの修正


本棚画面の改善
本棚画面、色々と改善したい事がたまっていたので
見た目は出来るだけそのままに再作成しました。

サブフォルダの改善
前回まではサブフォルダは1階層だけで、中央に小さく表示していたのですが、
iPad miniやiPhoneでは見づらいため、普通にナビゲーションぽい動きにして
階層の制限をなくしました。
あと、本棚選択画面をちょっと今風な表示にしました。

書籍のドラッグ移動改善
書籍のドラッグ移動にて順番の変更、重ねてフォルダ化という動きなのですが、
判定の関係でいまいち希望通りの動きにならないというお話があったので
判定を改善しました。

編集モードにて全選択、なぞって選択など追加
本棚の編集にて、全選択・まとめるボタン等を追加しました。
また編集中は1項目選択したまま他の書籍をなぞっていくと、それらも選択/非選択を行うようにしました。

書籍が多い場合にページドラッグバーを表示(HD)
HDだけの対応ですが、本棚の書籍が多い場合、下の方にある書籍までスクロールするのが
大変というお話があったので、書籍が多く登録されている場合(今回は80書籍以上)
ドラッグスクロール可能なバーを表示するようにしました。

shelf1

shelf2

shelf3

jbar


area
タップ移動設定の改善
タップ移動の設定を変更し、
・左右端タップ
・左右重み付けエリアタップ
・進行方向のみタップ
・タップなし(フリックのみ)
の4選択としました。
幅と高さを個別設定可能にしました。

また、ページ移動アニメーションでタップ処理を変えていたのを変更し、
タスク調整などを行い、前回より少々タップの通りがよくなるようにしました。


guide3
ページガイド表示改善
読書中の書籍の進行度・全体量を把握しやすいようにしました。


btkey
Bluetooth Keyboardによるページ移動(HD)
i文庫HDだけとなりますが、Bluetooth Keyboardによるページ移動を加えました。
設定->操作よりBluetooth Keyboardの使用可否、及びキーの設定を行うことができます。


bklg
ブクログ対応
書籍の詳細ページにブクログの青空文庫の対応した
ページを表示するようにしました。




余白設定にてオーバー値を設定可能に
前回追加された余白カットの設定にて
カット目的なので最大値を書籍と同サイズまでとしていたのですが、
前々回までは逆に余白を多く取ることが出来たせいかこの機能を求める声があったため、
ボタンからのみ余白を追加する方向の値までセット出来るようにしました。
— バグではありません仕様です:-)

青空文庫を外部URLスキームから選択可能に
URLスキームにて青空文庫を直接指定して開く仕様を追加しました。
ibhttp://aozora?id=55745
といった形で利用可能です。
IDは青空文庫にある各書籍のIDに従います。


Bluetooth Keyboard対応は少々無理をしていますのでβ的な対応です。
PrivateAPIを使用すれば簡単なのですが、さすがにそういうわけにもいかないので
通常APIの範囲で対応してみました。

以前、作業療法士の方や身障者の方々に尽力されている教授の方から、
身障者の方が画面を触ってページを移動させるのは困難だが
外部スイッチ等ならなんとかなるかもしれないので
せめてBluetooth Keyboardでもいいので対応してくれないかというお話を頂いておりました。
その時はAppleがアクセシビリティの関連でいずれなんとかしてくれるだろうと
思っていたのですが、まだ希望する形にまでは至っていないようなので、
今回アプリ側からのアプローチとしてi文庫HDに機能追加してみました。

Bluetooth Keyboardといっても通常のキーボードだけでなく
特定の入力に特化したデバイスが AirTurniCade などいくつか存在します。
実際にこれらを試したわけではないので動くかどうかはわからないのですが、
うまく設定すれば利用できるかと思われます。


今回はほぼ全てのソースファイルをいじるという見た目が地味な割に改修の範囲は大きかったのですが、
特にページガイドの改善で色々とブレましたのでその顛末を・・

guide0

今まではどのあたりまで読んでいるかという進捗度をこんな感じで▲を表示していました。
必ずしも必要なものではないので、出来るだけ目立たないように地味に表示していたのですが、
もう少しやりようがあるでしょうということで改善に取り組み。
まず、色々な処理の関係で表示タイミングがずらされて来てページ移動終了後になってしまっていたのですが、
普通に読んでいる時の視点は各文字など狭小な範囲、
ページ移動をしようと思った時に全体もしくは次のページの開始位置に視点が移動するので
全体のボリュームを確認したい時はページ移動を開始しようとした時から
ページ移動完了した時だろうということで、これに表示タイミングを変更しました。

また、画面幅全体での▲表示では先頭ページあたりなどで位置の確認がしにくいだろうということで、
ボックスにしたほうが分かりやすいのではと変更。↓

guide1

さらに、進捗度だけではなく残り量など全体量も把握出来た方がいいだろうと、
残り数など表示。。↓

guide2

結構大きいものの、実際に使ってみたらそんなにウザくもないかなと、
スタッフさんに見せたら、ウゼェ・・とorz
、、ですよね。
ここで確認してもらいたいものは実際の残り数など数値ではなく、
なんとなく、これぐらいまで来た、あとこれぐらいだねという感覚だけで十分です。
数値など読んでいては書籍に対しての没入感を損ねます。
わからなくなったらAppleのUIを見なおせということで、ScrollBarを観察。
進捗度はバーの位置、全体量が多いか少ないかはバーの幅。
、、無駄がないです。
ScrollBarと同じにしてしまうとUI的に勘違いが起きるのと、
やはり幅全体を使うと端にいる時がわかりづらいのでボックス型に、
知りたいときは知ることが出来るけれど、どうでもいい時は気にならないようにと、
色味やサイズ・デザインなどを調整。

guide3

こんな感じになりました。

青空文庫も2013年で色々と魅力的な作品が追加されて来ましたので、
そろそろ初期設定の書籍リストを再構成したいと考えています。
これは是非とも入れるべきとか要望ありましたらお送り頂ければ幸いです。

i文庫HD 2.5.2 / i文庫S 2.5.2

i文庫HD 2.5.2 / i文庫S 2.5.2 がリリースされました。
今回の更新内容は共通で以下の通りです。

PDFの余白自動カット
PDFの余白を自動でカットする機能をつけました。
読書中のメニューから、無し/手動/自動を選択できます。
主に周りの白い部分を画像処理してカット位置をページ毎に計算しています。
すべてのファイルでうまく機能するとも限りませんので
手動でも設定可能となっています。
以前ありました内拡大はこちらの手動に変更&統合しました。


↑クリックで拡大



メニュー変更
i文庫HDにてPDF/画像にありました「方向」のメニューを「設定」に統合しました。


Dropboxログインの変更
Dropbox側にて旧ログイン方式が12月にて終了するのに伴い
ログイン処理を変更しました。

文字選択中のルーペ変更
文字選択中のルーペがどうも小さくて文字を捉えきれてない場合があったため
ルーペ自体を大きくしました。

ページバー移動で即描画
下部ページバーでのページ選択移動の際、以前は番号のみ表示で
タップ終了時に再描画していましたが、これを逐次にしました。
ただ、iPad3ではどうしても遅くて不快だったため、retina iPadでは切っています。
4は快適なのですが、3はretinaでちょっと無理し過ぎでしたね。

不具合修正・その他改修
-メニューの自動消去選択
設定にメニュー自動消去offを追加
-PDFで一部テキストが拾えないファイルに対する改修
-URLスキームからの起動で一部画面表示がおかしかった問題を修正
-クラウド系サービスで一部再ログインが困難だった問題を修正

i文庫S 2.5.0

i文庫S 2.5.0 がリリースされました。
今回はiOS6及びiPhone5対応、及びそれに伴う変更・修正です。

IPAフォントの廃止
今回iOS5.1以降ということで、iOS4までは無かったヒラギノ明朝を使うことが出来ますので、
バンドルしていたIPA明朝を廃止しました。
WebDAV系の修正
WebDAVへのアクセスに一部不具合が出る問題を修正しました。


最近毎度のことなのですが、審査が長いです。
待っている間に他のアプリが2回リリースされるような始末で、
(つまりは確実に追い抜かされている・・)
タイミングよくアップデートをお届けすることが出来ず正直イヤになります。
審査といっても10日以上放置で、実際のチェックは10分もかかっていない感じなのですが。

今回はiPhone5発売即のリリースは避けようということにしていました。
おそらく最初はiPhone4/Sからの移行が多いので「iPhone5って馬面だね」という感想が、
しばらく経てば「iPhone4ってずんぐりだね」に変わるに違いないと。
慣れてない状況でリリースしてもあぁではない、こうではないと言われそうだったので。

結果としては、iPhone5の縦長に対してそのまま縦に画面を広く使用する、という形に落ち着きました。
理由としては以下に連々と。

ひとつは今回の画面サイズが利用が想定されるドキュメントに対してメリットがあるかどうか。

青空文庫などテキストベースのものはリフローすればいいのでよほどの比率でない限りなんとかなりますが、
PDFや取込物など縦横比が変更不可なドキュメント系について、どれぐらいの比率が必要か測ってみました。

A4 某文庫 某漫画 某新書 某週刊漫画誌
210 105 113 105 179
297 152 174 173 257
比率 1.41 1.44 1.54 1.65 1.43
要dot 452 463 492 527 459
480余dot 28 17 -12 -47 21
568余dot 116 105 76 41 109

今回、iPhone4/5とも横は同じなので横320dotとして比率から縦dot数を要dotとし、
iPhone4の縦480dotから引いた分を480余dotとしました。
iPhone5の縦568dotから引いた分を568余dotとしました。
dotはnon-retinaで計算、リアル物はmm単位ですが重要なのは比率なので単位は省略しました。
iPhone4とiPhone5の縦dot数は88dot。

A4は1:√2の白銀比、半分に切っていっても比率が保てる製紙にありがたい比率、
これの場合は480dotでも十分、むしろ丁度ぐらいの比率です。
文庫もほぼ480dotで十分な比率。
ただ、漫画や新書あたりとなると480dotでは足りなくなってきます。
この場合、縦に合わせると今度は横を減らさざるを得ず結果として小さく表示せざるを得ません。
多少縦に余らせても横目一杯取ったほうが大きく表示できます。
新書にいたっては568dotの方が余剰が少なくなってきています。
ここに裁断モノが加わると横端でカットするためさらに横が小さくなり、
結果として縦横比はさらに大きくなり、要dot数は増えます。

よって、568dotでは余るものの、480dotよりは縦に欲しいという結果になりました。

ふたつめに、仮に余った部分をどう活用するか、活用できることがあるか。
表示するものとして、第一候補はステータスバー。
これは前から表示選択可能なのでこのままに。ただ縦が少ないためドキュメントにかかる表示だったのを
ドキュメントにかぶらない表示方法に変えました。

あと考えられるのがページ送りやしおりなどのショートカットメニュー。
iPhoneではお馴染みの縦44dotにていろいろテストしてみました。




背景をバッサリ黒にしてメニューを陳列。
アンドロ文庫・・・どちらかというとICSですかね。




こちらもアンドロ・・・臭くなっております。





バーがベタだからイカンのならiPhoneらしくグラデーションを。。
Safari文庫になりました。





そもそも塗るからイカンのならオーバーレイで。
うざくなりました・・


というわけでオーバーレイまで来た時点で、やっぱりいらないんじゃないですかコレ?・・と。
上記画像は黒フレームに置いているので若干マシですが、白の実機などで見るとかなり際立ちました。
デザイン能力が欠如しているせいかもしれませんが、とにかく何を置いてもウザい感じがする。
最近のアンドロイドのように画面下をシステム的に使ってるならともかく、
iPhoneはそうゆうことはないので、出来るだけシンプルにスッキリと、
なにより読書への没入感の妨げを出来るだけしてはいけない。
というわけでしっかり全画面使って描画したほうがいいだろう、という結果に落ち着きました。

引き続きi文庫HD、及びクラウド系の処理をいつくか修正したi文庫S ver2.5.1 をリリース予定です。
審査運がないだけにいつになるか予想がつかないのが残念な限りです。