Code Monkey home page Code Monkey logo

plugin-myqobuz's Introduction

plugin-MyQobuz

Motivation

The Qobuz plugin (https://github.com/LMS-Community/plugin-Qobuz) is a great tool for exploring new music. What I was missing was access to a defined collection of albums, for hearing my music on Qobuz, not seeing each album of an artist. Inspired by my old vinyl lp collection, I would like to access my music by genre -> artist -> album or artist-> album.

Therefore, a new plugin 'MyQobuz' is provided for the LMS, which contains my selected albums.

Features

Additionally, to the selection by genre and/or (alphabetically sorted) artists, a possibility to define tags for ‘MyQobuz’ albums is provided. Adding or removing albums to 'MyQobuz' will be done via an extension of the track menu. It is also possible to correct the definition of the genre of an album defined by Qobuz, because often the Qobuz definition doesn't fit for me.

It is also possible to add all “Qobuz” favorites to “MyQobuz”. In the settings you can configure whether the favorites should be removed from the Qobuz favorites after import or not.

The plugin 'MyQobuz' requires the functionality of the 'Qobuz' plugin, e.g. for playing the albums, searching for new albums and technical accessing the Qobuz API. The installation of the 'Qobuz' plugin is required for the 'MyQobuz' plugin and therefore also a Qobuz account for the user is required (the same as for the 'Qobuz' plugin).

I know that the term 'MyQobuz' is already used in the Qobuz app with another philosophy, but I found it most intuitive for the new plugin.

Technical Solution

For the section 'MyQobuz' a separate sqlite database is provided. The default location of the database is in the prefs folder of the LMS (a proposal of Michael Herger) and the name of the database is 'MyQobuz.db'. Albums and assigned tracks are stored with their Qobuz ids. These ids sometimes change, but not very often in Qobuz. Therefore, a submenu 'Qobuz removed albums' is provided to search for the vanished albums, so one can remove the album and add it again, if available with another id. This submenu is only available if such albums exist. The genre of an album is stored in the album table. During insert, the Qobuz genre is stored in the genre column and in the qobuzGenre column. Therefore, the original genre is not lost if the user overrides the genre. But it is only available in the database.

User Guide

Installation

The 'MyQobuz' plugin is available on the Settings page of the LMS in the section 'Plugins'. Here you find it in the '3rd party plugins' section: 'MyQobuz' activation

After activation, you will find 'MyQobuz' in the 'Active plugin' section and you can navigate to the settings page: 'MyQobuz' settings

Selecting an Album from 'MyQobuz'

The entrance to the 'MyQobuz' section can be found in the application view of the LMS: LMS applications view

The 'MyQobuz' section allows access to the defined albums of 'MyQobuz' via genre-artist-album , artist-album, tag-artist-album, or tag-genre-artist-album. Also, the last imported albums can be visited and the import of the 'Qobuz* favorites can be triggered: 'MyQobuz' view

Using the tag e.g. 'lp', which means the album is also available as vinyl lp (in my home collection), is shown in the next screens: 'MyQobuz' tags

Edit 'MyQobuz' Collection of Albums

To add, remove, or edit entries of 'MyQobuz' one has to go over the track menu entry 'On Qobuz' during hearing an album via 'Qobuz': 'MyQobuz' track menu

In the example, you find the album 'My Song' by Keith Jarret just playing. So you get the entry 'My Song' add to 'MyQobuz', if it is not available: 'MyQobuz' edit

If the album 'My Song' is already assigned and also tagged, you find the possibility to remove, edit the genre, and add or remove a tag: 'MyQobuz' edit

At last, you get the possibility to show the 10 last imported albums from 'Qobuz' into 'MyQobuz' accessible via the artists: 'MyQobuz' last imports

plugin-myqobuz's People

Contributors

upickartz avatar

Watchers

 avatar

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.