public Option <DomainError> Add(Track track)
        {
            var trackToAddAlreadyInPlayList = TrackList.FirstOrDefault(x => x.Id.Equals(track.Id));

            if (trackToAddAlreadyInPlayList != null)
            {
                return(DomainError.CannotAddSameTrackTwice);
            }
            TrackList.Add(track);
            return(Option <DomainError> .None);
        }
Ejemplo n.º 2
0
        public void Add_InitItem_ContainsItem(int[] items)
        {
            var list = new TrackList <int>();

            for (int i = 0; i < items.Length; i++)
            {
                var addedValue = items[i];
                list.Add(addedValue);
                var containsValue = list[list.Count - 1];
                Assert.AreEqual(addedValue, containsValue);
            }
        }
Ejemplo n.º 3
0
        public ImportedAnimationKeyframedTrack FindTrack(string name)
        {
            var track = TrackList.Find(x => x.Name == name);

            if (track == null)
            {
                track = new ImportedAnimationKeyframedTrack {
                    Name = name
                };
                TrackList.Add(track);
            }
            return(track);
        }
Ejemplo n.º 4
0
        private void SortTracks()
        {
            if (Tracks == null)
            {
                return;
            }

            var sorted = Tracks.OrderBy(p => p.Title);

            TrackList.Clear();
            foreach (var item in sorted)
            {
                TrackList.Add(item);
            }
        }
Ejemplo n.º 5
0
 //fill tracks from selected playlist
 public void ItemClicked(PlayList item)
 {
     try
     {
         TrackList.Clear();
         SelectedPlayList = item;
         foreach (var track in item.tracks)
         {
             track.durationStr = "Duration: " + TimeSpan.FromMilliseconds(track.duration).TotalMinutes.ToString("0.00").ToString() + " mins";
             TrackList.Add(track);
         }
     }
     catch (Exception ex)
     {
     }
 }
 public void Load(SearchResult SearchInfo)
 {
     this.SearchInfo = SearchInfo;
     foreach (Album item in SearchInfo.Albums)
     {
         AlbumList.Add(new SearchItem(item.Title, item.Artists[0].Name, TimeHelper.ConverIntToString(item.Duration)));
     }
     foreach (Track item in SearchInfo.Tracks)
     {
         TrackList.Add(new SearchItem(item.Title, item.Artists[0].Name, TimeHelper.ConverIntToString(item.Duration)));
     }
     foreach (Video item in SearchInfo.Videos)
     {
         VideoList.Add(new SearchItem(item.Title, item.Artists[0].Name, TimeHelper.ConverIntToString(item.Duration)));
     }
 }
