Skip to content

Commit

Permalink
Add feature anchors
Browse files Browse the repository at this point in the history
  • Loading branch information
helgoboss committed Nov 27, 2024
1 parent 5497baa commit 944f7af
Show file tree
Hide file tree
Showing 23 changed files with 104 additions and 57 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions doc/playtime/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
** xref:advanced-usage-scenarios/control-with-items.adoc[]
** xref:advanced-usage-scenarios/meta-clips.adoc[]
** xref:advanced-usage-scenarios/multiple-instances.adoc[]
** xref:advanced-usage-scenarios/generate-matrix.adoc[]
* xref:reaper-actions.adoc[]
* xref:realearn-targets.adoc[]
* xref:configuration-files.adoc[]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ Before you can control Playtime with MIDI notes, you need to set up MIDI trigger

One way to do this is to learn the necessary MIDI triggers manually by using the xref:user-interface/toolbar.adoc#toolbar-show-hide-midi-triggers[] feature. See xref:usage/play.adoc#feature-keys[].

[[assign-midi-triggers-automatically]]
=== Option B: Assign MIDI triggers automatically

Another way to do this is to automatically assign MIDI notes to each slot cell. We can easily do that by importing a snippet of Lua code into ReaLearn.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
[[feature-import-export-lua]]
= Generate a matrix using code

Just as it is possible to xref:advanced-usage-scenarios/control-with-items.adoc#assign-midi-triggers-automatically[generate ReaLearn mappings via Luau], you can also generate a Playtime xref:key-concepts.adoc#matrix[] via Luau.

.This guide is a work in progress
WARNING: The matrix generated by this example xref:key-concepts.adoc#matrix[] is viewable, but not yet playable! It will be improved in the future to be playable as well.

Proceed like this:

. Copy below Luau code to the clipboard
. Press the xref:helgobox::app/user-interface/navigation-bar.adoc#navbar-show-helgobox-plugin[] icon in the navigation bar on the left.
. Press xref:helgobox::plug-in/user-interface/menu-bar.adoc#import-from-clipboard[].
. After confirming the import, you should see a large and wildly colorful matrix.

.Colorful matrix
[source,lua]
----
local column_count = 10
local row_count = 200
-- Clip source
-- Build columns
local columns = {}
local clip_index = 0
for c = 0, column_count - 1 do
local slots = {}
for r = 0, row_count - 1 do
if (c % 2 == 0 and r % 2 == 0) or (c % 2 == 1 and r % 2 == 1) then
local slot = {
row = r,
clips = {
{
name = `Clip {c + 1}/{r + 1}`,
color = {
kind = "PaletteColor",
index = 5 + clip_index % 17,
},
source = {
kind = "MidiChunk",
chunk = [[
HASDATA 1 960 QN
E 3840 b0 7b 00 0
IGNTEMPO 1 120 4 4
]],
}
},
},
}
table.insert(slots, slot)
clip_index += 1
end
end
local column = {
slots = slots or nil,
}
table.insert(columns, column)
end
-- Build rows
local rows = {}
for r = 1, row_count do
local row = {
name = `Scene {r}`,
}
table.insert(rows, row)
end
-- Build matrix
local matrix = {
columns = columns,
rows = rows,
}
-- Return result
return {
kind = "ClipMatrix",
version = "2.16.15",
value = matrix,
}
----
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[[feature-meta-clips]]
= Meta clips

We can take the previous scenario xref:advanced-usage-scenarios/control-with-items.adoc[] a step further!
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[[feature-multiple-instances]]
= Multiple instances

Because Helgobox is implemented as an xref:helgobox::plug-in.adoc[instrument plug-in], you can add multiple xref:helgobox::key-concepts.adoc#instance[instances] of it. That also means you can have multiple xref:key-concepts.adoc#matrix[Playtime matrices] in the same project.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ Here's a video showing this way of recording:

video::sMckj_gsqh0[youtube, list=PL0bFMT0iEtAgjbtAN-lp6d_-vLA_YUP8O]

[[tempo-detection-recording]]
[[feature-tempo-detection]]
== Tempo detection recording

A _tempo detection recording_ is a special recording method tailored to looper-style live improvisation without metronome.
Expand Down
1 change: 1 addition & 0 deletions doc/playtime/modules/ROOT/pages/usage/arrangement.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ This is also important if you xref:advanced-usage-scenarios/control-with-items.a

