Esempio n. 1
0
 //Create object.
 public static void create_object()
 {
     PSI    = new ProcessInformation();
     TMD    = new TrackMetadata();
     notify = new Notify();
     notify.createGrowlObject();
 }
Esempio n. 2
0
    public void RefreshMetadataTab()
    {
        TrackMetadata metadata = EditorContext.track.trackMetadata;

        RefreshFilenameCachesIfNull();

        trackTitle.SetTextWithoutNotify(metadata.title);
        artist.SetTextWithoutNotify(metadata.artist);
        genre.SetTextWithoutNotify(metadata.genre);
        additionalCredits.SetTextWithoutNotify(
            metadata.additionalCredits);

        UIUtils.MemoryToDropdown(eyecatchImage,
                                 metadata.eyecatchImage, imageFilesCache);
        UIUtils.MemoryToDropdown(previewTrack,
                                 metadata.previewTrack, audioFilesCache);
        startTime.SetTextWithoutNotify(metadata.previewStartTime.ToString());
        endTime.SetTextWithoutNotify(metadata.previewEndTime.ToString());

        foreach (TMP_InputField field in new List <TMP_InputField>()
        {
            trackTitle,
            artist,
            genre,
            additionalCredits,
            startTime,
            endTime
        })
        {
            field.GetComponent <MaterialTextField>().RefreshMiniLabel();
        }

        RefreshEyecatchPreview();
    }
Esempio n. 3
0
        private static GroupedList GetOptionsForTrack(
            TrackMetadata track,
            AlbumMetadata mergedAlbum,
            uint wmisAlbumTrackCount)
        {
            List <TrackOptionGroupItem> trackOptionGroupItemList = new List <TrackOptionGroupItem>((int)wmisAlbumTrackCount + 1);

            trackOptionGroupItemList.Add(new TrackOptionGroupItem()
            {
                TrackMetadata = track,
                Original      = true
            });
            for (int index = 0; index < wmisAlbumTrackCount; ++index)
            {
                trackOptionGroupItemList.Add(new TrackOptionGroupItem()
                {
                    TrackMetadata = mergedAlbum.GetTrack((uint)index),
                    Original      = false
                });
            }
            return(new GroupedList()
            {
                Comparer = new TrackOptionsComparer(),
                Source = trackOptionGroupItemList
            });
        }
        public override object Get(object media, PropertyDescriptor property)
        {
            TrackMetadata trackMetadata  = media as TrackMetadata;
            string        descriptorName = property.DescriptorName;

            if (descriptorName == MetadataEditMedia.s_Title.DescriptorName)
            {
                return(trackMetadata.TrackTitle);
            }
            if (descriptorName == MetadataEditMedia.s_Artist.DescriptorName)
            {
                return(trackMetadata.TrackArtist);
            }
            if (descriptorName == MetadataEditMedia.s_Genre.DescriptorName)
            {
                return(trackMetadata.Genre);
            }
            if (descriptorName == MetadataEditMedia.s_Composer.DescriptorName)
            {
                return(trackMetadata.Composer);
            }
            if (descriptorName == MetadataEditMedia.s_Conductor.DescriptorName)
            {
                return(trackMetadata.Conductor);
            }
            if (descriptorName == MetadataEditMedia.s_TrackNumber.DescriptorName)
            {
                return(trackMetadata.TrackNumber);
            }
            if (descriptorName == MetadataEditMedia.s_DiscNumber.DescriptorName)
            {
                return(trackMetadata.DiscNumber);
            }
            return(descriptorName == MetadataEditMedia.s_MediaId.DescriptorName ? trackMetadata.MediaId : (object)null);
        }
Esempio n. 5
0
    public void OnMetadataUpdated()
    {
        TrackMetadata metadata   = EditorContext.track.trackMetadata;
        bool          madeChange = false;

        UIUtils.UpdatePropertyInMemory(
            ref metadata.title, trackTitle.text, ref madeChange);
        UIUtils.UpdatePropertyInMemory(
            ref metadata.artist, artist.text, ref madeChange);
        UIUtils.UpdatePropertyInMemory(
            ref metadata.genre, genre.text, ref madeChange);
        UIUtils.UpdatePropertyInMemory(
            ref metadata.additionalCredits,
            additionalCredits.text, ref madeChange);

        UIUtils.UpdatePropertyInMemory(
            ref metadata.eyecatchImage, eyecatchImage, ref madeChange);
        UIUtils.UpdatePropertyInMemory(
            ref metadata.previewTrack, previewTrack, ref madeChange);
        UIUtils.ClampInputField(startTime, 0.0, double.MaxValue);
        UIUtils.UpdatePropertyInMemory(
            ref metadata.previewStartTime, startTime.text, ref madeChange);
        UIUtils.ClampInputField(endTime, 0.0, double.MaxValue);
        UIUtils.UpdatePropertyInMemory(
            ref metadata.previewEndTime, endTime.text, ref madeChange);

        if (madeChange)
        {
            EditorContext.DoneWithChange();
        }
    }
Esempio n. 6
0
        public static string GetTechFolder(string tracksFolder, TrackMetadata trackMetadata)
        {
            string filteredTitle  = RemoveInvalidCharactersFromPath(trackMetadata.title);
            string filteredArtist = RemoveInvalidCharactersFromPath(trackMetadata.artist);
            string timestamp      = DateTime.Now.ToString("yyyyMMddHHmmss");

            return(Path.Combine(tracksFolder, $"{filteredArtist} - {filteredTitle} - {timestamp}"));
        }
 public MetadataEditTrack(TrackMetadata trackMetadata)
 {
     this._source = TrackMetadataPropertySource.Instance;
     this.Initialize(new object[1]
     {
         trackMetadata
     }, s_trackMetadataProperties);
 }
        protected virtual void ParseByQuotes(string metadata, TrackMetadata trackMetadata)
        {
            int startIndex1 = 0;

            do
            {
                int startIndex2 = metadata.IndexOf('=', startIndex1);
                if (startIndex2 > startIndex1)
                {
                    string name = metadata.Substring(startIndex1, startIndex2 - startIndex1).Trim();
                    int    num1 = metadata.IndexOf('\'', startIndex2);
                    if (num1 >= 0 && num1 + 1 < metadata.Length)
                    {
                        int startIndex3 = metadata.IndexOf('\'', num1 + 1);
                        if (startIndex3 >= 0)
                        {
                            string str = metadata.Substring(num1 + 1, startIndex3 - num1 - 1);
                            this.AddNameValueProperty(trackMetadata, name, str);
                            int num2 = metadata.IndexOf(';', startIndex3);
                            if (num2 >= 0)
                            {
                                startIndex1 = num2 + 1;
                            }
                            else
                            {
                                goto label_3;
                            }
                        }
                        else
                        {
                            goto label_5;
                        }
                    }
                    else
                    {
                        goto label_7;
                    }
                }
                else
                {
                    goto label_9;
                }
            }while (startIndex1 < metadata.Length);
            goto label_1;
label_9:
            return;

label_7:
            return;

label_5:
            return;

label_3:
            return;

            label_1 :;
        }
Esempio n. 9
0
 public Track(string title, string artist)
 {
     version              = kVersion;
     trackMetadata        = new TrackMetadata();
     trackMetadata.guid   = Guid.NewGuid().ToString();
     trackMetadata.title  = title;
     trackMetadata.artist = artist;
     patterns             = new List <Pattern>();
 }
        protected virtual void ParseByPairs(string metadata, TrackMetadata trackMetadata)
        {
            int startIndex1 = 0;

            do
            {
                int startIndex2 = metadata.IndexOf("='", startIndex1, StringComparison.Ordinal);
                if (startIndex2 > startIndex1)
                {
                    string name = metadata.Substring(startIndex1, startIndex2 - startIndex1).Trim();
                    int    num  = metadata.IndexOf("';", startIndex2, StringComparison.Ordinal);
                    bool   flag = false;
                    if (num < 0)
                    {
                        num = metadata.LastIndexOf('\'');
                        if (num >= 0 && num > startIndex2 + 1)
                        {
                            flag = true;
                        }
                        else
                        {
                            goto label_7;
                        }
                    }
                    int    startIndex3 = startIndex2 + 2;
                    string str         = metadata.Substring(startIndex3, num - startIndex3);
                    this.AddNameValueProperty(trackMetadata, name, str);
                    if (!flag)
                    {
                        startIndex1 = num + 2;
                    }
                    else
                    {
                        goto label_4;
                    }
                }
                else
                {
                    goto label_9;
                }
            }while (startIndex1 < metadata.Length);
            goto label_1;
label_9:
            return;

label_7:
            return;

label_4:
            return;

            label_1 :;
        }
