Sign in to follow this  
Followers 0
Legion303

Corrupt FL file? No problem! (ONLY FOR DAMAGED HEADERS)

41 posts in this topic

I can't find a email adres on the FLstudio site, anybody knows a email adres where I can contact ImageLine support ?

Ask on the IL forums?

-steve

Share this post


Link to post
Share on other sites

oy. one of my FLPs managed to get corrupted. kind of an important one too (it's for a site project). when i open it, the first VSTi it loads (EWQLSOSE) fails for some reason, which is followed by a dozen or so run-time errors. EWQLSOSE works fine on its own outside of this one particular project..

so, i opened up the FLP in XVI32, found the address for the 22nd from the end (which also happens to be a 31). 448E6. so i find the 64 74 and the following 3 bits are already E6 48 04 :(

it must be corrupted somewhere else :(

in the mean time i do have a backup, but it's a bit old (it doesn't have the ending, any of the recordings i've done, or any of the mastering).

Share this post


Link to post
Share on other sites

Hi I tried to do what is explained in the post but after I open the file in CMD.EXE a lot of weird simbols appear very diferent from what is in the post. Am I doing something wrong? any help would be apreciated

thanks

Share this post


Link to post
Share on other sites

hey guys,

I keep recieving the same message, except everytime I save a project, its 0kb in size, thus giving me the error message.

Does anybody know what could be causing this?

Thank you, Kit

Share this post


Link to post
Share on other sites

Wow thanks. K, so it appears my file has been pretty badly corrupted.

I'm no reverse engineering genious but using Hex Workshop I compared several flp files to see what I could find out, since I'm using FL6 and I wanted to make sure this method still worked.

So in all files the two bytes after "dt" still point to the 22nd last byte. I also found that the 22nd last byte was always 31h. (h stands for hex of course).

In my corrupted file, the 22nd last byte was not 31, but DC. Also, the first two lines were not

00000000 464C 6864 0600 0000 0000 0900 6000 464C FLhd........`.FL
00000010 6474 D282 0100 C706 362E 302E 3800 C811 dt......6.0.8...

As they should be but

00000000 464C 6864 0600 0000 0000 1000 6000 D4F9 FLhd........`...
00000010 1200 5946 D000 C706 362E 302E 3800 C811 ..YF....6.0.8...

So I decided to replace the first two lines with good ones, and replace the pointer bytes with ones pointing to the 22nd last byte. Then I tried to open my file. It started opening instruments and plugins, then told me the file was corrupt, then the alert disapeared and I was left with a frozen screen of FLStudio, all my patterns and channels were there, one of my mixer channels was now purple and some characters in the playlist (not pattern labels) had turned to squares.

I'm getting close! I'll keep you guys posted. In the meantime if anyone has suggestions or would like to see the file, say something. I'll subscribe to the thread.

PS It seemed to me that the plugin causing the problem was "mda degrade" which I actually didn't need in the file at all. Just a warning. If you want to mess around with a plugin to see how it sounds, backup your file!! no wait. ALWAYS BACKUP YOUR FILES. in the music biz, extra HD = good investment.

EDIT: I tried to open the file again. Now everything seems fine till it tries to open mda degrade. Then it just hangs. I've tried renaming the plugin but it still doesn't work.

Share this post


Link to post
Share on other sites
hey guys,

I keep recieving the same message, except everytime I save a project, its 0kb in size, thus giving me the error message.

Does anybody know what could be causing this?

Thank you, Kit

I hate to say this, but I'm pretty sure you're screwed. Open the file in a hexeditor. If it's empty/almost empty, theres nothing there :(

Share this post


Link to post
Share on other sites

I really hope this isnt too late for you guys---

I FIGURED IT OUT! YOU CAN SAVE CORRUPT FRUITY LOOP FILES.

(and theres no rhyme or reason why, who cares?!)

Steve Laboy's Fix:

1) Load up your corrupt FLP file into fruity loops

The corruption error will show, fruity loops will be crippled,

and your song doesnt show up. First time i saw this i s*** a brick.

2) Click the "FILE" menu (up in the left hand corner) then goto "EXPORT" and on the submenu for "Export" that appears, click "Zipped loop package..."

3) Save this package to your FL Studio Projects folder (it should point you there automatically). Save it anywhere if you want, this will just make it easier.

4) Browse to the folder where you put this zip file, and extract the contents into a folder there.

YOUR WORKING PROJECT IS IN THERE! Thank Steve!

have a nice day, and end the war in iraq.

~~~~

Steve Laboy, TX

Its hot here...

Share this post


Link to post
Share on other sites

i dont understand.

