TechnoTrombone - Trombon handledare med Neopixels (7 / 9 steg)
Steg 7: Steg 6: Patchbay
Det finns många olika sätt att använda python med pd, pyext, pyata och pd's netsend/netrecieve. Vi kommer att använda funktionen netsend i pd och python bibliotek kallas patchbay för att ansluta med den. Patchbay kan hittas här: https://github.com/hyrfilm/patchbay
Gå vidare och placera patchbay.py filen i mappen med filen pd och då kommer vi att lägga till i pd netsend funktionalitet och skapa en python-fil för att läsa de pd-värdena.
Från och med python kommer vi att följa patchbay exempel.
Starta genom att importera patchbay: "från patchbay import create_remot_patch, Trigger, reglaget"
Nästa vi kommer att skapa en funktion att ringa när ett värde tas emot från pd.
"def trigger_func(): värde = float(frequency.value) * 10 print(value)"
Sedan för att anropa funktionen behöver vi skapa ett patchbay objekt: "patch = create_remote_patch(use_udp=False)"
sedan lyssna efter smällar och hämta frekvensen: "patch.bind (kanal = 1, event_handler=Trigger(trigger_func)) frekvens = patch.bind (kanal = 2, event_handler=Slider())"
senast vi kommer köra en slinga så det ständigt lyssnar efter pd lugg: "medan True: patch.route_events()"
När alla slutför du är python-koden ska se ut som bilden ovan.
Nu när vi har python koden sätta ihop måste vi netsend värden från pd.
Starta genom att lägga till följande i filen pd:
- [ansluta localhost 13000 {– ansluts till uttaget
- [metro 10]-Bangs varje 10 ms
- [skicka 1 (-skickar bang
- [netsend] – skickar data över uttaget
- [\-Nummer som anger koppling
- [/ 10] – delar upp frekvensen av 10 att passa i reglaget s 0 – 127 utbud
- Ett reglage att passera värdena
- [skicka 2 $1 (-skickar reglaget värdet som en variabel $1
Anslut den som ses i figuren ovan.
När du har både pd filen och python-fil redo gå vidare och stänga ren data.
För att få värdena i python puredata och python behöver koden som ska köras i en viss ordning.
Starta med python kod: "sudo python"mycode".py"
och när du ser en väntar anslutning budskap öppna filen pd.
Nu din terminal bör skriva ut frekvensen.