Exemple #1
0
        private void Controller_SongNoteEvent(object sender, SongEventArgs e)
        {
            _logger.Log(this, LogLevel.Debug, "Score control handling song note event. " + e);

            _virtualKeyboard.HandleIncomingMessage(this, e.NoteKeyStrokeEvenArguments);
            _output.Send(this, e.NoteKeyStrokeEvenArguments);

            if (e.NoteKeyStrokeEvenArguments.KeyStrokeType != Common.Events.KeyStrokeType.KeyPress)
            {
                return;
            }

            //Only handle this once per chord
            if (e.NoteTime <= _lastNoteTime)
            {
                return;
            }

            //update speed once per bar
            if (e.NoteTime > nextBarDetails.NoteTime)
            {
                _lastNoteTime  = nextBarDetails.NoteTime;
                nextBarDetails = _scoreParser.GetNextBarDetails(e.NoteTime);
                SetScrollSpeed(nextBarDetails.XCoord, _lastNoteTime, nextBarDetails.NoteTime);
            }

            _logger.Log(this, LogLevel.Debug, "Score control finished handling song note event. " + e);
        }
Exemple #2
0
        private void player_SongOpened(object sender, SongEventArgs e)
        {
            if (e.Song.FileName.StartsWith("http://", StringComparison.OrdinalIgnoreCase))
            {
                this.Library.UpdateInternetRadio(e.Song.FileName, e.Song.Album);
            }
            else
            {
                if (this.Library.GetSong(e.Song.FileName) is LibraryEntry entry)
                {
                    this.Library.UpdateIfNeeded(e.Song.FileName);

                    string playNum = (entry.PlayCount + 1).ToString();
                    string suffix  = "th";
                    if (playNum.EndsWith("1") && !playNum.EndsWith("11"))
                    {
                        suffix = "st";
                    }
                    else if (playNum.EndsWith("2") && !playNum.EndsWith("12"))
                    {
                        suffix = "nd";
                    }
                    else if (playNum.EndsWith("3") && !playNum.EndsWith("13"))
                    {
                        suffix = "rd";
                    }
                    ShowStatus(playNum + suffix + " time played.");
                }
            }
            this.Text            = e.Song.ToString();
            lblTitle.Text        = e.Song.Title;
            lblArtist.Text       = e.Song.Artist;
            tckPosition.Duration = e.Song.Duration;
        }
Exemple #3
0
        private void Player_SongOpened(object sender, SongEventArgs e)
        {
            SongListViewItem item = FindItem(e.Song.FileName);

            if (item != null)
            {
                list.InvalidateItem(item);
            }
        }
 private void SongPlayerOnCurrentSongCompleted(object sender, SongEventArgs songEventArgs)
 {
     if (!_streamPlayer.Next(CancellationToken.None))
     {
         VoteableQueueItem<ISongStream> item;
         if (_queue.TryGetNext(out item))
         {
             _streamPlayer.CurrentStream = item.Item;
             _streamPlayer.Next(CancellationToken.None);
         }
     }
 }
Exemple #5
0
        private void _song_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (!(e is SongEventArgs))
            {
                return;
            }

            SongEventArgs se = e as SongEventArgs;

            if (se.PropertyName.ToLower() == "state")
            {
                State = (SongState)se.PropertyValue;
            }
        }
Exemple #6
0
        void _jukebox_SongStarting(object sender, SongEventArgs e)
        {
            if (_lastTempFile != null)
            {
                if (File.Exists(_lastTempFile))
                    File.Delete(_lastTempFile);

                _lastTempFile = null;
            }

            var script = GetScript(e.Song);

            var prompt = new Prompt(script, SynthesisTextFormat.Text);

            var tempFile = Path.GetTempFileName();

            using (var speaker = new SpeechSynthesizer())
            {
                speaker.SetOutputToWaveFile(
                    tempFile,
                    this._audioFormat);

                speaker.Speak(prompt);
            }

            this._mediaPlayer.PlaySong(null, tempFile);

            using (var mre = new ManualResetEvent(false))
            {
                var handler = new EventHandler((s, args) => mre.Set());

                this._mediaPlayer.SongFinished += handler;
                try
                {
                    this._mediaPlayer.PlaySong(null, tempFile);
                    mre.WaitOne();
                }
                catch (Exception ex)
                {
                    Trace.WriteLine(string.Format("Error playing prompt: {0}", ex), "SongAnnouncer");
                }
                finally
                {
                    this._mediaPlayer.SongFinished -= handler;
                }
            }

            _lastTempFile = tempFile;
        }
Exemple #7
0
 private void HandleSongFinished(object sender, SongEventArgs e)
 {
     if (e.Status == SongStatus.Successful)
     {
         bool isEncoreSong = e.Data.isEncore;
         if (isEncoreSong)
         {
             anim.SetTrigger("palmy");
         }
         else
         {
             anim.SetTrigger("roll");
         }
     }
 }
        void parent_SongPlayed(object o, SongEventArgs e)
        {
            String artist = HttpUtility.UrlEncode(e.Song.Artist);
            String title = HttpUtility.UrlEncode(e.Song.Title);

            Thread grab_lyrics = new Thread(new ThreadStart(delegate()
            {
                String sz_api_url = String.Format("{0}?fmt=xml&artist={1}&song={2}", LyricsWindow.LYRICWIKI_URL, artist, title);
                Uri api_url = new Uri(sz_api_url);
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(api_url);
                request.Method = "GET";

                XmlDocument xdoc = new XmlDocument();
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                    using (System.IO.Stream stream = response.GetResponseStream())
                        xdoc.Load(stream);

                XmlNode page_id_node = xdoc.SelectNodes("/LyricsResult/page_id")[0];
                if (page_id_node == null || page_id_node.InnerText.Length == 0)
                {
                    this.displayNotFound(e.Song.Title, e.Song.Artist);
                    return;
                }

                XmlNode url_node = xdoc.SelectNodes("/LyricsResult/url")[0];
                String lyric_url = url_node.InnerText;

                HtmlWeb web = new HtmlWeb();
                HtmlDocument doc = web.Load(lyric_url);

                HtmlNode lyrics = doc.DocumentNode.SelectSingleNode("//div[@class='lyricbox']");
                if (lyrics == null)
                {
                    this.displayNotFound(e.Song.Title, e.Song.Artist);
                    return;
                }

                foreach (HtmlNode ad in lyrics.SelectNodes("//div[@class='rtMatcher']"))
                    ad.Remove();

                String display_html = String.Format("<h2>{0}</h2><h3>{1}</h3>", e.Song.Title, e.Song.Artist) + lyrics.InnerHtml;
                this.setWebBrowserHTML(display_html);
            }));

            grab_lyrics.Start();
        }
 private void StreamPlayerNextSongChanged(object sender, SongEventArgs eventArgs)
 {
     _songPlayer.Start(eventArgs.Song);
 }
 private void Song_Tapped(object sender, SongEventArgs e) =>
 ((AlbumDetailViewModel)BindingContext).PlayCommand.Execute(e.Song);
Exemple #11
0
        private void Player_SongOpened(object sender, SongEventArgs e)
        {
            if (e.Song == null)
            {
                return;
            }

            if (_autoTrackNowPlayingInTree)
            {
                if (e.Song.FileName.StartsWith("http://", StringComparison.OrdinalIgnoreCase))
                {
                    if (_internetRadioNode == null)
                    {
                        return;
                    }
                    if (tvwLibrary.SelectedNode == _internetRadioNode)
                    {
                        treeView1_AfterSelect(this, new TreeViewEventArgs(_internetRadioNode));
                    }
                    else
                    {
                        tvwLibrary.SelectedNode = _internetRadioNode;
                    }
                    _internetRadioNode.EnsureVisible();
                }
                else
                {
                    if (_trackByArtist)
                    {
                        if (_trackContributing)
                        {
                            FindAndSelect(_contributingArtistsNode, e.Song.Artist);
                        }
                        else
                        {
                            FindAndSelect(_artistsAlbumsNode, e.Song.AlbumArtist);
                        }
                    }
                    else if (_trackByAlbum)
                    {
                        if (_trackContributing)
                        {
                            FindAndSelect(_albumsNode, e.Song.Album);
                        }
                        else
                        {
                            FindAndSelect(_artistsAlbumsNode, e.Song.AlbumArtist, e.Song.Album);
                        }
                    }
                }
                if (songListView.Visible)
                {
                    foreach (SongListViewItem item in songListView.Items)
                    {
                        if (item.SongInfo.FileName.Equals(this.Player.CurrentSong.FileName))
                        {
                            item.EnsureVisible();
                            break;
                        }
                    }
                }
            }
            else if (_autoChangeToNowPlaying)
            {
                tvwLibrary.SelectedNode = _nowPlayingNode;
            }
            else
            {
                if ((tvwLibrary.SelectedNode == _statisticsNode) || (tvwLibrary.SelectedNode != null && tvwLibrary.SelectedNode.Parent != null && tvwLibrary.SelectedNode.Parent == _playListNode))
                {
                    treeView1_AfterSelect(this, new TreeViewEventArgs(tvwLibrary.SelectedNode));
                }
            }
        }
Exemple #12
0
 private void player_SongOpened(object sender, SongEventArgs e)
 {
     albumArtBox1.Song = this.Player.CurrentSong;
 }
Exemple #13
0
 private void Player_SongOpened(object sender, SongEventArgs e)
 {
     LoadSong();
 }
Exemple #14
0
        void _jukebox_SongStarted(object sender, SongEventArgs e)
        {
            SayInChannels(e.Song.ToString());
            var channels = from client in this.Clients
                           from channel in client.Channels
                           select channel;

            foreach (var channel in channels)
                channel.SetTopic(string.Format("MUSIC! {0}", e.Song));
        }
 protected void OnCurrentSongCompleted(SongEventArgs e)
 {
     EventHandler<SongEventArgs> handler = CurrentSongCompleted;
     if (handler != null) handler(this, e);
 }
Exemple #16
0
 private void Player_SongOpened(object sender, SongEventArgs e)
 {
     albumPanel1.SelectedItem = e.Song;
 }