Просмотр исходного кода

Now sending OSC messages from slider

master
Pete Shadbolt 10 лет назад
Родитель
Сommit
dd6170ece4
1 измененных файлов: 25 добавлений и 16 удалений
  1. +25
    -16
      osctest.py

+ 25
- 16
osctest.py Просмотреть файл

@@ -1,15 +1,26 @@
from libs.simpleosc import *
import wx

def testosc():
server = OSCServer (("127.0.0.1", 9000))
server.addDefaultHandlers()

initOSCClient(port=9000)
sendOSCMsg("/test", [.1])
closeOSC()

class gui_head(wx.Frame):
class OSCSlider(wx.Panel):
''' A GUI slider '''
def __init__(self, parent, label, min_value=0, max_value=100, default_value=0):
''' Constructor '''
wx.Panel.__init__(self, parent)
sizer=wx.BoxSizer(wx.HORIZONTAL)
self.indicator=wx.StaticText(self, label=label)
sizer.Add(self.indicator, 0, wx.RIGHT, 10)
self.slider=wx.Slider(self, value=default_value, minValue=min_value, maxValue=max_value)
sizer.Add(self.slider, 1, wx.EXPAND)
self.SetSizerAndFit(sizer)
self.slider.Bind(wx.EVT_SCROLL, self.update)

def update(self, evt):
""" Send OSC messages """
value=float(self.slider.GetValue())
sendOSCMsg("/test", [value])


class MainGUI(wx.Frame):
""" A simple GUI to talk to Chuck """
def __init__(self):
""" Constructor """
@@ -26,12 +37,8 @@ class gui_head(wx.Frame):
# The main sizer
self.mainsizer = wx.BoxSizer(wx.HORIZONTAL)

# Bits and pieces
self.status=wx.StaticText(self, label="Parameter", style=wx.ST_NO_AUTORESIZE)
self.mainsizer.Add(self.status, 0)

self.slider=wx.Slider(self, value=0, minValue=0, maxValue=100)
self.mainsizer.Add(self.slider, 1)
self.slider=OSCSlider(self, "Input gain", default_value=50)
self.mainsizer.Add(self.slider, 1, wx.ALL, 5)

# Put things together
self.SetSizerAndFit(self.mainsizer)
@@ -49,4 +56,6 @@ class gui_head(wx.Frame):


if __name__ == "__main__":
gui_head()
initOSCClient(ip="127.0.0.1", port=9000)
g=MainGUI()
closeOSC()

Загрузка…
Отмена
Сохранить