■FC2カウンター

■プロフィール

filenotfound

Author:filenotfound
雑記はこちら(Hatena::Diary)

■目 次
■Blog Pet

↓突っつくとおしゃべりします


■投票

追加しました。
該当する項目をクリックしてください。

【9/20開始】 New!

【4/18開始】

【4/18開始】

【4/22開始】

■最近の記事
■カテゴリー

  

■月別アーカイブ

  

■ブログ内検索

■最近のコメント
■最近のトラックバック
■FL Studio 関連リンク

fllogo99.jpg
● 海外公式 ● 国内公式 ● まとめ/ニュースサイト ● 個人ブログなど ● FL-Chan関連 ● その他便利なサイト ● 検索

■なごみリンク
■RSSフィード
■メールフォーム

名前:
メール:
件名:
本文:

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | --:--:--

破損したプロジェクトファイルを修復する方法(改訂1)

 FL Studioのプロジェクトファイルが破損して読めなくなったことはありませんか?
 私も何度か経験しました。幸いバックアップがあったので事なきを得ましたが、バックアップがない場合泣き寝入りするしかないんでしょうか?

 実は、修復する方法がいくつか存在するらしいのです。
 今回は破損したプロジェクトファイルを修復する方法を紹介します。

本記事の内容に若干の不備があることが判明しました。
具体的には FLhd, FLdt シグネチャ文字列が破損している場合があることを考慮していませんでした。
シグネチャ文字列の破損もあわせて修正することで、修復できる可能性が高まります。(1件の修復実績あり)
記事の修正を行いましたので、今までの方法で上手く修復できなかった方はもう一度チャレンジしてください。




改訂履歴:
2008/01/28 新規作成
2008/06/03 FLhd/FLdtシグネチャの修復手順を追記した。
         Diagnostic toolによる修復方法を追記した。



■ チャンク長破損時の修復方法

(1)破損原因の概要

 FL Studioのプロジェクトファイル(以降FLPファイルと称す)内には、チャンク長と呼ばれる情報が格納されています。FLPファイル破損の原因として、このチャンク長が正しく書き込まれていないことが多いらしいのです。
 本来チャンク長には、(FLPファイル全体の長さ - 22) の数値が格納されているべきなのですが、破損したFLPファイルをバイナリエディタで開くと、誤ったチャンク長「00 00 00 00」が入っています。また、場合によってはシグネチャ FLhd、FLdt の文字が正しく格納されていない場合もあります。これが破損の原因です。
 flprecover-1-2.png
 
 破損したプロジェクトファイルを読み込んだ場合、空っぽのプロジェクトが読み込まれたり、エラーメッセージが表示される結果となります。
 flprecover-1-1.png

 flprecover-1-1-1.png


(2)修復手順の概要

 修復の大まかな流れは次のとおりです。
 ・Windows 電卓を使って正しいチャンク長を求める
 ・バイナリエディタ BZ を使ってデータを修復する

 バイナリエディタをご存知ない方もいらっしゃると思いますので、バイナリエディタの入手方法も含めて説明します。


(3)正しいチャンク長を求める

 最初にFLPファイルのサイズを調べます。
 破損したFLPファイルのプロパティを開き、赤枠の数字をメモってください。
 flprecover-1-8.png


 次にWindowsの電卓を起動します。
 [表示]-[関数電卓]メニューを選択します。
 flprecover-1-7.png

 ファイルサイズを入力し、22を引いたあと、16進ボタンを押します。
 flprecover-1-9.png

 計算結果が表示されます。
 flprecover-1-10.png

 計算結果が8桁になるよう先頭に0を加え、2桁ごとのセットにします。(お手元のペンと紙で作業してください)

 00 02 33 80 


 これを逆順に並べ替えます。

 80 33 02 00 


 以上でチャンク長が求まりました。求めたチャンク長はメモ用紙などに記入して覚えておいてください。


