public void LoadMediaBinAssetsAsync(Uri containerUri)
        {
            this.LoadMediaBinAssetAyncCalled = true;
            MediaBin mediaBin = new MediaBin();

            mediaBin.AddAssets(this.Assets);
            this.LoadMediaBinAssetCompleted(this, new DataEventArgs <MediaBin>(mediaBin));
        }
        /// <summary>
        /// Creates a media bin for testing.
        /// </summary>
        /// <returns>A media bin with values.</returns>
        public static MediaBin CreateMediaBin()
        {
            var mediaBin = new MediaBin();

            mediaBin.Id      = CreateUri();
            mediaBin.Title   = "Title";
            mediaBin.Creator = "Creator";
            mediaBin.Created = new DateTime(2009, 1, 1);
            mediaBin.Items.Add(CreateMediaItem());
            mediaBin.Containers.Add(CreateContainer());

            return(mediaBin);
        }
Пример #3
0
    void ExportMediaBin(XmlElement parent, MediaBin bin)
    {
        XmlElement elt = AddChild(parent, "MediaBin");

        ChildString(elt, "Name", bin.Name);
        IEnumerator enumBins = bin.GetEnumerator();

        while (enumBins.MoveNext())
        {
            Type type = enumBins.Current.GetType();
            if (type.Name == "MediaBin")
            {
                ExportMediaBin(elt, (MediaBin)enumBins.Current);
            }
            else
            {
                Media media = (Media)enumBins.Current;
                ChildString(elt, "MediaRef", media.KeyString);
            }
        }
    }
        /// <summary>
        /// Converts the SQL result to media bin.
        /// </summary>
        /// <param name="sqlMediaBin">The SQL result of media bin.</param>
        /// <returns>The <see cref="MediaBin"/>.</returns>
        public static MediaBin ConvertToMediaBin(SqlContainer sqlMediaBin, IMetadataLocator metadataLocator)
        {
            MediaBin mediaBin = new MediaBin
            {
                Id    = CreateUri(sqlMediaBin.Id),
                Title = sqlMediaBin.Title
            };

            foreach (SqlItem item in sqlMediaBin.Items)
            {
                mediaBin.Items.Add(ConvertToMediaItem(item, metadataLocator));
            }

            foreach (SqlContainer sqlChildContainer in sqlMediaBin.Containers)
            {
                Container childContainer = ConvertToContainer(sqlChildContainer, metadataLocator);

                mediaBin.Containers.Add(childContainer);
            }

            return(mediaBin);
        }
Пример #5
0
 void ImportMediaBin(XmlElement elt, MediaBin bin, MediaPool pool)
 {
     if (null == elt)
     {
         return;
     }
     foreach (XmlElement mediaElt in elt.SelectNodes("./MediaRef"))
     {
         String mediaKey = mediaElt.InnerText;
         Media  media    = FindMedia(pool, mediaKey);
         if (null != media)
         {
             bin.Add(media);
         }
     }
     foreach (XmlElement subBinElt in elt.SelectNodes("./MediaBin"))
     {
         String   subBinName = ChildString(subBinElt, "Name");
         MediaBin subBin     = new MediaBin(subBinName);
         bin.Add(subBin);
         ImportMediaBin(subBinElt, subBin, pool);
     }
 }
