1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-04-23 06:23:49 +02:00
Commit Graph

9811 Commits

Author SHA1 Message Date
Emily Mabrey
5854538e9a Fix for unsage alloca usage (CWE-770)
Removed two looping usages of `alloca` that could lead to smashed stacks.

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
2021-07-30 00:48:23 -04:00
akleja
f4c288e20b Enable snapping to selection/edit cursor
Makes item snap to selection start and end points.

Also makes items snap to edit cursor, which follows
selection start point.

Signed-off-by: akleja <storspov@gmail.com>
Reference-to: https://github.com/tenacityteam/tenacity/pull/387
2021-07-29 20:58:04 +00:00
akleja
b0d45a4a65 Improve sync-lock
Adds modifier key to temporarily override sync-lock
Improves the workflow when using synced tracks
Changes Background of synced tracks
Makes locked background tile without gaps and offsets

Signed-off-by: akleja <storspov@gmail.com>
2021-07-28 21:10:05 +02:00
akleja
2eca2e39ca Update themes
Fixes a number of small coloring mistakes.
Changes GraphLines color in light theme to black.

Signed-off-by: akleja <storspov@gmail.com>
2021-07-28 21:09:54 +02:00
akleja
ca2977039b Draw v-ruler border in height with affordances
The affordances made parts of the 1px black border between v-ruler and
track controls not draw properly. This resulted in graphical glitches
where the border should be.

Signed-off-by: akleja <storspov@gmail.com>
2021-07-28 07:53:01 +00:00
Emily Mabrey
a21a554f5b Fix for unsafe ctime usage (CWE-676)
Replace unneeded and unsafe usage of `ctime` with `chrono` based timing.

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
Reference-to: https://github.com/tenacityteam/tenacity/pull/394
2021-07-27 03:20:09 -04:00
Emily Mabrey
e06af5bb29 Fix MacOS hdiutil CMake parallelization issue
* Make CMake builds better parallelized
* Update CI Build script parallelization
* Make `repeat_hdiutil.sh` take longer between repeats
* Make sure that bash is the latest version on CI builds.

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
Reference-to: https://github.com/tenacityteam/tenacity/pull/391
2021-07-26 23:55:44 -04:00
akleja
b0d9f805a6 New mouse pointers and zoom icons
* Add custom draw tool cursor
* Replace most old mouse cursors
* Increase consistency with toolbar icons
* Replace zoom icons in FreqWindow
* Increase consistency across themes
* Add custom selection adjustment cursor

(The Windows ones looked like they originated from the DOS era.)

Co-authored-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
Signed-off-by: akleja <storspov@gmail.com>
Signed-off-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
2021-07-26 13:24:17 +00:00
Semisol
a30f84e449 Change configuration and data directories
Merge xdg-dirs into master
2021-07-26 12:39:59 +03:00
fossdd
b4fbbea88f Fix Tenacity's name in desktop entry
Signed-off-by: fossdd <fossdd@tenacityaudio.org>
2021-07-26 11:03:32 +03:00
Sol Fisher Romanoff
401979369b Rename config and data directories
Also deprecate ~/.audacity-data

Signed-off-by: Sol Fisher Romanoff <sol@solfisher.com>
2021-07-26 00:54:17 +03:00
Panagiotis Vasilopoulos
674c33dda1 Replace Audacity reference in lastlog.txt
Signed-off-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
2021-07-25 20:09:07 +03:00
Campbell Jones
c0c275ffaf Use XDG dirs by default on Linux
Signed-off-by: Campbell Jones <git@serebit.com>
2021-07-25 19:01:48 +03:00
Sol Fisher Romanoff
a74e072062 Merge pull request #351 from akleja/edit-cursor
Draw edit cursor across entire track area
2021-07-25 15:40:10 +03:00
fossdd
3d7de4f2c7 Rename Tenacity's config file
Resolves #362

Signed-off-by: fossdd <fossdd@pwned.life>
2021-07-25 10:05:58 +03:00
Emily Mabrey
a8e9a0053d Refactor AboutDialog.cpp and create BuildInfo.h
Move build information functionality into new `BuildInfo.h` header.
Fix formatting issues in credits list.
Add missing libraries to library list.
Fix translation issues for contributor credits.
Hide ugly macro and `#ifdef` usage inside `BuildInfo.h`.
Convert some `#ifdef` usage into `constexpr` uses.
Reassure the compiler that the compiler specific version macros exist.

Reference-to: https://github.com/tenacityteam/tenacity/pull/361
Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
2021-07-25 00:40:45 -04:00
Panagiotis Vasilopoulos
9ac757ebc3 Updated About Dialog
* Add names (Not final yet)
* Added contact information for every contributor (Not final yet)
* Add "Special Thanks" section
* Improve some logic
* Add notice regarding the alphabetical order
* Improved tagline

