import appuifw, e32, graphics, key_codes, socket, OSCmobile
sound = 0
y_pos_contr = 100
slidershaft = graphics.Image.open("e:\\background.jpg")
makeMaskTemp = graphics.Image.open('e:\\controller_mask.jpg')
makeMaskTemp.save("e:\\controller_mask.png", bpp=1)
contrMask = graphics.Image.new(size = (97,149),mode = '1')
contrMask.load("e:\\controller_mask.png")
contr = graphics.Image.open("e:\\controller.jpg")
makeMaskTemp = graphics.Image.open('e:\\button_mask.jpg')
makeMaskTemp.save("e:\\button_mask.png", bpp=1)
buttnMask = graphics.Image.new(size = (111,78),mode = '1')
buttnMask.load("e:\\button_mask.png")
buttnOn = graphics.Image.open("e:\\button_red.jpg")
buttnOff = graphics.Image.open("e:\\button_dark.jpg")
def keys(event):
global y_pos_contr, sound
if event['keycode'] == key_codes.EKeyDownArrow:
if y_pos_contr < 260 :
y_pos_contr = y_pos_contr + 5
sending(str(3))
if event['keycode'] == key_codes.EKeyUpArrow:
if y_pos_contr > 0 :
y_pos_contr = y_pos_contr - 5
sending(str(4))
if event['keycode'] == key_codes.EKeySelect:
if sound == 1:
sound = 0
else:
sound = 1
sending(str(5))
handle_redraw(())
def handle_redraw(rect):
global sound, img, w,h
img.blit(slidershaft, target = (0,0,w,h))
img.blit(contr, target=(142,y_pos_contr), mask=contrMask)
if sound == 1:
img.blit(buttnOn, target=(8,328), mask=buttnMask)
else:
img.blit(buttnOff, target=(8,328), mask=buttnMask)
canvas.blit(img, target = (0,0,w,h), scale = 1 )
def choose_service(services):
names = []
channels = []
for name, channel in services.items():
names.append(name)
channels.append(channel)
index = appuifw.popup_menu(names, u"Choose service")
return channels[index]
def connect():
global sock
address, services = socket.bt_discover()
channel = choose_service(services)
sock = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
sock.connect((address, channel))
def sending(data):
global sock
message = OSCmobile.OSCMessage()
message.setAddress("/phone/user1")
message.append(data)
sock.send(message.getBinary())
def quit():
app_lock.signal()
canvas=appuifw.Canvas(event_callback=keys,redraw_callback=handle_redraw)
appuifw.app.body=canvas
appuifw.app.screen='full'
w, h = canvas.size
img = graphics.Image.new((w,h))
appuifw.app.exit_key_handler=quit
handle_redraw(())
connect()
app_lock = e32.Ao_lock()
app_lock.wait()