示例#1
0
        /// Toggles the entire measure editor panel:
        public void MeasureEditorToggle()
        {
            if (mMusicGenerator.mState == eGeneratorState.initializing)
            {
                return;
            }

            StopAllCoroutines();
            bool isEditing = mAnimator.GetInteger("mState") == 0;

            mMusicGenerator.SetState(isEditing ? eGeneratorState.editorInitializing : eGeneratorState.stopped);
            mAnimator.SetInteger("mState", isEditing ? 4 : 0);
            mStaffPlayer.mPreset.gameObject.SetActive(isEditing ? false : true);
            GetComponentInParent <CanvasGroup>().interactable   = isEditing;
            GetComponentInParent <CanvasGroup>().blocksRaycasts = isEditing;
            if (isEditing)
            {
#if !UNITY_EDITOR && UNITY_ANDROID
                StartCoroutine(LoadPresets());
#else
                LoadPresets();
#endif //!UNITY_EDITOR && UNITY_ANDROID
                //StartCoroutine(AsyncStageClipForPlaying());
            }
            else
            {
                ClearCurrentInstruments();
                mGeneratorPanel.LoadConfigFromUI();
                mStaffPlayer.ClearNotes(true, true);
                mStaffPlayer.ChangeTimeSignature((int)mCurrentInstSet.mTimeSignature.Signature);
            }
        }
示例#2
0
        public void Init()
        {
            mMusicGenerator.SetState(eGeneratorState.initializing);
            mMusicGenerator.mMusicFileConfig.LoadConfig(mMusicGenerator.mDefaultConfig, eGeneratorState.ready);

            mTooltips = Tooltips.Instance;
            mTooltips.Init();

            mStaffPlayer = StaffPlayerUI.Instance;

            mInstrumentListPanelUI = InstrumentListPanelUI.Instance;

            mMeasureEditor = MeasureEditor.Instance;
            mMeasureEditor.Init(mMusicGenerator);

            mInstrumentPanelUI = InstrumentPanelUI.Instance;
            mInstrumentPanelUI.Init();

            mAdvancedSettingsPanel = AdvancedSettingsPanel.Instance;
            mAdvancedSettingsPanel.Init();

            mGlobalEffectsPanel = GlobalEffectsPanel.Instance;
            mGlobalEffectsPanel.Init(mMusicGenerator);

            mGeneratorUIPanel = MusicGeneratorUIPanel.Instance;
            mGeneratorUIPanel.Init(mMusicGenerator);
            mStaffPlayer.Init(mMusicGenerator);
            mStaffPlayer.ChangeTimeSignature(-1);
            //mInstrumentListPanelUI.Init(mMusicGenerator);
        }
