Esempio n. 1
0
        //

        public static Section CreateFromJSON(JSONObject json, IAudioClipPack clipPack)
        {
            var section = new Section();

            section.inTypeNatural  = Engine.Utils.parseEnum <InType>(json.GetField("natural-in").str);
            section.inTypeManual   = Engine.Utils.parseEnum <InType>(json.GetField("manual-in").str);
            section.outTypeNatural = Engine.Utils.parseEnum <OutType>(json.GetField("natural-out").str);
            section.outTypeManual  = Engine.Utils.parseEnum <OutType>(json.GetField("manual-out").str);

            section.beatFillIn = (int)json.GetField("beat-fillin").n;
            section.beatStart  = (int)json.GetField("beat-start").n;
            section.beatEnd    = (int)json.GetField("beat-end").n;

            json.GetField("layers", (layerarr) =>
            {
                int layeridx = 0;
                foreach (var layer in layerarr.list)
                {
                    section.m_layers[layeridx] = Layer.CreateFromJSON(layer, clipPack);
                    layeridx++;
                }
            });

            return(section);
        }
Esempio n. 2
0
        public static Section GenTestSection2(IAudioClipPack clipPack)
        {
            var section	= new Section();

            // BPM:120, 4/4 -> 1bar = 4beat

            var automations		= TestAutomation();

            var layer1			= Layer.GenTestLayer(clipPack.GetHandle("test-sec2-1"));
            section.m_layers[0]	= layer1;

            var layer2			= Layer.GenTestLayer(clipPack.GetHandle("test-sec2-2"));
            layer2.AddTensionAutomation(automations[1]);
            section.m_layers[1]	= layer2;

            var layer3			= Layer.GenTestLayer(clipPack.GetHandle("test-sec2-3"));
            layer3.AddTensionAutomation(automations[0]);
            section.m_layers[2]	= layer3;

            var layer4			= Layer.GenTestLayer(clipPack.GetHandle("test-sec2-4"));
            layer4.AddTensionAutomation(automations[2]);
            section.m_layers[3]	= layer4;

            section.inTypeNatural	= InType.KickIn;
            section.inTypeManual	= InType.FadeIn;
            section.outTypeNatural	= OutType.LeaveIt;
            section.outTypeManual	= OutType.FadeOut;
            section.doNotOverlapFillIn	= false;

            section.beatFillIn		= 0;
            section.beatStart		= 1 * 4;
            section.beatEnd			= 9 * 4;

            return section;
        }
Esempio n. 3
0
        public static Track GenTestTrack2(float bpm, IAudioClipPack clipPack)
        {
            var track = new Track();

            track.BPM = bpm;

            var section1 = Section.GenTestSection3(clipPack);
            var section2 = Section.GenTestSection4(clipPack);

            track.m_sectionSeq.Add(section1);
            track.m_sectionSeq.Add(section2);
            track.m_sectionSeq.Add(section1);

            return(track);
        }
Esempio n. 4
0
        //
        public static Layer CreateFromJSON(JSONObject json, IAudioClipPack clipPack)
        {
            var newlayer		= new Layer();

            var clipname		= json.GetField("clip").str;
            newlayer.clipHandle	= clipPack.GetHandle(clipname);

            json.GetField("tension", (tensionarr) =>
                {
                    var list	= tensionarr.list;
                    var count	= list.Count;
                    for(int i = 0; i < count; i++)
                    {
                        newlayer.AddTensionAutomation(Engine.Utils.ParseAutomationFromJSON(list[i]));
                    }
                });

            return newlayer;
        }
Esempio n. 5
0
        /// <summary>
        /// JSON 객체를 통해 생성
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public static Track CreateFromJSON(JSONObject json, IAudioClipPack clipPack)
        {
            var track	= new Track();
            track.SetClipPack(clipPack);

            track.BPM	= json.GetField("bpm").f;

            json.GetField("sections", (sectionarr) =>
                {
                    var list	= sectionarr.list;
                    var count	= list.Count;
                    for (int i = 0; i < count; i++)
                    {
                        var newsec	= Section.CreateFromJSON(list[i], track.m_clipPack);
                        track.m_sectionSeq.Add(newsec);
                    }
                });

            return track;
        }
