1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-04-07 14:57:42 +02:00
Commit Graph

148 Commits

Author SHA1 Message Date
james.k.crook@gmail.com
a94bfed0cc Incremental improvement to toolbars.
Fixes the undock-redock moving the toolbar to a new position.  No change expected to 'dock marker vanishes' in linux issue.
2014-10-29 19:15:19 +00:00
james.k.crook@gmail.com
51be26b49b Restore default meter size.
The meters are back to the length they used to be (with a little space lost for the grabber).  If we want to increase their default lengths then we should look at the space saver idea (make them less tall) or else widen the initial size of Audacity main screen.
2014-10-26 14:42:25 +00:00
lllucius
1eeb4d979a The fabled realtime effects...
I've made it where you can enable and disable via experimentals:

EXPERIMENTAL_REALTIME_EFFECTS
EXPERIMENTAL_EFFECTS_RACK

You will notice that, as of now, the only effects currently set up for
realtime are VSTs.  Now that this is in, I will start converting the
rest.

As I start to convert the effects, the astute of you may notice that
they no longer directly access tracks or any "internal" Audacity
objects.  This isolates the effects from changes in Audacity and makes
it much easier to add new ones.

Anyway, all 3 platforms can now display VST effects in graphical mode.
Yes, that means Linux too.  There are quite a few VSTs for Linux if
you search for them.

The so-called "rack" definitely needs some discussion, work, and attention
from someone much better at graphics than me.  I'm not really sure it should
stay in as-is.  I'd originally planned for it to be simply a utility window
where you can store your (preconfigured) favorite effects.  It should probably
revert back to that idea.

You may notice that this DOES include the API work I did.  The realtime effects
were too tied to it and I didn't want to redo the whole thing.  As I mentioned
elsewhere, the API stuff may or may not be very future proof.

So, let the critter complaints commence.  I absolute KNOW there will be some.
(I know I'll be hearing from the Linux peeps pretty darn quickly.  ;-))
2014-10-26 03:24:10 +00:00
james.k.crook@gmail.com
c26917a0ee Fix to toolbar positioning.
1) No longer have toolbars appearing at top-left of screen.
2) If using an old config, we won't have combined, play and record meter bars all at the same time anymore.
2014-10-25 13:53:25 +00:00
james.k.crook@gmail.com
f824dfcd0d Fix: With no prior config set show Record and Play meter, don't show Combined meter. 2014-10-24 20:37:19 +00:00
james.k.crook@gmail.com
8567775efb Fixed docking of large toolbars.
Previously there were three problems:
1) Docking marker calculation was relative to the mouse rather than relative to the top left of the dragged toolbar.  On a big toolbar dragged from the bottom of the dragger that could be a long way off.
2) Docking markers appeared too low down.  Their position was relative to the middle of the dragged toolbar.  However as the toolbar may be resized on placement that does not make sense.
3) Large (Height()>120) toolbars could be thought to be too tall to dock in some places.  The positioning code used their current size rather than their minimum size.
2014-10-24 18:18:51 +00:00
james.k.crook@gmail.com
fbbab2ce1b Now have three varieties of the Meter Toolbar.
We have separate record and play meters.  The original kind of meter is now called a combined meter.  I've kept it because it can be useful when undocked if you do want both meters.  I've also fixed it so that if made very narrow the meters stack vertically just as they already did horizontally.
2014-10-24 16:42:46 +00:00
james.k.crook@gmail.com
e31644eda8 Fix: Can now drag double height toolbars onto start of last row, even when last row is single height.
I also simplified the code by (a) exiting from a loop as soon as we know the answer and by (b) not treating the initial case of a loop as 'special'.
2014-10-21 16:36:32 +00:00
james.k.crook@gmail.com
2c5d9ef569 Comments and new variables in ToolDocking code. No change to function. 2014-10-21 14:17:42 +00:00
james.k.crook@gmail.com
bdbdf68248 Device and Mixer toolbar switched to LeftToRight order, record then play, for consistency with MeterToolbar. 2014-10-21 10:02:05 +00:00
james.k.crook@gmail.com
c47a140bcb Record on left, play on right. Left-to-right flow. 2014-10-20 20:12:56 +00:00
james.k.crook@gmail.com
9884538167 New header files that I missed out from the previous commit (Spectral editing) 2014-10-18 14:25:44 +00:00
james.k.crook@gmail.com
37608c2290 Paul Licameli's Spectral Editing Patch.
This relies on three new nyquist scripts to actually do the editing.  The peak-snapping code in FrequencyWindow has been extracted into a new class, SpectrumAnalyst, to provide peak-snapping in spectrogram too.
2014-10-18 14:19:38 +00:00
lllucius
c512822138 Additional changes for wx3
These are mostly for getting it to build on Linux, but I've
also created new configs in Visual Studio to make it easier
to switch between wx2 and wx3.

For Linux, you have to tell configure where to find the wx3
version of the wx-config script and, since some distros build
wxWidgets v3 against GTK+ v3, you may also need to enable
gtk3 with something like:

./configure --enable-gtk3 WX_CONFIG=/usr/bin/wx-config-3.0

On Windows, I've added "wx3-Debug" and "wx3-Release" to the
existing "Debug" and "Release" configurations.

They depend on you having your WXWIN environment variable
pointing to your wx2 directory and a new WXWIN3 environment
variable pointing to your wx3 directory.  For instance, I
have:

WXWIN=C:\Users\yam\Documents\wxWidgets-2.8.13
WXWIN3=C:\Users\yam\Documents\wxWidgets-3.0.2

Doing this allows you to switch freely among the 4 configurations
without having to get out of Visual Studio and monkey around with
the environment.

The project files will also add the location of the wxWidgets DLLs
to the PATH when running Audacity from within Visual Studio.  They
add %WXWIN%\lib\vc_dll or %WXWIN3%\lib\vc_dll at the beginning
of the PATH variable as appropriate.

I expect that once we convert to wx3 we'll just drop back down to
the normal Debug and Release configurations, but this should make
switching between wx2 and wx3 much easier during the transition.
2014-10-16 16:18:04 +00:00
lllucius
bdcefb4850 Preliminary changes for wxWidgets 3.0.1
We can't go to 3.0.1 yet as there are still build issues on
Linux and OSX.  You can get Windows to build, but there's
still some display issues.

These changes should work with wxWidgets 2.8.12 as well, so
we can take our time to get things working properly before
switching over.
2014-10-06 08:10:50 +00:00
james.k.crook@gmail.com
f5e593cc4c Paul L's new SelectedRegion class replacing use of t0 and t1. Also LabelTrack.h no longer in TrackPanel.h includes.
This change is believed to be a direct refactoring that does not change functionality.  It paves the way for more complex kinds of selection, such as selections involving frequency as well as time.  It also reduces risk of left and right edges being swapped in future code using SelectedRegion, as the default is to swap on assignment if needed.
2014-10-05 17:10:09 +00:00
lllucius
62e3467b7d Meter display changes as suggested by Peter, Steve, and Bill
Adds a transition from green to yellow starting at -12 db
or (0.50 for linear) and ending at -6 (or .75).  A transition
to red then occors to the end of the meter.

Meter preferences have been added and most of the context
menu items have been moved there.

In addition, you may now click the playback meter to reset
the peak level indicator instead of having to click the
record meter.
2014-10-03 06:15:29 +00:00
james.k.crook@gmail.com
2dc9325133 Two more unneeded 'SetPlay()'s commented out for consistency. 2014-08-17 13:06:54 +00:00
james.k.crook@gmail.com
0ff4403911 Modified version of Paul L's patch to correct play button state up/down looped/unlooped. 2014-08-17 10:23:31 +00:00
james.k.crook@gmail.com
4912d49721 Paul L's fix for Bug 684 - Timeline loop play persists after Stop or SPACE 2014-08-16 20:18:21 +00:00
RichardAsh1981@gmail.com
3f49828d37 Standardise on working oof Recording and Playback rather than Input and Output throughout Audacity. Remove some very old junks strings at the same time. 2014-07-21 21:37:53 +00:00
benjamin.drung@gmail.com
277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
lllucius@gmail.com
d50f893864 Fixes some minor issues reported by valgrind. 2014-05-27 02:02:59 +00:00
lllucius
dfffd0bf00 Fix Linux build from Steve 2013-11-01 17:56:56 +00:00
lllucius
ce00d5b507 [Bug 647] Snap-To clicks find nearest snap point, not nearest previous.
Convert SnapTo from on/off to a choice of off/nearest/prior.
2013-11-01 14:13:39 +00:00
lllucius
facf805658 Fix Mac build... 2013-10-27 08:26:01 +00:00
lllucius
3d95126e0e Bug 275 - Snap-To status/quantisation are global, leading to incorrect indications in multiple projects
This adds (I believe) project specific selection format.
2013-10-27 01:58:35 +00:00
lllucius
71fde85bfe Bug 115 - Snap-to causes spurious 'toolbar' to appear momentarily at start of dragging.
Completes James' TimeConverter work

This completes the work that James started.  It moves most of the non-GUI
related processing from TimeTextCtrl to James' TimeConverter class.

Other changes include:

1)  TimeTextCtrl now expects the format name instead of the format string to be
passed when creating a new instance.  I found that almost all cases created the
instance with a blank format string and then set the string after creation.

2)  To simplify maintenance and prevent a possible discrepancy between the two,
Increase() and Decrease() were merged into a single routine.

As a result:

1)  All cases where a TimeTextCtrl was being used to extract information and
not actually display a control have been changed to use TimeConverter instead.

2)  All cases where TimeTextCtrl was being created with an empty format and
then immediately followed by something like this:

    tt.SetFormatString(tt.GetBuiltinFormat(c->GetFormat()))

    have been changed to pass the format name instead of the format string when
creating the TimeTextCtrl instance.
2013-10-23 21:01:52 +00:00
lllucius
5c8baf9c16 Bug 406 - Label creation/other non-dialogue editing and keyboard selection hang on long projects
This is part 2...

Improve performance of selection via Selection bar

This provides a similar type of speed up when selecting with the keyboard via
the Selection toolbar.
2013-10-23 18:06:49 +00:00
lllucius
0bee195b0e Bug 275 - Snap-To status/quantisation are global, leading to incorrect indications in multiple projects
Make Snap To project specific

This makes the Snap To setting in the selection bar project specific.  Changing
it will no longer affect other open projects.

The state is saved to audacity.cfg when the checkbox is changed.  This means
that the next project window to open will start with the new value.  (As it
should be).
2013-10-23 17:47:00 +00:00
lllucius
4476bf26e6 Prevents keyboard navigation from freezing when the Snap To checkbox
has the focus on GTK.
2013-10-08 19:38:43 +00:00
lllucius
efabeb4a79 Shows if a volume is being emulated or not via the tooltip and status bar. 2013-09-24 06:58:49 +00:00
martynshaw99
4ce2643d5f Remove the
// Indentation settings for Vim and Emacs
etc. lines from all files, as Campbell's patch (except for other changes to Languages.cpp)
2013-09-24 00:14:37 +00:00
RichardAsh1981@gmail.com
b9a60462f5 Make global variables static so they only have file scope when that is all they need. Part of a patch by Campbell Barton 2013-09-21 19:21:31 +00:00
james.k.crook@gmail.com
dba81b3f1c Cleanup: Fixed lots of trivial MSVC warnings. 2013-08-25 21:51:26 +00:00
v.audacity
c7daafede2 In off-list discussion, Steve mentioned that kdevelop / kate highlighting recognizes "FIXME", but not "FIX-ME", which has been the Audacity convention. This commit changes Audacity code to use the "FIXME" convention (though I've never known it as convention and MSVC doesn't recognize it).
Also, minor change in WaveTrack.cpp in the effort on bug 641. Should have no functional difference.
2013-08-24 20:30:47 +00:00
v.audacity
24442a210f Remove Batch button cruft, never implemented since 2006. 2013-08-05 02:12:46 +00:00
james.k.crook@gmail.com
a4d885d74f Reverted r12443 following discussion. Mouse clicked play-button now pops up immediately. Consensus was that it makes 'replay' more discoverable. 2013-08-04 19:24:02 +00:00
v.audacity
ac6eaeeb70 attempt at fixing compile error on Linux 2013-07-30 22:43:45 +00:00
v.audacity
522205b056 Move check for ControlToolBar shift key-up from TrackPanel::OnTimer() to new ControlToolBar::OnTimer(). 2013-07-30 01:11:36 +00:00
v.audacity
c52f2d3b12 Fixes for ControlToolBar tooltips with keyboard shortcuts not working correctly in some languages, and for tooltips being updated without having to exit and restart. 2013-07-30 00:36:57 +00:00
james.k.crook@gmail.com
d05f66b32e Play button now stay down until finished playing audio. 2013-07-26 14:13:21 +00:00
v.audacity
9ac2623b7d Steve's patch per "Skip to Start when no tracks" thread on -devel 2013-07-25 02:53:36 +00:00
v.audacity
b8128af0c5 Gale suggested showing current key shortcuts for toolbar controls tooltips. This implements it for ControlToolBar (aka Transport toolbar).
One tricky aspect was that until GetActiveProject() is ready to return non-NULL,  ControlToolBar::RegenerateToolsTooltips() cannot get the project's CommandManager, so cannot get the shortcuts. Changed ControlToolBar::RegenerateToolsTooltips() to be public and now call it late in wAudacityProject(). When called before the project is completely instantiated, in the rewritten ControlToolBar::RegenerateToolsTooltips(), it just sets the tooltips to the names without the keys, pretty much as now -- but I don't think users will ever see that because of the subsequent call. 

Anyway, did it in a more programmatic way than the previous code, which reduces string literals duplication.

Btw, I changed the start value for the ID_PLAY_BUTTON because the former value of 0 causes FindWindow() to return the toolbar rather than the button -- wxWidgets bug. 

Also got rid of some cruft and applied a few WXUNUSED.
2013-07-23 22:07:56 +00:00
v.audacity
cfe095f839 Steve's patch from "Enable Sync Lock during Play (was: Align tracks end to end)" thread 2013-06-01 23:10:18 +00:00
martynshaw99
1af35d4168 Removal of all the stuff marked as 'Experimental CLEANSPEECH' about a year ago. 2013-04-29 23:23:14 +00:00
martynshaw99
b04c7f18a7 Steve's fix for bug/enhancement 74. 2013-03-17 23:33:28 +00:00
v.audacity
d589b9d207 Steve's patch for http://bugzilla.audacityteam.org/show_bug.cgi?id=70 2013-03-01 01:07:08 +00:00
v.audacity
c26b3c6b49 Campbell Barton's further patch to turn many, many tabs to our 3-space convenbtion 2013-02-23 04:33:20 +00:00
windinthew
6450fc4786 Edit Toolbar buttons named as "Trim Audio" and "Silence Audio" to match menu changes. 2013-01-10 02:43:43 +00:00