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; }