Esempio n. 1
0
    void changeSequence1()
    {
        //int change = Random.Range (0, 1);
        // int note = Random.Range (0,6);
        //int newNote;
        //int start = Random.Range (0, 32);
        //int end = start + Random.Range (1, 3);
        float velocity = Random.Range(0.4f, 1f);

        //if (change == 1) {
        sequencer.Clear();

        /*switch (note) {
         * case 1:
         *  newNote = 61;
         *  break;
         * case 2:
         *  newNote = 63;
         *  break;
         * case 3:
         *  newNote = 65;
         *  break;
         * case 4:
         *  newNote = 66;
         *  break;
         * case 5:
         *  newNote = 68;
         *  break;
         * case 6:
         *  newNote = 70;
         *  break;
         * case 7:
         *  newNote = 71;
         *  break;
         *
         * default:
         *  newNote = 61;
         *  break;
         * } */
        sequencer.AddNote(farmManager.GetComponent <assignKey>().currentList[note] + (12 * (octave + 2)), newStart, newStart + endScale, velocity);
        Debug.Log("Set Note to" + note);
        Debug.Log(farmManager.GetComponent <assignKey>().currentList[note]);
        sequencer.StartOnNextCycle();

        //}		//lastNote = note;
    }
Esempio n. 2
0
        void MouseUp(float time, Sequencer sequencer, SerializedProperty allNotes)
        {
            float divisionLength = sequencer.GetDivisionLength();

            mouseActive = false;
            if (mode == Mode.kKeyboarding)
            {
                sequencer.NoteOff(pressedKey);
                pressedKey = -1;
                return;
            }

            dragTime = Mathf.Clamp(time, 0.0f, sequencer.length);
            float startTime = Mathf.Min(pressTime, dragTime);
            float endTime   = Mathf.Max(pressTime, dragTime);

            if (mode == Mode.kDraggingStart)
            {
                Undo.RecordObject(sequencer, "Move Note Start");

                if (activeNote != null)
                {
                    float newStart = Mathf.Min(activeNote.end - minNoteTime, activeTime);
                    sequencer.ClampNotesInRange(pressNote, newStart, activeNote.end, activeNote);

                    activeNote.start = newStart;
                }
            }
            else if (mode == Mode.kDraggingEnd)
            {
                Undo.RecordObject(sequencer, "Move Note End");

                if (activeNote != null)
                {
                    float newEnd = Mathf.Max(activeNote.start + minNoteTime, activeTime);
                    sequencer.ClampNotesInRange(pressNote, activeNote.start, newEnd, activeNote);

                    activeNote.end = newEnd;
                }
            }
            else if (mode == Mode.kAdding)
            {
                Undo.RecordObject(sequencer, "Add Sequencer Notes");
                int startDragIndex = Mathf.FloorToInt(startTime / divisionLength);
                int endDragIndex   = Mathf.CeilToInt(endTime / divisionLength);

                sequencer.ClampNotesInRange(pressNote, startDragIndex * divisionLength,
                                            endDragIndex * divisionLength);
                for (int i = startDragIndex; i < endDragIndex; ++i)
                {
                    sequencer.AddNote(pressNote, i * divisionLength, (i + 1) * divisionLength, defaultVelocity);
                }
            }
            else if (mode == Mode.kDeleting)
            {
                Undo.RecordObject(sequencer, "Delete Sequencer Notes");
                sequencer.RemoveNotesInRange(pressNote, startTime, endTime);
            }
            mode = Mode.kWaiting;

            if (!Application.isPlaying)
            {
                CopyNoteRowToSerializedProperty(sequencer.allNotes[pressNote],
                                                allNotes.GetArrayElementAtIndex(pressNote));
            }
        }