/// 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); } }
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); }
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(); }