Latest Entries »

Another day, another project

Here’s a sneak peek at my latest project:

FlixVPN

Katapult going iPad

Well, I couldn’t resist it, so here’s a few pics of the first functional version of Katapult for iPad


Expected to be out soon :) More info on the Katapult forums here: http://forum.midikatapult.com/viewtopic.php?f=2&t=104&sid=01cb3bd4f9b82cde1423c460f092622b

If you, like me, have found that Rails 2.3.8 breaks the Internet Explorer detection in ActiveScaffolds active_scaffold_includes, here’s a quick fix for ya :)

In vendor/plugins/active_scaffold/lib/active_scaffold/helpers/view_helpers.rb change the active_scaffold_includes method to read the following:

      # easy way to include ActiveScaffold assets
      def active_scaffold_includes(*args)
        frontend = args.first.is_a?(Symbol) ? args.shift : :default
        options = args.first.is_a?(Hash) ? args.shift : {}
        js = javascript_include_tag(*active_scaffold_javascripts(frontend).push(options))

        css = stylesheet_link_tag(*active_scaffold_stylesheets(frontend).push(options))
        
        ie_css = stylesheet_link_tag(*active_scaffold_ie_stylesheets(frontend).push(options))
        ie = ie_css + "\n" if request.env['HTTP_USER_AGENT'] =~ /MSIE/
        
        js + "\n" + css + "\n" + ie
      end

RunRunners:
    columns:
        run_id:         { type: integer, primary: true }
        runner_id:      { type: integer, primary: true }
    relations:
        Run:
            local:          run_id
            foreign:        id
            foreignAlias:   RunRunners
            onDelete:       CASCADE
        Runner:
            local:          runner_id
            foreign:        id
            foreignAlias:   RunRunners
            onDelete:       CASCADE

Thanks to http://symfony-world.blogspot.com/2010/02/many-to-many-relations-with-on-delete.html

Sometimes you just gotta love man page entries. From the sysstat manpage:


OPTIONS
 -A     This is equivalent to specifying -bBdqrRSuvwWy -I SUM -I XALL -n ALL -u ALL -P ALL.

Undo/redo in the iPad

Apparently the iPad supports the ability to undo and redo text input natively. The feature is activated by shaking the iPad while a tex editing area is active, and up pops this little menu (or rather bounces in from the side).

Neat!

Here it is

Katapult beta 1.02 is out

www.midikatapult.com

The lowdown on Katapult

To recap for people who haven’t been following this from the beginning, Katapult is a mapping application similar to Novations Automap, only much more flexible and feature-packed. With Katapult, you can map up to 16 individual pages of buttons, faders, sliders and indicators (plus more in development) to the Launchpad surface. It’s all in full color glory, and even supports your MIDI software talking back to the Launchpad to update the controls on the Launchpad surface.

So, over the last weeks, a lot have happened with Katapult. Initially, I was thinking it as an open source project, seeking more developers to help completing and testing it. Unfortunately, I wasn’t able to find anyone interested in joining the project. Instead I set out to complete it myself. This has involved a lot of work, but I am very happy to finally be able to say that Katapult is ready for it’s first public beta release. Gone are all of the intricacies with running MIDI through PureData and altering the source code to actually get it running. Katapult is now totally self-contained. It will automatically detect and connect to the Launchpad, and there is now a graphical user interface for selecting what software MIDI ports or devices to connect to. It can be used with Traktor, Logic, GarageBand or even physical synthesizers or devices. Basically, if it speaks MIDI, Katapult loves it. Initially, Mac and Windows builds will be released. The Linux version is untested because I don’t have a Linux driver for the Launchpad yet. When I get the chance to test the Linux build, I will release that as well.

I am currently waiting for the domain name for the website I created for Katapult to become active, which should hopefully happen within a couple of days. As soon as it’s active, Katapult will be available for immediate download for everyone :)

www.midikatapult.com

The source for Katapult, in an early, but working state is now up on Google Code. Check out the Katapult page for more details.

Katapult update

Update: All the source, plus an absolutely-alpha-beta-alpha build will be put up on Google Code very soon, but please be patient, since I have a lot of work right now. I’m trying to squeeze in work on this wherever i can, so I can get it out there :)

So, here is a few more details on Katapult. I’ve been adding a lot of stuff today, and getting close to something that is release-worthy. The current features include:

  • Fully customizable layouts can be mapped to the entire grid of the Launchpad
  • Multipart layouts are supported and can be toggled using buttons on the Launchpad
  • The layouts are loaded into Katapult from a simple easy-to-write text-file (line example: yfader 0 7 8). This is kinda like mrmr-style layout files.
  • LED-colors of the controls can be set to any of the supported colors of the Launchpad
  • Katapult supports bi-directional control-messages. This means that changing a fader in for example Traktor, will also update the corresponding fader on the Launchpad surface. Me thinks this is cool.
  • Controls currently implemented are:
    • Hold button
    • Toggle button
    • Horizontal fader
    • Vertical fader
    • Horizontal slider-zone
    • Vertical slider-zone

    Okay, might have forgotten something, but it does give a good overview of the current state of the thing. I’m going to implement support for 2D-pad controls, as well as an “indicator” control, that doesn’t send output, but can be used as an indicator light, before releasing it. I think that will make it out for a pretty suitable start. And after that? More advanced visualizers (beat-grid style, etc), timed functions, triggered after x beats, controller-chaining (altering one control can influence others), macros(!). A visual layout-editor would be nice but definitely won’t be first priority, since the layouts really are very easy to write by hand. Here’s a new video. It doesn’t show any of the bi-directional stuff, but it does make it clear how multi-page layouts are handled.

    The more technical stuff: It’s all written in Processing. I’m writing and using it on OS X 10.6, but should work fine on other platforms as well. I found Processings MIDI support a bit annoying to work with (for output), so I took the easy route and offloaded the MIDI output handling to PureData through OSC. When I get the motivation, I’ll probably move the MIDI output back into the actual program, but I couldn’t find any MIDI-framework that did what I wanted to do, so PD is a fine solution right now. The patch is very simple and looks like this:

    So, that’ll be it for now :) Hopefully a release soon!

    Follow

    Get every new post delivered to your Inbox.