Пример #6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DemoDataProvider"/> class.
        /// </summary>
        public DemoDataProvider()
        {
            this.sampleMediaBinUri = new Uri("http://rce.litwareinc.com/samples/2.0/MediaBin/11111111-1111-1111-1111-111111111111");

            this.libraryContainer = new Container();

            // Adding sample videos;
            //this.libraryContainer.Items.Add(CreateSmoothVideoItem(CreateUri(VideoItems), "Elephants Dream", 653.791678, SmpteFrameRate.Smpte2997NonDrop, "http://video3.smoothhd.com/ondemand/ElephantsDream.ism/Manifest", 1280, 720, "SmoothStream"));
            this.libraryContainer.Items.Add(CreateSmoothVideoItem(CreateUri(VideoItems), "Amazing Caves", 85.4999, SmpteFrameRate.Unknown, "http://www.indoorworx.com/SmoothStreaming/Amazing_Caves_1080.ism/Manifest", 852, 480, "SmoothStream"));

            this.libraryContainer.Items.Add(CreateImageItem("Francis & ESQL", "http://i.msdn.microsoft.com/bb969103.how-we-do-it(en-us,MSDN.10).png", 300, 200));

            this.libraryContainer.Items.Add(CreateSmoothVideoItem(CreateUri(VideoItems), "NBA", 408, SmpteFrameRate.Smpte2997NonDrop, "http://video3.smoothhd.com/ondemand/NBA.ism/Manifest", 1280, 720, "SmoothStream"));
            this.libraryContainer.Items.Add(CreateImageItem("p&p Logo", "http://i.msdn.microsoft.com/ms998572.pandp-logo-txt-2009(en-us,MSDN.10).png", 250, 68));

            this.libraryContainer.Items.Add(CreateSmoothVideoItem(CreateUri(VideoItems), "Basic Curveball", 62.1621042, SmpteFrameRate.Smpte2997Drop, "http://video3.smoothhd.com/ondemand/eHow_Baseball.ism/Manifest", 1280, 720, "SmoothStream"));
            this.libraryContainer.Items.Add(CreateAudioItem("Glenn Block on Prism", 2286, "http://herdingcode.com/wp-content/uploads/HerdingCode-0011-Glenn-Block-Part-1.mp3"));

            this.libraryContainer.Items.Add(CreateSmoothVideoItem(CreateUri(VideoItems), "Big Buck Bunny", 596.458333, SmpteFrameRate.Smpte2997NonDrop, "http://video3.smoothhd.com/ondemand/Big%20Buck%20Bunny%20Adaptive.ism/Manifest", 1280, 720, "SmoothStream"));

            this.libraryContainer.Items.Add(CreateVideoItem(CreateUri(VideoItems), "Carol Bartz", 155, SmpteFrameRate.Smpte2997NonDrop, "http://208.217.186.229/media/WMV/CarolBartz.wmv", 320, 240, "Master"));
            this.libraryContainer.Items.Add(CreateVideoItem(CreateUri(VideoItems), "Steve Ballmer", 153, SmpteFrameRate.Smpte2997NonDrop, "http://208.217.186.229/media/WMV/SteveBallmer.wmv", 320, 240, "Master"));

            this.libraryContainer.Items.Add(CreateImageItem("XBox Live", "http://www.xbox.com/NR/rdonlyres/09842316-4F8D-46E5-A504-BE7AB207CE69/0/xbox_white_1280x1204.jpg", 1280, 1024));
            this.libraryContainer.Items.Add(CreateImageItem("PDC 2009 640x474", "http://blogs.southworks.net/srenzi/files/2009/11/image3.png", 640, 474));
            this.libraryContainer.Items.Add(CreateImageItem("Windows 63 x 63", "http://i.microsoft.com/global/En/us/PublishingImages/SLWindowPane/Windows_T.png", 63, 63));

            // Adding sample comments
            this.sampleComments = new CommentCollection();
            this.sampleComments.Add(CreateComment("David", "Some comment", "Global", DateTime.Today, null, null, DateTime.Today.AddDays(-15)));
            this.sampleComments.Add(CreateComment("Jay", "This is the best one!!", "Timeline", new DateTime(2008, 2, 10), 1400, 1520, DateTime.Today.AddDays(-15)));
            this.sampleComments.Add(CreateComment("David", "This is a Shot comment", "Shot", new DateTime(2008, 2, 10), 980, 1060, DateTime.Today.AddDays(-15)));

            // Adding sample media bin
            this.sampleMediaBin = new MediaBin {
                Id = this.sampleMediaBinUri
            };
            this.sampleMediaBin.Items.Add(this.libraryContainer.Items[0]);
            this.sampleMediaBin.Items.Add(this.libraryContainer.Items[1]);
            this.sampleMediaBin.Items.Add(this.libraryContainer.Items[2]);

            // Adding sample tracks
            this.sampleTracks = new TrackCollection();
            this.sampleTracks.Add(CreateTrack(TrackType.Visual));

            this.sampleTracks[0].Shots.Add(CreateShot(this.sampleMediaBin.Items[0], 180, ((VideoItem)this.sampleMediaBin.Items[0]).Duration.Value - 180, 800, 100));
            this.sampleTracks[0].Shots.Add(CreateShot(this.sampleMediaBin.Items[0], 0, ((VideoItem)this.sampleMediaBin.Items[0]).Duration.Value - 60, 0, 65));
            this.sampleTracks[0].Shots[0].Comments.Add(this.sampleComments[2]);

            this.sampleTracks.Add(CreateTrack(TrackType.Audio));

            // this.sampleTracks[1].Shots.Add(CreateShot(this.sampleMediaBin.Items[1], 0, ((AudioItem)this.sampleMediaBin.Items[1]).Duration.Value, 60, 80));

            // Adding sample title templates
            this.sampleTitleTemplates = new TitleTemplateCollection();
            this.sampleTitleTemplates.Add(CreateTitleTemplate("FadeCenter"));
            this.sampleTitleTemplates.Add(CreateTitleTemplate("Spinner"));
            this.sampleTitleTemplates.Add(CreateTitleTemplate("ScrollingCenter"));
            this.sampleTitleTemplates.Add(CreateTitleTemplate("ZoomCenter"));

            // Adding sample titles
            this.sampleTitles = new TitleCollection();
            this.sampleTitles.Add(CreateTitle(this.sampleTitleTemplates[0], 1200, 600));
            this.sampleTitles.Add(CreateTitle(this.sampleTitleTemplates[0], 2200, 400));

            // Adding sample project
            this.sampleProject = new Project
            {
                Id               = new Uri("http://rce.litwareinc.com/samples/2.0/Projects/11111111-1111-1111-1111-111111111111"),
                Title            = "Sample Project",
                Creator          = @"RCE\ejadib",
                Created          = new DateTime(2009, 1, 1),
                RippleMode       = false,
                AutoSaveInterval = 10,
                SmpteFrameRate   = SmpteFrameRate.Smpte2997NonDrop.ToString(),
                StartTimeCode    = 1802,
                MediaBin         = this.sampleMediaBin,
                Comments         = { this.sampleComments[0], this.sampleComments[1], this.sampleComments[2] },
                Timeline         = { this.sampleTracks[0], this.sampleTracks[1] },
                Titles           = { this.sampleTitles[0], this.sampleTitles[1] }
            };

            this.sampleProjects = new ProjectCollection();
            this.sampleProjects.Add(this.sampleProject);

            this.sampleProjects.Add(new Project
            {
                Id               = new Uri("http://rce.litwareinc.com/samples/2.0/Projects/CC8191B0-64FF-438b-89D1-C9464B310FB7"),
                Title            = "WithStartTimeCode1802",
                Creator          = @"RCE\ejadib",
                Created          = new DateTime(2009, 3, 1),
                RippleMode       = false,
                AutoSaveInterval = 10,
                SmpteFrameRate   = SmpteFrameRate.Smpte25.ToString(),
                StartTimeCode    = 1802,
                MediaBin         = this.sampleMediaBin,
                Comments         = { this.sampleComments[0], this.sampleComments[1], this.sampleComments[2] },
                Timeline         = { this.sampleTracks[0], this.sampleTracks[1] },
                Duration         = 200
            });

            this.sampleProjects.Add(new Project
            {
                Id               = new Uri("http://rce.litwareinc.com/samples/2.0/Projects/0F20DC18-2164-4683-AB65-51715A5DD7D3"),
                Title            = "WithStartTimeCode600",
                Creator          = @"RCE\ejadib",
                Created          = new DateTime(2009, 2, 6),
                RippleMode       = false,
                AutoSaveInterval = 10,
                SmpteFrameRate   = SmpteFrameRate.Smpte2997Drop.ToString(),
                StartTimeCode    = 600,
                MediaBin         = this.sampleMediaBin,
                Comments         = { this.sampleComments[0], this.sampleComments[1], this.sampleComments[2] },
                Timeline         = { this.sampleTracks[0], this.sampleTracks[1] },
                Duration         = 400
            });

            this.sampleProjects.Add(new Project
            {
                Id               = new Uri("http://rce.litwareinc.com/samples/2.0/Projects/0B05A8F0-1D3C-44bb-AD71-1387D2A93414"),
                Title            = "No Titles",
                Creator          = @"RCE\ejadib",
                Created          = new DateTime(2009, 3, 25),
                RippleMode       = true,
                AutoSaveInterval = 10,
                SmpteFrameRate   = SmpteFrameRate.Smpte2997NonDrop.ToString(),
                StartTimeCode    = 0,
                MediaBin         = this.sampleMediaBin,
                Comments         = { this.sampleComments[0], this.sampleComments[1], this.sampleComments[2] },
                Timeline         = { this.sampleTracks[0], this.sampleTracks[1] },
                Duration         = 600
            });
        }