(4)バイナリエディタ BZ の入手と設定

 http://www.vector.co.jp/soft/dl/win95/util/se032859.html からBZ 1.62をダウンロードし、インストールしてください。

 インストールが終わったら、インストール先のフォルダを開き、BZ.DEF ファイルをメモ帳で開きます。
 flprecover-1-3.png

 ファイルの先頭に次の文字列を貼り付けます。

struct FLStudio_Project_Recovery {
BYTE FLhd_Signature[4];
BYTE reserved [10];
BYTE FLdt_Signature [4];
dword FLdt_Chunk_Length;
};


 貼り付けたら、[ファイル]-[上書き保存]メニューを選択し、上書き保存します。
 flprecover-1-4.png

 以上でBZの設定は完了です。


(5)FLPファイルを修復する

 BZを起動し、破損したFLPファイルをBZの画面にドラッグアンドドロップします。

 [編集]-[リードオンリ]メニューを選択し、チェックを解除します。
 flprecover-1-11.png

 [表示]-[構造体表示]メニューを選択します。
 flprecover-1-5.png

 左側にリストボックスが表示されます。
 カーソルを一番左上(行000000 列+0)に移動します。
 上のリストボックスから "FLStudio_Project_Recovery"を選択したあと、下のリストボックスから"FLdt_Chunk_Length"を選択します。
 右側の一部が青色と赤色でハイライト表示されます。赤色で表示された部分がチャンク長の格納領域を示しています。
 flprecover-1-6.png

 赤い文字の部分に、先ほどメモした「正しいチャンク長」を入力します。
 flprecover-1-12.png


 下のリストボックスから"FLhd_Signature"を選択します。
 赤色で表示された部分が "FLhd" になっていることを確認してください。"FLhd"でない場合、"FLhd"の4文字を打ち込みます。
 flprecover-1-6-1.png


 下のリストボックスから"FLdt_Signature"を選択します。
 赤色で表示された部分が "FLdt" になっていることを確認してください。"FLdt"でない場合、"FLdt"の4文字を打ち込みます。
 flprecover-1-6-2.png


 [ファイル]-[名前をつけて保存]メニューを選択し、FLPファイルを別の名前で保存します。
 flprecover-1-13.png


(6)修復できたかどうか確認する

 FL Studioで修復したFLPファイルを開き、正しく読み込めるか確認します。


■ Diagnostic Toolを使った修復方法

 プロジェクトファイルは読み込まれるが、読み込みの途中プラグインで問題が発生し、読み込みが中断される場合、Diagnostic Toolを使ってプラグインの設定を初期化することで、プロジェクトを修復できる可能性があります。
 Diagnostic Toolはこちらからダウンロードできます。

注意:
2008/6/3現在、 Diagnostic Toolをダウンロードすることができません。おそらくサーバ側の一時的な問題と思われますので、日を改めてダウンロードしてみてください。



 Diagnostic Toolを起動し、下図の流れで操作を行います。

 flprecover-1-20.png

 flprecover-1-21.png

 flprecover-1-22.png

 flprecover-1-23.png

 flprecover-1-24.png

 flprecover-1-25.png


 修復対象としたプロジェクトファイルのあるフォルダに、プロジェクト名 - recoverd.flp が作成されます。
 flprecover-1-26.png

 うまく行けばプロジェクトが修復されています。
 ただし、チェックをつけたプラグインの設定はデフォルトにリセットされていますので、再設定が必要になります。


■ その他の修復方法

 プロジェクトファイルは読み込まれるが、読み込みの途中プラグインで問題が発生し、読み込みが中断される場合、次の方法を試してみましょう。
 なお、この方法については破損ファイルが手元になかったため、実際に試せていません。ですので、ダメ元のつもりでやってみてください。

 Steve Laboyの修復手順:
(1) FL Studioで破損したFLPファイルを読み込む。
(2) 読み込みに失敗した旨のエラーが出る。
(3) [FILE]-[Export]-[Zipped loop pakkage]メニューを選択し、ZIPファイルを保存する。
(4) 保存したZIPファイルを解凍し、中のプロジェクトを開いてみる。
(5) うまくゆけばプロジェクトが開ける。
(6) 最後に Steve Laboyさんに感謝を捧げる。


■ ファイル破損の予防について

(1) バックアップをマメに取ろう!!

 FL Studioの[FILE]-[Save New Version]メニューで、新しい名前でプロジェクトを保存することができます。ファイル名も自動的に付けてくれます。キリの良いところでSave new versionメニューを選択しましょう。


(2) ファイル保存時にはなるべく他の操作をしない

 チャンク長はファイルの先頭付近に格納されています。このため、プログラム的には次のようなことを行っているはずです。
 ・とりあえずチャンク長を0にして、最後までファイルを保存する
   (最初の時点でファイルサイズが不明のため)
 ・ファイルの保存が終わりファイルサイズが判明したら、チャンク長を計算し書き込む。
 ・ファイルを閉じる。

 チャンク長が不正ということは、なんらかの理由でファイルの保存処理が中断され、チャンク長が更新されないものと推測できます。ファイル保存時には操作を止めて一呼吸待ち、ファイルの保存処理が中断されるリスクを避けるべきだと思います。
 特にファイルサイズが大きいとき(=制作が終盤に差し掛かったとき)が危ないです。ご注意ください。


■ 最後に

 もしこの方法を試されたなら、結果(うまくいった、いかなかった)をコメントでご報告願います。成功率が高いようでしたら専用ツールの開発を検討します。

 本記事を書くにあたっては、次の記事を参考にさせていただきました。
 この場を借りて御礼申し上げます。
 http://www.ocremix.org/forums/archive/index.php/t-3577.html   Tanks!!

 また、破損したプロジェクトを提供してくださった bio さんに御礼申し上げます。

以上
スポンサーサイト
FLStudio | 19:06:35 | Trackback(0) | Comments(4)
コメント
試してみました
an error occured while reading the FLP file.It may be corrupted,or some plugin caused an error while opening

というメッセージが出てファイルを開けなくなっていたFLPファイルがあったので、記事の内容を参考にして試してみましたが、結果開けませんでした。

記事通りにやったつもりですが、過程が間違っていたのかも知れません。
破損しているFLPファイルをUPするので、良かったら検証してみて下さい。

http://iroiro.zapto.org/cmn/jb/jb.cgi?mode=dlkey&id=4965
(pass:0022)
2008-06-03 火 11:50:28 | URL | bio [編集]
bioさん、はじめまして。
調査したところ、本記事の修復手順に不備があることが判明しました。
追って記事を修正しますが、取り急ぎ修復手順をお伝えします。
本データの場合、アドレス +000Eから4バイトの部分(チャンクレングスの直前)に格納されているべき文字列 "FLdt" が消えています。
Bzで修正の際、チャンクレングスに加え、文字列FLdt を書き込むと無事開くことができました。

ファイルは既にダウンロード済みですので、アップローダーから削除していただいても構いません。
ファイルをご提供いただきありがとうございました。
2008-06-03 火 17:50:06 | URL | filenotfound [編集]
問題のFLPファイルですが、追加の修正手順にて開けるようになりました。
感謝しております、これで破損も怖くない?
今後とも拝見させて頂きますので、頑張ってください。
2008-06-04 水 20:47:34 | URL | bio [編集]
これで破損も怖くない!!となれば万々歳ですが、他の破損パターンも存在するようですので(特定のプラグインで不具合発生とか)、バックアップをマメに取る癖をつけたいですね。
[File]-[Save as new version]メニューで連番をつけて別名保存できるので、きりのよいところで別名保存するのが良さそうです。
2008-06-05 木 03:03:08 | URL | filenotfound [編集]
コメントの投稿

管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。