public void SetPlayMusicInformation(PlayMusicInformation aPlayMusicInformation)
        {
            scrollPosition = Vector2.zero;
            x = 0;
            y = 0;

            playMusicInformation = aPlayMusicInformation;

            if (playMusicInformation != null)
            {
                loopArrayArray = new LoopInformation[playMusicInformation.music.GetCountLoopX()][];

                for (int i = 0; i < playMusicInformation.music.GetCountLoopX(); i++)
                {
                    loopArrayArray[i] = new LoopInformation[playMusicInformation.music.GetCountLoopY(i)];

                    for (int j = 0; j < playMusicInformation.music.GetCountLoopY(i); j++)
                    {
                        loopArrayArray[i][j] = playMusicInformation.music.GetLoop(i, j);
                    }
                }
            }
            else
            {
                loopArrayArray = null;
            }
        }
Пример #2
0
        private void UpdateFileList(object sender, FileSystemEventArgs e)
        {
            string[]      lFilePathArray   = PoolFilePath.Get(directoryInfo);
            List <string> lFilePathNewList = new List <string>();

            // Check New File.
            for (int i = 0; i < lFilePathArray.Length; i++)
            {
                string lFilePath       = lFilePathArray[i];
                long   lTimeStampTicks = File.GetLastWriteTime(lFilePath).Ticks;

                if (timeStampTicksDictionary.ContainsKey(lFilePath) == false)
                {
                    timeStampTicksDictionary.Add(lFilePath, lTimeStampTicks);
                    lFilePathNewList.Add(lFilePath);
                }
                else if (lTimeStampTicks != timeStampTicksDictionary[lFilePath])
                {
                    timeStampTicksDictionary[lFilePath] = lTimeStampTicks;
                    lFilePathNewList.Add(lFilePath);
                }
            }

            for (int i = 0; i < lFilePathNewList.Count; i++)
            {
                string lFilePath = lFilePathNewList[i];
                //Logger.BreakDebug( "Input:" + lFilePath );

                if (Path.GetExtension(lFilePath) == ".meta")
                {
                    continue;
                }

                try
                {
                    IMusic lMusic = ConstructorCollection.ConstructMusic(lFilePath);

                    if (lMusic != null)
                    {
                        if (musicInformationDictionary.ContainsKey(lFilePath) == false)
                        {
                            filePathList.Add(lFilePath);
                            musicInformationDictionary.Add(lFilePath, new PlayMusicInformation(timeStampTicksDictionary[lFilePath], false, lMusic, lMusic.Loop));
                        }
                        else
                        {
                            musicInformationDictionary[lFilePath] = new PlayMusicInformation(timeStampTicksDictionary[lFilePath], false, lMusic, lMusic.Loop);
                        }
                    }
                }
                catch (Exception aExpection)
                {
                    Logger.BreakError("LoopPlaylist Exception:" + aExpection.ToString() + ":" + lFilePath);
                }
            }
        }
Пример #3
0
        public void SetPlayer(IPlayer aPlayer, PlayMusicInformation aMusicInformation)
        {
            title  = Path.GetFileNameWithoutExtension(aPlayer.FilePath);
            player = aPlayer;

            if (aMusicInformation.isSelected == true)
            {
                SetLoop(aMusicInformation.loopPoint);
            }

            playMusicInformation = aMusicInformation;
            componentLoopSelector.SetPlayMusicInformation(aMusicInformation);
        }
