Skip to content

Commit

Permalink
Still more documentation fixups.
Browse files Browse the repository at this point in the history
  • Loading branch information
ahlstromcj committed Mar 3, 2023
1 parent 42958a8 commit a6e8b16
Show file tree
Hide file tree
Showing 18 changed files with 250 additions and 330 deletions.
22 changes: 12 additions & 10 deletions doc/latex/tex/alsa.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
% \library Documents
% \author Chris Ahlstrom
% \date 2021-06-16
% \update 2023-03-02
% \update 2023-03-03
% \version $Revision$
% \license $XPC_GPL_LICENSE$
%
Expand All @@ -26,7 +26,8 @@ \subsection{ALSA / Through Ports}

When running the commands \texttt{aplaymidi -l} or \texttt{arecordmidi -l},
one sees something like the following.
(The MIDI Through port is useful for...? See \cite{alsathru}.)
Notice that there is only one Thru port.
The MIDI Through port is useful for...? See \cite{alsathru}.

\begin{verbatim}
Port Client name Port name
Expand All @@ -41,7 +42,6 @@ \subsection{ALSA / Through Ports}
how can I increase the amount of MIDI through ports created by ALSA?"
\end{quote}

Notice that there is only one Thru port.
To add more Thru ports, first use \texttt{modinfo} to see information about
the kernel module \texttt{snd-seq-dummy}. Part of the output is shown here:

Expand Down Expand Up @@ -80,13 +80,13 @@ \subsection{ALSA / Through Ports}
\end{verbatim}

This will, of course, throw off the \textsl{Seq66} port numbering, unless
one has implemented port-mapping.
one has implemented port-mapping (\sectionref{sec:port_mapping}).

\subsection{ALSA / Virtual MIDI Devices}
\label{subsec:alsa_virtual_midi_devices}

