/// <summary>
        /// Called when the window is Enabled.
        /// </summary>
        public void OnEnable()
        {
            layoutProfiles = CinemaMocapLayout.LoadMetaData();
            if (layoutProfiles.Count < 1)
            {
                Debug.LogError(NO_LAYOUT_PROFILES_FOUND_MSG);
                return;
            }

            mocapWorkflowPhase = GetUserDefaultWorkflow();


            if (mocapWorkflowPhase == MocapWorkflow.Record)
            {
                mocapPipeline = new RecordPipeline(true);
            }
            else
            {
                mocapPipeline = new ReviewPipeline(true);
            }

            showInputSettings     = new AnimBool(true, Repaint);
            showMappingSettings   = new AnimBool(true, Repaint);
            showOutputSettings    = new AnimBool(true, Repaint);
            showRecordingSettings = new AnimBool(true, Repaint);

            foldoutStyle = skin.FindStyle("SettingsFoldout");
            if (foldoutStyle == null)
            {
                foldoutStyle = skin.FindStyle("box");
            }
        }
        /// <summary>
        /// Draw the window's toolbar.
        /// </summary>
        /// <param name="toolbar">The toolbar's area.</param>
        private void DrawToolbar(Rect toolbar)
        {
            EditorGUILayout.BeginHorizontal(EditorStyles.toolbar, GUILayout.Width(toolbar.width));

            //if (isDeveloperModeEnabled)
            {
                MocapWorkflow tempWorkflow = (MocapWorkflow)EditorGUILayout.EnumPopup(mocapWorkflowPhase, EditorStyles.toolbarDropDown);
                if (tempWorkflow != mocapWorkflowPhase)
                {
                    mocapWorkflowPhase = tempWorkflow;

                    if (mocapWorkflowPhase == MocapWorkflow.Record)
                    {
                        mocapPipeline.OnDestroy();
                        mocapPipeline = new RecordPipeline(GetUserDefaultWorkflow() == MocapWorkflow.Record);
                    }
                    else
                    {
                        mocapPipeline.OnDestroy();
                        mocapPipeline = new ReviewPipeline(GetUserDefaultWorkflow() == MocapWorkflow.Review);
                    }
                }
            }

            GUIContent[] content = new GUIContent[layoutProfiles.Count];
            for (int i = 0; i < layoutProfiles.Count; i++)
            {
                content[i] = new GUIContent(layoutProfiles[i].Label);
            }
            GUILayout.FlexibleSpace();

            int tempSelection = EditorGUILayout.Popup(new GUIContent(string.Empty, "Layout"), layoutProfileSelection, content, EditorStyles.toolbarDropDown, GUILayout.Width(120));

            if (layoutProfileSelection != tempSelection || mocapPipeline.LayoutProfile == null)
            {
                mocapPipeline.LayoutProfile = Activator.CreateInstance(layoutProfiles[tempSelection].Type) as CinemaMocapLayout;
                if (mocapPipeline.InputProfile != null)
                {
                    mocapPipeline.LayoutProfile.AspectRatio = mocapPipeline.InputProfile.AspectRatio;
                }
                layoutProfileSelection = tempSelection;
            }

            if (GUILayout.Button(new GUIContent(settingsIcon, "Settings"), EditorStyles.toolbarButton))
            {
                EditorWindow.GetWindow(typeof(CinemaMocapSettingsWindow));
            }

            // Check if the Welcome Window exists and if so, show an icon for it.
            var helpWindowType = Type.GetType("CinemaSuite.CinemaSuiteWelcome");

            if (helpWindowType != null)
            {
                if (GUILayout.Button(new GUIContent("?", "Help"), EditorStyles.toolbarButton))
                {
                    EditorWindow.GetWindow(helpWindowType);
                }
            }

            EditorGUILayout.EndHorizontal();
        }