There are two ways of building an arrangement.

[[feature-export-to-arrangement]]
== Export matrix content

You can export parts of the matrix to the arrangement directly:
Expand Down
2 changes: 1 addition & 1 deletion doc/playtime/modules/ROOT/pages/usage/create.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ One more way to give you more time is to start recording with your foot instead
. Press it again to stop recording.
Record with tempo detection and without click::
All the approaches that we have talked about so far require a metronome or another clip to provide a rhythmical reference. However, imagine you want to do a looper-style live improvisation, without metronome. In that case, you can do a xref:further-concepts/matrix.adoc#tempo-detection-recording[].
All the approaches that we have talked about so far require a metronome or another clip to provide a rhythmical reference. However, imagine you want to do a looper-style live improvisation, without metronome. In that case, you can do a xref:further-concepts/matrix.adoc#feature-tempo-detection[].
Record non-rhythmic material::
Playtime suites itself very much for rhythmic material. But what if you want to record something that's tempo-independent? In that case, you probably want two things:
Expand Down
1 change: 1 addition & 0 deletions doc/playtime/modules/ROOT/pages/usage/play.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ You will see that clip A stops and clip B takes over.

*The consequence is:* If you want to play multiple slots simultaneously, you would need to create a new column. Musically, that makes a lot of sense. It is very common in clip launchers to have one column per instrument. And one instrument can normally only play one phrase at a time. Alternating between those phrases is often exactly what people want.

[[feature-non-exclusive-columns]]
=== Columns in non-exclusive mode

Playtime is a quite relaxed fellow and allows you to opt out of the exclusive mode. The easiest way to do this is to press the xref:user-interface/matrix-area.adoc#column-cell-exclusive-mode[] button in the xref:user-interface/matrix-area.adoc#column-cell[].
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,13 @@ include::partial$generated/elements/settings/show-cell-selection-as-crosshair.ad
include::partial$generated/elements/settings/show-hypothetical-play-cursor.adoc[]
include::partial$generated/elements/settings/cell-color-position.adoc[]
include::partial$generated/elements/settings/cell-progress-position.adoc[]

include::partial$generated/elements/settings/cell-width.adoc[]

include::partial$generated/elements/settings/cell-height.adoc[]

In addition, you might be interested in the xref:helgobox::app/user-interface/settings-dialog.adoc#settings-overall-size[] setting, located in the general appearance section.

== Engine

include::partial$generated/elements/settings/tempo-latency.adoc[]
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ They are saved as part of the matrix and therefore together with the REAPER proj

image::generated/screenshots/main/tempo-settings.png[]

include::partial$generated/elements/tempo-settings/click-and-tap.adoc[]
include::partial$generated/elements/tempo-settings/click-volume.adoc[]
include::partial$generated/elements/tempo-settings/tap-volume.adoc[]
include::partial$generated/elements/tempo-settings/count-in.adoc[]
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
ifdef::pdf-theme[[[tempo-settings-click-and-tap,Click and tap]]]
ifndef::pdf-theme[[[tempo-settings-click-and-tap,Click and tap]]]
== Click and tap





Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Enable/disable MIDI auto-quantize::
When hit with an _on_ value, enables xref:playtime::user-interface/inspector/matrix/recording.adoc#inspector-matrix-recording-auto-quantize[], otherwise disables it.

Smart record::
When hit with an _on_ value, triggers the xref:playtime::user-interface/toolbar.adoc#toolbar-smart-record[] function. If this leads to the stop of a xref:playtime::further-concepts/matrix.adoc#tempo-detection-recording[], the operation can be carried out in real-time.
When hit with an _on_ value, triggers the xref:playtime::user-interface/toolbar.adoc#toolbar-smart-record[] function. If this leads to the stop of a xref:playtime::further-concepts/matrix.adoc#feature-tempo-detection[], the operation can be carried out in real-time.

Play ignited or enable silence mode::
When hit with an _on_ value, this starts Playtime playback and plays all xref:playtime::further-concepts/slot.adoc#ignited-slot[ignited] slots. Otherwise, this stops Playtime playback. This basically resembles the xref:playtime::user-interface/toolbar.adoc#toolbar-start-stop-playback[] button. This action supports real-time invocation.
Expand Down

This file was deleted.

0 comments on commit 944f7af

Please sign in to comment.