mattintosh note

Hello Raspberry Pi!

🍎 Mac で『えもふり』を動かしてみよう 🎥

emofuri

Mac で『えもふり(E-mote Free Movie Maker)』を動かす方法を紹介しています。


はじめに

ここでは Wine というオープンソースのプログラムを使って Mac で『えもふり』(以下:Emofuri)を動かす方法を紹介しています。Emofuri に限らず、Wine は全ての Windows アプリケーションの動作を保証しているわけではありませんのであしからず。とりあえず Snow Leopard 以上ならサンプル PSD 開いて出力するまではできると思います。

私が配布しているバイナリを使用して起動できた方はお使いの OS X のバージョンなどを Twitter@mattintosh4 に送っていただけると助かりますヽ(*゚д゚)ノ


〈テスト環境〉


記事内のキャラクター素材は Emofuri に同梱されているもの、もしくは追加キャラクターサンプルデータを使わせていただいております。

2014.06.30:えもこ先生に紹介していただきました。

主な更新

おしながき?

コマンドラインで Emofuri をインストールする

ビデオチュートリアル

かなり適当ですが Emofuri をインストールして起動するまでのビデオチュートリアルを作ってみました。このビデオは試験的なものなので早々に削除されるかもしれません。

Wine のインストール

Homebrew または MacPorts をお使いの場合は以下のコマンドでインストールが可能です。現時点での安定版(1.6)では PSD のインポートに失敗する可能性があるため開発版(1.7)のインストールを推奨します。マシンスペックにもよりますが、インストールに必要な時間の目安は30分〜1時間以上です。

Homebrew MacPorts
brew install wine --devel sudo port install wine-devel


すぐに Wine を使いたい場合は下記のページでビルド済みのバイナリを配布していますのでご自由にお使いください。尚、動作については無保証とさせていただきます。下記の配布物は通常の Wine と仕様が異なるため使用する場合は必ず README を読んでください。

THIS IS CUSTOM BINARY THAT WAS PATCHED. REFER TO README FOR MORE DETAILS (IN JAPANESE). THIS DISTRIBUTION IS PROVIDED "AS IS" WITHOUT WARRANTY.

Wine の初期設定

以下は「Nihonshu - 日本語 Mac OS X 用カスタム Wine バイナリ」を使用する場合の例です。

アーカイブを Finder 上で適当なところに解凍します。自分のホームフォルダなどパスの短い場所がおすすめです。ここでは自分のホームフォルダに解凍したとします。

解凍したら『ターミナル.app』を起動して以下のコマンドを実行します。これはシェルの言語を日本語に設定するためのものです。この設定は 『ターミナル.app』を閉じると消えてしまうので永続化する場合は「mac シェル 環境変数」などで検索してみてください。

Emofuri does not support other than Japanese language. You should set LANG=ja_JP.UTF-8 on your shell.

export LANG=ja_JP.UTF-8

次に以下のコマンドを実行します。これは日本語環境用の設定ファイルを読み込むものです。実行すると Gecko と Mono のインストールに関するダイアログが表示された場合はインストールすることをおすすめします。これらは .NET アプリケーションなどを Wine 環境で実行可能にしてくれるものです。

Register a configuration file that I made. This is needed to display Japanese characters on your OS.

~/wine/bin/wine rundll32 setupapi,InstallHinfSection DefaultInstall 128 ~/wine/share/wine/inf/osx-wine.inf

Wine の準備はこれで終わりです。以降、~/wine/bin/wine の部分を wine と記述しますので頭のなかで置き換えて読んでください。

Windows Media Player のインストール

Emofuri から WMV 形式で出力するために Windows Media コーデックをインストールします。Emofuri から WMV 出力しない場合は次のステップへ進んでください。

簡略化のため自動インストールモードで実行します。ターミナルの出力が終了したらインストール完了です。ファイルパスは環境に合わせて変更してください。

wine ~/Downloads/mp10setup.exe /q:A /c:"setup_wm.exe /Q /R:N /DisallowSystemRestore"

Emofuri のインストール

Emofuri のインストーラを用意します。3.31 で基礎テンプレートが同梱されなくなったようなのでそちらもダウンロードしておくといいかもしれません。

Emofuri のインストーラーを実行します。ファイルパスは環境に合わせて変更してください。インストールウィザード表示後、流れにそって進めていけばインストールが完了します。

wine ~/Downloads/emote_moviemaker_setup_20140626.exe

次回以降の起動はどうすればいいですか?

以下は Windows 風のパスを使用して motioneditor.exe を実行します。

wine C:\\Program\ Files\\m2tools\ CheeseWare\\EmoteMovieMaker\\motioneditor.exe

以下は UNIX 形式のパスを使用して motioneditor.exe を実行します。

wine ~/.wine/drive_c/Program\ Files/m2tools\ CheeseWare/EmoteMovieMaker/motioneditor.exe

デスクトップ上に作成された LNK ファイルからも実行できます。この場合は start /unix オプションが必要です。

wine start /unix ~/Desktop/EmoteMovieMaker.lnk

Dock などに配置可能なアプリケーションアイコンを作成する場合は下の「えもふり.app を作る」を参照してください。

インストールされたファイルはどこにありますか?

Wine 環境にインストールされたファイルは通常 ~/.wine に置かれます。ここは WINEPREFIX という名称で呼ばれます。不可視フォルダになっているため Finder には表示されません。Emofuri のデータは更に下層の ~/.wine/drive_c/Program Files 以下にあります。

Finder から開く場合

Finder メニューバーにある「移動」→「フォルダへ移動…」を選択し、 ~/.wine を開きます。ショートカットは「command + shift + G」です。「Go to」と覚えておけば簡単です。

ターミナルから開く場合

以下のコマンドを実行すると Finder に ~/.wine を表示します。

open ~/.wine

以下のコマンドは Windows 風のエクスプローラを表示します。

wine explorer

可視化されたショートカットを作成することもできます。詳しくはビデオチュートリアルを参照してください。

えもふり.app を作る

Emofuri

Dock などに設置可能な簡易ランチャの作り方です。

emofuri

『AppleScript エディタ.app』を開いて以下のスクリプトを埋め込みます。~/wine/bin/wineの部分は環境に応じて変更してください。

do shell script "
  export LANG=ja_JP.UTF-8
  export WINEDEBUG=-all
  exec ~/wine/bin/wine C:\\\\Program\\ Files\\\\m2tools\\ CheeseWare\\\\EmoteMovieMaker\\\\motioneditor.exe >/dev/null 2>&1 &
"
emofuri

書いたスクリプトを「アプリケーション」として保存します。次回からはこのアプリケーションアイコンから Emofuri を起動できます。

OS X のログイン中に一度でも Emofuri を起動していれば Wine が /tmp/D5CD_motioneditor.0.icns を作っているはずなのでそれを えもふり.app/Contents/Resources/applet.icns に上書きすればアイコンを Emofuri のアイコンに変更することができます。

2014.06.30:連番 PNG からアニメーション GIF への変換

Emofuri の GIF 出力機能がうまく動作しないので ImageMagick を使って連番 PNG からアニメーション GIF を生成する方法を書いておきます。ImageMagick は Homebrew、MacPorts からインストールできます。

-delay {n} で次の画像に切り替わるまでの時間を指定(1/100秒単位)。ループ回数は -loop {n} で指定し、0 なら無限ループ。以下の例では "*".png は全ての PNG ファイルにマッチします。詳しくは「ワイルドカード」でググってください。

convert -delay 3 -loop 0 ./e-mote/"*".png animation.gif

シーン毎にフォルダ分けしている場合は繋げる順にフォルダを追加。

convert -delay 3 -loop 0 ./scene1/"*".png ./scene2/"*".png ./scene3/"*".png animation.gif

100ms(10FPS)で出力したデータを -delay を使って再生速度を変えたものです。残像が出る場合の対処方法は こちらのページ を参照してください。

default -delay 5 -delay 4 -delay 3 -delay 2
デフォルト (10fps) -delay 5 (20fps) -delay 4 (25fps) -delay 3 (33.3fps) -delay 2 (50fps)

2014.07.09:EasyWine.app を使った Emofuri のインストール例

「ターミナルの使い方がよくわからない」という方のために Wine をバンドル化しました。ご自由に使っていただいてかまいませんが、動作については無保証とさせていただきます。削除コマンドの類は使用していませんが、念のため Time Machine 等でバックアップをとっておくことをおすすめします。

EasyWine.app


emofuri

EasyWine のディスクイメージと Emofuri のインストーラを用意します。


emofuri
emofuri

ディスクイメージをマウントして EasyWine.app を適当な場所にコピーしてください。


emofuri

この段階で EXE ファイルが EasyWine.app で開けるようになっているはずです。コンテキストメニューから EasyWine.app を選択するか、Emofuri のインストーラを EasyWine.app にドラッグ・アンド・ドロップしてください。


emofuri
emofuri

初回実行時に Mono と Gecko プラグインのインストールに関するダイアログが表示されます。Windows アプリケーションの起動確率を上げるためにインストールしておくことをおすすめします。


emofuri
emofuri

Mono と Gecko のダウンロードが完了したら Emofuri のインストールウィザードが表示されます。あとは流れにそって進めていけば Emofuri が起動します。


emofuri

次回以降はデスクトップの EmoteMovieMaker.lnk から起動できます。EmoteMovieMaker.desktop は OS X 環境では使えないので削除しても特に問題はありません。

emofuri

EasyWine.app を単体で実行すれば『Wine エクスプローラ』が起動します。こちらから LNK ファイルやプログラム本体を実行することもできます。


emofuri
emofuri

