Пример #1
0
def edit_joy():
    global config

    if config[0]['mk2']:
        Header = Header_Mk2
    else:
        quit("Unable to configure Joystick on MK1 configuration, convert " \
                "to MK2 and try again")

    menu = qprompt.Menu()
    for x, y in Header.axis_x.subcon.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[0]['axis_x'] == y:
            dft = str(x)
    config[0]['axis_x'] = int(menu.show(msg="Axis-X", dft=dft))
    menu = qprompt.Menu()

    config[0]['x_up'] = \
        qprompt.ask_int("X-Up", dft=config[0]['x_up'])

    config[0]['x_down'] = \
        qprompt.ask_int("X-Down", dft=config[0]['x_down'])

    for x, y in Header.axis_y.subcon.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[0]['axis_y'] == y:
            dft = str(x)
    config[0]['axis_y'] = int(menu.show(msg="Axis-Y", dft=dft))

    config[0]['y_up'] = \
        qprompt.ask_int("Y-Up", dft=config[0]['y_up'])

    config[0]['y_down'] = \
        qprompt.ask_int("Y-Down", dft=config[0]['y_down'])
Пример #2
0
def edit_joy():
    global config

    menu = qprompt.Menu()
    for x, y in Header.axis_x.subcon.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[0]['axis_x'] == y:
            dft = str(x)
    config[0]['axis_x'] = int(menu.show(msg="Axis-X", dft=dft))
    menu = qprompt.Menu()

    config[0]['x_up'] = \
        qprompt.ask_int("X-Up", dft=config[0]['x_up'])

    config[0]['x_down'] = \
        qprompt.ask_int("X-Down", dft=config[0]['x_down'])

    for x, y in Header.axis_y.subcon.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[0]['axis_y'] == y:
            dft = str(x)
    config[0]['axis_y'] = int(menu.show(msg="Axis-Y", dft=dft))

    config[0]['y_up'] = \
        qprompt.ask_int("Y-Up", dft=config[0]['y_up'])

    config[0]['y_down'] = \
        qprompt.ask_int("Y-Down", dft=config[0]['y_down'])
Пример #3
0
def local_threshold_prompt(args):
    r = args
    block_sz = qprompt.ask_int("Block size")
    sigma = qprompt.ask_int("Sigma value")
    r.threshold_method = "local"
    r.block_sz = block_sz
    r.sigma = sigma
Пример #4
0
def edit_arpeggio():
    global config

    if config[0]['mk2']:
        menu = qprompt.Menu()
        for x, y in Header.enable.subcon.subcon.ksymapping.items():
            menu.add(str(x), y)
            if config[0]['enable'] == y:
                dft = str(x)
        config[0]['enable'] = int(menu.show(msg="Enable", dft=dft))

    menu = qprompt.Menu()
    for x, y in Header.division.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[0]['division'] == y:
            dft = str(x)
    config[0]['division'] = int(menu.show(msg="Division", dft=dft))

    menu = qprompt.Menu()
    for x, y in Header.mode.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[0]['mode'] == y:
            dft = str(x)
    config[0]['mode'] = int(menu.show(msg="Mode", dft=dft))

    menu = qprompt.Menu()
    for x, y in Header.latch.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[0]['latch'] == y:
            dft = str(x)
    config[0]['latch'] = int(menu.show(msg="Latch", dft=dft))

    menu = qprompt.Menu()
    for x, y in Header.octaves.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[0]['octaves'] == y:
            dft = str(x)
    config[0]['octaves'] = int(menu.show(msg="Octaves", dft=dft))

    menu = qprompt.Menu()
    for x, y in Header.swing.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[0]['swing'] == y:
            dft = str(x)
    config[0]['swing'] = int(menu.show(msg="Swing", dft=dft))

    config[0]['taps'] = \
        qprompt.ask_int("Taps", vld=list(range(2,4)),
            dft=config[0]['taps'])

    config[0]['tempo'] = \
        qprompt.ask_int("Tempo", dft=config[0]['tempo'])

    menu = qprompt.Menu()
    for x, y in Header.clock.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[0]['clock'] == y:
            dft = str(x)
    config[0]['clock'] = int(menu.show(msg="Clock", dft=dft))
