Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 1.6 (7): Icecast works, but "Localradio" main interface does not #4

Open
vielmetti opened this issue Oct 4, 2017 · 3 comments

Comments

@vielmetti
Copy link

Thanks for putting this together.

My "Localradio" screen is blank, but I am able to listen to the station that I'm tuning to via Icecast.

screen shot 2017-10-04 at 12 37 19 am

When I connect to my local system on port 17002, the browser hangs on "New Tab". Connecting to port 17003 on that same host, I get the Icecast screens, and am able to connect to the streaming audio.

I'm running on a MacBook Pro running 10.12.6.

@dsward2
Copy link
Owner

dsward2 commented Oct 4, 2017

vielmetti - Thanks for a helpful report. Apparently, the web interface isn't working on anything?

I just downloaded LocalRadio 1.6-alpha from Github to a MacBook Air running macOS 10.12.6, and it is running okay so far.

Between the HTTP server and the client, there are a lot of places where something could go wrong.

It is probably not a firewall problem, at least for the built-in macOS firewall. Even if LocalRadio is set to block incoming connections, the app's built-in web view should still have a good connection to the HTTP server.

Apple has a utility called Console.app that might have some useful info. Please launch that from the /Applications/Utilities folder, then search for "LocalRadio" in the "Filter" box. If you see any interesting messages there, please let me know. (It is probably not the database NSLock error, which seems to be harmless.)

The app's web view also has a web inspector with a separate console. It can be accessed with a right-click or control-click in the web view - then choose "Inspect Element" in the pop-up menu. And click on the Console tab to see any error messages.

I actually see an error message in the web inspector now. "Can't find variable holdAudioSrc", getting called from a JavaScript function named "startAudioPlayerAfterDelay".

The next release, LocalRadio 1.7a, will be posted tonight. I'll make sure that error is fixed for that release. Please let me know if that fixes the bug.

thanks,
Doug

@vielmetti
Copy link
Author

Thanks Doug. I downloaded the 1.7-alpha and the symptoms are the same. It's almost as if the process that runs the server for port 17002 is not running at all. No visible errors in the error logs.

Then, instead of launching the application by double clicking it, I went into the directory where it's stored an ran "LocalRadio" from the command line - and everything seems to be working now.

The full log that it runs at startup time is as follows when it succeeds:

2017-10-06 00:19:20:031 LocalRadio[14453:307] HTTPServer: Started HTTP server on port 17002
2017-10-06 00:19:20.164 LocalRadio[14453:16930449] Using sqlite database at path /Users/ed/Library/Containers/com.arkphone.LocalRadio/Data/Library/Application Support/LocalRadio/LocalRadio.sqlite3
2017-10-06 00:19:20.165 LocalRadio[14453:16930449] startSQLiteConnection sqliteIsRunning = 1
2017-10-06 00:19:20.167 LocalRadio[14453:16930449] *** -[NSRecursiveLock unlock]: lock (<NSRecursiveLock: 0x7fc0e4ff3dc0> '(null)') unlocked when not locked
2017-10-06 00:19:20.168 LocalRadio[14453:16930449] *** Break on _NSLockError() to debug.
2017-10-06 00:19:20.173 LocalRadio[14453:16930449] *** -[NSRecursiveLock unlock]: lock (<NSRecursiveLock: 0x7fc0e4ff3dc0> '(null)') unlocked when not locked
2017-10-06 00:19:20.173 LocalRadio[14453:16930449] *** Break on _NSLockError() to debug.
2017-10-06 00:19:20.173 LocalRadio[14453:16930449] *** -[NSRecursiveLock unlock]: lock (<NSRecursiveLock: 0x7fc0e4ff3dc0> '(null)') unlocked when not locked
2017-10-06 00:19:20.174 LocalRadio[14453:16930449] *** Break on _NSLockError() to debug.
2017-10-06 00:19:20.175 LocalRadio[14453:16930495] Starting Icecast server
2017-10-06 00:19:20.175 LocalRadio[14453:16930495] Launching icecast NSTask: "/Users/ed/Downloads/LocalRadio-2.app/Contents/MacOS/icecast" -c "/Users/ed/Library/Containers/com.arkphone.LocalRadio/Data/Library/Application Support/LocalRadio/icecast.xml"
2017-10-06 00:19:20.176 LocalRadio[14453:16930495] Launched icecastTask, PID=14454
2017-10-06 00:19:20.180 LocalRadio[14453:16930497] UDPStatusListenerController - udpStatusListener receiving on :::17004
[2017-10-06  00:19:20] WARN CONFIG/_parse_root Warning, <location> not configured, using default value "Earth".
[2017-10-06  00:19:20] WARN CONFIG/_parse_root Warning, <admin> contact not configured, using default value "icemaster@localhost".
[2017-10-06  00:19:20] WARN fserve/fserve_recheck_mime_types Cannot open mime types file /etc/mime.types
2017-10-06 00:19:20:718 LocalRadio[14453:5b03] Bonjour Service Published: domain(local.) type(_http._tcp.) name(LocalRadio.Ed’s MacBook Pro)
2017-10-06 00:19:21.195 LocalRadio[14453:16930495] EZStreamController - Launched NSTask udpListenerTask, PID=14455, args= "/Users/ed/Downloads/LocalRadio-2.app/Contents/MacOS/UDPListener" -l 17006
2017-10-06 00:19:21.196 LocalRadio[14453:16930495] EZStreamController - Launched NSTask soxTask, PID=14456, args= "/Users/ed/Downloads/LocalRadio-2.app/Contents/MacOS/sox" -e signed-integer -b 16 -c 1 -r 48000 -t raw - -t mp3 -C -4.2 -
2017-10-06 00:19:21.198 LocalRadio[14453:16930495] EZStreamController - Launched NSTask ezStreamTask, PID=14457, args= "/Users/ed/Downloads/LocalRadio-2.app/Contents/MacOS/ezstream" -c /Users/ed/Library/Containers/com.arkphone.LocalRadio/Data/Library/Application Support/LocalRadio/ezstream_mp3.xml
2017-10-06 00:19:21.203 UDPListener[14455:16930509] UDPListener main() started
2017-10-06 00:19:21.204 UDPListener[14455:16930509] UDPListener starting server on port 17006
/Users/ed/Downloads/LocalRadio-2.app/Contents/MacOS/sox WARN mp3: unable to write VBR tag because we can't seek
2017-10-06 00:19:22.354 LocalRadio[14453:16930449] *** WARNING: Method convertPointToBase: in class NSView is deprecated on 10.7 and later. It should not be used in new applications. 

@dsward2
Copy link
Owner

dsward2 commented Oct 7, 2017

vielmetti - Thanks again for that update. All of those log entries look okay, especially the "HTTPServer: Started HTTP server on port 17002". If an error like a port conflict occurred, the app should display an alert window message "Failed to start HTTP Server" with an error code.

In Terminal.app, the LocalRadio HTTP server can be tested with a command like "curl localhost:17002", which should print out the HTML for the home page from the built-in server. Or perhaps it would display an error message.

I have to use a terminal command to launch Gqrx on one particular Mac in order to get it to run at all. Apparently, one of the libraries used in Gqrx has a problem finding the default audio devices on some Macs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants