Spotify Free Following Not In Library

Posted By admin On 01.12.20
Spotify Free Following Not In Library 4,8/5 5291 reviews

forked-daapd is a Linux/FreeBSD DAAP (iTunes), MPD (Music Player Daemon) andRSP (Roku) media server.

It supports AirPlay devices/speakers, Apple Remote (and compatibles),MPD clients, Chromecast, network streaming, internet radio, Spotify and LastFM.

To hack Spotify Premium for free is not that difficult as you think. And we guarantee that these two methods to download Spotify music or hack Spotify Premium are completely legal. With these tricks on Spotify Premium, you are able to get Spotify Premium for free and even unlock the DRM restriction of Spotify music to download tracks to other. By using the Follow Endpoints you can implement a custom version of the button. To Add a Spotify Button: Retrieve the code for the Spotify Follow Button widget. Add the code to the artist page. Obtain the link you need for the widget. In the Spotify Desktop Player, or in the Spotify Web Player, search for the artist or user you want to link.

It does not support streaming video by AirPlay nor Chromecast.

The Spotify Library. Nearly everyone uses a streaming service to play music nowadays, with the most popular being Spotify. Hundreds of millions of people around the world use Spotify to listen and save music. The company recently lifted its saved songs limit of 10,000 tracks, so you can now create a huge comprehensive library of all your.

DAAP stands for Digital Audio Access Protocol which is the protocol usedby iTunes and friends to share/stream media libraries over the network.

forked-daapd is a complete rewrite of mt-daapd (Firefly Media Server).

Looking for help?

Before you continue, make sure you know what version of forked-daapd you have,and what features it was built with (e.g. Spotify support).

How to find out? Go to the web interface andcheck. No web interface? Then check the top of forked-daapd’s log file (usually/var/log/forked-daapd.log).

Note that you are viewing a snapshot of the instructions that may or may notmatch the version of forked-daapd that you are using. Go toreferences to find instructions for previous versions offorked-daapd.

If you are looking for help on building forked-daapd (not using it), thenplease see the INSTALL.md file.

Contents

Getting started

After installation (see INSTALL.md) do the following:

  1. Edit the configuration file (usually /etc/forked-daapd.conf) to suit yourneeds
  2. Start or restart the server (usually /etc/init.d/forked-daapd restart)
  3. Go to the web interface http://forked-daapd.local:3689,or, if that won’t work, to http://[your_server_address_here]:3689
  4. Wait for the library scan to complete
  5. If you will be using a remote, e.g. Apple Remote: Start the remote, go toSettings, Add Library
  6. Enter the pair code in the web interface (update the page with F5 if it doesnot automatically pick up the pairing request)

Supported clients

forked-daapd supports these kinds of clients:

  • DAAP clients, like iTunes or Rhythmbox
  • Remote clients, like Apple Remote or compatibles for Android/Windows Phone
  • AirPlay devices, like AirPort Express, Shairport and various AirPlay speakers
  • Chromecast devices
  • MPD clients, like mpc (see mpd-clients)
  • MP3 network stream clients, like VLC and almost any other music player
  • RSP clients, like Roku Soundbridge

Like iTunes, you can control forked-daapd with Remote and stream your musicto AirPlay devices.

A single forked-daapd instance can handle several clients concurrently,regardless of the protocol.

By default all clients on 192.168.* (and the ipv6 equivalent) are allowed toconnect without authentication. You can change that in the configuration file.

Here is a list of working and non-working DAAP and Remote clients. The list isprobably obsolete when you read it :-)

