#python-lux
<--| mlegrand has left #python-lux
=-= Mode #python-lux -s+tc by ChanServ
<Larky> so, whos excited about Lux?
<xelapond> Me!
-->| mlegrand (n=mlegrand@c-67-166-95-145.hsd1.wa.comcast.net) has joined #python-lux
<xelapond> OK, I registered this as a channel
<Bushman> literaly
<xelapond> We can keep it open and use it to discuss python-lux
<Larky> cant wait, Windows is really bugging me
<xelapond> Larky: Why are you using windows?
<Larky> Not sure! Because Touchlib is compiled on it and it works well with flash
-->| nuiman (n=nuiman@c-76-126-161-90.hsd1.ca.comcast.net) has joined #python-lux
<xelapond> Hi nuiman
<nuiman> wow :)
<xelapond> we got pretty good turnout, I would say
<nuiman> amazing turn-out considering we announced like 3 hours ago hah
<xelapond> *pokes* wybiral yeah
<nuiman> thats cause python rulz :P
<xelapond> indeed
<Larky> and heres me learning Obj-C
<xelapond> Python is better...
<Bushman> nuiman: RUN!!! its a trap to chat with you!!!
<nuiman> lol So... we all here? wybiral?
<Larky> Im so new to anything other than AS3, and Im no coder, so Im happy to try everything
<xelapond> wybiral should be here
<nuiman> @larky... python is one of easiest languages to learn :)
<xelapond> Larky: Good, we will let you know when we have something
<nuiman> and def the fastest to type :P
<Larky> ok, Im sold
<xelapond> and, we appriciate all imput, regardless of whether you code or not, lol, so now we just wait for wybiral to wake up
<nuiman> kk if not well start without him
<xelapond> nuiman: You wanna start by explaining what Lux does and Does not do?
<wybiral> OK :)
<xelapond> Hi
<wybiral> Hey
<nuiman> ok second let me show
-->| ole_andreas86 (n=ole_andr@ti500710a340-0360.bb.online.no) has joined #python-lux
<lnostdal> jørs .. heia norge .. .. (sorry about the Norwegian; just temporary :P)
<ole_andreas86> :o more norwegians here?
<lnostdal> heh, dont know :)
<nuiman> http://lux.nuigroup.com/tmp/nui_framework.jpg that is horribly out dated... but i will publish a newer one soon enough
<xelapond> ah, love it when firefox freezes and _just_ the wrong moment sec...
<nuiman> goal of lux is to make a cross platform / cross language framework built arround emerging input techniques...
obv first focused on touch so we have a c/c++ application named "Community Core"... this is where all computer
vision will take place it is the replacement for touchlib... mainly because its already running cross-platform
<Larky> and can we assume is faster?
<nuiman> of course :)
<xelapond> Is it based on the old touchlib code?
<nuiman> esp once we finish some GPUCV module
<xelapond> Ooh...
<nuiman> some touchlib code yes but majority no... for example rewrote tracking algo main thing tho is it has friendly
UI and is MUCH easier to deploy then touchlib (even on win)
<xelapond> cool
<Larky> sounds good so far
<xelapond> Can we get it in some Linux Distro packages managers(apt, portage, pacman)
<Larky> so, on release which languages wil be supported?
<wybiral> Whats the role of Python in this? Just interfacing with the library?
<Larky> i.e. will we be using AS3 or Python or something else? Or will it be cross dev
<nuiman> cross dev
<Larky> you guys rock
<nuiman> @wybiral... python is going to be the "client" .. side
<xelapond> so then Lux is what creates the pretty graphics, and is all written in Pyhton?
<nuiman> yap
<Larky> ahh, so I DO need to learn Python now!
<xelapond> so, is lux like any modern GUI framework? it provides prewritten widgets we can use in our programs?
<nuiman> right now for some obvious reason we choose AS3 to prototype the majority of the framework... and we
look slowly to have it 100% on AS3/C#/Python... Obj-C, exactly xela
<xelapond> ok cool
<nuiman> aswell as a easy starting point for newbs
<xelapond> yeah
<Larky> ok, so on release or pre-release it will output to flash? then eventually on later releases it will talk to the rest?
<nuiman> mainly good examples...sec larky
<Larky> so, I guess, in plain English what a lot of us want to know is when we get our hands on Lux, can we use the AS3
code we have written already? Will we have to run Flosc still, or will Lux take care of that? ok, Ill stop. :)
<nuiman> Well with Flash 10 you dont need FLOSC and everything else supports UDP as it should
<xelapond> Larky, this channel is Python-Lux, not #lux:P
<nuiman> python/C#/C++ etc
<xelapond> I have a similar question for python though
<Larky> Sorry, just curious.
<xelapond> np So, will it use some prewritten touchlib binding(like touchpy) or does it provide its own?
<nuiman> So in python what we look to built is a simple taskmanagment system... in which you can load XML data that holds
objects ... canvas... elements... or even other tasks we will start with a pre-existing TUIO parser
<xelapond> You mean write the program in Python, then lay out the elements with an XML file?
<nuiman> yes
<xelapond> ok cool
<nuiman> quick explaination of naming schema atm
<xelapond> wybiral: could we use prettySoup(or whatever its called) for that?
<nuiman> Objects (think real-life object like magazine) currently we have
=== test is online.
<nuiman> VideoObject, AudioObject, TextObject, KeyboardObject... bleh bleh
<wybiral> For proper XML, I would use ElementTree (BeautifulSoup for HTML and improper XML)
<nuiman> Elements... are interactive components... think buttons... sliders... knobs...
<xelapond> wybiral: ok, Ill have to read up on that
nuiman: so what are those first objects you listed just hold a video, or a sound file? So we can put them in a gui element(like a button)?
<nuiman> well a button (element) would be clicked to load a video or image in as3 for example i have
var tmpVideo = new VideoObject(path, var); luckily we have AS3 and good start on C++ but other languages are def going to
be tricky to implement fully
<xelapond> So VIdeoObject is not an element, but a container for a video you would play at some time?
<nuiman> for example we will need similar foundation that flash has for it to work :(
<xelapond> You mean like FLOSC?
<nuiman> no FLOSC.. but flash has a good foundation for dealing with media... xml... web based loading etc
<xelapond> oh Python has stuff like that
<mlegrand> more like mxml?
<xelapond> PyGlet, ElementTree, DJango
<nuiman> @xela yes
<xelapond> Why do we need web based loading though?
<nuiman> putting them all together tho
<xelapond> nuiman: Well, thats the point of writing a program, and the fun part:)
<nuiman> def :) web based loading is somewhat important.. but less initially
<xelapond> what for?
<nuiman> hah to load content from web :P e.g. flirkr
<xelapond> oh, I thought you meant run app on the web embedded in a website thats also easy
<nuiman> ahh no no
<xelapond> I think there is a Python flickr binding, and if there isnt there is always socket and urllib2
<nuiman> yea urllib
<xelapond> so, Do you have a list of all the elements and there function? so we know what do code?
<nuiman> yap :)
<xelapond> Great!:) Where is it?
<nuiman> grr its on my macbook @ office
<xelapond> oh
<nuiman> i can post tomm after some rest
<xelapond> np, we have other matters to discuss
<nuiman> yes mainly we need to create a good foundation that offers similar features to AS3
<xelapond> so, We would need a Python GUI binding to handly openGL I vote PyGlet
wybiral: Your thoughts?
<nuiman> for example... a TextObject('string',extra vars... )
<xelapond> How is a text object any different then a string?
<nuiman> because its UI
<xelapond> Oh, so it contains font, size, text?
<nuiman> it acts just like a photo does
<xelapond> that kinda stuff? Oh, its an actual element?
<nuiman> yea majority of Objects act like the traditional multitouch photo-app
<xelapond> ok, thats good it works well that way
<nuiman> yea right now we have about 25 objects.. written and about 20 on paper to do yet
<xelapond> So in AS3 obviously using Flash to handle graphics, in Python we would use openGL?
<nuiman> yes
<xelapond> ok, PyGlet seems suited then
<nuiman> *googles*
<xelapond> PyGame is probably too high level
wybiral: You there? this is where we need your input:) (and code:P)
<nuiman> heh
<wybiral> The last time I looked at PyGlet it seemed a little young But I dont know... Its been a while
<xelapond> I have been using it, its pretty stable in my opinion I havnt done anything large with it though
PyOpenGL?
<nuiman> does anyone know if anyone has made a basic MT photo app in python?... with good rotate/scale transformation etc
<xelapond> I did I never finished it and the codebase is really crappy(didnt know much python at the time) I never got zooming
<wybiral> PyOpenGL + PyGame is pretty good. I dont know what all this project is going to require so I cant really say
<xelapond> and the rotation I did get did not work at all PyGame would probably work
<nuiman> well i know we have a good TUIO parser so thats a good start
<xelapond> does it support Full screen and anti-aliasing?
<wybiral> PyGame can be used with OpenGL
<xelapond> nuiman: Have you seen TouchPy?
<nuiman> ohh very important matter... is there an event library for python?
<wybiral> Event library?
<xelapond> ?
<wybiral> Like SDL?
<xelapond> PySDL? hehe PyGlet has one
<wybiral> (if so, then yes, thats what PyGame is for)
<nuiman> well in AS3 and C#/C++ we have schema like
<xelapond> I would imagine any GUI Binding does
<nuiman> *draw rectangle* rectangle.addEventListener(method,...); etc grr sry
<wybiral> Oh, then no. Not in PyGame or OpenGL. You mean callbacks, right?
<nuiman> rect.addEventListener(TouchEvent, method to call): yap callbacks
<xelapond> Oh, callbacks Language gap...
<nuiman> yea... how could we do equivilant tho?
<xelapond> Decorators?
<nuiman> have buttons listening for touch events etc
<wybiral> PyGlet might be the better option
<xelapond> well, we need a way to parse the touches then figure out what its touching I assume there is a better way then
iterating all the elemants and checking for contact:P Like I did with my pic app
<wybiral> lol, yeah, Im guessing you would want to use some kind of partitioning
<xelapond> isnt that like string.split(Char)?
<wybiral> Callbacks could be implemented. I still dont know how any of this is going to work though (how does Python know
that a touch exists and where, so on...)
<xelapond> wybiral: nuiman: Look up touchpy its on Google COde
<nuiman> yea i have used it
<xelapond> would that work?
<nuiman> thats our TUIO parser
<xelapond> for the backend? oh, ok I thought you meant PyLiblo
<nuiman> yea its a great start.. http://www.pythonware.com/library/tkinter/introduction/events-and-bindings.htm
<wybiral> Hmm, me not having any touch devices would make testing difficult :/
<nuiman> you can use the simulator
<wybiral> Simulator?
<Larky> I can help with that, I reckon my new portable system will be ready within 4 weeks for mass production...
<xelapond> wybiral: Yeah, there is one TUIO Simulator google it
wybiral: Or, you could make an MTmini in 5 minutes or less http://ssandler.wordpress.com/MTmini/
simulator: http://reactable.iua.upf.edu/?software
<nuiman> @wybiral TUIO Simulator just allows you create psuedo touch input... with mouse... and keyboard
<xelapond> It gerates the same messages that TouchLib generators
<wybiral> Oh, cool
<xelapond> TouchLib(incase you havnt figures it out) is what processes the webcam data
<nuiman> http://nui.mine.nu/tbeta2.jpg http://nui.mine.nu/tbeta.jpg some older shots of new vision tracking app
<xelapond> Cool, when will it be done?
<nuiman> aiming end of july
<xelapond> ok cool
<nuiman> thats main reason lux is delayed :(
<xelapond> oh so, Tomorrow you can post the Object List?
<nuiman> yea
<xelapond> ok Until then I can read up on ElemenTree
<nuiman> kk yea no rush really :)
<xelapond> yeah, But I want to get it working Whos gonna be coding it? Ill help
<nuiman> on main idea behind lux tho is get good UI designers into the door with Flash... and if they wish they can go deeper into
C++/python/obj-c....
<xelapond> anyone else? yeah, but it also makes a plain good GUI framework
<nuiman> if they just stay in flash... we get their ideas and slowly port to faster languages
<xelapond> yeah
<nuiman> yea xela it is basically a GUI library... but built arround emerging input (touch/voice/pen...etc)
<Larky> Im happy to give out a thousand and one ideas UI/design/art is my job
<xelapond> yeah
Larky: That could be useful, I suck in a graphics program
<nuiman> thats why it will work :P graphic guys can stay in flash
<xelapond> yeah
<nuiman> code guys in c++
<xelapond> and Python
<Larky> nah, Im learning Python and getting faster apps
<xelapond> we are just Civil code guys:) oh, and sane:)
Larky: Thats good, but we will need a graphics person
<nuiman> yap :) and all we need is a framework that is somewhat similar so people can choose their flavor
<xelapond> yeah its a great idea cant wait to get to work on it
<nuiman> right now my main focus is AS3 to C++
<xelapond> Ill maintain the Python fork if you want
<nuiman> could really use the help hah very big project hah
<xelapond> Im not working on any other big projects right now
<nuiman> you just wait till you see the community core :)
<xelapond> (besides a sea glider, but thats with a big group of people)
<nuiman> finger/hand/eye... fidicual tracking ... voice recognition... bluetooth... usb.. serial we look to HUB a bunch of sensor data
pretty simple really
<xelapond> Will community core be compatable with touchlib? so if we write Python Lux with touchlib as a tesing agent we wont have
to rewrite anything?
<nuiman> but i want 30 sensors :P
<Larky> fiducial is crucial - that is true and rhymes, which is nice
<xelapond>&