Пример #4
0
        private void PlayMusic(string aFilePath)
        {
            if (componentPlaylist.musicInformationDictionary.ContainsKey(aFilePath) == true)
            {
                bool  lIsMute = player.IsMute;
                bool  lIsLoop = player.IsLoop;
                float lVolume = player.Volume;

                player = ConstructorCollection.ConstructPlayer(aFilePath);

                player.IsMute = lIsMute;
                player.IsLoop = lIsLoop;
                player.Volume = lVolume;

                componentLoopEditor.SetPlayer(player, componentPlaylist.musicInformationDictionary[aFilePath]);
                componentLoopPlayer.SetPlayer(player);
                componentLoopSelector.SetPlayMusicInformation(componentPlaylist.musicInformationDictionary[aFilePath]);
            }
            else
            {
                if (componentInputlist.musicInformationDictionary.ContainsKey(aFilePath) == true)
                {
                    IMusic               lMusic = componentInputlist.musicInformationDictionary[aFilePath].music;
                    LoopInformation      lLoop  = componentInputlist.musicInformationDictionary[aFilePath].music.Loop;
                    PlayMusicInformation l      = new PlayMusicInformation(0, false, lMusic, lLoop);

                    bool  lIsMute = player.IsMute;
                    bool  lIsLoop = player.IsLoop;
                    float lVolume = player.Volume;

                    player = ConstructorCollection.ConstructPlayer(aFilePath);

                    player.IsMute = lIsMute;
                    player.IsLoop = lIsLoop;
                    player.Volume = lVolume;

                    componentLoopEditor.SetPlayer(player, l);
                    componentLoopPlayer.SetPlayer(player);
                    componentLoopSelector.SetPlayMusicInformation(l);
                }
            }

            componentLoopEditor.UpdateMesh();
        }
Пример #5
0
        public void SetPlayer(string aFilePath, PlayMusicInformation aMusicInformation)
        {
            bool  lIsMute = player.IsMute;
            bool  lIsLoop = player.IsLoop;
            float lVolume = player.Volume;

            title  = Path.GetFileNameWithoutExtension(aFilePath);
            player = ConstructorCollection.ConstructPlayer(aFilePath);

            if (aMusicInformation.isSelected == true)
            {
                SetLoop(aMusicInformation.loopPoint);
            }

            player.IsMute = lIsMute;
            player.IsLoop = lIsLoop;
            player.Volume = lVolume;

            playMusicInformation = aMusicInformation;
            componentLoopSelector.SetPlayMusicInformation(aMusicInformation);
        }
