Beispiel #1
0
        /* create a new one */
        public static SequencerTableRec NewSequencerTable()
        {
            SequencerTableRec Table = new SequencerTableRec();

            Table.NameToArray = new Dictionary <string, List <PlayTrackInfoRec> >();

            return(Table);
        }
Beispiel #2
0
        /* get reference to array of items for given name.  may return NIL if no items */
        public static List <PlayTrackInfoRec> SequencerTableQuery(
            SequencerTableRec Table,
            string Name)
        {
            List <PlayTrackInfoRec> Array;

            Table.NameToArray.TryGetValue(Name, out Array);
            return(Array);
        }
Beispiel #3
0
        /* add an item */
        public static void SequencerTableInsert(
            SequencerTableRec Table,
            string Name,
            PlayTrackInfoRec Object)
        {
            List <PlayTrackInfoRec> Array;

            if (!Table.NameToArray.TryGetValue(Name, out Array))
            {
                Array = new List <PlayTrackInfoRec>();
                Table.NameToArray.Add(Name, Array);
            }

            Array.Add(Object);
        }
Beispiel #4
0
 /* remove an object */
 public static void SequencerTableRemoveObject(
     SequencerTableRec Table,
     PlayTrackInfoRec Object)
 {
     foreach (KeyValuePair <string, List <PlayTrackInfoRec> > entry in Table.NameToArray)
     {
         int i = entry.Value.IndexOf(Object);
         if (i >= 0)
         {
             entry.Value.RemoveAt(i);
             return;
         }
     }
     // object was not found
     Debug.Assert(false);
     throw new InvalidOperationException();
 }