2012年2月17日金曜日

もうすこし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もこのサービスは公式に認めてないので、法外な通信料を請求される可能性があるので、使用するときは自己責任で。

2012年1月27日金曜日

Jailbroken iOS5 - iPhone4S

さて、ようやくjailbreakしたiPhone4SのUIをいじり倒し、自分用にカスタマイズできたので、備忘録をかねて掲載。
まずはロック画面のUI変更から。
120126_20_47_05
・ 3GとWi-Fiの電波強度アイコン、ロックアイコン、目覚まし、電池アイコンを変更。
・ 時計を消去。時計背景、ステータスバー、ロック解除バーを透明化。
・ ロック解除アイコンを変更して「ロック解除」文字も変更。
ちなみに、時計の消去には、Clock Hide を使用。 その他はアイコンを作成してThemeフォルダに。
で、広くなったロック画面には、LockInfoでツールを配置。
その結果こーなる。
120126_20_46_57
・ 上からCalendar Widget、天気ウィジット、AppsCenterを配置。アプリはアイコンを変更したHome, Light, マップ, 乗換案内, 計算機を配置。 こいつらは瞬時に使う事が多いのだ。
・ その他メールやカレンダーも表示される事になっている。
ま、いないとは思いますがUI欲しい人はご一報ください。
で、ホーム画面は、こうだ。
120126_20_46_49
無造作に並べてるわけじゃなくて、指で届き易い位置に頻度順でならべてあるのだ。
ここは見た目との兼ね合いもあるので、後々変更するかもしれない。
インストールしているCydia App は以下の通り。
・ Activator
・ AppCenter for Notification
・ Autolock SBSetting
・ Browser Changer
・ Calendar for Notification
・ Custom NC Background
・ Custom NoNewsLabel
・ Five Icon Swicher
・ Five-Column SpringBoard
・ FolderEnhancer
・ Gridlock
・ iFile
・ Infinidock
・ iOS 5 SBSetting
・ LockInfo
・ Lockscreen Clock Hide
・ MultiCleaner
・ Multifl0w
・ NoNewsIsGoodNews
・ NoSpot
・ NoStoreButton
・ NowListening
・ OmniStat for NotificationQuickLock2Rotation Inhibitor
・ SimpleDate for Notification
・ StatusGoogle for Notification
・ SwitcherMod
・ WeeSlide for NotificationWinterBoard
・ 3G Unrestrictor 5

2012年1月8日日曜日

使う程に、うなるほど便利なカレンダーアプリ

先日、カレンダーアプリとしてSmartCalendar(Eng)Liteを紹介したのだが、訳あって使うのをやめた。理由は・・・敢えて伏せておこう。
で、代わりのカレンダーアプリを探していたのだが、先日これ以上のものはないのでは? というものを見つけたので紹介。
こいつも、また、マイナーでしかも有料。だがしかし、お金を払うだけの価値はあると思っている。
Caleve
Alltheme
私がカレンダーアプリに求める、必須の項目は以下の3つだ。
・標準カレンダーと同期できること
・週間予定が見れること
・カレンダーセットを複数設定し、それを簡単な動作で切り替えれること
Caleveは見事にこのすべてを満たしてくれ、しかもフォントサイズや背景色は言うに及ばず、どこまでも細かく、そのすべてについてカスタマイズが可能なのだ。
Webで検索していると気が付くのが、必須項目として要求されるのがGoogleカレンダーとの同期ができるか否か、のようなのだが「?」である。
なぜならiOSが4.3以降、複数のExchange Serverと同期できるので不要になったからだ。
つまり、一旦標準カレンダーとGoogleカレンダーを同期させてしまえばよいのだ。
カレンダーアプリで同期させれば良いのでは? と思うかもしれないが、それには落とし穴があるのだ。今回のようにカレンダーアプリを変更すると、1から同期設定(サーバ、googleアカウントの指定etc)をせにゃあならんよ?
それよりも、標準カレンダーと同期させておけば、アプリが勝手に引き継いでくれるのだ。
もちろん、アプリの方で標準カレンダーと同期できなければ意味ないのだが、できないアプリの方が少ないし、ってかそんな役立たずアプリいらん。
問題なのは3番目だ。必要なカレンダーを選択して、それだけを表示させることができるアプリは数多くあるのだが、複数のパターンをセットしてそれを切り替えることができるものは、本当に少ない。
考えれば当たり前なのだが、普通はそんな必要がないのだ。例えば仕事とプライベートのスケジュール、統合したい人は数多くいるが、わけて管理したい人は、まぁいないわな。
私の場合は「本やコミックの発売日をカレンダーで確認したい」という目的があって、でもそんなものが仕事やプライベートのカレンダーに混ざるとごちゃごちゃになって鬱陶しい、という理由から、こんな機能が必要なのだ。

