1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-06 23:02:42 +02:00

70 Commits

Author SHA1 Message Date
james.k.crook@gmail.com
c71397beae Changes to seeking and scrubbing from Paul Licameli.
These are mostly under an EXPERIMENTAL_ #ifdef.  Also has a change for the prompt string for preferences so the displayed keybinding is adjusted when in multitool mode.
2014-11-29 22:09:57 +00:00
lllucius
f9863a1400 Only apply realtime preview to the selected tracks
See if this gives a better WYHIWYG experience.
2014-11-29 20:14:45 +00:00
james.k.crook@gmail.com
ed1338cdec Fix for Bug 781.
Fixes race condition on Audio thread state by using a mutex, so can play and use . (scrubbing forward) and SPACE (play/stop) safely.  Previously crashed.  Patch by Paul Licameli.
2014-11-06 17:48:26 +00:00
james.k.crook@gmail.com
17207fa39a Fix for http://bugzilla.audacityteam.org/show_bug.cgi?id=630 based on investigation by Gabriel Pato.
This is quite an involved piece of code, and to check it is OK it should be checked with mixtures of stereo and mono, looped and non looped, selected region, no selected region.  (I did, but no harm trying variations on that).  Real time effects, if enabled, could also potentially interact with this, and are subject to change in this area of code.
2014-11-03 21:53:30 +00:00
lllucius
cae6669275 Round 3 of realtime changes.
This gets meter type VST effects working again by extending the

The master now maintains his own internal buffers and sums (mixes) all
playing tracks into those buffers.  The buffers are then fed into the
VST effect that is presented to the user.  This allows the effect to
provide feedback to the user if it support it.  Such effects may display
meters or clipping indicators.

Several issues with treading have also been corrected (hopefully ;-)).
These showed up mostly on Linux, but could have happened on the others
as well.

The realtime support is no longer limited to 2 channels per logical
track.  Once support for more channels is added, this should be ready
for it.

The rack dialog can now be toggled via the edit toolbar button.  It
doesn't stay pressed because the closing of the dialog would have to
be communicated back to the toolbar.

As the rack is updated with new or removed effects or active state
changed, all effects in the active list were shutdown and all effects
in the updated list were initialized.  This now shuts down only the
effects no longer in the list and initializes only new ones.

The rack now uses wxBitmapButton instead of Audacity's AButton.  The
AButton has a timing issue that prevents it from being deleted while
processing the click event.  I looked into it, but gave up and switched
to the wxBitmapButton.  Unfortunately, there's a problem with the
wxBitmapButton as well...at least on my setup here.  Either the bitmaps
are being scaled or antialiased.  Will have to get feedback on this.

I finally figured out why some VSTs didn't seem to do anything in
realtime, at least in my case anyway.  I've installed a lot of demo
VSTs and while they work in "batch/offline" mode, some of them will
not work in realtime since vendors tend to remove automation as one
of the demo limitations.

More changes coming shortly...
2014-11-03 06:48:54 +00:00
james.k.crook@gmail.com
f55ce48f96 Leak of MidiThread fixed. 2014-10-31 19:05:17 +00:00
lllucius
d50e9fee52 Realtime preview round 2
This changes the realtime preview from using 1 effect for all tracks
to an effect per track (logical track).  This should clear up the 
bad audio when more than one track (or a stereo track) is present.

An unfortunate side effect is that meter effects no longer work since
the one presented to the user is not the one doing the actual work.
Suggestions on how to remedy this are welcome.
2014-10-30 14:04:48 +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
166a17506d Adrian Wadey's changes to get MIDI_OUT to compile again. 2014-10-14 12:09:58 +00:00
james.k.crook@gmail.com
f140c0249a Added a comment about an ASSERT that can happen.
Also added a TODO.
2014-10-10 11:11:55 +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
v.audacity
949fed8914 minor change for clarity and forward compatibility with wxWidgets, per '[Audacity-devel] SseMathFuncs.cpp fails to build on PPC Mac, unsurprisingly!' thread from Andrew Hallendorff 2014-01-20 02:22:31 +00:00
benjamin.drung@gmail.com
05302d7483 Fix path of relative includes. 2013-11-01 12:15:01 +00:00
lllucius
e5a4eecb25 Reverting r12591 as it was not complete and we're too close to
freeze to risk fixing it now.  Will readdress after 2.0.5 is 
released.

