Skip to content

Commit

Permalink
Fixed tutorial/manual access for issue #110.
Browse files Browse the repository at this point in the history
  • Loading branch information
ahlstromcj committed May 30, 2023
1 parent d5ef4a2 commit 846e874
Show file tree
Hide file tree
Showing 12 changed files with 199 additions and 106 deletions.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# README for Seq66 0.99.6 2023-05-28
# README for Seq66 0.99.6 2023-05-30

__Seq66__: MIDI sequencer/live-looper with a hardware-sampler grid interface;
pattern banks and triggers, and playlists for song management; a scale and
Expand Down Expand Up @@ -93,14 +93,16 @@ Windows, and using a conventional source tarball.
arrow keys work only if the seqroll has keyboard focus.
* Follow-ons to issue #110:
* Addition of Start menu entries for Windows.
* Fixed access to the tutorial and manual. Refactored access
to manual and tutorial for robustness.
* Added data/readme files and doc/tutorial files accidentally
left out of NSIS installer.
* Fixed event::is_desired(), which affected changing note
velocities in the pattern editor's data pane.
Improving (mitigating) velocity-change undo.
* Fixed an error preventing changing the "background" pattern.
* Added 'o' keystroke to seqroll to toggle recording ('r' already
used to randomize notes).
* Refactored access to manual and tutorial for robustness.
* At first start, a log-file is now automatically created. If it
gets larger than a megabyte, then it is deleted to start over.
* Version 0.99.5:
Expand Down
27 changes: 11 additions & 16 deletions TODO
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
TO DO for Seq66 0.99.6 (Sequencer64 refactored for C++14 and Qt)
Chris Ahlstrom
2019-04-13 to 2023-05-27
2019-04-13 to 2023-05-30

Some of these issues will be pushed off for the distant Seq66v2.

Current ("o" = we think it is fixed):

o Windows: No shortcut in Start menu after setup.
- User manual and tutorials entry menus seems to open something but close
quick (I do have a default pdf reader).
quick (I do have a default pdf reader). The std::system() call cannot
return a failure status under Windows.
o Fixed: Tempo is not saved with new song (but works with for example
Kraftwerk-Europe_Endless-reconstructed.midi provided in data folder).
- Investigate: cannot click on 'MIDI Clock' tab in preferences (alt-C OK).
- Investigate: cannot click on 'MIDI Clock' tab in preferences (Alt-C OK).
This will work if just the right place in the tab is clicked.

Patterns editor:

Expand All @@ -21,7 +23,10 @@ Current ("o" = we think it is fixed):
o Fixed: When a background sequence is chosen, it is not possible to display
another one or to turn it off.
- Why does velocity change in data pane not work when starting from the
left in barrage.midi, but work okay when starting from the right?
left in barrage.midi? The Kepler34 "relative change" feature. This
feature is macroed out for now.
- Ctrl-Z works, but does not undo the modify flag. (Our undo method
is not completely robust.

Added code to pass arrow events from the qscrollslave to the
qscrollmaster. Does not work for wheel events, oddly enough.
Expand Down Expand Up @@ -112,23 +117,13 @@ ISSUES:
#3 Open loop Pattern Editor window.
On mouse wheel scroll event we expect the piano-roll and notes sheet to
scroll vertically.
STATUS: We had to disable mouse-wheel scrolling for this reason: In
qseqkeys, we did not want the scroll wheel to accidentally scroll the
piano keys vertically. Same for qscrollmaster, qseqeditframe64, except
that we note wheelEvent() is not called for some reason. One way around
this issue might be to somehow pass child scrolling up to the
qscrollmaster class, e.g. via a signal. For now, we have mitigated
this issue by enabling the scroll wheel in the pattern and song piano
rolls, and disabled it in qseqdata, qseqtime, qstriggereditor,
qperfnames, and qpertime.
STATUS: Mostly fixed; it works only if the piano roll has focus.
See the code involving the qscrollmaster and qscrollslave.

#24 Release notes in release tag message?
STATUS: Will try to create a GitHub release using the "hub" program and
the RELNOTES (not .md) file.

#37 Song editor scrolling?
STATUS: Closed, refer to issue #3 instead.

#44 "Record live sequence changes" functionality
Currently the "record live sequence changes" only adds patterns into the
song timeline as whole loops, starting at the last pattern loop and ending
Expand Down
4 changes: 2 additions & 2 deletions data/license.text
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Seq66 Licensing 0.99.5 and above
Seq66 Licensing 0.99.6 and above
Chris Ahlstrom
2015-09-10 to 2023-05-20
2015-09-10 to 2023-06-01

Applications:

Expand Down
4 changes: 2 additions & 2 deletions data/readme.text
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
readme.text for Seq66 0.99.5 and above
readme.text for Seq66 0.99.6 and above
Chris Ahlstrom
2015-09-10 to 2023-05-20
2015-09-10 to 2023-06-01

Seq66 is a refactoring of a reboot (sequencer64) of seq24, extending it with new
features and bug fixes, and incorporation of Modern C++ (C++11/C++14). It
Expand Down
5 changes: 2 additions & 3 deletions libseq66/include/os/shellexecute.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,13 @@
* \file shellexecute.hpp
* \author Chris Ahlstrom
* \date 2022-05-19
* \updates 2022-05-19
* \updates 2022-05-29
* \license GNU GPLv2 or above
*
* This module provides functions for executing commands from within
* the application.
*/

#include "seq66_platform_macros.h" /* detecting Linux vs Windows */

/*
* Do not document a namespace; it breaks Doxygen.
*/
Expand All @@ -44,6 +42,7 @@ namespace seq66
*/

extern bool command_line (const std::string & cmdline);
extern bool open_document (const std::string & documentpath);
extern bool open_pdf (const std::string & pdfspec);
extern bool open_url (const std::string & pdfspec);
extern bool open_local_url (const std::string & pdfspec);
Expand Down
6 changes: 3 additions & 3 deletions libseq66/include/play/sequence.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
* \library seq66 application
* \author Chris Ahlstrom
* \date 2015-07-30
* \updates 2023-05-24
* \updates 2023-05-29
* \license GNU GPLv2 or above
*
* The functions add_list_var() and add_long_list() have been replaced by
Expand Down Expand Up @@ -1712,13 +1712,13 @@ class sequence
(
midipulse tick_s, midipulse tick_f,
midibyte status, midibyte cc,
int d_s, int d_f
int d_s, int d_f, bool finalize = false
);
bool change_event_data_relative
(
midipulse tick_s, midipulse tick_f,
midibyte status, midibyte cc,
int newval
int newval, bool finalize = false
);
void change_event_data_lfo
(
Expand Down
3 changes: 2 additions & 1 deletion libseq66/include/util/strfunctions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
*
* \author Chris Ahlstrom
* \date 2018-11-23
* \updates 2023-04-29
* \updates 2023-05-29
* \version $Revision$
*
* Also see the strfunctions.cpp module.
Expand Down Expand Up @@ -159,6 +159,7 @@ extern tokenization tokenize
);
extern tokenization tokenize_quoted (const std::string & source);
extern std::string simplify (const std::string & source);
extern std::wstring widen_string (const std::string & source);

/**
* This function comes, slightly modified to avoid throwing an exception,
Expand Down
45 changes: 36 additions & 9 deletions libseq66/src/cfg/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
* \library seq66 application
* \author Chris Ahlstrom
* \date 2016-05-17
* \updates 2023-05-25
* \updates 2023-05-30
* \license GNU GPLv2 or above
*
* The first part of this file defines a couple of global structure
Expand All @@ -40,6 +40,12 @@
#include "os/shellexecute.hpp" /* seq66::open_url(), open_pdf() */
#include "util/filefunctions.hpp" /* seq66::find_file() */

/*
* TEMPORARY
*/

static const bool s_netdocs_first = false;

/*
* Do not document a namespace; it breaks Doxygen.
*/
Expand Down Expand Up @@ -429,7 +435,9 @@ ppqn_in_range (int ppqn)


/**
* First try the web, then the directory list.
* First try the web, then the directory list. Actually, let's do it the
* other way, on the theory that the local install should be used for
* documentation as well.
*/

bool
Expand All @@ -438,7 +446,13 @@ open_user_manual ()
static const std::string s_url =
"https://ahlstromcj.github.io/docs/seq66/seq66-user-manual.pdf";

bool result = open_url(s_url);
bool result = false;
bool netdocs_done = false;
if (s_netdocs_first)
{
result = open_url(s_url);
netdocs_done = true;
}
if (! result)
{
std::string docpath = find_file
Expand All @@ -448,6 +462,8 @@ open_user_manual ()
result = ! docpath.empty();
if (result)
result = open_pdf(docpath);
else if (! netdocs_done)
result = open_url(s_url);
}
return result;
}
Expand All @@ -458,18 +474,25 @@ open_tutorial ()
static const std::string s_url =
"https://ahlstromcj.github.io/docs/seq66/tutorial/index.html";

bool result = open_url(s_url);
bool result = false;
bool netdocs_done = false;
if (s_netdocs_first)
{
result = open_url(s_url);
netdocs_done = true;
}
if (! result)
{
std::string tutpath = find_file(tutorial_folder_list(), "index.html");
result = ! tutpath.empty();
if (result)
result = open_url(tutpath);
else if (! netdocs_done)
result = open_url(s_url);
}
return result;
}


/**
* This list is useful to look up the installed documentation. It starts with
* the possible installation areas. For debugging, the relative directories,
Expand All @@ -484,8 +507,12 @@ doc_folder_list ()
if (s_uninitialized)
{
#if defined SEQ66_PLATFORM_WINDOWS
static std::string s_64_dir = "C:/Program Files/Seq66/data/doc";
static std::string s_32_dir = "C:/Program Files (x86)/Seq66/data/doc";
static std::string s_64_dir =
"C:/Program Files/Seq66/data/share/doc";

static std::string s_32_dir =
"C:/Program Files (x86)/Seq66/data/share/doc";

std::string app_path = seq_app_path();
s_64_dir[0] = app_path[0];
s_32_dir[0] = app_path[0];
Expand Down Expand Up @@ -522,9 +549,9 @@ tutorial_folder_list ()
{
#if defined SEQ66_PLATFORM_WINDOWS
static std::string s_64_dir =
"C:/Program Files/Seq66/data/doc/tutorial";
"C:/Program Files/Seq66/data/share/doc/tutorial";
static std::string s_32_dir =
"C:/Program Files (x86)/Seq66/data/doc/tutorial";
"C:/Program Files (x86)/Seq66/data/share/doc/tutorial";

std::string app_path = seq_app_path();
s_64_dir[0] = app_path[0];
Expand Down
Loading

0 comments on commit 846e874

Please sign in to comment.