Code Monkey home page Code Monkey logo

soundcheck's Introduction

Logo

Soundcheck, a desktop Spotify mini player.

Windows Support Ubuntu Support

GitHub issues GitHub pull requests Continuous Integration


Archived

Archived as I have not really worked on this in a long while. In that time Spotify released their own desktop miniplayer. This doesn't quite fill the same purpose I had set out for in this project so I may pick it up again.


Development

If you want to run this project on your local system, see below.

Prerequisites

Before you start, make sure you have the following prerequisites installed:

You can find more detailed information about the prerequisites in the Tauri documentation.

Getting started

To get started with development, follow these steps:

  1. Fork this project.
  2. Clone the repository to your local machine.
$ git clone https://github.com/<your_github_username>/soundcheck.git
$ cd soundcheck
  1. Install project dependencies using npm:
$ npm install
  1. Run the project in development mode.
$ npm run dev

Building

To build a production version of the app, follow these steps:

  1. Create an app in the Spotify for Developers Dashboard (Guide)
  2. Include your client id and the port of your localhost redirect uri in a .env file in the root directory.
SPOTIFY_CLIENT_ID=<your spotify client id>
SPOTIFY_REDIRECT_URI=http://localhost:<port number>
  1. Create the production version of your app:
$ npm run build

It will detect your operating system and build a bundle accordingly. The result will be located in src-tauri/target/release. For more information about building applications for different platforms check out the official documentation

Build-time Options

Options specified in the .env file that determine varying behaviour of builds.

  • REFRESH_RATE: The frequency that the playback state is refreshed (in ms). [Default: 5000]

License

MIT

soundcheck's People

Contributors

ndoolan360 avatar dependabot[bot] avatar

Watchers

 avatar

soundcheck's Issues

Show Log-in button on main when not logged in

The log-in button should be the main call to action when the user is not logged in, so it should be present in the main info section and disappear once the user is logged in.

Might remove the button from the menu and add the log out button to the bottom of the menu and disable it when not logged in, to reduce the duplicate button.

Disable volume control for mobile devices

To my knowledge mobile devices aren't allowed to have their volume controlled from external sources including the spotify api.
There are many posts on the Spotify forums that discuss this but to prevent confusing UX, I would like to disable volume control when the current device type is mobile.
This will likely be done by making modifications to the disallows functionality. ๐Ÿ˜„

Screen returns to default if inactive for too long

If the user leaves a song paused for too long, the screen returns to the default state even though it is connected to a device.
This is because the underlying playback state in Spotify appears to respond to inactivity.

This is a confusing state to be in and it would be preferred if the state persisted with the previously paused song.

Known fix is to, if paused, "seek" to the last known playback position. This keeps the state fresh as it is not considered inactive.
Would like to find a better solution instead of the above.

Better contrast for song info over image background

Investigate methods to improve contrast of text over arbitrary image background.
Vignette does an ok job of creating contrast around the edges for things like the controls and close button but the text in the middle suffers from a lack of contrast on particularly bright backgrounds.

Example of bad contrast:
image

Remove artifacts of sm3lte

Remove all the unnecessary sm3lte artifacts from migrating that mini project over.
Should just be components.

Showcase and logo update

  • Add a new logo that better suits the name "Soundcheck"
  • Add some screenshots of the app in action
  • Add a blurb of info on the app features, motivations and ambitions.

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.