Beispiel #1
0
def overwrite(device, project):
    # prompt full save/ARE YOU SURE ABOUT THAT?
    prompt = Menu("Are you sure about that?", [("yes", nothing),
                                               ("no", nothing)])
    sure = device.dispMenu(prompt, 1)

    if sure == "no":
        return False

    if is_connected():

        savdir = path.join(homedir, "projects", project)
        # mkdir(newdir)

        mounted = mountdevice()
        if not mounted:
            device.dispError(["Dear OP-1,", "Where Art Thou"])
            return False

        # device.dispProgress("saving Tape...", 0)
        # copy_and_overwrite("/media/op1/tape", savdir+"tape")

        # device.dispProgress("saving Synth...", 0.6)
        # copy_and_overwrite("/media/op1/synth/user", savdir+"synth/user")

        # device.dispProgress("saving Drums...", 0.8)
        # copy_and_overwrite("/media/op1/drum/user", savdir+"drum/user")
        device.dispProgress("saving Tape...", 0)
        tapeDir = path.join(op1path, "tape")
        for i, tape in enumerate(os.listdir(tapeDir)):
            copy_and_overwrite(path.join(tapeDir, tape),
                               path.join(savdir, "tape", tape))
            device.dispProgress("saving Tape...", 0.2 * i)

        device.dispProgress("saving Synth...", 0.8)
        synthDir = path.join(op1path, "synth", "user")
        for i, synth in enumerate(os.listdir(synthDir)):
            copy_and_overwrite(path.join(synthDir, synth),
                               path.join(savdir, "synth", "user", synth))

        device.dispProgress("saving Drums...", 0.9)
        drumDir = path.join(op1path, "drum", "user")
        for i, drum in enumerate(os.listdir(drumDir)):
            copy_and_overwrite(path.join(drumDir, drum),
                               path.join(savdir, "drum", "user", drum))

        print("copy abgeschlossen")

        unmounted = unmountdevice()
        if not unmounted:
            device.dispError(["unmount failed", "RIP in Pepperoni"])
            return False

        device.dispProgress("successfully saved", 1)
        time.sleep(0.5)
        return True
    else:
        device.dispError(["404", "OP-1 not found"])
        return False
Beispiel #2
0
def wifiSettings(device: Device, val):
    menu = Menu(
        "Wi-Fi",
        [
            ("connect to new network", wifiConnect),
            ("connect to saved network", nothing),
        ],
    )
    device.dispMenu(menu)
Beispiel #3
0
 def makeFileBrowser(self):
     directoryList = [("..", self.changeDir)]
     directoryList.extend(
         [
             (x.basename, self.changeDir)
             for x in self.f.dirs
             if not x.basename.startswith(".")
         ]
     )
     directoryList.extend([(x.basename, self.nothing) for x in self.f.files])
     fileMenu = Menu(self.f.path, directoryList)
     self.device.dispMenu(fileMenu)
Beispiel #4
0
def saveCaller(device, val):

    directory = homedir + "/projects/"
    projects = []

    for filename in os.listdir(directory):

        projects.append(filename)

    projects.sort()

    save = Menu("Save Project",
                [("NEW PROJECT", saveNew)] + [(p, overwrite)
                                              for p in projects])
    device.dispMenu(save)
Beispiel #5
0
def load(device, project):
    prompt = Menu("Are you sure about that?", [("yes", nothing),
                                               ("no", nothing)])
    sure = device.dispMenu(prompt, 1)
    if sure == "no":
        return False

    if is_connected():

        loaddir = path.join(homedir, "projects", project)
        # mkdir(newdir)

        mounted = mountdevice()
        if not mounted:
            device.dispError(["Dear OP-1,", "Where Art Thou"])
            return False

        device.dispProgress("loading Tape...", 0)

        for i, tape in enumerate(os.listdir(path.join(loaddir, "tape"))):
            copy_and_overwrite(path.join(loaddir, "tape", tape),
                               path.join(op1path, "tape", tape))
            device.dispProgress("loading Tape...", 0.2 * i)

        # device.dispProgress("loading Synth...", 0.8)
        # for i, synth in enumerate(os.listdir(loaddir+"synth/user/")):
        #     copy_and_overwrite(loaddir+"synth/user/"+synth, "/media/op1/synth/user/"+synth)

        # device.dispProgress("loading Drums...", 0.9)
        # for i, drum in enumerate(os.listdir(loaddir+"drum/user/")):
        #     copy_and_overwrite(loaddir+"drum/user/"+drum, "/media/op1/drum/user/"+drum)

        print("load abgeschlossen")

        unmounted = unmountdevice()
        if not unmounted:
            device.dispError(["unmount failed", "RIP in Pepperoni"])
            return False

        device.dispProgress("successfully loaded", 1)
        time.sleep(0.5)
        return True
    else:
        device.dispError(["404", " OP-1 not found"])
        return False
Beispiel #6
0
def samplepackCaller(device, val):

    directory = homedir + "/samplepacks/"
    samplepacks = []

    for filename in os.listdir(directory):

        samplepacks.append(filename)

    samplepacks.sort()
    if len(samplepacks) == 0:
        samplepacks.append("no samplepacks found")
        actions = [nothing]
    else:
        actions = [load] * len(samplepacks)

    samples = Menu("Samplepacks", zip(samplepacks, actions))
    device.dispMenu(samples)
Beispiel #7
0
def loadCaller(device, val):

    directory = homedir + "/projects/"
    projects = []

    for filename in os.listdir(directory):

        projects.append(filename)

    projects.sort()

    if len(projects) == 0:
        projects.append("no projects found", nothing)
    else:
        projects = [(p, load) for p in projects]

    print(projects)
    loadM = Menu("Load Project", projects)
    device.dispMenu(loadM)
Beispiel #8
0
def settings(device: Device, val):
    menu = Menu("Settings", [("Wi-Fi", wifiSettings), ("Bluetooth", nothing)])
    device.dispMenu(menu)
Beispiel #9
0
def wifiConnect(device: Device, val):
    networks = scanNetworks()
    networkList = [(c.ssid, connectToNetwork, [c]) for c in networks]
    menu = Menu("Connect to Network", networkList, True)
    device.dispMenu(menu)
Beispiel #10
0
def opc(device, val):

    main = Menu("OP-1 Companion", [("save project", saveCaller),
                                   ("load project", loadCaller)])
    device.dispMenu(main)