예제 #1
0
        private void RemoveTag(ref MusicList musicList, MusicTag tag)
        {
            foreach (Music m in tag)
            {
                bool overlapped = false;
                foreach (Music temp in musicList)
                {
                    if (temp.Path == m.Path)
                    {
                        overlapped = true;
                    }
                }

                if (overlapped)
                {
                    musicList.Remove(m);
                }
            }
        }
예제 #2
0
        private void btnTagApply_Click(object sender, RoutedEventArgs e)
        {
            MusicList tempList = new MusicList();

            foreach (MusicTag tag in _addingTags)
            {
                AddTag(ref tempList, tag);
            }
            foreach (MusicTag tag in _removingTags)
            {
                RemoveTag(ref tempList, tag);
            }

            playingMusicList.Clear();
            foreach (Music m in tempList)
            {
                playingMusicList.Add(m);
            }
            Open(playingMusicList[0].Path);
            _soundOut.Play();
        }
예제 #3
0
        // 생성자
        public MainWindow()
        {
            InitializeComponent();

            // list들을 xaml과 연동
            allMusicList     = new MusicList();
            allMusicList     = (MusicList)FindResource("rscAllMusicList");
            playingMusicList = new MusicList();
            playingMusicList = (MusicList)FindResource("rscPlayingMusicList");
            allTagList       = new MusicTagList();
            allTagList       = (MusicTagList)FindResource("rscAllTagList");

            // cscore Device 설정
            _device = new MMDeviceEnumerator().EnumAudioEndpoints(DataFlow.Render, DeviceState.Active)[0];

            Debug.Print(allMusicList.Count.ToString());

            // 파일이 없을 시 한개 불러오기
            if (allMusicList.Count < 1)
            {
                Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();

                Nullable <bool> result = dlg.ShowDialog();

                allMusicList.Add(new Music(dlg.FileName));
            }

            // 플레이리스트의 첫번쨰 음악을 오픈
            Open(allMusicList[0].Path);

            // 현재 열고있는 탭을 PlayingTab으로
            _nowGrid = PlayingTab;

            Update();

            // TEST AREA
            _soundOut.Volume = 0.5f;
        }