示例#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)