Exemplo n.º 1
0
 void LoadLoopParts(NSPC.NSPC nspc)
 {
     foreach (var s in Songs)
     {
         foreach (var p in s.Parts)
         {
             foreach (var c in p.Channels)
             {
                 foreach (var cmd in c.Commands.OfType <CallLoopCommand>().ToList())
                 {
                     if (false == this.LoopParts.ContainsKey(cmd.LoopAddress))
                     {
                         CallLoopPart loopPart = new CallLoopPart();
                         loopPart.Address  = cmd.LoopAddress;
                         loopPart.Commands = ChannelCommand.GetChannelCommandsFromRawData(nspc.aramBuffer, loopPart.Address);
                         this.LoopParts.Add(loopPart.Address, loopPart);
                         cmd.LoopPart = loopPart;
                     }
                     else
                     {
                         cmd.LoopPart = this.LoopParts[cmd.LoopAddress];
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
 public void LoadFromNSPCTrack(NSPC.Track track)
 {
     this.RawData  = track.RawTrackData;
     this.Commands = ChannelCommand.GetChannelCommandsFromRawData(track.RawTrackData);
 }