Hello,
Thanks for your code. I already have scrolling but maybe I'll try yours for eventually better performance.
I tried:
- RPLCD
- 'manual' writting to LCD using RPi.GPIO
- 'manual' writting to LCD using WiringPi
- Adafruit LCD library
The lowest CPU usage is when using RPI.GPIO and manual writting but it has that problem of getting slow on song change as well. But Adafruit library works fine, so I choosed Adafruit, even it has the highest CPU usage. But, by using Adafruit, the tutorial will become more complicated since it's necessary to install the library which then gives error because it tries to use I2C and one module is missing, so I had to remove (comment) a few lines of code in Adafruit library to get it to work.
Have you tested your code with scrolling both lines, when the song changes? Does it get slow?
Yes, I use ordinary LCD with 4 data wires. I know they're not expensive, but I had this one at home so I'm experimenting with it. I was planning to get 4x20 LCD because this one is to small, I want to have current and total time as well as some other infos (like bitrate, current state etc.). So I will order one and then probably go for the I2C version. But I can't make a decision which one to get
I was thinking about getting an OLED version with black background and white text so I would be able to read it from higher distances but they're not cheap.
Also, this is not the final version, only testing. I will probably use Raspberry Pi 2 at my final version and surely a 4x20 LCD, because I want to have one device for movies and music so I want to make a dual-boot setup with OSMC and RuneAudio, which is currently not possible (at least, nobody succeeded at that, as far as I know) but I'm thinking about a "hardware" solution with 2 SD cards and a microcontroller to switch between SD cards.
Now I will replace button pooling with threaded interrupts, and pulling info from "mpc status" with MPD library for Python and then update the code and tutorial.
Pozdrav