Commit Graph

97 Commits

Author SHA1 Message Date
Paul Licameli ff60610adf Bug1404: Close realtime effect with Enable unchecked; reopen; play...
... effect should apply to the audio stream.
2017-07-24 18:45:42 -04:00
Paul Licameli 9ad15dabe1 Bug1683: crashes applying Nyquist effects to stereo tracks 2017-07-14 09:22:22 -04:00
Henric Jungheim 3b39bdeca5 EffectDialog can't have a default constructor.
The base class does not have one.
2017-07-12 21:03:43 +01:00
Paul Licameli 68dfdab843 Store tracks in TrackList with shared_ptr ...
... but still use unique_ptr from track factories and importers.
2017-06-23 15:05:50 -04:00
James Crook ee9649eeb5 Simplify and extend automatic screenshotting
Now includes 2 'outlier' analysis effects, and has simpler code.
The tricky capture cases are now first in the list.
Vocorder and Chirp are now included.  Comma was missing between them.
Now gives error report for an unknown command.
2017-06-04 16:54:53 +01:00
James Crook acd55e95db Capture screenshots of effects.
Only available if you define EXPERIMENTAL_DOCS_AUTOMATION.
This code is still a bit ropey and not suited for prime time, but fine for our own (careful) use in preparing the manual.

It captures most of the effects, generator and analyze built ins and nyquist dialogs.  Use it by creating a track, making a selection and then clicking the 'All Effects' button in the screenshot tools.  The dialogs will be captured to your user directory.
2017-06-03 15:59:51 +01:00
Steve Daulton 1dd6b848c2 Enable Help button for Nyquist effects 2017-05-20 14:49:07 +01:00
Steve Daulton 469120cebd Enable help button for effects 2017-05-20 14:49:07 +01:00
Paul Licameli 1fad6292a2 Exception safety in: overrides of ShowInterface 2017-03-21 14:11:24 -04:00
Paul Licameli 79c3bef2ce Exception safety in: general effect performing functions 2017-03-21 14:11:24 -04:00
Paul Licameli a4c7d37d3e Remove naked new[] in: effects framework 2017-03-17 17:52:48 -04:00
Paul Licameli aebaaf46a0 require unsigned arguments for Array(s)Of::reinit 2017-03-17 17:52:43 -04:00
Paul Licameli 08b99c533b Remove Effect::mWarper, and stack-allocate warpers instead 2017-03-17 17:52:32 -04:00
Paul Licameli 004df48438 Make Effect::mTracks private 2017-03-17 17:52:25 -04:00
Paul Licameli 81285ee0c1 More const and override 2017-03-17 17:52:20 -04:00
Paul Licameli 5d5edecca5 Remove unnecessary semicolons 2016-09-18 10:36:53 -04:00
Paul Licameli ad04187a41 Change sampleCount arguments, variables, return values to size_t...
... whenever they really describe the size of a buffer that fits in memory, or
of a block file (which is never now more than a megabyte and so could be fit in
memory all at once), or a part thereof.
2016-09-15 21:03:17 -04:00
Paul Licameli 2263a0f477 Don't use wxArrayPtrVoid with casts, use std::vector 2016-09-08 11:08:49 -04:00
Paul Licameli 67cec5ad83 Make many counts of tracks and channels unsigned...
... And in some places where a library uses signed types, assert that
the reported number is not negative.

What led me to this, is that there are many places where a size_t value for
an allocation is the product of a number of channels and some other number.
2016-09-07 10:11:41 -04:00
Paul Licameli 56586770e0 EffectClientInterface::SetSampleRate takes double...
... All the overrides (except Ladspa) were casting it to floating poing anyway
2016-08-21 09:51:32 -04:00
Paul Licameli 49e699b1df Remove overloads for sampleCount from ConfigInterface...
... The value was always cast to int anyway when writing, and it was used
only for one value in VST effect, which did not need 64 bits
2016-08-21 09:11:44 -04:00
Paul Licameli e599cfa6fa Effect::mOutputTracks is managed by smart pointer 2016-08-13 10:37:51 -04:00
Paul Licameli 6fec00149b Remove some naked new amd delete in: Built-in Effects 2016-08-08 07:51:25 -04:00
Paul Licameli 84c0337aba Fix TAB key navigation on Mac for all dialogs (not only for panels) 2016-07-10 17:12:27 -04:00
Paul Licameli f2c6fbfc1b Bug1318 fixed again so that generators and effects on Windows still work 2016-04-24 10:32:20 -04:00
Paul Licameli 879ecefdaa Bug1318: ESC key or red close button should not leave the app unresponsive...
... I don't fully understand why this fixes it, but I could figure out what
was different between ESC and Cancel button which did not have the problem.
2016-04-23 08:49:11 -04:00
Paul Licameli a6ca36cdab TrackList holds smart pointers to tracks, Add() only takes rvalue refs to such 2016-03-26 15:41:31 -04:00
Leland Lucius 9dc9348127 Fixes bug #1344 (mac build)
In addition, the Xcode project can now build against the 10.6
or 10.7 SDKs.  All that is needed is to change the SDK version
and the other settings will change automatically.
2016-03-07 00:29:26 -06:00
Paul Licameli 0094c4f465 Bug1348, partial: Fix bad undo after cancelling Vamp or FindClipping analyzer 2016-02-27 18:12:36 -05:00
Paul Licameli 60bcd7aea2 Fix warnings for unused variables and functions 2016-02-26 14:56:26 -05:00
Paul Licameli 990080ae7d Replace virtual with override wherever possible; eliminate needless virtual...
... for functions in final classes.

