public MediaManagerViewmodel(MediaManager MediaManager, PreviewViewmodel PreviewVm) { _mediaManager = MediaManager; _previewViewModel = PreviewVm; _createCommands(); _mediaCategory = _mediaCategories.FirstOrDefault(); MediaDirectory = MediaManager.MediaDirectoryPGM; EditMedia = new MediaEditViewmodel(PreviewVm); }
public ExportViewmodel(MediaManager mediaManager, IEnumerable<MediaExport> exportList) { Items = new ObservableCollection<MediaExportViewmodel>(exportList.Select(m => new MediaExportViewmodel(m))); Directories = mediaManager.IngestDirectories.Where(d => d.IsXDCAM).ToList(); SelectedDirectory = Directories.FirstOrDefault(); CommandExport = new SimpleCommand() { ExecuteDelegate = _export, CanExecuteDelegate = _canExport }; _mediaManager = mediaManager; this._view = new Views.ExportView() { DataContext = this, Owner = System.Windows.Application.Current.MainWindow, ShowInTaskbar=false }; _view.ShowDialog(); }
private async void AdvanceAutoBeginStoryboard_Completed(object sender, object e) { bool current = !this.GlobalToggle.IsOn; bool random = this.RandomToggle.IsOn; await MediaManager.Advance(current, random); await this.UpdateImage(); this.AdvanceAutoEndStoryBoard.Begin(); }
public void setupPlayer(JObject options, IPromise promise) { if (manager != null) { promise.Resolve(null); return; } manager = new MediaManager(Context, options); promise.Resolve(null); }
private void FindNextMedia_in_thisFld(bool pre_or_next) { try { //取得本資料夾路徑 string thisFld = System.IO.Directory.GetParent(imgPath).FullName.ToString(); //取得本層資料夾中所有資料夾 //FldArray = System.IO.Directory.GetDirectories(thisFld); //if (FldArray.Length == 0) return; //int count_Fld = 0; //foreach (string s in FldArray) //{ // if (s != directory) count_Fld++; // else break; //} string nextMedia = ""; //下一個影片 // 取得旋轉後的圖片對象(取得此層資料夾中的所有影片) imgArray = MediaManager.GetMediaCollection(thisFld); int mediaIndex = imgArray.FindIndex(x => x == imgPath); if (pre_or_next == true) //找下一個 { mediaIndex++; if (mediaIndex > imgArray.Count) //超出陣列 { nextMedia = imgArray[0]; } else //陣列內 { nextMedia = imgArray[mediaIndex]; } } else //找上一個 { mediaIndex--; if (mediaIndex < 0) //超出陣列 { nextMedia = imgArray[imgArray.Count - 1]; } else //陣列內 { nextMedia = imgArray[mediaIndex]; } } imgPath = nextMedia; } catch { } }
public XmlRpcStruct newMediaObject(string blogid, string username, string password, XmlRpcStruct rpcstruct) { // Check user validation Authenticate(username, password); var name = rpcstruct["name"].ToString(); var media = (byte[])rpcstruct["bits"]; var blogName = string.Empty; var currentBlog = GetContentDatabase().GetItem(blogid); blogName = currentBlog.Name; // Get filename var fileName = Path.GetFileName(name); var imageName = ItemUtil.ProposeValidItemName(Path.GetFileNameWithoutExtension(fileName)); // Create strem from byte array var memStream = new MemoryStream(media); var md = new MediaCreatorOptions(); md.Destination = string.Join("/", new string[] { Constants.Paths.WeBlogMedia, blogName, imageName }); md.Database = GetContentDatabase(); md.AlternateText = imageName; // Check access rights CheckUserCreateRights(md.Destination); // Create mediaitem var mediaItem = MediaManager.Creator.CreateFromStream(memStream, fileName, md); // Close stream memStream.Close(); memStream.Dispose(); // Publish mediaitem to web database ContentHelper.PublishItemAndRequiredAncestors(mediaItem.ID); // Get the mediaitem url and return it var rstruct = new XmlRpcStruct(); #if FEATURE_URL_BUILDERS var options = new MediaUrlBuilderOptions() #else var options = new MediaUrlOptions() #endif { AbsolutePath = false, UseItemPath = false }; rstruct.Add("url", MediaManager.GetMediaUrl(mediaItem, options)); return(rstruct); }
public string GetImageFieldAbsoluteUrl(Item item, string fieldName) { ImageField field = fieldsHelper.GetImageField(item, fieldName); if (field == null || field.MediaItem == null) { return(null); } return(MediaManager.GetMediaUrl(field.MediaItem, BuildAbsoluteUrlMediaUrlOptions())); }
// GET api/<controller> public JsonResult <DirectoryStruct[]> Get() { var item = _sitecoreService.GetItem <Item>("{11111111-1111-1111-1111-111111111111}"); var children = new List <DirectoryStruct>(); foreach (var child in item.Children.ToArray()) { var dir = new DirectoryStruct { Name = child.Name, ChildrenList = new List <string>() }; var nestedChildren = child.Children.ToArray(); foreach (var name in nestedChildren) { dir.ChildrenList.Add(name.Name); } if (nestedChildren.Length == 0) { var media = MediaManager.GetMedia(child); string ext = media.Extension.ToLower(); if (!(ext.Contains("gif") || ext.Contains("jpg") || ext.Contains("png"))) { continue; } } if (nestedChildren.Length == 0) { var media = MediaManager.GetMedia(child); string ext = media.Extension.ToLower(); if (!(ext.Contains("mp3") || ext.Contains("doc") || ext.Contains("docx") || ext.Contains("xls") || ext.Contains("xlsx") || ext.Contains("ppt") || ext.Contains("pptx") || ext.Contains("pdf"))) { continue; } } dir.Children = dir.ChildrenList.ToArray(); children.Add(dir); } return(Json(children.ToArray())); }
/// <summary> /// Gets full url. /// </summary> /// <param name="url"> /// The url string. /// </param> /// <returns> /// The full url. /// </returns> protected static string GetFullUrl(string url) { if (MediaManager.IsMediaUrl(url) && (url.IndexOf("://") < 0) && !url.StartsWith("/")) { string absoluteUrl = HttpContext.Current.Request.Url.AbsoluteUri; int idx = absoluteUrl.LastIndexOf('/'); return(idx >= 0 ? string.Concat(absoluteUrl.Substring(0, idx + 1), url) : WebUtil.GetFullUrl(url)); } return(WebUtil.GetFullUrl(url)); }
public override IHtmlString Render(string parameters = null, bool editing = false) { var returnValue = string.Empty; if (MediaItem != null) { returnValue = "/" + MediaManager.GetMediaUrl(MediaItem); } return(new HtmlString(returnValue)); }
public static string MediaUrl(this Item item, ID mediaFieldId, MediaUrlOptions options = null) { if (item == null) { throw new ArgumentNullException(nameof(item)); } var imageField = (LinkField)item.Fields[mediaFieldId]; return(imageField.TargetItem == null ? String.Empty : (MediaManager.GetMediaUrl(imageField.TargetItem) ?? string.Empty)); }
/// <summary> /// Default private constructor. /// </summary> private App() { _blocks = new AppBlockList(); _fields = new AppFieldList(); _modules = new AppModuleList(); _mediaTypes = new MediaManager(); _serializers = new SerializerManager(); _contentTypes = new ContentTypeManager(); _hooks = new HookManager(); _permissions = new PermissionManager(); }
public void UploadTest() { var a = new AccessToken("wx52544b324318b38d", "a8b7e285bbae296f8bbb77e0bf518b1b"); var m = new MediaManager(a); var mediaId = m.Upload(@"C:\Users\maishu\Pictures\100.jpg", MediaType.Image); Assert.IsNotNull(mediaId); Console.WriteLine(mediaId); this.mediaId = mediaId; }
private string GetUrlFromField() { var targetFile = ((FileField)Field).MediaItem; if (targetFile != null) { return(MediaManager.GetMediaUrl(targetFile)); } return(string.Empty); }
public static HtmlString AdvancedImageField(this SitecoreHelper helper, string fieldName, Item item, int width = 0, int height = 0, string alt = null, string cssClass = null, bool disableWebEditing = false) { /* * Example usage in view @Html.Sitecore().AdvancedImageField("Cropped", Model.Item, 100, 400) * * */ if (item == null) { return(new HtmlString("No datasource set")); } ImageField imageField = new ImageField(item.Fields[fieldName]); if (String.IsNullOrEmpty(imageField.Value)) { return(new HtmlString(String.Empty)); } XmlDocument xml = new XmlDocument(); xml.LoadXml(imageField.Value); if (xml.DocumentElement == null) { return(new HtmlString("No cropping image parameters found.")); } string cropx = xml.DocumentElement.HasAttribute("cropx") ? xml.DocumentElement.GetAttribute("cropx") : string.Empty; string cropy = xml.DocumentElement.HasAttribute("cropy") ? xml.DocumentElement.GetAttribute("cropy") : string.Empty; string focusx = xml.DocumentElement.HasAttribute("focusx") ? xml.DocumentElement.GetAttribute("focusx") : string.Empty; string focusy = xml.DocumentElement.HasAttribute("focusy") ? xml.DocumentElement.GetAttribute("focusy") : string.Empty; float.TryParse(cropx, out float cx); float.TryParse(cropy, out float cy); float.TryParse(focusx, out float fx); float.TryParse(focusy, out float fy); string imageSrc = MediaManager.GetMediaUrl(imageField.MediaItem); string src = $"{imageSrc}?cx={cx}&cy={cy}&cw={width}&ch={height}"; string hash = HashingUtils.GetAssetUrlHash(src); TagBuilder builder = new TagBuilder("img"); builder.Attributes.Add("src", $"{src}&hash={hash}"); builder.Attributes.Add("alt", !String.IsNullOrEmpty(imageField.Alt)? imageField.Alt:alt); if (!string.IsNullOrEmpty(cssClass)) { builder.AddCssClass(cssClass); } return(MvcHtmlString.Create(builder.ToString(TagRenderMode.Normal))); }
/// <summary> /// Default private constructor. /// </summary> private App() { blocks = new AppBlockList(); fields = new AppFieldList(); modules = new AppModuleList(); mediaTypes = new MediaManager(); serializers = new SerializerManager(); contentTypes = new ContentTypeManager(); hooks = new HookManager(); permissions = new PermissionManager(); }
public static string ImageUrl(this ImageField imageField, MediaUrlBuilderOptions builderOptions) { if (imageField?.MediaItem == null) { throw new ArgumentNullException(nameof(imageField)); } return(builderOptions == null ? imageField.ImageUrl() : HashingUtils.ProtectAssetUrl(MediaManager.GetMediaUrl(imageField.MediaItem, builderOptions))); }
public void OpenPortfolio(string file = null) { if (portfolioModified && orderList.Count > 0) { var res = MessageBox.Show(Resource.vMsgSavePortfolioChanges, Resource.vMsgSavePortfolioChangesTitle, MessageBoxButton.YesNoCancel); if (res == MessageBoxResult.Cancel) { return; } else if (res == MessageBoxResult.Yes) { SavePortfolio(); } } if (file == null) { var dlg = new Microsoft.Win32.OpenFileDialog(); dlg.DefaultExt = ".ppp"; dlg.Filter = "Powerpraise-Portfolio|*.ppp"; dlg.InitialDirectory = Properties.Settings.Default.LastPortfolioDirectory; if (dlg.ShowDialog() == true) { file = dlg.FileName; Properties.Settings.Default.LastPortfolioDirectory = Path.GetDirectoryName(dlg.FileName); } else { return; } } IEnumerable <Media> result; if (MediaManager.TryLoadPortfolio(file, out result)) { oldIndex = -1; // this is needed orderList.Clear(); foreach (Media data in result) { orderList.Add(data); } PortfolioFile = new FileInfo(file); portfolioModified = false; System.Windows.Shell.JumpList.AddToRecentCategory(file); } else { MessageBox.Show(Resource.vMsgUnableToLoadPortfolio); } }
private MediaItem Upload([NotNull] Item item, [NotNull] string fieldId, [NotNull] string filename) { Debug.ArgumentNotNull(filename, nameof(filename)); MediaItem mediaItem = null; using (new SecurityDisabler()) { ThumbnailField field = item.Fields[fieldId]; if (field != null) { mediaItem = field.MediaItem; } if (mediaItem == null) { var path = GenerateMediaFolderPath(item.ID); var options = new MediaCreatorOptions { Database = Client.ContentDatabase, Destination = path, KeepExisting = false, Versioned = false, AlternateText = "Thumbnail for " + item.Paths.Path }; var notificationContext = Context.Notifications; if (notificationContext != null) { notificationContext.Disabled = true; } mediaItem = MediaManager.Creator.CreateFromFile(filename, options); if (notificationContext != null) { notificationContext.Disabled = false; } } else { using (var fileStream = new FileStream(FileUtil.MapPath(filename), FileMode.Open, FileAccess.Read, FileShare.Read)) { var media = MediaManager.GetMedia(mediaItem); media.SetStream(fileStream, "png"); } } return(mediaItem); } }
public static bool CreateMediaSession(byte[] mediaData, out MediaSession?session, IntPtr?windowHandle = null, bool isStartUpMediaManager = false) { PresentationDescriptor?pd = null; Topology?topology = null; try { if (isStartUpMediaManager) { MediaManager.Startup(); } var attributes = new MediaAttributes(mediaData.Length); MediaFactory.CreateMediaSession(attributes, out session); var resolver = new SourceResolver(); var byteStream = new ByteStream(mediaData); resolver.CreateObjectFromByteStream(byteStream, null, (int)SourceResolverFlags.ByteStream, null, out var objType, out var videoObject); GetMediaSource(videoObject, out var source); if (source != null) { MediaFactory.CreateTopology(out topology); source.CreatePresentationDescriptor(out pd); var r1 = CreatePlaybackTopology(source, pd, windowHandle.HasValue ? windowHandle.Value : IntPtr.Zero, out topology); if (r1.Success) { session.SetTopology(0, topology); return(true); } else { session = null; topology = null; return(false); } } else { session = null; topology = null; return(false); } } catch (SharpDXException ex) { Debug.Print(ex.ToString()); session = null; return(false); } finally { pd?.Dispose(); topology?.Dispose(); } }
public ActionResult LocationMap() { var model = RenderingContext.Current.Rendering.Item; if (model == null) { return(new EmptyResult()); } var locationMapModel = new LocationMapViewModel(); ImageField image = model.Fields[Constants.FieldId.LocationMapImage]; if (image?.MediaItem != null) { locationMapModel.ImageUrl = MediaManager.GetMediaUrl(image.MediaItem); locationMapModel.ImageHeight = Convert.ToInt32(image.Height); locationMapModel.ImageWidth = Convert.ToInt32(image.Width); } var poiItemsList = new List <PoiItem>(); MultilistField poiItems = model.Fields[Constants.FieldId.LocationMapPois]; if (poiItems?.TargetIDs != null) { foreach (var poi in poiItems.GetItems()) { var title = poi.Fields[Constants.FieldId.PoiTitle].Value; var poiItem = new PoiItem { Title = title, Top = Convert.ToDecimal(poi.Fields[Constants.FieldId.PoiTop].Value), Left = Convert.ToDecimal(poi.Fields[Constants.FieldId.PoiLeft].Value), Id = poi.ID.Guid }; ReferenceField iconField = poi.Fields[Constants.FieldId.PoiType]; var icon = Constants.FieldValue.PoiTypeIconClass; if (iconField?.TargetItem != null) { icon = iconField.TargetItem.Fields[Constants.FieldId.PoiTypeIconClass].Value; } poiItem.IconClass = icon; poiItemsList.Add(poiItem); } } locationMapModel.PoiItems = poiItemsList; return(View(locationMapModel)); }
public static string ImageUrl(this MediaItem mediaItem, MediaUrlOptions options = null) { if (mediaItem == null) { throw new ArgumentNullException(nameof(mediaItem)); } var url = MediaManager.GetMediaUrl(mediaItem, options ?? MediaUrlOptions.Empty); var cleanUrl = StringUtil.EnsurePrefix('/', url); var hashedUrl = HashingUtils.ProtectAssetUrl(cleanUrl); return(hashedUrl); }
static void Main(string[] args) { MediaManager.OnNewSource += MediaManager_OnNewSource; MediaManager.OnRemovedSource += MediaManager_OnRemovedSource; MediaManager.OnPlaybackStateChanged += MediaManager_OnPlaybackStateChanged; MediaManager.OnSongChanged += MediaManager_OnSongChanged; MediaManager.Start(); while (true) { Console.ReadLine(); } }
public static string LinkFieldUrl(this Item item, ID fieldId) { if (item == null) { throw new ArgumentNullException(nameof(item)); } if (ID.IsNullOrEmpty(fieldId)) { throw new ArgumentNullException(nameof(fieldId)); } var field = item.Fields[fieldId]; if (field == null || !(FieldTypeManager.GetField(field) is LinkField)) { return(string.Empty); } LinkField linkField = field; switch (linkField.LinkType.ToLower()) { case "internal": // Use LinkMananger for internal links, if link is not empty return(linkField.TargetItem != null?LinkManager.GetItemUrl(linkField.TargetItem) : string.Empty); case "media": // Use MediaManager for media links, if link is not empty return(linkField.TargetItem != null?MediaManager.GetMediaUrl(linkField.TargetItem) : string.Empty); case "external": // Just return external links return(linkField.Url); case "anchor": // Prefix anchor link with # if link if not empty return(!string.IsNullOrEmpty(linkField.Anchor) ? "#" + linkField.Anchor : string.Empty); case "mailto": // Just return mailto link return(linkField.Url); case "javascript": // Just return javascript return(linkField.Url); default: // Just please the compiler, this // condition will never be met return(linkField.Url); } }
private void UpdateMediaPreview(Item item) { Assert.ArgumentNotNull((object)item, nameof(item)); MediaUrlOptions thumbnailOptions = MediaUrlOptions.GetThumbnailOptions((MediaItem)item); thumbnailOptions.UseDefaultIcon = true; thumbnailOptions.Width = 96; thumbnailOptions.Height = 96; thumbnailOptions.Language = item.Language; thumbnailOptions.AllowStretch = false; this.MediaPreview.InnerHtml = "<img src=\"" + MediaManager.GetMediaUrl((MediaItem)item, thumbnailOptions) + "\" width=\"96px\" height=\"96px\" border=\"0\" alt=\"\" />"; }
static MediaPlayer() { MediaManager.Startup(true); using (var factory = new MediaEngineClassFactory()) { var mediaEngine = new MediaEngine(factory, null, MediaEngineCreateflags.Audioonly); _mediaEngineEx = mediaEngine.QueryInterface <MediaEngineEx>(); } _mediaEngineEx.PlaybackEvent += MediaEngineExOnPlaybackEvent; }
private void SavePortfolio() { if (PortfolioFile == null) { SavePortfolioAs(); } else { MediaManager.SavePortfolio(from m in orderList select m.Data, PortfolioFile.FullName); portfolioModified = false; } }
private static string GetRedirectToItemUrl(Item redirectToItem) { if (redirectToItem.Paths.Path.StartsWith(Constants.Paths.MediaLibrary)) { var mediaItem = (MediaItem)redirectToItem; var mediaUrl = MediaManager.GetMediaUrl(mediaItem); var redirectToUrl = Sitecore.StringUtil.EnsurePrefix('/', mediaUrl); return(redirectToUrl); } return(LinkManager.GetItemUrl(redirectToItem)); }
private bool IsDeviceConnected() { if (string.IsNullOrEmpty(DeviceName)) { return(false); } using (MediaManager manager = new MediaManager()) { return(manager.IsDeviceConnected(DeviceName)); } }
/// <summary> /// Use this method for Sitecore version 7.5 and up (including 7.5) /// </summary> /// <param name="dataItem"></param> /// <param name="width"></param> /// <returns></returns> public static string GetMediaItemUrl(MediaItem dataItem, int width) { if (dataItem == null) { return(string.Empty); } var opts = new MediaUrlOptions { Width = width }; return(MediaManager.GetMediaUrl(dataItem, opts)); }
public static string MediaUrl(this SitecoreHelper sitecoreHelper, ID fieldId, Item item, MediaUrlBuilderOptions options) { ImageField imageField = item?.Fields[fieldId]; if (imageField == null || imageField.MediaItem == null) { return(string.Empty); } var url = options != null?MediaManager.GetMediaUrl(imageField.MediaItem, options) : MediaManager.GetMediaUrl(imageField.MediaItem); return(HashingUtils.ProtectAssetUrl(url)); }
public LocalPlayback(MediaManager manager, JObject options) : base(manager) { player = new MediaPlayer(); player.AutoPlay = false; player.AudioCategory = MediaPlayerAudioCategory.Media; player.CommandManager.IsEnabled = false; player.MediaOpened += OnLoad; player.MediaFailed += OnError; player.MediaEnded += OnEnd; player.CurrentStateChanged += OnStateChange; }
/// <summary> /// Initializes a new instance of the <see cref="RenderPageImageViewModel" /> class. /// </summary> /// <param name="image">The image.</param> public RenderPageImageViewModel(MediaManager.Models.MediaImage image = null) { if (image != null) { Id = image.Id; Version = image.Version; Title = image.Title; Caption = image.Caption; PublicUrl = image.PublicUrl; PublicThumbnailUrl = image.PublicThumbnailUrl; Height = image.Height; Width = image.Width; } }
public MediaSearchViewmodel(EngineViewmodel engineVM, TMediaType mediaType, bool closeAfterAdd, TVideoFormat? videoFormat) { _manager = engineVM.Engine.MediaManager; _previewViewmodel = engineVM.PreviewViewmodel; if (_previewViewmodel != null) _previewViewmodel.PropertyChanged += OnPreviewPropertyChanged; _mediaType = mediaType; if (mediaType == TMediaType.AnimationFlash) _searchDirectory = _manager.AnimationDirectoryPGM; else _searchDirectory = _manager.MediaDirectoryPGM; _searchDirectory.MediaAdded += new EventHandler<MediaEventArgs>(_searchDirectory_MediaAdded); _searchDirectory.MediaRemoved += new EventHandler<MediaEventArgs>(_searchDirectory_MediaRemoved); _searchDirectory.MediaVerified += new EventHandler<MediaEventArgs>(_searchDirectory_MediaVerified); _videoFormat = videoFormat; _closeAfterAdd = closeAfterAdd; _mediaCategory = MediaCategories.FirstOrDefault(); NewEventStartType = TStartType.After; if (!closeAfterAdd) OkButtonText = Properties.Resources._button_Add; _createCommands(); _items = new ObservableCollection<MediaViewViewmodel>(_searchDirectory.Files .Where(m=> m.MediaType == mediaType && (videoFormat == null || m.VideoFormat == videoFormat)) .Select(m => new MediaViewViewmodel(m))); _itemsView = CollectionViewSource.GetDefaultView(_items); _itemsView.SortDescriptions.Add(new SortDescription("MediaName", ListSortDirection.Ascending)); _itemsView.Filter += _itemsFilter; _window = new MediaSearchView(); _window.Owner = App.Current.MainWindow; _window.DataContext = this; _window.Closed += _windowClosed; _window.Show(); //_window.Topmost = true; }