Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

PIC.16F.16F18877

Constants

BOOL false     BOOL true    

Globals

BYTE NumChannels     UNSIGNED LONG ROMBytes     UNSIGNED LONG FileIndex     UNSIGNED LONG SampleRate     STRING Filename     BYTE FileFunction     BYTE BitsPerSample    

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

Write_4_Byte_Packet

Return:     VOID
Params:     SIGNED INT idx     UNSIGNED LONG Data    
Vars:     BYTE dat0     BYTE dat1     BYTE dat2     BYTE dat3    

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

Read_2_Byte_Packet

Return:     UNSIGNED INT
Params:     BYTE idx    
Vars:     BYTE dat0     BYTE dat1     STRING Data    

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

Ev_Initialise

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

Read_4_Byte_Packet

Return:     UNSIGNED LONG
Params:     SIGNED INT idx    
Vars:     BYTE dat0     BYTE dat1     BYTE dat2     BYTE dat3     STRING Data    

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

StartPlayback

Return:     BYTE
Params:     STRING Filename    

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

EndOfFile

Return:     BOOL

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

Ev_Property

Return:     UNSIGNED LONG
Vars:     HANDLE Handle    

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

Ev_LoadComplete

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

ProcessBuffer

Return:     BYTE
Vars:     UNSIGNED INT BufferBytes     BYTE data    

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

StopRecording

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

Ev_Renamed

Return:     UNSIGNED LONG
Vars:     STRING Name    

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

PutNextSample

Return:     VOID
Params:     UNSIGNED INT Sample    
Vars:     BYTE temp    

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

GetNumChannels

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

StartRecording

Return:     BYTE
Params:     STRING Filename     BYTE BitsPerSample     UNSIGNED LONG SampleRate    

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

GetBitsPerSample

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Write_4_Byte_Packet    /    Read_2_Byte_Packet    /    Ev_Initialise    /    Read_4_Byte_Packet    /    StartPlayback    /    EndOfFile    /    Ev_Property    /    Ev_LoadComplete    /    ProcessBuffer    /    StopRecording    /    Ev_Renamed    /    PutNextSample    /    GetNumChannels    /    StartRecording    /    GetBitsPerSample    /    Main    /    GetNextSample

GetNextSample

Return:     UNSIGNED INT
Vars:     BYTE temp    

Your browser does not support the HTML5 canvas tag.

Verison History

Version 0.6
12/09/19 BR - Created initial recursive parser
14/09/19 BR - Added support for disabled icons
18/09/19 BR - Fixed decision icon parsing
19/09/19 BR - Added switch icon support
23/09/19 BR - Fixed recursive loop spacing
27/09/19 BR - Further tweaked spacing and added Macro menu
30/09/19 BR - Improved all string spacing
01/10/19 BR - Improved While icon support