1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-07 15:22:34 +02:00

70 Commits

Author SHA1 Message Date
mchinen
d22b3b4f5e bug 11: partial fix: Aggregate Device/Source selection in Device Toolbar 2011-01-02 04:06:23 +00:00
mchinen
0e03fe34fd Fix bug 182 - Crash playing/freeze removing large number of tracks
Patch by Rick Yorgason
I modified it to use linear instead of n squared ring buffer size after verifying that this yields better performance on my mac and pc.
2010-12-24 13:08:46 +00:00
mchinen
6a84c9a3e3 Fix bug 12 Input volume reset if changed before recording
This is just a workaround for what appears to be a portaudio bug, where Pa_OpenStream() resets the device level that port mixer should control.
Looked at portaudio src (pa_win_wmme.c's OpenStream()) but I couldn't find the origin of the problem.
2010-11-30 15:08:28 +00:00
v.audacity
08904c22c0 Working on new bug reported by Gale about MixerBoard clipping indicators on small clipped regions.
Remove some unused cruft. Rearrange some #includes so they are grouped logically. Add comment about unclear names (bools "clipping" vs "isclipping").
2010-11-19 05:15:08 +00:00
rbdannenberg
932ca88255 Minor bug fixes for EXPERIMENTAL_MIDI_OUT. Also added files for autoconf/automake to portmidi and libscorealign. I also modified my local build-related files in src and lib-src to handle EXPERIMENTAL_MIDI_OUT and EXPERIMENTAL_SCOREALIGN, but while I can build with these options, the build-related files are not entirely working, so I will not commit them and break the "normal" builds. I suspect these new build files in this commit are not entirely correct -- some review is in order. 2010-10-28 15:35:29 +00:00
v.audacity
d562770d70 (bug 29, P3: Input and/or output sliders operate incorrectly for any device when an external device is connected.)
If the Meter Toolbar was monitoring input, PrefsDialog can be opened, but then PrefsDialog::OnOK() needs to StopStream() or AudioIO::HandleDeviceChange() will no-op. We could instead disable the Preferences command while monitoring, i.e., set AudioIONotBusyFlag/AudioIOBusyFlag according to monitoring, as well as gAudioIO->IsAudioTokenActive(). Instead allow it because unlike recording, for example, monitoring is not clearly something that should prohibit opening prefs. 

This may have been some of the occasions of bug 29, where user changed device while monitoring, but the AudioIO::HandleDeviceChange() code did not actually change the device, so it look like the user had specificied the motherboard/sound card default device, but Audacity was still using the USB device.

      // TO-DO: We *could* be smarter in this method and call HandleDeviceChange()  
      // only when the device choices actually changed. True of lots of prefs!
      // As is, we always stop monitoring and handle the device change.

In AudacityProject::GetUpdateFlags(), don't need to check (GetAudioIOToken() == 0) alternative because gAudioIO->IsAudioTokenActive() checks that it's greater than zero.

In AudioIO.cpp, cleaned up some logic and encapsulation of boolean methods.
2010-10-09 00:50:52 +00:00
mchinen
a9a0d51454 Timetrack fixes and refactoring.
Possibly fixes:

Bug 206 - Time Tracks: Ruler warp goes in wrong direction
Bug 205 - Time Tracks that slow down the audio result in truncated exports
2010-10-07 23:01:49 +00:00
rbdannenberg
2fd5555378 Fixed playback/redraw interactions (redraw was converting from seconds to beats while player was trying to read seconds in another thread). Added compile-time option make channel select be the down position. Fixed problem with MIDI track mute to eliminate hung notes. 2010-10-07 21:36:39 +00:00
rbdannenberg
f52bafbf05 Removed Windows debugging commands accidentally left in. Play-at-speed should now work on NoteTracks if EXPERIMENTAL_MIDI_OUT is defined. 2010-10-06 04:55:14 +00:00
rbdannenberg
08b98dce53 PlayAtSpeed works for MIDI. Removed prefs for selecting MIDI input device (unless EXPERIMENTAL_MIDI_IN is on -- but there is no MIDI recording implemented at all) 2010-10-05 18:29:57 +00:00
rbdannenberg
28aaa34889 With EXPERIMENTAL_MIDI_OUT, pausing MIDI and audio playing together now turns off all MIDI notes currently playing (same behavior as pausing MIDI track alone) 2010-10-05 02:42:29 +00:00
rbdannenberg
6fa857c3ae Fixed MIDI playback on Linux. Still need configure files for libscorealign and portmidi. (I tweaked makefiles by hand to build and test with EXPERIMENTAL_MIDI_OUT and EXPERIMENTAL_SCOREALIGN.) Also, I updated portmidi files, including some bug fixes from the portmidi project. 2010-10-01 17:59:18 +00:00
rbdannenberg
576dfe6653 Restore Audacity xcode project (undoing accidentally committed OS X 10.6 changes in revision 10695). Fix some midi playback problems. 2010-10-01 15:26:46 +00:00
rbdannenberg
e76bfa39ef Fix compiler warnings (string constant to char *) from allegro.h. Also implements play at speed for MIDI, but some MIDI playback problems remain. 2010-09-27 05:51:41 +00:00
rbdannenberg
a1f0e5ed5b Extensive changes to improve NoteTrack display and (some) editing, NoteTrack playback via MIDI, and Midi-to-Audio alignment. 2010-09-18 21:02:36 +00:00
v.audacity
8c51e56248 Switch to calling Yield via wxTheApp instead of wxGetApp(). Simpler to use pointer, AudacityApp doesn't override Yield, and this fixes compile error on VC++ Unicode Release. 2010-07-24 23:21:51 +00:00
v.audacity
54bd928ef6 regarding bug 9:
Was able to make the bug occur after lots of fast clicking around, by double-clicking Preview in Amplify dialog. 

The key seems to be the call to wxYield. That function is obsolete, but looking at the documentation for its successor, wxApp::Yield(): 

"Caution should be exercised, however, since yielding may allow the user to perform actions which are not compatible with the current task. Disabling menu items or whole menus during processing can avoid unwanted reentrance of code: see ::wxSafeYield for a better function."

That sounds like exactly the situations where this has occurred. And the documentation for ::wxSafeYieldsays: 

"This function is similar to wxYield, except that it disables the user input to all program windows before calling wxYield and re-enables it again afterwards."

Sounds like what we need. So I went through the code and for all the wxYield and wxGetApp()::Yield occurrences where Audacity is doing some drawing or already in the process of responding to a GUI event, I replaced them with ::wxSafeYield. Replaced all the remaining wxYield calls with calls to wxGetApp()::Yield().

Haven't been able to replicate the bug since these changes. Please test.
2010-07-23 23:29:50 +00:00
richardash1981
584230b094 comment addition and clean-up 2010-02-06 22:17:33 +00:00
BusinessmanProgrammerSteve
8bc7f68edc Eliminate a race condition. 2010-02-01 17:29:52 +00:00
ra
e74978ba77 Locate and position the current Audacity source code, and clear a variety of old junk out of the way into junk-branches 2010-01-23 19:44:49 +00:00