override is like const -- it's not necessary, but it helps the compiler to
catch mistakes.

There may be some overriding functions not explicitly declared virtual and I did
not identify such cases, in which I might also add override.
2016-02-26 12:35:38 -05:00
Paul Licameli 89f28546a3 Commented suspicious non-override virtual functions of Effect 2016-02-26 12:35:29 -05:00
Paul Licameli 7824e94030 Harmlessly qualify classes as final (or explicitly comment not)...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls.  Mostly useful as documentation of design intent.

Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00
Paul Licameli 99f161c36c Sweep unnecessary wxString copies: effects 2016-02-22 22:31:47 -05:00
Paul Licameli dbaa811577 Stack-allocate where possible! ...
... Removed many unnecessary naked news and deletes.
2016-02-17 18:15:57 -05:00
Paul Licameli 7c4c45a0d5 "new"->"NEW" in comments, easier to find remaining naked operator new 2016-02-14 18:52:41 -05:00
Paul Licameli 56e7653343 "delete"->"DELETE" in comments, easier to find remaining naked operator delete 2016-02-14 18:50:45 -05:00
Steve Daulton 46055cde25 Fix effect preview issues
Fixes bug 1274 and unblocks bug 995.
2016-01-20 18:19:11 +00:00
Leland Lucius 6a9dae20f5 Appearance on OSX is now back to normal or better
Some additional wx3 cleanup as well.
2015-08-23 20:25:01 -05:00
Steve Daulton 2cb32c763f Fix for bug 558 2015-08-13 13:06:12 +01:00
Paul Licameli d39eaa4e65 Remove WaveTrack.h from other headers 2015-07-28 10:02:05 -04:00
Paul Licameli e70f91c64e Removed ShuttleGui.h from other headers 2015-07-19 12:31:03 -04:00
Steve Daulton 78d0347be2 More complete fix for bug 1060 issues 2015-07-18 18:31:36 +01:00
Leland Lucius 34114aa1f7 Change "Builtin" to "Built-in" 2015-06-09 14:02:09 -05:00
Leland Lucius 0ef7ccb1d1 Fix permissions...not sure why this was happening though 2015-05-29 19:49:28 -05:00
Steve Daulton 5378b0a951 Update to non-real-time preview.
Fixes and updates on top of some code clean-up from Leland.
2015-05-29 22:08:16 +01:00
Leland Lucius 0d62be7776 Use a common method for the duration format in generators 2015-05-27 08:42:15 -05:00
Leland Lucius f9061e3916 Let's try Effect management once more
As usual, I started out intending to do as little as possible
to this to get it working and wound up going overboard.

However, I believe it does allow easy management of the effects
and this will provide a basis for the full blown plugin manager
dialog.
2015-05-22 10:15:47 -05:00
Steve Daulton fbaab8702e Small optimization - non-linear preview copies only selected tracks by default. 2015-05-15 16:57:29 +01:00
Steve Daulton d9f3c432d4 Fix for bugs 943, 942, 941, 843 and 775.
Non-linear effects now process tracks before mixing.
This will be slower when multiple tracks are selected
but the preview should now match the applied effect.
SetLinearEffectFlag(true) allows linear effects to
preview more quickly when multiple tracks selected, by
pre-mixing selected tracks.
Simple generators like Tone and Noise may be marked as
'linear' so that they only preview a few seconds.
Generators that vary over time (such as Chirp) must use
the full duration that is set. As this currently
requires calculating the full duration, preview for
'non-linear' generators are not limited to the preview
length.
2015-05-15 12:51:51 +01:00