プログラミング・動画編集 備忘録

プログラミングや動画編集についての備忘録です

ゆっくりMoveiMaker でオブジェクトをまとめて引き伸ばしたい

結論:ymmpファイルを直接テキストエディタなりで編集しちゃえば可能

やりたいこと

次のようなステータス状態の枠を表示させるようにした。全部で15個のオブジェクトがあるので、まとめて再生時間を引き延ばしたい。
f:id:rrryutaro:20170101123416p:plain

枠部分は画像で、ステータスの値は字幕にしています。
これら全部で15個のオブジェクトがある状態です。

とりあえず、配置してみてしっくりきたのですが、これを表示させ続けるために、再生する時間をタイムライン上で引き伸ばす必要があります。
ShiftやCtrlで複数選択して移動させることはできますが、選択状態のものをまとめて引き伸ばす方法がわかりませんでした。

データファイルを直接編集しちゃえ

ざっくり調べて、方法が見つからなかったので、力技を行うことにしました。
ymmpファイルはxmlで出来ているようですから、所詮テキスト。テキストを書き換えればいいのだと。

テキストエディタでymmpを開きます。ゆっくりMovieMaker起動中でもお構いなしです。
f:id:rrryutaro:20170101123853p:plain

ステータスの数値部分で検索してみます。ここでは、"36 / 36"としました。
f:id:rrryutaro:20170101123946p:plain

タグを閉じていって、1つの字幕オブジェクトを示すであろう親タグにあたりを付けます。
f:id:rrryutaro:20170101124200p:plain

それらしい項目に着目して、実際の画面との配置を比べて見ます。
f:id:rrryutaro:20170101124437p:plain

<TimelineY>23</TimelineY> の部分が、 Layer23 といっちするので、TimelineYがタイムライン上での順番。
となれば、<DoubleTimelineX>5889</DoubleTimelineX>が開始位置(※画面上とで少し食い違っていますが、これはファイルを開いた後に、ゆっくりの方で操作していたので)、<DoubleItemEnd>10000</DoubleItemEnd>が開始からの時間指定だと判断がつきます。
試しに、DoubleItemEnd の値を 10000 から 20000 にしてみます。
f:id:rrryutaro:20170101124728p:plain

では、テキストエディタでの編集を保存して、ゆっくりMoveiMakerでプロジェクトを読み込みなおします。
f:id:rrryutaro:20170101125257p:plain

できていますね。

となると、xmlを直接編集するツールとか提供されているのかな?

ただ、これだと逆に面倒です。もしツールが提供されていないのなら、ここから一括編集できるようにしなくてはなりません。
正規表現に明るい方なら、さくっと正規表現だけでうまくやる方法を思い浮かぶのかもしれませんが、そうでなければ、xml編集でなんとかすることに。
個人的には、C#なりで、xmlファイルを編集する専用ツールを作るところでしょうか。
興味がわいてきましたが、これは大分脱線するので、別の機会に・・・


以上



以上