goo blog サービス終了のお知らせ 

PSP SHELL

PSP SHELLはじめてみた。

働かざるもの食うべからず

2005年04月27日 19時55分43秒 | 開発日記
というわけで一日一食生活。腹減った・・。

TextToJpegの機能を作ってます。
最初VisualBasic6.0でサンプル作った。
それをそのまま使っちゃおうかなぁと思ったけど、自前でJpeg保存できず、拾ってきたDLL使ってたり、VisualBasicで作ったアプリはランタイム入れないといけなかったりと、いろいろと納得いかないので、C#で作り直してみてる。

でも、どうもうまくいかないんだよなぁ・・。1ページに収まるように文字を区切る処理があるんだけど、VisualBasic6と同じように処理組んでるのに、C#のほうはありえないくらい遅い。
VisualBasicのほうのサンプルの処理結果は前の日記で書いたけど、C#のほうの処理速度はこれなんかと比べ物にならないくらい遅い。一度実行したら3分は返ってきません・・。

なにが時間食ってるのか一つ一つ処理を消していって見たところ、なんとIF文の中にある変数のインクリメント(なんでだよ・・・。

変数Aをループの中で1ずつ増やしていくところが遅いことが判明。これ消したら速くなった。
いや、速くなってもこれ消したらいかんだろう・・・。

という感じで原因がわかっても解決策がわかりません・・・。
そもそも何でこれだけでこんなに遅くなるんだよ。
困ったもんだ・・・。

有給消化しきれません・・・。

2005年04月13日 14時59分21秒 | 開発日記
細々と開発続行中。

今、TextToJpegの機能を実装中。
とはいっても、PSP SHELL独自で変換するのは今のところ未実装で、
外部の変換ツールをPSP SHELLで呼び出して変換したあと、ファイルをPSPに転送するところを作ってます。

ここで問題なのが、外部の変換ツールが出力したファイルを、どうやってPSP SHELLで確認するのか。
出力したファイル名が決まっているのであれば、そのファイルを探して転送することもできるけど、それらはその変換ツールが個々に設定してすることなので、こっち側では知る由もなし・・・。

設定ファイルが用意されていて、その中に出力するファイル名とか記述されているのであれば、それを読むこともできるかもしれないけど、その設定ファイルの中だって、ツールによって違うので、決まった法則があるわけでもなし。

あ、この機能が使える外部ツールの条件として、「コマンドラインから起動して変換できること」なので、コマンドラインからファイル名を指定して実行できるものであれば、こっち側でファイル名を設定させれば、いいのか。
でも、出力されるフォルダとかも設定できるのかな・・・。

・変換するテキストファイル(できれば複数を一気に指定可)
・変換したファイルを出力するフォルダ
・出力されるファイルの接頭部分(TEXT001・TEXT002・・の、「TEXT」部分)
この3つでも起動時に設定できればうまくいくんだけどなぁ。

今のところ、PSP SHELLから呼び出せそうな外部変換ツールは、
・TXT2JPG(Flea Soft Studioさん
・PSPTEXT(作者さんの名前は不明
の二つでしょうか。

PSPTEXTのほうは、起動時に変換するテキストファイルの指定はできるけど、出力ファイルと出力先の指定ができない。出力されるファイル名は固定のようなので、専用の設定を用意すれば呼び出せないこともないけど、ツールごとに固定の設定を用意するわけにも行かないし・・・。
何か設定する方法あったりするのかな。

TXT2JPGのほうは、ツール本体で設定をしておけば、後は呼び出すだけで変換できるみたいなので問題なさそうだけど、指定できるファイルが1つずつなので、テキストファイル毎にツールの起動終了を繰り返すことに。
あと、起動時に接頭文字を指定できないので、出力するフォルダを新規に作って、ツール側で設定してもらって、そこに変換したファイルを出力、そのあとそこにあるファイルを全部転送っていう手順を踏まないといけないかな。というか、本来はそういう動きにしないと、ファイル数とかわからないから仕方がないかな。

ツールごとに動きが違うので、共通した形にするのは難しい。

ぃぇぃ

2005年02月18日 14時38分18秒 | 開発日記
やっと動画のタイトル取得できた・・・。
更新はまだ手つけてないけど。

とりあえず次のバージョンではタイトルの表示とTextToJpegを実装します。
公開はいつになるだろう、日曜あたりにできればいいと思ってるけど、いろいろプライベートが立て込んできていて会社の昼休みとかに、ちょちょっとサンプルを作るくらいしかできてない。

5月くらいになれば時間ができる。
それまでは耐えないと・・・。

相変わらず忙しい。

2005年02月16日 15時55分54秒 | 開発日記
家帰っても何もできねぇよぉ・・・。

で、TextToJpeg。
昼休みにサンプルを作ってみた。
会社のPCにC#入ってないので、仕方なくVisualBasicで作ってみる。

まず、Flea Soft Studioさんの「txt2jpg」で変換してみる。
こちらを選んだ理由は、VisualBasicで開発していると思われるから。
変換するテキストは、青空文庫から「坊ちゃん」を選択した。理由は特になし。

設定として、
 フォント:MS ゴシック 9pt
 サイズ:480×272
 圧縮なし
とした。

変換するPCのスペックが
 CPU:Celeron1.2GHz(コアは失念)
 HDD:Maxtorの何か。
 メモリ:PC133 384MB
 OS:Windows2000SP4

んで変換結果が、
 形式:JPEG
 変換時間:26秒
 容量:1ページ75~210KB 全ページ24.7MB
 ページ数:132ページ
となった。

んで、これを踏まえてサンプルを実行してみた。
 形式:JPEG
 変換時間:25秒
 容量:1ページ29~195KB 全ページ25.2MB
 ページ数:146ページ
となった。

まぁ、変換時間はほとんど変わらず。
てことは、アルゴリズム的にはこんなもんなのかな。
PCのスペックも特別早いわけでもないから、おそらくユーザーが使用しているPCでも同じような結果になるだろう。
あとは、これをC#用に作り直すのか。このままDLLにして使っちゃおうか(笑
まぁ、納得いかないので作り直し。
いつ完成させられるかなぁ・・・、今度の土日あたりにはリリースしたいところ。
ってか、いまだに動画のタイトル表示・編集実装できてない。
どうやら、MOOVとかいう構造体の何番目かに入っている模様。
バイナリで開いたら上から順になめていけばいいんだろうか。

Appleのサイトみても私にはちんぷんかんぷんでした(笑

バグ修正中

2005年02月10日 11時52分58秒 | 開発日記
PSP SHELLを公開してから数日、アクセス数が数十倍になっててびっくりしてます・・・。

明日から3連休!なので、開発もじゃんじゃん進められる。
バグつぶしもじゃんじゃんできる。別のバグがじゃんじゃん増える。

・・・。

とりあえず、なぜかできなかったCtrl+Aでリストを全選択できるようにするのはできた。
設定を変更毎に反映させるのは、まだ手をつけてないけどそれほど難しくはないはず。
リストをループで回すだけになりそうだし。
その他今確認できてるバグは全てつぶした。

TextToJpegを実装しようかどうか迷ってる。
仕様がなかなか決まらない。おまけ機能として考えているので、あまり細かい設定はしないように考えているけど、使用者がどういう向きでPSPを持ってその画像を見るかを考えると、その向きを変更したりする機能も必要なのかなとか思ってくる。

とかいろいろ考えながら日記を書く裏で、会社で仕様書を
せこせこ書いている昼前。仕事に集中しろと突っ込まれそうだ・・。

追い越される・・・。

2005年02月04日 09時50分09秒 | 開発日記
開発が遅いせいか、周りでどんどんPSPのファイルを
管理するツールが出てきている。
PSP SHELLの売りにしようとしていたPSP自動検出の機能も
すでに先を越されて公開されてしまった・・・。

この際、開発途中でもいいから公開しちゃおうかとも考えてる。
でも、今の状態で公開してもたいした機能が無い。
ファイルを転送するって言う機能自体はできているけど。

それに、今の状態では動画のタイトルを表示できていない。
というのも、MP4の解析がまったく進んでいない、というよりは
解析はしてるけどどこいじればいいのかさっぱり_| ̄|●
3GPPとほぼ同じってのはわかってるけど、その形式のファイル情報
を読む方法がわからない。全然ダメだな自分(´・ω・`)

↓ここから 負け犬の遠吠え的言い訳
でも実際、MP4ファイル作成するときに「M4V*****~」みたいな
ファイル名にする必要ってまったく無いんだよなぁ。
ツールで転送するときにファイル名を変換しちゃう機能ついてるし。
他の人はどうか知らないけど、基本的に変換前のファイル名って
その動画のタイトルつけてるし。そのままのファイル名で出力
しちゃえば、そのファイル名表示させているからタイトルの
代わりになるんだよなぁ。
↑ここまで 負け犬の遠吠え的言い訳

というわけで、解析が終了したらタイトルを表示する機能をつけるとして、
現状ではそのままファイル名を表示させるようにしよう。
サムネイルの表示もできるようにしてるし、問題ないよね・・・ないよね。
日記なのに誰に言ってるんだ・・・。

なので、来週までには開発途中でもツールアップしておこう。

進捗状況

2005年02月01日 00時20分16秒 | 開発日記
さすがに、何も音沙汰なしってのもあれかなと思ったので、
今のところの画面イメージとかを。
機能的にはまだ30%_| ̄|●
一応簡易画面のほうはほぼ終わりで、あとは
詳細画面の方をそろそろ始めようかというところ。
ただ、細かいところがまだ終わってないので、そっちを
終わらせてからにしないと、手直ししたときに
両方直さないといけないことに・・・。

仕事のせいで時間もあまり取れないので、一日一機能をちょこちょこ
作ってる感じです。機能といってもファイル名を変換するとか
ほんとちょっと・・・。

この簡易画面は、基本的にファイルをドラッグ&ドロップして、
転送ボタンを押すだけです。
PSPが接続されていれば、あとは自動でやります。
フォルダがなければフォルダを自動で作ります。
動画転送の場合は、ファイル名を変換するかどうかを選べます。
動画ファイルと同じ場所にサムネイルがある場合は一緒に転送します。
そのときのサムネイルはファイル名と同じでないと見つけられません。

とまぁ、簡易画面でできているのはその辺です。
あぁ・・・5月にはいればガチッとした時間ができるのに・・・。

設定画面を忘れてた・・・。

2005年01月20日 11時30分18秒 | 開発日記
珍しく2時間ほど時間ができたので、ちょっと進める。
転送するリストを選択して消したりとか、細かいところを
ちょこちょこいじる。
簡易転送画面はだいぶできてきた。

と思ってたら

「・・・あ、設定画面作るの忘れてた。」

・・・。

そういえば今まで設定ファイル直でいじって設定してたな。
よくそんなところ忘れてるな自分。

まぁ、動き自体はだいぶできましたと。
転送したいファイルをリストに追加して、転送ボタン押せば
転送開始。そのときPSPのドライブ選んだりとか、
そういった操作は一切必要なし。全て自動!
PSPが接続されたドライブを検出するときに、フロッピードライブが
ガリガリいいますが、そこは気にしないでください。仕様です。
んでも、開発状況はまだ20%ってところです。
あれこれやりたいことがあって、まだできたとはいえない。
遅出のツールなんだから、そこそこ機能盛り込まないと
今あるツールに顔向けできない。

んで、作ってるときに気になってきたのが、このツール用のアイコン。
EXEファイルのアイコンも、ボタンのアイコンも、全て表示されている
アイコンは、手元にあった間に合わせ。
私にドット絵のセンスは無いようです・・・。
どこかフリーの素材配布サイトを回って、戴くしかないか。

どなたか、イカしたアイコン描いてくれませんか

と、周りの友人に頼んでみたものの、私の注文が多いせいか、
石を投げつけられる始末・・・。
以下、お願いしたときに出した要望。
  要望1.XPスタイルで表示しても違和感の無いアイコン
  要望2.PSPと並べても違和感の無いアイコン
  要望3.16×16pixel、32×32pixelの2パターンあるアイコン
  要望4.MACっぽいアイコン(デザインで言えばMACは雲の上の存在だと思う)

・・・まぁ、石投げられて当然かなと。
誰かこんなアイコン作ってくれる人いませんか・・。いませんかそうですか。

また土日まで作る時間がなさそう

2005年01月19日 09時58分01秒 | 開発日記
いい加減作業進めたい・・・。
プログラマとかほんとならないほうがいいですよ。
自分の時間なんて取れませんから。

何もしないのも嫌なので、mp4ファイルからタイトルの部分を探し出す。
探し出したのはいいけど、動画によって位置が違う・・・。
PSP用ソフト開発者の方々、
一体どうやってタイトルの取得してるんですか・・・?
何か決まりみたいなのがあるのかな。何バイト目から何バイト目の
範囲に必ずあって、タイトルの前に必ず決まったキーのような文字が
あるとか。
見た限り無いんですけど・・・。

あとタイトルの長さって最大どのくらいなんだろう?
動画変換君は、変換する動画のファイル名が
そのままタイトルになってたけど、
Windowsでつけられるファイル名のサイズが
タイトルの最大長ってことなんだろうか。
それとも、もっと短いのか長いのか。
まずはタイトルが取得できるようにならないとなぁ。
どなたか知ってる人お願いします・・・(笑

なんか、他のところよりここが一番時間かかりそうな気がしてきた。

あと少し・・・。

2005年01月17日 23時33分45秒 | 開発日記
といっても、後少しで簡易転送画面ができるだけ・・・。
詳細転送のほうはまだ画面すらできてない。
土日で結構進められた。
とりあえず、転送するところまではこぎつけたけど、
あとは細かいところを直していかないと。
画面のスクリーンショットアップしたいけど、
まだ完全に画面ができてるわけじゃないので、
しばらくはやめておこう・・・。

自分で作っててこういうのもなんだけど、PSPが接続されたときに
勝手にドライブを指定してくれるのは楽でいい。
USBメモリとか、外付けドライブとかあると
ドライブレターがコロコロ変わって、わかりづらいって人も
少なからずいると思う(自分がそう)。
そんなときにこの機能は便利だと思う。
本家のイメージコンバータにもついてない機能のはず!
んでも正式版になったらぶっちぎられる仕様になるのかな・・・。
まぁそれはおいておいて、さっさと完成させたいな。