Skip to content

Commit

Permalink
Doc updates and Windows/AZERTY keymap tweaks.
Browse files Browse the repository at this point in the history
  • Loading branch information
ahlstromcj committed Jul 19, 2023
1 parent 80604b0 commit 72b4ca1
Show file tree
Hide file tree
Showing 7 changed files with 251 additions and 155 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# README for Seq66 0.99.7 2023-07-18
# README for Seq66 0.99.7 2023-07-19

__Seq66__: MIDI sequencer/live-looper with a hardware-sampler grid interface;
pattern banks, triggers, and playlists for song management; scale and chord
Expand Down Expand Up @@ -94,7 +94,7 @@ Windows, and using a conventional source tarball.
* Recent Files is disabled if there are none.
* Revamped the Playlist tab, as it was confusing and very buggy.
* Added Windows key-mapping to fix processing "native virtual" keys,
such as the arrow keys.
such as the arrow keys. Also fixes issue #102.
* Added auto-play and auto-advance to play-lists.
* Fixed bug in rcsettings::make_config_filespec().
* Version 0.99.6:
Expand Down
36 changes: 6 additions & 30 deletions TODO
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
TO DO for Seq66 0.99.7
Chris Ahlstrom
2019-04-13 to 2023-07-17
2019-04-13 to 2023-07-19

UI:

Expand Down Expand Up @@ -40,18 +40,17 @@ Playlists:
- When opening play-list, also open next song. Make the play-list
active.
- Still need to work out playlist naming and replacement.
- Specifying a playlist on the command-line should activate it.
It does, but there was a bug in rcsettings::make_config_filespec().
- Set all contrib/midi and data/midi MIDI files to use port 0
- Set all contrib/midi and data/midi MIDI files to use port 0.
- Consider adding a configurable play-list auto-advance delay value.
- Why is the first play-list file double loaded?
- Why is the first play-list song file double loaded?
- How to force ports to 0 when errors happen, and save the file.

From Testing:

When zooming, try to keep the same viewport in view. Got this working
for horizontal seqroll and perfroll, but not for vertical (refactoring
needed). Try to center vertically on notes in the viewport.
Make it center on notes if not visible.

Can we distinguish note-insertion from movement snap, to avoid the
"L"-then-snap-then-move samba?
Expand All @@ -78,12 +77,6 @@ Ideas:

- Drag and drop MIDI files onto seq66 (see sequencer64 issue #137)

Port-mapping:

- Consider allowing the addition of an alias to a port. This would
be useful for devices attached to "USB Midi MIDI 1". However,
think about MIDNAM.

ISSUES:

#44 "Record live sequence changes" functionality
Expand Down Expand Up @@ -206,7 +199,7 @@ ISSUES:
STATUS: Fixed.

#100 Seq66's MIDI timing completely falls apart at JACK buffer sizer larger than 128.
STATUS: In progress. Added a timestamp to each message in the JACK
STATUS: Added a timestamp to each message in the JACK
ringbuffer (enabled by a C macro in libseq66/include/seq_features.h).
This addes a notable burden on process and we can get buffer overflow
errors. Even with message timestamps disabled, the b4uacuse-stress.midi
Expand All @@ -225,7 +218,7 @@ ISSUES:
plain muting (with queue functionality) is good enough for me.
Muting using mouse works reasonably well.
I am using Windows 7 if this helps with platform specific bugs.
STATUS: Need to improve documentation and testing, including on Windows.
STATUS: It turns out that we needed a different key-map for Windows.

#103 One-shot (repetitions != 0) patterns do not play
This feature works, but requires the pattern to be armed before
Expand Down Expand Up @@ -277,31 +270,14 @@ ISSUES:
have time signatures; more for appearances, really.
- Can we have time-signature changes shown during playback by
modifying the combo boxes text?
- Try to eliminate bad time-sig drawing in seqdata when the only
events are time sigs.

PATTERNS:

- Make it center on notes if not visible.

To close as fixed (and remove from TODO):

24 Release notes in release tag message?
47 change key map
54 Qt5 include errors
63 Option to rotate pattern numbers?
64 NSM: UI show up after restarting the app
68 MIDI controller initialization step
79 NSM: starts always with a blank pattern
80 Launchpad MIDI on input bus
83 MIDI Input not possible: "[midi-input]: in-bus data line error"
85 Segfaults and extra windows
89 MIDI control output queue events
91 No colors in live view with xfce/xubuntu
93 The window of a deleted pattern remains open
94 Added Song editor expansion button
97 Seq24 differences
98 Metronome and background recording

To close as pushed off to version 2:

Expand Down
4 changes: 4 additions & 0 deletions doc/latex/tex/configuration.tex
Original file line number Diff line number Diff line change
Expand Up @@ -861,6 +861,7 @@ \subsubsection{'rc' File / Keyboard Control Section}
We suspect most users will be happy enough with the default settings,
and users of internationaly keyboards will find the 'ctrl' file easy enough
to edit with a programmer's editor. As an example,
\index{keys!AZERTY}
see \texttt{qseq66-azerty.ctrl} in the \texttt{data/linux}
directory.

Expand Down Expand Up @@ -1821,6 +1822,7 @@ \subsubsection{'ctrl' File / MIDI Control Settings}
Provides a way to adapt to non-US keyboards.
Currently, the only supported values are "normal" ("qwerty"), "qwertzy",
and "azerty".
\index{keys!AZERTY}
For "azerty", the auto-shift feature of group-learning is disabled.
The handling of keyboards can be quite complex, and differ between
Linux distros and Windows.
Expand Down Expand Up @@ -2322,6 +2324,7 @@ \subsubsection{'ctrl' File / AZERTY and QWERTZ Keyboards}
Keystrokes are mapped to loop, mute-group, and automation control in the
\texttt{qseq66.ctrl} file in the \texttt{\$HOME/.config/seq66} directory.

\index{AZERTY}.
\textbf{AZERTY}.
Exit from \texttt{qseq66}, then copy the \texttt{qseq66-azerty.ctrl}
file to the configuration/session directory.
Expand All @@ -2347,6 +2350,7 @@ \subsubsection{'ctrl' File / AZERTY and QWERTZ Keyboards}
\texttt{Shift} key to get the numbers on
the numeric row of that keyboard layout.

\index{QWERTZ}.
\textbf{QWERTZ}.
We do not currently supply this layout, even though we support it, since it is
quite similar to the default \textbf{QWERTY} layout;
Expand Down
2 changes: 2 additions & 0 deletions doc/latex/tex/launchpad_mini.tex
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,8 @@ \subsubsection{Input Control Setup}
the only change to make for input-control is
to change \texttt{0xff} to the proper \textsl{input} port. On our system,
as noted above, that would be input port \texttt{[2]}.
\index{QWERTZ}
\index{AZERTY}

\begin{verbatim}
[midi-control-settings]
Expand Down
32 changes: 31 additions & 1 deletion doc/latex/tex/windows.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
% \library Documents
% \author Chris Ahlstrom
% \date 2021-02-13
% \update 2023-07-06
% \update 2023-07-18
% \version $Revision$
% \license $XPC_GPL_LICENSE$
%
Expand Down Expand Up @@ -270,6 +270,36 @@ \subsection{Windows / Seq66 Startup}
C:/Program Files/Seq66/data/readme.windows
\end{verbatim}

\subsection{Windows / Keyboard Issues}
\label{subsec:windows_keyboard_issues}

The keystroke processing of \textsl{Seq66} is based on looking up
\textsl{Qt} key scan codes and then finding the matching key modifiers (e.g.
Shift or Ctrl) and native virtual key numbers.
When a match is found, a \textsl{Seq66}-specific ordinal value ranging from
0 to 255 is found, and that is used to look up the command or function
associated with that keystroke.

The native virtual key numbers are how the operating system
encodes the various hardware keys on the keyboard.
These numbers vary between
\textsl{Linux},
\textsl{Windows}, and
\textsl{Mac}.
All these numbers are in a table, and there is (currently)
a table for \textsl{Linux} and a table for \textsl{Windows}.

The table for \textsl{Windows} was recently completed, but
it is likely that there are some native virtual key numbers
that were not assigned correctly.
Report any issues.

There is also a table that corrects for
\index{keys!AZERTY}
the French AZERTY layout.
It is a good bet that this table also has errors.
Report any issues.

%-------------------------------------------------------------------------------
% vim: ts=3 sw=3 et ft=tex
%-------------------------------------------------------------------------------
Loading

0 comments on commit 72b4ca1

Please sign in to comment.