Esempio n. 11
0
    //Constructor for NameChangeTracker
    public NameChangeTracker(ToastForm myForm)
    {
        NameChangeTracker.myForm = myForm;
        psi    = new ProcessInformation();
        tmd    = new TrackMetadata();
        notify = new Notify();
        //Console.WriteLine(psi.getSpotifyPID());

        // Listen for name change changes for spotify(check pid!=0).
        hWinEventHook = SetWinEventHook(0x0800c, 0x800c, IntPtr.Zero, procDelegate, Convert.ToUInt32(psi.getSpotifyPID()), 0, 0);
        // Listen for create window event across all processes/threads on current desktop.(check pid=0)
        hWinEventHook_start = SetWinEventHook(0x00008000, 0x00008000, IntPtr.Zero, procDelegate_start, 0, 0, 0);
    }
Esempio n. 12
0
 internal SongMatchData(
     AlbumMetadata mergedAlbum,
     TrackMetadata track,
     GroupedList matchOptions,
     int originalMergedIndex,
     int selectedMatchIndex)
 {
     this._mergedAlbum         = mergedAlbum;
     this._track               = track;
     this._matchOptions        = matchOptions;
     this._originalMergedIndex = originalMergedIndex;
     this._selectedMatchIndex  = selectedMatchIndex;
 }
Esempio n. 13
0
 protected virtual void ParseStringMetadata(string metadata)
 {
   Debug.WriteLine("ShoutcastMetadataFilter.ParseStringMetadata(): " + metadata);
   TrackMetadata trackMetadata = new TrackMetadata()
   {
     TimeStamp = this._audioParser.Position
   };
   if (ShoutcastMetadataFilter.UseParseByPairs)
     this.ParseByPairs(metadata, trackMetadata);
   else
     this.ParseByQuotes(metadata, trackMetadata);
   this._reportMetadata((ITrackMetadata) trackMetadata);
 }
Esempio n. 14
0
 public void LoadImage(string folder, TrackMetadata t)
 {
     if (t.eyecatchImage != null &&
         t.eyecatchImage != "")
     {
         string fullPath = folder + "\\" + t.eyecatchImage;
         ResourceLoader.LoadImage(fullPath, OnLoadImageComplete);
     }
     else
     {
         NoImage();
     }
 }
Esempio n. 15
0
        public SampleReader(TrackMetadata track)
        {
            MediaInformation mi = track.info.mediaInformation;

            sampleCount         = mi.sampleTable.sampleSize.sampleCount;
            sampleSize          = mi.sampleTable.sampleSize;
            timeToSampleEntries = mi.sampleTable.timeToSample;
            sampleToChunk       = mi.sampleTable.sampleToChunk;
            chunkOffset         = mi.sampleTable.chunkOffset;
            timeScale           = track.info.timeScale;
            duration            = track.info.duration;
            sampleTable         = mi.sampleTable;
            timeDeltas          = mi.sampleTable.compositionToSample;
            editList            = track.editList;
            rewind();
        }
Esempio n. 16
0
 public static void SetAlbumTrackMediaId(
     AlbumMetadata albumMetadata,
     int trackIndex,
     int mediaId)
 {
     for (uint index = 0; index < albumMetadata.TrackCount; ++index)
     {
         TrackMetadata track = albumMetadata.GetTrack(index);
         if (track.MediaId == mediaId)
         {
             track.MediaId = -1;
             break;
         }
     }
     albumMetadata.GetTrack((uint)trackIndex).MediaId = mediaId;
 }
