private void ExportSamples(List <Sample> samples)
        {
            StopSamples();

            Cursor = Cursors.WaitCursor;


            var folder = FileDialogHelper.OpenFolder();

            if (folder == "")
            {
                return;
            }

            ParallelHelper.ForEach(samples, sample =>
            {
                var track = SampleLibrary.GetTrackFromSample(sample);
                if (track == null)
                {
                    return;
                }

                var outPath = Path.Combine(folder, track.Genre);

                if (!Directory.Exists(outPath))
                {
                    Directory.CreateDirectory(outPath);
                }

                var outFile = FileSystemHelper.StripInvalidFileNameChars($"{sample.Bpm:000.00} - {sample.TrackArtist} - {sample.TrackTitle} - {sample.Description}.wav");

                outPath = Path.Combine(outPath, outFile);

                if (File.Exists(outPath))
                {
                    File.Delete(outPath);
                }

                AudioExportHelper.SavePartialAsWave(track.Filename, outPath, sample.Start, sample.Length, sample.Offset,
                                                    sample.Gain);
            });

            Cursor = Cursors.Default;
        }
        /// <summary>
        ///     Handles the Click event of the btnEdit control.
        /// </summary>
        private void btnEdit_Click(object sender, EventArgs e)
        {
            const string editPath = @"C:\Program Files (x86)\coolpro2\coolpro2.exe";
            var          output   = Path.Combine(Path.GetTempPath(), @"Shuffler.wav");

            if (!File.Exists(editPath))
            {
                return;
            }

            AudioExportHelper.SaveAsWave(BassTrack.Filename, output);

            if (!File.Exists(output))
            {
                return;
            }
            output = $"\"{output}\"";

            Process.Start(editPath, output);
        }