private BeatBarPreviewData GeneratePreviewData() { BeatBarPreviewData previewData = new BeatBarPreviewData(1); QMBarBeatTrack plugin = new QMBarBeatTrack(m_audioModule.Frequency); plugin.SetParameter("bpb", 4); plugin.Initialise(1, (uint)plugin.GetPreferredStepSize(), (uint)plugin.GetPreferredBlockSize()); IDictionary <int, ICollection <ManagedFeature> > featureSet = GenerateFeatures(plugin, m_fSamplesPreview, false); previewData.BeatPeriod = EstimateBeatPeriod(featureSet[2]); BeatBarSettingsData settings = new BeatBarSettingsData("Preview"); settings.Divisions = 1; settings.BeatSplitsEnabled = false; settings.NoteSize = 4; settings.BeatsPerBar = 4; List <MarkCollection> collections = ExtractBeatCollectionsFromFeatureSet(featureSet[2], settings); MarkCollection allCollection = new MarkCollection(); allCollection.Name = "Beat Marks"; collections.ForEach(x => allCollection.AddMarks(x.Marks)); allCollection.EnsureOrder(); previewData.PreviewCollection = allCollection; settings.BeatSplitsEnabled = true; settings.Divisions = 2; collections = ExtractSplitCollectionsFromFeatureSet(featureSet[2], settings); allCollection = new MarkCollection(); allCollection.Name = "Beat Split Marks"; collections.ForEach(x => allCollection.AddMarks(x.Marks)); allCollection.EnsureOrder(); previewData.PreviewSplitCollection = allCollection; return(previewData); }
private BeatBarPreviewData GeneratePreviewData() { BeatBarPreviewData previewData = new BeatBarPreviewData(1); QMBarBeatTrack plugin = new QMBarBeatTrack(m_audioModule.Frequency); plugin.SetParameter("bpb", 4); plugin.Initialise(1, (uint)plugin.GetPreferredStepSize(), (uint)plugin.GetPreferredBlockSize()); IDictionary<int, ICollection<ManagedFeature>> featureSet = GenerateFeatures(plugin, m_fSamplesPreview, false); previewData.BeatPeriod = EstimateBeatPeriod(featureSet[2]); BeatBarSettingsData settings = new BeatBarSettingsData("Preview"); settings.Divisions = 1; settings.BeatSplitsEnabled = false; settings.NoteSize = 4; settings.BeatsPerBar = 4; List<MarkCollection> collections = ExtractBeatCollectionsFromFeatureSet(featureSet[2], settings); MarkCollection allCollection = new MarkCollection(); allCollection.Name = "Beat Marks"; collections.ForEach(x => allCollection.Marks.AddRange(x.Marks)); allCollection.Marks.Sort(); previewData.PreviewCollection = allCollection; settings.BeatSplitsEnabled = true; settings.Divisions = 2; collections = ExtractSplitCollectionsFromFeatureSet(featureSet[2], settings); allCollection = new MarkCollection(); allCollection.Name = "Beat Split Marks"; collections.ForEach(x => allCollection.Marks.AddRange(x.Marks)); allCollection.Marks.Sort(); previewData.PreviewSplitCollection = allCollection; return previewData; }