Exemple #1
0
 private void onMuteChanged(RaumFeldEvent args)
 {
     if (args.ChangedValues.TryGetValue("val", out string mute))
     {
         ZoneMute = (mute == "1");
     }
 }
Exemple #2
0
 private void onVolumeChanged(RaumFeldEvent args)
 {
     if (args.ChangedValues.TryGetValue("val", out string volume))
     {
         ZoneVolume = (double.Parse(volume));
     }
 }
Exemple #3
0
        private void onRoomStatesChanged(RaumFeldEvent args)
        {
            // val = "uuid:29e07ad9-224f-4160-a2bc-61d17845182a=PLAYING" />
            string[] stringSeparators = new string[] { "=", "," };
            string[] splitValue       = new string[0];

            if (args.ChangedValues.TryGetValue("val", out string roomstates))
            {
                splitValue = roomstates.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);

                if ((RoomViewModels?.Count() ?? 0) == 0 || (splitValue?.Count() ?? 0) == 0)
                {
                    return;
                }
                IRoomViewModel room = RoomViewModels.Select(r => r).Where(r => r.Udn == splitValue[0]).FirstOrDefault();

                if (room != null)
                {
                    switch (splitValue[1])
                    {
                    case "PLAYING":
                        break;

                    case "STOPPED":
                        break;

                    case "TRANSITIONING":
                        break;

                    default:
                        break;
                    }
                }
            }
        }
Exemple #4
0
 private void onCurrentTrackURIChanged(RaumFeldEvent args)
 {
     // val = "http://192.168.0.18:37665/redirect?uri=smb%3A%2F%2Fjc-station%2Fmusic%2F%2FMP3%2FThe%2520Notwist%2F12%2F07%2520The%2520String.mp3" />
     //if (args.ChangedValuea.TryGetValue("val", out string currenttrackuri))
     //{
     //    Get Content?!
     //}
 }
Exemple #5
0
 private void onCurrentTrackChanged(RaumFeldEvent args)
 {
     // val = "7" />
     if (args.ChangedValues.TryGetValue("val", out string currenttrack) && currenttrack != "0")
     {
         CurrentTrack = Int32.Parse(currenttrack);
     }
 }
Exemple #6
0
 private void onAVTransportURIChanged(RaumFeldEvent args)
 {
     // val = "dlna-playcontainer://uuid%3A1a636014-b38f-420e-8456-3792ba3279e4?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=0%2FMy Music%2FAlbums%2FThe%2520Notwist+12&md=0&fii=0" />
     //if (e.Value.ChangedValues.TryGetValue("val", out string avtransporturi))
     //{
     //    // Get Content?!
     //}
 }
Exemple #7
0
 private void onNumberOfTracksChanged(RaumFeldEvent args)
 {
     // val = "9" />
     if (args.ChangedValues.TryGetValue("val", out string numberoftracks))
     {
         NumberOfTracks = Int32.Parse(numberoftracks);
     }
 }
Exemple #8
0
 private void onCurrentTrackMetaDataChanged(RaumFeldEvent args)
 {
     // val = "<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:raumfeld="urn:schemas-raumfeld-com:meta-data/raumfeld" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" lang="en"><item parentID="0/My Music/Albums/The%20Notwist+12" id="0/My Music/Albums/The%20Notwist+12/75725c9134fd69b824706f8a3b3030c4" restricted="1"><raumfeld:name>Track</raumfeld:name><upnp:class>object.item.audioItem.musicTrack</upnp:class><raumfeld:section>My Music</raumfeld:section><dc:title>The String</dc:title><upnp:album>12</upnp:album><upnp:artist>The Notwist</upnp:artist><upnp:genre>Punk Rock</upnp:genre><dc:creator>The Notwist</dc:creator><upnp:originalTrackNumber>7</upnp:originalTrackNumber><dc:date>1995-01-01</dc:date><upnp:albumArtURI dlna:profileID="JPEG_TN">http://192.168.0.18:47366/?artist=The%20Notwist&albumArtist=The%20Notwist&album=12&track=The%20String</upnp:albumArtURI><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3" size="5636735" duration="0:04:31.000" bitrate="163840" sampleFrequency="44100" nrAudioChannels="2" sourceName="music on jc-station" sourceType="smb" sourceID="uuid:39cb689d-3804-43da-a14e-21102a1f50ec">http://192.168.0.18:37665/redirect?uri=smb%3A%2F%2Fjc-station%2Fmusic%2F%2FMP3%2FThe%2520Notwist%2F12%2F07%2520The%2520String.mp3</res></item></DIDL-Lite>" />
     if (args.ChangedValues.TryGetValue("val", out string currenttrackmetadata))
     {
         DIDLLite didl = currenttrackmetadata.Deserialize <DIDLLite>();
         if ((didl?.Items?.Count() ?? 0) != 0)
         {
             CurrentTrackMetaData = PrismUnityApplication.Current.Container.Resolve <ElementItem>(new ResolverOverride[]
             {
                 new ParameterOverride("didl", didl?.Items?.FirstOrDefault())
             });
             AlbumArtUri = CurrentTrackMetaData.AlbumArtUri;
             setSelection(CurrentTrackMetaData);
         }
     }
 }
