Opened 6 years ago

Last modified 2 years ago

#55352 assigned defect

Audacity error when trying to beep

Reported by: rpspringuel (Fr. Samuel Springuel) Owned by: RJVB (René Bertin)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cooljeanius (Eric Gallager)
Port: audacity

Description

When running Audacity 2.0 from MacPorts I sometimes run into the following error dialog when applying Chains (at the point where Audacity want's to make the computer beep between steps):

../src/osx/core/sound.cpp(128): assert "Assert failure" failed in Create(): not implemented

Call stack:
[00] ProgressDialog::Beep() const            
[01] ProgressDialog::~ProgressDialog()       
[02] Effect::DoEffect(wxWindow*, double, TrackList*, TrackFactory*, SelectedRegion*, bool) 
[03] EffectManager::DoEffect(wxString const&, wxWindow*, double, TrackList*, TrackFactory*, SelectedRegion*, bool) 
[04] AudacityProject::OnEffect(wxString const&, int) 
[05] BatchCommands::ApplyEffectCommand(wxString const&, wxString const&, wxString const&) 
[06] BatchCommands::ApplyCommand(wxString const&, wxString const&) 
[07] BatchCommands::ApplyCommandInBatchMode(wxString const&, wxString const&) 
[08] BatchCommands::ApplyChain(wxString const&) 
[09] BatchProcessDialog::OnApplyToProject(wxCommandEvent&) 
[10] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) 
[11] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) 
[12] wxEvtHandler::TryHereOnly(wxEvent&)     
[13] wxEvtHandler::ProcessEventLocally(wxEvent&) 
[14] wxEvtHandler::ProcessEvent(wxEvent&)    
[15] wxWindowBase::TryAfter(wxEvent&)        
[16] wxEvtHandler::ProcessEvent(wxEvent&)    
[17] wxEvtHandler::SafelyProcessEvent(wxEvent&) 
[18] wxButton::OSXHandleClicked(double)      
[19] _os_activity_initiate                   
[20] -[NSApplication sendAction:to:from:]    
Do you want to stop the program?
You can also choose [Cancel] to suppress further warnings.

This does not happen when running a pre-built version of Audacity downloaded from their website, and so must be related to the way MacPorts builds Audacity. I've seen this error in previous versions too, but because clicking "Cancel" allows me to continue using Audacity normally (and without getting any additional errors of this type) I've never payed much attention to it before. I'm only paying attention now because of the other error which I recently struggled with and is now fixed.

Attachments (1)

patch-implement-progdial::beep.diff (808 bytes) - added by RJVB (René Bertin) 6 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 6 years ago by mf2k (Frank Schima)

Owner: set to RJVB
Status: newassigned

In the future, please Cc the port maintainers (port info --maintainers audacity), if any.

comment:2 Changed 6 years ago by RJVB (René Bertin)

You mean Audacity 2.2.0, right?

This could be an effect of using Audacity with "stock" wxWidgets instead of a patched version. This is not a blocker I understand?

comment:3 Changed 6 years ago by rpspringuel (Fr. Samuel Springuel)

You mean Audacity 2.2.0, right?

Yes. Sorry about messing the number up.

This is not a blocker I understand?

I can still use Audacity just fine once I click "Cancel" after the first time the error occurs in a session, so I don't consider it a blocker. It's just mildly annoying to see that error time and again.

comment:4 Changed 6 years ago by RJVB (René Bertin)

OK, this is actually a simple fact of wxWidgets not providing a full implementation for all wxSound::Create() signatures. One way to avoid it will probably be to untick the "beep after longer operations" option in the interface settings.

Or: Can you try with the patch I'm attaching (patch for the Audacity source code).

Last edited 6 years ago by RJVB (René Bertin) (previous) (diff)

Changed 6 years ago by RJVB (René Bertin)

comment:5 Changed 6 years ago by rpspringuel (Fr. Samuel Springuel)

Still got the error, so either the patch doesn't work or I didn't apply it correctly. Here's what I did:

  1. Download patch
  2. Move patch to port dir audacity/files (I did this though the Finder interface)
  3. sudo port uninstall audacity
  4. sudo port install audacity

Were those the right steps, or did I miss something?

comment:6 Changed 6 years ago by RJVB (René Bertin)

Yeah, you missed something - an implicit instruction :)

You'll have to apply the patch manually for now:

> port patch audacity
> (cd `port work audacity`/Audacity-2.2.0 ; patch -Np1 -i /path/to/patch-implement-progdial::beep.diff)
> sudo port -s install audacity

Portfiles won't automatically apply new patches (= if you just get a patch to apply) ;)

comment:7 Changed 6 years ago by rpspringuel (Fr. Samuel Springuel)

Having properly applied the new patch (an admitted first for me), and reinstalled audacity, the error is gone and Audacity is successfully beeping at the end of long operations instead. Thanks.

comment:8 Changed 6 years ago by RJVB (René Bertin)

Thanks for the confirmation, I tried a few longer operations myself and never got beep nor error.

@Mojca: if you see this, I updated the recent audacity PR to add this patch.

comment:9 Changed 6 years ago by rpspringuel (Fr. Samuel Springuel)

There's a preference (under Interface) which turns the beep on/off. Perhaps you have it set to not beep?

comment:10 Changed 2 years ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added
Note: See TracTickets for help on using tickets.