2011年12月23日金曜日

iCloudを使って文庫やコミックの発売日を把握する神技 の続き

前回の記事で、iCloudにいろいろなiCalデータを取り込むところまで書いた。
ので、今回はその続き。
iOS5以降のOSならば、カレンダーをiCloudに同期することは雑作もない。だってそういうメニューがあるから。
しかし、iOS4.X以前の場合でもちょっとだけ入力は必要だが、簡単に登録できるのだ。
 設定->メール/連絡先/カレンダー->アカウントを追加...->その他 から、
 カレンダー - CalDAVアカウントを追加 
を選択
 サーバ: pXX-caldav.icloud.com (XXについては前回の記事のリンク先を参照)
 ユーザ名:apple ID
 パスワード:apple IDのパスワード
 説明:自分のわかりやすい名前をどうぞ
で、OK。繋がらなかったら、詳細設定を確認。
 アカウントURLが、サーバ名+ポート(SSLを使用 ポート:443)+サーバのポート
サーバのポートはiCalの
 環境設定...->アカウント->サーバ設定
で確認できる。
これで、iPhone/iPad標準のカレンダーに取り込めるようになる(カレンダー->で確認してね)し、通知センターにも表示されるようになったはず。
しかぁし、標準カレンダーに表示させると美しくない。発売される本の名前が終日の欄にずらーっと並んでしまうのだ。しかも、表示させたい項目を、カレンダーの設定に戻ってチェックを入れて・・・と、いちいち選び直さなくてはならない。
なんか良いアプリはないかと探していると、あった!!!
神のようなカレンダーアプリ。しかも無料!! 広告無し!!
いや、有料版もあるのだが、なんの不自由もありません。
SmartCalendar(Eng)Lite
111220_13_33_39
ほとんどすべてのカレンダーアプリ紹介ページにはまず出てきませんが、そりゃあもう秀逸です。
で、何が良いかというと、カレンダーセットを自分で設定して、ボタン一つで切り替えれるのです。右上に4つボタンが並んでいますよね。
ちなみに私は、event:通常の予定を確認するカレンダー 六曜:六曜と各国の祝日確認用 Novel:文庫本の発売日確認用 Comic:コミックの発売日確認用 に設定してます。
111220_13_30_38
右下の小窓はカレンダーの日付をタップすると現れます。もちろんカレンダー中の日付枠内に表示させることも、画面下を分割して常時表示させることも可能です。
横向きに表示させると、
111220_13_30_55
の様に、右側に並んでくれます。この機能って普通のカレンダーでも欲しい機能ですよね。
なんでどこにも紹介されないのか不思議だなぁ・・・

2011年12月20日火曜日

iCloudを使って文庫やコミックの発売日を把握する神技

iPhone4S/iOS5 が出てすぐに、文庫やコミックの発売日をの通知センターに表示させる方法が載っていた。
 
たった30秒でiPhoneの通知センターにコミックや文庫の発売日を追加する方法
がしかし、これをやると、カレンダーそのものも発売予定の表示で、本来のカレンダー機能が役立たずになる。
さらにいうと
1. iPhoneでしか確認できない。うちのMacMiniやiPadでも共有したいのに・・・
2. iCloudでどこからでも確認できればもっと良いのに・・・
という野望もあったので、いままで試行錯誤していた。
が、今回いろいろと方法がみつかったうえ、目的にぴったりなiPhoneカレンダーアプリも偶然発掘したので、記録もかねて一挙公開。
最初にたてた方針は、
1. 発売日のiCal情報をiCloudに統合する
2. iCloudのCalDAVをiPhoneやiPadに取り込む
3. あとはカレンダーでどう見せるか・・・
で、いきなり 1. からつまづいた。iCal情報どうやってiCloudに読み込ませる? そもそもiCloudのCalDAV情報ないよ??? でクグってみるとあっさり解決。
 
Snow Leopard の iCalをiCloudと同期させる方法
よぉし、これでiCal(アプリ)経由でiCloudを操れる。次は発売日のiCal情報をiCloudに読み込ませればOK。
まず、iCloud内に新しいカレンダーを追加。web上のiCloudでも作れるけど、iCalからも作成可能。
で、取り込みたいiCal情報をダウンロードする(ブラウザのアドレスバーにURLをコピペする)と、どのカレンダーに追加するか聞いてくるので、さっき作成したiCloud上のカレンダーを指定。
で、追加した結果がコレ。
2
うっし。これで第一段階達成(喜)、というところで、次回に続く