最近3DS力入れて触っててemuNANDとか色々整備した。

で、最近はmenuhaxで直接HomebrewLauncher起動するんじゃなくて、CtrBootManagerというのを挟んでHBLとrxTools選んで起動するみたいなのが流行ってるらしく導入した。

あとemuNANDからHBLに入るのがめんどくさいからemuNANDにHomebrew Launcher Loaderのcia(Wiiのwadみたいなやつ)をインストールしてそこから入れるようにしたが、これもCtrBootManagerを踏むのでなんか気持ち悪い。

というわけでhblauncher loaderから直接HBLを叩くようにした。

手順とも呼べない何か
HBLのboot.3dsxをcoot.3dsxという名前でSDカード直下にコピーして、
(拡張子含め9文字以下のファイル名なら何でもいいと思う)

hblauncherloader_otherapp_payload_なんたら.binをバイナリエディタで開いて、boot.3dsxとあるところをcoot.3dsxと書き換える。
(OLD3DSでFW11.0.0-33Jならhblauncherloader_otherapp_payload_OLD-11-0-0-33-JPN.bin)

怒りのまえがき      読み飛ばしてね

CDはクソである。なぜならタイトルやアーティスト等のタグ情報がないからだ。

近年音楽はDRMなしのデジタルデータ販売が主流になりつつある。これらは大抵タグ情報がついており、しかもアートワークまで付いているという至れり尽くせり状態だ。

しかしながら、未だにCDは大きなシェアを握っており、CDでしかリリースされない楽曲もあるためCDを買わざるをえない状況が発生する。
(まぁオールドタイプな人間なのでCDという物理媒体がほしいと思うことも多いのだが。)

CDにはタグがない。そこで人々はCDDBというものを開発した。問題は解決されたかに思われた。

しかしCDDBにて新たな問題が発生した。それは信頼の置けないユーザによる間違ったタグである。

もちろん人間が入力する以上ミスはあるものだが、しかしコンピレーションなのにアーティストをすべて「Nintendo」にするのはいかがなものか。
(スマブラのサントラのことであった)

また情報自体は間違っていなくても書式が気に入らなかったり、Disc1とDisc2で違う書式のものしかなかったりと暗澹たる結果に終わることも多い。
(こちらもスマブラのサントラのことである)

一番いいのはCDDBにパブリッシャ自らタグを登録することであるが、現状そういう風潮は高まっていない。

とにかく、一人ひとり何度も入力するのはアホらしいので、信頼の置ける友人などからタグをもらうということを考えた次第である。
(考えたってかもらった人から提案されたから俺なんも考えてないけど)


参考URL
Mp3tagでテキストファイルからタグをインポートする - ササビーのブログ

手順
1,Mp3tagをインストールする

2,Mp3tagでtxt_taglistをエクスポートする(送る側)
タグの付いた音楽ファイルがあるフォルダを開く。
Ctrl+Eでなんか出るのでtxt_taglistを選ぶっぽい。

mp3tag_export.png


txt_taglistだと出力してくれないデータもあるっぽいのでそういうのを出力したいときは、
C:\Program Files (x86)\Mp3tag\exportにあるtxt_taglist.mteをコピーして作ればいいと思う。

3,Mp3tagでtxt_taglistをインポートする(貰う側)
タグの付いてない音楽ファイルがあるフォルダを開く。
予めリッピングしておくわけだが、iTunesでリッピングするときはアルバム名だけは入力しておこう。
フォルダ名がアルバム名になるのでリネームする手間が省ける。

mp3tag_folder.png


Ctrl+Aで全選択してAlt+4でテキストファイル - タグを開く。
するとテキストファイルを選ぶ欄と書式の欄が出るので適当に設定する。
書式はエクスポートした時の書式にしないと行けないので送ってくれた人に聞こう。
デフォルトのままエクスポートしたら何もいじらなくても通るかも(未確認)

mp3tag_tag.png


