Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        private void btnImportSamplesFromMix_Click(object sender, EventArgs e)
        {
            var mixSamples = TrackSampleLibrary.GetMixSectionsAsSamples(LibraryTrack);

            Samples.AddRange(mixSamples);

            UpdateCurrentSample();
            BindSamples();
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        /// <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();
        }
Esempio n. 5
0
        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;
            }
        }
Esempio n. 6
0
        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;
        }