private void AddSample(string sampleName, double start, double length) { var sample = new Sample { Description = sampleName }; if (LibraryTrack != null) { TrackSampleLibrary.UpdateSampleFromTrack(sample, LibraryTrack); } Samples.Add(sample); CurrentSample = sample; trackWave.CurrentSample = sample; trackWave.Samples = Samples; sample.Start = start; sample.Length = length; sample.Bpm = BpmHelper.GetBpmFromLoopLength(sample.Length); RefreshTrackWavePositions(); BindData(); }
private void btnImportSamplesFromMix_Click(object sender, EventArgs e) { var mixSamples = TrackSampleLibrary.GetMixSectionsAsSamples(LibraryTrack); Samples.AddRange(mixSamples); UpdateCurrentSample(); BindSamples(); }
private void LoadFromDatabase() { Library.LoadFromDatabase(); TrackSampleLibrary.LoadFromCache(); MixLibrary.AvailableTracks = Library.GetTracks(); MixLibrary.LoadFromDatabase(); ExtenedAttributesHelper.ShufflerFolder = Library.ShufflerFolder; ExtenedAttributesHelper.LoadFromDatabase(); Library.LoadAllExtendedAttributes(); AutomationAttributesHelper.ShufflerFolder = Library.ShufflerFolder; AutomationAttributesHelper.LoadFromDatabase(); CollectionHelper.LoadFromDatabase(); LoopLibrary.LoadFromCache(); }
/// <summary> /// Saves the track. /// </summary> private void SaveSamples() { trackWave.Stop(); RefreshTrackWavePositions(); UpdateCurrentSample(); foreach (var sample in Samples) { sample.Gain = trackWave.GetNormalizationGain(sample.Start, sample.Length); } if (_updateSampleLibrary) { TrackSampleLibrary.UpdateTrackSamples(LibraryTrack, Samples); TrackSampleLibrary.SaveToCache(); } Close(); }
private void Initialise() { trackWave.Mode = TrackWave.TrackWaveMode.Sampler; trackWave.BassPlayer = BassPlayer; Track = trackWave.LoadTrack(Filename); LibraryTrack = Library.GetTrackByFilename(Filename) ?? Library.LoadNonLibraryTrack(Filename); cmbOutput.SelectedIndex = 0; if ((Samples == null || (Samples != null && Samples.Count == 0)) && LibraryTrack != null) { _updateSampleLibrary = true; Samples = TrackSampleLibrary .GetSamples(LibraryTrack) .Select(sample => sample.Clone()) .ToList(); } else { if (LibraryTrack != null && Samples != null) { foreach (var sample in Samples) { TrackSampleLibrary.UpdateSampleFromTrack(sample, LibraryTrack); } } } trackWave.Samples = Samples; btnImportSamplesFromMix.Visible = LibraryTrack != null && LibraryTrack.IsShufflerTrack; BindData(); for (var i = 0; i < lstSamples.Items.Count; i++) { lstSamples.Items[i].Selected = lstSamples.Items[i].Text == InitialSample; } }
public ShufflerApplication() { BassPlayer = new BassPlayer(); Library = new Library(BassPlayer); CollectionHelper.Library = Library; LoopLibrary = new LoopLibrary(BassPlayer); LoadSettings(); MixLibrary = new MixLibrary(Library.ShufflerFolder); TrackSampleLibrary = new TrackSampleLibrary(BassPlayer, Library); MidiManager = new MidiManager(); MidiMapper = new BassPlayerMidiMapper(BassPlayer, MidiManager); //LoopLibrary = new LoopLibrary(BassPlayer, @"E:\OneDrive\Music\Samples\Hiphop\Future Loops Scratch Anthology"); LoadFromDatabase(); BassPlayer.OnTrackQueued += BassPlayer_OnTrackQueued; }