Playtime 2 is a complete and very ambitious rewrite, many things are different from Playtime 1. Let’s look at it in detail!
A modern GUI
The biggest visible improvement! Watch the video to get an impression.
A new way of playing clips
Playtime 1 used a sort of trick to implement clip playback: It worked by placing an items on REAPER’s arrangement timeline whenever triggering clips. The items would then be played back by REAPER itself, as normal track items.
Playtime 2 has its very own engine that processes audio and MIDI in real-time. It’s similar in nature to a VSTi plug-in that can output both audio (e.g. a sampler) and MIDI (e.g. an arpeggiator). But unlike a VSTi plug-in, it doesn’t send audio/MIDI to its own output ports but directly to specific tracks. This is a very clean and powerful mechanism enabled by REAPER’s “Preview Register” technology and it comes with many benefits.
This change in playback technique has a lot of consequences. I will try to cover all of them below.
Play clips without starting the REAPER transport
In Playtime 1, REAPER itself needed to be playing in order to play Playtime clips.
In Playtime 2, you can play clips in stopped state, so you don’t need to constantly reposition the cursor. It works completely independently from the REAPER timeline.
Your timeline stays clean
In Playtime 1, stopped clips were always “stored” at the start of each track and playing clips were wildly distributed on the timeline. If you saved your project while clips were playing, it was possible that they end up as “orphans”.
In Playtime 2, the timeline stays clean. No item salad anymore :)
Real-time tempo changes
In Playtime 1, changing the project tempo while an audio clip was playing messed things up. By letting REAPER play the clips, Playtime 1 also inherited a REAPER limitation: It can’t sync to tempo changes in real-time.
Thanks to Playtime 2 using its own engine, audio clips can sync to tempo changes in real-time.
Real-time triggering via MIDI
In Playtime 1, clip playback was initiated on the user interface thread, even when triggered by a MIDI event. This means a worst-case latency of around 30ms. For quantized playback, this is not too relevant. But for instant playback, this latency can be annoying.
In Playtime 2, MIDI-triggered clip playback happens in the audio thread. If you trigger a clip, it will play instantly in the same block in which you have triggered it.
Sample-accurate audio clip triggering without performance issues
Playtime 1 would position items just a few milliseconds in front of the play cursor and expected REAPER to be ready to play it. For this, it disabled “Media buffering” on that track, which indeed makes REAPER attempt to play the material quite instantly. However, the lack of buffering could lead to performance issues, e.g. dropouts, glitches and increased CPU load.
Playtime 2 on the other hand is built like a sampler. It pre-buffers the audio material of all clips to have it instantly available when you trigger a clip.
No more “worker” plug-ins all over the place
Playtime 1 placed separate worker plug-ins into plug-in chains to be able to capture material for recording from the respective tracks.
Playtime 2 captures directly from audio or MIDI input devices.
Complete control over MIDI reset behavior
Playtime 1’s possibilities to prevent hanging MIDI notes and other things related to MIDI reset logic were limited by REAPER’s own possibilities.
Playtime 2 has full control over the MIDI stream and provides configurable MIDI reset behavior on a per-clip basis.
Mostly seamless undo/redo
Playtime 1’s undo function was sometimes a bit disruptive, resulting in clicks, hanging MIDI notes and other annoyances.
Playtime 2’s undo function is built carefully to avoid such issues.
Matrix sequencer
Playtime 1 had the big “Write” button which allowed one to write clip performances straight to REAPER’s timeline.
Playtime 2 has something better: The matrix sequencer. It allows you to memorize multiple sequences and write them to the arrangement at any time.
Many other improvements and new features
A non-exhaustive list of other additions in Playtime 2:
- Velocity-sensitive clip triggering
- Easier coloring
- Custom quantizations (only even once)
- More seamless quantization of MIDI clips
- More seamless MIDI overdubbing
- Having multiple clips in one slot
- Column option to not follow scenes
- Fixed-length recordings
- MIDI auto-quantize
- Count-in tempo tapping
- Instant arrangement export of clips, rows, columns or even the complete matrix
- …
Ready for the future
Playtime 1 was generally rather limited in what it could possibly do and what not. It relied too much on REAPER’s own features.
Playtime 2 has complete control over the audio and MIDI stream. This paves the way to more advanced features that I plan to add in the future, e.g. follow actions.
Top-notch controller integration framework
Playtime 1 supported external controllers via a relatively simple built-in MIDI mapping feature.
Playtime 2’s support for external controllers is powered by ReaLearn, a general-purpose battle-tested controller integration framework, probably the most flexible one available for REAPER today. It’s possible to build presets via Lua or via ReaLearn’s graphical user interface (although grid controller presets are usually quite complex, so building them via GUI can be a daunting task).
Built-in support for more modern grid controllers with better feature coverage
Playtime 1 came with built-in support for a handful of grid controllers which were state-of-the-art in 2014.
Playtime 2 supports the latest versions of some of the most popular grid controllers in 2024 and more will follow. The feature coverage is also much better. Depending on the capabilities of the device, it now supports RGB color pads, fixed record length selection, track arming and much more.
Playtime 2 is not backwards compatible to Playtime 1
It’s not possible to migrate Playtime 1 sessions to Playtime 2. While it would be theoretically possible to develop a migration wizard, it would be hard to make so that the result is satisfying and close to the original.
If you still need to load projects that use Playtime 1, you need to leave it installed. It’s no problem to have Playtime 1 and 2 installed at the same time. As far as REAPER is concerned, they are entirely different plug-ins.
No support yet for recording track output (still needs some work, soon expected)
Playtime 1 was able to record the audio output of a track, making it for example possible to record VST instruments as audio clips.
Playtime 2’s engine has this feature implemented for the most part, but it’s currently not activated because it still needs some work.
No support yet for clip automation envelopes (planned)
Playtime 1 was able to leverage take envelopes because they are a natural feature of REAPER items/takes. They never were a perfect clip automation facility but at least a start.
Playtime 2’s engine doesn’t yet support automation envelopes on clips. But it’s a feature planned for the future. The new engine and ReaLearn make a great platform for automation clips “done right”.
No support yet for GUI docking (planned)
Playtime 1 allowed its GUI to be docked.
Playtime 2 doesn’t have this option yet, but it’s planned.
One column = one track
Playtime 1 didn’t mind which track an item belonged to, it would happily place items of different tracks into one column (a column was called “group” in Playtime 1).
Playtime 2 is more strict in this regard: Everything in one column plays on the same track, no exceptions. In practice, this shouldn’t be any issue. It will probably even help you to “not lose track” if you have many clips ;) BTW, most other “freedom” features are still available: Multiple columns can point to the same track, you can have multiple Playtime instances … heck, you can even have multiple clips within one slot now!
No support for video/image clips
Playtime 1 was able to play video clips because they were just a special type of REAPER items.
Playtime 2’s engine supports audio and MIDI only, not video. At the moment, video support is not planned. If you want it, please let me know. One thing I could do without too much effort is to bring back the old Playtime 1 “item placement” way of playing clips as a configuration option. That would include video clips.
No per-clip FX
Playtime 1 was able to trigger items that contained take FX, allowing different FX on different clips in a non-destructive way.
Playtime 2’s engine doesn’t support FX chains on clips, only on tracks. One alternative is to be “destructive” by glueing the item before importing it into Playtime. Another way would be - again - that I bring back the Playtime 1 way of triggering clips as a configuration option. Let me know if you need that!
Did I forget anything?
I think I have mentioned the most important features that were possible in Playtime 1 due to its leverage of REAPER items/takes and are not possible anymore in Playtime 2. However, you might find other clever things that you did in Playtime 1 and are not possible anymore in Playtime 2.
If you get into such a situation, I suggest the following treatment, in this order:
- Check if there’s an alternative or even better way in Playtime 2. Don’t hesitate to ask in the forum or drop me an email!
- If there’s no satisfying alternative, consider using Playtime 1 for for this case (you can use both in parallel, no problem).
- If this is also no option, please post a feature request. If there are enough users who need this, I will consider bringing back the “old Playtime 1 way” of playing clips, as a configuration option.