Latest GUI screenshot:
![Image](http://thepiz.org/pizmidi/midiLooper10.png)
Windows VST (64-bit) - updated January 30th, 2012
Windows VST - updated January 30th, 2012
Mac VST - updated August 29th, 2009 (old, fewer features, more bugs)
Source code is available via Google Code. Feel free to add or remove features, compile for other platforms, change GUI (built with The Jucer), etc.
The final version will not be free, but will be reasonably priced (if I can manage it, less than ten million dollars). Feel free to make a donation now, and you will get a license for the final version, which will also remove the annoying "DEMO VERSION" text from the GUI.
magic button:
![Image](https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif)
Features/limitations:
- Annoying "DEMO VERSION" text when not licensed (no other demo limitations)
- Optionally delay playback until start of next bar
- (Sucky) Piano roll editor with settable loop area, time signatures, etc
- Pattern chaining: play a specified number of times, then switch to another loop
- Can play multiple loops at once (ctrl-click for multiple, right-click to play one exclusively)
- Can record live midi and optionally start looping it as soon as you stop recording
- Load midi files by drag & drop
- Optionally syncs to host timeline (position within a measure is kept)
- Loops whole numbers of bars/beats/8th/16th notes, or arbitrary lengths
- When recording, rounds down the loop size if it's close (instead of bumping up to next step)
- Optional input quantize
- Can apply a velocity scale and transposition (by semitones and octaves) to the loop in real time
- Adjustable start and end points for loop playback
- "Beat shift" time offset with wraparound
- Selectable midi channel (input filter, output filter or transformer)
- Records and plays back all midi events it receives, so it's up to you to filter what you don't want
- Optionally overdub to add data to an existing loop (needs work)
- Supports program change
- Plays in a synchronized/unsynchronized loop, or unsynchronized one-shot
- Trigger loop from midi notes (mono/polyphonic, with optional transposition), or automate the play parameter
- Play/mute groups
- Force to freely definable scale, and transpose within the scale, optionally based on midi input
- Writes an editable midi file when saving plugin state (or by save button/parameter), and loads it again at any time
- Windows only (Mac version is currently outdated)
Please note that this plug in is amazing.
Simple usage example in XT2:
![Image](http://thepiz.org/xt/midiLooper.png)
Diagram showing "smart" loop length detection, midi file output, etc:
![Image](http://thepiz.org/xt/looper.png)
How to edit/create a loop in energyXT 1.4:
![Image](http://thepiz.org/xt/loopedit.png)
If you don't use a "loop area" track, it will round up the length to the end of the next bar (based on time signature).
To do:
- Documentation
- Allow playing of material before and after the loop area (start and end points separate from the loop points)
- Option to play/stop at next beat
- "Full release" for record and play
- Fix overdub mode (including better cc overwriting)
- More step sizes for beat shift and playback start/stop points?
- "Wait for events before starting recording" mode
- Optionally remove silence at beginning/end of recording
- Reverse, alternating forward/backward, & random playing
- Note length manipulation?
- Swing/shuffle/quantize output
- More input quantization options
- Keep playing the current loop until recording is finished (already happens in overdub mode)
- More piano roll features
- Integrated MIDI file browser
- Better GUI
- Linux version
- etc etc