// This event is fired by unmount; not neccesarily by physical ejection of media static void RemovableMedia_Eject(object sender, MediaEventArgs e) { Debug.Print("SD card unmounted, eject event fired"); ReadyRead = false; ReadyWrite = false; volume_info = null; }
private void Eject(object sender, MediaEventArgs e) { if (e.Volume.Name.Length >= 2 && e.Volume.Name.Substring(0, 2) == "SD") { OnSDCardUnmountedEvent(this); } }
private void _mediaPRIVerified(object o, MediaEventArgs e) { var sec = MediaDirectorySEC as ServerDirectory; var pri = MediaDirectoryPRI as ServerDirectory; if (sec != null && pri != null && sec != pri && sec.IsInitialized && pri.IsInitialized) { ServerMedia sECMedia = sec.FindMediaFirst(sm => e.Media.FileSize == sm.FileSize && e.Media.FileName == sm.FileName && sm.FileExists()) as ServerMedia; if (e.Media.MediaStatus == TMediaStatus.Available) { if (sECMedia == null) { FileManager.Queue(new FileOperation { Kind = TFileOperationKind.Copy, SourceMedia = e.Media, DestDirectory = sec }, false); } else { sECMedia.CloneMediaProperties(e.Media); sECMedia.MediaGuid = e.Media.MediaGuid; sECMedia.ReVerify(); } } } }
/// <summary> /// Called when a device is ejected. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The event arguments.</param> private void Eject(object sender, MediaEventArgs e) { if (e.Volume.Name.Length >= 3 && e.Volume.Name.Substring(0, 3) == "USB") { OnUSBDriveDisconnectedEvent(this); } }
private void _animationDirectoryMediaRemoved(object sender, MediaEventArgs e) { if (e.Media is AnimatedMedia media && AnimationDirectoryPRI is AnimationDirectory adirPri && AnimationDirectorySEC is AnimationDirectory adirSec && adirPri != adirSec) { adirSec.FindMediaByMediaGuid(media.MediaGuid)?.Delete(); } }
private void OnInsert(object sender, MediaEventArgs e) { if (string.Compare(e.Volume.Name, "USB") == 0) { if (e.Volume.FileSystem != null) { this.massStorageDevice = new GT.StorageDevice(e.Volume); this.IsMassStorageMounted = true; this.OnMassStorageMounted(this, this.massStorageDevice); } else { this.massStorageDevice = null; this.IsMassStorageMounted = false; this.UnmountStorageDevice("USB"); Debug.Print("The mass storage device does not have a valid filesystem."); } } else if (string.Compare(e.Volume.Name, "SD") == 0) { if (e.Volume.FileSystem != null) { this.sdCardStorageDevice = new GT.StorageDevice(e.Volume); this.IsSDCardMounted = true; this.OnSDCardMounted(this, this.sdCardStorageDevice); } else { this.sdCardStorageDevice = null; this.IsSDCardMounted = false; this.UnmountStorageDevice("SD"); Debug.Print("The SD card does not have a valid filesystem."); } } }
private void _game_MediaEvent(object sender, MediaEventArgs e) { if (PlayMedia != null) { PlayMedia(this, e); } }
private void _mediaPRIRemoved(object o, MediaEventArgs e) { if (MediaDirectorySEC != null && MediaDirectorySEC != MediaDirectoryPRI && MediaDirectorySEC.IsInitialized) { var mediaToDelete = ((WatcherDirectory)MediaDirectorySEC).FindMediaByMediaGuid(e.Media.MediaGuid); if (mediaToDelete != null && mediaToDelete.FileExists()) { var operation = new FileOperation(_fileManager) { Kind = TFileOperationKind.Delete, Source = mediaToDelete }; operation.Success += (sender, args) => { foreach (var ingestDirectory in IngestDirectories) { if (((IngestDirectory)ingestDirectory).FindMediaByMediaGuid(operation.Source.MediaGuid) is IngestMedia media) { media.IngestStatus = TIngestStatus.Unknown; } } }; FileManager.Queue(operation); } } }
private void _selectedDirectoryMediaRemoved(object source, MediaEventArgs e) { var dir = source as IMediaDirectory; if (dir != null && dir.IsInitialized) { Application.Current.Dispatcher.BeginInvoke((Action) delegate() { if (_mediaItems != null) { MediaViewViewmodel vm = _mediaItems.FirstOrDefault(v => v.Media == e.Media); if (vm != null) { if (SelectedMedia == vm) { SelectedMedia = null; } _mediaItems.Remove(vm); vm.Dispose(); } _notifyDirectoryPropertiesChanged(); } } , null); } }
private void _mediaPRIVerified(object o, MediaEventArgs e) { if (e.Media.MediaStatus != TMediaStatus.Available) { return; } if (!(MediaDirectorySEC is ServerDirectory sec) || !(MediaDirectoryPRI is ServerDirectory pri) || sec == pri || !sec.IsInitialized || !pri.IsInitialized) { return; } var sEcMedia = sec.FindMediaByMediaGuid(e.Media.MediaGuid); if (sEcMedia != null) { return; } sEcMedia = sec.FindMediaFirst(sm => e.Media.FileSize == sm.FileSize && e.Media.FileName == sm.FileName && sm.FileExists()) as MediaBase; if (sEcMedia == null) { FileManager.Queue(new FileOperation(_fileManager) { Kind = TFileOperationKind.Copy, Source = e.Media, DestDirectory = sec }, false); } else { sEcMedia.CloneMediaProperties(e.Media); sEcMedia.MediaGuid = e.Media.MediaGuid; sEcMedia.ReVerify(); } }
private void _mediaPRIRemoved(object o, MediaEventArgs e) { if (MediaDirectorySEC != null && MediaDirectorySEC != MediaDirectoryPRI && MediaDirectorySEC.IsInitialized) { var mediaToDelete = ((WatcherDirectory)MediaDirectorySEC).FindMediaByMediaGuid(e.Media.MediaGuid); if (mediaToDelete != null && mediaToDelete.FileExists()) { var operation = new DeleteOperation { Source = mediaToDelete }; if (mediaToDelete.Directory is ServerDirectory serverDirectory) { operation.Success += (sender, args) => { foreach (var ingestDirectory in IngestDirectories) { if (((IngestDirectory)ingestDirectory).FindMediaByMediaGuid(operation.Source.MediaGuid) is IngestMedia ingestMedia) { ingestMedia.NotifyIngestStatusUpdated(serverDirectory, TIngestStatus.Unknown); } } } } ; FileManager.Queue(operation); } } }
private void RemovableMedia_Insert(object sender, MediaEventArgs e) { if (!e.Volume.IsFormatted) { Logger.WriteInfo("RPTR", "Media is not formatted. Formatting card..."); Thread.Sleep(5000); try { sdCard.Mount(); Thread.Sleep(2000); e.Volume.Format("FAT", 0, "SD", true); Logger.WriteInfo("RPTR", "Formatting completed"); } catch (Exception ex) { Logger.WriteError("RPTR", "Formatting failed ", ex); } } else { Logger.WriteInfo("RPTR", "Media inserted is formatted with volume: " + e.Volume.Name); } }
private void _animationDirectoryMediaSaved(object sender, MediaEventArgs e) { if (!(e.Media is AnimatedMedia priMedia)) { throw new ApplicationException("Invalid media type provided"); } if (priMedia.MediaStatus == TMediaStatus.Deleted) { return; } if (!(AnimationDirectoryPRI is AnimationDirectory pri) || !(AnimationDirectorySEC is AnimationDirectory sec) || sec == pri || !sec.IsInitialized || !pri.IsInitialized) { return; } var compMedia = (e.Media.Directory == pri ? sec.FindMediaByMediaGuid(e.Media.MediaGuid) : pri.FindMediaByMediaGuid(e.Media.MediaGuid)) as AnimatedMedia; if (compMedia?.IsModified == true) { compMedia.Save(); } }
private void ArchiveDirectory_MediaDeleted(object sender, MediaEventArgs e) { if (((ServerDirectory)MediaDirectoryPRI)?.FindMediaByMediaGuid(e.Media.MediaGuid) is ServerMedia m) { m.IsArchived = false; } }
void _searchDirectory_MediaVerified(object sender, MediaEventArgs e) { Application.Current.Dispatcher.BeginInvoke((Action) delegate() { _itemsView.Refresh(); }); }
private void OnMediaEject(object sender, MediaEventArgs e) { Log.WriteLine("SD card ejected."); lock (_lock) { _logOnline = false; } }
private void OnEject(object sender, MediaEventArgs e) { if (string.Compare(e.Volume.Name, "USB") == 0) { this.massStorageDevice = null; this.IsMassStorageMounted = false; this.OnMassStorageUnmounted(this, null); } }
private void OnMediaChangeEvent(MediaEventArgs e) { if (e != null) { Log.Logger.Verbose("Media change: {Type}, {Id}", e.Change, e.MediaItemId); MediaChangeEvent?.Invoke(this, e); } }
private void OnEject(object sender, MediaEventArgs e) { if (string.Compare(e.Volume.Name, "SD") == 0) { this.device = null; this.IsCardMounted = false; this.OnUnmounted(this, null); } }
/// <summary> /// This method is called when the USB storage device is mounted. /// </summary> /// <param name="sender">The object that raised the event.</param> /// <param name="e">The event arguments.</param> private static void RemovableMedia_Insert(object sender, MediaEventArgs e) { volInfo = e.Volume; Mp3Info.SaveInfo(); foreach (Connection connection in WT32.Connections.Values) { SendTracks(connection, true); } }
private void OnMediaAssetLoaded(object sender, MediaEventArgs e) { try { MediaAssets.Add(e.Media); } catch (Exception ex) { Debug.WriteLine(ex); } }
private void ArchiveDirectory_MediaDeleted(object sender, MediaEventArgs e) { if (MediaDirectoryPRI != null) { var m = ((ServerDirectory)MediaDirectoryPRI).FindMediaByMediaGuid(e.Media.MediaGuid) as ServerMedia; if (m != null) { m.IsArchived = false; } } }
private void RemovableMediaInsert(object sender, MediaEventArgs e) { if (driveMounted) { var ev = MediaInserted; if (ev != null) { ev(this, new RemovableVolumeEventArgs(e.Volume)); } } }
private void _recorder_CaptureSuccess(object sender, MediaEventArgs e) { if (!(sender is CasparRecorder recorder)) { return; } if ((recorder.RecordingDirectory == MediaDirectorySEC || recorder.RecordingDirectory != MediaDirectoryPRV) && recorder.RecordingDirectory != MediaDirectoryPRI) { CopyMediaToPlayout(new[] { e.Media }, true); } }
private void _onServerDirectoryMediaSaved(object dir, MediaEventArgs e) { if (e.Media is ServerMedia priMedia && priMedia.MediaStatus != TMediaStatus.Deleted) { ServerMedia compMedia = _findComplementaryMedia(priMedia); if (compMedia?.IsModified == true) { ThreadPool.QueueUserWorkItem(o => compMedia.Save()); } } }
private void _recorder_CaptureSuccess(object sender, MediaEventArgs e) { CasparRecorder recorder = sender as CasparRecorder; if (recorder != null) { if ((recorder.RecordingDirectory == MediaDirectorySEC || recorder.RecordingDirectory != MediaDirectoryPRV) && recorder.RecordingDirectory != MediaDirectoryPRI) { CopyMediaToPlayout(new[] { e.Media }, true); } } }
private void _onAnimationDirectoryMediaRemoved(object sender, MediaEventArgs e) { var adirPri = AnimationDirectoryPRI as AnimationDirectory; var adirSec = AnimationDirectorySEC as AnimationDirectory; var media = e.Media as AnimatedMedia; if (media != null && (adirPri != null && adirSec != null && adirPri != adirSec)) { adirSec.FindMediaByMediaGuid(media.MediaGuid)?.Delete(); } }
void _searchDirectory_MediaAdded(object sender, MediaEventArgs e) { Application.Current.Dispatcher.BeginInvoke((Action) delegate() { IMedia media = e.Media; if (media != null && _canAddMediaToCollection(media, _mediaType)) { _items.Add(new MediaViewViewmodel(media)); } }); }
private void _onServerDirectoryMediaSaved(object dir, MediaEventArgs e) { ServerMedia priMedia = e.Media as ServerMedia; if (priMedia != null && priMedia.MediaStatus != TMediaStatus.Deleted) { ServerMedia compMedia = _findComplementaryMedia(priMedia); if (compMedia != null) { ThreadPool.QueueUserWorkItem((o) => compMedia.Save()); } } }
void _searchDirectory_MediaRemoved(object sender, MediaEventArgs e) { Application.Current.Dispatcher.BeginInvoke((Action) delegate() { var mvm = Items.FirstOrDefault(m => m.Media == e.Media); if (mvm != null) { Items.Remove(mvm); mvm.Dispose(); _itemsView.Refresh(); } }); }
/// <summary> /// raises the media state changed event /// </summary> protected void onMediaStateChanged() { MediaEventArgs e = new MediaEventArgs(PlayState); EventHelper.invoke<Media, MediaEventArgs>(OnMediaStateChanged, this, e); }
private void MediaAdded(object source, MediaEventArgs e) { Application.Current.Dispatcher.BeginInvoke((Action)delegate() { if (!(MediaDirectory is ServerDirectory) || e.Media.MediaType == TMediaType.Movie || e.Media.MediaType == TMediaType.Still) _mediaItems.Add(new MediaViewViewmodel(e.Media)); _notifyDirectoryPropertiesChanged(); } , null); }
private void MediaRemoved(object source, MediaEventArgs e) { Application.Current.Dispatcher.BeginInvoke((Action)delegate() { var vm = _mediaItems.FirstOrDefault(v => v.Media == e.Media); if (vm != null) _mediaItems.Remove(vm); _notifyDirectoryPropertiesChanged(); }, null); }
void _searchDirectory_MediaVerified(object sender, MediaEventArgs e) { Application.Current.Dispatcher.BeginInvoke((Action)delegate() { _itemsView.Refresh(); }); }
/// <summary> /// raises the play finished event /// </summary> protected void onPlayFinished() { MediaEventArgs e = new MediaEventArgs(PlayState); EventHelper.invoke<Media, MediaEventArgs>(OnPlayFinished, this, e); }
void _searchDirectory_MediaAdded(object sender, MediaEventArgs e) { Application.Current.Dispatcher.BeginInvoke((Action)delegate() { if (e.Media != null && e.Media.MediaType == MediaType) Items.Add(new MediaViewViewmodel(e.Media)); }); }
void _searchDirectory_MediaRemoved(object sender, MediaEventArgs e) { Application.Current.Dispatcher.BeginInvoke((Action)delegate() { var mvm = Items.FirstOrDefault(m => m.Media == e.Media); if (mvm != null) { Items.Remove(mvm); _itemsView.Refresh(); } }); }