Пример #5
0
def edit_pad(pad):
    global config

    bank = int((pad - 1) / _PADS)
    subpad = pad - (_PADS * bank) - 1

    menu = qprompt.Menu()
    for x, y in Pad.type.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[1][bank][subpad]['type'] == y:
            dft = str(x)
    ptype = menu.show(hdr="Pad %d (Bank %s-%d):" %
                      (pad, chr(65 + bank), subpad + 1),
                      msg="Type",
                      dft=dft)
    config[1][bank][subpad]['type'] = int(ptype)

    config[1][bank][subpad]['channel'] = \
        qprompt.ask_int("Channel", vld=list(range(1,17)),
            dft=config[1][bank][subpad]['channel'])

    if ptype == '0':
        config[1][bank][subpad]['note'] = \
            qprompt.ask_int("Note", vld=list(range(0,128)),
                dft=config[1][bank][subpad]['note'])

        menu = qprompt.Menu()
        for x, y in Pad.trigger.subcon.ksymapping.items():
            menu.add(str(x), y)
            if config[1][bank][subpad]['trigger'] == y:
                dft = str(x)
        config[1][bank][subpad]['trigger'] = int(
            menu.show(msg="Trigger", dft=dft))

        menu = qprompt.Menu()
        for x, y in Pad.aftertouch.subcon.ksymapping.items():
            menu.add(str(x), y)
            if config[1][bank][subpad]['aftertouch'] == y:
                dft = str(x)
        config[1][bank][subpad]['aftertouch'] = int(
            menu.show(msg="Aftertouch", dft=dft))
    elif ptype == '1':
        config[1][bank][subpad]['program'] = \
            qprompt.ask_int("Program", vld=list(range(0,128)),
                dft=config[1][bank][subpad]['program'])
    else:
        config[1][bank][subpad]['msb'] = \
            qprompt.ask_int("MSB", vld=list(range(0,128)),
                dft=config[1][bank][subpad]['msb'])
        config[1][bank][subpad]['lsb'] = \
            qprompt.ask_int("LSB", vld=list(range(0,128)),
                dft=config[1][bank][subpad]['lsb'])
Пример #6
0
def edit_scale(pad, verbose):
    global config

    rbank = int((pad - 1) / _PADS)
    rsubpad = pad - (_PADS * rbank) - 1

    menu = qprompt.Menu()
    x = 0
    for y in Scale._SCALE_PATTERNS:
        menu.add(str(x), y)
        x = x + 1
    stype = menu.show(hdr="Pad %d (Bank %s-%d):" %
                      (pad, chr(65 + rbank), rsubpad + 1),
                      msg="Scale",
                      returns="desc")

    root = qprompt.ask_int("Note",
                           vld=list(range(0, 128)),
                           dft=config[1][rbank][rsubpad]['note'])

    count = qprompt.ask_int("Count",
                            vld=[0] + list(range(1, _PTOTAL + 2 - pad)),
                            dft=0)

    scale = Scale.build_scale(Note.from_midi_num(root), stype)
    scale_lst = []
    for note in scale:
        scale_lst.append(note.midi_note_number())

    if count:
        while len(scale_lst) < count:
            root = scale_lst.pop()
            scale = Scale.build_scale(Note.from_midi_num(root), stype)
            for note in scale:
                scale_lst.append(note.midi_note_number())
    else:
        count = len(scale_lst)
        if pad + count > _PTOTAL:
            count = _PTOTAL + 1 - pad

    for note in scale_lst[:count]:
        bank = int((pad - 1) / _PADS)
        subpad = pad - (_PADS * bank) - 1

        config[1][bank][subpad]['note'] = note

        if verbose:
            print("Setting Pad %d (Bank %s-%d) to %d (%s)" %
                  (pad, chr(65 + bank), subpad + 1, note,
                   Note.from_midi_num(note)))
        pad = pad + 1
