Closed pawel1892 closed 5 years ago
Version 1.1 is ancient. Please try the latest release. If possible, rebuild the current git version from source.
Hi and thanks for the quick answer. I tried the Version 1.3 (Beta 5) from usdx.eu and there is still the exact same problem. No micropone settings, only the back button.
So I made my own build from from the current source code. Unfortunatelly the screen remains black after I start the app. But I can hear the backgroundmusic sound.
To build my own build I followed this instructions: https://github.com/UltraStar-Deluxe/USDX#compiling-on-linuxbsd-using-make I only changed the configure line to: PKG_CONFIG_PATH=/usr/local/Cellar/ffmpeg@2.8/2.8.15_1/lib/pkgconfig ./configure.
Any ideas?
please provide the debug.log and also check if the themes folder was created correctly.
Issue remains the same for me. I just downloaded the code on Mac 10.14 (Mojave). Applications remains black, but it is simple to fix. If you have multiple screens you move the window from one screen to another and voilà! Content appears.
No microphones are detected.
Log file: ERROR: Device "Built-in Microphone" does not work [TAudioInput_Portaudio.EnumDevices] ERROR: Device "USBMIC Serial# 082120042 " does not work [TAudioInput_Portaudio.EnumDevices]
(USBMIC is the PS Singstar microphones which works perfectly on previous versions). Error.log
I have just pushed a commit to the master branch that logs more details when an audio device "does not work".
As for the black screen, that should be fixed with the next SDL release: https://bugzilla.libsdl.org/show_bug.cgi?id=4272
Just as a reminder: Apple deprecated OpenGL support on Mac OS, thus it slowly "falls apart". Eventually we will have to drop Mac OS support, unless we find a OpenGL->Metal wrapper or similar workaround. Same statement is valid for Vocaluxe and Performous.
Because of so many people relying on OpenGL, I kind of expect that there are already people working on an OpenGL wrapper for Mac OS, or at least I hope so :smile:
Ok, I was not able to get additional information. I checked the log file... no additional info. However, it looks like something related to my audio drivers - yep, unexpected but it looks possible know on a MBP.
I found that probably there is some issues with Zoom Audio Device - that is a kind of virtual device for Zoom meetings. I tried and failed to remove it, so now, my plan is to install Mojave from Scratch.
HOWEVER. I tried the USDX build with my headset (the one I use for the calls) and it worked FLAWLESSLY!
Keep you posted, reset my MBP will take a few days.
Are you sure there is no additional output right before each "Device ... does not work" line?
AFAICS TAudioInput_Portaudio.EnumDevices
will log these lines only if TAudioCore_Portaudio.TestDevice
fails. And I have added a log message to every code path in TAudioCore_Portaudio.TestDevice
that leads to a failure. Does git show
list the log messages that I added two days ago?
I double checked, no additional info. But as I explained before, it also ran and allow me to select the USB Mics (Singstar) but didn't register any voice or sound (mics did not moved the bars). However, I will try again removing the ZoomAudioDevice.
I noticed that when Skype or any other "mic/cam" app is open, error will be thrown.
Give me a couple days.
Ok. Didn't work - fresh new Mojave (fixed a lot of performance problems) but didn't work. No additional log information. Find file attached. Error.log
There are additional log messages in line 133 and 135. If you install Audacity, are you able to record from the microphone from there?
For what it's worth, I had the same problem. I removed USDX, tested my mics worked in Preferences, then reinstalled the app. It then allowed me to select the mic. I did uncheck and recheck the mic permissions in preferences for USDX too. I cannot say which of these resolved the issue for me.
I am running Mojave 10.14.1 too.
Maybe somewhat related: I have the problem that I do see the microphone settings and can select e.g. the built-in microphone, but it doesn't register any sounds from the microphone (both in USDX settings - screenshot 1 - as well as in the sing screen - screenshot 2), but obviously the built-in mic is working (e.g. verified in the system settings - screenshot 3).
Presumably relevant parts of the error.log are:
STATUS: Opened audio device [TAudioPlayback_SDL.InitializeAudioPlaybackEngine]
STATUS: InputDevice "Built-in Microphone"@2x44100Hz (0.1sec) [Portaudio.EnumDevices]
STATUS: #Input-Devices: 1 [Portaudio]
...
STATUS: Main Loop [Initialization]
STATUS: Open Built-in Microphone [Portaudio]
STATUS: Latency of Built-in Microphone: 0.0131065759637188 [Portaudio]
As a positive side note, I don't seem to have #419 anymore. However, not having working mics is a show-stopper 👎
The issue is that in 10.14 apps need permission to access the microphone. USDX does not ask for such permission properly (or well, the abstraction USDX uses to access these devices) and gets no devices back.
UPDATE: Just checked again and for me USDX at least asked once. So maybe check in System Preferences > Security
@ePirat: I just checked and there is a check mark for UltraStarDeluxe in System > Preferences > Security > Datenschutz > Microphone. I do see the microphones in USDX settings, however, I do not get any input from them (while they do work in system settings).
@bohning That's weird. If this is a security related thing you should not see the devices at all. Eventually whatever USDX uses still relies on old QTSound stuff, I'll check.
Ok so portaudio uses CoreAudio APIs which as far as I know were not changed for 10.14 so should all still work completely fine.
Hmm, so is there anything I can test? I can verify that the mic (internal or USB) is working in the system settings, and I can verify that it does not work in USDX, neither in the Record section (no feedback) nor in the sing screen (flat oscilloscope).
On opening usdx it asked me for microphone access. I enabled it. but still no mics available in usdx version 1.1 on 10.14. thats pretty sad. Have to make a partition for sierra for the sole reason of running usdx I guess...
On first launch (when it shows the permission dialog) it would not list the microphones, after restarting though it lists them as expected and I get input from them.
@bohning Please check the configured sample rate in the Audio- & MIDI Settings.
@ePirat Oh, took me a while to find the settings in Applications > Utilities > Audio-MIDI-Setup (I believe this is what you mean?). These are my current settings, never touched them, has worked for years - so I wonder: are the settings wrong? If so, what do I need to change? And what could have changed them?
Those look alright. In the meantime I managed to sometimes reproduce the problem… It just randomly works sometimes but not other times. I will investigate.
Strange that it works for you sometimes and sometimes not. For me, the problem is relatively new, but it consistently does not work anymore. USDX finds the microphones (both internal and USB), so it does not seem to be a permission problem, but they stay silent (both in USDX settings as well as in the sing screen -> flat oscilloscope). Thanks for your further investigation - highly appreciated!
I am not sure whether this will help, but I also tried to recreate it.
The above seems pretty consistent although I have only tried it a few times.
If I can do any more to recreate/debug, please let me know.
I am also not sure if this helps, but I have also played around a little.
I have a vague/odd feeling that only the instance of UltraStarDeluxe.app gets to retrieve the microphone signal that asks the user for microphone permission on first startup. Other/later instances of UltraStarDeluxe.app (copies or replacements) do pick up the permission to be able to list the microphone devices, but are somehow unable to get their actual input (I don't even know if that makes some sense).
Maybe this helps somehow in finding the issue here. Let me know if I can do anything to help.
I created an additional volume and installed high sierra on it. Now usdx 1.1 works again and probably will work there forever. BTW: Is the latest usdx release a 64 Bit version ? I mean if not then the next major macOS release will break all 32 Bit apps anyway right ?
Yes it is.
Thanks buggy Github UI…
Just adding that I have the same experience with internal and SingStar mics. Sometimes it works when starting USDX but mostly it doesn't. Have not been able to see any consistent behaviour. 🙁
I just compiled version 1.3 from github. My experience is that if I start the app from the Finder, then I am not asked authorization to use the microphone, and it does not work. If instead I start the app from Terminal then the os ask for authorization to let terminal use the mic, and it works correctly.
I just compiled version 1.3 from github. My experience is that if I start the app from the Finder, then I am not asked authorization to use the microphone, and it does not work. If instead I start the app from Terminal then the os ask for authorization to let terminal use the mic, and it works correctly.
Hmm, unfortunately I cannot confirm this. Do you start USDX by open UltraStardeluxe.app/
? This brings up the mic access authorization dialog for you?
Recompiled latest code from GitHub and opened from console as @bohing mentioned. Did not work.
No, opening via "open /Applications/UltraStarDeluxe.app" will not trigger the authorisation request, while opening it via " /Applications/UltraStarDeluxe.app/Contents/MacOS/ultrastardx" does, and that is the only way for me to get the game working.
@CRP yes, indeed! Awesome, finally a workaround for this showstopper. Does anyone know of how to make usdx properly ask for mic access? @ePirat maybe? It would be great if this could be fixed, but at least I can finally play usdx on my Mac again!
Without knowing much about MacOs development i found this while googling: https://forums.developer.apple.com/thread/109759 https://developer.apple.com/documentation/avfoundation/avcapturedevice/1624584-requestaccessformediatype
I can't try it right now, but apparently all that is necessary is adding a key called NSMicrophoneUsageDescription to Info.plist (which is in src/macosx), and then it should work.
I can now confirm this. I just added the following two lines to Info.plist:
<key>NSMicrophoneUsageDescription</key>
<string>1</string>
the second line is probably optional. After doing this, upon restarting I am asked to authorize mic access, but USDX won't show any microphones. Closing and restarting the application fixes things once and for all ;) So somebody just needs to amend the plist on github...
Whoops indeed, never realized we miss the usage description…
@bohning Please provide a actual meaningful usage description.
Not sure what I am doing wrong, but I dont get any mic settings when entering Record.
Log:
STATUS: Opened audio device [TAudioPlayback_SDL.InitializeAudioPlaybackEngine]
ERROR: Error: Audio callback is not called [TAudioCore_Portaudio.TestDevice]
ERROR: Device "Built-in Microphone" does not work [TAudioInput_Portaudio.EnumDevices]
STATUS: #Input-Devices: 0 [Portaudio]
Did you try to close and then restart?
Yes. In desperate times I also try reboot....
@jesperalmstrom @bohning I can confirm, still having the same problem as jesperalmstrom. You are not by chance using a mac (such as my mac mini) which has no built in mic? What's wierd, is that if I plug a headset into microphone port and go into settings (can only do when turning off mic access in OsX privacy as described at bottom), Ultrastar record preferences show the mic as "Built in mic" (which my computer does not have) whereas OSX preferences recognize it as "External microphone."
Anyway, I can confirm same behavior as you using Mac mini / MacOS Mojave 10.14.5:
\<key>NSMicrophoneUsageDescription\</key> \<string>Need microphone access for pitch analysis of the singer's voice.\</string>
Automatically went into Record settings and the record settings were empty. Log:
STATUS: Opened audio device [TAudioPlayback_SDL.InitializeAudioPlaybackEngine] ERROR: Error: Audio callback is not called [TAudioCore_Portaudio.TestDevice] ERROR: Device "Built-in Microphone" does not work [TAudioInput_Portaudio.EnumDevices] STATUS: #Input-Devices: 0 [Portaudio]
Note: Error states "Built-in Microphone" does not work, but my Mac mini HAS NO built in microphone. Could this be the issue? Could Ultrastar be assuming there is a built-in mic on startup, then throwing an error and choking when it does not find one?
I can also re-confirm that behavior reported above @ " bohning commented Jan 3, 2019" still occurs with rebuild from yesterday:
STATUS: Opened audio device [TAudioPlayback_SDL.InitializeAudioPlaybackEngine] STATUS: InputDevice "Built-in Microphone"@2x44100Hz (0.1sec) [Portaudio.EnumDevices] STATUS: InputDevice "Steinberg UR22mkII "@2x44100Hz (0.1sec) [Portaudio.EnumDevices] STATUS: #Input-Devices: 2 [Portaudio]
I'm wondering: are many of us using computers which have no built-in mic?
@dexwolfram I use a Macbook Pro with mic.
Still no success to get it to work. I have tried many options and the only way for me to get it to work is to start ~/dev/USDX/UltraStarDeluxe.app/Contents/MacOS/ultrastardx
FWIW, I am using a Mac Mini as well. My MIC is a pair of USB Sony Singstar mics. The only weirdness I registered is that after starting USDX the first time, when I am asked for permissions, then the application shows no microphones connected. If I restart the app (no other changes), then it works fine. So I think you can remove the mac mini from your diagnostic checklist ;)
Thx everyone, I feel like I have narrowed down the problem. For my mac mini, it's also the MacOS preferences OUTPUT setting that makes the difference, not (or not only) the input setting -- even though the error messages seem only to relate to the mic settings.
I have a Mac mini, which has a built-in sound card, but I've also a USB-connected Steinberg UR22mkII sound interface hooked up to a mic (but not hooked up to a speaker).
(1) If I set MacOS preferences to use the Steinberg for BOTH input and output, Ultrastar works fine.
(2) If I set MacOS preferences to use the Steinberg for input, but the Mac Mini built-in speaker for output, I get the microphone error / non-working Record / microphone settings page. Odd behavior, particularly since the only change in settings between (1) and (2) relates to sound output, not input (and the output by the way works fine in UltraStar here).
(3) If I set MacOS preferences to use the Steinberg for input, but the Mac mini headset jack for output, I also get the microphone error / non-working Record / microphone settings page. Again, weird.
(4) If I set MacOS preferences to use the Mac mini headset jack for both input and output, I also get the microphone error / non-working Record / microphone settings page.
(5) If I set MacOS preferences to use the Mac mini headphone jack for input, but the Steinberg for output, well then the error does not appear. But strangely, I am not able to select the Mac mini headset jack as input in UltraStar Record / microphone settings. The only option for input in UltraStar is the Steinberg. Also weird.
It basically seems like to me, that if I use the mac mini sound card for output, I get the UltraStar microphone error. A bit counter-intuitive, since the errors thrown all relate to the microphone settings, not the output settings. Also, I have no output hooked up to my Steinberg, and when I get the UltraStar error, output from the internal mini sound card is actually working fine (I get the background music) so it never occurred to me to fiddle with the output settings.
My best presumption is that this will all work fine once I hook up the Steinberg to an external speaker system and use if for both output and input.
But still, it a appears that I get UltraStar microphone input errors whenever MacOS Preferences are set to use the mini internal sound card for output. Not sure if the MacOS preferences setting for input really matters, though it appears I would have trouble using the internal card for UltraStar input. Anyone else seeing anything like this?
@jesperalmstrom Did you try fooling with output settings to a different output card as per my last post?
@dexwolfram I dont have a different output card on my Macbook. @ePirat or @bohning Could you share a new MacOs build that I could try? Because I am not able to get this to work. At my current MacBook the build does not even get passed a black startup screen and then it just dies without any error in the log file.
Hm. If you have another Apple device, maybe you could try output to the other device by Airplay, just for kicks.
After the update from Mac OS X 10.13 to 10.14 it is not possible make microphone settings. The screen under options -> record remains empty:
As expected it is not possible to sing, because no microphones are aonfigurated fpr player 1.