Basically, RingBuffer is ill equiped to handle an input stride
other than 1.

Thanks to Peter for testing this for me.
2013-10-07 12:37:15 +00:00
lllucius
b6c5d9296d Use the cached rates array if they contain the passed rate. 2013-09-24 07:05:27 +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
lllucius
dd09c88ecb Corrects the issue where the volume sliders didn't control the correct
device after changing the hostapi.  They would still control the previous
device.
2013-09-24 06:56:26 +00:00
lllucius
f7aca4b474 Another case where extra deinterleaving isn't necessary. CopySamples() can do
the job quite nicely...well, given the "stride" information he needs.  And in
some cases, it will just use memcpy() so it may improve capture performance a
bit more.
2013-09-23 20:36:39 +00:00
RichardAsh1981@gmail.com
6a7da21dec remove various unused #defines and bits of code, patch by Campbell Barton 2013-09-23 20:16:02 +00:00
lllucius
7ddd4ed2ab As mentioned in commit message for 12574, here is one example of a routine
that was doing extra processing because Dither couldn't return interleaved
buffers.
2013-09-22 06:26:06 +00:00
RichardAsh1981@gmail.com
991969cab8 Apply parts of a warning supression patch by Campbell Barton 2013-09-12 16:52:30 +00:00
v.audacity
030d2450a8 Go back to simpler architecture for Resample class, now that libsoxr is proven for variable rate resampling. 2013-08-04 01:58:54 +00:00
richardash1981
ee4cd41eac fix deletion of buffers on completion of recording. Patch by Sven Giermann 2013-03-10 15:52:38 +00:00
richardash1981
b95918fe52 apply parts of Campbell Bartons patch for cleaning up compiler warnings: add static qualifiers to methods, ensure prototypes match definitions and some whitespace and comment changes 2013-02-22 21:29:19 +00:00
v.audacity
9d0daf8662 Campbell Barton's patch to turn many, many tabs to our 3-space convenbtion 2013-02-20 23:42:58 +00:00
v.audacity
6ffc5aca16 Leland's fix for range bounds with Windows Direct Sound 2013-01-14 07:05:20 +00:00
richardash1981
227ed95615 fix the device information listing to show the correct host name for the device being listed, not the currently selected Audacity preference. Expanded from patch by Leyland. 2013-01-02 16:07:01 +00:00
richardash1981
92ba0eeafc remove an unused argument to a method as it's both unused and never set to a variable value. 2013-01-01 18:43:35 +00:00
RichardAsh1981@gmail.com
f09d3a8aaf patch to remove some unused member variables by Leland Lucius 2012-12-29 15:31:46 +00:00
richardash1981
55be06c9e4 commit a large patch by Maarten Baert maarten-baert<at>hotmail<dot>com to fix and improve time track support. Several fix-me issues remain but none are new with this patch. 2012-12-19 21:49:25 +00:00
v.audacity
9e3c8abfd3 patch from Luciano Rosa to accommodate hi-rez devices (starting with M2Tech products) 2012-12-03 05:39:17 +00:00
v.audacity
ce9bd9fa90 I think this completes the refactoring for const-rate vs var-rate resampling. 2012-11-04 04:44:10 +00:00
v.audacity
5460b5c668 This commit is partial effort toward more libsoxr integration, that implements Rob Sykes's latest patch. I have no idea whether the Linux-specific stuff from the patch (e.g., M4 file) is still correct in this.
For Resample.* and QualityPrefs.cpp, this commit has my restructuring for distinguishing constant-rate vs variable-rate resamplers more generally. I think it's complete and ready for const-rate, but I have more review and testing to do for the var-rate cases. 

Variable-rate resampling is not implemented here, so Time Tracks are still broken, but this is a milestone in getting to a more general and correct structure. 

