예제 #1
0
        /// <summary>
        /// Send a MediaPortal message.
        /// </summary>
        /// <param name="command">The command.</param>
        public static void ProcessSendMediaPortalMessage(string[] command)
        {
            GUIMessage.MessageType type =
                (GUIMessage.MessageType)Enum.Parse(typeof(GUIMessage.MessageType), command[0], true);
            int windowId  = int.Parse(command[1]);
            int senderId  = int.Parse(command[2]);
            int controlId = int.Parse(command[3]);
            int param1    = int.Parse(command[4]);
            int param2    = int.Parse(command[5]);

            GUIMessage message = new GUIMessage(type, windowId, senderId, controlId, param1, param2, null);

            GUIGraphicsContext.ResetLastActivity();
            GUIWindowManager.SendThreadMessage(message);
        }
예제 #2
0
        /// <summary>
        /// Execute this command.
        /// </summary>
        /// <param name="variables">The variable list of the calling code.</param>
        public override void Execute(VariableList variables)
        {
            string[] processed = ProcessParameters(variables, Parameters);

            GUIMessage.MessageType type = (GUIMessage.MessageType)Enum.Parse(typeof(GUIMessage.MessageType), processed[0]);
            int windowId  = int.Parse(processed[1]);
            int senderId  = int.Parse(processed[2]);
            int controlId = int.Parse(processed[3]);
            int param1    = int.Parse(processed[4]);
            int param2    = int.Parse(processed[5]);

            GUIMessage message = new GUIMessage(type, windowId, senderId, controlId, param1, param2, null);

            GUIGraphicsContext.ResetLastActivity();
            GUIWindowManager.SendThreadMessage(message);
        }
        protected override void OnDefaultAction(Action action)
        {
            if (currentSelection == Selection.Down || currentSelection == Selection.Up)
            {
                // don't send the messages to a dialog menu
                if ((WindowId != (int)GUIWindow.Window.WINDOW_DIALOG_MENU) ||
                    (action.wID == Action.ActionType.ACTION_SELECT_ITEM))
                {
                    GUIMessage.MessageType msgType = GUIMessage.MessageType.GUI_MSG_CLICKED_UP;
                    if (currentSelection == Selection.Down)
                    {
                        msgType = GUIMessage.MessageType.GUI_MSG_CLICKED_DOWN;
                    }

                    GUIMessage msg = new GUIMessage(msgType, WindowId, GetID, ParentID, (int)action.wID, 0, null);
                    GUIGraphicsContext.SendMessage(msg);
                }
            }
            else
            {
                base.OnDefaultAction(action);
            }
        }