Esempio n. 17
0
 protected virtual void AddNameValueProperty(TrackMetadata trackMetadata, string name, string value)
 {
   Debug.WriteLine("ShoutcastMetadataFilter.AddNameValueProperty(): " + name + "=" + value);
   value = string.IsNullOrWhiteSpace(value) ? (string) null : value.Trim();
   switch (name.ToLowerInvariant())
   {
     case "streamtitle":
       trackMetadata.Title = value;
       break;
     case "streamurl":
       Uri result;
       if (!Uri.TryCreate(value, UriKind.Absolute, out result))
         break;
       trackMetadata.Website = result;
       break;
   }
 }
Esempio n. 18
0
        public static List <SongMatchData> GetSongMatchDataList(
            AlbumMetadata localAlbum,
            AlbumMetadata mergedAlbum,
            uint wmisAlbumTrackCount)
        {
            List <SongMatchData> songMatchDataList = new List <SongMatchData>((int)localAlbum.TrackCount);

            for (uint index = 0; index < localAlbum.TrackCount; ++index)
            {
                TrackMetadata track              = localAlbum.GetTrack(index);
                GroupedList   optionsForTrack    = GetOptionsForTrack(track, mergedAlbum, wmisAlbumTrackCount);
                int           fromAlbumMetadata  = GetTrackIndexFromAlbumMetadata(mergedAlbum, track.MediaId);
                int           selectedMatchIndex = fromAlbumMetadata < wmisAlbumTrackCount ? fromAlbumMetadata + 1 : -1;
                SongMatchData songMatchData      = new SongMatchData(mergedAlbum, track, optionsForTrack, fromAlbumMetadata, selectedMatchIndex);
                songMatchDataList.Add(songMatchData);
            }
            return(songMatchDataList);
        }
        public override void Set(object media, PropertyDescriptor property, object value)
        {
            TrackMetadata trackMetadata  = media as TrackMetadata;
            string        descriptorName = property.DescriptorName;

            if (descriptorName == MetadataEditMedia.s_Title.DescriptorName)
            {
                trackMetadata.TrackTitle = (string)value;
            }
            else if (descriptorName == MetadataEditMedia.s_Artist.DescriptorName)
            {
                trackMetadata.TrackArtist = (string)value;
            }
            else if (descriptorName == MetadataEditMedia.s_Genre.DescriptorName)
            {
                trackMetadata.Genre = (string)value;
            }
            else if (descriptorName == MetadataEditMedia.s_Composer.DescriptorName)
            {
                trackMetadata.Composer = (string)value;
            }
            else if (descriptorName == MetadataEditMedia.s_Conductor.DescriptorName)
            {
                trackMetadata.Conductor = (string)value;
            }
            else if (descriptorName == MetadataEditMedia.s_TrackNumber.DescriptorName)
            {
                trackMetadata.TrackNumber = (int)value;
            }
            else if (descriptorName == MetadataEditMedia.s_DiscNumber.DescriptorName)
            {
                trackMetadata.DiscNumber = (int)value;
            }
            else
            {
                if (!(descriptorName == MetadataEditMedia.s_MediaId.DescriptorName))
                {
                    return;
                }
                trackMetadata.MediaId = (int)value;
            }
        }
Esempio n. 20
0
    public void Play(string trackFolder,
                     TrackMetadata trackMetadata,
                     bool loop)
    {
        if (trackMetadata.previewTrack == "" ||
            trackMetadata.previewTrack == null)
        {
            return;
        }
        if (trackMetadata.previewStartTime >=
            trackMetadata.previewEndTime)
        {
            return;
        }

        StopAllCoroutines();
        StartCoroutine(InnerPlay(trackFolder,
                                 trackMetadata.previewTrack,
                                 trackMetadata.previewStartTime,
                                 trackMetadata.previewEndTime,
                                 loop));
    }