ClientDeveloperTypePlatformWorking (vers.)
iTunesAppleDAAPWinYes (12.10.1)
Apple MusicAppleDAAPMacOSYes
RhythmboxGnomeDAAPLinuxYes
DiapentediapenteDAAPAndroidYes
WinAmp DAAPClientWardFamilyDAAPWinAmpYes
Amarok w/DAAP pluginKDEDAAPLinux/WinYes (2.8.0)
BansheeDAAPLinux/Win/OSXNo (2.6.2)
jtunes4DAAPJavaNo
Firefly Client(DAAP)JavaNo
RemoteAppleRemoteiOSYes (4.3)
RetuneSquallyDocRemoteAndroidYes (3.5.23)
TunesRemote+MellowareRemoteAndroidYes (2.5.3)
Remote for iTunesHyperfineRemoteAndroidYes
Remote for Windows PhoneKomodexRemoteWindows PhoneYes (2.2.1.0)
TunesRemote SERemoteJavaYes (r108)
rtRemote for WindowsbizmodellerRemoteWindowsYes (1.2.0.67)

Web interface

You can find forked-daapd’s web interface at http://forked-daapd.local:3689or alternatively at http://[your_server_address_here]:3689.

Use the web interface to control playback, trigger manual library rescans, pairwith remotes, select speakers, authenticate with Spotify, etc.

The Debian forked-daapd package does not include the web interface due to Debianpackaging rules.

You can find some screenshots and build instructions in README_PLAYER_WEBINTERFACE.md.

Using Remote

Remote gets a list of output devices from the server; this list includes anyand all devices on the network we know of that advertise AirPlay: AirPortExpress, Apple TV, … It also includes the local audio output, that is, thesound card on the server (even if there is no soundcard).

If no output is selected when playback starts, forked-daapd will try toautoselect a device.

forked-daapd remembers your selection and the individual volume for eachoutput device; selected devices will be automatically re-selected, except ifthey return online during playback.

Pairing

  1. Open the web interface
  2. Start Remote, go to Settings, Add Library
  3. Enter the pair code in the web interface (update the page with F5 if it doesnot automatically pick up the pairing request)

If Remote doesn’t connect to forked-daapd after you entered the pairing codesomething went wrong. Check the log file to see the error message. Here aresome common reasons:

You did not enter the correct pairing code

You will see an error in the log about pairing failure with a HTTP response codethat is not 0.Solution: Try again.

No response from Remote, possibly a network issue

If you see an error in the log with either:

  • a HTTP response code that is 0
  • “Empty pairing request callback”it means that forked-daapd could not establish a connection to Remote. This might be a network issue, your router may not be allowing multicast between theRemote device and the host forked-daapd is running on.Solution 1: Sometimes it resolves the issue if you force Remote to quit, restartit and do the pairing proces again. Another trick is to establish some otherconnection (eg SSH) from the iPod/iPhone/iPad to the host.Solution 2: Check your router settings if you can whitelist multicast addressesunder IGMP settings. For Apple Bonjour, setting a multicast address of224.0.0.251 and a netmask of 255.255.255.255 should work.

Otherwise try using avahi-browse for troubleshooting:

  • in a terminal, run avahi-browse -r -k _touch-remote._tcp
  • start Remote, goto Settings, Add Library
  • after a couple seconds at most, you should get something similar to this:

Hit Ctrl-C to terminate avahi-browse.

To check for network issues you can try to connect to address and port withtelnet.

Easily clear spotify cache mac terminal command. As you use various fonts in OS X, the system caches font data, to make future access faster. That all changed in 10.5, however, as font caches are now created for each user, and stored in a subfolder buried in the /var - folders directory. One common symptom of corrupted font caches is seeing strange and overlapping characters in whatever application happens to be accessing the font with a corrupted cache.Prior to OS X 10.5, all font caches resided in the top-level Library - Caches folder, in a file named com.apple.ATS. If you suspected a corrupted font cache, you just had to trash that file, then logout and login, and the problem would hopefully be gone. However, there’s also the possibility that those caches may get corrupted, which can cause all sorts of interesting problems.

AirPlay devices/speakers

forked-daapd will discover the AirPlay devices available on your network. Fordevices that are password-protected, the device’s AirPlay name and passwordmust be given in the configuration file. See the sample configuration filefor the syntax.

If your Apple TV requires device verification (always required by Apple TV4 withtvOS 10.2) then you can do that through the web interface: Select the device andthen enter the PIN that the Apple TV displays.

