/// <summary> /// Create the next media node based on the provided options /// </summary> /// <param name="options"></param> /// <returns></returns> private Media CreateNextMediaNode(RegionOptions options) { Media media; Trace.WriteLine(new LogMessage("Region - CreateNextMediaNode", string.Format("Creating new media: {0}, {1}", options.type, options.mediaid)), LogType.Audit.ToString()); switch (options.type) { case "image": options.uri = Settings.Default.LibraryPath + @"\" + options.uri; media = new ImagePosition(options); break; case "text": media = new Text(options); break; case "powerpoint": options.uri = Settings.Default.LibraryPath + @"\" + options.uri; media = new WebContent(options); break; case "video": options.uri = Settings.Default.LibraryPath + @"\" + options.uri; // Which video engine are we using? if (Settings.Default.VideoRenderingEngine == "DirectShow") media = new VideoDS(options); else media = new Video(options); break; case "localvideo": // Which video engine are we using? if (Settings.Default.VideoRenderingEngine == "DirectShow") media = new VideoDS(options); else media = new Video(options); break; case "webpage": media = new WebContent(options); break; case "flash": options.uri = Settings.Default.LibraryPath + @"\" + options.uri; media = new Flash(options); break; case "ticker": media = new Rss(options); break; case "embedded": media = new Text(options); break; case "datasetview": media = new DataSetView(options); break; case "shellcommand": media = new ShellCommand(options); break; default: throw new InvalidOperationException("Not a valid media node type: " + options.type); } // Sets up the timer for this media media.Duration = options.duration; // Add event handler for when this completes media.DurationElapsedEvent += new Media.DurationElapsedDelegate(media_DurationElapsedEvent); return media; }
/// <summary> /// Create the next media node based on the provided options /// </summary> /// <param name="options"></param> /// <returns></returns> private Media CreateNextMediaNode(RegionOptions options) { Media media; Trace.WriteLine(new LogMessage("Region - CreateNextMediaNode", string.Format("Creating new media: {0}, {1}", options.type, options.mediaid)), LogType.Audit.ToString()); bool useCef = ApplicationSettings.Default.UseCefWebBrowser; if (options.render == "html") { if (useCef) media = new CefWebMedia(options); else media = new IeWebMedia(options); } else { switch (options.type) { case "image": options.uri = ApplicationSettings.Default.LibraryPath + @"\" + options.uri; media = new ImagePosition(options); break; case "powerpoint": options.uri = ApplicationSettings.Default.LibraryPath + @"\" + options.uri; media = new PowerPoint(options); break; case "video": options.uri = ApplicationSettings.Default.LibraryPath + @"\" + options.uri; // Which video engine are we using? if (ApplicationSettings.Default.VideoRenderingEngine == "DirectShow") media = new VideoDS(options); else media = new Video(options); break; case "localvideo": // Which video engine are we using? if (ApplicationSettings.Default.VideoRenderingEngine == "DirectShow") media = new VideoDS(options); else media = new Video(options); break; case "datasetview": case "embedded": case "ticker": case "text": case "webpage": if (useCef) media = new CefWebMedia(options); else media = new IeWebMedia(options); break; case "flash": options.uri = ApplicationSettings.Default.LibraryPath + @"\" + options.uri; media = new Flash(options); break; case "shellcommand": media = new ShellCommand(options); break; default: throw new InvalidOperationException("Not a valid media node type: " + options.type); } } // Sets up the timer for this media, if it hasn't already been set if (media.Duration == 0) media.Duration = options.duration; // Add event handler for when this completes media.DurationElapsedEvent += new Media.DurationElapsedDelegate(media_DurationElapsedEvent); return media; }