Skip to content

Commit

Permalink
Work on issues #112 and #114.
Browse files Browse the repository at this point in the history
  • Loading branch information
ahlstromcj committed Aug 15, 2023
1 parent c2d3a3a commit 2240fa4
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 40 deletions.
41 changes: 38 additions & 3 deletions TODO
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
TO DO for Seq66 0.99.8
Chris Ahlstrom
2019-04-13 to 2023-08-14
2019-04-13 to 2023-08-15

UI:

Expand Down Expand Up @@ -250,8 +250,8 @@ ISSUES:
#110 Windows build download

STATUS: works for 64-bit builds, but 32-bit builds work only in
QtCreator, and too many things to do to build 32-bit on a 64-bit
machine. A ton of refactoring and fixes for the damn MIDI Mapper.
QtCreator, and too many things to do to build 32-bit on a 64-bit
machine. A ton of refactoring and fixes for the damn MIDI Mapper.

#111 Time signature changes does not get saved on .midi file

Expand All @@ -266,6 +266,41 @@ ISSUES:
- Can we have time-signature changes shown during playback by
modifying the combo boxes text?

#112 Send midi-control-out message when New Pattern is created in GUI

When creating a new pattern with right click -> New pattern, the new
pattern does not show up on my control surface upon creation. The new
pattern is outlined in red. The control surface does not show the newly
created pattern until I press the button for the pattern itself (or
arm/queue it by pressing w on the keyboard). Seq66 then sends Arm or Queue
midi signals to the control surface, depending on if the keep-queue
function is set (Q in the interface).

STATUS: Added an announce_sequence() call to performer::new_sequence().
Will test.

#114 [feature request] Include keyboard shortcut in setToolTip function?

STATUS: Nearly finished with this one. Also fixing some automation
errors found during this task.

#115 Accessing Non-Registered Parameter Numbers (NRPNs) possible?

STATUS: It works for this user. As a side issue, he would like to
be able to set data values more easily (e.g. exact number)
than by dragging the data line.

Also found a bug: Open brecluse.mid and then pattern #1.
Then attempt to modify the velocity in the data pane.
We find that many of the events were not drawn in the
data pane when the roll was moved by the arrow keys!
Clicking in the event pane forces redrawing.
Using the horizontal scrollbar refreshes properly.

#116 What happened to the "MIDI Ctrl Out (Display) Bus" setting?

STATUS: Cannot duplicate.

To close as fixed (and remove from TODO):

24 Release notes in release tag message?
Expand Down
11 changes: 3 additions & 8 deletions libseq66/src/play/performer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
* \library seq66 application
* \author Chris Ahlstrom and others
* \date 2018-11-12
* \updates 2023-08-14
* \updates 2023-08-15
* \license GNU GPLv2 or above
*
* Also read the comments in the Seq64 version of this module, perform.
Expand Down Expand Up @@ -1949,14 +1949,15 @@ performer::new_sequence (seq::number & finalseq, seq::number seq)
if (result && seq != seq::unassigned())
{
result = install_sequence(seqptr, seq);
if (result) /* new 2021-10-01 */
if (result)
{
const seq::pointer s = get_sequence(seq);
result = not_nullptr(s);
if (result)
{
s->set_dirty();
finalseq = s->seq_number();
announce_sequence(s, finalseq); /* issue #112 */
notify_sequence_change(finalseq, change::recreate);
}
}
Expand Down Expand Up @@ -2102,12 +2103,6 @@ performer::paste_sequence (seq::number seqno)
{
seq::pointer s = get_sequence(seqno);
s->partial_assign(m_seq_clipboard);

/*
* Already done in new_sequence().
*
* s->set_dirty();
*/
}
}
return result;
Expand Down
52 changes: 29 additions & 23 deletions seq_qt5/forms/qseqeditframe64.ui
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@
</size>
</property>
<property name="toolTip">
<string>Toggles transposability of this pattern.</string>
<string>Toggles transposability of the pattern.</string>
</property>
<property name="text">
<string>Transp</string>
Expand All @@ -237,7 +237,7 @@
</property>
<property name="toolTip">
<string>If transposable, apply active note-map
to note events.</string>
to note events. [ c for selected notes ]</string>
</property>
<property name="text">
<string>Map</string>
Expand Down Expand Up @@ -441,7 +441,7 @@ to note events.</string>
</font>
</property>
<property name="toolTip">
<string>Closes this window and child windows. Fails. Hidden.</string>
<string>Closes window/child windows. Fails. Hidden.</string>
</property>
<property name="text">
<string>X</string>
Expand Down Expand Up @@ -547,7 +547,7 @@ to note events.</string>
</size>
</property>
<property name="toolTip">
<string>Shows the Tools popup menus.</string>
<string>Shows Tools popup menus.</string>
</property>
<property name="text">
<string>T</string>
Expand All @@ -572,7 +572,7 @@ to note events.</string>
</size>
</property>
<property name="toolTip">
<string>Set the piano roll to follow progress bar.</string>
<string>Set piano roll to follow progress bar.</string>
</property>
<property name="text">
<string>F</string>
Expand All @@ -597,8 +597,7 @@ to note events.</string>
</size>
</property>
<property name="toolTip">
<string>Snap size for spacing drawn notes.
Resets to default snap size.</string>
<string>Resets to default drawing snap size.</string>
</property>
<property name="text">
<string>S</string>
Expand Down Expand Up @@ -718,9 +717,9 @@ to the default value, 1/16.</string>
</size>
</property>
<property name="toolTip">
<string>Horizontal zoom level in 'pixels:ticks', the number
of ticks or pulses represented by 1 pixel. A lower value
zooms 'in' [ z 0 Z ].</string>
<string>Horizontal zoom in pixels:ticks, the number
of pulses represented by 1 pixel. A lower value
zooms in [ z 0 Z ].</string>
</property>
</widget>
</item>
Expand Down Expand Up @@ -761,7 +760,7 @@ zooms 'in' [ z 0 Z ].</string>
</size>
</property>
<property name="toolTip">
<string>Selects the musical key to apply.</string>
<string>Selects the musical key.</string>
</property>
</widget>
</item>
Expand Down Expand Up @@ -980,6 +979,9 @@ zooms 'in' [ z 0 Z ].</string>
<height>28</height>
</size>
</property>
<property name="toolTip">
<string>Activate L/R looping.</string>
</property>
<property name="text">
<string>Loop</string>
</property>
Expand Down Expand Up @@ -1115,7 +1117,7 @@ Values up to 999 are supported by this control.</string>
</size>
</property>
<property name="toolTip">
<string>When active, incoming MIDI is recorded.</string>
<string>When active, incoming MIDI is recorded. [ o ]</string>
</property>
<property name="text">
<string>Record</string>
Expand Down Expand Up @@ -1143,7 +1145,7 @@ Values up to 999 are supported by this control.</string>
</size>
</property>
<property name="toolTip">
<string>When active, incoming MIDI is quantize recorded.</string>
<string>Quantize-record incoming MIDI.</string>
</property>
<property name="text">
<string>QRecord</string>
Expand Down Expand Up @@ -1174,10 +1176,9 @@ Values up to 999 are supported by this control.</string>
</size>
</property>
<property name="toolTip">
<string>Select recording type for loop patterns:
Merge events (legacy).
Overwrite events.
Expand pattern length while recording.
<string>Recording type for loop patterns:
Merge (overdub) events; Overwrite events;
Expand pattern length while recording;
Oneshot recording of a pattern.</string>
</property>
<property name="currentText">
Expand All @@ -1200,7 +1201,7 @@ Oneshot recording of a pattern.</string>
</size>
</property>
<property name="toolTip">
<string>Resets recording velocity to 'Free' (incoming velocity).</string>
<string>Resets recording velocity to Free (incoming velocity).</string>
</property>
<property name="text">
<string>Vel</string>
Expand All @@ -1222,7 +1223,7 @@ Oneshot recording of a pattern.</string>
</size>
</property>
<property name="toolTip">
<string>Selects the Free mode of recording (incoming velocity),
<string>Selects Free mode (incoming velocity) of recording,
or a velocity to force upon input.</string>
</property>
</widget>
Expand Down Expand Up @@ -1611,7 +1612,7 @@ meta event at the L marker.</string>
</size>
</property>
<property name="toolTip">
<string>Selects beat width (denominator of time signature).</string>
<string>Selects beat width (time signature denominator).</string>
</property>
<property name="editable">
<bool>true</bool>
Expand Down Expand Up @@ -1676,8 +1677,8 @@ meta event at the L marker.</string>
</size>
</property>
<property name="toolTip">
<string>Selects the pattern length. It can be
overridden by the &quot;Merge&quot; setting below.</string>
<string>Selects pattern length. It can be
overridden by the &quot;Expand&quot; setting.</string>
</property>
<property name="editable">
<bool>true</bool>
Expand All @@ -1699,7 +1700,7 @@ overridden by the &quot;Merge&quot; setting below.</string>
</size>
</property>
<property name="toolTip">
<string>Selects a chord to generate when each note is created.</string>
<string>Selects a chord to create when a note is painted.</string>
</property>
</widget>
</item>
Expand Down Expand Up @@ -1849,6 +1850,11 @@ overridden by the &quot;Merge&quot; setting below.</string>
<height>24</height>
</size>
</property>
<property name="toolTip">
<string>Toggle between selection and note-entry modes
in the piano roll. [ p x ]
</string>
</property>
<property name="maximumSize">
<size>
<width>48</width>
Expand Down
14 changes: 8 additions & 6 deletions seq_qt5/src/qseqeditframe64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -549,6 +549,7 @@ qseqeditframe64::qseqeditframe64