예제 #4
0
        /*
         * public enum ScheduleRepeatDelay
         * {
         * // Repeat
         * In_1_Minute,
         * In_5_Minutes,
         * In_10_Minutes,
         * In_15_Minutes,
         * In_30_Minutes,
         * In_45_Minutes,
         * In_1_Hour,
         * In_2_Hours,
         * In_6_Hours,
         * In_12_Hours,
         * In_24_Hours,
         * In_48_Hours,
         * In_7_Days,
         * In_14_Days,
         * In_21_Days,
         * In_28_Days,
         * In_60_Days,
         * In_365_Days,
         *
         * // When
         * At_Noon,
         * At_Midnight,
         * At_6_AM,
         * At_6_PM,
         *
         * // Repeat?
         * Weekdays,
         * Weekends,
         * Mondays,
         * Tuesdays,
         * Wednesdays,
         * Thursdays,
         * Fridays,
         * Saturdays,
         * Sundays,
         *
         *
         * }
         */

        #endregion Enumerations

        #region Static Methods

        /// <summary>
        /// Translates a supplied GUIMessage.MessageType into an "Event".
        /// </summary>
        /// <param name="messageType">MediaPortal GUIMessage.MessageType.</param>
        /// <returns>MappingEvent equivalent of GUIMessage.MessageType.</returns>
        public static MappingEvent GetEventType(GUIMessage.MessageType messageType)
        {
            switch (messageType)
            {
            case GUIMessage.MessageType.GUI_MSG_CD_INSERTED:
                return(MappingEvent.CD_Inserted);

            case GUIMessage.MessageType.GUI_MSG_CD_REMOVED:
                return(MappingEvent.CD_Ejected);

            case GUIMessage.MessageType.GUI_MSG_FILE_DOWNLOADED:
                return(MappingEvent.File_Downloaded);

            case GUIMessage.MessageType.GUI_MSG_FILE_DOWNLOADING:
                return(MappingEvent.File_Downloading);

            case GUIMessage.MessageType.GUI_MSG_LOSTFOCUS:
                return(MappingEvent.Focus_Lost);

            case GUIMessage.MessageType.GUI_MSG_MSN_CLOSECONVERSATION:
                return(MappingEvent.MSN_Close_Conversation);

            case GUIMessage.MessageType.GUI_MSG_MSN_MESSAGE:
                return(MappingEvent.MSN_Message);

            case GUIMessage.MessageType.GUI_MSG_MSN_STATUS_MESSAGE:
                return(MappingEvent.MSN_Status_Message);

            case GUIMessage.MessageType.GUI_MSG_PLAY_AUDIO_CD:
                return(MappingEvent.Play_Audio_CD);

            case GUIMessage.MessageType.GUI_MSG_PLAY_FILE:
                return(MappingEvent.Play_File);

            case GUIMessage.MessageType.GUI_MSG_PLAY_ITEM:
                return(MappingEvent.Play_Item);

            case GUIMessage.MessageType.GUI_MSG_PLAY_RADIO_STATION:
                return(MappingEvent.Play_Radio_Station);

            case GUIMessage.MessageType.GUI_MSG_PLAYBACK_ENDED:
                return(MappingEvent.Playback_Ended);

            case GUIMessage.MessageType.GUI_MSG_PLAYBACK_STARTED:
                return(MappingEvent.Playback_Started);

            case GUIMessage.MessageType.GUI_MSG_PLAYBACK_STOPPED:
                return(MappingEvent.Playback_Stopped);

            case GUIMessage.MessageType.GUI_MSG_RECORD:
                return(MappingEvent.Record);

            case GUIMessage.MessageType.GUI_MSG_RECORDER_ABOUT_TO_START_RECORDING:
                return(MappingEvent.About_To_Record);

            case GUIMessage.MessageType.GUI_MSG_RECORDER_START:
                return(MappingEvent.Recorder_Start);

            case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP:
                return(MappingEvent.Recorder_Stop);

            case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP_RADIO:
                return(MappingEvent.Recorder_Stop_Radio);

            case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP_TIMESHIFT:
                return(MappingEvent.Recorder_Stop_Timeshift);

            case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP_TV:
                return(MappingEvent.Recorder_Stop_TV);

            case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP_VIEWING:
                return(MappingEvent.Recorder_Stop_Viewing);

            case GUIMessage.MessageType.GUI_MSG_RECORDER_TUNE_RADIO:
                return(MappingEvent.Recorder_Tune_Radio);

            case GUIMessage.MessageType.GUI_MSG_RECORDER_VIEW_CHANNEL:
                return(MappingEvent.Recorder_View_Channel);

            case GUIMessage.MessageType.GUI_MSG_RESUME_TV:
                return(MappingEvent.Resume_TV);

            case GUIMessage.MessageType.GUI_MSG_START_SLIDESHOW:
                return(MappingEvent.Slideshow_Start);

            case GUIMessage.MessageType.GUI_MSG_STOP_FILE:
                return(MappingEvent.File_Stop);

            case GUIMessage.MessageType.GUI_MSG_SWITCH_FULL_WINDOWED:
                return(MappingEvent.Switch_Full_Windowed);

            case GUIMessage.MessageType.GUI_MSG_TUNE_EXTERNAL_CHANNEL:
                return(MappingEvent.Tune_External_Channel);

            case GUIMessage.MessageType.GUI_MSG_CLICKED:
                return(MappingEvent.Clicked);

            case GUIMessage.MessageType.GUI_MSG_ITEM_SELECTED:
                return(MappingEvent.Item_Selected);

            case GUIMessage.MessageType.GUI_MSG_GOTO_WINDOW:
                return(MappingEvent.Go_To_Window);

            default:
                return(MappingEvent.None);
            }
        }