Пример #7
0
def edit_sound():
    global config

    menu = qprompt.Menu()
    '''
    for x,y in Sounds.keys.subcon.subcon.ksymapping.items():
        menu.add(str(x),y)
        if config[4]['keys'] == y:
            dft = str(x)
    config[4]['keys'] = int(menu.show(msg="Key Sound", dft=dft))
    '''
    config[4]['keys'] = \
        qprompt.ask_int("Key Sound", vld=list(range(0,128)),
            dft=config[4]['keys'])
    '''
    for x,y in Sounds.drums.subcon.subcon.ksymapping.items():
        menu.add(str(x),y)
        if config[4]['drums'] == y:
            dft = str(x)
    config[4]['drums'] = int(menu.show(msg="Drum Sound", dft=dft))
    '''
    config[4]['drums'] = \
        qprompt.ask_int("Drum Sound", vld=list(range(0,10)),
            dft=config[4]['drums'])

    config[4]['filter'] = \
        qprompt.ask_int("Filter", vld=list(range(0,128)),
            dft=config[4]['filter'])
    config[4]['res'] = \
        qprompt.ask_int("Resonence", vld=list(range(0,128)),
            dft=config[4]['res'])
    config[4]['reverb'] = \
        qprompt.ask_int("Reverb", vld=list(range(0,128)),
            dft=config[4]['reverb'])
    config[4]['chorus'] = \
        qprompt.ask_int("Chorus", vld=list(range(0,128)),
            dft=config[4]['chorus'])

    config[4]['attack'] = \
        qprompt.ask_int("Attack", vld=list(range(0,128)),
            dft=config[4]['attack'])
    config[4]['release'] = \
        qprompt.ask_int("Release", vld=list(range(0,128)),
            dft=config[4]['release'])
    config[4]['eq_low'] = \
        qprompt.ask_int("EQ Low", vld=list(range(0,128)),
            dft=config[4]['eq_low'])
    config[4]['eq_high'] = \
        qprompt.ask_int("EQ High", vld=list(range(0,128)),
            dft=config[4]['eq_high'])
Пример #8
0
def edit_dial(dial):
    global config

    config[1][dial]['midicc'] = \
        qprompt.ask_int("CC", vld=list(range(0,128)),
            dft=config[1][dial]['midicc'])

    config[1][dial]['max'] = \
        qprompt.ask_int("Max", vld=list(range(0,128)),
            dft=config[1][dial]['max'])

    config[1][dial]['min'] = \
        qprompt.ask_int("Min", vld=list(range(0,128)),
            dft=config[1][dial]['min'])
Пример #9
0
def edit_general():
    global config

    config[0]['pchannel'] = \
        qprompt.ask_int("Midi Ch for Pads", dft=config[0]['pchannel'])

    config[0]['dchannel'] = \
        qprompt.ask_int("Midi Ch for Dials/Keys", dft=config[0]['dchannel'])

    menu = qprompt.Menu()
    for x, y in Header.octave.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[0]['octave'] == y:
            dft = str(x)
    config[0]['octave'] = int(menu.show(msg="Keyboard Octave", dft=dft))
    menu = qprompt.Menu()
Пример #10
0
def edit_general():
    global config

    config[0]['channel'] = \
        qprompt.ask_int("Midi Ch for Keys", dft=config[0]['channel'])

    menu = qprompt.Menu()
    def update_value(self, value):
        """
        Prompt the user to input a new value, then save the updated config
        and return to menu.
        Determines how to prompt the user by finding the value name passed as
        argument in one of the lists in the type map.
        :param value: value name to be updated e.g. minwidth
        """
        desc_str = "Enter new {} (currently {})".format(value, self.config['user'][value])
        if value in self.type_map[int]:
            self.config['user'][value] = str(qprompt.ask_int(desc_str))
        elif value in self.type_map[float]:
            self.config['user'][value] = str(qprompt.ask_float(desc_str))
        elif value in self.type_map[str]:
            self.config['user'][value] = qprompt.ask_str(desc_str)
        elif value in self.type_map[bool]:
            desc_str += " y/n"
            if qprompt.ask_yesno(desc_str):
                self.config['user'][value] = "yes"
            else:
                self.config['user'][value] = "no"

        self.save_config()
        self.clear_screen()
        print('Config saved...')
Пример #12
0
def edit_dial(dial):
    global config

    bank = int((dial - 1) / _DIALS)
    subdial = dial - (_DIALS * bank) - 1

    config[2][bank][subdial]['midicc'] = \
        qprompt.ask_int("MidiCC", vld=list(range(0,128)),
            dft=config[2][bank][subdial]['midicc'])

    config[2][bank][subdial]['min'] = \
        qprompt.ask_int("Min", vld=list(range(0,128)),
            dft=config[2][bank][subdial]['min'])

    config[2][bank][subdial]['max'] = \
        qprompt.ask_int("Max", vld=list(range(0,128)),
            dft=config[2][bank][subdial]['max'])