Signed-off-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
2021-07-24 05:03:31 +00:00
akleja
15fbecbc56 Draw cursors across entire track area
As long as there are tracks present, draw edit cursor, scrub cursor and
quick play cursor across the entire track area.
Fixes problems introduced by Track Affodances, and also makes the
cursors behave like the play and record cursors.

Signed-off-by: akleja <storspov@gmail.com>
2021-07-23 23:24:34 +02:00
Mart Raudsepp
3951617306 NoteTrackShifter: Fix build without USE_MIDI
Try to keep PortMIDI/PortSMF optional by wrapping it within USE_MIDI
check like NoteTrack class itself is.

Signed-off-by: Mart Raudsepp <leio@gentoo.org>
2021-07-23 08:41:01 +00:00
akleja
f30d516a64 Remake all of the themes
* Colours applied to new elements from upstream
* Light theme remake
* HiContrast theme remake
* Classic Theme remake
* Removal of black border and shadows around tracks
* Decreased contrast of bevels around TrackVRulerControls to make it fit better with the new themes.
* Tweaks to track lock symbols
* The unused colors have been reverted to their old colors to prevent unforeseen consequences.

Signed-off-by: akleja <storspov@gmail.com>
2021-07-23 05:19:05 +00:00
Emily Mabrey
eb6734a48b Move XO(...) outside #ifdef
Placing `XO` usage inside pre-processor blocks is not consistenly translatable.

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
2021-07-22 20:37:07 -04:00
Panagiotis Vasilopoulos
8e61eb5c22 Remove __TDATE__ to improve reproducibality
"This typically involves normalizing variables that may change, such as [...]
timestamps, locales, and paths."

https://en.wikipedia.org/w/index.php?title=Reproducible_builds&oldid=1029647675

Signed-off-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
2021-07-22 19:48:37 +00:00
Ajay Ramachandran
cb7a6c9056 Rename executable names and package name
Switch folder paths to tenacity