Also I think this fixes AboutDialog issues Steve noticed.
2012-11-03 02:06:07 +00:00
v.audacity
6f858be4c8 comment related to debugging bug 50 2012-08-08 02:49:06 +00:00
v.audacity
ebb4f530bb Apparently, wxConfigBase::Write() does not update values for next access on all platforms unless Flush() method is called. Added many calls to wxConfigBase::Flush() to make sure the Rad() calls get the right values. 2012-08-02 06:03:19 +00:00
v.audacity
5f5b9778de Fixes per Vigilant Sentry (http://www.vigilantsw.com/)
* Fix memory leaks.

* Add comments about initializations and checking for successful results.

* Add checks for NULL deref.

* Consistency in "TODO" vs "TO-DO" comments!
2012-02-08 05:09:14 +00:00
v.audacity
458152070e Fix some problems with asserts in 11308. Further wording corrections. 2011-11-18 03:47:43 +00:00
v.audacity
59db8d4ad4 See http://bugzilla.audacityteam.org/show_bug.cgi?id=451#c31 and http://bugzilla.audacityteam.org/show_bug.cgi?id=451#c32. 2011-11-16 05:59:48 +00:00
v.audacity
44a4d6a8b1 further comments from Roger 2011-10-21 04:02:47 +00:00
v.audacity
1ceb0ef660 Apply modified version Roger Dannenberg's patch to remedy some problems from commit r10680 and fix some bugs. 2011-10-19 23:06:53 +00:00
martynshaw99
d2a2de2d9e Remove unneeded log messages 2011-08-23 19:45:14 +00:00
mchinen
91d8f132a6 Bug 330 (P2) - Fix an issue where multiple projects would cause the warning dialogs to pop up above the wrong project.
I refactored the code into AudacityApp with a new timer.  This is provisional pending discussion - if it is decided that it should go somewhere else I will move it.
2011-03-29 23:39:00 +00:00
mchinen
dc12d8a8f4 bug 26 followup - warn of missing alias on variety of instances (export/import/effect/mix,) in addition to first time the read fails.\nIn addition make sure there is only one warning on the screen at a time, bringing the old one to the foreground (although for things like export/effect there will be a progress bar in front of it, the missing files dialog will be above the project window when it finishes) 2011-03-23 01:01:17 +00:00
mchinen
5e4250e302 bug 26 - add modeless warning dialog for missing aliased files during playback. 2011-03-01 01:29:03 +00:00
v.audacity
880b1b8c4b Bug 258 (P2) - Mixer Board: max peak and clipping lines removed
Update comments to reflect sticking with this fix, per http://bugzilla.audacityteam.org/show_bug.cgi?id=258#c13.
2011-02-26 23:19:19 +00:00
v.audacity
20f37df3ec Bug 258 (P2)- Mixer Board: max peak and clipping lines removed
Moved updates for Mixer Board meters back to TrackPanel::OnTimer() to see if it helps Mac performance issues reported by Bill (http://bugzilla.audacityteam.org/show_bug.cgi?id=258#c9).
2011-02-26 01:50:49 +00:00
richardash1981
2a7c7de30d Commit a warnings removal patch from Benjamin Drung to correct a string of minor misdemeanors. 2011-02-07 20:24:04 +00:00
v.audacity
d2d876d9a5 Bug 258 (P2) - Mixer Board: max peak and clipping lines removed
Fixed bug in resetting mPrevT1. That caused remaining issue noted in Bug 258 comments 2 and 3.

Moved call to UpdateMeters from TrackPanel::OnTimer() to audacityAudioCallback, where it calls gAudioIO->mOutputMeter->UpdateDisplay(), so the updates are synchronized with Meter Toolbar updates.

Removed unnecessary call to MixerBoard::UpdateMeters() in AudacityProject::UpdateMixerBoard().

Various cleanup.
2011-01-31 01:49:01 +00:00
mchinen
8c645724a1 bug 11 partial fix - add host and num channels to DeviceToolbar
removal of device prefs and source selection from mixer toolbar to follow.
2011-01-09 05:12:09 +00:00