Spotify Not Online

If your speaker is silent when you start playback, and there is no obvious errormessage in the log, you can try disabling ipv6 in the config. Some speakersannounce that they support ipv6, but in fact don’t (at least not with forked-daapd).

Chromecast

forked-daapd will discover Chromecast devices available on your network, and youcan then select the device as a speaker. There is no configuration required.

Local audio through ALSA

In the config file, you can select ALSA for local audio. This is the default.

When using ALSA, the server will try to syncronize playback with AirPlay. Youcan adjust the syncronization in the config file.

For most setups the default values in the config file should work. If theydon’t, there is help here: README_ALSA.md

Local audio, Bluetooth and more through Pulseaudio

In the config file, you can select Pulseaudio for local audio. In addition tolocal audio, Pulseaudio also supports an array of other targets, e.g. Bluetoothor DLNA. However, Pulseaudio does require some setup, so here is a separate pagewith some help on that: README_PULSE.md

Note that if you select Pulseaudio the “card” setting in the config file hasno effect. Instead all soundcards detected by Pulseaudio will be listed asspeakers by forked-daapd.

You can adjust the latency of Pulseaudio playback in the config file.

MP3 network streaming (streaming to iOS)

You can listen to audio being played by forked-daapd by opening this networkstream address in pretty much any music player:

http://[your hostname/ip address]:3689/stream.mp3

This is currently the only way of listening to your audio on iOS devices, sinceApple does not allow AirPlay receiver apps, and because Apple Home Sharingcannot be supported by forked-daapd. So what you can do instead is install amusic player app like VLC, connect to the stream and control playback withRemote.

Note that MP3 encoding must be supported by ffmpeg/libav for this to work. Ifit is not available you will see a message in the log file. In Debian/Ubuntu youget MP3 encoding support by installing the package “libavcodec-extra”.

Remote access

It is possible to access a shared library over the internet from a DAAP clientlike iTunes. You must have remote access to the host machine.

First log in to the host and forward port 3689 to your local machine. You nowneed to broadcast the daap service to iTunes on your local machine. On macOS thecommand is:

The ffid key is required but its value does not matter.

Your library will now appear as ‘iTunesServer’ in iTunes.

Supported formats

forked-daapd should support pretty much all audio formats. It relies on libav(or ffmpeg) to extract metadata and decode the files on the fly when the clientdoesn’t support the format.

Formats are attributed a code, so any new format will need to be explicitelyadded. Currently supported:

  • MPEG4: mp4a, mp4v
  • AAC: alac
  • MP3 (and friends): mpeg
  • FLAC: flac
  • OGG VORBIS: ogg
  • Musepack: mpc
  • WMA: wma (WMA Pro), wmal (WMA Lossless), wmav (WMA video)
  • AIFF: aif
  • WAV: wav
  • Monkey’s audio: ape

Playlists and internet radio

forked-daapd supports M3U and PLS playlists. Just drop your playlist somewherein your library with an .m3u or .pls extension and it will pick it up.

If the playlist contains an http URL it will be added as an internet radiostation, and the URL will be probed for Shoutcast (ICY) metadata. If the radiostation provides artwork, forked-daapd will download it during playback and sendit to any remotes or AirPlay devices requesting it.

Instead of downloading M3U’s from your radio stations, you can also make anempty M3U file and in it insert links to the M3U’s of your radio stations.

Radio streams can only be played by forked-daapd, so that means they will not beavailable to play in DAAP clients like iTunes.

Support for iTunes Music Library XML format is available as a compile-timeoption. By default, metadata from our parsers is preferred over what’s inthe iTunes DB; use itunes_overrides = true if you prefer iTunes’ metadata.

forked-daapd has support for smart playlists. How to create a smart playlist isdocumented inREADME_SMARTPL.md.

If you’re not satisfied with internet radio metadata that forked-daapd shows,then you can read about tweaking it inREADME_RADIO_STREAMS.md.

Artwork

