View Full Version : Some tips on file conversion
ComicBent
03-09-2009, 10:00 PM
I spent some time today helping one of our board friends with a file conversion. We converted from RTF to FinalDraft. The conversion presented a few difficulties that I was familiar with from years of working with file conversions.
Later I went over to Zoetrope and looked at a script there. The Zoetrope script had some of the same issues. I thought it might be worthwhile just to point out some problems that you can avoid, because these are the things that most often get messed up when you convert a script.
This is rewritten from the Zoetrope script, so as to avoid copyright issues, but the skeleton is the same.
Original
EXT. PARK - DAY
A VAGRANT
sits on a bench. He wears torn clothes and
boots with holes in them. Beside him is a
small can with some dollar bills.
ANDERSON
walks along and passes by the Vagrant. He
pays no attention to the man on the bench.
The Vagrant yawns.
PING
The Vagrant looks into the can and picks it
up and rattles it. The noise of a coin inside
is obvious. He dozes off.
PING! PONG! CLINK!
Again the Vagrant looks into the can and picks
it up to shake it.
In the original, the ALL CAPS lines (after the Scene Heading) are action lines, meant to focus the reader's attention. I understand what the writer is going for ... but the technique creates problems in file conversion. Here is what you get when you import into FinalDraft:
EXT. PARK - DAY
A VAGRANT
sits on a bench. He wears torn
clothes and boots with holes in
them. Beside him is a small can
with some dollar bills.
ANDERSON
walks along and passes by the
Vagrant. He pays no attention
to the man on the bench.
The Vagrant yawns.
PING
The Vagrant looks into the can
and picks it up and rattles it. The
noise of a coin inside is obvious.
He dozes off.
PING! PONG! CLINK!
Again the Vagrant looks into the can and
picks it up to shake it.
FinalDraft thinks that one- or two-word ALL CAPS single lines at the left margin are Character Names. It thinks that longer lines like
PING! PONG! CLINK!
are Scene Headings. FinalDraft formatted it as a Scene Heading in the conversion.
The take-home lesson is: If you think you may have to convert a file, steer away from that kind of formatting.
You can still use ALL CAPS, but you need to avoid ALL CAPS words by themselves on a single line. Instead, try something like:
A PING makes the Vagrant open his eyes.
Honestly, I did not test that last line, but I know from past experiences that you have good results with action lines as long as they are not ALL CAPS.
Allniter
03-10-2009, 12:03 AM
I've had similar experiences converting to FD. The fault doesn't lie with the screenwriter, but in the FD software. The coders probably read the flat file in a single line at a time and make assumptions about caps. If they would read a few lines into the buffer they could see the blank line following the sound effect (or whatever), and test it against a scene heading, perhaps by looking for a telltale INT or EXT sequence. I've seen other bugs embedded in the code in FD, like losing cursor position. Just a little lazy. I'd say just go about writing the way you want, then be sure to proof it after the conversion. One day the FD guys will address these issues.
LatteAddict
03-10-2009, 05:46 AM
Amen to that, Allniter: the day we adapt our writing style to software inadequacies, I'd say it's our final surrender to the screenwriting software companies.
In fact, I'm surprised that we allow for screenwriting software to be so full of flaws without making noise about it -- I am constantly reporting new bugs to the makers of my screenwriting program of choice, and constantly surprised to realize reports like that don't seem to be very common.
(The result isn't only that I seem to be a complete complaining pain-in-the-derriere, but also that the problems are never fixed since people don't shout enough about them...)
This is a bit OT, I know, because import/export is just one of many flaws -- regardless of which of the two giants you use, there are lots of bumps in the road that needs to be evened out, and fixes and patches are years apart.
Isn't it a bit strange that we just keep accepting that?
/L.A.
ComicBent
03-10-2009, 09:24 AM
FinalDraft has actually improved tremendously, I think, in file conversion.
I have thought a lot about the problems involved in doing a conversion, and they are daunting. I am actually impressed at how well the two big players accomplish this.
Allniter, you have obviously done some thinking about this, too. I have played around with some algorithms that would theoretically help in doing a conversion. Unfortunately, my programming knowledge is too limited for me to implement these things.
Latté, I agree with you that software companies do not seem to be responsive about things that really could be fixed or changed or implemented, because they were being done even in the DOS era! I am thinking, in particular, of the NOTE function in FinalDraft. It is a dinky little window, and if you have a high-resolution monitor, the type is so small that you almost cannot read it. You can resize the window, but it does not remember the resizing for the next time that you use it. As for the font size of the notes, you can manually change the size; but, again, the window does not remember. When I use MMS 6, I encounter some clunky things that drive me crazy, too.
LatteAddict
03-10-2009, 10:37 AM
Okay, heavy geekiness ahead. Be warned. :)
I have thought a lot about the problems involved in doing a conversion, and they are daunting.
I respectfully must disagree with you on this one. In fact, I can't see why it should present a problem at all: since RTF is a style-aware format, nothing should be simpler than to export each paragraph with its corresponding style attribute, then interpret these styles when imported.
I just wrote a short scene in MMS6 and exported it to RTF, then opened it in a plain text editor. Here's what I learned.
The styles are indeed defined in the beginning of the document, as can be seen below. One problem, obviously, is the fact that no SHOT style is defined (nor is any of MMS's new element types, such as ACT, SEQUENCE etc). No doubt, that will present a problem at import time.
{\s1\fi0\li1080\ri1080\f0\fs24 \caps\ql \sb240\snext2\sbasedon0 SCENE HEADING;}
{\s2\fi0\li1080\ri1080\f0\fs24 \ql \sb240\snext2\sbasedon0 ACTION;}
{\s3\fi0\li3960\ri2520\f0\fs24 \caps\ql \sb240\snext5\sbasedon0 CHARACTER NAME;}
{\s4\fi0\li3240\ri3240\f0\fs24 \ql \snext5\sbasedon0 PARENTHETICAL;}
{\s5\fi0\li2520\ri2520\f0\fs24 \ql \snext2\sbasedon0 DIALOG;}
{\s6\fi0\li5400\ri1080\f0\fs24 \caps\qr \sb240\snext1\sbasedon0 TRANSITION;}
Then, before each paragraph, the title of the style (called \s1, \s2 etc) is repeated (note that the SHOT element "ON THE DESK" is given the style \s1 for SCENE HEADING)
{\pard\plain \ql \caps\sb240\f0\fs24\s1\fi0\ri144\li2160 INT. WRITE'S ROOM - DAY\par}
{\pard\plain \ql \sb240\f0\fs24\s2\fi0\ri144\li2160 MR Write paces restlessly around in his room.\par}
{\pard\plain \ql \caps\sb240\f0\fs24\s1\fi0\ri144\li2160 ON THE DESK\par}
{\pard\plain \ql \sb240\f0\fs24\s2\fi0\ri144\li2160 his computer hums silently, the cursor blinking on a blank screen.\par}
{\pard\plain \ql \caps\sb240\f0\fs24\s3\fi0\ri144\li5328 MR WRITE\par}
{\pard\plain \ql \sb0\f0\fs24\s4\fi-140\ri3600\li4320 (upbeat)\par}
{\pard\plain \ql \sb0\f0\fs24\s5\fi0\ri2016\li3600 Okay. Maybe I should go make some coffee. That'll get me going.\par}
So, why anything should be hard to interpret from that beats me (even though some things puzzle me: \li and \ri means left and right indent, so I wonder why that is set both in the style AND in the paragraph itself -- and why they don't correspond.)
Now, doing the same thing from Final Draft produces a much larger file, since for some reason FD finds it appropriate to include in the RTF file the name of every font I have installed on my system.
But, some hundred-and-twenty lines down, I find some similar information to the MMS-created RTF file:
{\s1\li2340\ri1880\f144\sb0 \sbasedon0\snext1 GENERAL;}
{\s2\caps\li2340\ri1880\f144\sb480 \sbasedon0\snext3 SCENE HEADING;}
{\s3\li2340\ri1880\f144\sb240 \sbasedon0\snext3 ACTION;}
{\s4\caps\li5580\ri2960\f144\sb240 \sbasedon0\snext6 CHARACTER NAME;}
{\s5\li4860\ri3500\f144\sb0 \sbasedon0\snext6 PARENTHETICAL;}
{\s6\li3780\ri2780\f144\sb0 \sbasedon0\snext3 DIALOG;}
{\s7\caps\li7200\ri1880\f144\sb240 \sbasedon0\snext2 TRANSITION;}
{\s8\caps\li2340\ri1880\f144\sb240 \sbasedon0\snext3 SHOT;}
And then, further down, the script itself:
{\pard\plain \ql \caps\sb480\f144\fs24\sl180\s2\fi0\ri1800\li2340 INT. WRITE'S ROOM - DAY\par }
{\pard\plain \ql \sb240\f144\fs24\sl180\s3\fi0\ri1800\li2340 MR Write paces restlessly around in his room.\par }
{\pard\plain \ql \caps\sb240\f144\fs24\sl180\s8\fi0\ri1800\li2340 ON THE DESk\par }
{\pard\plain \ql \sb240\f144\fs24\sl180\s3\fi0\ri1800\li2340 his computer hums silently, the cursor blinking on a blank screen.\par }
{\pard\plain \ql \caps\sb240\f144\fs24\sl180\s4\fi0\ri2880\li5580 MR WRITE\par }
{\pard\plain \ql \sb0\f144\fs24\sl180\s5\fi-140\ri3420\li4860 (upbeat)\par }
{\pard\plain \ql \sb0\f144\fs24\sl180\s6\fi0\ri2700\li3780 Okay. Maybe I should go make some coffee. That'll get me going.\par }
Anyways. While different (and while this short little scene could be imported back and forth between MMS and FD without problems) it seems both programs export pretty valid RTF files, with enough detail for the other program to read it. The only problem should be that FD should read MMS shots as Scene Headings, but that would be more or less by design.
So. Why importing/exporting is still a problem, and why at the end of the day we still have to sit and go over the script paragraph by paragraph to correct things, that's beyond me. The way I see it, it can only be because of buggy code either when exporting more complex scripts, or when importing them, or both.
But seeing as how straight-forward this file format is, I really can't see why it isn't fool proof. All we know is it isn't.
And in the end, I would go as far as to say that once again, this is because we don't tell the software companies that their products aren't good enough as they are.
I mean, we all know our work has to be perfect before letting a prospective buyer read it. So why shouldn't we demand the same...?
/L.A.
ComicBent
03-10-2009, 05:24 PM
(My comment about the programming difficulty being "daunting" was unintentionally misleading. Sorry. I was thinking, not about RTF, but about taking text-file screenplays, which do not have paragraph styles attached, and converting them into the format that we use here on the board when we post pages. It is an old project of mine that I have toyed with for a long time.)
I have looked at that RTF code before, Fredrik. In fact, I have been looking at it for years.
I agree with you that RTF should work.
I do not know why it does not. Every new style (e.g., one that FinalDraft has that MMS does not) should still have a definition of itself, which the importing program should be able to read.
Maybe you are right, and it is just lazy coding. I even read up a bit on RTF just now on Wikipedia. I don't know why it does not work better. RTF has gone through several implementations and is still owned by Microsoft. I know I have had some very bizarre results when saving as RTF and then opening in different programs.
There is more to this story of RTF and export/import than meets the eye. The Sophocles program exemplified excellent programming. It imported formatted text and RTF files pretty well. But even it would go nuts in a few places and turn paragraphs into the wrong style.
vBulletin v3.6.2, Copyright ©2000-2013, Jelsoft Enterprises Ltd.