Пример #6
0
        public void OnGUI()
        {
            float lWidthValue     = 80.0f;
            float lWidthPartition = GuiStyleSet.StyleTable.partitionVertical.fixedWidth;

            if (Event.current.type != EventType.Repaint)
            {
                UpdateFileList(null, null);
            }

            GUILayout.BeginVertical(GuiStyleSet.StyleTable.box);
            {
                float lHeightHeader = GuiStyleSet.StyleTable.labelHeaderTop.CalcSize(new GUIContent("")).y + GuiStyleSet.StyleTable.textHeader.CalcSize(new GUIContent("")).y + GuiStyleSet.StyleTable.partitionHorizontalHeader.fixedHeight;

                GUILayout.BeginScrollView(new Vector2(scrollPosition.x, 0.0f), false, true, GuiStyleSet.StyleTable.horizontalbarHeader, GuiStyleSet.StyleTable.verticalbarHeader, GuiStyleSet.StyleGeneral.none, GUILayout.Height(lHeightHeader));
                {
                    GUILayout.BeginHorizontal(GuiStyleSet.StyleTable.labelHeader);
                    {
                        bool lIsSelectedAllBefore = isSelectedAll;
                        GUILayout.BeginVertical(GuiStyleSet.StyleTable.labelHeader, GUILayout.Width(GuiStyleSet.StyleGeneral.toggleCheck.fixedWidth));
                        {
                            GUILayout.FlexibleSpace();
                            isSelectedAll = GUILayout.Toggle(isSelectedAll, new GUIContent("", "StyleGeneral.ToggleCheck"), GuiStyleSet.StyleGeneral.toggleCheck);
                            GUILayout.FlexibleSpace();
                        }
                        GUILayout.EndVertical();

                        GUILayout.Label(new GUIContent("", "StyleTable.PartitionVerticalHeader"), GuiStyleSet.StyleTable.partitionVerticalHeader);
                        GUILayout.Label(new GUIContent("Name", "StyleTable.TextHeader"), GuiStyleSet.StyleTable.textHeader, GUILayout.MinWidth(160.0f));
                        GUILayout.Label(new GUIContent("", "StyleTable.PartitionVerticalHeader"), GuiStyleSet.StyleTable.partitionVerticalHeader);
                        GUILayout.Label(new GUIContent("Length", "StyleTable.TextHeader"), GuiStyleSet.StyleTable.textHeader, GUILayout.Width(lWidthValue));
                        GUILayout.Label(new GUIContent("", "StyleTable.PartitionVerticalHeader"), GuiStyleSet.StyleTable.partitionVerticalHeader);

                        GUILayout.BeginVertical(GuiStyleSet.StyleTable.labelHeader, GUILayout.Width(lWidthValue * 3 + lWidthPartition * 2));
                        {
                            GUILayout.Label(new GUIContent("Loop", "StyleTable.LabelHeader"), GuiStyleSet.StyleTable.labelHeaderTop);
                            GUILayout.Label(new GUIContent("", "StyleGeneral.PartitionHorizontalHeader"), GuiStyleSet.StyleTable.partitionHorizontalHeader);

                            GUILayout.BeginHorizontal();
                            {
                                GUILayout.Label(new GUIContent("Start", "StyleTable.TextHeader"), GuiStyleSet.StyleTable.textHeader, GUILayout.Width(lWidthValue));
                                GUILayout.Label(new GUIContent("", "StyleTable.PartitionVerticalHeader"), GuiStyleSet.StyleTable.partitionVerticalHeader);
                                GUILayout.Label(new GUIContent("End", "StyleTable.TextHeader"), GuiStyleSet.StyleTable.textHeader, GUILayout.Width(lWidthValue));
                                GUILayout.Label(new GUIContent("", "StyleTable.PartitionVerticalHeader"), GuiStyleSet.StyleTable.partitionVerticalHeader);
                                GUILayout.Label(new GUIContent("Length", "StyleTable.TextHeader"), GuiStyleSet.StyleTable.textHeader, GUILayout.Width(lWidthValue));
                            }
                            GUILayout.EndHorizontal();
                        }
                        GUILayout.EndVertical();

                        if (isSelectedAll != lIsSelectedAllBefore)
                        {
                            foreach (string l in filePathList)
                            {
                                if (musicInformationDictionary.ContainsKey(l) == true)
                                {
                                    musicInformationDictionary[l].isSelected = isSelectedAll;
                                }
                            }
                        }
                    }
                    GUILayout.EndHorizontal();
                }
                GUILayout.EndScrollView();

                GUILayout.BeginHorizontal();
                {
                    scrollPosition = GUILayout.BeginScrollView(scrollPosition, false, true, GuiStyleSet.StyleScrollbar.horizontalbar, GuiStyleSet.StyleScrollbar.verticalbar, GuiStyleSet.StyleScrollbar.view);
                    {
                        GUIStyle[] lViewRow = { GuiStyleSet.StyleTable.viewRowA, GuiStyleSet.StyleTable.viewRowB };

                        int lCount = 0;

                        for (int i = 0; i < filePathList.Count; i++)
                        {
                            string lFilePath = filePathList[i];

                            if (musicInformationDictionary.ContainsKey(lFilePath) == true)
                            {
                                PlayMusicInformation lMusicInformation = musicInformationDictionary[lFilePath];

                                GUILayout.BeginHorizontal(lViewRow[lCount % 2]);
                                {
                                    lCount++;

                                    lMusicInformation.isSelected = GUILayout.Toggle(lMusicInformation.isSelected, new GUIContent("", "StyleGeneral.ToggleCheck"), GuiStyleSet.StyleGeneral.toggleCheck);
                                    GUILayout.Label(new GUIContent("", "StyleTable.PartitionVertical"), GuiStyleSet.StyleTable.partitionVertical);

                                    if (lFilePath == getPlayingMusic())
                                    {
                                        if (GUILayout.Toggle(true, new GUIContent(Path.GetFileName(lFilePath), "StyleTable.ToggleRow"), GuiStyleSet.StyleTable.toggleRow, GUILayout.MinWidth(160.0f)) == false)
                                        {
                                            playMusic(lFilePath);
                                        }
                                    }
                                    else
                                    {
                                        if (GUILayout.Toggle(false, new GUIContent(Path.GetFileName(lFilePath), "StyleTable.ToggleRow"), GuiStyleSet.StyleTable.toggleRow, GUILayout.MinWidth(160.0f)) == true)
                                        {
                                            playMusic(lFilePath);
                                        }
                                    }

                                    GUILayout.Label(new GUIContent("", "StyleTable.PartitionVertical"), GuiStyleSet.StyleTable.partitionVertical);
                                    GUILayout.TextField(lMusicInformation.music.Length.MMSS, GuiStyleSet.StyleTable.textRow);
                                    GUILayout.Label(new GUIContent("", "StyleTable.PartitionVertical"), GuiStyleSet.StyleTable.partitionVertical);
                                    GUILayout.TextField(lMusicInformation.music.Loop.start.String, GuiStyleSet.StyleTable.textRow);
                                    GUILayout.Label(new GUIContent("", "StyleTable.PartitionVertical"), GuiStyleSet.StyleTable.partitionVertical);
                                    GUILayout.TextField(lMusicInformation.music.Loop.end.String, GuiStyleSet.StyleTable.textRow);
                                    GUILayout.Label(new GUIContent("", "StyleTable.PartitionVertical"), GuiStyleSet.StyleTable.partitionVertical);
                                    GUILayout.TextField(lMusicInformation.music.Loop.length.String, GuiStyleSet.StyleTable.textRow);
                                }
                                GUILayout.EndHorizontal();
                            }
                        }

                        GUILayout.BeginHorizontal();
                        {
                            GUILayout.BeginVertical(GUILayout.Width(24.0f));
                            {
                                GUILayout.FlexibleSpace();
                            }
                            GUILayout.EndVertical();

                            GUILayout.Label(new GUIContent("", "StyleTable.PartitionVertical"), GuiStyleSet.StyleTable.partitionVertical);

                            GUILayout.FlexibleSpace();

                            GUILayout.Label(new GUIContent("", "StyleTable.PartitionVertical"), GuiStyleSet.StyleTable.partitionVertical);

                            GUILayout.BeginVertical(GUILayout.Width(lWidthValue));
                            {
                                GUILayout.FlexibleSpace();
                            }
                            GUILayout.EndVertical();

                            GUILayout.Label(new GUIContent("", "StyleTable.PartitionVertical"), GuiStyleSet.StyleTable.partitionVertical);

                            GUILayout.BeginVertical(GUILayout.Width(lWidthValue));
                            {
                                GUILayout.FlexibleSpace();
                            }
                            GUILayout.EndVertical();

                            GUILayout.Label(new GUIContent("", "StyleTable.PartitionVertical"), GuiStyleSet.StyleTable.partitionVertical);

                            GUILayout.BeginVertical(GUILayout.Width(lWidthValue));
                            {
                                GUILayout.FlexibleSpace();
                            }
                            GUILayout.EndVertical();

                            GUILayout.Label(new GUIContent("", "StyleTable.PartitionVertical"), GuiStyleSet.StyleTable.partitionVertical);

                            GUILayout.BeginVertical(GUILayout.Width(lWidthValue));
                            {
                                GUILayout.FlexibleSpace();
                            }
                            GUILayout.EndVertical();
                        }
                        GUILayout.EndHorizontal();
                    }
                    GUILayout.EndScrollView();
                }
                GUILayout.EndHorizontal();
            }
            GUILayout.EndVertical();
        }