private void PlaylistView_Drop(object sender, System.Windows.DragEventArgs e)
 {
     if (e.Data.GetDataPresent("mediaFile"))
     {
         string      sourcePath   = e.Data.GetData("mediaFile") as string;
         int         index        = playlistController.GetCurrentIndex(PlaylistView, e.GetPosition);
         PlaylistSet playlist     = PlaylistView.Items[index] as PlaylistSet;
         string      playlistName = playlist.Name;
         MediaSet    mediaToAdd   = new MediaSet();
         string      result       = "";
         using (var db = new MeLoDBModels())
         {
             mediaToAdd.FullName = e.Data.GetData("mediaFile") as string;
             Regex           r = new Regex(@"([^\\]+$)", RegexOptions.IgnoreCase | RegexOptions.Singleline);
             MatchCollection m = r.Matches(mediaToAdd.FullName);
             foreach (Match item in m)
             {
                 result += item.Groups[1].ToString();
             }
             mediaToAdd.Name          = result;
             mediaToAdd.TypeId        = 3;
             mediaToAdd.PlaylistSetId = db.PlaylistSet.Where(p => p.Name == playlistName).Single().Id;
             db.MediaSet.Add(mediaToAdd);
             db.SaveChanges();
         }
     }
 }
        public PlaylistSave EditPlaylist(MediaSet playlist)
        {
            PlaylistSave control = null;

            if (playlist != null)
            {
                control            = new PlaylistSave();
                control.Identifier = playlist.Id;
                control.Title      = playlist.Title;
                control.Artist     = playlist.Artist;
                control.Number     = playlist.Number;
                control.Source     = playlist.Source;
                control.Date       = playlist.Date;
                control.Format     = playlist.Format;
                control.Path       = playlist.Path;

                if (playlist.Items != null)
                {
                    int x = playlist.Items.Count;
                }

                foreach (MediaItem item in playlist.Items)                 //.Values)
                {
                    control.AddItem(GetMediaItemData(item));
                }
            }

            control.ToolController = this;

            return(control);
        }
Example #3
0
        public MediaSet LookupMediaSet(Guid id)
        {
            //IMediaSet model = null;

            ////if (lastSavedMediaSet != null && lastSavedMediaSet.Id == id)
            ////{
            //    //model = lastSavedMediaSet;
            ////}
            ////else
            ////{
            //    Query query = new Query(string.Format("Search MediaSet: Id={0}", id));
            //    query.Filters.Add(schema.GetFilter<IMediaSet>("Id", "=", id.ToString()));

            //    ICollection<IMediaSet> sets = repo.List<IMediaSet>(mediaSetWithAllChildren, query);
            //    if (sets != null && sets.Count > 0)
            //    {
            //        using (IEnumerator<IMediaSet> iter = sets.GetEnumerator())
            //        {
            //            iter.Reset();
            //            iter.MoveNext();
            //            model = iter.Current;
            //        }
            //    }
            ////}

            //return model;

            try
            {
                MediaSet set = mappingRepo.GetById <MediaSet>(id);
                return(set);
            }
            catch (Exception ex)
            {
                string x = ex.Message;
                return(null);
            }
        }