Пример #13
0
def betting_round(player):
    # Make bets
    bet = qprompt.ask_int("Enter a bet amount less than your bank value of " + str(player.memory["bank"]), valid=lambda x: x <= player.memory["bank"])
    player.memory["bank"] -= bet
    player.memory["bet"] = bet
    qprompt.info("Betted " + str(bet))
    qprompt.pause()
    qprompt.clear()
Пример #14
0
def edit_pad(pad):
    global config

    config[1][pad]['note'] = \
        qprompt.ask_int("Note", vld=list(range(0,128)),
            dft=config[1][pad]['note'])

    menu = qprompt.Menu()
    config[1][pad]['program'] = \
        qprompt.ask_int("Program", vld=list(range(0,128)),
            dft=config[1][pad]['program'])

    config[1][pad]['midicc'] = \
        qprompt.ask_int("CC", vld=list(range(0,128)),
            dft=config[1][pad]['midicc'])

    config[1][pad]['trigger'] = \
        qprompt.ask_int("Trigger", vld=list(range(0,2)),
            dft=config[1][pad]['trigger'])
Пример #15
0
def edit_pad(pad):
    global config

    bank = int((pad - 1) / _PADS)
    subpad = pad - (_PADS * bank) - 1

    config[1][bank][subpad]['note'] = \
        qprompt.ask_int("Note", vld=list(range(0,128)),
            dft=config[1][bank][subpad]['note'])

    menu = qprompt.Menu()
Пример #16
0
def edit_pad(pad):
    global config

    bank = int((pad - 1) / _PADS)
    subpad = pad - (_PADS * bank) - 1

    config[1][bank][subpad]['note'] = \
        qprompt.ask_int("Note", vld=list(range(0,128)),
            dft=config[1][bank][subpad]['note'])

    config[1][bank][subpad]['midicc'] = \
        qprompt.ask_int("Midi CC", vld=list(range(0,128)),
            dft=config[1][bank][subpad]['midicc'])

    config[1][bank][subpad]['prog'] = \
        qprompt.ask_int("Program", vld=list(range(0,128)),
            dft=config[1][bank][subpad]['prog'])

    menu = qprompt.Menu()
    for x, y in Pad.trigger.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[1][bank][subpad]['trigger'] == y:
            dft = str(x)
    config[1][bank][subpad]['trigger'] = int(menu.show(msg="Trigger", dft=dft))
Пример #17
0
 def _config_model(self, config=None):
     output('开始配置解读模型...')
     default_model_id = ''
     default_runtime = 'python3'
     default_memory_size = 128
     default_timeout = 900
     if config is not None:
         section_name = DEFAULT_MODEL_SECTION
         default_model_id = config_get(config.get, section_name, 'model_id')
         default_runtime = config_get(config.get, section_name, 'runtime')
         default_memory_size = config_get(config.getint, section_name,
                                          'memory_size')
         default_timeout = config_get(config.getint, section_name,
                                      'timeout')
     model_id = self._input_model_id(default=default_model_id)
     try:
         index = RUNTIME_CHOICES.index(default_runtime)
     except IndexError:
         index = 0
     prompt = '请选择运行环境 [{}]'.format(default_runtime)
     input_prompt = "请选择"
     runtime = qprompt.enum_menu(RUNTIME_CHOICES).show(header=prompt,
                                                       dft=index + 1,
                                                       returns="desc",
                                                       msg=input_prompt)
     try:
         index = MEMORY_SIZE_CHOICES.index(default_memory_size)
     except IndexError:
         index = 0
     prompt = '请选择内存占用(MB) [{}]'.format(default_memory_size)
     input_prompt = "请选择"
     memory_size = qprompt.enum_menu(MEMORY_SIZE_CHOICES).show(
         header=prompt, dft=index + 1, returns="desc", msg=input_prompt)
     prompt = '请输入模型运行超时时间,类型为整数'
     while True:
         timeout = qprompt.ask_int(msg=prompt, dft=default_timeout)
         if (MIN_TIMEOUT and timeout < MIN_TIMEOUT) \
                 or (MAX_TIMEOUT and timeout > MAX_TIMEOUT):
             output('超出范围 [{},{}],请重新输入'.format(MIN_TIMEOUT or '',
                                                MAX_TIMEOUT or ''))
             continue
         break
     if not timeout:
         timeout = default_timeout
     return model_id, runtime, memory_size, timeout
