示例#1
0
        public PlayItemCollection(IMediaFilePathResolver filePathResolver,
                                  [Microsoft.Practices.Unity.Dependency("playedCollection")] ObservableCollection <BindablePlayItem> playedCollection)
        {
            _filePathResolver = filePathResolver;
            _playedCollection = playedCollection;

            //_itemEditFactory = itemEditFactory;
        }
示例#2
0
 public BindablePlayout(IPlayPreview preview, IPlaylist3 playlist,
                        IMediaFilePathResolver filePathResolver)
 {
     _preview          = preview;
     _playlist         = playlist;
     _filePathResolver = filePathResolver;
     //_playRecorder = playRecorder;
 }
示例#3
0
 public Player(IPlayPreview preview, PlayoutSettings settings, ILog log, IDateTimeService dateTimeService,
               IMediaFilePathResolver filePathResolver)
 {
     _preview          = preview;
     _log              = log;
     _rendererInfo     = settings.RendererSettings;
     _playlistSettings = settings.PlaylistSettings;
     _dateTimeService  = dateTimeService;
     _filePathResolver = filePathResolver;
 }
示例#4
0
        public MediaFileItemManager(IUserService userService,
                                    IImageSourceDecoder imageSourceDecoder, IImagePlaceholderProvider placeholderProvider,
                                    IMediaFileInfoExtractor mediaFileInfoExtractor, IMediaFilePathResolver filePathResolver)
        {
            this.UserService            = userService;
            this.MediaFileInfoExtractor = mediaFileInfoExtractor;
            this.FilePathResolver       = filePathResolver;

            BindableMediaFileItem.ImageSourceDecoder = imageSourceDecoder;
            BindableMediaFileItem.PlaceholderImage   = placeholderProvider.Placeholder;
        }
示例#5
0
        //private readonly DelegateCommand _createPlaybillCommand;

        public PlaybillViewModel(IEventAggregator eventAggregator,
                                 IMediaFileImageResolver imageResolver, IMediaFilePathResolver filePathResolver, InteractionRequests interactionRequests,
                                 IPlayoutConfiguration playoutConfig, IUserService userService)
        {
            _playoutConfig       = playoutConfig;
            _interactionRequests = interactionRequests;
            _userService         = userService;
            _playItemCollection  = new PlayItemCollection(filePathResolver, this);

            this.ImageResolver = imageResolver;

            _savePlaybillCommand = new DelegateCommand(SavePlaybill, CanSavePlaybill);
            _loadPlaybillCommand = new DelegateCommand(LoadPlaybill, CanLoadPlaybill);

            this.Playlist = new Playlist(_playItemCollection);
            this.Playlist.EditCompleted += Playlist_EditCompleted;

            _listAdapter = new WrappedItemListAdapter <BindablePlayItem, IPlayItem>(_playItemCollection,
                                                                                    (i) => _playItemCollection.CreateBindablePlayItem(i));


            _deletePlayItemCommand = new DelegateCommand(DeletePlayItem, CanDeletePlayItem);

            _editDurationCommand    = new DelegateCommand(EditDuration, CanEditDuration);
            _changeStartTimeCommand = new DelegateCommand(ChangeStartTime, CanChangeStartTime);

            _changeToAutoModeCommand   = new DelegateCommand(ChangeToAutoMode, CanChangeToAutoMode);
            _changeToBreakModeCommand  = new DelegateCommand(ChangeToBreakMode, CanChangeToBreakMode);
            _changeToTimingModeCommand = new DelegateCommand(ChangeToTimingMode, CanChangeToTimingMode);

            _moveUpCommand   = new DelegateCommand(MoveUp, CanMoveUp);
            _moveDownCommand = new DelegateCommand(MoveDown, CanMoveDown);

            //
            _saveXmlCommand = new DelegateCommand(SaveXml, CanSaveXml);
            _openXmlCommand = new DelegateCommand(OpenXml);

            _clearCommand       = new DelegateCommand(Clear, CanClear);
            _editCGItemsCommand = new DelegateCommand(EditCGItems, CanEditCGItems);

            _previewCommand = new DelegateCommand <IPlayableItem>(Preview);

            _changeSourceCommand            = new DelegateCommand(ChangeSource, CanChangeSource);
            _changeSourceAndDurationCommand = new DelegateCommand(ChangeSourceAndDuration, CanChangeSourceAndDuration);

            _eventAggregator = eventAggregator;
            _eventAggregator.GetEvent <PubSubEvent <AddPlayItemPayload> >().Subscribe(AddPlayItem);

            _eventAggregator.GetEvent <PubSubEvent <MediaItem?> >().Subscribe((i) => this.SelectedMediaItem = i);
        }