Ejemplo n.º 7
0
        private void Open()
        {
            OpenFileDialog fdialog = new OpenFileDialog {
                DefaultExt = ".mp3", Filter = "Audio Files (*.mp3,*.wav,*.wmv )|*.mp3;*.wav;*.wmv", Multiselect = true
            };
            bool?result = fdialog.ShowDialog();

            if (!result.HasValue || !(bool)result)
            {
                return;
            }
            foreach (string fileName in fdialog.FileNames)
            {
                TrackList.Add(new Uri(fileName));
            }
            CurrentTrack = TrackList.First();
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Display all tracks from a slected Artists
        /// </summary>
        /// <param name="artistName"></param>
        private void showSelectedArtist(string artistName)
        {
            // Find selected Artist in DB
            Artist currentArtist = ArtistsManager.db_GetAllArtists().Find(x => x.name == artistName);

            // Find all tracks from selected Artist
            foreach (Album album in currentArtist.Albums)
            {
                foreach (Track track in album.Tracks)
                {
                    TrackList.Add(new TrackMetadata {
                        Title = track.title, Album = track.Album.name, Genre = track.Metadata.Genre, Year = (track.Metadata.Year).ToString(), Length = track.Metadata.Length.ToString("hh:mm:ss")
                    });;
                }
            }
            ListVisi = Visibility.Visible;
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Display all tracks from a selected album
        /// </summary>
        /// <param name="albumName"></param>
        private void showSelectedAlbum(string albumName)
        {
            // Find selected album in database
            Album currentAlbum = AlbumsManager.db_GetAllAlbums().Find(x => x.name == albumName);

            AlbumName = currentAlbum.name;

            // Display all tracks from the selected album
            foreach (Track track in currentAlbum.Tracks)
            {
                TrackList.Add(new TrackMetadata {
                    Title = track.title, Number = track.id, Length = track.Metadata.Length.ToString("hh:mm:ss")
                });
            }

            ListVisi = Visibility.Visible;
        }
Ejemplo n.º 10
0
        public void DrawDiagram()
        {
            TrackList.Clear();
            TargetCanvas.Children.Clear();
            helper.BeginTime = BeginTime;
            helper.EndTime   = EndTime;
            TargetObject.TrackList.ForEach(v => TrackList.Add(v));
            helper.SetWidth();
            helper.DrawTimeLine();
            helper.DrawSeparate();
            var th = TrackList.Sum(v => v.Width);
            var d  = 0d;

            foreach (var t in TrackList)
            {
                d += helper.DrawTrack(t, th, d);
            }
        }
Ejemplo n.º 11
0
        public async Task LoadTrackList()
        {
            if (!IsDataLoaded)
            {
                await album.LoadTrackListAsync();

                foreach (var track in album.TrackList)
                {
                    try
                    {
                        TrackViewModel trackVM = new TrackViewModel();
                        trackVM = new TrackViewModel(track);
                        TrackList.Add(trackVM);
                    }
                    catch (Exception) { }
                }
            }
        }
Ejemplo n.º 12
0
 public void Coppy(AlbumViewModel albumvm)
 {
     Title = albumvm.Title;
     if (TrackList != null)
     {
         TrackList.Clear();
     }
     if (albumvm.TrackList != null)
     {
         foreach (var track in albumvm.TrackList)
         {
             TrackList.Add(track);
         }
     }
     Cover        = albumvm.Cover;
     Artist       = albumvm.Artist;
     album        = albumvm.album;
     IsDataLoaded = albumvm.IsDataLoaded;
 }
Ejemplo n.º 13
0
        public async Task <string> LoadPlaylistDataAsync()
        {
            var fileDialog = new CommonOpenFileDialog
            {
                Title = "Select a playlist to load"
            };

            fileDialog.Filters.Add(new CommonFileDialogFilter("M3U Playlist Files", "*.m3u"));

            if (fileDialog.ShowDialog() != CommonFileDialogResult.Ok)
            {
                await Task.Delay(1);

                return(LoadedPlaylistFile);
            }

            TrackList.Clear();

            ViewModelStatus    = "Loading Playlist...";
            LoadedPlaylistFile = "";

            var selectedFile = new FileInfo(fileDialog.FileName);

            var loadedTracks = await PlaylistFileProcessor.LoadPlaylistDataAsync(selectedFile.FullName);

            Environment.CurrentDirectory = selectedFile.DirectoryName;

            foreach (var track in loadedTracks)
            {
                var trackData = await Task.Run(() => MediaFileProcessor.LoadTrackMetadata(track));

                if (trackData != null)
                {
                    TrackList.Add(trackData);
                }
            }

            ViewModelStatus = await Task.Run(() => GetPlaylistSummary());

            //LoadedPlaylistFile = selectedFile.FullName;

            return(selectedFile.FullName);
        }
Ejemplo n.º 14
0
        public override void LoadInfo()
        {
            TargetObject.NodeList.ForEach(v =>
            {
                var item = new DesignItem()
                {
                    Width          = v.Width,
                    Height         = v.Height,
                    Left           = v.Left,
                    Top            = v.Top,
                    ZIndex         = v.ZIndex,
                    IconPath       = v.IconPath,
                    TargetObjectID = v.TargetObjectID,
                    Info           = v.NodeName,
                };
                if (v.IsIconMode)
                {
                    item.ShowMode = DesignItemShowMode.Icon;
                }
                else
                {
                    item.ShowMode = DesignItemShowMode.Full;
                }
            });


            TrackList.Clear();
            TargetObject.TrackList.ForEach(v => TrackList.Add(v));

            TimeSeparateList.Clear();
            TargetObject.TimeSeparateList.ForEach(v => TimeSeparateList.Add(v));

            if (TargetCanvas != null)
            {
                DrawDiagram();
            }
            OnPropertyChanged("Name");
            OnPropertyChanged("Memo");
            OnPropertyChanged("BeginTime");
            OnPropertyChanged("EndTime");
            base.LoadInfo();
        }
Ejemplo n.º 15
0
        public async Task LoadInit(string link)
        {
            if (link == null)
            {
                link = this.link;
            }
            else
            {
                this.link = link;
            }
            List <Track> trackList = await NhacCuaTui.GetTrackByGenreAsync(link, 0);

            TrackList.Clear();
            foreach (var track in trackList)
            {
                TrackViewModel tvm = new TrackViewModel(track);
                TrackList.Add(tvm);
            }
            IsDataLoaded = true;
        }
Ejemplo n.º 16
0
        static void Main(string[] args)
        {
            // Make the euro sign visible
            Console.OutputEncoding = System.Text.Encoding.UTF8;

            // Maak een track aan
            Track t1 = new Track();

            // Maak een time aan
            Time time1 = new Time(400);

            // Voeg de tijd toe aan de track
            t1.Length = time1;

            // Stel de stijl in
            t1.Type = Category.Hardcore;

            // Voeg nog 3 tracks toe met behulp van verschillende
            // constructors
            Track t2 = new Track(2);
            Track t3 = new Track(3, "Yellow");
            Track t4 = new Track(4, "Draait om", "Boef");

            // Maak een tracklist aan
            TrackList tl1 = new TrackList();

            // Voeg de tracks toe aan de tracklist
            tl1.Add(t1);
            tl1.Add(t2);
            tl1.Add(t3);
            tl1.Add(t4);

            // Geef een geshuffelde lijst met tracks
            List <Track> shuffled = tl1.Shuffle();

            // Toon info over de tracklist
            Console.WriteLine("De tracklist telt {0} nummers en duurt {1}",
                              tl1.Count, tl1.TotalTime.ToString());
            Console.WriteLine();

            // Toon de lijst
            Console.WriteLine("Tracks op deze tracklist:");
            Console.WriteLine("".PadRight(50, '='));
            foreach (var track in shuffled)
            {
                Console.Write("Titel: " + track.DisplayName);
                Console.WriteLine(" Speelduur: " + track.DisplayLength);
            }

            EmptyLines(3);

            // Maak een memorecorder aan
            MemoRecorder memo = new MemoRecorder();

            memo.MaxCartridgeType = MemoCartridgeType.C90;
            memo.Make             = "Sony";
            memo.Model            = "FE190";
            memo.PriceExBtw       = 129.95M;
            memo.CreationDate     = DateTime.Now.AddMonths(-6);

            // Toon info over de memorecorder
            Console.WriteLine("Info about memorecorder");
            Console.WriteLine(memo.DisplayIdentity(true, true));
            Console.WriteLine("Price: {0:C}", memo.PriceExBtw);
            Console.WriteLine("Consumer Price: {0:C}", memo.ConsumerPrice);
            Console.WriteLine("Created on: {0}", memo.CreationDate.ToString("d MMMM yyyy"));
            Console.WriteLine(memo.DisplayStorageCapacity());
            Console.ReadKey();
        }
Ejemplo n.º 17
0
        static void Main(string[] args)
        {
            //OPDRACHT 1

            //Track t1 = new Track(1, "Nelly Furtado", "Maneater");
            //t1.AlbumSource = "Loose";
            //t1.Length = new Time(4, 31);
            //t1.Style = Category.Pop;

            //Console.WriteLine(t1.DisplayName);
            //Console.WriteLine(t1.DisplayLength);
            //Console.WriteLine("Tijd in seconden: {0}", t1.GetLengthInSeconds());
            //Console.WriteLine("Category: {0}", t1.Style.ToString());
            //Console.ReadLine();

            //OPDRACHT 2

            //Track t1 = new Track(1, "Prince", "Guitar");
            //t1.Length = new Time(1, 4, 12);

            //Track t2 = new Track(2, "Nelly Furtado", "Say it Right");
            //t2.Length = new Time(4, 41);

            //Track t3 = new Track(3, "David Guetta & Chris Willis", "Love is gone");
            //t3.Length = new Time(3, 50);


            //TrackList trackList = new TrackList();
            //trackList.Add(t1);
            //trackList.Add(t2);
            //trackList.Add(t3);
            //Console.WriteLine("Aantal tracks: {0}", trackList.Count);

            //trackList.Remove(t3);
            //Console.WriteLine("Aantal tracks: {0}", trackList.Count);

            //trackList.Add(t3);
            //Console.WriteLine("Totale tijd tracklist: {0}", trackList.TotalTime);

            //Console.WriteLine();
            //Console.WriteLine("Random lijst:");
            //List<Track> shuffled = trackList.Shuffle();
            //foreach (Track t in shuffled)
            //    Console.WriteLine(t.Id + " " + t.DisplayName);

            //Console.ReadLine();

            //OPDRACHT 3/4

            //MemoRecorder memo = new MemoRecorder(1000);
            //memo.MaxCartridgeType = MemoCartridgeType.C90;
            //memo.Make = "Sony";
            //memo.Model = "FE190";
            //memo.PriceExBtw = 129.95M;
            //memo.CreationDate = DateTime.Now.AddMonths(-6);

            //Console.WriteLine(memo.DisplayIdentity(true, true));
            //Console.WriteLine(memo.DisplayStorageCapacity());
            //Console.WriteLine("Consumer price: {0:f2}", memo.ConsumerPrice);
            //Console.WriteLine(memo.GetDeviceLifeTime());
            //Console.ReadLine();

            //OPDRACHT 5

            //CdDiscMan discman = new CdDiscMan(1000);
            //discman.Make = "JVC";
            //discman.Model = "HG-410";
            //discman.PriceExBtw = 149.00M;
            //discman.DisplayWidth = 320;
            //discman.DisplayHeight = 160;
            //discman.CreationDate = DateTime.Parse("12-2-2006");

            //Console.WriteLine(discman.DisplayIdentity(true, true));
            //Console.WriteLine("Opslag capacity {0}", discman.DisplayStorageCapacity());
            //Console.WriteLine("Display resolution {0} pixels", discman.TotalPixels);
            //Console.WriteLine(discman.GetResolutionInfo());
            //Console.WriteLine("Consumer price: {0:f2}", discman.ConsumerPrice);
            //Console.WriteLine(discman.GetDeviceLifeTime());
            //Console.WriteLine("Eject status: {0}", discman.IsEjected);
            //discman.Eject();
            //Console.WriteLine("Eject status: {0}", discman.IsEjected);

            //Console.ReadLine();

            //OPDRACHT 6

            Mp3Player player = new Mp3Player(1000);

            player.Make          = "Creative";
            player.Model         = "Alpha";
            player.PriceExBtw    = 99.00M;
            player.DisplayWidth  = 120;
            player.DisplayHeight = 80;
            player.CreationDate  = DateTime.Parse("1-1-2007");
            player.MbSize        = 1024;

            Track t1 = new Track(1, "Prince", "Guitar");

            t1.Length = new Time(4, 12);

            Track t2 = new Track(2, "Nelly Furtado", "Say it Right");

            t2.Length = new Time(4, 41);

            Track t3 = new Track(3, "David Guetta & Chris Willis", "Love is gone");

            t3.Length = new Time(3, 50);

            TrackList trackList = new TrackList();

            trackList.Add(t1);
            trackList.Add(t2);
            trackList.Add(t3);

            player.AddTrackList(trackList);

            Console.WriteLine(player.DisplayIdentity(true, true));
            Console.WriteLine("Capacity {0}", player.DisplayStorageCapacity());
            Console.WriteLine("Display resolution {0} pixels", player.TotalPixels);
            Console.WriteLine("Consumer price: {0:f2}", player.ConsumerPrice);
            Console.WriteLine(player.GetDeviceLifeTime());

            if (player.HasTracks())
            {
                Console.WriteLine("The TrackList of this player has {0} tracks", player.TrackList.Count);

                foreach (Track t in player.TrackList.GetAllTracks())
                {
                    Console.WriteLine(t.DisplayName);
                }

                player.RemoveTrackList();
                Console.WriteLine("The TrackList of this player has now {0} tracks",
                                  player.TrackList.Count);
            }
            Console.ReadLine();
        }
Ejemplo n.º 18
0
        /// <summary>
        /// FileOpenButton_Click
        /// Opens FileOpenPicker to load tracks
        /// </summary>
        private async void FileOpenButton_Click(object sender, RoutedEventArgs e)
        {
            //check if was playing and flag it
            bool wasPlaying;

            if (MP3Player.CurrentState == MediaElementState.Playing)
            {
                MP3Player.Pause();
                wasPlaying = true;
            }
            else
            {
                wasPlaying = false;
            }
            //create file open picker to select new files to open
            Windows.Storage.Pickers.FileOpenPicker fop = new Windows.Storage.Pickers.FileOpenPicker();
            //adding file types
            fop.FileTypeFilter.Add(".mp3");
            fop.FileTypeFilter.Add(".wav");
            fop.FileTypeFilter.Add(".wma");
            fop.FileTypeFilter.Add(".aac");
            fop.FileTypeFilter.Add(".asf");
            //if this.plyalist is empty create new list
            if (_Playlist == null)
            {
                _Playlist = new List <Windows.Storage.StorageFile>();
            }
            //open fop window
            IReadOnlyList <Windows.Storage.StorageFile> files = await fop.PickMultipleFilesAsync();

            //check if list of selected files isn't empty
            if (files.Count > 0)
            {
                //object for music properties that contains artist,title,duration etc
                MusicProperties musicProperties;
                int             i = 0;
                //foreach chosen file add it to _Playlist(files) and _Tracklist(list of titles)
                foreach (var f in files)
                {
                    _Playlist.Add(f);
                    musicProperties = await f.Properties.GetMusicPropertiesAsync();

                    _Tracklist.Add(new Track(_Tracklist.Music.Count, musicProperties.Artist, musicProperties.Title, f.Name, musicProperties.Duration));
                    i++;
                }
                //refresh track listbox
                TrackListBox.ItemsSource = null;
                TrackListBox.ItemsSource = _Tracklist.Music;
                // if wasn't playing set new source for MediaElement and update some UI elements
                if (!wasPlaying)
                {
                    var stream = await _Playlist[0].OpenAsync(Windows.Storage.FileAccessMode.Read);
                    MP3Player.SetSource(stream, _Playlist[0].ContentType);
                    //mark currently played file
                    _CurrentId = 0;
                    int time = _Tracklist.GetDurationIntById(_CurrentId);
                    TitleBox.Text = _Tracklist.TrackToString(0);
                    TileManager.UpdateTile(TitleBox.Text, time);
                    ToastManager.ShowToast(TitleBox.Text);
                }
                //if shuffle was on, shuffle list
                if (_Shuffle)
                {
                    Shuffle();
                }
                //select currently played song on list
                TrackListBox.SelectedIndex = _CurrentId;
                _Empty = false;
                MP3Player.Play();
                //set button icon to pause
                PlayButton.Icon = new SymbolIcon(Symbol.Pause);
            }
            else //if any file was chosen then continue
            {
                if (wasPlaying)
                {
                    MP3Player.Play();
                }
            }
        }
Ejemplo n.º 19
0
 public void AddTrackList(TrackList trackList)
 {
     trackList.Add(new Tracks());
 }
Ejemplo n.º 20
0
        static void Main(string[] args)
        {
            //while (true)
            //{
            //    Thread.Sleep(1000);
            //    Console.Clear();
            //    DateTime myValue = DateTime.Now;
            //    Console.WriteLine(myValue.ToString());
            //}
            //Tussen haakjes staat voor tijd in de volgorde: Hours, Minutes, Seconds
            //Time t = new Time(1, 0, 0);
            //Console.WriteLine(t.ToString());


            //Hier maken we de tracklist aan
            TrackList trackList = new TrackList();

            // Hier declarenen wij de tracks (We maken ze aan)
            Track t1 = new Track(1, "NellyFurtado", "Maneater");

            t1.AlbumSource = "Loose";
            t1.Length      = new Time(2, 3600);
            t1.Style       = Category.Pop;

            Track t2 = new Track(2, "Paul Elstak", "Turbo");

            t2.AlbumSource = "Loose";
            t2.Length      = new Time(3, 50);
            t2.Style       = Category.Techno;

            Track t3 = new Track(3, "2 Brothers", "Never Alone");

            t3.AlbumSource = "Loose";
            t3.Length      = new Time(3, 4);
            t3.Style       = Category.Techno;

            Track t4 = new Track(4, "U.D.O", "Metal Machine");

            t4.AlbumSource = "Loose";
            t4.Length      = new Time(4, 6);
            t4.Style       = Category.Techno;

            Track t5 = new Track(5, "K3", "Handjes in de lucht");

            t5.AlbumSource = "Loose";
            t5.Length      = new Time(2, 15);
            t5.Style       = Category.Techno;

            //Hier voegen we de tracks toe aan de tracklist.
            trackList.Add(t1);
            trackList.Add(t2);
            trackList.Add(t3);
            trackList.Add(t4);
            trackList.Add(t5);

            //In de foreach laten we voor elke Track in de tracklist de naam, lengte, lengte in seconde en style zien.
            //Dit is de tester van opdracht 1
            Console.WriteLine("=====Opdracht 1=====");
            foreach (Track t in trackList)
            {
                Console.WriteLine("Naam: {0}", t.DisplayName);
                Console.WriteLine("Lengte: {0}", t.DisplayLength);
                Console.WriteLine("Tijd in seconden: {0}", t.GetLengthInSeconds());
                Console.WriteLine("Category: {0}", t.Style.ToString());
                Console.WriteLine("");
            }
            Console.WriteLine("Druk op een toets voor opdracht 2 tester...");
            Console.ReadLine();
            Console.Clear();

            //Dit is de tester van opdracht 2
            TrackList shuffledList = trackList.GetShuffledList();

            Console.WriteLine("=====Opdracht 2=====");
            Console.WriteLine("Totale lengte shufflelist: {0}", shuffledList.TotalTime().ToString());
            Console.WriteLine("");
            Console.WriteLine("De geschuffelde list:");
            foreach (Track t in shuffledList)
            {
                Console.WriteLine("Naam: {0}", t.DisplayName);
                Console.WriteLine("Lengte: {0}", t.DisplayLength);
                Console.WriteLine("Tijd in seconden: {0}", t.GetLengthInSeconds());
                Console.WriteLine("Category: {0}", t.Style.ToString());
                Console.WriteLine("");
            }
            Console.WriteLine("Druk op een toets voor opdrachten 3 & 4 tester...");
            Console.ReadLine();
            Console.Clear();

            //Dit is de tester van opdracht 3 en 4
            //Hier declareren wij de nieuwe records (Hier maken we ze aan en geven ze waardes)

            MemoRecorder r1 = new MemoRecorder(1);

            r1.Make             = "Sony ";
            r1.Model            = "SonyModel1 ";
            r1.PriceExBtw       = (decimal)5.00;
            r1.CreationDate     = DateTime.Parse("6/2/2017");
            r1.MaxCartridgeType = MemoRecorder.MemoCartridgeType.c60;

            MemoRecorder r2 = new MemoRecorder(1);

            r2.Make             = "Samsung ";
            r2.Model            = "SamsungModel1 ";
            r2.PriceExBtw       = (decimal)3.99;
            r2.CreationDate     = DateTime.Parse("5/2/2017");
            r2.MaxCartridgeType = MemoRecorder.MemoCartridgeType.c90;

            MemoRecorder r3 = new MemoRecorder(3);

            r3.Make             = "Dell ";
            r3.Model            = "DellModel1 ";
            r3.PriceExBtw       = (decimal)100.0;
            r3.CreationDate     = DateTime.Parse("4/2/2017");
            r3.MaxCartridgeType = MemoRecorder.MemoCartridgeType.c120;

            MemoRecorder r4 = new MemoRecorder(4);

            r4.Make             = "Apple ";
            r4.Model            = "AppleModel1 ";
            r4.PriceExBtw       = (decimal)6.50;
            r4.CreationDate     = DateTime.Parse("3/2/2017");
            r4.MaxCartridgeType = MemoRecorder.MemoCartridgeType.Unknown;

            Console.WriteLine("=====Opdracht 3 & 4=====");
            Console.WriteLine("");

            Console.WriteLine(r1.DisplayIdentity(true, true));
            Console.WriteLine(r1.DisplayStorageCapacity());
            Console.WriteLine(r1.GetDeviceLifeTime());
            Console.WriteLine("Consumer price: {0}", r1.ConsumerPrice);
            Console.WriteLine("");

            Console.WriteLine(r2.DisplayIdentity(true, false));
            Console.WriteLine(r2.DisplayStorageCapacity());
            Console.WriteLine(r2.GetDeviceLifeTime());
            Console.WriteLine("Consumer price: {0}", r2.ConsumerPrice);
            Console.WriteLine("");

            Console.WriteLine(r3.DisplayIdentity(false, true));
            Console.WriteLine(r3.DisplayStorageCapacity());
            Console.WriteLine(r3.GetDeviceLifeTime());
            Console.WriteLine("Consumer price: {0}", r3.ConsumerPrice);
            Console.WriteLine("");

            Console.WriteLine(r4.DisplayIdentity());
            Console.WriteLine(r4.DisplayStorageCapacity());
            Console.WriteLine(r4.GetDeviceLifeTime());
            Console.WriteLine("Consumer price: {0}", r4.ConsumerPrice);
            Console.WriteLine("");

            Console.WriteLine("Druk op een toets voor opdracht 5 tester...");
            Console.ReadLine();
        }
Ejemplo n.º 21
0
 private void btnYes_Click(object sender, RoutedEventArgs e)
 {
     tracklist.Add(suggestion);
     SuggestNextTrack();
 }
Ejemplo n.º 22
0
        private void alignTracksButton_Click(object sender, RoutedEventArgs e)
        {
            bool postProcessMatchingPoints  = (bool)postProcessMatchingPointsCheckBox.IsChecked;
            bool removeUnusedMatchingPoints = (bool)removeUnusedMatchingPointsCheckBox.IsChecked;

            List <Match>      matches     = new List <Match>(multiTrackViewer.Matches);
            List <Match>      newMatches  = new List <Match>();
            List <MatchGroup> trackGroups = DetermineMatchGroups();

            try {
                MatchProcessor.ValidateMatches(trackGroups);
            } catch (Exception ex) {
                var message = "Invalid sequence of matches, cannot warp. " +
                              "Please clean up the matches first (e.g. by filtering) to get rid of invalid mappings, e.g. overlapping/crossing matches.";
                MessageBox.Show(this, message, ex.Message, MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            Task.Factory.StartNew(() => {
                Parallel.ForEach(trackGroups, trackGroup => {
                    if (postProcessMatchingPoints)
                    {
                        Parallel.ForEach(trackGroup.MatchPairs, trackPair => {
                            MatchProcessor.ValidatePairOrder(trackPair.Matches);
                            foreach (Match match in trackPair.Matches)
                            {
                                newMatches.Add(CrossCorrelation.Adjust(match, progressMonitor));
                            }
                        });
                    }
                });

                Dispatcher.BeginInvoke((Action) delegate {
                    newMatches.ForEach((m) => multiTrackViewer.Matches.Add(m));

                    if (removeUnusedMatchingPoints)
                    {
                        multiTrackViewer.Matches.Clear();
                    }

                    TrackList <AudioTrack> alignedTracks = new TrackList <AudioTrack>();
                    TimeSpan componentStartTime          = TimeSpan.Zero;

                    string[] colors = { "#00aeef", "#00a651", "#8A2BE2", "#5F9EA0", "#D2691E", "#B8860B", "#483D8B", "#FF69B4", "#B0C4DE", "#6B8E23", "#F4A460" };
                    int colorIndex  = 0;

                    foreach (MatchGroup trackGroup in trackGroups)
                    {
                        if (removeUnusedMatchingPoints)
                        {
                            foreach (MatchPair trackPair in trackGroup.MatchPairs)
                            {
                                foreach (Match match in trackPair.Matches)
                                {
                                    multiTrackViewer.Matches.Add(match);
                                }
                            }
                        }

                        MatchProcessor.FilterCoincidentMatches(trackGroup.MatchPairs);
                        MatchProcessor.AlignTracks(trackGroup.MatchPairs);
                        //MatchProcessor.MoveToStartTime(trackGroup.TrackList, componentStartTime);
                        alignedTracks.Add(trackGroup.TrackList);
                        componentStartTime = trackGroup.TrackList.End;

                        foreach (AudioTrack t in trackGroup.TrackList)
                        {
                            t.Color = colors[colorIndex % colors.Length];
                        }
                        colorIndex++;
                    }

                    // process unaligned tracks (= tracks without matching points)
                    foreach (AudioTrack track in trackList.Except(alignedTracks))
                    {
                        track.Volume = 0;
                    }
                });
            });
        }
Ejemplo n.º 23
0
 public void Add(Track track)
 {
     TrackList.Add(track);
 }