Exemple #9
0
 private async void onAVTransportURIMetaDataChanged(RaumFeldEvent args)
 {
     // val = "&lt;DIDL-Lite xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot; xmlns:raumfeld=&quot;urn:schemas-raumfeld-com:meta-data/raumfeld&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:dlna=&quot;urn:schemas-dlna-org:metadata-1-0/&quot; lang=&quot;en&quot;&gt;&lt;container parentID=&quot;0/My Music/Albums&quot; id=&quot;0/My Music/Albums/The%20Notwist+12&quot; restricted=&quot;1&quot; childCount=&quot;9&quot;&gt;&lt;raumfeld:name&gt;Album&lt;/raumfeld:name&gt;&lt;upnp:class&gt;object.container.album.musicAlbum&lt;/upnp:class&gt;&lt;raumfeld:section&gt;My Music&lt;/raumfeld:section&gt;&lt;upnp:artist&gt;The Notwist&lt;/upnp:artist&gt;&lt;dc:date&gt;1995&lt;/dc:date&gt;&lt;upnp:album&gt;12&lt;/upnp:album&gt;&lt;upnp:albumArtURI dlna:profileID=&quot;JPEG_TN&quot;&gt;http://192.168.0.18:47366/?albumArtist=The%20Notwist&amp;amp;album=12&lt;/upnp:albumArtURI&gt;&lt;raumfeld:totalPlaytime&gt;0:39:07&lt;/raumfeld:totalPlaytime&gt;&lt;dc:title&gt;12&lt;/dc:title&gt;&lt;/container&gt;&lt;/DIDL-Lite&gt;" />
     if (args.ChangedValues.TryGetValue("val", out string avtransporturimetadata))
     {
         DIDLLite didl = avtransporturimetadata.Deserialize <DIDLLite>();
         if ((didl?.Containers?.Count() ?? 0) != 0)
         {
             if (await raumFeldService.BrowseChildren(ZoneViewModelTracks, didl.Containers?.First().Id, true))
             {
                 setSelection(CurrentTrackMetaData);
             }
             else
             {
                 ZoneViewModelTracks.Clear();
             }
         }
     }
 }
Exemple #10
0
        private void onCurrentTransportActionsChanged(RaumFeldEvent args)
        {
            // val = "Next,Pause,Previous,Repeat,Seek,Shuffle,Stop" />

            string[] stringSeparators = new string[] { "=", "," };
            string[] splitValue       = new string[0];

            if (args.ChangedValues.TryGetValue("val", out string currenttransportactions))
            {
                if (!string.IsNullOrEmpty(currenttransportactions))
                {
                    // Split delimited by another string and return all non-empty elements.
                    splitValue = currenttransportactions.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);

                    resetPlayState();
                    setPlayState(splitValue);
                }
            }
        }
Exemple #11
0
        private void onPowerStateChanged(RaumFeldEvent args)
        {
            if (args.ChangedValues.TryGetValue("val", out string powerstate))
            {
                switch (powerstate)
                {
                case "ACTIVE":
                    IsActive = true;
                    break;

                case "AUTOMATIC_STANDBY":
                case "MANUAL_STANDBY":
                    IsActive = false;
                    break;

                default:
                    break;
                }
            }
        }
Exemple #12
0
        private void onCurrentPlayModeChanged(RaumFeldEvent args)
        {
            // val = "REPEAT_ALL" />
            if (args.ChangedValues.TryGetValue("val", out string currentplaymode))
            {
                resetPlayMode();
                switch (currentplaymode.ToUpper())
                {
                case "NORMAL":
                    IsNormal = true;
                    break;

                case "SHUFFLE":
                    IsShuffle = true;
                    break;

                case "REPEAT_ONE":
                    IsRepeatOne = true;
                    break;

                case "REPEAT_ALL":
                    IsRepeatAll = true;
                    break;

                case "RANDOM":
                    IsRandom = true;
                    break;

                case "DIRECT_1":
                    IsDirektOne = true;
                    break;

                case "INTRO":
                    IsIntro = true;
                    break;

                default:
                    break;
                }
            }
        }
Exemple #13
0
        private void onRoomVolumesChanged(RaumFeldEvent args)
        {
            //val = "uuid:29e07ad9-224f-4160-a2bc-61d17845182a=100" />
            string[] stringSeparators = new string[] { "=", "," };
            string[] splitValue       = new string[0];

            if (args.ChangedValues.TryGetValue("val", out string volume))
            {
                // Split delimited by another string and return all non-empty elements.
                splitValue = volume.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);

                if ((RoomViewModels?.Count() ?? 0) == 0)
                {
                    return;
                }
                IRoomViewModel room = RoomViewModels.Select(r => r).Where(r => r.Udn == splitValue[0]).FirstOrDefault();

                if (room != null)
                {
                    room.RoomVolume = double.Parse(splitValue[1]);
                }
            }
        }
Exemple #14
0
 private async void onSystemUpdateIDChanged(RaumFeldEvent args)
 {
     IsTuneInAvailable = await raumFeldService.GetTuneInState();
 }