Esempio n. 21
0
        public static VideoSampleReader create(Mp4File mp4)
        {
            TrackMetadata track = mp4.videoTrack;

            if (null == track)
            {
                throw new ApplicationException("The MP4 doesn’t have a video track");
            }

            VideoSampleEntry vse = mp4.videoTrackSample;

            switch (vse.naluLengthSize)
            {
            case 4:
                return(new VideoSampleReader4(mp4));

            case 3:
                return(new VideoSampleReader3(mp4));
            }
            // The specs also defines 1 and 2 bytes versions.
            // Slightly harder to handle as we need to expand the samples, 3 bytes is the minimum length of NALU start code in Annex B bitstream.
            throw new NotImplementedException();
        }
Esempio n. 22
0
 public void Initialize(string folder, TrackMetadata t)
 {
     eyecatch.LoadImage(folder, t);
     title.text  = t.title;
     artist.text = t.artist;
 }
Esempio n. 23
0
 Track(Media media, TrackMetadata metadata, TrackOptions options)
 {
     this.media    = media;
     this.metadata = metadata;
     this.options  = options;
 }
Esempio n. 24
0
 public Track()
 {
     Metadata = new TrackMetadata();
     Segments = new List <TrackSegment>();
 }
Esempio n. 25
0
    // Start is called before the first frame update
    void Start()
    {
        title.text = Game.score.stageFailed ? "Stage Failed" : "Stage Clear";

        // Track and Pattern
        TrackMetadata track = GameSetup.track.trackMetadata;

        eyecatch.LoadImage(GameSetup.trackFolder, track);
        trackTitle.text  = track.title;
        trackArtist.text = track.artist;

        PatternMetadata pattern = GameSetup.pattern.patternMetadata;

        patternBanner.Initialize(pattern);

        // Tallies
        rainbowMax.text = Game.score.notesPerJudgement
                          [Judgement.RainbowMax].ToString();
        max.text = Game.score.notesPerJudgement
                   [Judgement.Max].ToString();
        cool.text = Game.score.notesPerJudgement
                    [Judgement.Cool].ToString();
        good.text = Game.score.notesPerJudgement
                    [Judgement.Good].ToString();
        miss.text = Game.score.notesPerJudgement
                    [Judgement.Miss].ToString();
        breakText.text = Game.score.notesPerJudgement
                         [Judgement.Break].ToString();
        maxCombo.text   = Game.maxCombo.ToString();
        feverBonus.text = Game.score.totalFeverBonus.ToString();

        int score = Game.score.CurrentScore();

        totalScore.text = score.ToString();

        // Rank
        // The choice of rank is quite arbitrary.
        string rank = "F";

        if (score > 150000)
        {
            rank = "C";
        }
        if (score > 200000)
        {
            rank = "B";
        }
        if (score > 250000)
        {
            rank = "A";
        }
        if (score > 290000)
        {
            rank = "S";
        }
        if (Game.score.stageFailed)
        {
            rank = "F";
        }
        rankText.text = rank;

        // Medals
        newRecordMedal.SetActive(false);
        if (Game.score.notesPerJudgement[Judgement.Miss] == 0 &&
            Game.score.notesPerJudgement[Judgement.Break] == 0)
        {
            // Qualified for performance medal.
            performanceMedal.SetActive(true);
            TextMeshProUGUI medalText = performanceMedal
                                        .GetComponentInChildren <TextMeshProUGUI>();
            if (Game.score.notesPerJudgement[Judgement.Cool] == 0 &&
                Game.score.notesPerJudgement[Judgement.Good] == 0)
            {
                if (score == 300000)
                {
                    medalText.text = "ABSOLUTE PERFECT";
                }
                else
                {
                    medalText.text = "PERFECT PLAY";
                }
            }
            else
            {
                medalText.text = "FULL COMBO";
            }
        }
        else
        {
            performanceMedal.SetActive(false);
        }
    }
Esempio n. 26
0
 public Track()
 {
     Metadata = new TrackMetadata();
     Segments = new List<TrackSegment>();
 }