Пример #18
0
def updatePass():
    global pragma_input
    conn = sqlcipher.connect('.passman.db')
    cur = conn.cursor()
    cur.execute(pragma_input)
    print(pd.read_sql_query(
        "SELECT * FROM passwords",
        conn))  #display all passwords so user can easily see its ID
    print("Select the ID of the credentials you wish to EDIT")
    try:
        ID = qprompt.ask_int("ID")  #ask user for ID of credential to edit
    except:
        qprompt.error("ID NOT FOUND")  #error if ID is not found
        retry = qprompt.ask_yesno(
            "Retry?")  #prompt user to retry or exit to main menu
        if retry == False:
            mainMenu()
        else:
            updatePass()

    print(
        "Credential set selected! What would you like to change?"
    )  #ask user what about the chosen set of credentials they would like to change
    qprompt.alert("HINT: Use '?' for a list of options")
    selection = qprompt.ask_str("Edit",
                                valid=["website", "username", "password"])
    if selection.lower() == "website":
        new = qprompt.ask_str("Enter new value")
        cur.execute(
            "UPDATE passwords SET WEBSITE = '{}' WHERE ID = '{}'".format(
                new, ID))  #updates record with new info
    elif selection.lower() == "username":
        new = qprompt.ask_str("Enter new value")
        cur.execute(
            "UPDATE passwords SET USERNAME = '******' WHERE ID = '{}'".format(
                new, ID))
    elif selection.lower() == "password":
        new = qprompt.ask_str("Enter new value")
        cur.execute(
            "UPDATE passwords SET PASSWORD = '******' WHERE ID = '{}'".format(
                new, ID))
    conn.commit()
    cur.close()
    mainMenu()
Пример #19
0
def edit_dial(dial):
    global config

    bank = int((dial - 1) / _DIALS)
    subdial = dial - (_DIALS * bank) - 1

    menu = qprompt.Menu()
    for x, y in Dial.type.subcon.ksymapping.items():
        menu.add(str(x), y)
        if config[2][bank][subdial]['type'] == y:
            dft = str(x)
    dtype = int(
        menu.show(hdr="Dial %d (Bank %s-%d):" %
                  (dial, chr(65 + bank), subdial + 1),
                  msg="Type",
                  dft=dft))
    config[2][bank][subdial]['type'] = dtype

    config[2][bank][subdial]['channel'] = \
        qprompt.ask_int("Channel", vld=list(range(0,17)),
            dft=config[2][bank][subdial]['channel'])

    if dtype == 0 or dtype == 3:  # CC or ID2
        config[2][bank][subdial]['midicc'] = \
            qprompt.ask_int("MidiCC", vld=list(range(0,128)),
                dft=config[2][bank][subdial]['midicc'])

    if dtype == 0 or dtype == 1:  # CC or AT
        config[2][bank][subdial]['min'] = \
            qprompt.ask_int("Min", vld=list(range(0,128)),
                dft=config[2][bank][subdial]['min'])
        config[2][bank][subdial]['max'] = \
            qprompt.ask_int("Max", vld=list(range(0,128)),
                dft=config[2][bank][subdial]['max'])

    if dtype == 2:  # ID1
        config[2][bank][subdial]['msb'] = \
            qprompt.ask_int("MSB", vld=list(range(0,128)),
                dft=config[2][bank][subdial]['msb'])
        config[2][bank][subdial]['lsb'] = \
            qprompt.ask_int("LSB", vld=list(range(0,128)),
                dft=config[2][bank][subdial]['lsb'])
        config[2][bank][subdial]['value'] = \
            qprompt.ask_int("Value", vld=list(range(0,128)),
                dft=config[2][bank][subdial]['value'])
Пример #20
0
def delPass():
    global pragma_input
    conn = sqlcipher.connect('.passman.db')
    cur = conn.cursor()
    cur.execute(pragma_input)
    print(pd.read_sql_query("SELECT * FROM passwords", conn))
    print("Select the ID of the credentials you wish to DELETE.")
    selection = qprompt.ask_int("ID")
    confirm = qprompt.ask_yesno(default="y")
    if confirm == False:
        print("Credential removal has been CANCELLED!")
        print()
        retry = qprompt.ask_yesno("Retry?", default="y")
        if retry == True:
            delPass()
        else:
            mainMenu()
    else:
        cur.execute("DELETE FROM passwords WHERE ID = '{}'".format(selection))
        print("Credentials deleted successfully!")
    conn.commit()
    cur.close()
    qprompt.pause()
    mainMenu()
