GithubHelp home page GithubHelp logo

conorhennessy / spotify-oled-control Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 1.0 48.83 MB

Spotify now playing on an OLED screen with added controls

License: GNU General Public License v3.0

Python 100.00%
spotify spotify-api raspberry-pi spotipy

spotify-oled-control's Introduction

spotify-oled-control's People

Contributors

conorhennessy avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

spotify-oled-control's Issues

Mute icon feature

There should be a mute icon if playback is currently muted.

This icon should look exactly alike to the one found in Spotify desktop and should be placed in the same position of the pause icon

The pause icon should have priority to be shown over the mute icon.

Improve "loading" screen

Currently, the word loading appears off-centre.

A nice loading scroll wheel or similar should display and would look much better!

SSD1322 OLED

I'm trying to get this working with a 256x64 OLED using SSD1322 SPI. I can't seem to get it to work I have the following edited.

# from luma.core.interface.serial import i2c
from luma.core.interface.serial import spi
from luma.core.render import canvas
from luma.oled.device import ssd1322

from RPi import GPIO


# clk = 17
# dt = 18
# btn = 27

# GPIO.setmode(GPIO.BCM)
# GPIO.setup(clk, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# GPIO.setup(dt, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# GPIO.setup(btn, GPIO.IN, pull_up_down=GPIO.PUD_UP)

# clkLastState = GPIO.input(clk)

# substitute spi(device=0, port=0) below if using that interface
serial = spi(device=0, port=0)
# substitute ssd1331(...) or sh1106(...) below if using that device
device = ssd1322(serial)
Width = 256
Height = 64

But every time I run it, I get these errors (forgive me I don't code, just a tinkerer):

pi@oled-pi:~/Spotify-OLED-Control $ ./Spotify_OLED_Control.py
/home/pi/.local/lib/python3.9/site-packages/luma/core/interface/serial.py:206: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  self._gpio.setup(pin, self._gpio.OUT)
Now playing Bad Things (with Camila Cabello) by Machine Gun Kelly from SpotifyPaused
Process Process-1:
Traceback (most recent call last):
  File "/usr/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/usr/lib/python3.9/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/pi/Spotify-OLED-Control/./Spotify_OLED_Control.py", line 113, in run
    track_w, self.h = draw.textsize(self.track, font=self.track_font)
AttributeError: 'ImageDraw' object has no attribute 'textsize'

Any ideas?

Connection error through Spotipy : NewConnectionError

After a while of running a spotiypy NewConnectionError occurs.

Unsure as to why this occurs.

Reproducible by just letting the program run for a while.

Leads to the program crashing entirely & display 'freezing'.

NewConnectionError

Screen doesn't clear old text & shapes

IMG_1269 copy

If the previous song title or artist name was longer than the new one, it doesn't clear out the whole line.

also same with the pause icon, you can see the legs of it underneath the status bar after a pause and doesn't go away until you restart.

Script does always not run on startup

Ideas: something wrong with the services file?

Acceptance criteria: fix this and ensure that documentation is upto date for others to set up this startup job

LCD (I2C) device not found : DeviceNotFoundError

After a while of running the following error occurs stating the LCD I2C device is not found on address: 0x3C

Unsure as to why this occurs.

Reproducible by just letting the program run for a while.

Leads to the program crashing entirely & display 'freezing'

DeviceNotFoundError

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.