ここで注意しなきゃいけないことがあって、Windows版ではSJISじゃないと文字化けで悲惨なことになるので、OSXから出力したもの(UTF8)はiconvとかで変換しておく

$ iconv -f utf8 -t sjis tag.txt > tag_sjis.txt

4,ファイル名も変更する
Alt+1でタグ同様ファイル名も変更する。
書式は
%discnumber%-$num(%track%,2) %title%
にしとくとiTunesと同じ書式になると思う(たぶんね)

mp3tag_filename.png


5,iTunesで読み込む
iTunesでリッピングした場合、ファイルパスとかファイル名変わるとiTunesから見えなくなるので一度消して「フォルダーをライブラリに追加」をしておく。
参考
GNOME 3.18 リリースノート
GNOME3 がGoogleドライブに対応 — kuchida1981

今更ながら、GNOMEがGoogle Driveに対応したらしいので試した。
GNOME的にはnautilusからアクセスするんだろうけどgvfsを使ってるのでnemoでもできた。

手順
1,いろいろ入れる

# pacman -S gnome-keyring gnome-control-center gvfs-google

普通にGNOMEインストールしたら入ってるけどCinnamonだと入ってないので

2,コントロールセンターで設定する
CinnamonのUIからだとgnome-control-centerって起動できないっぽい?のでターミナルから起動する

$ gnome-control-center

パーソナルのオンラインアカウントを選択して適当にGoogleアカウントを登録する
(キーリングがなんたらとか出るけど適当にやる)
用途はファイルがオンになっていればいいっぽい?
google-drive_001.png
教えてください

3,nemoで開く
サイドバーにメールアドレスが出てくるのでそれを開く
(ところで最近nemoの背景おかしい気がするんですけど誰か解決法教えてください)
google-drive_002.png

参考
日本からアメリカのGoogle (google.com) で英語で検索する方法 | 海外SEO情報ブログ

参考URLでは
https://www.google.com/webhp?gl=us&hl=en&gws_rd=cr&pws=0
をブックマークに入れて検索するときはブックマークから、というふうにしているがちょっとめんどくさい(ズボラ)

そこでChromeの検索エンジン追加機能を使うことにした

1,Chrome右上の三本線押して設定を開き、「検索」-「検索エンジンの管理…」をクリック

2,3つボックスがあるので適当に入力する
左の「検索を追加」には名前(適当で良い)、真ん中の「キーワード」には短めで被らないもの(今回はcomとした)、一番右の「URL (%s=検索語句)」にはURLを入れる。

URLは「https://www.google.com/search?q=%s&gl=us&hl=en&gws_rd=cr&pws=0」とする。
クエリの意味は参考URLを見ればわかるし、なんかもっと欲しかったら調べてお好みで追加しよう

omnibox_001.png


3,検索してみる
Omnibox(アドレスバーとか呼ばれるやつ)にカーソルを合わせて「com」と打つ。
するとなんか表示が変わるのでTabキーを押す(スペースでもいいけど)

omnibox_002.png

omnibox_003.png


なんかいい感じに表示が変わったら検索語句を入れてEnter。

omnibox_004.png
参考
Making Third-Party Gamepads Work With Steam Games – Boiling Steam
ゲームパッド - ArchWiki

はじめに結論
SDLに同梱されてるcontrollermap.cをコンパイルしてそれでキーコンフィグをし、それで出てきた文字列をSDL_GAMECONTROLLERCONFIGという環境変数に設定する

手順
1,controllermap.cをコンパイルする
参考URLみたいにSDL2落としてきて自分でコンパイルしてもいいけどAURにあります
あとPKGBUILD見ればわかるけど、SDL2が入ってる環境なら

$ gcc -lSDL2 -I/usr/include/SDL2 -o controllermap controllermap.c

でSDL2まるごとコンパイルしなくてもいいっぽい。

2,controllermapでキーコンフィグする
controllermapを実行して目当てのコントローラーの番号を見る。複数なければ0。
番号を引数にcontrollermapを実行

