예제 #1
0
 public async Task <List <TrackChunk> > RefreshTrackChunks(BmpSong song)
 {
     if (ProcessorConfig is null)
     {
         throw new BmpTransmogrifyException("No configuration in this container.");
     }
     return(ProcessorConfig switch
     {
         ClassicProcessorConfig classicProcessorConfig => await new ClassicProcessor(classicProcessorConfig, song).Process(),
         LyricProcessorConfig lyricProcessorConfig => await new LyricProcessor(lyricProcessorConfig, song).Process(),
         VSTProcessorConfig vstProcessorConfig => await new VSTProcessor(vstProcessorConfig, song).Process(),
         _ => throw new BmpTransmogrifyException(ProcessorConfig.GetType() + " is not a supported configuration type."),
     });
 internal VSTProcessor(VSTProcessorConfig processorConfig, BmpSong song) : base(song)
 {
     ProcessorConfig = processorConfig;
 }