if you open the corrupt FLP, the song info doesnt load up? how can you send a zip off when there is no song data...i've tried this like a dozen times, and the zip is the same "untitled" wavs and flp.

i have the xvi hex editor, and i don't see anything at all that resembles what the original poster is talking about.

there has to be some way to fix this...somebody has to have a method...

PLEASE...

d

Share this post


Link to post
Share on other sites

Adding to the information about the file format (had some hours to kill :P).

It is inspired by the standard MIDI file format. The files I have looked at have two chunks; a header chunk (FLhd), and a data chunk (FLdt). The header chunk appears to use the structure of the MThd chunk in a standard MIDI file.

Using the data from the original file in question:

46 4C 68 64 06 00 00 00 00 00 04 00 60 00 46 4C
64 74 B1 77 00 00 C7 06 35 2E 30 2E 31 00 C8 10

Structurally:

The header chunk "FLhd" (464C6864H):

Offset Type Data Description
00000000H D32B 464C6864H Chunk identifier (FLhd)
00000004H D32L 06000000H Chunk size (6 bytes)
00000008H D16L? 0000H Type?
0000000AH D16L? 0400H Count?
0000000CH D16L? 6000H PPQN? (Propbably, 96 PPQN.)

The data chunk "FLdt" (464C6474H):

Offset Type Data Description
0000000EH D32B 464C6474H Chunk identifier (FLdt)
00000012H D32L B1770000H Chunk size (30641 bytes)
00000016H D8 C7H Version string prefix.
00000017H VLQ8 06H String length
00000018H D8 35H 2EH 30H 2EH 31H 00H ("5.0.1\0")
0000001EH ...

Types
D32B 32-digit (binary), big-endian
D32L 32-digit (binary), little-endian
D16L 16-digit (binary), little-endian
D8 8-digit (binary), endian-neutral
VLQ8 variable-length quantity, 8-digit (binary) quantity.

There is a general string format; prefix, length, data, as already seen with the version string prefix at the beginning of the FLdt data chunk.

If the chunk size value is zero, it could be calculated by taking the file size and subtract the offset to the FLdt contents.

In this file the FLdt chunk data offset begins at 16H:

FLdt chunk size = File size - FLdt chunk data offset

File size = 30663

FLdt chunk data offset = 22

FLdt chunk size = 30663 - 22 (16H)

FLdt chunk size = 30641

FLdt chunk size = 77B1H (base 16/hexadecimal)

FLdt chunk size = 000077B1H (32-bit, base 16/hexadecimal)

FLdt chunk size = B1770000H (little-endian byte-order)

..but who knows what really needs correction in a damaged file (except the people/person at Image-Line). Either FL Studio tolerates errors to a certain degree, since it was able to load the original file, or it lacks integrity checks on the chunk size with regards to the file size (meaning holes can be added at the end, since the original file was set to 22 bytes less than the file size).

Share this post


Link to post
Share on other sites

I think our file might be totally hosed. I tried to fix it but didn't get anywhere.

Here's the corrupted file:

---

..if anyone has the know-how / willingness to fix it if salvageable.

We just spent a good 8 hours updating it (and saving it every now and again), but it suddenly got corrupted.. and it's the only copy of the file.

Also it's one of the tracks on the CD we were mere hours/days before releasing.

;_;

EDIT: Nevermind. The most recent .wav export is perfect except for its lack of a crazy bassline I added in at the end before the flp was corrupted. I'm using the entire export as an audio clip for a makeshift brand new noncorrupted flp file, and remaking the bass line.

Share this post


Link to post
Share on other sites

Hi, I tried to follow the explanation that you gave but I did not understand how they open the corrupt flp file to correct the error .. but to me the file is not me saying it opens "An error occurred while reading the FLP file. It may be corrupted, or some plug caused an error while opening. " As we opened I was working on a mixer vst effect and they are locked in FL and was closed after which I will not open the project and I see this error message also file somewhere kb came to 203 mb.I tried to reopen the project on the same version of FL no vst used in the project (other than those who have inside). you can help in some way ..? Is a very important project for me .. and if I lose even one week to correct the error do..please replace here..

Share this post


Link to post
Share on other sites

hy guys, just to let you know, i had the same problem, corrupted file, downloaded hex editor, compared 4 files and i changed 1 number that was all the same in the good files and different in the corrupted file, and bam! my file works again.

I am very grateful.

Share this post


Link to post
Share on other sites

Do you have to change all of the bytes or just the one's mentioned in the fix post? Much appreciated. I feel the pain with you lads. I am torn if I can't fix my FL 9 project. My first masterpiece.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0