$ ./controllermap 番号

するとなんかウィンドウ出てくるのでそれ通りにキーを押していく
(BackSpaceで戻る、Spaceキーまたはクリックでスキップ)

controllermap_001.png


3,"INFO: Mapping:"以下の文字列をコピっておく
なんか二回出力されたりするけどよくわからん。

4,SDL_GAMECONTROLLERCONFIG環境変数に設定する
で、どこで環境変数を宣言すればいいのかわからなかったので適当にやる
LinuxのSteamでゲームをインストールすると$HOME/.local/applcations/にそのゲームのDesktop Entryが生成される。
これをちょいと書き換えることにする
と言ってもExecを"steam ほにゃらら"ではなく適当なスクリプトに飛ばしてそこでexportするだけだが。



controllermap_002.png

mozc-neologd-utとは

mozc-utを作ってるUTUMI Hirosi氏がmecab-ipadic-NEologdをmozc用辞書に変換したもの(らしい)
特徴はリンク先を見ていただきたい。

neologism [名]: 新語, 新表現, 新語義. by weblio


なぜお前がAURに登録したのか

ぶっちゃけmozc-utでいい(というかそっちのほうがいい点もある)のだが、
・単純に新しい物を試したかった
・AURのfcitx-mozc-utは高確率で腐ってる
後者については以前書いた。ただ古くなるならともかく一月程度でビルドできなくなるのはいかがなものか(ちなみに今もビルドが出来ずoodフラグが立っている)、と思っていたのでなんとかしたいなぁと思っていたところだった。

しかしメンテナーと交渉するのは面倒(パッケージを手放したり受け継いだり出来るっぽい)ので、この際新たにmozc-neologd-utに乗り換えて自分がメンテナーになろうと思ったわけだ。


変更点

実はmozc-neologd-utはAURに登録されてこそいないものの、tarballにはPKGBUILDが同梱されている。
ただこのPKGBUILDは作者さんが手元でArchにインストールする時用のものでそのままAURに登録するにはまずい点があったので少しいじった。
いじった点はdiffを見ていただければわかると思う。
まぁ更新で消えるtarballを勝手にosdnにあげてsha1sums追記しただけなんだけど。



その他

fcitx-mozc-utで割とつらい目にあったしメンテナーいつまでやる気が続くかわからないので
「こいつ偉そうに語ったくせにパッケージ腐ってんじゃねーか。俺が管理するわ!」
という人がいらっしゃった場合、AURやこの記事のコメント欄にメンテナー受け継ぐ旨を書いていただきたい。
気付き次第パッケージを手放したいと思う。(責任ある無責任)

あとmozc-utのほうがいい点があると言ったがそれはカタカナ語-英語変換が入っていることだ。
近いうちにmozc-neologd-utにそれを追加したバージョンを作ろうかなと思っている。
(公開するかは未定)


2016/10/22 追記
mozc-ut2がリリースされ、fcitx-mozc-ut2がAURになかったのでメンテナになった。
それに伴いmozc-ut2に乗り換えてためAURのmozc-neologd-utのパッケージの所有権を放棄した。

ブラウザでiTunes プレビューのページ見てると「iTunes で見る」ってリンクがあってWindowsなりOSXでそれクリックするとiTunesでそのページが開かれる機能がある。
それをLinuxでもやりたかった人のお話。(失敗)

リンククリックしたらiTunesが起動するところまではこぎつけたけど、

・普通にiTunes開いただけでそのページは開かれない
・Chromiumだとうまくいかない(Firefoxだと出来る)

という感じで微妙。(Chromiumはプロトコルの設定周りの問題だと思われる)

参考
freedesktop.org 規格のデスクトップファイルについてのメモ - Λlisue's blog
xdg-open - ArchWiki

