Stap 7: Stap 6: Patchbay
Er zijn veel verschillende manieren om het gebruik van python met pd, pyext, pyata en de pd netsend/netrecieve. We gonna functie netsend in pd en een python bibliotheek genaamd patchbay om verbinding mee te maken. Patchbay kan hier worden gevonden: https://github.com/hyrfilm/patchbay
Ga je gang en plaats de patchbay.py bestand in de map met het bestand pd en dan gaan we in de pd netsend functionaliteit toevoegen en maak een python-bestand om te lezen van de pd-waarden.
Beginnen met de python we gonna volgen van het voorbeeld voor patchbay.
Beginnen met importeren voor patchbay: "van patchbay import create_remot_patch, Trigger, schuifregelaar"
Vervolgens gaan we aan te roepen wanneer een waarde wordt ontvangen van pd een functie maken.
"def trigger_func(): waarde = float(frequency.value) * 10 print(value)"
Dan de functie aan te roepen we een object voor patchbay creëren moeten: "patch = create_remote_patch(use_udp=False)"
dan luisteren naar pony en de frequentie op te halen: "patch.bind (kanaal = 1, event_handler=Trigger(trigger_func)) frequentie = patch.bind (kanaal = 2, event_handler=Slider())"
laatst gaan we een lus worden uitgevoerd zodat het voortdurend naar pd pony luistert: "terwijl True: patch.route_events()"
Zodra alle voltooid u bent python code in de bovenstaande afbeelding eruit moet.
Nu hebben we de python-code samen te stellen moeten we netsend waarden van pd.
Allereerst het volgende toe te voegen aan uw pd-bestand:
- [sluit localhost 13000 {-Connects aan op de aansluiting
- [metro 10]-pony elke 10 ms
- [Stuur 1 (-stuurt de bang
- [netsend] – stuurt de gegevens over de aansluiting
- [\-Nummer dat wijst op verbinding
- [/ 10] – de frequentie gedeeld door 10 om te passen in de slider 0 – 127 bereik
- Een schuifregelaar geschiedde de waarden
- [Stuur 2 $1 (-stuurt de schuifregelaar waarde als een variabele $1
Sluit deze zoals te zien in de bovenstaande grafiek.
Als u eenmaal zowel het pd bestand en python bestand klaar ga je gang en sluit puredata.
Om de waarden in python de puredata en python moet code in een specifieke volgorde worden uitgevoerd.
Allereerst de python code uitvoert: "sudo python 'mycode'.py"
en zodra u het wachten voor verbinding bericht het pd-bestand openen.
Uw terminal moet nu de frequentie afdrukt.