This provides additional improvements and updates for building
Audacity using Xcode 5.1 or above.
The whole configure/makefile system is no longer used during
normal builds. During library additions/updates it used to
regenerated the headers in mac/config.
That is the function that computes the heights of dark and pale blue lines in
the waveform display.
It's not simple but now the flow of control is less strange and it is better
commented.
This doesn't fix or enhance anything, but it might find use later, such as in
a project to adapt the resolution of the display in reponse to slow scrolling
updates.
src/prefs/ModulePrefs.cpp:99: warning: Empty msgid. It is reserved by GNU gettext:
gettext("") returns the header entry with
meta information, not the empty string.
Based on Robert's and Steve's suggestions, I removed the "Clear"
button, replaced FileDialog usage with wxFileDialog to restore
extension suffixing, and escaped newlines in save settings so
that chains work properly.
I also attempted to locate the issue where code isn't being
parsed and made a couple of changes, but I doubt I got it.
On Windows, you use:
/d <filename>
--decode <filename>
On Linux and OSX, you use:
-d <filename>
--decode <filename>
Note that the input (binary) file IS replaced with the decoded
XML file.
This captures crashes on Windows along with the stack backtrace.
On Linux (fedora 21 at least), the necessary function to enable
capture is not included in the system wx libs. But, a self built
version works fine and capture the backtrace, so I'm assuming
other distros will probably work as well.
On OSX, the crashes are caught, but it does not include the
backtrace.
But, really, the backtraces aren't all that useful in a release
build since we don't ship with debug symbols and optimization
plays havoc with proper backtraces anyway.
The real benefit will be for the support folks as they can now
get consistent info from user by asking the to generate a report
from the "Help->Generate Support Data" menu item.
This changes the autosave XML file to a binary representation
during writing to speed up autosave processing. A lot of the
time used during autosave is a result of having to convert and
print all of the values to the XML file.
Writing the same information, but in binary format, reduces
all of that to just the bare essentials and the actual write
I/O.
During recovery, the binary file is read and converted to
the real xML representation and processing happens as it
did before.
It is a noticeable difference with very long or many tracks.
The included fix has to do with append recording.
Say you have 3 tracks and you want to append recorded audio
to the middle track. Sometime later Audacity crashes and
upon recovery, the recorded audio is actually appended to
the third track, not the second one.
This fixes that by adding an "autosaveid" to each track as
it is written to the autosave file. The same ID is written
to the recording recovery appends to the autosave file.
Then, during recovery, the IDs are matched up and the audio
gets appended to the proper track.
These autosaveid attributes are only present in the autosave
file and not in saved project files.
During an append record, silence may need to be added to the
end of the existing track(s) to fill any gap between the end
and the common recording start time.
But, if the recording fails to start, this silence is left at
the ends of the tracks.
This change fixes that by making a copy of the tracks before
recording starts and restoring the tracks from that copy if
the start fails.
During an append record, silence may need to be added to the
end of the existing track(s) to fill any gap between the end
and the common recording start time.
But, if the recording fails to start, this silence is left at
the ends of the tracks.
This change fixes that by making a copy of the tracks before
recording starts and restoring the tracks from that copy if
the start fails.
EXPERIMENTAL_SCRUBBING_BASIC enables middle-click-drag to scrub, or to seek
when shift is down.
EXPERIMENTAL_SCRUBBING_SMOOTH_SCROLL adds middle-double-click-drag to
scrub or (with SHIFT down) to seek while keeping the playhead at the midline
of the track display.
EXPERIMENTAL_SCRUBBING_SCROLL_WHEEL allows control wheel to vary the speed
limit, while scrubbing (not seeking).
All three are enabled in this commit.
Also notice the changes to status bar messages and the Mouse Preferences dialog.
Scrubbing works only in Select and Multi tools.