|
|
|
Al Dimond
|
Speed slider hang update: Caching AudioIO::GetSupported*Rates() values
didn't solve the problem, so I've committed a UI workaround for the speed slider hang. The manual change needed is just on the last sentence of: http://manual.audacityteam.org/index.php?title=Transcription_Toolbar Adjusting the slider during play no longer automatically restarts playback at the new speed -- you have to hit the "play at speed" button. Thanks in advance to people working on the manual. (note: in my last message I mentioned another possible UI WAR, not restarting playback while dragging. It's still too easy to get the hang accidentally with that WAR, by using the scroll wheel. Also, this WAR is less complicated, easier to revert if we ever solve the hang) (further note: I committed rate caching even though it didn't fix this problem because it has other nice effects... the delay when playing through a non-Pulse ALSA device while a Pulse server is running is much less than it used to be, for example. I think it's a pretty safe change -- none of the AudioIO interfaces change at all; the functions can still be called with the optional arguments set and you'll get an actual scan). - Al ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ audacity-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/audacity-devel |
||||||||||||||||
|
Leland (Audacity Team)
|
Unfortunately, it breaks the build on OSX in QualityPrefs.cpp since
GetOptimalSupportedSampleRate() is no longer static. Leland Al Dimond wrote: > Speed slider hang update: Caching AudioIO::GetSupported*Rates() values > didn't solve the problem, so I've committed a UI workaround for the > speed slider hang. The manual change needed is just on the last > sentence of: > > http://manual.audacityteam.org/index.php?title=Transcription_Toolbar > > Adjusting the slider during play no longer automatically restarts > playback at the new speed -- you have to hit the "play at speed" > button. > > Thanks in advance to people working on the manual. > > > (note: in my last message I mentioned another possible UI WAR, not > restarting playback while dragging. It's still too easy to get the > hang accidentally with that WAR, by using the scroll wheel. Also, > this WAR is less complicated, easier to revert if we ever solve the > hang) > > > (further note: I committed rate caching even though it didn't fix this > problem because it has other nice effects... the delay when playing > through a non-Pulse ALSA device while a Pulse server is running is > much less than it used to be, for example. I think it's a pretty safe > change -- none of the AudioIO interfaces change at all; the functions > can still be called with the optional arguments set and you'll get an > actual scan). > > - Al > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > audacity-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/audacity-devel > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ audacity-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/audacity-devel |
||||||||||||||||
|
Al Dimond
|
On Saturday 07 November 2009 21:02:31 Leland wrote:
> Unfortunately, it breaks the build on OSX in QualityPrefs.cpp since > GetOptimalSupportedSampleRate() is no longer static. > Huh. It breaks it on Linux, too... I guess I forgot to make clean after changing that (I did after some other changes and then forgot after this one). I actually didn't want to make it non-static, but had problems getting it to build with the cache member variables static for some reason. I'm going to try to make them static again. The attached patch gets it to build, and apparently gAudioIO is initialized early enough that none of these changes turn into null pointer dereferences... if I can't make it work with everything static I'll commit this. > Leland > > Al Dimond wrote: > > Speed slider hang update: Caching AudioIO::GetSupported*Rates() > > values didn't solve the problem, so I've committed a UI > > workaround for the speed slider hang. The manual change needed > > is just on the last sentence of: > > > > http://manual.audacityteam.org/index.php?title=Transcription_Tool > >bar > > > > Adjusting the slider during play no longer automatically restarts > > playback at the new speed -- you have to hit the "play at speed" > > button. > > > > Thanks in advance to people working on the manual. > > > > > > (note: in my last message I mentioned another possible UI WAR, > > not restarting playback while dragging. It's still too easy to > > get the hang accidentally with that WAR, by using the scroll > > wheel. Also, this WAR is less complicated, easier to revert if > > we ever solve the hang) > > > > > > (further note: I committed rate caching even though it didn't fix > > this problem because it has other nice effects... the delay when > > playing through a non-Pulse ALSA device while a Pulse server is > > running is much less than it used to be, for example. I think > > it's a pretty safe change -- none of the AudioIO interfaces > > change at all; the functions can still be called with the > > optional arguments set and you'll get an actual scan). > > > > - Al > > > > ----------------------------------------------------------------- > >------------- Let Crystal Reports handle the reporting - Free > > Crystal Reports 2008 30-Day trial. Simplify your report design, > > integration and deployment - and focus on what you do best, core > > application coding. Discover what's new with Crystal Reports now. > > http://p.sf.net/sfu/bobj-july > > _______________________________________________ > > audacity-devel mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/audacity-devel > > ------------------------------------------------------------------- > ----------- Let Crystal Reports handle the reporting - Free Crystal > Reports 2008 30-Day trial. Simplify your report design, > integration and deployment - and focus on what you do best, core > application coding. Discover what's new with Crystal Reports now. > http://p.sf.net/sfu/bobj-july > _______________________________________________ > audacity-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/audacity-devel > [awd_fix_build.patch] Index: src/Project.cpp =================================================================== RCS file: /cvsroot/audacity/audacity-src/src/Project.cpp,v retrieving revision 1.470 diff -u -r1.470 Project.cpp --- src/Project.cpp 5 Nov 2009 00:32:03 -0000 1.470 +++ src/Project.cpp 8 Nov 2009 04:46:27 -0000 @@ -789,7 +789,7 @@ : wxFrame(parent, id, wxT("Audacity"), pos, size), mLastPlayMode(normalPlay), mFreqWindow(NULL), - mRate((double) gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleRate"), AudioIO::GetOptimalSupportedSampleRate())), + mRate((double) gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleRate"), gAudioIO->GetOptimalSupportedSampleRate())), mDefaultFormat((sampleFormat) gPrefs-> Read(wxT("/SamplingRate/DefaultProjectSampleFormat"), floatSample)), mSnapTo(0), @@ -1088,7 +1088,7 @@ gPrefs->Read(wxT("/GUI/TracksFitVerticallyZoomed"), &mTracksFitVerticallyZoomed, false); // gPrefs->Read(wxT("/GUI/UpdateSpectrogram"), &mViewInfo.bUpdateSpectrogram, true); - gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleRate"), &mRate, AudioIO::GetOptimalSupportedSampleRate()); + gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleRate"), &mRate, gAudioIO->GetOptimalSupportedSampleRate()); mDefaultFormat = (sampleFormat) gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleFormat"), floatSample); // remember the "normalized" window size and location // Ed Musgrove Index: src/prefs/QualityPrefs.cpp =================================================================== RCS file: /cvsroot/audacity/audacity-src/src/prefs/QualityPrefs.cpp,v retrieving revision 1.34 diff -u -r1.34 QualityPrefs.cpp --- src/prefs/QualityPrefs.cpp 18 Oct 2009 08:02:15 -0000 1.34 +++ src/prefs/QualityPrefs.cpp 8 Nov 2009 04:46:27 -0000 @@ -139,7 +139,7 @@ // We make sure we have a pointer to it, so that we can drive it. mSampleRates = S.TieChoice(wxT(""), wxT("/SamplingRate/DefaultProjectSampleRate"), - AudioIO::GetOptimalSupportedSampleRate(), + gAudioIO->GetOptimalSupportedSampleRate(), mSampleRateNames, mSampleRateLabels); S.SetSizeHints(mSampleRateNames); Index: src/toolbars/SelectionBar.cpp =================================================================== RCS file: /cvsroot/audacity/audacity-src/src/toolbars/SelectionBar.cpp,v retrieving revision 1.29 diff -u -r1.29 SelectionBar.cpp --- src/toolbars/SelectionBar.cpp 29 May 2009 17:07:39 -0000 1.29 +++ src/toolbars/SelectionBar.cpp 8 Nov 2009 04:46:28 -0000 @@ -282,7 +282,7 @@ void SelectionBar::UpdatePrefs() { - mRate = (double) gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleRate"), AudioIO::GetOptimalSupportedSampleRate()); + mRate = (double) gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleRate"), gAudioIO->GetOptimalSupportedSampleRate()); wxCommandEvent e; e.SetInt(mLeftTime->GetFormatIndex()); ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ audacity-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/audacity-devel |
||||||||||||||||
|
Al Dimond
|
On Saturday 07 November 2009 21:50:12 Al Dimond wrote:
> On Saturday 07 November 2009 21:02:31 Leland wrote: > > Unfortunately, it breaks the build on OSX in QualityPrefs.cpp > > since GetOptimalSupportedSampleRate() is no longer static. > > Huh. It breaks it on Linux, too... I guess I forgot to make clean > after changing that (I did after some other changes and then forgot > after this one). I actually didn't want to make it non-static, but > had problems getting it to build with the cache member variables > static for some reason. > > I'm going to try to make them static again. The attached patch > gets it to build, and apparently gAudioIO is initialized early > enough that none of these changes turn into null pointer > dereferences... if I can't make it work with everything static > I'll commit this. > In my previous attempt I forgot that static declarations are just declarations and not definitions. I'll have them all static again in a couple minutes after I'm sure it builds and runs. Sorry for the problems. - Al > > Leland > > > > Al Dimond wrote: > > > Speed slider hang update: Caching AudioIO::GetSupported*Rates() > > > values didn't solve the problem, so I've committed a UI > > > workaround for the speed slider hang. The manual change needed > > > is just on the last sentence of: > > > > > > http://manual.audacityteam.org/index.php?title=Transcription_To > > >ol bar > > > > > > Adjusting the slider during play no longer automatically > > > restarts playback at the new speed -- you have to hit the "play > > > at speed" button. > > > > > > Thanks in advance to people working on the manual. > > > > > > > > > (note: in my last message I mentioned another possible UI WAR, > > > not restarting playback while dragging. It's still too easy to > > > get the hang accidentally with that WAR, by using the scroll > > > wheel. Also, this WAR is less complicated, easier to revert if > > > we ever solve the hang) > > > > > > > > > (further note: I committed rate caching even though it didn't > > > fix this problem because it has other nice effects... the delay > > > when playing through a non-Pulse ALSA device while a Pulse > > > server is running is much less than it used to be, for example. > > > I think it's a pretty safe change -- none of the AudioIO > > > interfaces change at all; the functions can still be called > > > with the optional arguments set and you'll get an actual scan). > > > > > > - Al > > > > > > --------------------------------------------------------------- > > >-- ------------- Let Crystal Reports handle the reporting - Free > > > Crystal Reports 2008 30-Day trial. Simplify your report design, > > > integration and deployment - and focus on what you do best, > > > core application coding. Discover what's new with Crystal > > > Reports now. http://p.sf.net/sfu/bobj-july > > > _______________________________________________ > > > audacity-devel mailing list > > > [hidden email] > > > https://lists.sourceforge.net/lists/listinfo/audacity-devel > > > > ----------------------------------------------------------------- > >-- ----------- Let Crystal Reports handle the reporting - Free > > Crystal Reports 2008 30-Day trial. Simplify your report design, > > integration and deployment - and focus on what you do best, core > > application coding. Discover what's new with Crystal Reports now. > > http://p.sf.net/sfu/bobj-july > > _______________________________________________ > > audacity-devel mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/audacity-devel > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ audacity-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/audacity-devel |
||||||||||||||||
|
Richard Ash (audacity-help)
|
In reply to this post
by Al Dimond
On Sat, 2009-11-07 at 21:50 -0700, Al Dimond wrote:
> On Saturday 07 November 2009 21:02:31 Leland wrote: > > Unfortunately, it breaks the build on OSX in QualityPrefs.cpp since > > GetOptimalSupportedSampleRate() is no longer static. > Huh. It breaks it on Linux, too... I guess I forgot to make clean > after changing that Use make dep to set up full header file dependencies in your development tree. Now when you change a header, all the files it is #included in (at any depth) will be rebuilt. Slower rebuilds, but garunteed to always be correct. If you change the #includes of any files (or other people do), re-run make dep to update the dependency information. Richard ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ audacity-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/audacity-devel |
||||||||||||||||
|
Al Dimond
|
On Sunday 08 November 2009 14:26:12 Richard Ash wrote:
> On Sat, 2009-11-07 at 21:50 -0700, Al Dimond wrote: > > On Saturday 07 November 2009 21:02:31 Leland wrote: > > > Unfortunately, it breaks the build on OSX in QualityPrefs.cpp > > > since GetOptimalSupportedSampleRate() is no longer static. > > > > Huh. It breaks it on Linux, too... I guess I forgot to make > > clean after changing that > > Use make dep to set up full header file dependencies in your > development tree. Now when you change a header, all the files it > is #included in (at any depth) will be rebuilt. Slower rebuilds, > but garunteed to always be correct. If you change the #includes of > any files (or other people do), re-run make dep to update the > dependency information. > Thanks. I'd been meaning to figure out what to do about dependencies for a while... the rebuilds are at least faster than making clean every time I change a header, which is a real pain. > Richard > > > ------------------------------------------------------------------- > ----------- Let Crystal Reports handle the reporting - Free Crystal > Reports 2008 30-Day trial. Simplify your report design, > integration and deployment - and focus on what you do best, core > application coding. Discover what's new with Crystal Reports now. > http://p.sf.net/sfu/bobj-july > _______________________________________________ > audacity-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/audacity-devel > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ audacity-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/audacity-devel |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |