Thanks @Mike_Plugge for your hard work
Looking forward to your next commit.
@Mike_Plugge Grateful for your effort and contribution. Look forward to volume control, so I can hook up IQaudiO DigiAMP+/ CT165-T2 in the ceiling of a wet room.
BTW, Node.JS version 6.x or higher needs to be installed ā GitHub text needs updating. Otherwise, there is an error: TypeError: this is not a typed array (line 61.) Buffer.from was introduced in version 6.0.0.
@mjw thanks for the heads up. I will update the README
@Tech_Whisky_Lab no worries! If you are seeing the bug chances are pretty good that someone else will too!
A couple of tweaks for Raspberry Pi install:
- Start Chromium in kiosk mode
sudo nano ~/.config/autostart/autoChromium.desktop
[Desktop Entry]
Type=Application
Exec=/usr/bin/chromium-browser --noerrdialogs --disable-session-crashed-bubble --disable-infobars --kiosk http://localh$
Hidden=false
X-GNOME-Autostart-enabled=true
Name[en_US]=AutoChromium
Name=AutoChromium
Comment=Start Chromium when GNOME starts
- Hide the cursor
sudo apt-get install unclutter
nano ~/.config/lxsession/LXDE-pi/autostart
Add the following to the file:
@unclutter -idle 0
Then reboot.
@Mike_Plugge I find that networking starts after Roon Web Controller which results in a āNothing playing :-(ā message. It wonāt go away without restarting the service. Iām looking for a fix.
It would seem that the service canāt find the stream:
-- Logs begin at Fri 2017-06-02 17:25:32 UTC, end at Fri 2017-06-02 17:27:52 UTC. --
Jun 02 17:25:35 pithecia-aequatorialis systemd[1]: Starting NodeJS app - Roon Web Controller...
Jun 02 17:25:35 pithecia-aequatorialis systemd[1]: Started NodeJS app - Roon Web Controller.
Jun 02 17:25:39 pithecia-aequatorialis node[537]: Listening on port 8080
sudo systemctl restart roon-web-controller.service
-- Logs begin at Fri 2017-06-02 17:25:32 UTC, end at Fri 2017-06-02 17:29:23 UTC. --
Jun 02 17:25:35 pithecia-aequatorialis systemd[1]: Starting NodeJS app - Roon Web Controller...
Jun 02 17:25:35 pithecia-aequatorialis systemd[1]: Started NodeJS app - Roon Web Controller.
Jun 02 17:25:39 pithecia-aequatorialis node[537]: Listening on port 8080
Jun 02 17:28:40 pithecia-aequatorialis systemd[1]: Stopping NodeJS app - Roon Web Controller...
Jun 02 17:28:40 pithecia-aequatorialis systemd[1]: Starting NodeJS app - Roon Web Controller...
Jun 02 17:28:40 pithecia-aequatorialis systemd[1]: Started NodeJS app - Roon Web Controller.
Jun 02 17:28:41 pithecia-aequatorialis node[1944]: Listening on port 8080
Jun 02 17:28:42 pithecia-aequatorialis node[1944]: -> REQUEST 0 com.roonlabs.registry:1/info
Jun 02 17:28:42 pithecia-aequatorialis node[1944]: <- COMPLETE 0 Success {"core_id":"f64746ba-ae67-4f3b-8498-dbd269d5337
Jun 02 17:28:42 pithecia-aequatorialis node[1944]: -> REQUEST 1 com.roonlabs.registry:1/register {"extension_id":"com.pl
Jun 02 17:28:42 pithecia-aequatorialis node[1944]: <- CONTINUE 1 Registered {"core_id":"f64746ba-ae67-4f3b-8498-dbd269d5
Jun 02 17:28:42 pithecia-aequatorialis node[1944]: -> REQUEST 2 com.roonlabs.transport:1/subscribe_zones {"subscription_
Jun 02 17:28:42 pithecia-aequatorialis node[1944]: <- REQUEST 1 com.roonlabs.status:1/subscribe_status {"subscription_ke
Jun 02 17:28:42 pithecia-aequatorialis node[1944]: -> CONTINUE 1 Subscribed {"message":"Extenstion enabled","is_error":f
Jun 02 17:28:42 pithecia-aequatorialis node[1944]: <- REQUEST 2 com.roonlabs.pairing:1/subscribe_pairing {"subscription_
Jun 02 17:28:42 pithecia-aequatorialis node[1944]: -> CONTINUE 2 Subscribed {"paired_core_id":"f64746ba-ae67-4f3b-8498-d
Jun 02 17:28:42 pithecia-aequatorialis node[1944]: <- CONTINUE 2 Subscribed {"zones":[{"zone_id":"16014110a00127b885eb45
Jun 02 17:28:42 pithecia-aequatorialis node[1944]: <- CONTINUE 2 Changed {"zones_changed":[{"zone_id":"16014110a00127b88
Jun 02 17:28:43 pithecia-aequatorialis node[1944]: <- CONTINUE 2 Changed {"zones_changed":[{"zone_id":"16014110a00127b88
Jun 02 17:28:44 pithecia-aequatorialis node[1944]: <- REQUEST 3 com.roonlabs.ping:1/ping
Jun 02 17:28:44 pithecia-aequatorialis node[1944]: -> COMPLETE 3 Success
The systemctl has a directive to start after network. Did you use the systemctl example he posted on his github?
https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
@Tech_Whisky_Lab Thanks. Just worked that out ā¦
sudo raspi-config
Then select option 3, B2.
Yes, I used the systemd settings from GitHub.
@mjw
Glad the network issue got resolved for you.
As for launching Chromium automatically, I use a slightly different method since none of my Raspberry Pis have a full desktop environment - they are very minimal builds. I am using Arch Linux Arm though, not Raspbianā¦
I just install Xorg and the matchbox window manager package (matchbox-window-manager package on Arch Linux Arm, not sure on Raspbian). I then have a systemctl service file that runs a script. This works for Xorg, but since the matchbox-window-manager is not compatible with Wayland, I will have to look for a new approach then.
systemd service file:
[Unit]
Description = Starts Xorg as defined in /home/USERNAME/bin/gui.sh
After = systemd-user-sessions.service network.target
Conflicts=getty@tty7.service[Service] User = USERNAME Group = USERNAME PAMName=login Type = simple TTYPath=/dev/tty7 ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /home/USERNAME/bin/gui.sh -- :0 -nolisten tcp vt7 Restart = always StandardInput = tty
[Install] WantedBy = multi-user.target
gui.sh script:
#!/bin/bash export DISPLAY=":0" xset dpms 60 60 60 & matchbox-window-manager -use_titlebar no -use_cursor no & /usr/bin/chromium --kiosk <URL TO EXTENSION>
@Tech_Whisky_Lab - I have successfully simulated the problem you reported. It is definitely a problem with my parser. I am working on it and hope to have something tonight or tomorrow to resolve itā¦
Maybe a dumb question but does this also the possibility to use an IOS device as an end-point?
@Richard_van_Enteren not as an endpoint. But you could use it as a remote.
@Mike_Plugge Awesome! Looking forward to your fix!
For the web page, yes. In fact, the html header for this app already contains all of the metadata needed to create at full screen web app on IOS.
Open the site in IOS Safari, click the share icon, then click āAdd to Home Screenā. This app has all the header information to have a nice icon and to allow it to run full screen.
For the server part, no. The server part needs to run in Node JS
Thanks for your super quick reply!
Thanks for your reply and Iām going to play around with it. Love Roon already and now even more fun to play around with it.
@Richard_van_Enteren - please keep in mind that right now the app is designed for a landscape view. The primary target for this app is a Raspberry Pi Touch screen in landscape view.
So it will look good on an iPad in landscape mode, but right now it will probably not look good on an iPhone or on an iPad in portrait mode.
Thanks for that @Mike_Plugge. I though the full Raspbian was a bit OTT, but I wanted to see your controller working. When I have a little more time Iāll build another image and see how that goes.
One thin Iāve noticed is the screen looks ever so slightly stretched. Just wondering if the display properties arenāt quite right.
Looks fine over here. It actually adjusts pretty well for me.
Can you post a screenshot?
Thanks!
The app is designed to scale to the screen, so it is possible that Raspbian is not recognizing your screen size correctlyā¦
But that is just a stab in the darkā¦
@Tech_Whisky_Lab - I think I fixed the bug you reportedā¦
I just pushed a new commit to the ādevā branch which has some de-duplication logic in it. It should fix the issue you reported.
The debugging code is still in there, so if you do see something, can you post an updated screenshot of http://localhost:8080/debug.html and the debug.log?
The google drive method for the debug.log was perfect!
@Mike_Plugge Awesome! Thank you so much! I wasnāt expected you to commit it so quick! Thanks again!
Will pull your commit tonight when I get home.