Example #1
0
        public void SendSongsAdded(MusicInfo[] song)
        {
            PubnubMessage message;

            if (song.Length == 1)
            {
                message = new PubnubMessage()
                {
                    action = PubnubMessage.ACTION_ADDED_SONG_TO_LIBRARY,
                    data   = new
                    {
                        howMany   = 1,
                        firstSong = song[0]
                    }
                };
            }
            else
            {
                message = new PubnubMessage()
                {
                    action = PubnubMessage.ACTION_ADDED_SONG_TO_LIBRARY,
                    data   = new
                    {
                        howMany   = song.Length,
                        firstSong = song[0]
                    }
                };
            }

            SendMessage(message);
        }
        public void SimpleTranslation()
        {
            var rawNubs = new Dictionary<string, object>();
            rawNubs.Add("action", PubnubMessage.ACTION_PLAY);

            var expected = new PubnubMessage()
                {
                    action = PubnubMessage.ACTION_PLAY
                };

            var pubnub = new PubnubMessaging(null, false);
            PubnubMessage result = pubnub.Translate(rawNubs);

            Assert.AreEqual(expected.action, result.action, "The action must be correct.");
        }
Example #3
0
        public PubnubMessage Translate(Dictionary <string, object> rawNubs)
        {
            var message = new PubnubMessage()
            {
                action = rawNubs["action"].ToString(),
                data   = new ExpandoObject()
            };

            if (rawNubs.ContainsKey("data"))
            {
                var dictionary = (Dictionary <string, object>)rawNubs["data"];
                if ((dictionary != null) && (dictionary.ContainsKey("PlaylistIndex")))
                {
                    message.data.PlaylistIndex = int.Parse(dictionary["PlaylistIndex"].ToString());
                }
            }

            return(message);
        }
Example #4
0
        public void HandleMessage(Dictionary <string, object> rawNubs)
        {
            PubnubMessage message = this.Translate(rawNubs);

            switch (message.action)
            {
            case PubnubMessage.ACTION_PLAY:
                if (_player.IsPaused)
                {
                    _player.Resume();
                }
                else
                {
                    if (_doThreading)
                    {
                        (new Thread(new ThreadStart(_player.Play))).Start();
                    }
                    else
                    {
                        _player.Play();
                    }
                }
                break;

            case PubnubMessage.ACTION_STOP:
                _player.Stop();
                break;

            case PubnubMessage.ACTION_NEXT:
                _player.Next();
                break;

            case PubnubMessage.ACTION_BACK:
                if (_doThreading)
                {
                    (new Thread(new ThreadStart(_player.Back))).Start();
                }
                else
                {
                    _player.Back();
                }
                break;

            case PubnubMessage.ACTION_PAUSE:
                _player.Pause();
                break;

            case PubnubMessage.ACTION_PING:
                SendPingReply();
                break;

            case PubnubMessage.ACTION_PLAY_FROM_PLAYLIST:
                _player.JumpToPlaylistIndex(message.data.PlaylistIndex);
                break;

            case PubnubMessage.ACTION_PING_REPLY: break;     //we sent these, ignore them

            case PubnubMessage.ACTION_NOWPLAYING: break;

            case PubnubMessage.ACTION_ADDED_SONG_TO_LIBRARY: break;

            default:
                Log.Debug("Unknown action type: " + message.action);
                break;
            }
        }
Example #5
0
 public void SendMessage(PubnubMessage message)
 {
     _pubnub.publish(_channel, message);
 }
Example #6
0
 public void SendMessage(PubnubMessage message)
 {
     _pubnub.publish(_channel, message);
 }
Example #7
0
        public PubnubMessage Translate(Dictionary<string, object> rawNubs)
        {
            var message = new PubnubMessage()
                {
                    action = rawNubs["action"].ToString(),
                    data = new ExpandoObject()
                };

            if (rawNubs.ContainsKey("data"))
            {
                var dictionary = (Dictionary<string, object>)rawNubs["data"];
                if ((dictionary!=null) && (dictionary.ContainsKey("PlaylistIndex")))
                    message.data.PlaylistIndex = int.Parse(dictionary["PlaylistIndex"].ToString());
            }

            return message;
        }
Example #8
0
        public void SendSongsAdded(MusicInfo[] song)
        {
            PubnubMessage message;

            if (song.Length == 1)
            {
                message = new PubnubMessage()
                    {
                        action = PubnubMessage.ACTION_ADDED_SONG_TO_LIBRARY,
                        data = new
                            {
                                howMany = 1,
                                firstSong = song[0]
                            }

                    };
            }
            else
            {
                message = new PubnubMessage()
                    {
                        action = PubnubMessage.ACTION_ADDED_SONG_TO_LIBRARY,
                        data = new
                            {
                                howMany = song.Length,
                                firstSong = song[0]
                            }

                    };
            }

            SendMessage(message);
        }