Example #4
0
        public static MediaSet MediaSetGet(OrganizationModel organization, FileIdentifier fileIdentifier, List <AlternativeView> alternativeViews, string extension, string mimeType, bool isPrivileged = false)
        {
            bool noTranscodes = false;

            var mediaSet = new MediaSet
            {
                AutoPlay = false,
                Preload  = true,
                Poster   = alternativeViews?.FirstOrDefault(v => v.MimeType == MIME_PNG)?.FileIdentifier
            };

            // query for video formats by mime-type
            var mp4  = alternativeViews?.FirstOrDefault(v => v.MimeType == MIME_MP4)?.FileIdentifier;
            var webm = alternativeViews?.FirstOrDefault(v => v.MimeType == MIME_WEBM)?.FileIdentifier;
            var mp3  = alternativeViews?.FirstOrDefault(v => v.MimeType == MIME_MP3)?.FileIdentifier;
            var exif = alternativeViews?.FirstOrDefault(v => v.Name == "EXIF")?.FileIdentifier;

            // check to see if the original was either of the targets
            if (mp4 == null && mimeType == MIME_MP4)
            {
                mp4 = fileIdentifier;
            }
            if (webm == null && mimeType == MIME_WEBM)
            {
                webm = fileIdentifier;
            }
            if (mp3 == null && mimeType == MIME_MP3)
            {
                mp3 = fileIdentifier;
            }

            var sources = new List <MediaSource>();

            mediaSet.Sources = sources;

            if (mp4 != null)
            {
                sources.Add(new MediaSource(mp4, MIME_MP4));
            }

            if (webm != null)
            {
                sources.Add(new MediaSource(webm, MIME_WEBM));
            }

            if (mp3 != null)
            {
                sources.Add(new MediaSource(mp3, MIME_MP3));
            }

            // if we don't have any of our target formats, try adding the original file
            if (!sources.Any())
            {
                sources.Add(new MediaSource(fileIdentifier, mimeType));
                noTranscodes = true;
            }

            var vtt = alternativeViews?.FirstOrDefault(v => v.MimeType == MIME_VTT && v.Name == TranscriptService.FILENAME_VTT)?.FileIdentifier;

            if (vtt == null)
            {
                vtt = alternativeViews?.FirstOrDefault(v => v.MimeType == MIME_VTT)?.FileIdentifier;
            }
            if (vtt != null)
            {
                mediaSet.Subtitles = new List <MediaSubtitles>
                {
                    new MediaSubtitles {
                        FileIdentifier = vtt,
                        IsDefault      = true,
                        Label          = "English",
                        Language       = "English"
                    }
                };
            }

            // let's see how we did
            mediaSet.MediaType = MediaSet.MediaTypeEnum.Unknown;

            if (mp3 != null)
            {
                mediaSet.MediaType = MediaSet.MediaTypeEnum.Audio;
            }

            if (mp4 != null || webm != null)
            {
                mediaSet.MediaType = MediaSet.MediaTypeEnum.Video;
            }

            // we couldn't find any alternative views, indicating a transcoder
            // has visited this file. let's check the primary file itself
            if (noTranscodes && false)
            {
                if (mimeType?.ToLower().StartsWith("video") ?? false)
                {
                    mediaSet.MediaType = MediaSet.MediaTypeEnum.Video;
                }
                else if (mimeType?.ToLower().StartsWith("audio") ?? false)
                {
                    mediaSet.MediaType = MediaSet.MediaTypeEnum.Audio;
                }
            }

            var allowedOperations = new List <AllowedOperation>
            {
                AllowedOperation.GetAllowedOperationDownload(fileIdentifier, label: "Download")
            };

            if (mp4 != null)
            {
                allowedOperations.Add(AllowedOperation.GetAllowedOperationDownload(mp4, label: "Download MP4"));
            }

            if (exif != null)
            {
                allowedOperations.Add(AllowedOperation.GetAllowedOperationDownload(exif, label: "Download EXIF"));
            }

            if (mediaSet.MediaType == MediaSet.MediaTypeEnum.Audio &&
                mp3 != null)
            {
                allowedOperations.Add(AllowedOperation.GetAllowedOperationDownload(mp3, label: "Download MP3"));
            }

            if (vtt != null)
            {
                allowedOperations.Add(AllowedOperation.GetAllowedOperationDownload(vtt, label: "Download Subtitles"));
            }
            else
            {
                if (isPrivileged)
                {
                    if (mp3 != null && organization.Read("transcript[isActive]", defaultValue: false))
                    {
                        allowedOperations.Add(AllowedOperation.GetAllowedOperationTranscribe(fileIdentifier));
                    }
                }
            }

            if (isPrivileged)
            {
                if (mp4 != null)
                {
                    allowedOperations.Add(AllowedOperation.GetAllowedOperationWatermarkVideo(mp4));
                }
            }


            mediaSet.AllowedOperations = allowedOperations;

            return(mediaSet);
        }