/*
* Transpose button. Qt::NoFocus is the default focus policy.
* When implement, add tooltip extension for mod_transpose_song. (???)
*/

qt_set_icon(transpose_xpm, ui->m_toggle_transpose);
Expand Down Expand Up @@ -666,6 +667,7 @@ qseqeditframe64::qseqeditframe64
* recording.
*/

tooltip_with_keystroke(ui->m_button_undo, "q");
qt_set_icon(quantize_xpm, ui->m_button_quantize);
connect
(
Expand All @@ -681,6 +683,10 @@ qseqeditframe64::qseqeditframe64
* Follow Progress Button.
*/

std::string keyname =
perf().automation_key(automation::slot::follow_transport);

tooltip_with_keystroke(ui->m_toggle_follow, keyname);
qt_set_icon(follow_xpm, ui->m_toggle_follow);
ui->m_toggle_follow->setEnabled(true);
ui->m_toggle_follow->setCheckable(true);
Expand Down Expand Up @@ -856,10 +862,6 @@ qseqeditframe64::qseqeditframe64
ui->m_button_note_entry->setCheckable(true);
ui->m_button_note_entry->setAutoDefault(false);
ui->m_button_note_entry->setChecked(false);
ui->m_button_note_entry->setToolTip
(
"Toggle between selection and note-entry modes\nin the piano roll."
);
connect
(
ui->m_button_note_entry, SIGNAL(toggled(bool)),
Expand Down Expand Up @@ -914,7 +916,8 @@ qseqeditframe64::qseqeditframe64
);

/*
* Enable (unmute) Play Button.
* Enable (unmute) Play Button. It's not the triangular play button, it's
* the box-to-MIDI-port button.
*/

qt_set_icon(play_xpm, ui->m_toggle_play);
Expand Down Expand Up @@ -942,7 +945,6 @@ qseqeditframe64::qseqeditframe64
*/

qt_set_icon(rec_xpm, ui->m_toggle_record);
ui->m_toggle_record->setCheckable(true);
connect
(
ui->m_toggle_record, SIGNAL(toggled(bool)),
Expand Down

0 comments on commit 2240fa4

Please sign in to comment.