Esempio n. 6
0
        //

        public static Layer CreateFromJSON(JSONObject json, IAudioClipPack clipPack)
        {
            var newlayer = new Layer();

            var clipname = json.GetField("clip").str;

            newlayer.clipHandle = clipPack.GetHandle(clipname);

            json.GetField("tension", (tensionarr) =>
            {
                var list  = tensionarr.list;
                var count = list.Count;
                for (int i = 0; i < count; i++)
                {
                    newlayer.AddTensionAutomation(Engine.Utils.ParseAutomationFromJSON(list[i]));
                }
            });

            return(newlayer);
        }
Esempio n. 7
0
        /// <summary>
        /// JSON 객체를 통해 생성
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public static Track CreateFromJSON(JSONObject json, IAudioClipPack clipPack)
        {
            var track = new Track();

            track.SetClipPack(clipPack);

            track.BPM = json.GetField("bpm").f;

            json.GetField("sections", (sectionarr) =>
            {
                var list  = sectionarr.list;
                var count = list.Count;
                for (int i = 0; i < count; i++)
                {
                    var newsec = Section.CreateFromJSON(list[i], track.m_clipPack);
                    track.m_sectionSeq.Add(newsec);
                }
            });

            return(track);
        }
Esempio n. 8
0
        public static Section GenTestSection2(IAudioClipPack clipPack)
        {
            var section = new Section();

            // BPM:120, 4/4 -> 1bar = 4beat

            var automations = TestAutomation();

            var layer1 = Layer.GenTestLayer(clipPack.GetHandle("test-sec2-1"));

            section.m_layers[0] = layer1;

            var layer2 = Layer.GenTestLayer(clipPack.GetHandle("test-sec2-2"));

            layer2.AddTensionAutomation(automations[1]);
            section.m_layers[1] = layer2;

            var layer3 = Layer.GenTestLayer(clipPack.GetHandle("test-sec2-3"));

            layer3.AddTensionAutomation(automations[0]);
            section.m_layers[2] = layer3;

            var layer4 = Layer.GenTestLayer(clipPack.GetHandle("test-sec2-4"));

            layer4.AddTensionAutomation(automations[2]);
            section.m_layers[3] = layer4;

            section.inTypeNatural      = InType.KickIn;
            section.inTypeManual       = InType.FadeIn;
            section.outTypeNatural     = OutType.LeaveIt;
            section.outTypeManual      = OutType.FadeOut;
            section.doNotOverlapFillIn = false;

            section.beatFillIn = 0;
            section.beatStart  = 1 * 4;
            section.beatEnd    = 9 * 4;

            return(section);
        }
Esempio n. 9
0
        //
        public static Section CreateFromJSON(JSONObject json, IAudioClipPack clipPack)
        {
            var section	= new Section();

            section.inTypeNatural	= Engine.Utils.parseEnum<InType>(json.GetField("natural-in").str);
            section.inTypeManual	= Engine.Utils.parseEnum<InType>(json.GetField("manual-in").str);
            section.outTypeNatural	= Engine.Utils.parseEnum<OutType>(json.GetField("natural-out").str);
            section.outTypeManual	= Engine.Utils.parseEnum<OutType>(json.GetField("manual-out").str);

            section.beatFillIn		= (int)json.GetField("beat-fillin").n;
            section.beatStart		= (int)json.GetField("beat-start").n;
            section.beatEnd			= (int)json.GetField("beat-end").n;

            json.GetField("layers", (layerarr) =>
                {
                    int layeridx	= 0;
                    foreach(var layer in layerarr.list)
                    {
                        section.m_layers[layeridx]	= Layer.CreateFromJSON(layer, clipPack);
                        layeridx++;
                    }
                });

            return section;
        }
Esempio n. 10
0
 /// <summary>
 /// AudioClipPack 붙이기
 /// </summary>
 /// <param name="pack"></param>
 public void SetClipPack(IAudioClipPack pack)
 {
     m_clipPack = pack;
 }
Esempio n. 11
0
 /// <summary>
 /// AudioClipPack 붙이기
 /// </summary>
 /// <param name="pack"></param>
 public void SetClipPack(IAudioClipPack pack)
 {
     m_clipPack = pack;
 }
Esempio n. 12
0
        public static Track GenTestTrack2(float bpm, IAudioClipPack clipPack)
        {
            var track			= new Track();

            track.BPM			= bpm;

            var section1		= Section.GenTestSection3(clipPack);
            var section2		= Section.GenTestSection4(clipPack);

            track.m_sectionSeq.Add(section1);
            track.m_sectionSeq.Add(section2);
            track.m_sectionSeq.Add(section1);

            return track;
        }