手順
1,WineのiTunesを開くDesktop Entryを書く
 なんかDesktop EntryのExec項でスペースを含むファイルパスはうまく行かないっぽいので、
 シェルスクリプトをクッションとして挟む。
 シェルスクリプトはどこに置いてもいいです(~/.local/binというディレクトリ作った)
 Desktop Entryは~/.local/share/applications/に置く
 IconとかCategoriesはお好みで。
 aiconってツールでiTunes.exeからアイコン抜き出せて便利
 %uってやつはURLとか開くときに必要。
 あとはchmod +xで実行権限をつけるのを忘れずに(両方共だっけ)



2,xdg-mimeでitmssプロトコルを登録する
 リンクからiTunesが開くのはitmssとかいうプロトコルがiTunesに関連付けられてるかららしい。
 なのでさっき書いたDesktop Entryにxdg-mimeで関連付ける

$ xdg-mime default itunes.desktop x-scheme-handler/itmss

~/.local/share/applications/mimeapps.listとかいうファイルに
x-scheme-handler/itmss=itunes.desktop
という行が追加されたと思う。

3,リンクをクリックする
 これでFirefoxなら画像の感じになってOK押せばiTunesが起動するはず。

itunes_003.png

備考

結局どうやってiTunes.exeにURL渡すのかわからんかった。
単純に「wine iTunes.exe itmss://ほげほげ」ではダメだった。Windowsのプロトコルの関連付けの仕様がよくわからん。
chromiumのプロトコル設定もわからん。
おことわり
とりあえずなんか動いたけどめちゃくちゃ不安定だし他の環境で動くかはわからないです。
買った曲一括ダウンロードとかしてる間に落ちます。(10曲ぐらいの時間なら持つけど)

環境
ArchLinux x86_64
Wine 1.9.3
iTunes 12.1.3

手順
1,iTunesをインストールする

$ WINEDLLOVERRIDES=winemenubuilder.exe=d \
WINEARCH=win32 \
WINEPREFIX=~/.wine_itunes \
wine iTunesSetup.exe


WINEDLLOVERRIDES=winemenubuilder.exe=dはwineがDesktop Entryを作らないようにする環境変数
WINEARCHは今回32Bit版をインストールするのでwin32、
他のアプリと分離するためにWINEPREFIXは適当に決める。

2,winetricksでgdiplus.dllをインストールする
 これがないとグラフィックがぶっ壊れる

$ WINEPREFIX=~/.wine_itunes winetricks

「Select the default wineprefix」「Install a Windows DLL or component」を開き、
gdiplusにチェックを入れOKを押す

3,起動する

$ WINEPREFIX=~/.wine_itunes wine ~/.wine_itunes/drive_c/Program\ Files/iTunes/iTunes.exe

itunes_001.png

あとは普通に動くと思う(たまにクラッシュするけど)
サインインして曲買ってダウンロードできるところまで確認。

itunes_002.png
はいWIPですWork-In-Progressです。メモです。

事の始まり
scoty755さんのscl23向けtwrpを使ってみたが何故かバックアップ日時がおかしい。て言うか時計が狂ってる。
調べてみるとtwrpのバグらしい。更に2.8.0.0では修正済らしい。

2.8.xのtwrp見つからないし(※)自分でビルドしてみるか!というわけだ
※いま探したらOdin用のやつとか中国の謎のサイトのやつ見つけた…
 Odinで焼くとFelica使えなくなるみたいだし(scotyさんのやつの話だからこれに当てはまるかは不明)

参考URL
[DEV]How to compile TWRP touch recovery | Android Development and Hacking
TWRP公式?のガイド。
CWM/TWRPのBuild方法について
kernel & Custom ROM フォーラムのやりとり。
How To Build CyanogenMod For Samsung Galaxy S5 (AU) ("kltekdi")
scl23向けのCMをビルドする方法。
Android - ArchWiki
Arch Linuxでビルドするときのお話。

手順と呼べない何か
基本的にはOmniROMのrepo引っ張ってきてどうにかこうにかしてmake recoveryimageするればいいわけである
しかしここで問題が。

