kivy_oscpy
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
kivy_oscpy [2020/11/02 12:49] – [Extrait] serge | kivy_oscpy [2021/08/05 07:30] (Version actuelle) – [Envoi d'un bundle avec un Client] serge | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
<WRAP center round box 60% centeralign> | <WRAP center round box 60% centeralign> | ||
**{{tagpage> | **{{tagpage> | ||
- | **[[http:// | + | **[[http:// |
**[[les_pages_kivy_en_details|Les pages Kivy en détails]]** | **[[les_pages_kivy_en_details|Les pages Kivy en détails]]** | ||
</ | </ | ||
<WRAP center round box 60% centeralign> | <WRAP center round box 60% centeralign> | ||
- | **A modern implementation of OSC for python 3** | + | **A modern implementation of OSC for python 3**\\ |
+ | **C' | ||
</ | </ | ||
Ce package python fait partie du projet Kivy, mais il peut être utilisé indépendamment. | Ce package python fait partie du projet Kivy, mais il peut être utilisé indépendamment. | ||
- | |||
- | **C' | ||
===== Ressources ===== | ===== Ressources ===== | ||
Ligne 26: | Ligne 25: | ||
* **[[https:// | * **[[https:// | ||
- | ====Extrait==== | + | ====Extraits==== |
Il n'est pas possible d' | Il n'est pas possible d' | ||
- | J'ai écrit quelque part que l'OSC ne supporte pas l' | + | J'ai écrit quelque part que l'OSC ne supporte pas l' |
<code python> | <code python> | ||
Ligne 120: | Ligne 119: | ||
</ | </ | ||
+ | =====Bundle===== | ||
+ | |||
+ | ====Envoi d'un bundle avec un Client==== | ||
+ | <code python osc.py> | ||
+ | from oscpy.client import OSCClient | ||
+ | |||
+ | class OscClient: | ||
+ | |||
+ | def __init__(self, | ||
+ | |||
+ | self.ip = kwargs.get(' | ||
+ | self.port = kwargs.get(' | ||
+ | |||
+ | self.client = OSCClient(self.ip, | ||
+ | |||
+ | def send_depth(self, | ||
+ | self.client.send_message(b'/ | ||
+ | |||
+ | def send_bundle(self, | ||
+ | bund = [] | ||
+ | |||
+ | for i, msg in enumerate(messages): | ||
+ | tag = ('/' | ||
+ | print(tag, msg) | ||
+ | bund.append([tag, | ||
+ | |||
+ | self.client.send_bundle(bund) | ||
+ | |||
+ | |||
+ | if __name__ == " | ||
+ | |||
+ | messages = [[3.2, 3, 4], [55.6, 12, 80]] | ||
+ | cli = OscClient(**{' | ||
+ | cli.send_bundle(messages) | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | b'/ | ||
+ | b'/ | ||
+ | </ | ||
+ | ====Réception d'un bundle sur un Server==== | ||
+ | <code python osc_server_test.py> | ||
+ | from time import sleep | ||
+ | from oscpy.server import OSCThreadServer | ||
+ | |||
+ | dico = {} | ||
+ | def on_tag(*args): | ||
+ | print(args) | ||
+ | tag = int(args[0].decode(' | ||
+ | print(tag) | ||
+ | dico[tag] = args[1:] | ||
+ | print(dico) | ||
+ | |||
+ | def default_handler(*args): | ||
+ | print(" | ||
+ | |||
+ | server = OSCThreadServer() | ||
+ | server.listen(b' | ||
+ | server.default_handler = default_handler | ||
+ | |||
+ | for i in range(10): | ||
+ | tag = ('/' | ||
+ | server.bind(tag, | ||
+ | |||
+ | while 1: | ||
+ | sleep(0.1) | ||
+ | |||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | (b'/ | ||
+ | 0 | ||
+ | {0: (3.200000047683716, | ||
+ | (b'/ | ||
+ | 1 | ||
+ | {0: (3.200000047683716, | ||
+ | </ | ||
{{tag> | {{tag> |
kivy_oscpy.1604321358.txt.gz · Dernière modification : 2020/11/02 12:49 de serge