2012年2月17日金曜日

これはイチオシCydia Tweaks

iOSのバージョンがあがる毎に、操作もより直感的になり、使い勝手がどんどんよくなっている。
でも、まだまだ物足りない部分が多いのも事実のだ。
そのなかで、特に満足できていなかったのが、「起動している」アプリの管理である。
iOS4以降マルチタスキングが可能になった分、メモリ消費も激しい。これはフォアで動くアプリのスムーズな動きを阻害し、貴重なバッテリも無駄遣いする。
だから「バックグラウンドで起動したまま」と「完全に終了」をその都度自在にしかも簡単に選べる、というのはとても大事。
ところが標準の状態で完全に終了させるには、
  1. ホームボタンを押す -> ホーム画面に戻る。アプリはバックグラウンドに回り込む
  2. ホームボタンを2度押し -> スイッチャー画面を表示
  3. アイコンを長押し -> プルプル状態にする
  4. x を押して終了させる
という手順を踏まなきゃならない。
そしてもうひとつ。
せっかくアプリがバックグラウンドで動いたままでも、フォアのアプリがスムーズに切り替えられなきゃ、意味がない。
これだって、
  1. ホームボタンを2度押し -> スイッチャー画面を表示
  2. アプリを選択
が必要。
これは限りなく面倒。
で、これを解決するために使用しているのが、以下の3つのTweaksだ。
  • MultiCleaner
  • Zephyr
  • Multifl0w
以前は、MultiCleanerとZephyrは排他的にしかインストールできなかったのだが、Zephyrが1.1-1にバージョンアップして、これが可能になったのだ。
で、具体的にどういう設定をしているかというと、
  • Zephyr
    Zephyr

  • MultiCleaner
    Activatorの設定 -> アプリの終了 から
    Multicleaner
  • MultiFl0w
    Activation Methods -> ホームボタン-2回押す
    を選択
さて、実際の使い方だ。
アプリをバックグラウンドに残して終了するときは、画面下から上へスワイプする。シャッターを上げるような要領でアプリが終了する。(Zephyr)
アプリを「完全に終了」させるには「2本指で」画面下から上へスワイプする。これでバックグラウンドに残らない。(MultiCleaner)
そして2つ以上のアプリを切り替えながら使用するには、画面右端もしくは左端から逆側にスワイプ。これで、スイッチャーに並んでいる順にスムーズにアプリが切り替わる。(Zephyr)
複数のアプリを横断する時は、ホームボタンを2度押しして MultiFl0wを立ち上げ、Expose風に並んだアプリから目的のものに素早くアクセスする方が便利。
標準だとスイッチャーはホームボタンを2度押しで現れるのだが、これを Zephyrに肩代わりさせることができるので問題はない。
これは、自分が直感的に使いやすい設定なので、人によってもっと便利あるいは直感的な設定があると思う。
もし「この方がより使いやすいよ」って設定があったらおしえてくださいな。

もうすこしmusic playerをいじってみた その顛末

さてさて、前回 music player のスキンを作る段階で、NowPlayingTopOverlay.png の設定がヘンだ、というところまで書いた。
調べたサイトでのサイズの書き振りが適当だったからだ。
結論から言うとまちがっちゃあいなかった。
サイズは適当でも何とかなるのだ。
メモを兼ねて種明かしすると、music player のテーマにおいて、背景は4つの画像から成り立っている。
まず、NowPlayingTopOverlay.png と NowPlayingTopOverlay.png
Topの方は 640x136 で曲情報や曲進行のトラッキングバーが表示される箇所、bottomの方は 640x192で前回表示したコントローラーとボリュームが表示される箇所だ。
こやつらは、
Bundles/com.apple.MediaPlayer
に入れれば反映される。
そして、アルバムアートと歌詞表示部分は、LyricsBackground.png (640x2)と LyricsFadeMask (640x2) で構成されている。LyricsFadeMask.png の方はレイヤー表示なので無くてもOK。ただし表示されている歌詞を上にスライドさせていくと枠のところでスパッと切れたように表示される。普段はグレーのグラデーションが掛かっているから違いがはっきりわかる。
で、LyricsBackground.png の方は、これを繰り返して全体として 640x640 の歌詞表示枠を構成するようになっている。
WinterBoardで反映させる時は、
Bundles/com.apple.iPodUI
に入れる必要がある。
そして今回の問題点は、これらの画像の反映のされ方に、重大な2つの特徴があることによる。
特徴1
NowPlayingTopOverlay.png の画像サイズ(縦)は下側に拡張することができる。その場合、LyricsBackground.png の上位のレイヤーとして認識される。
がしかし、LyricsBackground.png に対しての透過レイヤーとして使えない
何言ってるかわからんよね・・・いや、正直自分でも最初はどうなっているか全く仕組みがわからなかった。
つまり、NowPlayingTopOverlay.png の画像サイズを大きくした場合、本来の大きさからはみ出した部分はアルバムアート部分に重なってこれを覆う。このとき、透過画像を使うと当然アルバムアートが見えるようになる。
ところが、歌詞を表示するLyricsBackground.png は見えなくなってしまうのだ。なので、たとえば、NowPlayingTopOverlay.png のサイズを 640x 776(136+640) まで拡げると、歌詞は全く表示されなくなってしまう。
特徴2
LyricsBackground.png は歌詞を表示するためのレイヤー画像なので、歌詞を表示しない場合、あるいは歌詞のデータが無い場合表示されない
要は、曲によって表示されたりされなかったりするのだ。
具体的にみせると、今回こんなスキンテーマを作ったのだが、
Mptheme
歌詞が無い場合、色の薄くなっている部分が表示されず、アルバムアートがそのまま見えてしまう。
Mptheme_copy
んな、間抜けなもの作ってもしゃーない。・・・さてどうするか。
歌詞がなくても、映る画像なんぞ存在しないから反映のさせようが無い。
困った・・・ので力技で解決させることにした。
歌詞があれば表示されるってことは・・・歌詞のない曲にはスペース1文字データを追加すりゃいーのだ。
そういうことなら、iTunesのデータベースをちちょいといじって・・・と。
まぁ、とてもじゃないが人にお勧めできる方法ではないので、だれか良い解決法があれば教えてください。