示例#3
0
        public IEnumerator Init()
        {
            mMusicGenerator.SetState(eGeneratorState.initializing);
            yield return(StartCoroutine(mMusicGenerator.mMusicFileConfig.LoadConfig(mMusicGenerator.mDefaultConfig, eGeneratorState.initializing)));

            mTooltips = Tooltips.Instance;
            yield return(StartCoroutine(mTooltips.Init()));

            mStaffPlayer = StaffPlayerUI.Instance;

            mInstrumentListPanelUI = InstrumentListPanelUI.Instance;

            mMeasureEditor = MeasureEditor.Instance;
            mMeasureEditor.Init(mMusicGenerator);

            mInstrumentPanelUI = InstrumentPanelUI.Instance;
            mInstrumentPanelUI.Init();

            mAdvancedSettingsPanel = AdvancedSettingsPanel.Instance;
            mAdvancedSettingsPanel.Init();

            mGlobalEffectsPanel = GlobalEffectsPanel.Instance;
            mGlobalEffectsPanel.Init(mMusicGenerator);

            mGeneratorUIPanel = MusicGeneratorUIPanel.Instance;
            bool finished = false;

            yield return(StartCoroutine(mGeneratorUIPanel.Init(mMusicGenerator, (x) => { finished = x; })));

            yield return(new WaitUntil(() => finished));

            mStaffPlayer.Init(mMusicGenerator);
            mStaffPlayer.ChangeTimeSignature(-1);
            mMusicGenerator.SetState(eGeneratorState.ready);
            //mInstrumentListPanelUI.Init(mMusicGenerator);
            yield return(null);
        }
        /// When initially setting, we grab our values from the generator:
        private void SetGeneratorUIValues()
        {
            mScale.value = (int)mMusicGenerator.mGeneratorData.mScale;
            mKey.value   = (int)mMusicGenerator.mGeneratorData.mKey;
            mTempo.value = mMusicGenerator.mInstrumentSet.mData.Tempo;

            mStaffPlayerUI.ChangeTimeSignature((int)mMusicGenerator.mInstrumentSet.mTimeSignature.Signature);
            float volOUT = 0.0f;

            mMusicGenerator.mMixer.GetFloat("MasterVol", out volOUT);
            mVol.value = volOUT;

            mRepeatThemeOptions.value = (int)mMusicGenerator.mGeneratorData.mThemeRepeatOptions;

            mRepeatLength.value = (int)mMusicGenerator.mInstrumentSet.mData.RepeatMeasuresNum - 1;

            switch ((int)mMusicGenerator.mInstrumentSet.mData.mProgressionRate)
            {
            case 1:
                mProgressionRateDropdown.value = 0;
                break;

            case 2:
                mProgressionRateDropdown.value = 1;
                break;

            case 4:
                mProgressionRateDropdown.value = 2;
                break;

            case 8:
                mProgressionRateDropdown.value = 3;
                break;

            case 16:
                mProgressionRateDropdown.value = 4;
                break;

            default:
                break;
            }

            mGroupOdds1.value = mMusicGenerator.mGeneratorData.mGroupOdds[0];
            mGroupOdds2.value = mMusicGenerator.mGeneratorData.mGroupOdds[1];
            mGroupOdds3.value = mMusicGenerator.mGeneratorData.mGroupOdds[2];
            mGroupOdds4.value = mMusicGenerator.mGeneratorData.mGroupOdds[3];

            mNewThemeOdds.value = mMusicGenerator.mGeneratorData.mSetThemeOdds;

            mRepeatThemeOdds.value = mMusicGenerator.mGeneratorData.mPlayThemeOdds;
            mKeyChangeOdds.value   = mMusicGenerator.mGeneratorData.mKeyChangeOdds;
            mMode.value            = (int)mMusicGenerator.mGeneratorData.mMode;

            mAdvSettingsPanel.mTonicInfluence.value       = mMusicGenerator.mChordProgressions.mData.TonicInfluence;
            mAdvSettingsPanel.mSubdominantInfluence.value = mMusicGenerator.mChordProgressions.mData.SubdominantInfluence;
            mAdvSettingsPanel.mDominantInfluence.value    = mMusicGenerator.mChordProgressions.mData.DominantInfluence;
            mAdvSettingsPanel.mTritoneSubInfluence.value  = mMusicGenerator.mChordProgressions.mData.TritoneSubInfluence;
            mAdvSettingsPanel.mAscendDescendKey.value     = mMusicGenerator.mGeneratorData.mKeyChangeAscendDescend;
            mProgressionChangeOdds.value            = mMusicGenerator.mGeneratorData.mProgressionChangeOdds;
            mAdvSettingsPanel.mGroupRate.value      = (int)mMusicGenerator.mGeneratorData.mGroupRate;
            mAdvSettingsPanel.mDynamicStyle.value   = (int)mMusicGenerator.mGeneratorData.mDynamicStyle;
            mAdvSettingsPanel.mVolumeFadeRate.value = (int)mMusicGenerator.mGeneratorData.mVolFadeRate;

            UpdateEffectsSliders();
            bool[] excludes = mMusicGenerator.mChordProgressions.mData.mExcludedProgSteps;
            for (int i = 0; i < excludes.Length; i++)
            {
                mAdvSettingsPanel.mExcludedSteps[i].isOn = excludes[i];
            }

            mAdvSettingsPanel.CheckAvoidSteps();

            mRepeatThemeOutput.text       = ((int)mMusicGenerator.mGeneratorData.mPlayThemeOdds).ToString();
            mNewThemeOutput.text          = ((int)mMusicGenerator.mGeneratorData.mSetThemeOdds).ToString();
            mGroupOdds4Text.text          = ((int)mGroupOdds4.value).ToString();
            mGroupOdds3Text.text          = ((int)mGroupOdds3.value).ToString();
            mGroupOdds2Text.text          = ((int)mGroupOdds2.value).ToString();
            mGroupOdds1Text.text          = ((int)mGroupOdds1.value).ToString();
            mKeyChangeOddsOutput.text     = ((int)mKeyChangeOdds.value).ToString();
            mTempoText.text               = ((int)mTempo.value).ToString();
            mTempoText.text               = ((int)mTempo.value).ToString();
            mProgressionChangeOutput.text = ((int)mMusicGenerator.mGeneratorData.mProgressionChangeOdds).ToString();
            mVolText.text = ((int)mVol.value).ToString();
        }