Signed-off-by: Ajay Ramachandran <dev@ajay.app>
2021-07-22 14:16:19 +00:00
Emily Mabrey
2f316d5bc4 Rename project in many places; Replace Most Project Logos; Refactor About Tenacity... Dialog (#276)
Add `locale/en.po` file.
Add English to `locale/LINGUAS` list.
Partially duplicate `msgid`s to `msgstr`s in English locale enable eventual key `msgid` changes
Replace former project name with Tenacity in English locale.
Replace former project website with Tenacity compatible usages in English locale.
Modify `AboutDialog.h` by renaming variables.
Modify `AboutDialog.cpp` by replacing usage of pre-fork name in Strings.
Modify AddBuildInfoRow methods to be static in About dialog.
Make License text const in About dialog.
Make pre-fork credits different in About dialog.
Begin adding Tenacity specific credits
Macros starting with `__` are reserved, so I removed the `__` on the About Dialog guard macro.
Remove `AboutDialog::` from usage of `Role` in `AboutDialog.h`
Refactor overly long generator method into separate methods in `AboutDialog.(h|cpp)`
Begin adding Tenacity developer information
Cleanup layout of `AboutDialog.h` and `AboutDialog.cpp`
Add `safedelete` macro to compliment odd `safenew` macro
Add `enum` to `ShuttleGui.cpp` to make it more clear what `Prop` method is doing.
Remove a ton of pointless and/or redunant `#ifdef` usage
Remove pointless singleton in AboutDialog
Make AboutDialog modal on MacOS
Fix reference type use of `auto` in `AudacityApp` b/c it makes unintentional copy.
Update XPM and PNG images using Tenacity assets
Update ICO images using Tenacity assets.
Fix Windows resource script that improperly used `winuser.h` import.
Add `*.aps` to gitignore to prevent IDE RC pre-load file from being committed.
Add default values for pre-processor constants in `tenacity.rc`.
Make changes needed for `Tenacity.exe` binary
Add 8x8 PNG to Windows ICO files
Replace project name in various CMake and CPack file.
Replace project name in various directory structures.
Replace project name in various OS-specific build files.
Replace project name in various documentation files.
Update the PO and POT files using the script.
Fix places where a `.desktop` file was used on Linux.
Replace title of project windows.
Make splash screen click through to `tenacityaudio.org`.
Remove ® from `AboutDialog.cpp`
Modify copyright message in `AboutDialog.cpp`

Signed-off-by: Emily Mabrey <emilymabrey93@gmail.com>
2021-07-20 19:46:29 -04:00
Edgar
641b293dde 🐛 Fixed missing files when packaging with ninja on windows
Signed-off-by: Edgar <Edgar@AnotherFoxGuy.com>
2021-07-20 06:08:23 -05:00
nyanpasu64
2e5a05016b FreqWindow: Save cursor position as frequency, not pixel position
Fixes the cursor remaining on the same pixel but changing frequency,
when resizing the window horizontally with a cursor active (already
broken), or zooming/scrolling horizontally with a cursor active (only
possible in this branch).

Signed-off-by: nyanpasu64 <nyanpasu64@tuta.io>
2021-07-19 18:49:25 -05:00
nyanpasu64
65b7c100d6 FreqWindow: Implement horizontal zoom/scroll
This uses an exponential curve when zooming horizontally. This feels
more natural than the "reciprocal" curve used for vertical zoom. I tried
using that curve for horizontal zoom as well, but it was flawed because
it would zoom slowly at first but accelerate as you approached maximum
zoom level.

One minor issue is that dragging the zoom slider now results in zooming
in slightly to the left of the center of the plot. This is because every
change in zoom level recomputes the horizontal scrollbar's size and
position, rounding the position down to the nearest integer. The
rounding errors accumulate over many updates.

This needs to be solved by storing the intended center/boundaries of the
viewport (either its frequency or position) independently of the
scrollbar.

Signed-off-by: nyanpasu64 <nyanpasu64@tuta.io>
2021-07-19 18:49:25 -05:00
nyanpasu64
dc55aeb568 FreqWindow: Document vertical zoom slider and misplaced blue line
Signed-off-by: nyanpasu64 <nyanpasu64@tuta.io>
2021-07-19 18:49:25 -05:00
nyanpasu64
7ac6dc175b FreqWindow: Fix bug where zooming out doesn't clamp scroll until redraw
Signed-off-by: nyanpasu64 <nyanpasu64@tuta.io>
2021-07-19 18:49:25 -05:00
nyanpasu64
37dc454463 FreqWindow: Begin refactoring vertical zooming code
Signed-off-by: nyanpasu64 <nyanpasu64@tuta.io>
2021-07-19 18:49:25 -05:00
nyanpasu64
c3290707cb FreqWindow: Add horizontal scrollbar and zoom (not functional)
Signed-off-by: nyanpasu64 <nyanpasu64@tuta.io>
2021-07-19 18:49:25 -05:00
nyanpasu64
7660f58fa1 FreqWindow: Prefix pan/zoom names with v (for vertical)
This is so we can add horizontal pan/zoom widgets later.

Signed-off-by: nyanpasu64 <nyanpasu64@tuta.io>
2021-07-19 18:49:25 -05:00
nyanpasu64
4bb16a7f51 FreqWindow: Document fields, remove dead field
Signed-off-by: nyanpasu64 <nyanpasu64@tuta.io>
2021-07-19 18:49:25 -05:00
akleja
180ca1948b Fix: Edit cursor coloring not being applied 2021-07-19 19:59:04 +03:00
Paul Licameli
e9c575cbc1 Fix "Scriptables" commands, which broke at 02b6153...
... Problem was the loss of an override of PluginManager::GetID() for a more
specific pointer type.
2021-07-19 05:45:54 +00:00
John Colket
9808b8d429 Bug 2782 - 8-bit FLAC samples are not imported correctly 2021-07-19 05:45:54 +00:00
Vitaly Sverchinsky
750e4943f5 fix recording starting position (refs #1183) 2021-07-19 05:45:54 +00:00
Dmitry Vedenko
f93e9fcf94 Fixes #1305.
The check for macro directory now only happens if directory is selected and exists,
2021-07-19 05:45:54 +00:00
Vitaly Sverchinsky
75e6f4b8bc Note track affordances 2021-07-19 05:45:54 +00:00
Vitaly Sverchinsky
5672a179da Wave track affordances 2021-07-19 05:45:54 +00:00
Vitaly Sverchinsky
4f43326c77 Play head is now drawn from the top of track panel to the bottom 2021-07-19 05:45:54 +00:00
Vitaly Sverchinsky
1190041f3c Adding affordances to TrackPanel and TrackView 2021-07-19 05:45:54 +00:00
Vitaly Sverchinsky
f0bbb4ecda Affordance handle
Adds click behaviour to a TimeShiftHandle
2021-07-19 05:45:54 +00:00
Vitaly Sverchinsky
d199f59a7d Few new track art routines 2021-07-19 05:45:54 +00:00
Dmitry Vedenko
cd1efdc0ff Add new error dialog for unwritable directory. 2021-07-19 05:45:54 +00:00
Paul Licameli
cfaf834d16 Sequence of AudioIO and NetworkManager shutdowns fixes crash at exit 2021-07-19 05:45:54 +00:00
Dmitry Vedenko
73e9b4dcfe Adds a class that allows keyboard accessible links in the text.
ShuttleGUI::AddWindow has a new argument now: positionFlags. This argument does not change the default behavior.

StartWrapLay/EndWrapLay are added, so wxWrapSizer can be used from the ShuttleGUI.
2021-07-19 05:45:54 +00:00
Paul Licameli
82802f7781 Remove unnecessary declarations in include/audacity 2021-07-19 05:45:54 +00:00
Paul Licameli
67b0f8a869 Move ComponentInterfaceSymbol to separate header file 2021-07-19 05:45:54 +00:00
Paul Licameli
8a90ab94c3 Copy ComponentInterface.h to new file src/ComponentInterfaceSymbol.h 2021-07-19 05:45:53 +00:00