Open ronaldocpontes opened 3 years ago
If I build the app and dmg from the source code it will open. However it doesn't play any sound even when the SoundFont is loaded.
Sorry I need to update the web site for the macos . Please see this thread on the user forum. http://piano-booster.2625608.n2.nabble.com/Running-PianoBooster-on-MacOs-Catalina-10-15-5-td7572892.html with the links to the other macos builds.
Please also follow these instructions https://www.pianobooster.org/faq.html#somethings-wrong-i-have-tried-uninstalling-and-reinstalling and it should default to the correct audio driver for MacOS I would thought you would want Core Audio for the mac not Pulse Audio. Please report back if changing that setting fixes the issue.
The app in PianoBooster-macos-10.15-1.0.0.dmg opens, but still no sound. Pulse audio is the only option in the FluidSynth screen.
Tried deleting ~/.config/PianoBooster/Piano Booster.ini but no changes.
Also, the commands for fluidsynth don't work on Mac
> fluidsynth -g 1.0 -a alsa -o midi.alsa_seq.id=fs2 ~/DAW/_setup/soundfonts/FluidR3_GM.sf2
Setting parameter 'midi.alsa_seq.id' not found
> fluidsynth -g 1.0 -a alsa ~/DAW/_setup/soundfonts/FluidR3_GM.sf2
FluidSynth runtime version 2.1.7
Copyright (C) 2000-2021 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.
fluidsynth: error: Couldn't find the requested audio driver 'alsa'.
fluidsynth: Valid drivers are: coreaudio, file, portaudio
Failed to create the audio driver
>fluidsynth -g 1.0 ~/DAW/_setup/soundfonts/FluidR3_GM.sf2
FluidSynth runtime version 2.1.7
Copyright (C) 2000-2021 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.
fluidsynth: error: Error setting the audio callback. Status=-66748
Failed to create the audio driver
>
Ok great you have just found a bug. Since you have a mac have built it on the mac could you please put a pull request for the fix after you have tested it works. Thanks.
Please try these tests that I have just run on my mac: type
fluidsynth <your-path>/FluidR3_GM.sf2 <your-path>05-ScarboroughFair.mid
do hear any sound? Then type settings
i get:
> settings
audio.coreaudio.device default
audio.driver coreaudio
...
then try
fluidsynth-a pulseaudio <your-path>/FluidR3_GM.sf2 <your-path>05-ScarboroughFair.mid
do you get this message:
fluidsynth: error: Couldn't find the requested audio driver pulseaudio. Valid drivers are: coreaudio, file.
The try (you guest it):
fluidsynth-a coreaudio <your-path>/FluidR3_GM.sf2 <your-path>05-ScarboroughFair.mid
do you hear any sound? If you do please change this line https://github.com/pianobooster/PianoBooster/blob/f57ccb310ae31d48d58db3e3cfbc81b4ba31aad1/src/GuiMidiSetupDialog.cpp#L86 to "coreaudio". I can easily make that change if prefer not put in a pull request but please let me know the results. thanks for reporting this.
> fluidsynth ~/DAW/setup/soundfonts/FluidR3_GM.sf2 ~/DAW/Midi/Mondscheinsonate.mid
FluidSynth runtime version 2.1.7
Copyright (C) 2000-2021 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.
fluidsynth: error: Error setting the audio callback. Status=-66748
Failed to create the audio driver
> fluidsynth -a pulseaudio ~/DAW/setup/soundfonts/FluidR3_GM.sf2 ~/DAW/Midi/Mondscheinsonate.mid
FluidSynth runtime version 2.1.7
Copyright (C) 2000-2021 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.
fluidsynth: error: Couldn't find the requested audio driver 'pulseaudio'.
fluidsynth: Valid drivers are: coreaudio, file, portaudio
Failed to create the audio driver
> fluidsynth -a coreaudio ~/DAW/setup/soundfonts/FluidR3_GM.sf2 ~/DAW/Midi/Mondscheinsonate.mid
FluidSynth runtime version 2.1.7
Copyright (C) 2000-2021 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.
fluidsynth: error: Error setting the audio callback. Status=-66748
Failed to create the audio driver
Still, no sound when I make the changes to PianoBooster/src/GuiMidiSetupDialog.cpp
This is from Ableton if it helps:
Ok it looks like you have hit a fluidsynth problem and it is not a PianoBooster problem. I have done a bit of googling and this thread has exactly the same problem as you https://lists.nongnu.org/archive/html/fluid-dev/2021-02/msg00003.html. The original poster has exactly the same problem as you:
fluidsynth: error: Error setting the audio callback. Status=-66748
Googling for macos error "-66748"
brings up some interesting results. One of which I have posted here:
https://github.com/PortAudio/portaudio/issues/218
It looks like this might be a problem with fluidsynth using a deprecated MacOS API. You have three options:
Option 3 might not be as hard as you think. First you have to find an audio sample code that works for you and then compare the calls used with the fluidsynth method. If you post your progress on the fluidsynth mailing list I am sure others will help you.
Even though this is not a PianoBooster problem I will leave this issue open as it might help others.
Ha i have just see this https://github.com/spatialaudio/python-sounddevice/issues/299#issuecomment-752473402
Hi, I tried to reinstall and it's working now.
brew uninstall portaudio
brew install portaudio --HEAD
It didn't work for me...
brew uninstall portaudio
brew uninstall fluidsynth
brew install portaudio --HEAD
brew install fluidsynth
fluidsynth ~/DAW/setup/soundfonts/FluidR3_GM.sf2 ~/DAW/Midi/Mondscheinsonate.mid
FluidSynth runtime version 2.1.7
Copyright (C) 2000-2021 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.
fluidsynth: error: Error setting the audio callback. Status=-66748
Failed to create the audio driver
brew uninstall --ignore-dependencies portaudio
brew install portaudio --HEAD
fluidsynth ~/DAW/setup/soundfonts/FluidR3_GM.sf2 ~/DAW/Midi/Mondscheinsonate.mid
FluidSynth runtime version 2.1.7
Copyright (C) 2000-2021 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.
fluidsynth: error: Error setting the audio callback. Status=-66748
Failed to create the audio driver
Maybe this helps but not sure how to incorporate it into the build
Add an entry into the Info.plist:
AudioComponents (Array) (item 0) (Dictionary) version manufacturer name type subtype
this works on the cli:
brew uninstall fluidsynth
brew uninstall portaudio
brew install portaudio --HEAD
brew install fluidsynth
fluidsynth -a portaudio ~/DAW/setup/soundfonts/FluidR3_GM.sf2 ~/DAW/Midi/Mondscheinsonate.mid
but doesn't on the app:
You can alway start fluidsynth on the command line (without a midi file) and then fluidsynth should then appear as midi device in PB.
Also please start PB app from the command line and post the logs
this works:
fluidsynth -a portaudio ~/DAW/setup/soundfonts/FluidR3_GM.sf2
Not sure how to start PB from the command line
ls ~/.config/PianoBooster
Piano Booster.ini
For the terminal window type:
/Applications/pianobooster.app/Contents/MacOS/pianobooster
press enter and then post output from the terminal window.
Here it gooes:
/Applications/pianobooster.app/Contents/MacOS/pianobooster
qt.qpa.window: <QNSWindow: 0x7fb5cab406f0; contentView=<QNSView: 0x7fb5cab37bf0; QCocoaWindow(0x7fb5cab37a10, window=QWidgetWindow(0x7fb5cab374d0, name="QGLWidgetClassWindow"))>> has active key-value observers (KVO)! These will stop working now that the window is recreated, and will result in exceptions when the observers are removed. Break in QCocoaWindow::recreateWindowIfNeeded to debug.
qt.qpa.window: <QNSWindow: 0x7fb5c9d2f2e0; contentView=<QNSView: 0x7fb5cab37bf0; QCocoaWindow(0x7fb5cab37a10, window=QWidgetWindow(0x7fb5cab374d0, name="QGLWidgetClassWindow"))>> has active key-value observers (KVO)! These will stop working now that the window is recreated, and will result in exceptions when the observers are removed. Break in QCocoaWindow::recreateWindowIfNeeded to debug.
qt.qpa.window: <QNSWindow: 0x7fb5ca977e20; contentView=<QNSView: 0x7fb5ca977990; QCocoaWindow(0x7fb5ca9693d0, window=QWidgetWindow(0x7fb5ca95dc60, name="QWidgetClassWindow"))>> has active key-value observers (KVO)! These will stop working now that the window is recreated, and will result in exceptions when the observers are removed. Break in QCocoaWindow::recreateWindowIfNeeded to debug.
Info: Translations loaded from '/Applications/pianobooster.app/Contents/MacOS/../Resources/translations/'
Info: Tracks 2 PPQN 480
Dbug: Track 0 length 6477: Track Length 6477
Dbug: Track 0 length 6467: Seq/Track Name Piano
Dbug: Track 0 length 6459: Key Signature 2/2 metronome 24 quarter 8
Dbug: Track 0 length 6453: Key Signature 4 maj/min 0
Dbug: Track 1 length 1752: Track Length 1752
Dbug: Track 1 length 1742: Seq/Track Name Piano
Dbug: Track 1 length 1736: Key Signature 4 maj/min 0
Info: Opening song ~/DAW/Midi/Mondscheinsonate.mid
Info: Tracks 2 PPQN 480
Info: Using Pianist Channels 2 + 3
Thanks ... But I need it when PB is not working and the internal fluidsynth is selected with the portaudio output selected.
Also try a make clean (probably this won't make any difference)
This is what I get:
fluidsynth: error: Error setting the audio callback. Status=-66748
I get the same message for both portaudio and coreaudio
/Applications/pianobooster.app/Contents/MacOS/pianobooster
qt.qpa.window: <QNSWindow: 0x7fea0f5b0250; contentView=<QNSView: 0x7fea0f5a7880; QCocoaWindow(0x7fea0f5a6630, window=QWidgetWindow(0x7fea0f5a7100, name="QGLWidgetClassWindow"))>> has active key-value observers (KVO)! These will stop working now that the window is recreated, and will result in exceptions when the observers are removed. Break in QCocoaWindow::recreateWindowIfNeeded to debug.
qt.qpa.window: <QNSWindow: 0x7fea0f4e5290; contentView=<QNSView: 0x7fea0f5a7880; QCocoaWindow(0x7fea0f5a6630, window=QWidgetWindow(0x7fea0f5a7100, name="QGLWidgetClassWindow"))>> has active key-value observers (KVO)! These will stop working now that the window is recreated, and will result in exceptions when the observers are removed. Break in QCocoaWindow::recreateWindowIfNeeded to debug.
qt.qpa.window: <QNSWindow: 0x7fea1081be20; contentView=<QNSView: 0x7fea1081b6a0; QCocoaWindow(0x7fea1081b5f0, window=QWidgetWindow(0x7fea1081b450, name="QWidgetClassWindow"))>> has active key-value observers (KVO)! These will stop working now that the window is recreated, and will result in exceptions when the observers are removed. Break in QCocoaWindow::recreateWindowIfNeeded to debug.
fluidsynth: error: Error setting the audio callback. Status=-66748
Info: Translations loaded from '/Applications/pianobooster.app/Contents/MacOS/../Resources/translations/'
Info: Tracks 2 PPQN 480
Dbug: Track 0 length 6477: Track Length 6477
Dbug: Track 0 length 6467: Seq/Track Name Piano
Dbug: Track 0 length 6459: Key Signature 2/2 metronome 24 quarter 8
Dbug: Track 0 length 6453: Key Signature 4 maj/min 0
Dbug: Track 1 length 1752: Track Length 1752
Dbug: Track 1 length 1742: Seq/Track Name Piano
Dbug: Track 1 length 1736: Key Signature 4 maj/min 0
Info: Opening song ~/DAW/Midi/Mondscheinsonate.mid
Info: Tracks 2 PPQN 480
Info: Using Pianist Channels 2 + 3
It would help if we actual set the audio driver in fluidsynth we are still using the default coreaudio audio output. please change the flowing line: https://github.com/pianobooster/PianoBooster/blob/f57ccb310ae31d48d58db3e3cfbc81b4ba31aad1/src/MidiDeviceFluidSynth.cpp#L91 to this:
#if !defined (Q_OS_WINDOWS)
Same message for both coreaudio and portaudio after a clean and make...
~/code/PianoBooster/build/build/pianobooster.app/Contents/MacOS/pianobooster
qt.qpa.window: <QNSWindow: 0x7fdda3480280; contentView=<QNSView: 0x7fdda3478a30; QCocoaWindow(0x7fdda344ebc0, window=QWidgetWindow(0x7fdda3469d90, name="QGLWidgetClassWindow"))>> has active key-value observers (KVO)! These will stop working now that the window is recreated, and will result in exceptions when the observers are removed. Break in QCocoaWindow::recreateWindowIfNeeded to debug.
qt.qpa.window: <QNSWindow: 0x7fdda35c7630; contentView=<QNSView: 0x7fdda3478a30; QCocoaWindow(0x7fdda344ebc0, window=QWidgetWindow(0x7fdda3469d90, name="QGLWidgetClassWindow"))>> has active key-value observers (KVO)! These will stop working now that the window is recreated, and will result in exceptions when the observers are removed. Break in QCocoaWindow::recreateWindowIfNeeded to debug.
qt.qpa.window: <QNSWindow: 0x7fdda3724b40; contentView=<QNSView: 0x7fdda3724680; QCocoaWindow(0x7fdda3723330, window=QWidgetWindow(0x7fdda37235a0, name="QWidgetClassWindow"))>> has active key-value observers (KVO)! These will stop working now that the window is recreated, and will result in exceptions when the observers are removed. Break in QCocoaWindow::recreateWindowIfNeeded to debug.
Info: Translations loaded from '~/code/PianoBooster/build/build/pianobooster.app/Contents/MacOS/../Resources/translations/'
Info: Tracks 2 PPQN 480
Dbug: Track 0 length 6477: Track Length 6477
Dbug: Track 0 length 6467: Seq/Track Name Piano
Dbug: Track 0 length 6459: Key Signature 2/2 metronome 24 quarter 8
Dbug: Track 0 length 6453: Key Signature 4 maj/min 0
Dbug: Track 1 length 1752: Track Length 1752
Dbug: Track 1 length 1742: Seq/Track Name Piano
Dbug: Track 1 length 1736: Key Signature 4 maj/min 0
Info: Opening song ~/Desktop/DAW/Midi/Mondscheinsonate.mid
Info: Tracks 2 PPQN 480
Info: Using Pianist Channels 2 + 3
fluidsynth: error: Error setting the audio callback. Status=-66748
fluidsynth: error: Error setting the audio callback. Status=-66748
Just to eliminate this 100% you did also make that change above to Line 91 .
yes... the code is changed like in the pic above. Cleaned and compiled again. Same errors.
Hey @louis-barman happy to share my screen on a session so we get this fixed. Let me know that time suites you best we can can meet over this link: https://meet.google.com/ngp-qxby-iuc
Ok @ronaldocpontes we can have a call. Sunday afternoon. UK time would suit me. Please can you P.M. at what time would suit you, My email address is posted in this thread. https://github.com/pianobooster/PianoBooster/issues/229 Thanks.
Hi Louis ;-)
Any chance to get Pianobooster to run on Mojave ?
pianobooster cannot be opened because of a problem.
@topazUK I have just finally got around to updating the website with both builds for macOS. Please test both macOS builds on the download page of the pianobooster website and let me know if any of those work for you.
I've just downloaded the latest .dmg from the website at https://www.pianobooster.org/download.html.
It installs ok, but only pulseaudio is avaiable.
I can't open the latest version after copying the file from the PianoBooster-macOS-1.0.0.dmg into the applications folder.