Josh Lawrence wrote: > On Thu, Aug 27, 2009 at 12:45 PM, Paul Davis<paul@xxxxxxxxxxxxxxxxxxxxx> wrote: >> i suggest you try it under wine instead if interaction with native >> linux apps matters, though you will still have no shared transport via >> JACK. > > I'm convinced that, if anyone on the face of the planet can pull off > writing an AL-alike application, it would be you, Paul. :) > > hint, hint > > (as if you don't have enough to do already!) > I'm developing an Ableton-like midi/audio -sequencer. It's a pet project of me for upgrading my liveset which uses my old MSDOS midi sequencer. That sequencer is much like an Ableton Live without the audio, loading patterns/songs to the background from disk is done while already playing a song. And switching between songs is done on a 'track by track' or 'all tracks at once'. This works just like the sessiongrid in ableton only dynamically from disk. I needed to get rid of my old, big and slow dinosaur Yamaha A3000 sampler and wanted to put sampling inside the sequencer but staying on the MSDOS playform was just impossible... The application is developed in FreePascal/Lazarus-IDE with api bindings to Jack/Ladspa/libSndFile/libSoundTouch. As developing with Lazarus is multi -platform/toolkit, it would be quite easy just to crosscompile for Linux/Mac OSX/Windows (even across gui toolkits like Gtk1, Gtk2, Qt, Win32). The reason for developing in FreePascal instead of C++ is my background in Pascal programming going back about 18 years. Using Lazarus as RAD tool is also both easy and fast. The only big question for me is what licence to use: GPL and maybe acquire eternal fame in the opensource community. :) or Release it closedsource for about 50 euro just like Renoise and Energy-XT. I do not want to release it (except maybe some beta versions/screenshots) until it does most of the things I want it to do (which will take about a year). That would be v1.0 About the application itself: a very early alpha screenshot: http://www.sensoryoverload.nl/images/HybridSequencer.png It is different to Live in that instruments and drumkits are not hosted inside a track but globally managed by the application as one big processing bank. A pattern can contain a sample (drumloops etc) and MIDI data. Midi is sent to the global sampler or external instrument and returned to the sending track. This would for example preserve memory when you just want to use a few drumsounds instead of loading complete drumkits. MIDI data can also be used to trigger at transients of drumloop in the same pattern. Also when you want to play the same drumkit at the same time in two or more tracks, there is almost no extra memory footprint. This makes dragging patterns across tracks and combining different drumloops, instruments and plugins far easier to manage than Live. Loading and combining livesets/songs/patterns from disk while already playing would be possible, even staying in sync. Making the audio-thread non-blocking from begin-to-end is a high priority (also the most difficult). There are dozens of other ideas to implement os this is not a complete description of the thing. Roadmap (main features) ---------------------------------------------------------------------------- PRE v1.0 - Sample Warping with WarpMarkers (just like Live 8 with visually stretching sampledata) using libSoundTouch 100%, done (needs some gui-love though) - Session grid 50% dragging tracks works, dragging(moving form track to track) patterns inside the grid and dragging livesets/patterns/samples from disk needs to be done. - Midi pattern editor 30%, creating, destroying, moving notes and scrolling, zooming implemented. Maybe layer on top of sampledata - Global sampler 25%, Framework is in place playing dry unprocessed samples, "just" needs the dsp part for filters, envelopes, fx and such. - Midi controller mapping 10%, started on framework - Ladspa track plugins 30%, api bindings completed, basic framework started - Persistent unlimited undo/redo framework 75%, only 'recovery from crash' needs to be implemented - Loading/Saving of patterns/livesets 25% POST v1.0 - Integrate controls (LASH) to connect to Ardour as main DAW - LV2 support - Develop a multiband WSOLA timestretching algorithm with transient handling for higher quality. - Mac OSX version cheers, Robbert Latumahina _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user