1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-03-11 17:05:26 +01:00
Commit Graph

49 Commits

Author SHA1 Message Date
Paul Licameli
173a300427 Include nothing before Audacity.h, as comments say we should...
... and remove some duplicated inclusions
2019-03-17 21:41:39 -04:00
Paul Licameli
2a1bf3a77f More std:: style for wxString...
... Remove all uses of the three-valued Cmp comparison member function, which
returns 0 for equality, except in one place.  Use operators == and != instead.

(C++20's spaceship operator hasn't landed here yet!)
2019-03-10 14:45:20 -04:00
Paul Licameli
2db49dc1f0 Use standard library style members of wxArrayString (and wxString) ...
... which will make it easier to change the types of those containers to
std::vectors of other string-like classes

for wxString,

IsEmpty => empty
Clear => clear
Alloc => reserve

for wxArrayString,

Count => size
GetCount => size
IsEmpty => empty
Add => push_back
Clear => clear
Empty => clear
Sort => std::sort (only with default comparator)
SetCount => resize
Last => back
Item => operator []
Alloc => reserve
2019-03-10 14:43:57 -04:00
Paul Licameli
3b32d39b54 Remove wxArrays of pointers 2018-02-21 19:33:32 -05:00
Paul Licameli
228388a63c Follow wxWidgets argument conventions for PrefsPanel factories 2018-02-21 19:21:04 -05:00
Paul Licameli
4644b5cb16 Simplify condition 2018-01-26 10:12:14 -05:00
James Crook
a019addafb All preferences in scrollers
We now do not need to worry about the preference dialogs getting too big for small screens.
2018-01-17 20:41:40 +00:00
Paul Licameli
ccb4bbac33 Translate "Message" as default title of message box...
... This required a sweeping change of all calls to wxMessageBox!  But it seems
safe to me, despite the great number of touched files.
2018-01-01 17:50:02 -05:00
Paul Licameli
66d5861360 i18n-hints 2017-11-06 11:01:05 -05:00
Paul Licameli
48202284b2 Change virtual function interface of PrefsPanel 2017-06-25 11:42:20 -04:00
Steve Daulton
e16f6f9221 Add small help button to Prefs pages 2017-05-14 19:02:36 +01:00
Paul Licameli
5036583549 Fewer inclusions of AudacityApp.h 2017-03-17 17:52:24 -04:00
James Crook
0f5260e600 Bug 1512 - Extended Import: Crash dragging an importer when there are no rules 2016-09-12 20:49:49 +01:00
Sven Giermann
ce09f4b883 Make RuleTable scrollable & DnD move instead of copy
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.
2016-09-12 17:09:42 +01:00
Paul Licameli
8226441210 use vector of smart pointers to ExtImportItem objects 2016-08-11 11:51:33 -04:00
Paul Licameli
256a595d0f Use const 2016-08-11 11:51:33 -04:00
Paul Licameli
8572b425c1 More safenew 2016-08-10 11:05:51 -04:00
Paul Licameli
70bd46b8ad travis 2016-04-09 22:55:15 -04:00
Steve Daulton
f536354330 Fix by Matěj Fiala for bug 1168
Thanks to Matěj Fiala for this fix.
2016-03-24 10:02:20 +00:00
Paul Licameli
97a69e9ccc A few more safenew 2016-02-18 07:17:26 -05:00
Paul Licameli
df6a7c5464 More uses of safenew for classes we derive from wxWindow classes...
... Also removed some unnecessary deletes of widgets that are managed by parent
windows
2016-02-14 20:39:28 -05:00
Paul Licameli
8399effc45 Table-driven construction of Prefs dialog. A factory for each kind of panel...
... and maybe a future plug-in protocol to break compilation dependency on
all of the PrefsPanel subclasses.
2015-07-26 19:41:20 -04: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
benjamin.drung@gmail.com
277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
stevethefiddle@gmail.com
b216e802a3 Bug 442 - Extended Import segfault pressing Move Rule Up when there are no rules or filters. 2014-05-17 13:33:41 +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
james.k.crook@gmail.com
dba81b3f1c Cleanup: Fixed lots of trivial MSVC warnings. 2013-08-25 21:51:26 +00:00
windinthew
308cef62ae Add a few missing access keys 2012-08-29 06:27:51 +00:00
mchinen
6e6367e958 Bug 372 (P2) - import MP2s with libmad (Patch by Leland Lucius) 2011-06-01 14:47:43 +00:00
james.k.crook@gmail.com
b993dd1074 Fixed three compile warnings. 2011-04-23 09:58:56 +00:00
lllucius
c226ae9265 Corrects the crash in when tabbing into an empty rule table.
Also converts file from CRLF to LF.
2011-03-29 23:36:04 +00:00
richardash1981
5304bbf19a Warning supression patch from Benjamin Drung 2011-02-07 20:28:20 +00:00
BusinessmanProgrammerSteve
cb51d71099 Tilt the sync-lock tiles! 2010-10-18 01:58:57 +00:00
BusinessmanProgrammerSteve
41dc1f2f6c Fix another initialization order warning. There's still an
"unused variable" warning but I need to investigate before
just ripping it out.
2010-04-24 17:19:08 +00:00
LRN1986
d01839c89d ExtImport: Fix drag'n'drop Plugin reordering on Linux
wxCustomFindItem() function is now used only on Windows
where it is necessary, because wxListCtrl::HitTest() is
broken here.
2010-04-24 13:18:59 +00:00
LRN1986
6151d3d4e2 ExtImport: don't let user select multiple rules at once
While selection with Shift+Up/Down is still possible, it
will only last until Shift is released.
2010-04-24 12:29:14 +00:00
LRN1986
b2b82d4ea0 ExtImport: Moved PluginList initialization before RuleTable initialization 2010-04-24 10:17:35 +00:00
LRN1986
1d83aeeb12 Further ExtImport improvements and fixes
* Implemented drag'n'drop reordering for Plugin list.
 Now single wxDropTarget subclass is used for both RuleTable
  and PluginList.
 Now ExtImportPrefsDropTarget interfacing with PrefsPanel is
  a bit more object-oriented (no direct access to properties)
 Now row swapping in PluginList is made by separate function
  (the code is a bit less ugly)
* Fixed PluginList reordering by a button (broken by previous
   commit)
 Made a special FakeOnPluginKeyDown() function for that, also
  added some conditions into handler itself to emulate list
  navigation.
* Fixed PluginList initialization in PopulateOrExchange
* Fixed RuleTable drag'n'drop reordering to work with single click
 Now it is possible to click-and-drag previously unselected item
  to reorder it, no need to select it beforehand
2010-04-23 22:28:43 +00:00
LRN1986
a36aeba850 Extended import filtering fixes
* Fix PluginList item selection movement (Linux)
 Removed some unneeded code that b0rked item selection
 in PluginList on Linux.
* Fix RuleTable multi-item drag selection.
 Used undocumented EnableDragCell() method for that,
 but now it is not possible to select multiple items
 by dragging. It is still necessary to select an item
 before you can drag it (because click-event occurs
 after selection is changed and you can not select
 an item without moving it otherwise).
* Fix indentation
 Converted tabs to 3-spaces.
 Wrapped everything at 80th column.
2010-04-23 17:55:27 +00:00
BusinessmanProgrammerSteve
b3d6457ef5 Compile warning. There's another one in here about an uninit'd variable I'm ignoring... for now... 2010-04-12 15:04:30 +00:00
LRN1986
e4701d1d10 Shorten EIF prefs button labels 2010-04-11 14:34:32 +00:00
LRN1986
a61f711f88 Fix ExtImportFilter rule editor space trimming.
* Won't ask more than once
* Actually trims both leading and trailing spaces
2010-04-10 16:24:04 +00:00
LRN1986
b6972df871 Second big batch of Extended Import Filtering improvements
* /ExtendedImport/OverrideExtendedImportByOpenFileDialogChoice preference enables the override (backward-compatibel behaviour), and it is now false by default
* File names (and mime types) and patterns are Lower()'ed before being fed to wxMatchWild(), now matching should be case-insensitive
* Now empty rule elements (empty list of extensions, empty list of mime types) will match anything (just as if they had one "*" element)
* "Extended Import" preferences tab is now next to "Import/Export" tab
* Preferences now use Grid class (the one used in Tag editor) instead of default wxGrid. Tabbing now works correctly.
* First attempt to add Drag'n'Drop re-ordering for Rule table. Seems to be working.
* Cleaned up a couple of cruft code comments.
* Separate buttons (with hotkeys) for moving rules and filters up and down (ctrl+up/down still works)
* Moved some code into helper funcions (can be called from both button and keyboard event handlers)
* Grid is now configured in PopulateOrExchange (the same way it is in Tags.cpp)
* Keep selection while moving table rows and list items
* Detect trailing/leading spaces in rule condition and offer to trim them
2010-04-09 19:57:28 +00:00
richardash1981
b566e09e61 Use of wxMessageBox needs this include to compile 2010-04-05 10:39:28 +00:00
LRN1986
efd1ad277a Fix miscommented line. Change column header title 2010-04-04 22:14:40 +00:00
LRN1986
ded848d66e Extended import filter prefs GUI usability improvements
* Select newly added item and switch focus to the table
* Show confirmation dialog when deleting items
* Be smart about keeping cursor and selection position when deleting items
2010-04-04 22:07:57 +00:00
LRN1986
d2c0a72597 Autosize columns for empty table too 2010-04-04 21:43:38 +00:00
BusinessmanProgrammerSteve
918d4c7cdc Fix broken build (on Linux) 2010-04-04 16:17:55 +00:00
LRN1986
0a6148b06f Extended import filtering 2010-04-04 08:19:53 +00:00