プレイリスト表示の見直し
TiMeidaServerでは、トップページから、カテゴリのツリーを辿って、最終的にはプレイリストページに辿り着き、そのページで、ファイルを選択すると、そのファイルの表示用プレイヤーが画面の左下に表示される様になっている。
上記の様にした理由は、単純に、各カテゴリに入っているプレイリストのファイルを個別に閲覧したりダウンロードしたりする為には、それらのファイル毎に、リンク設定が表示され、それを操作できる様にするのが望ましかろう、という事だった。
上記は、カテゴリに数個程度のファイルしか存在していない場合には、良い感じだったのだが、例えば、昨日書いたネットからダウンロードした同人漫画の画像をプレイリストに纏めた様な場合には、全く、よろしくない感じになった。
その理由は、ファイル数が数十になってくるので、それらをリスト表示すると、画面の中には収まりきらないので、プレイヤー表示を参照しつつ、ファイルを選択する! という、至って普通の行為が出来なくなってしまっているからだ。
と、言う事なので、今回、プレイリスト表示についても見直しを行い、基本的には、ファイル選択はセレクタ表示にする事にしている。
そうする事で、ファイル数が増えても、セレクタが占有する画面面積は増えないので、セレクタの下に、普通にプレイヤーが表示される様になる筈なので、プレイヤーの画像を見ながら、ファイルを選択する事も可能になる筈! だ。
まあ、そんな事、プログラミングする前から分っていた事だろう? と、いう声も聞こえてきそうなのだが、何度か書いてきた様に、作者的にも、軽い躁鬱ぎみな傾向はあるので、鬱状態の時と躁状態の時とでは、モノの見え方が変わったりする訳だ。
具体的には、鬱状態の時には、木を見て森を見ず、というか、あまり、視界は広くなくなる傾向があるのに対して、躁状態の時には、逆に、細かい部分は見えなくなるのだが、より広い視野に立てたりする訳だ。
なので、鬱状態の時に開発を行うと、細かい部分については、よく出来たプログラムになったりするのだが、後から、根本的な所が間違っている! みたいに感じられる事も良くある訳だ。
TiMediaServerについては、何となく、プレイリスト管理だとかの作り込みは、それなりに、論理的で、ちゃんと出来ている感じなのだが、そもそも論としては、ここの所、書いてきている様に、コンテンツファイルの場所が分かりづらい! みたいな大きな問題も、あったりする訳だ。
プレイリスト表示についても、上記の通りで、リスト項目を選択すると、プレイヤー表示部分にスクロールして移動する! みたいな細かい機能も実装されているし、プレイヤーの下に、前後ファイルへの移動用リンクも埋め込まれている。
なので、最初の一回だけ、リストからファイルを選択し、以降は、プレイヤー画面を見ながら、ファイル移動する! という使い方をすれば、問題はない! みたいな感じもしないでもないのだが、より広い視点で鑑みると、リスト表示されているテーブルは邪魔でしかないのでは? みたいな感じもしてくる訳だ。
と、言う事で、一般企業でなら、プレイリストはテーブル表示する! というのは、決定事項だ! 今更、議論を蒸し返すな! みたいに言われる事になるかもしれないのだが、作者の場合、個人開発なので、ダメだと思えば、根本的な所からやり直し! みたいな事も可能だったりする。
なので、TiMediaServerは、2025年大阪万博の様にはならない筈なのだが、たとえ土台が脆弱でも、その上に積み重ねられてきた構築物は貴重だ! みたいな気がしてくるのも人間の性かもしれない。
このため、現行版の表示形態も、オプションとして残しはするのだが、デフォルトは、セレクタ表示に切り替えようかと、考えている今日この頃だ。
ちなみに、考えている暇があるのなら、さっさと作業しろよ! という声も聞こえてきそうなのだが、今日は、画像表示領域のフルスクリーン化を行なっていて、少しトラブった訳だ。
具体的には、一旦、フルスクリーン表示になった画像表示領域が、次ページに移動するタイミングで、勝手に、元のサイズに戻ってしまう現象が発生したのだが、その理由は、フルスクリーンの対象にしていたimg表示のスタイルが、次ページに移動するタイミングで、書き換えられたのが原因の様だった。
今まで、フルスクリーン表示は、動画プレイヤーについてのみ適用していたのだが、動画プレイヤーについては、上記の様な問題は発生していなかったので、作者的には、最初、問題の原因が分からなかった訳だ。
画像の場合、画面に合わせる格好で、拡大/縮小するので、縦方向に100%表示するか、横方向に100%表示するかは、画面サイズと画像のサイズに寄る事になる。
問題は、フルスクリーン前の画面サイズとフルスクリーン後の画面サイズは、実際には、画面ではなく、クライアント領域のサイズとして扱っていたので、変わってしまった! という事にあった。
つまり、一番最初のフルスクリーン表示前には、縦100%の表示になっていた画像が、フルスクリーン状態で、次の同一サイズの画像に移動すると、今度は、クライアント領域のサイズが変わったので、横100%の表示にするimgタグに変化してしまった訳だ。
フルスクリーン表示は、imgタグに対して設定してあったので、それが書き換えられると、自動的に解除されてしまった訳だ。
と、言う事なので、フルスクリーンの対象をimgタグより外側に、もう一つdivを置く事で、それを対象にし、フルスクリーン時には、フルスクリーン状態に変更した後、imgタグの表示サイズを決定する格好にする事で、上記の問題は回避できた。
しかし、上記の問題は、クライアントにiPad Airを使った縦持ち時にしか発生しなかったので、原因究明と解決策の考案に時間がかかってしまったのだが、これも、多分、今の精神状態は、鬱ではなくて、躁に近い状態だからかもしれない。
なので、今は、あまり細かい作業は上手くできないかもしれないのだが、時間も押しているので、明日、上記の様な作業を行う事にしている今日この頃だ。

