示例#1
0
        private void updateEventbtn_Click(object sender, EventArgs e)
        {
            if (music.ActiveEvent != -1)
            {
                int[] controlData = StaticDataControl.returnControlData(new List <int> {
                    StaticDataControl.returnStatusValues(eventcmb.SelectedIndex, music.Format, music.ActiveTrack), 0, 0
                }, music.Format);
                List <int> pre = new List <int>();

                pre.Add((int)valuenum.Value);
                if (Convert.ToBoolean(controlData[4]))
                {
                    pre.Add((int)parameter1num.Value);
                }
                if (Convert.ToBoolean(controlData[7]))
                {
                    pre.Add((int)parameter2num.Value);
                }

                music.Event = pre;

                int Y           = eventListbox.TopIndex;
                int activeEvent = music.ActiveEvent;

                setupEvents(music.ActiveTrack);

                eventListbox.TopIndex = Y;
                eventListbox.SetSelected(activeEvent, true);
            }
        }
示例#2
0
        // setup everything after loading the music
        private void setupMusic()
        {
            enableControls(true);

            // setup event options
            eventcmb.Items.Clear();
            switch (music.Format)
            {
            case 0x00: eventcmb.Items.AddRange(StaticDataControl.returnEventOptions(0)); break;

            case 0x01: eventcmb.Items.AddRange(StaticDataControl.returnEventOptions(1)); break;

            default: MessageBox.Show("No event options for this format!\nThe process is likely unstable now, please restart the program."); break;
            }

            // start with track list
            setupTracks();

            // setup track
            if (!setupEvents(0))
            {
                enableControls(false);
                return;
            }

            // setup event 0
            setupEvent(0);

            // tell that we have loaded a sequence
            updateLabelStatus();

            // enable stuff
            prepareProgram();
        }
示例#3
0
 private void addEventbtn_Click(object sender, EventArgs e)
 {
     music.addEvent(new List <int> {
         0, 0, 0
     });
     eventListbox.Items.Insert(music.ActiveEvent + 1, StaticDataControl.returnEventListData(new List <int> {
         0, 0, 0
     }, music.Format));
     eventListbox.SetSelected(music.ActiveEvent + 1, true);
 }
示例#4
0
 private void eventcmb_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (updateCmb)
     {
         List <int> pre = new List <int> {
             StaticDataControl.returnStatusValues(eventcmb.SelectedIndex, music.Format, music.ActiveTrack), 0, 0
         };
         setupEventControllers(StaticDataControl.returnControlData(pre, music.Format));
     }
 }
示例#5
0
        // set an event
        private void setupEvent(int index)
        {
            if (updateEvent && index != -1)
            {
                music.ActiveEvent = index;
                int[] data = StaticDataControl.returnControlData(music.Event, music.Format);

                setupEventControllers(data);
                eventListbox.SelectedItem = index;
            }
        }
示例#6
0
        // setup a track, Warning: activeEvent is random
        private bool setupEvents(int track)
        {
            eventListbox.Items.Clear();

            music.ActiveTrack = track;
            if (music.ActiveTrackCount > 0)
            {
                for (int i = 0; i < music.ActiveTrackCount; i++)
                {
                    music.ActiveEvent = i;
                    eventListbox.Items.Add(StaticDataControl.returnEventListData(music.Event, music.Format));
                }
            }
            else
            {
                MessageBox.Show("The currently selected sequence has no events.");
                return(false);
            }

            return(true);
        }