kltekdi向けにビルドしたいわけだがOmniROMはkltekdiをサポートしてない。
kltekdiをサポートしてるのはCyanogenModであるが、こちらはCyangenRecoveryというのを使っておりTWRPではない。

まぁTWRPのガイドの通り、repo syncしたあとにbootable/recoveryをtwrpに差し替えればできるらしいがまぁ色々いじらないといけないらしい。
もっと言うと任意のAndroid root(っていうの?repo init -uするときのURLね)のbootable/recoveryを差し替えればいいわけだ。(CMと同様いじる必要があるが)

で今回使用するのがkbc-developersのAndroid root
kbc-developersは主に日本向けの端末のCMとかビルドしてる方々で、日本向け端末のCM焼いたことある人なら恐らくお世話になっているはず。
日本向け端末のデバイス固有ファイルがあるだけじゃなくてTWRPも持ってるので安心。

というわけでとりあえず適当なディレクトリ作ってrepoする

mkdir kbc
cd kbc
repo init -u git://github.com/kbc-developers/android.git -b cm-13.0
repo sync

初回のrepo syncはクソ遅い&めちゃくちゃ容量取るので注意。
2時間と36GBぐらい持ってかれます(時間は環境による)

で、今度はkltekdiのファイルを引っ張ってきます。
(こんなに時間かかるのに入ってなかったのか)
kbc/.repo/local_manifests/に適当な名前?でxmlを作ります。(これで漏れがないかは知らん)
manifest.xmlの書き方はいろんなmanifest.xml読めばわかるようになりそう


でかけたらまたrepo sync。(さっきよりは短いけど30分ぐらい?と+4GBかかった)
これでrepo syncはもうやらないはず

次にプロプライエタリなファイル(いわゆるblob)を端末から抜き出します。
端末をPCとつなげてadb shellが使えるようにする(root必要なのかよくわからん)

cd device/samsung/kltekdi
./extract-files.sh

これでvender/samsungに必要なファイルが入るはず。

でCMのWiki見た人はわかると思うけどもうCMのビルドはできる感じになってる(はず)ので、
ここからはTWRP用の設定。

(省略されました。続きを読むには誰かおしえてください!)
ここからがまだわかってない感じです。

さくっと調べた感じだと、公式のrecoveryをddしてsplit_bootimg.plで分解してrecovery.fstabが必要らしいとか

adb shell
su
dd if=/dev/block/mmcblk0p16 of=/sdcard/recovery.img
exit
adb pull /sdcard/recovery.img .
split_bootimg.pl recovery.img
gunzip -c recovery.img-ramdisk.gz | cpio -i


で最後にkbc-developersのやつでtwrpビルドするときはmake recoveryimageするときにTARGET_RECOVERY=twrpを渡す必要があるっぽいとか

めも
Home · kazukioishi/android_device_samsung_kltekdi Wiki

つづくかも
久しぶりにゲームとか日本語化のことをやった気がする。

trickart/snes9x-gtk-ja.po

最近git勉強中なのでgithubで公開してみた。もう少し翻訳がまとまったらSnes9x本体にPull Request出してみようかなと思っている。

備考はGithubの方にも書いたが補足。
・genpot.shのコメントに書いたけどgenpot.shはsnes9x/gtk/poに置いて実行する設計になってます。
・xgettextはファイルの拡張子(使用言語)によって形式を切り替える賢い作りになっているが、gtk_binding.cppなどではcppなのにCの形式で記述されてて最初手間取った。
 xgettextのオプションに--keyword=_を追加すれば解決する。
・msgmergeがfuzzyすぎる。既存のpoと新しいpotをマージしてくれるが、原文の変更があった時は「#, fuzzy」なるコメントを表示していい感じにくっつけてくれる。
 (このコメントがついたところはmsgfmtした時除外されるっぽい?)
 しかしそれがfuzzy過ぎて、「XVideo」と「S-Video」をマージしてくれやがったりして微妙に仕事が増えた。
 (ないよりは全然いいしfuzzyコメントがついてるので探すことは容易なのだが)