2012年2月11日土曜日

もうすこしmusic playerをいじってみた

カスタマイズも、かなり細かいところまで進んできたので、いよいよmusic playerのスキンを作る事にした。
だって・・・なんだよあのオザナリ感丸出しの白い三角マークは・・・秀逸なiPhone interface で唯一まじめに作ってると思えん箇所だ。
で、着手したはよいが、どっこい情報が圧倒的に少ない。
大抵は、グーグルせんせーに頼るか、Cydiaの中のテーマを適当にサルベージして参考にするのだが、今回は本当に困った。
iOS対応かつ Music player を丸ごと対象にしているテーマが1つしか見つからない。
こうなると大変だ。
1つずつ入れ替えては、どこが変わったか検証。時間がかかることこの上ない。
まぁ、手始めに簡単なところから・・・ということで、再生・一時停止・早送り・巻き戻しボタンの変更から着手。
で・・・再生(▶)と一時停止(||)ボタンを入れ替えて操作してみると・・・あれれ? ズレる??
本来なら再生ボタンを押すと同じ位置で一時停止ボタンと入れ替わるのだ。
ところがなぜか数ピクセル左に一時停止ボタンが現れる。 むぅ・・・・どうなってるのだ???
で、オリジナルの画像をframeworksから取り出してみると、驚愕の事実が!!!
再生ボタンのサイズは
pause.png : 20x45px
play.png : 33x49px
(retina は x2)
ちょいと・・・アップルのデザイナーさんよぉ・・・・横幅は兎も角、縦もちゃうんかい!!
しゃあない・・・オリジナルの透明ファイルに書き込むか、サイズを微調整するか・・・まぁいろいろ試してできた結果がコレ。
背景は以前使用したモノを流用。
Bottom
操作ボタン部分と、ボリューム部分で透過度を変えて、アルバムアートが映り込む感を出す。
よしよし・・・じゃあ、こんどはメインのアルバムアートに取りかかる事にしよう。
少し前に見つけた解説ページを読む・・・ふむふむ・・・

NowPlayingTopOverlay.png
This is a 320x480px image that will become the background of anything that is not covered by the ^ bottom overlay. It can be more than 320x480, or less. It covers the bar at the top that displays all the song info, and the album info area. Remember to leave a 96 pixel fully transparent area at the bottom, that will be taken up by the bottom overlay. Other than that, this image cannot contain any transparency.

んんん???
TopOverlayの画像がalbumと曲情報部分もカバーする??? でなにその"It can be more than 320x480, or less. "ていうフレキシブルな設定は???
むぅ・・・そのサイズだと思いっきりアルバムアート/歌詞部分に引っかかることになるんですけど・・・
まぁ、とりあえずやってみると・・・
つづく

2012年2月4日土曜日

これはイチオシCydiaアプリ

脱獄する理由は人によって様々だと思うけど、デフォルトのままで使用していては決して享受できない利用法ができる、というのも大きな理由の一つだ。
だがしかし、もうひとつ重要な目的がある。
機能が何らかの理由で制限をうけている、元々用意されている機能を解放する事、あるいは使いたくない機能を切る事。
すなわち取捨選択の自由だ。
でこの類いの機能の中から個人的に「特に」と思うものを2つ紹介。
PrivaCy
Privacy2
これは何?
- ユーザ情報収集するサービスを On/Off する機能を追加
まぁ、Offにできるのは主要な4つの情報収集サービスだけだが、それだけでも全然違う。何せ、ユーザの知らないところで勝手にやってるんだから。iPhoneを全然使用していないのに電力が消費される一端はこんなところにもある。
このアプリの良いところは「強制的にOffになる」のではなく、「ユーザが選択できる」というところなのである。
ここに「自由の神髄」があるのだ。
TetherMe
Tetherme2
これは何?
- テザリング機能を使えるようにするアプリ
iPhone3GSの時から、元々テザリング機能は搭載されているのだ。ただし、国やキャリアの事情で機能そのものが見えないようになっているため、そういうことができる機体である事を知らないユーザも多い。
テザリングの隠し機能を持ったアプリがStoreに現れて、Web上をしばしばにぎわしているが、これを使えばこのとおり。
Tetherme
ただし、SBもauもこのサービスは公式に認めてないので、法外な通信料を請求される可能性があるので、使用するときは自己責任で。