avsFilmCutter

Multiple Source Editing

1 September 2007     next version 0.0.2.1 beta   Sometime in 2007
Some early comments about the reworked editor

new look

Although prying FilmCutter open and installing multiple dynamic character and pointer arrays has a certain appeal to the masochistic tendencies in a person, the damage caused by the crowbar approach to coding leaves a mess similar to swiss cheese.  The problems ultimately are the holes.


The image to the left shows the display items that have been removed or at least changed so that they no longer lurk around visible and taking up space always.

Changes of importance:
  • Encoding button, on the menu
  • Encoder icon, gone
  • Encoder label, gone
  • External viewer button, gone
  • Encodng with lable, gone
  • Source / Project buttons, gone
  • Transiton group box, pop-up


  • The most important difference in the new interface is the ability to add more than one source script to an editing project.

    Clicking the ' a ' button pops the list open and a single click on the desired source switches the editor to that source.  The letter in the button changes to keep track of the source in use and the status bar will display the current source file name.

    You should have guessed by now that the ' T ' button toggles the transition / effects popup window for selecting fades or dissolves ( "None" finally made it to the list ).

    Below the ' a ' and ' T ' buttons the trim frames lable now reads "Scene Frames".  Looking at the list a source column has been added, the ' + ' is a place holder and will only be in front of a transition in the list.

    This is what replaces the x'ed out source / project buttons.  I hope this is simple enough.

    Trying very hard to make this thing fool proof, if it can not be intuitive, in other words if you try to edit while viewing the result of your work, FilmCutter will reconfigure and let you.  Not to hard to do once the pointer, file and status arrays are defined, might as well use them.


    The following shows the old project file format.

    Project File Name
    C:\Documents and Settings\HP_Administrator\My Documents\VidScripts\MyVidcutdemo.jfc

    Script Source File
    C:\Documents and Settings\HP_Administrator\My Documents\VidScripts\MyVid.avs

    Project Script File
    C:\Documents and Settings\HP_Administrator\My Documents\VidScripts\MyVidcutdemo_fcprj.avs

    Frame Editor Data
    r01 FadeIn 240 5600 8660
    r02 Dissolve 60 - -
    r03 - - 36073 47246
    r04 Dissolve 60 - -
    r05 - - 61030 74261
    r06 Dissolve 60 - -
    r07 FadeOut 120 82360 91857
    End Project File


    To convert the above to 2.1 multi-source format, change the row data as shown below.

    Frame Editor Data
    r01 a FadeIn 240 5600 8660
    r02 + Dissolve 60 - -
    r03 a - - 36073 47246
    r04 + Dissolve 60 - -
    r05 a - - 61030 74261
    r06 + Dissolve 60 - -
    r07 a FadeOut 120 82360 91857
    End Project File

    Below you can see the new format, it just lists the source files in order a,b and c.

    Project File Name
    C:\Documents and Settings\HP_Administrator\My Documents\VidScripts\2test.jfc

    Script Source File
    C:\Documents and Settings\HP_Administrator\My Documents\VidScripts\MyVid.avs
    C:\Documents and Settings\HP_Administrator\My Documents\VidScripts\MyOtherVid.avs
    C:\Documents and Settings\HP_Administrator\My Documents\VidScripts\YourVid.avs
    C:\Documents and Settings\HP_Administrator\My Documents\VidScripts\HisVid.avs
    C:\Documents and Settings\HP_Administrator\My Documents\VidScripts\HerVid.avs

    Project Script File
    C:\Documents and Settings\HP_Administrator\My Documents\VidScripts\2test_fcprj.avs

    Frame Editor Data
    r01 a - - 5977 8599
    r02 + Dissolve 90 - -
    r03 b - - 5115 5558
    r04 + Dissolve 90 - -
    r05 a - - 25633 26538
    r06 + Dissolve 120 - -
    r07 b - - 40170 41402
    r08 + Dissolve 120 - -
    r09 a - - 46777 47246
    r10 + Dissolve 90 - -
    r11 b FadeOut 90 42133 43865
    r12 c - - 118024 120424
    r13 d - - 141239 144239
    r14 e - - 200128 210800
    End Project File

    This new format supports 26 source files a - z if anyone whats more let me know.

    Frame based editing in avsFilmCutter

    This should be no challenge to anyone except maybe to me, trying to make my explanations intelligible.

    Deciding which ones to show.  And which ones that go.  Is no harder than this.

    001   MySourceInputFilter("mysource.file")
    002
    003   Trim(300, 0)

    If the video source shown above contained 1000 (0-999) frames, the trim statement would show frames 300 though frame 999.

    This next example shows the simple "chop out the commericals" type editing that FilmCutter is well suited for.

    001   AVISource("mysource.avi")
    002
    003   Trim(3652, 18000)+Trim(19800, 46800)+Trim(48200, 51920)

    Notice that UnalignedSplice (+) is used because the clips created by the trim statements all come from the same source file or to quote the AviSynth documentation these clips where "originally contiguous".

    Let's try multiple sources.

    001   clip1 = AVISource("mysource1.avi")  
    002   clip2 = AVISource("mysource2.avi")  
    003   clip3 = AVISource("mysource3.avi")  
    004
    005   clip1++clip2++clip3
    006
    007   Trim(3652, 18000)+Trim(19800, 46800)+Trim(48200, 51920)

    It can be done this way, it is probably a proper way but very hard to automate.  What follows is easier to automate.

    001   c1 = AVISource("mysource1.avi")  
    002   c2 = AVISource("mysource2.avi")  
    003   c3 = AVISource("mysource3.avi")  
    004
    005
    006   Trim(c1, 3652, 18000)+Trim(c2, 1800, 32800)+Trim(c3, 600, 37920)

    001   AVISource("mysource1.avi")  
    002
    003   t1 = Trim(3652, 18000)
    004   t2 = Trim(19800, 46800)
    005   t3 = Trim(48200, 51920)
    006
    007   t1++t2++t3

    Line 3 describes the first scene and allows the addition of fades and we can instert transistions, namely Dissolve and the trans-all functions.