... Everywhere else, GetLeftOffset() not GetLabelWidth() is used as the origin
in PositionToTime and TimeToPosition.
This only affects two commands in TransportMenus.cpp. Starting time of
playback may change slightly (by the duration that corresponds to one pixel).
... with some reinterpretation of what it means to "set the height" of a track.
Changing height allocation for a reduced separator between panels may also
be done, but that logic should also be localized in TrackPanel.cpp.
... Move them to new header TrackPanelConstants.h, to be used only by TrackPanel
and some closely cooperating classes, but not known to the track view, controls,
vertical ruler, or affordance classes.
Also distinguish track from channel separator thickness though these remain
equal.
... implemented simply and more correctly (though not efficiently), hiding
details about the method of rectangle subdivision, and allowing for multiple
sub-views.
This function can be exercised by choosing Boxes in the Track Info item of
Extra > Scriptables II
This commit leaves one fewer call to each of TrackView::GetY() and
TrackView::GetHeight()
Closes #1413Closes#1414
This commit addresses issues with building PortMixer
using the upstream version of PortAudio.
The resulting solution allows:
* To build Linux with the vanilla PortAudio.
* To build Windows with the vanilla PortAudio, but the notable exceptions:
* for PortMixer to work on MME - PA 19.7.0 is required; only static linking is supported. A patch is available to allow dynamic linking;
* for PortMixer to work on DirectSound - the patch is always required.
Remove nyquist autotools
... This may allow upgrade to the latest version of portaudio, which is
desirable for fixes and improvements, including the fixing of build warnings on
Mac about use of deprecated SDK functions.
The function PaUtil_GetTime() cannot be called.
To make a conservative fix that doesn't affect the fine tuning of timing,
replicate the implementation of that function directly in AudioIO.cpp, with
all necessary conditional compilation branches.
Don't attempt a fix with std::chrono, although that would be more nicely
platform independent.
Testing should confirm that MIDI playback doesn't suffer any jittery timing,
such as it did especially on Linux with ALSA, when the playback feature was
under development in 2017.
... such as one whose only line is "CM,Exit", which can also be recorded.
But no commands that pop up modal dialogs, or mouse interactions, can yet play
back.