The "manual" ports of \textsl{Seq66} are actually "virtual" ports.
From \url{https://tldp.org/HOWTO/MIDI-HOWTO-10.html}:
The "manual" ports of \textsl{Seq66} are "virtual" ports.
From \cite{midihowto}:

\begin{quote}
MIDI sequencers like to output their notes to MIDI devices that normally
Expand All @@ -96,7 +96,7 @@ \subsection{ALSA / Virtual MIDI Devices}
HOWTO describes all that is necessary to achieve this goal.
\end{quote}

To use ALSA's virtual MIDI card the
To use ALSA's virtual MIDI the
\texttt{snd-card-virmidi} module must be present.

\begin{verbatim}
Expand All @@ -110,8 +110,7 @@ \subsection{ALSA / Virtual MIDI Devices}
\end{verbatim}

More to come, such as an explanation of \texttt{aconnectgui}....

\url{https://freeshell.de/~murks/posts/ALSA_and_JACK_MIDI_explained_(by_a_dummy_for_dummies)/}
Also see \cite{midilinux}.

\subsection{ALSA / Trouble-Shooting}
\label{subsec:alsa_testing}
Expand All @@ -137,6 +136,9 @@ \subsubsection{ALSA / Trouble-Shooting / MIDI Clock}

\begin{verbatim}
$ aseqdump
Waiting for data at port 129:0. Press Ctrl+C to end.
Source Event Ch Data
0:1 Port subscribed 128:0 -> 129:0
\end{verbatim}

Once set up, start playback on \textsl{Seq66}.
Expand Down Expand Up @@ -192,7 +194,7 @@ \subsubsection{ALSA / Trouble-Shooting / MIDI Clock}
dialog and make sure that MIDI I/O is enabled and that both input
and output are set to ALSA.
See the \textsl{VMPK} website (\cite{vmpk}).
The current version one can download there is 0.8.7!
The current version one can download there is 0.8.8.

%-------------------------------------------------------------------------------
% vim: ts=3 sw=3 et ft=tex
Expand Down
49 changes: 25 additions & 24 deletions doc/latex/tex/concepts.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
% \library Documents
% \author Chris Ahlstrom
% \date 2015-11-01
% \update 2021-12-24
% \update 2023-03-03
% \version $Revision$
% \license $XPC_GPL_LICENSE$
%
Expand All @@ -27,22 +27,23 @@ \section{Concepts}
\subsection{Concepts / Reload Session}
\label{subsec:concepts_reload_session}

While \textsl{Seq66} is fairly flexible, changes in devices setups and other
While \textsl{Seq66} is flexible, changes in devices setups and other
settings generally required the user to \textsl{reload session}.
This reload can be done in two ways:
This reload can be done in two ways.

\begin{itemize}
\item \textbf{Restart Seq66}.
\item \textbf{Manual Restart}
Once a setting is changed, or a new arrangement of devices occurs,
exit \textsl{Seq66}, examine or edit the various configuration files (if
desired), and start \textsl{Seq66} again.
\item \textbf{Session / Reload Session}.
\item \textbf{Edit / Preferences / Restart Seq66}.
When settings in \textbf{Edit / Preferences} are changed, the
\textbf{Reload Session} button becomes enabled.
Click it, and the result is basically like restarting \textsl{Seq66}.
\end{itemize}

In the future, we will make \textsl{Seq66} able to better detect and
In the future (version 2?), we will make \textsl{Seq66}
able to better detect and
reconfigure for system changes and preferences changes.

\subsection{Concepts / Terms}
Expand All @@ -60,12 +61,12 @@ \subsubsection{Concepts / Terms / loop, pattern, track, sequence}
\textsl{Loop} is a synonym for \textsl{pattern}, \textsl{track},
or \textsl{sequence}; the terms are used interchangeably.
Each loop is represented by a box (pattern slot) in the Pattern (main)
Window.
window, also known as the "Patterns Panel" or "Live Grid"..

A loop is a unit of melody or rhythm
extending for a small number of measures (in most cases).
Each loop is represented by a box in the patterns panel.
Each loo is editable. All patterns can be layed out in
Each loop is editable. All patterns can be layed out in
a particular arrangement to generate a more complex song.
\index{slot}
A \textsl{slot} is a box in a pattern grid that holds a loop.
Expand All @@ -79,39 +80,40 @@ \subsubsection{Concepts / Terms / armed, muted}
\index{armed}
An armed sequence is a MIDI pattern that will be heard.
"Armed" is the opposite of "muted", and the same as "unmuted".
An unarmed sequence will not be heard, and it has a normal background.
Performing an \textsl{arm} operation in \textsl{Seq66}
means clicking on an "unarmed" sequence in the patterns panel (the main
window of \textsl{Seq66}).
An unarmed sequence will not be heard, and it has a normal background.
When the sequence is \textsl{armed}, it will be heard, and it has a
more noticeable background.
more noticeable background.
A sequence can be armed or unarmed in many ways:

\begin{itemize}
\item Clicking on a sequence/pattern box.
\item Pressing the hot-key for that sequence/pattern box.
\item Setting up a mute-group containing that pattern, and then
activating it with its hot-key.
\item Opening up the Song Editor and starting playback; the
sequences arm/unarm depending on the layout of the
sequences and triggers in the piano roll of the Song Editor.
\item Using a MIDI control, as configured in a 'ctrl' file, to
toggle the armed status of a pattern.
toggle the armed status of a pattern or select a mute-group.
\end{itemize}

\subsubsection{Concepts / Terms / bank, screenset, play-screen}
\label{subsubsec:concepts_terms_bank}

\index{screenset}
The \textsl{screenset}
A \textsl{screenset}
is a set of patterns that fit within the \textbf{4 x 8}
grid of loops/patterns in the patterns panel.
\textsl{Seq66} supports multiple screens sets, up to 32 of them,
and a name can be given to each for clarity.
Some other sizes, such as \textbf{8 x 8} and \textbf{12 x 8}, are
partly supported. For the most part, the column number is best left at 8.
partly supported.
\index{bank}
The term "bank" is \textsl{Kepler34}'s name for "screenset".
The term "scenes" from \textsl{Ableton Live} is very similar as well.

\index{play screen}
By default, only one set is active and playing at a time. This set is
informally termed the "play screen". There are options to let more than one
Expand All @@ -122,7 +124,7 @@ \subsubsection{Concepts / Terms / buss, bus, port}

\index{bus}
\index{buss}
A \textsl{buss} (also spelled "bus" these days;
A \textsl{buss} (also spelled "bus" these days, see
\url{https://en.wikipedia.org/wiki/Busbar}) is an entity onto which
MIDI events can be placed, in order to be heard or to affect the
playback, or into which MIDI events can be received, for recording.
Expand All @@ -137,7 +139,7 @@ \subsubsection{Concepts / Terms / performance, song, trigger}
\index{performance}
\index{song}
\textsl{performance} or
\textsl{song}is an organized collection of patterns that play a tune
\textsl{song} is an organized collection of patterns that play a full tune
automatically.
This layout of patterns is created using the song editor, sometimes
called the "performance editor".
Expand All @@ -157,13 +159,15 @@ \subsubsection{Concepts / Terms / Auto-step, Step-Edit}

\index{auto-step}
\index{step-edit}
Auto-step (step-edit) provide a way to add notes easily when a pattern is
Auto-step (step-edit) provides a way to add notes easily when a pattern is
not playing. It works in two ways. In the first way, when drawing notes on
the pattern-editor's piano roll, dragging the mouse automatically inserts
notes of the configured length at intervals of the configured snap.
In the second way, incoming MIDI notes (including chords)
are automatically logged at the given snap interval, with a length a little
less than the configured snap interval.
There is also a one-shot step-edit mode that is useful for recording a drum
pattern emitted by a machine.

\subsubsection{Concepts / Terms / export}
\label{subsubsec:concepts_terms_export}
Expand All @@ -176,23 +180,21 @@ \subsubsection{Concepts / Terms / export}
performance information (triggers) associated with them, and creates one
larger trigger for each track, repeating the events as indicated by the
original performance.
MIDI can also be exported to SMF 0 format.

\subsubsection{Concepts / Terms / group, mute-group}
\label{subsubsec:concepts_terms_group}

\index{group}
A \textsl{group} in \textsl{Seq66} is a
set of patterns, that can arm (unmute) their playing state
together.
set of patterns, that can arm/disarm all together.
Every group contains all sequences in the active screen set.
This concept is similar to mute/unmute groups in hardware
sequencers.
\index{mute-group}
Also known as a "mute-group".
Mute-groups can be stored in the MIDI file or in a 'mutes' file.
Each mute-group is associated with a keystroke or a MIDI control.
When applied, the mute-group enables one or more patterns in the current
screenset.

\subsubsection{Concepts / Terms / play-set}
\label{subsubsec:concepts_terms_playset}
Expand All @@ -219,7 +221,7 @@ \subsubsection{Concepts / Terms / PPQN, pulses, ticks, clocks, divisions}
And, when JACK is involved, one must remember that JACK "ticks" come at 10
times the rate of MIDI ticks.
A full description of all these terms, and how they are calculated, is
beyond the scope of this document. Check out the source code.
beyond the scope of this document.

\subsubsection{Concepts / Terms / queue, keep queue, snapshot, oneshot}
\label{subsubsec:concepts_terms_queue_mode}
Expand All @@ -230,7 +232,7 @@ \subsubsection{Concepts / Terms / queue, keep queue, snapshot, oneshot}
To "queue" a pattern means to ready it for playback on the next repeat of
a pattern. A pattern can be armed immediately, or it can be queued to
play back the next time the pattern restarts.
Pattern toggle occurs at the end of the pattern,
Pattern toggle occurs at the next play of the pattern,
rather than being set immediately.

A set of queued patterns can be temporarily stored, so that a different
Expand Down Expand Up @@ -258,7 +260,6 @@ \subsubsection{Concepts / Terms / queue, keep queue, snapshot, oneshot}
\index{playback!one-shot}
\textsl{Seq66} \textsl{one-shot playback} is a way to enable a pattern to be
queued and then played only once.

For recording,
\index{oneshot}
\index{oneshot!recording}
Expand Down
Loading

0 comments on commit a6e8b16

Please sign in to comment.