Samples/Story/FBStoryFolder.py

Samples/Story/FBStoryFolder.py
1 # Copyright 2013 Autodesk, Inc. All rights reserved.
2 # Use of this software is subject to the terms of the Autodesk license agreement
3 # provided at the time of installation or download, or which otherwise accompanies
4 # this software in either electronic or hard copy form.
5 #
6 # Script description:
7 # Shows how story tracks (FBStoryTrack) can be organized into folders (FBStoryFolder),
8 # and how FBStoryFolder can be manipulated, e.g., showing it as in collapsed/expanded view,
9 # or making all tracks under it muted etc.
10 #
11 # Topic: FBStoryFolder, FBStoryTrack
12 #
13 from pyfbsdk import *
14 
15 # Bring up Story Tool to see the effects of this sample (e.g., via main menu, Window->Story)
16 
17 # Create three FBStoryFolder(s), two of which are children folder of the other one.
18 lParentFolder = FBStoryFolder()
19 lParentFolder.Label = 'My Parent Folder'
20 lCollapsedFolder = FBStoryFolder( lParentFolder )
21 lCollapsedFolder.Label = 'Collapsed Child - Muted'
22 lExpandedFolder = FBStoryFolder( lParentFolder )
23 lExpandedFolder.Label = 'Expanded Child - Solo'
24 
25 # Create some empty FBStoryTrack(s) to illustrate the collapsed/expanded folder view
26 lParentTrack = FBStoryTrack(FBStoryTrackType.kFBStoryTrackCharacter)
27 lExpandedFolder.Tracks.append( lParentTrack )
28 lExpandedFolder.Tracks.append( FBStoryTrack(FBStoryTrackType.kFBStoryTrackAudio) )
29 
30 # Illustrate create sub tracks in two ways
31 lParentTrack.CreateSubTrack(FBStoryTrackType.kFBStoryTrackCharacter, FBStoryTrackRefMode.kFBStoryTrackOverride)
32 lParentTrack.SubTracks.append( FBStoryTrack(FBStoryTrackType.kFBStoryTrackCharacter) )
33 
34 lCollapsedFolder.Tracks.append( FBStoryTrack(FBStoryTrackType.kFBStoryTrackAnimation) )
35 lCollapsedFolder.Tracks.append( FBStoryTrack(FBStoryTrackType.kFBStoryTrackAudio) )
36 lCollapsedFolder.Collapsed = True
37 
38 # Mute the collapsed folder
39 lCollapsedFolder.Mute = True
40 
41 # Make the expanded folder Solo
42 lExpandedFolder.Solo = True