forked-daapd has support for PNG and JPEG artwork which is either:

  • embedded in the media files
  • placed as separate image files in the library
  • made available online by the radio station

For media in your library, forked-daapd will try to locate album and artistartwork (group artwork) by the following procedure:

  • if a file {artwork,cover,Folder}.{png,jpg} is found in one of the directoriescontaining files that are part of the group, it is used as the artwork. Thefirst file found is used, ordering is not guaranteed;
  • failing that, if [directory name].{png,jpg} is found in one of thedirectories containing files that are part of the group, it is used as theartwork. The first file found is used, ordering is not guaranteed;
  • failing that, individual files are examined and the first file found with an embedded artwork is used. Here again, ordering is not guaranteed.

{artwork,cover,Folder} are the default, you can add other base names in theconfiguration file. Here you can also enable/disable support for individualfile artwork (instead of using the same artwork for all tracks in an entirealbum).

For playlists in your library, say /foo/bar.m3u, then for any http streams inthe list, forked-daapd will look for /foo/bar.{jpg,png}.

You can use symlinks for the artwork files.

forked-daapd caches artwork in a separate cache file. The default path is /var/cache/forked-daapd/cache.db and can be configured in the configuration file. The cache.db file can be deleted without losing the library and pairing informations.

Library

The library is scanned in bulk mode at startup, but the server will be availableeven while this scan is in progress. You can follow the progress of the scan inthe log file or via the web interface. When the scan is complete you will seethe log message: “Bulk library scan completed in X sec”.

The very first scan will take longer than subsequent startup scans, since everyfile gets analyzed. At the following startups the server looks for changed filesand only analyzis those.

Updates to the library are reflected in real time after the initial scan, so youdo not need to manually start rescans. The directories are monitored for changesand rescanned on the fly. Note that if you have your library on a network mountthen real time updating may not work. Read below about what to do in that case.

If you change any of the directory settings in the library section of theconfiguration file a rescan is required before the new setting will take effect.You can do this by using “Update library” from the web interface.

Symlinks are supported and dereferenced, but it is best to use them fordirectories only.

Pipes (for e.g. multiroom with Shairport-sync)

Some programs, like for instance Shairport-sync, can be configured to outputaudio to a named pipe. If this pipe is placed in the library, forked-daapd willautomatically detect that it is there, and when there is audio being written toit, playback of the audio will be autostarted (and stopped).

Using this feature, forked-daapd can act as an AirPlay multiroom “router”: Youcan have an AirPlay source (e.g. your iPhone) send audio Shairport-sync, whichforwards it to forked-daapd through the pipe, which then plays it on whateverspeakers you have selected (through Remote).

The format of the audio being written to the pipe must be PCM16.

You can also start playback of pipes manually. You will find them in remotes listed under “Unknown artist” and “Unknown album”. The track title will be thename of the pipe.

Shairport-sync can write metadata to a pipe, and forked-daapd can read this.This requires that the metadata pipe has the same filename as the audio pipeplus a “.metadata” suffix. Say Shairport-sync is configured to write audio to“/foo/bar/pipe”, then the metadata pipe should be “/foo/bar/pipe.metadata”.

Libraries on network mounts

Most network filesharing protocols do not offer notifications when the libraryis changed. So that means forked-daapd cannot update its database in real time.Instead you can schedule a cron job to update the database.

Spotify Library List

The first step in doing this is to add two entries to the ‘directories’configuration item in forked-daapd.conf:

Now you can make a cron job that runs this command:

When forked-daapd detects a file with filename ending .init-rescan it willperform a bulk scan similar to the startup scan.

Alternatively, you can force a metadata scan of the library even if thefiles have not changed by creating a filename ending .meta-rescan.

Troubleshooting library issues

If you place a file with the filename ending .full-rescan in your library,you can trigger a full rescan of your library. This will clear all music andplaylists from forked-daapd’s database and initiate a fresh bulk scan. Pairingand speaker information will be kept. Only use this for troubleshooting, it isnot necessary during normal operation.

