Esempio n. 1
0
        private void changeAssignment(MappingTargetDeck assignment)
        {
            foreach (var m in _mappings)
            {
                m.ChangeAssignment(assignment);
            }

            CommandEditor.Assignment = assignment;
            ConditionsEditor.Refresh();
        }
Esempio n. 2
0
        public void rotateAssignment(int step)
        {
            foreach (var m in _mappings)
            {
                var assignmentOptions = m.Command.AssignmentOptions;
                var target            = m.TargetType;

                MappingTargetDeck cur_assignment = m.Assignment;
                MappingTargetDeck new_assignment;
                MappingTargetDeck max_assignment = MappingTargetDeck.DorFX4orRemixDeck1Slot4;

                // Todo: move this to class command
                switch (target)
                {
                case TargetType.Slot:
                    max_assignment = MappingTargetDeck.RemixDeck4Slot4;
                    break;

                case TargetType.Global:
                    max_assignment = MappingTargetDeck.AorFX1orRemixDeck1Slot1OrGlobal;
                    break;

                case TargetType.FX:
                case TargetType.Remix:
                    max_assignment = MappingTargetDeck.DorFX4orRemixDeck1Slot4;
                    break;

                case TargetType.Track:
                default:
                    var Id = m.Command.Id;
                    if ((KnownCommands)Id == KnownCommands.DeckCommon_DeckSizeSelector || (KnownCommands)Id == KnownCommands.DeckCommon_AdvancedPanelToggle)
                    {
                        max_assignment = MappingTargetDeck.BorFX2orRemixDeck1Slot2;
                    }
                    else
                    {
                        max_assignment = MappingTargetDeck.DorFX4orRemixDeck1Slot4;
                    }
                    break;
                }

                new_assignment = cur_assignment;
                if (step > 0)
                {
                    if (cur_assignment >= max_assignment)
                    {
                        new_assignment = MappingTargetDeck.AorFX1orRemixDeck1Slot1OrGlobal;
                    }
                    else
                    {
                        new_assignment++;
                    }
                }
                else if (step < 0)
                {
                    if (cur_assignment <= MappingTargetDeck.AorFX1orRemixDeck1Slot1OrGlobal)
                    {
                        new_assignment = max_assignment;
                    }
                    else
                    {
                        new_assignment--;
                    }
                }
                m.ChangeAssignment(new_assignment);
            }

            ConditionsEditor.Refresh();

            //analyzeSelection(true);
            //updateMenus(false, true);
        }