From: jdelaney72 <20731268+jdelaney72@users.noreply.github.com> Date: Fri, 7 Mar 2025 07:58:50 +0000 (-0800) Subject: Fix broken links in DEVELOPMENT.md (#2006) X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=6285f89157294037df6b62fe492b3b2531f6eb1e;p=music-assistant-server.git Fix broken links in DEVELOPMENT.md (#2006) --- diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index edb1c9e8..ec29152e 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -35,9 +35,9 @@ The Music Assistant server is fully built in Python. The Python language has no ## Building a new Music Provider -A Music Provider is the provider type that adds support for a 'source of music' to Music Assistant. Spotify and Youtube Music are examples of a Music Provider, but also Filesystem and SMB can be put in the Music Provider category. All Providers (of all types) can be found in the `music_assistant/server/providers` folder. +A Music Provider is the provider type that adds support for a 'source of music' to Music Assistant. Spotify and Youtube Music are examples of a Music Provider, but also Filesystem and SMB can be put in the Music Provider category. All Providers (of all types) can be found in the `music_assistant/providers` folder. -TIP: We have created a template/stub provider in `music_assistant/server/providers/_template_music_provider` to get you started fast! +TIP: We have created a template/stub provider in `music_assistant/providers/_template_music_provider` to get you started fast! **Adding the necessary files for a new Music Provider** @@ -52,23 +52,23 @@ The easiest way to get start is to copy the contents of the manifest of an exist **Creating the provider** -Create a file called `__init__.py` inside the folder of your provider. This file will contain the logic for the provider. All Music Providers must inherit from the [`MusicProvider`](./music_assistant/server/models/music_provider.py) base class and override the necessary functions where applicable. A few things to note: +Create a file called `__init__.py` inside the folder of your provider. This file will contain the logic for the provider. All Music Providers must inherit from the [`MusicProvider`](./music_assistant/models/music_provider.py) base class and override the necessary functions where applicable. A few things to note: * The `setup()` function is called by Music Assistant upon initialization of the provider. It gives you the opportunity the prepare the provider for usage. For example, logging in a user or obtaining a token can be done in this function. -* A provider should let Music Assistant know which [`ProviderFeatures`](./music_assistant/common/models/enums.py) it supports by implementing the property `supported_features`, which returns a list of `ProviderFeatures`. +* A provider should let Music Assistant know which [`ProviderFeature`](https://github.com/music-assistant/models/blob/main/music_assistant_models/enums.py) it supports by implementing the property `supported_features`, which returns a list of `ProviderFeature`. * The actual playback of audio in Music Assistant happens in two phases: 1. `get_stream_details()` is called to obtain information about the audio, like the quality, format, # of channels etc. - 2. `get_audio_stream()` is called to stream raw bytes of audio to the player. There are a few [helpers](./music_assistant/server/helpers/audio.py) to help you with this. Note that this function is not applicable to direct url streams. + 2. `get_audio_stream()` is called to stream raw bytes of audio to the player. There are a few [helpers](./music_assistant/helpers/audio.py) to help you with this. Note that this function is not applicable to direct url streams. * Examples: - 1. Streaming raw bytes using an external executable (librespot) to get audio, see the [Spotify](./music_assistant/server/providers/spotify/__init__.py) provider as an example - 2. Streaming a direct URL, see the [Youtube Music](.//music_assistant/server/providers/ytmusic/__init__.py) provider as an example - 3. Streaming an https stream that uses an expiring URL, see the [Qobuz](./music_assistant/server/providers/qobuz/__init__.py) provider as an example + 1. Streaming raw bytes using an external executable (librespot) to get audio, see the [Spotify](./music_assistant/providers/spotify/__init__.py) provider as an example + 2. Streaming a direct URL, see the [Youtube Music](./music_assistant/providers/ytmusic/__init__.py) provider as an example + 3. Streaming an https stream that uses an expiring URL, see the [Qobuz](./music_assistant/providers/qobuz/__init__.py) provider as an example ## ▶️ Building your own Player Provider A Player Provider is the provider type that adds support for a 'target of playback' to Music Assistant. Sonos, Chromecast and Airplay are examples of a Player Provider. -All Providers (of all types) can be found in the `music_assistant/server/providers` folder. +All Providers (of all types) can be found in the `music_assistant/providers` folder. -TIP: We have created a template/stub provider in `music_assistant/server/providers/_template_player_provider` to get you started fast! +TIP: We have created a template/stub provider in `music_assistant/providers/_template_player_provider` to get you started fast! ## 💽 Building your own Metadata Provider Will follow soon™