示例#6
0
        //private Uri _sourceUri;
        //private DispatcherTimer timer;
        //private ProcessCount processCount;
        //private double _playlistDuration;

        //private DateTime? _playlistStartTime;
        //private DateTime? _playlistStopTime;
        //private readonly DelegateCommand<object> _forcePlayCommand;


        public PlayoutViewModel(IPlaylist3 playlist, ITimer timer, IMediaFilePathResolver filePathResolver)
        {
            _playlist              = playlist;
            _playlist.Changed     += Playlist_Changed;
            _playout               = new BindablePlayout(this, playlist, filePathResolver);
            _playout.StateChanged += OnPlayout_StateChanged;
            _startPlayoutCommand   = new DelegateCommand(StartPlayout, CanStartPlayout);
            _stopPlayoutCommand    = new DelegateCommand(StopPlayout, CanStopPlayout);

            _startDelayCommand = new DelegateCommand(StartDelay, CanStartDelay);
            _stopDelayCommand  = new DelegateCommand(StopDelay, CanStopDelay);

            this.Timer = timer;
            //_forcePlayCommand = new DelegateCommand<object>(ForcePlay,CanForcePlay);
        }
        public DbMediaItemListViewModel(IEventAggregator eventAggregator, IMediaFilePathResolver filePathResolver,
                                        IMediaFileImageResolver imageResolver, IRegionManager regionManager, IMediaFileService mediaService)
        {
            this.EventAggregator  = eventAggregator;
            this.FilePathResolver = filePathResolver;
            this.ImageResolver    = imageResolver;
            this.MediaFileService = mediaService;

            _regionManager = regionManager;

            _mediaItemCollection = new ObservableCollection <BindableFileMediaItem>();

            _editMediaItemCommand = new DelegateCommand <object>(EditMediaItem, CanEditMediaItem);

            _searchCommand = new DelegateCommand <RequestPagingItemsEventArgs>(SearchMediaItems);

            _previewCommand    = new DelegateCommand <IPlayableItem>(Preview);
            this.SearchOptions = new MediaItemSearchOptions();
        }
示例#8
0
        public PlayoutSystem(IPlayPreview preview, IPlaylist3 playlist,
                             PlayoutSettings settings, ILog log, IChannelSwitcher switcher, IMediaFilePathResolver filePathResolver,
                             CGItemCollection cgItems)
        {
            _playlist = playlist;
            var player = new Player(preview, settings, log, DefaultDateTimeService.Instance, filePathResolver);

            _scheduler = new PlayScheduler(player, playlist, DefaultDateTimeService.Instance, switcher, cgItems);
            _scheduler.CurrentPlayItemChanged += OnCurrentPlayItemChanged;
            _scheduler.NextPlayItemChanged    += OnNextPlayItemChanged;
        }
示例#9
0
 public PlayItemCollection(IMediaFilePathResolver filePathResolver, IPlayableItemEditorFactory itemEditFactory)
 {
     _filePathResolver = filePathResolver;
     _itemEditFactory  = itemEditFactory;
 }
示例#10
0
 public FileSystemDestinationStreamManager(IMediaFilePathResolver mediaFilePathResolver)
 {
     _mediaFilePathResolver = mediaFilePathResolver;
 }
 public static string Resolve(this IMediaFilePathResolver resolver, string filename)
 {
     return(System.IO.Path.Combine(resolver.GetDirectory(resolver.CurrentStorage), filename));
 }