Jump to content
Light-O-Rama Forums
Sign in to follow this  
jerrymac

JM04-Import configeration with RGB channels in tracks

Recommended Posts

Report Number: JM04

Module:  SequenceEditor

Software Version: 4.0.16

OS Version: Windows 7 Home

Description:
Importing channel configeration removes DMX RGB channels from tracks  also converts RGB channels in main sequence track to indivudual R G & B channels (loose RGB data).  RGB channels in additional tracks made using the copy to track function).

Repeatability: Happens every time also occurred with version 4.0.15

 

Create sequence with 5 LOR channels and 5 DMX RGB channels.  (sequence data not necessary)  

copy DMX channels to new track using the copy to track function.

Export channel configuration

 

Add 20 channels above existing channel data (to make room for import)

Add 20 channels to additional track above existing channel data (to make room for import)

Import channel configuration.

check what was the existing RGB channels (have reverted to individual R, G , B channels. 

RGB channels in additional Track have disappeared.

 

 

 

Share this post


Link to post
Share on other sites

I just tried this out and it operated as it is supposed to (and I believe as how you are describing).  Channel config export/import is complicated, especially in the cases of multiple tracks and of tracks with groupings (such as RGB channels or channel group lists), and perhaps difficult to understand. 

 

Before going into an explanation of what's happening here, I'll note that users have come up with various "best practices" for export and import that they follow in order to get things to behave in the ways that they hope.  Perhaps some users could elaborate on that here, or perhaps they might if you start a new thread asking about export/import best practices.  With that said:

 

The channel grouping structure is determined by the channel configuration file; the channel grouping structure of the sequence that you're importing into is essentially thrown away as one of the first steps -- i.e. groups (such as RGB channels) are replaced with their constituent channels -- to later be replaced by the grouping structure of the config file.  In the case you're describing, the channel config file does not contain anything in the second track past the five RGB channels - i.e. fifteen channels - and so the channel config file has no opinion about how channels sixteen through thirty-five from the sequence should be grouped.  It therefore leaves them as channels.

Share this post


Link to post
Share on other sites

In the past I have maintained track 1 as a master track only adding or renaming/reallocating channels. Never deleting or inserting channels and things seem to have gone well.

 

My assumption was that as a new configuration was imported it matched up the channels one for one.

 

In my master track I only have groups for the big sets of pixel lights. I accidentally deleted one of the groups and everything still imported fine. 

 

So when the channels are being lined up does it ignore groups? Sounds like from the above that is what happens.

Share this post


Link to post
Share on other sites

It does not ignore groups.  it sets the groups to the groups of the config file.  If you look at, for example, the top of the second track in the sequence after the import, there are RGB channels there.  This is because the top of the second track in the config file has RGB channels there.

 

I do not believe that export/import has changed in any significant way in S4, if at all, and in fact I don't believe it has changed significantly in a long time.  The most recent significant change was back in 2.8.4, where the overall methodology that import uses today was first put in place.  That was about five years ago.  I might have missed some minor changes, but the most recent minor change that I have noticed (in my brief look back through the history) was in version 3.1.0, about three and a half years ago; that was a bug fix involving the import of subsequence channels.

 

Here are the crazy gory details on how import works, and has worked since 2.8.4:

 

(1) The sequence's tracks are all flattened down to channels.  That is, any grouping structures (such as channel group lists and RGB channels) are removed, and replaced with their constituent channels.  Note (and this is true in any "flattening to channels" operation, not just this particular one related to channel import) that while it is possible for a channel to be in any given track more than once (for example, once directly in the track and once in a channel group list that is itself in the track), it is NOT possible for a channel to be directly in any given track more than once, and so as part of this "flattening" process, duplicate copies of any given channel within any given track are removed, with only the first occurrence of any given channel within any given track remaining.

 

(2) If any particular channel is in more than one track in the sequence, all but the first occurrence of each such channel are removed from the sequence.

 

(3) For each track in the config file:

 

(3A) If there is not already a corresponding track in the sequence (for example, the sequence has two tracks, but we're currently processing the third track of the config file), a track is added to the sequence.  This new track in the sequence is now "the corresponding track".

 

(3B) Various information about the config file's track itself (such as the track's name) is copied to the corresponding track in the sequence.

 

(3C) The config file's track is temporarily flattened to channels (in the same manner as described above for the sequence).  The grouping structure is remembered, though, because it will be used later, but for now the track is flat.

 

(3D) For each channel in the config file's track:

 

(3D1) If the channel has already been "mapped" (see below) to a corresponding channel in the sequence, that corresponding channel in the sequence is inserted into the track at the corresponding spot as the channel in the config file's track.

 

(3D2) Otherwise:

 

(3D2A) If there is no corresponding channel in the sequence's track (for example, the sequence's track has 12 channels but we're currently processing the 13th channel from the config file's track), a new channel is created in the sequence and inserted at the corresponding spot as the channel from the config file's track.

 

(3D2B) The corresponding channel in the sequence (regardless of whether it was newly created in step 3D2A or if it was previously existing) is now considered "mapped" from the channel in the config file.

 

(3D2C) Various information about the channel in the sequence (such as its circuit ID) is copied from the channel in the config file.

 

(4) For each track in the channel config file:

 

(4A) The track is "unflattened" - i.e. its channel grouping structure, which we removed in step 3C, is restored.

 

(4B) The track is considered to be a more general thing than a track - something called a "channel group", of which tracks are one particular type, RGB channels are another, and even a single channel is considered to be a channel group; there are several other types as well.  The corresponding track from the sequence is also considered to be a channel group.

 

(4C) The number of channel groups directly within the sequence's channel group is determined, as is the number directly within the config file's channel group.

 

(4D) Each channel group directly in the sequence's channel group that is already mapped to by some channel group in the config file's channel group is removed from the sequence's channel group.

 

(4E) For each channel group directly in the config file's channel group:

 

(4E1) If that channel group maps to some channel group in the sequence, that channel group from the sequence is inserted into the sequence's channel group at the same index as the config file's channel group within the config file's channel group.  Otherwise:

 

(4E2) A new channel group of the appropriate type is created and added to the sequence's channel group at the same index as the config file's channel group within the config file's channel group.  For example, if the config file has an RGB channel, an RGB channel is created in the sequence in the appropriate spot.  These two channel groups are now considered mapped.

 

(4E3) Various information such as the channel group's name is copied over from the config file to the sequence file.

 

(4E4) Steps 4C through this step itself are repeated recursively for any channel groups in the channel group.

 

(5) The sequence's animation is replaced by the config file's animation, using the corresponding mappings of channel group to channel group.

 

(6) In some cases it is now possible that we may have tracks in the sequence which contain no channels/RGB channels/whatever at all.  Any such tracks are removed from the sequence.

Share this post


Link to post
Share on other sites

Thanks.

Edited by jerrymac

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...