Having lots of rules in RuleTable may lead to an assertion failure on opening preferences dialog:
> assert "sz.x <= 1000 && sz.y <= 750" failed in
> PrefsDialog::PrefsDialog(): Preferences dialog exceeds max size
This change will make the RuleTable scrollable (as it is/was when creating many rules) instead of expanding the dialog size.
Further I had to fix the calculation of the clicked row from the given coords. Even without this proposed change for scrolling, the calculated row has always been the one above the clicked row - maybe this changed in wxWidgets 3.0.
Now it uses CalcUnscrolledPosition() which seems to work fine even without scrolling.
Last change is for drag and drop mode: rules are not being copied, but moved on dnd - I changed this to reflect this mode on the cursor while dragging an item.
Adds a configuration for appVeyor triggering a build of the release
version for each new commit. Needs registering at ci.appveyor.com with
the github account. Debug is not built, due to time limit of the free
version of appVeyor. Release build takes at least 30 minutes and up to
45 minutes. The time limit is 60 minutes.
Uses the undocumented possibility of building wxWidgets as dynamic
library by specifying "DLL Release" as configuration. The method in the
install instructions is impossible to automate as far as I could find
out.
Builds all targets except of "help" and "locale", because locale took
too long for the complete build to succeed the time limit.
This is not satisfying as new targets must be added manually to the
build. If this does not happen, the build will not fail, although the
new target could possibly fail building.
Unfortunately their seems to be no way to build the default targets
while excluding specific ones.
Adding target "help" was not tested.
Possible improvement: Put the complete "install" part into a install
script. That would help people easily building audacity and prevent
outdated install instruction as is the case at the moment.
I am not sure if renaming wx/setup_redirect.h into wx/setup.h is the
correct way, but it seems to work. Following the install instructions
resulted in missing wx/setup.h.
Thanks to Darrell Walisser for the outline of the problem, which was causing laggy dragging of stereo track sizes in spectrogram view.
This was caused by refreshing the horizontal ruler unnecessarily.
This brings more of the code from DarkAudacity into Audacity, though not yet enabled. This will make cherry picking later easier.
- Changing colour of html displays now possible, as colour links are visible for substitution. (Can't use css as wxHTML is very limited).
- Export can now be preset to a particular format independent of preferences.
- SnapTo reversion on zoom now a DA controlled option.
- Caching of pinning preference for faster repaint because preferences are slow.
- Record Append now has sensible limit on number of tracks, rather than giving an error, and flipping the meaning of shift is now DA controlled.
Bug no longer moonphase when exporting stereo. Iterator is iterating through channels, not tracks, so we need to allow for that when we skip whole tracks.
It WAS working, just not the way QA wanted, because releasing mouse click when in the ruler and on the first seek continued the seek/scrub cycle. Introduced a 'mInOneShotMode' variable to complete the baroque behaviour in the way that was requested. Also updated tool tip code to reflect the one-shot and non one-shot difference in tooltip and status.
Previously the dialog listed multiple characters that are disallowed. On Mac, only ":" is disallowed, so the text in that case can't say "any of" without looking funny.
... And in some places where a library uses signed types, assert that
the reported number is not negative.
What led me to this, is that there are many places where a size_t value for
an allocation is the product of a number of channels and some other number.
Some simplification in the Repair effect
Rewrite RingBuffer methods with size_t arguments and returns
Rewrite Resample::Process to take and return size_t values
SAMPLE_SIZE macro returns size_t
BlockFile::GetSpaceUsage() returns an unsigned value
Return wide type from ImportFileHandle::GetFileUncompressedBytes()...
Undo a global effect with RAII
these functions do not need to be virtual
Comments where casting to sampleCount from other library typedefs
Fix incorrect comment, use auto