Giter VIP home page Giter VIP logo

spotify-terminal's People

Contributors

marcdjulien avatar skortchmark9 avatar tirkarthi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

spotify-terminal's Issues

failed to execute default browser

Erase is control-H (^H).


/ /_ ____ / /(/ ____ __
__ / __ / __ / / / // / / /
/ / // / // / // / __/ /
/ /
// ./_
/_/// _, /
// //
______ _ __
/
_____ _________ ___ (
)
__ ____ / /
/ / / _ / / __ __ \/ / __ \/ __ / /
/ / / __/ / / / / / / / / / / / /
/ / /
/
/ _
_/
/ // // //// //_,/_/

[marcdjulien]

Loading...

v0.15.2

Running Firefox as root in a regular user's session is not supported. ($XAUTHORITY is /home/user1/.Xauthority which is owned by user1.)

I think it is trying to open default borwser but it is not opening also i have tried to install it in termux there also its not working
cann't we use 'xdg-open' there.

Exception when no devices available

Traceback (most recent call last):
  File "./spotify.py", line 58, in <module>
    display.start()
  File "/home/mjulien2/spotifyterminal/display.py", line 118, in start
    self.render()
  File "/home/mjulien2/spotifyterminal/display.py", line 180, in render
    self.render_footer()
  File "/home/mjulien2/spotifyterminal/display.py", line 277, in render_footer
    text = self.state.current_menu.get_current_list_entry().str(self._cols)
AttributeError: 'NoneType' object has no attribute 'str'

Starting without player open

The application isn't robust to starting if a player isn't open. Come up with a way to start the player.

Potential solutions:

  • We may need to save existing devices and have the user select one.

Playlist Sort

Is their any way to sort the playlist song order, such as date added? All my new songs added are all the way at the bottom.

Expire cache items

Disk cache: Should delete items after a certain time limit. Default is 6 days (will automatically refresh discover weekly playlist), can be configurable.
Memory cache: Should limit to 100MB, can be configurable (need to actually profile memory usage first).

Also a command to clear cache items without having to restart.

Searching for device issue

I have issue with device searching.
When I startup the spotify client, everything works fine... It will load up and show my playlists, etc.
But when I hit play, the messege show up: No device is selected! Press W to open devices menu.
So I press W and new "window" pop up with searching with no response, it just freezes.

Allow user to select which artist

When highlighting a Track you can use the goto_artist hotkey to go directly to the artist. Currently, this just goes to the first artist. Allow the user to select which artist to go to in the pop-up menu.

Create custom artist context with all tracks

Context:
Some artists have a ton of singles, which makes it annoying to listen to all of their tracks back to back.

Create a special context that expands all tracks into a single track list. This can be triggered by hitting TAB (In the future it will be a custom hotkey).

Save track to playlist

Similar to #17 add the ability to save tracks to a certain play list. Workflow:

  1. Hit hotkey to save to playlist
  2. Go to playlist List
  3. Select a playlist
  4. Pop-up to confirm

Also add the ability to create a new playlist.

First run after installation fails with error "'Thread' object has no attribute 'isAlive'"

I installed with pip install spotify-terminal on my Raspberry Pi Linux raspberrypi 5.10.92+ #1514 Mon Jan 17 17:35:21 GMT 2022 armv6l GNU/Linux
Python 3.9.2, pip 20.3.4
I then closed and reopened my terminal and ran spotify-terminal.py -u xxxxx (user ID) and received this output:

... ASCII art ...
   v0.15.3

Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.9/threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "/home/pi/.local/lib/python3.9/site-packages/spotify_terminal/authentication.py", line 67, in show_link
    if web_thread.isAlive():
AttributeError: 'Thread' object has no attribute 'isAlive'

Allow configuration

Allow users to specify hotkeys in a configuration fie.

Example:

play_next: ">"
play_prev: "<"
to_artist: "D"
to_album: "S"
show_devices: "W"
sync_player: "R"
play_pause: " "
find_next: "n"
find_prev: "p"
volume_[1-10]: "1-0"
volume_mute: "~"
add_track: "P"

Entries can either be ascii (in quotes) or raw key code:

add_track: 60

Show all possible actions

Show all possible actions from any given state.

Not sure if this is worth since a Help menu was added.

chr() arg not in range(0x110000)

get this error when trying to run it on an iMac G4.

Traceback (most recent call last):
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/spotify-terminal.py", line 4, in
import('pkg_resources').run_script('spotify-terminal==0.15.2', 'spotify-terminal.py')
File "/Users/Mac/Library/Python/3.8/lib/python/site-packages/pkg_resources/init.py", line 651, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/Users/Mac/Library/Python/3.8/lib/python/site-packages/pkg_resources/init.py", line 1448, in run_script
exec(code, namespace, namespace)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotify_terminal-0.15.2-py3.8.egg/EGG-INFO/scripts/spotify-terminal.py", line 5, in
main()
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotify_terminal-0.15.2-py3.8.egg/spotify_terminal/main.py", line 97, in main
api = ApiClass(args.username, args.use_cache)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotify_terminal-0.15.2-py3.8.egg/spotify_terminal/api.py", line 124, in init
self.auth = Authenticator(username)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotify_terminal-0.15.2-py3.8.egg/spotify_terminal/authentication.py", line 46, in init
self._init()
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotify_terminal-0.15.2-py3.8.egg/spotify_terminal/authentication.py", line 109, in _init
line = "".join([
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotify_terminal-0.15.2-py3.8.egg/spotify_terminal/authentication.py", line 110, in
chr(i-1993) for i in struct.unpack("64I", f.readline())
ValueError: chr() arg not in range(0x110000)

How to remove spotify-terminal?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Non Spotify Premium

See what non-premium users are able to do.

All player functions (pause, play, next, volume ,etc) don't work for non-premium users. See if there's a way around this through another API.

Unfortunately, the spotilocal API has been deprecated.

Add support for Devices

The API often loses track of the current device. The application should save the last device and supply that to the play endpoint.

Additionally, allow a user to select from a list of known devices.

High CPU - macbook pro 2016 core i7

It's great not to have to leave my terminal / tmux session yet still be able to control spotify, however I notice very high CPU (around 60%) reported from htop for spotify.py, even when no playback is occurring.

This is on a 2016 macbook pro 2.9 GHz Intel Core i7 / 16GB ram, so I would not say it's under-spec'ed. Is anyone else seeing / reported this issue?

image

Unable to find devices

When trying to see the list of devices (W), the list is never able to load. I'm running this on a fairly minimal fedora system so maybe there are some unlisted dependencies. I haven't looked through the source yet.

Browser logging ruins screen

The application opens a browser to complete authentication. After this is complete it's still possible for the browser to output log messages to the screen which ruins the curses display.

Find a way to suppress or clear this output.

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.