Пример #21
0
    def test_int_1(test):
        setinput("2")
        result = ask_int()
        test.assertEqual(2, result)

        setinput("2f\n3")
        result = ask_int()
        test.assertEqual(3, result)

        setinput("\n")
        result = ask_int(dft=4)
        test.assertEqual(4, result)

        setinput("\n3")
        result = ask_int()
        test.assertEqual(3, result)

        setinput("2\n3")
        result = ask_int(vld=3)
        test.assertEqual(3, result)

        setinput("2\n3")
        result = ask_int(vld=lambda x: 3 == x)
        test.assertEqual(3, result)
Пример #22
0
    def test_int_1(self):
        setinput("2")
        result = ask_int()
        self.assertEqual(2, result)

        setinput("2f\n3")
        result = ask_int()
        self.assertEqual(3, result)

        setinput("\n")
        result = ask_int(dft=4)
        self.assertEqual(4, result)

        setinput("\n3")
        result = ask_int()
        self.assertEqual(3, result)

        setinput("2\n3")
        result = ask_int(vld=3)
        self.assertEqual(3, result)

        setinput("2\n3")
        result = ask_int(vld=lambda x: x == 3)
        self.assertEqual(3, result)
Пример #23
0
def edit_scale(pad, verbose):
    global config

    rbank = int((pad - 1) / _PADS)
    rsubpad = pad - (_PADS * rbank) - 1

    ptype = config[1][rbank][rsubpad]['type']
    if ptype == "BANK":
        qprompt.error("Pad %d (Bank %s-%d) is configured as a BANK" %
                      (pad, chr(65 + rbank), rsubpad + 1))
        return

    menu = qprompt.Menu()
    x = 0
    for y in Scale._SCALE_PATTERNS:
        menu.add(str(x), y)
        x = x + 1
    stype = menu.show(hdr="Pad %d (Bank %s-%d):" %
                      (pad, chr(65 + rbank), rsubpad + 1),
                      msg="Scale",
                      returns="desc")

    root = qprompt.ask_int("Note",
                           vld=list(range(0, 128)),
                           dft=config[1][rbank][rsubpad]['note'])

    count = qprompt.ask_int("Count",
                            vld=[0] + list(range(1, _PTOTAL + 2 - pad)),
                            dft=0)

    same = qprompt.ask_yesno(msg="Config all as per Pad %d?" % pad, dft='N')

    scale = Scale.build_scale(Note.from_midi_num(root), stype)
    scale_lst = []
    for note in scale:
        scale_lst.append(note.midi_note_number())

    if count:
        while len(scale_lst) < count:
            root = scale_lst.pop()
            scale = Scale.build_scale(Note.from_midi_num(root), stype)
            for note in scale:
                scale_lst.append(note.midi_note_number())
    else:
        count = len(scale_lst)
        if pad + count > _PTOTAL:
            count = _PTOTAL + 1 - pad

    for note in scale_lst[:count]:
        bank = int((pad - 1) / _PADS)
        subpad = pad - (_PADS * bank) - 1

        if same and ptype == "NOTE":
            config[1][bank][subpad]['type'] = config[1][rbank][rsubpad]['type']
            config[1][bank][subpad]['channel'] = config[1][rbank][rsubpad][
                'channel']
            config[1][bank][subpad]['trigger'] = config[1][rbank][rsubpad][
                'trigger']
            config[1][bank][subpad]['aftertouch'] = config[1][rbank][rsubpad][
                'aftertouch']

        if same and ptype == "PROG":
            config[1][bank][subpad]['type'] = config[1][rbank][rsubpad]['type']
            config[1][bank][subpad]['channel'] = config[1][rbank][rsubpad][
                'channel']

        if ptype == "NOTE":
            config[1][bank][subpad]['note'] = note
        else:
            config[1][bank][subpad]['program'] = note

        if verbose:
            print("Setting Pad %d (Bank %s-%d) to %d (%s)" %
                  (pad, chr(65 + bank), subpad + 1, note,
                   Note.from_midi_num(note)))
        pad = pad + 1