Command line

You can choose between:

  • a MPD command line client (easiest) like mpc
  • curl with forked-daapd’s JSON API (see README_JSON_API.md)
  • curl with DAAP/DACP commands (hardest)

Here is an example of how to use curl with DAAP/DACP. Say you have a playlistwith a radio station, and you want to make a script that starts playback of thatstation:

  1. Run sqlite3 [your forked-daapd db]. Use select id,title from files to getthe id of the radio station, and use select id,title from playlists to getthe id of the playlist.
  2. Convert the two ids to hex.
  3. Put the following lines in the script with the relevant ids inserted (alsoobserve that you must use a session-id < 100, and that you must login andlogout):

Spotify

forked-daapd has support for playback of the tracks in your Spotify library.

  1. Go to the web interface and check that yourversion of forked-daapd was built with Spotify support.
  2. You must have a Spotify premium account. If you normally log into Spotifywith your Facebook account you must first go to Spotify’s web site where youcan get the Spotify username and password that matches your account.
  3. Make sure you have libspotify installed. Unfortunately, it is no longeravailable from Spotify, and at the time of writing this they have notprovided an alternative. However, on most Debian-based platforms, you canstill get it like this:
    • Add the mopidy repository, see instructions
    • Install with apt install libspotify-dev

Spotify My Music Library

Once the above is in order you can login to Spotify via the web interface. Theprocedure for logging in to Spotify is a two-step procedure due to the currentstate of libspotify, but the web interface makes both steps available to you.

See Who Is Following Spotify Playlist

Spotify no longer automatically notifies clients about playlist updates, so youhave to trigger updates manually. You can for instance set up a cron job thatruns /usr/bin/curl http://localhost:3689/api/update

forked-daapd will not store your password, but will still be able to log you inautomatically afterwards, because libspotify saves a login token. You canconfigure the location of your Spotify user data in the configuration file.

To permanently logout and remove Spotify tracks + credentials make a request tohttp://[your_server_address_here]:3689/api/spotify-logoutand also delete the contents of /var/cache/forked-daapd/libspotify.

Limitations:You will not be able to do any playlist management through forked-daapd - usea Spotify client for that. You also can only listen to your music by lettingforked-daapd do the playback - so that means you can’t stream from forked-daapdto DAAP clients (e.g. iTunes) and RSP clients.

Alternatives:If you want forked-daapd to be a selectable metaspeaker in Spotify’s client, youcan use librespot to write audioto a pipe in your library. There will be some lag with volume adjustments, andgetting metadata to work also requires extra tinkering.

LastFM

You can have forked-daapd scrobble the music you listen to. To set up scrobblinggo to the web interface and authorize forked-daapd with your LastFM credentials.

forked-daapd will not store your LastFM username/password, only the session key.The session key does not expire.

Not

MPD clients

You can - to some extent - use clients for MPD to control forked-daapd.

By default forked-daapd listens on port 6600 for MPD clients. You can changethis in the configuration file.

Currently only a subset of the commands offered by MPD (see MPD protocol documentation) are supported by forked-daapd.

Due to some differences between forked-daapd and MPD not all commands will actthe same way they would running MPD:

  • crossfade, mixrampdb, mixrampdelay and replaygain will have no effect
  • single, repeat: unlike MPD forked-daapd does not support setting single and repeat separately on/off, instead repeat off, repeat all and repeat single are supported. Thus setting single on will result in repeat single, repeat on results in repeat all.

The following table shows what is working for a selection of MPD clients:

ClientTypeStatus
mpcCLIWorking commands: mpc, add, crop, current, del (ranges are not yet supported), play, next, prev (behaves like cdprev), pause, toggle, cdprev, seek, clear, outputs, enable, disable, playlist, ls, load, volume, repeat, random, single, search, find, list, update (initiates an init-rescan, the path argument is not supported)
ympdWebEverything except “add stream” should work

References

The source for this version of forked-daapd can be found here:

README’s for previous versions of forked-daapd: