diary/Kojima/2013-01-11
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[diary/Kojima]]
・Nexus 7とMTP(その3)
とりあえず日本語のファイル名をUTF8にすることでgMTPから
Nexus 7へファイルを送ることはできるようになったのだけど,
やっぱり一々UTF8なファイル名のリンクを貼るのは面倒なので,
gMTPのソースコードをイジってみるか,と考えた.
この手のエラーは,たいていGTK/GLIBレベルでのファイル名操...
(GTK/GLIBの内部で処理する際の文字コードはUTF8になっている...
ファイルシステム上ではlocale依存なので,
GTK/GLIBレベルに持ち込む前にg_filename_to_utf8()で変換し...
locale=UTF8な場合のみ,この処理を省いてもエラーにならない...
と見当をつけて,gMTPのソースコードを眺めてみたら,mtp.c ...
658 filename_stripped = basename(filename);
659 displayProgressBar(_("File Upload"));
660 setProgressFilename(g_strdup(filename_stripped));
コピー処理等のプログレスバーを表示する setProgressFilenam...
表示するファイル名はUTF8である必要があるけど,
このコードではfilenameのlocaleを考慮せずにbasename()で切...
g_strdup()しているだけっぽい.
filename_strippedを手掛りに,もう少し見ていくと,
ファイルをアップロードすると思わしい処理にもこういう部分...
779 // Generic file upload.
780 genfile = LIBMTP_new_file_t();
781 genfile->filesize = filesize;
782 genfile->filename = g_strdup(filename_stripp...
783 genfile->filetype = find_filetype(filename_s...
784 genfile->parent_id = currentFolderID;
この genfile->filename をUTF8にしてやればよさそうなので,
こんな感じのパッチにしてみた.
- genfile->filename = g_strdup(filename_stripped);
+ // genfile->filename = g_strdup(filename_stripp...
+ genfile->filename = g_filename_to_utf8(filename_...
あちこちに散在する g_strdup()でfilename_strippedを操作し...
同様に g_filename_to_utf8()を介して操作するようにイジって...
どうやらEUC-JPなファイルもそのまま転送できるようになった...
#ref("gmtp03.png")
このパッチではファイル名のみをUTF8にしているので,
パスの途中にEUC-JPな文字コードがあるとうまく行かない感じ...
ダウンロードしてきたファイル名をlocaleに変換するような処...
libmtpのレベルで操作する必要がありそうだったりするのだけ...
とりあえず手元の目的は果したので,そう深く追求しないこと...
とりあえずこのパッチをあてたgMTPを使うことで,
手元のPC上のファイルを自由にNexus 7上に送ることができるよ...
「らじる☆らじる」の録音スクリプトで録音した語学講座の音声...
#ref("Screenshot1.jpg")
自炊したテキストをNexus 7上に持っていて,
#ref("Screenshot2.jpg")
Nexus 7上での「どこでも語学教室」が可能になった :-)
音声データをバックグラウンドで流しながら画像データを閲覧...
というあたりを少し心配していたのだけど,
Nexus 7のGoogle謹製の"Music"という音楽プレイヤーは,
再生を開始するとそのままバックグラウンドで動き続けるので,
表でコミックビューワー(今は"ComittoN"がお気に入り)を使って
自炊テキストを問題なく表示できた.
これで通勤中にも語学が勉強できる,と言いたいところだけど,
最近は田舎に引きこもっているので,通勤時間が無いのであっ...
- ちなみにNexus 7でスクリーンショットを取るには、電源ボタ...
- 同時に押すタイミングがなかなか難しいですよね(^_^;)>Nexu...
- 興味ある人のために、現状でのgMTPをPlamo-test以下に置い...
#comment
終了行:
[[diary/Kojima]]
・Nexus 7とMTP(その3)
とりあえず日本語のファイル名をUTF8にすることでgMTPから
Nexus 7へファイルを送ることはできるようになったのだけど,
やっぱり一々UTF8なファイル名のリンクを貼るのは面倒なので,
gMTPのソースコードをイジってみるか,と考えた.
この手のエラーは,たいていGTK/GLIBレベルでのファイル名操...
(GTK/GLIBの内部で処理する際の文字コードはUTF8になっている...
ファイルシステム上ではlocale依存なので,
GTK/GLIBレベルに持ち込む前にg_filename_to_utf8()で変換し...
locale=UTF8な場合のみ,この処理を省いてもエラーにならない...
と見当をつけて,gMTPのソースコードを眺めてみたら,mtp.c ...
658 filename_stripped = basename(filename);
659 displayProgressBar(_("File Upload"));
660 setProgressFilename(g_strdup(filename_stripped));
コピー処理等のプログレスバーを表示する setProgressFilenam...
表示するファイル名はUTF8である必要があるけど,
このコードではfilenameのlocaleを考慮せずにbasename()で切...
g_strdup()しているだけっぽい.
filename_strippedを手掛りに,もう少し見ていくと,
ファイルをアップロードすると思わしい処理にもこういう部分...
779 // Generic file upload.
780 genfile = LIBMTP_new_file_t();
781 genfile->filesize = filesize;
782 genfile->filename = g_strdup(filename_stripp...
783 genfile->filetype = find_filetype(filename_s...
784 genfile->parent_id = currentFolderID;
この genfile->filename をUTF8にしてやればよさそうなので,
こんな感じのパッチにしてみた.
- genfile->filename = g_strdup(filename_stripped);
+ // genfile->filename = g_strdup(filename_stripp...
+ genfile->filename = g_filename_to_utf8(filename_...
あちこちに散在する g_strdup()でfilename_strippedを操作し...
同様に g_filename_to_utf8()を介して操作するようにイジって...
どうやらEUC-JPなファイルもそのまま転送できるようになった...
#ref("gmtp03.png")
このパッチではファイル名のみをUTF8にしているので,
パスの途中にEUC-JPな文字コードがあるとうまく行かない感じ...
ダウンロードしてきたファイル名をlocaleに変換するような処...
libmtpのレベルで操作する必要がありそうだったりするのだけ...
とりあえず手元の目的は果したので,そう深く追求しないこと...
とりあえずこのパッチをあてたgMTPを使うことで,
手元のPC上のファイルを自由にNexus 7上に送ることができるよ...
「らじる☆らじる」の録音スクリプトで録音した語学講座の音声...
#ref("Screenshot1.jpg")
自炊したテキストをNexus 7上に持っていて,
#ref("Screenshot2.jpg")
Nexus 7上での「どこでも語学教室」が可能になった :-)
音声データをバックグラウンドで流しながら画像データを閲覧...
というあたりを少し心配していたのだけど,
Nexus 7のGoogle謹製の"Music"という音楽プレイヤーは,
再生を開始するとそのままバックグラウンドで動き続けるので,
表でコミックビューワー(今は"ComittoN"がお気に入り)を使って
自炊テキストを問題なく表示できた.
これで通勤中にも語学が勉強できる,と言いたいところだけど,
最近は田舎に引きこもっているので,通勤時間が無いのであっ...
- ちなみにNexus 7でスクリーンショットを取るには、電源ボタ...
- 同時に押すタイミングがなかなか難しいですよね(^_^;)>Nexu...
- 興味ある人のために、現状でのgMTPをPlamo-test以下に置い...
#comment
ページ名: