client/src/Iri.Modernisation.Data/Models/VideoSequence.cs
author totetm <>
Wed, 27 Jan 2010 10:37:39 +0100
changeset 36 b6df6fce6e5d
parent 34 4d9ebc6fbbe8
permissions -rw-r--r--
Sync init XML download. ProductionVideo from URI source
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     1
using System;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     2
using System.Net;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     3
using System.Windows;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     4
using System.Windows.Controls;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     5
using System.Windows.Documents;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     6
using System.Windows.Ink;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     7
using System.Windows.Input;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     8
using System.Windows.Media;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     9
using System.Windows.Media.Animation;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    10
using System.Windows.Shapes;
36
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    11
using System.Xml.Linq;
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    12
using System.Collections.Generic;
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    13
namespace Iri.Modernisation.Data.Models
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    14
{
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    15
    /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    16
    /// Classe représentant les segments Vidéo que l'utilisateur enregistre via la web cam et modifie (trimming)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    17
    /// via l'application
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    18
    /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    19
    public class VideoSequence : SegmentElement
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    20
    {
20
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    21
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    22
        public VideoSequence():
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    23
            base()
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    24
        {
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    25
        }
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    26
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    27
        public VideoSequence(VideoSequence oldVs)
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    28
            : base(oldVs)
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    29
        {
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    30
            Path = oldVs.Path;
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    31
            RunTime = oldVs.RunTime;
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    32
            BeginTrim = oldVs.BeginTrim;
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    33
            EndTrim = oldVs.EndTrim;
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    34
            
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    35
        }
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 0
diff changeset
    36
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    37
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    38
        /// Chemin d'accès à la vidéo
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    39
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    40
        public String Path { get; set; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    41
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    42
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    43
        /// Temps de la video (Absolue - sans recadrage)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    44
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    45
        public TimeSpan RunTime { get; set; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    46
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    47
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    48
        /// Recadrage à gauche (Débuter la vidéo plus tard)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    49
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    50
        public TimeSpan BeginTrim { get; set; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    51
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    52
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    53
        /// Recadrage à droite (Finir la vidéo plus tôt
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    54
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    55
        public TimeSpan EndTrim { get; set; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    56
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    57
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    58
        /// Temps de la vidéo (Effectif - avec les recadrage)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    59
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    60
        public new TimeSpan Duration
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    61
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    62
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    63
            {
34
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 20
diff changeset
    64
                
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    65
                return RunTime - (BeginTrim + EndTrim);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    66
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    67
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    68
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    69
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    70
        public new TimeSpan TimerOut
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    71
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    72
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    73
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    74
                return TimerIn + Duration;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    75
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    76
        }
36
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    77
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    78
        static public List<VideoSequence> GetProductionVideo(XDocument xdoc)
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    79
        {
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    80
            List<VideoSequence> returnList = new List<VideoSequence>();
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    81
            foreach (XElement XVideo in xdoc.Root.Elements()) 
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    82
            {
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    83
              
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    84
               returnList.Add(
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    85
                   new VideoSequence()
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    86
                    {
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    87
                        Path =   XVideo.Attribute("mediafile").Value,
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    88
                        RunTime = TimeSpan.FromMilliseconds(double.Parse(XVideo.Attribute("dur").Value)),
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    89
                        BeginTrim = new TimeSpan(0, 0, 0),
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    90
                        EndTrim = new TimeSpan(0, 0, 0),
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    91
                    }
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    92
                );
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    93
            }
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    94
            return returnList;
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    95
        }
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 34
diff changeset
    96
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    97
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    98
    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    99
}