Пример #24
0
def edit_scale(pad, verbose):
    global config

    rbank = int((pad - 1) / _PADS)
    rsubpad = pad - (_PADS * rbank) - 1

    menu = qprompt.Menu()
    menu.add("0", "Note")
    menu.add("1", "Midi-CC")
    menu.add("2", "Program")
    ptype = menu.show(msg="Apply Scale to:", returns="desc", dft="0")

    menu = qprompt.Menu()
    x = 0
    for y in Scale._SCALE_PATTERNS:
        menu.add(str(x), y)
        x = x + 1
    stype = menu.show(hdr="Pad %d (Bank %s-%d):" %
                      (pad, chr(65 + rbank), rsubpad + 1),
                      msg="Scale",
                      returns="desc")

    same = None
    if ptype == "Note":
        root = qprompt.ask_int("Note",
                               vld=list(range(0, 128)),
                               dft=config[1][rbank][rsubpad]['note'])

        same = qprompt.ask_yesno(msg="Config all as per Pad %d?" % pad,
                                 dft='N')
    elif ptype == "Midi-CC":
        root = qprompt.ask_int("Midi-CC Value",
                               vld=list(range(0, 128)),
                               dft=config[1][rbank][rsubpad]['midicc'])
    else:
        root = qprompt.ask_int("Program Value",
                               vld=list(range(0, 128)),
                               dft=config[1][rbank][rsubpad]['prog'])

    count = qprompt.ask_int("Count",
                            vld=[0] + list(range(1, _PTOTAL + 2 - pad)),
                            dft=0)

    scale = Scale.build_scale(Note.from_midi_num(root), stype)
    scale_lst = []
    for note in scale:
        scale_lst.append(note.midi_note_number())

    if count:
        while len(scale_lst) < count:
            root = scale_lst.pop()
            scale = Scale.build_scale(Note.from_midi_num(root), stype)
            for note in scale:
                scale_lst.append(note.midi_note_number())
    else:
        count = len(scale_lst)
        if pad + count > _PTOTAL:
            count = _PTOTAL + 1 - pad

    for note in scale_lst[:count]:
        bank = int((pad - 1) / _PADS)
        subpad = pad - (_PADS * bank) - 1

        if same and ptype == "Note":
            config[1][bank][subpad]['trigger'] = config[1][rbank][rsubpad][
                'trigger']

        if ptype == "Note":
            config[1][bank][subpad]['note'] = note
        elif ptype == "Midi-CC":
            config[1][bank][subpad]['midicc'] = note
        else:
            config[1][bank][subpad]['prog'] = note

        if verbose:
            print("Setting Pad %d (Bank %s-%d) to %d (%s)" %
                  (pad, chr(65 + bank), subpad + 1, note,
                   Note.from_midi_num(note)))
        pad = pad + 1
Пример #25
0
from TwoThree import TwoThree
from jikanpy import Jikan
from AVL import AVL
from ABB import ABB
import qprompt

jikan = Jikan()
# action = jikan.genre(type='anime', genre_id=43)
#Numero maximo de genero: 43

genre = qprompt.ask_int("Ingrese el ID del genero que desea ver")
if genre in range(1, 44):

    data = jikan.genre(type='anime', genre_id=genre)

    while True:
        qprompt.echo("Genero seleccionado: {}\n".format(
            data["mal_url"]["name"]))
        menu = qprompt.Menu()
        menu.add("A", "ABB")
        menu.add("B", "AVL")
        menu.add("C", "2-3")
        menu.add("D", "Salir")
        qprompt.echo("Elija en que estructura desea guardar la información")
        choice = menu.show()
        if choice == "A":
            info = ABB(data["mal_url"]["name"], data["anime"])
        elif choice == "B":
            info = AVL(data["mal_url"]["name"], data["anime"])
        elif choice == "C":
            info = TwoThree(data["mal_url"]["name"], data["anime"])
Пример #26
0
import qprompt
name = qprompt.ask_str("Name", blk=False)
age = qprompt.ask_int("Age", vld=range(130))
if qprompt.ask_yesno("Say hello?", dft="y"):
    print("Hi %s! You are %u years old!" % (name, age))
    qprompt.pause()
Пример #27
0
import os
import qprompt
path = qprompt.ask_str("Enter path to file", vld=lambda x: os.path.isfile(x))
size = qprompt.ask_int("Enter number less than 10", vld=lambda x: x < 10)
Пример #28
0
def mouth_mover():
    times = qprompt.ask_int()
    MovementAccess.chatter_mouth(times)