Example #5
0
        public static Record CreateRecord(string Tag)
        {
            Record outRecord;

            switch (Tag)
            {
            case "TES4":
                outRecord = new Header();
                break;

            case "GMST":
                outRecord = new GameSetting();
                break;

            case "TXST":
                outRecord = new TextureSet();
                break;

            case "MICN":
                outRecord = new MenuIcon();
                break;

            case "GLOB":
                outRecord = new GlobalVariable();
                break;

            case "CLAS":
                outRecord = new Class();
                break;

            case "FACT":
                outRecord = new Faction();
                break;

            case "HDPT":
                outRecord = new HeadPart();
                break;

            case "HAIR":
                outRecord = new Hair();
                break;

            case "EYES":
                outRecord = new Eyes();
                break;

            case "RACE":
                outRecord = new Race();
                break;

            case "SOUN":
                outRecord = new Sound();
                break;

            case "ASPC":
                outRecord = new AcousticSpace();
                break;

            case "MGEF":
                outRecord = new MagicEffect();
                break;

            case "SCPT":
                outRecord = new Script();
                break;

            case "LTEX":
                outRecord = new LandscapeTexture();
                break;

            case "ENCH":
                outRecord = new ObjectEffect();
                break;

            case "SPEL":
                outRecord = new ActorEffect();
                break;

            case "ACTI":
                outRecord = new ESPSharp.Records.Activator();
                break;

            case "TACT":
                outRecord = new TalkingActivator();
                break;

            case "TERM":
                outRecord = new Terminal();
                break;

            case "ARMO":
                outRecord = new Armor();
                break;

            case "BOOK":
                outRecord = new Book();
                break;

            case "CONT":
                outRecord = new Container();
                break;

            case "DOOR":
                outRecord = new Door();
                break;

            case "INGR":
                outRecord = new Ingredient();
                break;

            case "LIGH":
                outRecord = new Light();
                break;

            case "MISC":
                outRecord = new MiscItem();
                break;

            case "STAT":
                outRecord = new Static();
                break;

            case "SCOL":
                outRecord = new StaticCollection();
                break;

            case "MSTT":
                outRecord = new MoveableStatic();
                break;

            case "PWAT":
                outRecord = new PlaceableWater();
                break;

            case "GRAS":
                outRecord = new Grass();
                break;

            case "TREE":
                outRecord = new Tree();
                break;

            case "FURN":
                outRecord = new Furniture();
                break;

            case "WEAP":
                outRecord = new Weapon();
                break;

            case "AMMO":
                outRecord = new Ammunition();
                break;

            case "NPC_":
                outRecord = new NonPlayerCharacter();
                break;

            case "CREA":
                outRecord = new Creature();
                break;

            case "LVLC":
                outRecord = new LeveledCreature();
                break;

            case "LVLN":
                outRecord = new LeveledNPC();
                break;

            case "KEYM":
                outRecord = new Key();
                break;

            case "ALCH":
                outRecord = new Ingestible();
                break;

            case "IDLM":
                outRecord = new IdleMarker();
                break;

            case "NOTE":
                outRecord = new Note();
                break;

            case "COBJ":
                outRecord = new ConstructibleObject();
                break;

            case "PROJ":
                outRecord = new Projectile();
                break;

            case "LVLI":
                outRecord = new LeveledItem();
                break;

            case "WTHR":
                outRecord = new Weather();
                break;

            case "CLMT":
                outRecord = new Climate();
                break;

            case "REGN":
                outRecord = new Region();
                break;

            case "NAVI":
                outRecord = new NavigationMeshInfoMap();
                break;

            case "DIAL":
                outRecord = new DialogTopic();
                break;

            case "QUST":
                outRecord = new Quest();
                break;

            case "IDLE":
                outRecord = new IdleAnimation();
                break;

            case "PACK":
                outRecord = new Package();
                break;

            case "CSTY":
                outRecord = new CombatStyle();
                break;

            case "LSCR":
                outRecord = new LoadScreen();
                break;

            case "ANIO":
                outRecord = new AnimatedObject();
                break;

            case "WATR":
                outRecord = new Water();
                break;

            case "EFSH":
                outRecord = new EffectShader();
                break;

            case "EXPL":
                outRecord = new Explosion();
                break;

            case "DEBR":
                outRecord = new Debris();
                break;

            case "IMGS":
                outRecord = new ImageSpace();
                break;

            case "IMAD":
                outRecord = new ImageSpaceAdapter();
                break;

            case "FLST":
                outRecord = new FormList();
                break;

            case "PERK":
                outRecord = new Perk();
                break;

            case "BPTD":
                outRecord = new BodyPartData();
                break;

            case "ADDN":
                outRecord = new AddonNode();
                break;

            case "AVIF":
                outRecord = new ActorValueInformation();
                break;

            case "RADS":
                outRecord = new RadiationStage();
                break;

            case "CAMS":
                outRecord = new CameraShot();
                break;

            case "CPTH":
                outRecord = new CameraPath();
                break;

            case "VTYP":
                outRecord = new VoiceType();
                break;

            case "IPCT":
                outRecord = new Impact();
                break;

            case "IPDS":
                outRecord = new ImpactDataSet();
                break;

            case "ARMA":
                outRecord = new ArmorAddon();
                break;

            case "ECZN":
                outRecord = new EncounterZone();
                break;

            case "MESG":
                outRecord = new Message();
                break;

            case "RGDL":
                outRecord = new Ragdoll();
                break;

            case "DOBJ":
                outRecord = new DefaultObjectManager();
                break;

            case "LGTM":
                outRecord = new LightingTemplate();
                break;

            case "MUSC":
                outRecord = new MusicType();
                break;

            case "IMOD":
                outRecord = new ItemMod();
                break;

            case "REPU":
                outRecord = new Reputation();
                break;

            case "RCPE":
                outRecord = new Recipe();
                break;

            case "RCCT":
                outRecord = new RecipeCategory();
                break;

            case "CHIP":
                outRecord = new CasinoChip();
                break;

            case "CSNO":
                outRecord = new Casino();
                break;

            case "LSCT":
                outRecord = new LoadScreenType();
                break;

            case "MSET":
                outRecord = new MediaSet();
                break;

            case "ALOC":
                outRecord = new MediaLocationController();
                break;

            case "CHAL":
                outRecord = new Challenge();
                break;

            case "AMEF":
                outRecord = new AmmoEffect();
                break;

            case "CCRD":
                outRecord = new CaravanCard();
                break;

            case "CMNY":
                outRecord = new CaravanMoney();
                break;

            case "CDCK":
                outRecord = new CaravanDeck();
                break;

            case "DEHY":
                outRecord = new DehydrationStage();
                break;

            case "HUNG":
                outRecord = new HungerStage();
                break;

            case "SLPD":
                outRecord = new SleepDeprivationStage();
                break;

            case "CELL":
                outRecord = new Cell();
                break;

            case "WRLD":
                outRecord = new Worldspace();
                break;

            case "LAND":
                outRecord = new GenericRecord();
                break;

            case "NAVM":
                outRecord = new NavigationMesh();
                break;

            case "INFO":
                outRecord = new DialogResponse();
                break;

            case "REFR":
                outRecord = new Reference();
                break;

            case "ACHR":
                outRecord = new PlacedNPC();
                break;

            case "ACRE":
                outRecord = new PlacedCreature();
                break;

            case "PGRE":
                outRecord = new PlacedGrenade();
                break;

            case "PMIS":
                outRecord = new PlacedMissile();
                break;

            default:
                Console.WriteLine("Encountered unknown record: " + Tag);
                outRecord = new GenericRecord();
                break;
            }

            outRecord.Tag = Tag;

            return(outRecord);
        }
 public SonyPlayer(MediaSet set)
 {
     Set = set;
 }
Example #7
0
 public TrackSource(MediaSet set)
 {
     this.set = set;
 }
Example #8
0
 public void LoadCollection(MediaSet set)
 {
     Set = set;
 }
        public PlaylistSave CreatePlaylist()
        {
            MediaSet playlist = GetNewPlaylist();

            return(EditPlaylist(playlist));
        }