コード例 #1
0
ファイル: HohoemaPlaylist.cs プロジェクト: TaoziDB/Hohoema
        public PlaylistPlayer(HohoemaPlaylist hohoemaPlaylist, PlaylistSettings playlistSettings)
        {
            HohoemaPlaylist  = hohoemaPlaylist;
            PlaylistSettings = playlistSettings;

            _SettingsObserveDisposer = Observable.Merge(
                PlaylistSettings.ObserveProperty(x => x.IsShuffleEnable).ToUnit(),
                PlaylistSettings.ObserveProperty(x => x.RepeatMode).ToUnit(),
                PlaylistSettings.ObserveProperty(x => x.IsReverseModeEnable).ToUnit()
                )
                                       .Subscribe(async _ =>
            {
                using (var releaser = await _PlaylistUpdateLock.LockAsync())
                {
                    _RepeatMode = PlaylistSettings.RepeatMode;

                    ResetRandmizedItems();

                    CurrentIndex = PlaylistSettings.IsShuffleEnable ? 0 : (SourceItems?.IndexOf(Current) ?? 0);

                    RaisePropertyChanged(nameof(CanGoBack));
                    RaisePropertyChanged(nameof(CanGoNext));
                }
            });
        }
コード例 #2
0
        public PlaylistPlayer(HohoemaPlaylist hohoemaPlaylist, PlaylistSettings playlistSettings)
        {
            HohoemaPlaylist  = hohoemaPlaylist;
            PlaylistSettings = playlistSettings;

            _SettingsObserveDisposer = Observable.Merge(
                PlaylistSettings.ObserveProperty(x => x.IsShuffleEnable).ToUnit(),
                PlaylistSettings.ObserveProperty(x => x.RepeatMode).ToUnit()
                )
                                       .Subscribe(_ =>
            {
                ResetPlayer();
            });
        }