mirror of
https://github.com/cookiengineer/audacity
synced 2026-01-02 14:17:07 +01:00
6eac877de6453542dc278b2439eb0f9c983cee89
... and some parts of drawing too (snap lines and zoom boxes)
Many new source files
No UI changes intended, except:
small changes in drawing zoom boxes (hide narrow enough boxes)
update display of selection as you drag the selected label (not just at
mouse up)
status bar preview messages for clicks on cutlines or clip boundaries
ESC key is implemented for all drags -- including now those which would
make new Undo items if they completed -- and in all cases, "should"
restore the state of the project as it was at button-down, though some
details are not yet right for restoring the set of selected tracks
A TrackPanelCell abstract class dispatches keystroke and mousewheel events;
subclasses for vertical rulers, track control panels, and tracks provide
overrides.
TrackPanelCell also has a hit test routine that returns a status message,
a preview cursor, and an object that inherits from abstract class UIHandle.
UIHandle in turn implements policies for click, drag, release, ESC key,
drawing of extra decorations during drag, and cursor and status message changes
during drag.
There are eighteen (immediate) subclasses of UIHandle, for:
Note track channel buttons
Other pushbuttons (close, menu, mute, solo, minimize)
Sliders (pan, gain, velocity)
Note track stretch
Selections (new, extended with Shift, spectral)
Envelope editing
Sample editing
Zoom tool
Time shift
Wave track vertical ruler clicks and drags
Note track vertical ruler clicks and drags
Clicking a cutline or clip boundary
Dragging or stretching a label
Clicking a label box and selecting text within it
Other clicks on Label track
Resizing a track or channels of a stereo track
Clicking TCP to select and dragging to rearrange tracks
Click on the empty area, to deselect all tracks
A few of these have effects at button-down; others not until button up, and
such have ESC key implemented.
Perhaps it would be better that all clicking actions are consistently delayed
until button up?
…
…
…
…
…
Audacity(R): free, open source, cross-platform audio software for
multi-track recording and editing: http://www.audacityteam.org/ .
User suppport is provided on Audacity Forum:
http://forum.audacityteam.org/ .
We welcome feedback on Audacity, suggestions for new or improved features,
and bug reports at feedback@audacityteam.org .
Audacity is copyright (c) 1999-2017 by Audacity Team. This copyright
notice applies to all documents in the Audacity source code archive,
except as otherwise noted (mostly in the lib-src subdirectories).
"Audacity" is a registered trademark of Dominic Mazzoni.
The Audacity documentation is licensed under the Creative Commons
Attribution 3.0 license: http://creativecommons.org/licenses/by/3.0/legalcode .
Compilation instructions for Audacity are provided in the source code:
* Windows: win\compile.txt
* macOS: mac/Build.txt
* GNU/Linux: INSTALL .
You can ask for help with compilation problems at:
http://forum.audacityteam.org/viewforum.php?f=19 .
If you want to suggest some simple text change in our code, please submit a
pull request on https://github.com/audacity/audacity/pulls . It's usually
best to discuss functional code changes with us first on audacity-devel:
https://lists.sourceforge.net/lists/listinfo/audacity-devel .
Version 2.1.3
Contents of this README:
1. Licensing
2. Changes since version 2.1.2
3. Known Issues at Release
4. Source Code, Libraries and Additional Copyright Information
--------------------------------------------------------------------------------
1. Licensing
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. The program source code is also freely
available as per Section 4 of this README.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
along with this program (in a file called LICENSE.txt); if not, go
to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html or write to
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307 USA
-------------------------------------------------------------------------------
2. Changes since version 2.1.2:
Changes and Improvements:
* Interface:
* (macOS) Support for horizontal scroll on Magic Mouse / Trackpad and for
Trackpad pinch/expand zoom gestures.
* Pinned option on waveform makes waveform move and recording/playing head
stay still.
* Timer Record options to save/export/exit after recording.
* Scrub Ruler and optional Scrub Toolbar.
* New shortcuts ALT+RIGHT and ALT+LEFT (move to labels without editing).
* Effects:
* Effects no longer grayed out when paused.
* New Distortion effect (replaces Leveller).
* SBSMS (higher quality but slower) option on Change Tempo / Change Pitch
effects.
* New Rhythm Track generator (replaces Click Track).
* New Generator for Sample Data Import.
* Nyquist effects now significantly faster.
* Other Changes:
* Upgraded the PortAudio library to v19 rev r1966. This gives Audacity
Windows 10 support.
* (Windows) DirectSound now records 24-bit samples.
* (macOS) Audacity.app now has its resources inside it rather than in a
separate folder, so installation to /Applications/ is cleaner.
* (macOS) Audacity 2.1.3 provides partial support for Sierra. Details at
http://wiki.audacityteam.org/wiki/Partial_Support_for_Mac_Sierra_in_2.1.3 .
Bug fixes:
Over 60 bugs fixed, including five longstanding bugs.
-------------------------------------------------------------------------------
3. Known Issues in 2.1.3:
For known issues at release of 2.1.3 please see:
http://wiki.audacityteam.org/wiki/Release_Notes_2.1.3#known .
-------------------------------------------------------------------------------
4. Source Code, Libraries and Additional Copyright Information
Source code to this program is always available; for more information visit
our web site at:
http://audacityteam.org/download/source
Audacity is built upon other free libraries; some of these libraries may have
come with Audacity in the lib-src directory. Others you are expected to install
first if you want Audacity to have certain capabilities. Most of these libraries
are not distributed under the terms of the GPL, but rather some other free,
GPL-compatible license. Specifically:
expat: BSD-like license.
Provides XML parsing. Included with Audacity.
FFmpeg: GPL or LGPL (according to how you obtain/configure it)
Provides decoding/encoding of additional formats. Optional separate
download.
libid3tag: GPL
Reads/writes ID3 tags in MP3 files. Optional
separate download as part of libmad.
libflac: Xiph.Org BSD-like licence (the parts we use)
Decodes and Encodes Free Lossless Audio Codec files. Optional separate
download.
libmad: GPL
Decodes MP3 files. Optional separate download.
libnyquist: BSD-like license.
Functional language for manipulating audio; available
within Audacity for effects processing.
libogg: BSD-like license.
Optional separate download, along with libvorbis.
libsndfile: LGPL
Reads and writes uncompressed PCM audio files.
Included with Audacity.
libsoxr: LGPL
The SoX Resampler library performs one-dimensional sample-rate conversion.
libvamp: new-style BSD
Plug-in interface and support library for audio analysis plug-ins.
Included with Audacity.
libvorbis: BSD-like license.
Decodes and encodes Ogg Vorbis files. Optional
separate download.
lv2: a merging of the lilv (ISC license), lv2 (LGPL), msinttypes, serd (ISC),
sord, sratom, and suil libraries to support LV2 plug-ins.
portsmf: BSD-like license.
library for reading and writing midi files. Included with Audacity
sbsms: GPL v2
Pitch and tempo changing library. Included in Audacity
SoundTouch: LGPL
Changes tempo without changing pitch and vice versa.
Included in audacity
Twolame: LGPL
Encodes MPEG I layer 2 audio (used in DVDs and Radio). Optional separate
download.
wxWidgets: wxWindows license (based on LGPL)
Cross-platform GUI library - must be downloaded and
compiled separately.
For more information, see the documentation inside each library's
source code directory.
--------------------------------------------------------------------------------
Additional copyright information:
--------------------------------------------------------------------------------
Nyquist
Copyright (c) 2000-2002, by Roger B. Dannenberg
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
Redistributions of source code must retain the copyright notice, the
list of conditions, and the disclaimer, all three of which appear below under
"COPYRIGHT AND LICENSE INFORMATION FOR XLISP."
Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
Redistributions in binary form must reproduce the copyright notice, the
list of conditions, and the disclaimer, all three of which appear below under
"COPYRIGHT AND LICENSE INFORMATION FOR XLISP," in the documentation
and/or other materials provided with the distribution.
Neither the name of Roger B. Dannenberg, Carnegie Mellon University, nor the
names of any contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
COPYRIGHT AND LICENSE INFORMATION FOR XLISP (part of Nyquist):
Copyright (c) 1984-2002, by David Michael Betz
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
Neither the name of David Michael Betz nor the names of any contributors may be
used to endorse or promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Description
Languages
C++
56.3%
C
34.4%
Common Lisp
4.3%
CMake
1.6%
Python
1%
Other
2.2%