Wine 関連のファイルは ~/Library/Caches/Wine にあります。Emofuri は更に下層の ~/Library/Caches/Wine/prefixes/default 以下にあります。Finder 上で ~/Library が非表示ならば移動コマンド(command + shift + G)等を使って開いてください。

このフォルダを削除したりリネームすれば何度でも新しい環境でスタートできます。

キャッシュ削除系のアプリケーションを使うとこのフォルダが削除され、Wine 関連のファイルが全て消える可能性があります。作品は別の場所に保存することをおすすめします。

アンインストールの手間を優先したらこういう仕様になりました…。


----- Emofuri のインストール方法はここまで -----

ImageMagick や FFmpeg を使ったリサイズや加工に関する内容はこちらのページヘ移行しました


その他

ユーザインタフェイスのフォントを変更する

Emofuri 内で使用されていると思われる「MS UI Gothic」と「MS Pゴシック」の2つのフォントを「ヒラギノ丸ゴ Pro W4」に置き換えます。

iconv -f UTF-8 -t CP932 | wine regedit - <<!
[HKEY_CURRENT_USER\\Software\\Wine\\Fonts\\Replacements]
"MS UI Gothic"="ヒラギノ丸ゴ Pro W4"
"MS Pゴシック"="ヒラギノ丸ゴ Pro W4"
!

ネイティブの msvfw32.dll を使用する

ネイティブのライブラリをいくつか当ててみたところ msvfw32.dll は(若干ですが)効果があるようです。タイムライン編集の動作が少し軽くなり再生時の画面破綻もほとんど起きなくなりました。 msvfw32.dll は Windows XP SP3 のアップデートプログラムに収録されています。展開は p7zip か cabextract でできます。このライブラリが原因で起動できなくなるアプリケーションがあるかもしれないので AppDefaults キーを使用して使用範囲を制限しておいた方がいいかもしれません。以下に展開と登録例を記載します。

7z x WINDOWSXP-KB936929-SP3-X86-JPN.EXE i386/msvfw32.dl_
7z x msvfw32.dl_ -o$HOME/.wine/drive_c/windows/system32 -y
wine regedit - <<!
[HKEY_CURRENT_USER\\Software\\Wine\\AppDefaults\\motioneditor.exe\\DllOverrides]
"msvfw32"="native"
!

ネイティブの wmvcore.dll を使用する

motioneditor.exe 使用時のみネイティブの wmvcore.dll を使用する設定例です。

wine regedit - <<!
[HKEY_CURRENT_USER\\Software\\Wine\\AppDefaults\\motioneditor.exe\\DLLOverrides]
"wmvcore"="native"
!

Windows Media Player によってインストールされたファイルのアクセス権の変更方法

chmod 0755 "$(wine winepath -u 'C:\users\Public\Application Data\Microsoft\Media Index')"
chmod 0644 "$(wine winepath -u 'C:\users\Public\Application Data\Microsoft\Media Player\DefaultStore_59R.bin')"
chmod 0644 "$(wine winepath -u 'C:\users\Public\Application Data\Microsoft\Media Player\UserMigratedStore_59R.bin')"

Emofuri のアンインストール?

emofuri

「プログラムの追加と削除」からアンインストールできます。もしくは m2tools CheeseWare か WINEPREFIX ごと削除する手もあります。作品を誤って削除してしまわないように注意しましょう。

wine uninstaller

.desktop ファイルから .app を作成する簡単なスクリプト

DesktopToApp.sh

#!/bin/sh -e

dotdesktop=$1

Name=`sed -n '/^Name=/s///p' "$dotdesktop"`
Icon=/tmp/`sed -n '/^Icon=/s///p' "$dotdesktop"`.icns
Exec=`sed -n '/^Exec=/{s///;s/"/\\\\"/g;p;}' "$dotdesktop"`

osacompile -o "$Name".app <<!
do shell script "
    PATH=$PATH
    export LANG=ja_JP.UTF-8
    export WINEDEBUG=-all
    $Exec >/dev/null 2>&1 &
"
!

cp "$Icon" "$Name".app/Contents/Resources/applet.icns

usage

./DesktopToApp.sh ~/Desktop/EmoteMovieMaker.desktop

Ubuntu 14.10 alpha1

sudo add-apt-repository ppa:ubuntu-wine/ppa 
sudo apt-get update
sudo apt-get install wine1.7
export LANG=ja_JP.UTF-8
wine ~/Downloads/mp10setup.exe /Q
wine regedit - <<!
[HKEY_CURRENT_USER\\Software\\Wine\\AppDefaults\\motioneditor.exe]
"wmvcore"="native"
!
wine ~/Downloads/emote_moviemaker_setup_20140703.exe

キャッシュの削除

ツールがクラッシュして強制終了した場合、以下の場所に吉里吉里の(?)キャッシュが残るのでたまに消してあげるといいかも。

Unix パス Windows パス
~/.wine/drive_c/users/USER_NAME/Temp C:\users\USER_NAME\Temp


resources