• Click here for a list of all my projects.
  • Click here for Touchlib info. Source code here.
  • Click here for our multitouch community site.

Wednesday, February 27, 2008

Touchlib svn updates

I added a new class meant to replace the old RotatableScalable. It inherits from Multitouchable. The new class is called Physical and it provides more realistic behavior for dragging / rotation / scaling. I updated the Photo app with this class and overall I think it's less glitchy and more interesting to interact with. It's more like if you were manipulating a real piece of paper. Extending Physical and Multitouchable should make it easy to write your own widgets and applications and allow easy access to the multitouch information and basic gestures.

Monday, February 25, 2008

Genome Work Log

  • Finished re-coding the network module in Juce. Basic tests indicate that it is working ok, but more in depth testing will have to wait until I finish re-adding the gui elements to support it (doing that next). Unit tests for this module would be really useful.
  • Coded a 'ChatWindow' component. Basic IRC-style chatting is working. In the future I will expand it to allow for different text colors and graphics.
  • misc fixes
  • overall the network aspect I think is going to be the 'killer app' for genome. I am excited to see it up and running again.

Labels:

Touchlib svn updates


I added a new Flash application to touchlib. It's a game called Pegs and it uses the great Box2d physics engine. There's really nothing about it that leverages the fact that it's multitouch, but it's fun. I think Box2d could be a nice platform for writing simple games. Check out Pegs for examples on how to do basic things like collision detection and using Sprites in place of the simple wireframes. The PhysicsCanvas class should be your basis for multitouchable physics apps. I will be adding additional features to it as needed. For now, you can override it's methods to get a working physics system with very little work.
I also added a basic demo of Box2d physics with touchlib support. You can grab and manipulate multiple shapes at once. Nui (chris moore) is reportedly working on an update to that with the rest of the Box2d demos. It's called Phys1 in the AS3\src directory. Code is in AS3\app\demos\Phys\, if my memory serves me.

Labels: ,

Saturday, February 23, 2008

Genome Work Log

  • Successfully converted all std::string references to Juce String's. It generally went really smoothly ( thanks to the fact that juce's String works pretty similarly ), even though hundreds of changes were necessary. Code is a lot cleaner now since I could remove references to string conversion and tokenizer classes that are no longer needed thanks to Juce. Having unit tests really helped catch and resolve bugs introduced by the change quickly. Hopefully I can take the time to write some unit tests for the network module (see below)
  • Converted my existing streaming classes to Juce MemoryOutputStreams. This was also a pretty big change (affecting every module), but also made easy thanks to the fact that juce's streams work almost exactly the same.
  • With these two changes I am almost completely free of other dependencies.
  • Next up: re-writing the Network module using juce's network classes. Hoping to have this done this weekend.
  • Big outstanding items after Network: OSC Control. Automation. Control surfaces.

Monday, February 18, 2008

Genome Work Log

  • added track delete
  • started converting the last external dependencies to Juce classes. Also working on converting all std::string's to Juce Strings. Should take a few days but when I'm done I should have an application that compiles on Mac, Linux and PC with no major changes (since I'm using Juce for everything..).

Labels:

Saturday, February 16, 2008

Genome Work Log

Refactored some stuff with the main song view to separate the track info area (so it scrolls properly now). I thought I would have to do some tricky component juggling to get the pattern selector to appear over top of the song tracks but it turns out that Juce already has a really easy solution - I just used 'addToDesktop' which basically moves the component into a top level window. This is what is used for the popup menus and tooltips. That's the nice thing about Juce - the base Component class already has almost every feature you could possibly dream of built in and ready to use in an easy manner.

Labels:

Sunday, February 10, 2008

Genome Work Log



  • Added mute / solo buttons
  • made track names renameable
  • added ability to delete patterns

Labels:

Saturday, February 09, 2008

Genome Work Log

  • added pattern selector.
  • added colors for patterns
  • section 'cue' working minimally now
  • clicking a marker sets the playhead to the start of it
(still haven't put any work into prettying things up yet ;)

Labels:

Sunday, February 03, 2008

Genome Work Log


  • Added timeline
  • Added ability to create, rename and move Markers on the timeline
  • started work on pattern selector

Friday, February 01, 2008

Collection of nice Flash libraries for AS3

Here's a nice resource for Flash 9 developers:

http://nuigroup.com/forums/viewthread/582/