1. 06 Aug, 2021 2 commits
  2. 05 Aug, 2021 7 commits
    • Max Kellermann's avatar
    • Max Kellermann's avatar
      db/update/Playlist: prepend "../" only for relative URIs · 8e0d39ae
      Max Kellermann authored
      Prepending "../" to absolute URIs would break them.
      8e0d39ae
    • Max Kellermann's avatar
      decoder/Bridge: call UpdateStreamTag() only if there is no pending seek · b979245d
      Max Kellermann authored
      If UpdateStreamTag() gets called while an initial seek is pending, the
      result will never be submitted to a MusicChunk.  By avoiding the
      UpdateStreamTag() call in that case (by moving UpdateStreamTag() to
      after the PrepareInitialSeek() check), the song_tag is preserved until
      UpdateStreamTag() is called again from SubmitData().
      
      This fixes missing tags in the "httpd" output.
      
      Closes https://github.com/MusicPlayerDaemon/MPD/issues/1137
      b979245d
    • Constantin Fuerst's avatar
      output/oss: enable DoP · 955502f8
      Constantin Fuerst authored
      Explanation
      
      This adds support for DOP using the PcmExport function if the macro
      ENABLE_DSD is defined. If enabled within the config-file using "dop",
      the boolean dop_setting will be true. If DSD input is encountered and
      the setting is on, it is checked whether the oss-device supports the
      required samplerate. If that is the case, dop_active is set to true
      and conversion of the input is prevented. If the sample rate is not
      supported, conversion to S32 is requested. When playing back, the
      PcmExport is used to pack the incoming stream into PCM.  Reasoning
      
      This is required for OSs without the required driver support for
      native DSD playback that also have no ALSA. Mainly *BSD users are the
      target audience for this functionality, as ALSA here is only a proxy
      without full functionality.  Requirements
      
          DAC that supports the DOP standard
          Building with OSS, DSD and S32-Format
      
      Supported Formats / Required PCM Formats
      
      DSF, DFF and WavPack-DSD will work.
      
      DSD64, 1 Channel -> S24:176.4kHz (untested, lack of time / missing samples)
      DSD64, 2 Channel -> S24:352.8kHz
      DSD64, 4 Channel -> S24:705.6kHz (untested, lmissing equipment)
      DSD128, 1 Channel -> S24:352.8kHz (untested, lack of time / missing samples)
      DSD128, 2 Channel -> S24:705.6kHz
      DSD256, 1 Channel -> S24:705.6kHz (untested, lack of time / missing samples)
      Changes
      
          inclusion of required files
          adding new domain for logging
          adding dop_satisfied private function
          adding required member variables for storing dop state and for dop-packing
          adding dop boolean parameter to many functions that are required to act a little differently when dop is active
      
      Testing
      
      This has been tested to work with a Sabaj Da2 on FreeBSD, where the
      red status indicator LED clearly shows that DSD playback is taking
      place, instead of purple for "hi-res" which is seen when converting.
      Issues
      
      I have not tested this with S24 and right now AFMT_S32_NE is
      required. If not defined, ENABLE_DSD will be undef'ed. This will be
      addressed in a bit, however no DAC which supports DOP but not 32Bit is
      known to me. Also, AFMT_S32_NE is not defined when building on FreeBSD
      which is why this is just blatantly defined in the file at the moment.
      Additionally, the new dop-option is not added into any documentation
      whatsoever.
      955502f8
    • Max Kellermann's avatar
      output/oss: always enable PcmExport for alsa_channel_order · 17b0ac75
      Max Kellermann authored
      We need this even when AFMT_S24_PACKED is not available, for the
      correct channel order in multi-channel files.  Internally, MPD uses
      FLAC channel order, but OSS uses the same channel order as ALSA.
      17b0ac75
    • Cebtenzzre's avatar
      tag/Builder: don't ignore the result of tag_pool_dup_item · 551c941b
      Cebtenzzre authored
      Also, use RemoveAll() instead of directly clearing TagBuilder::items in
      most cases, as its elements represent references that must be released.
      
      Closes #1023
      551c941b
    • Max Kellermann's avatar
      input/tidal: remove defunct unmaintained plugin · 97c43954
      Max Kellermann authored
      This plugin has been defunct for several years.  Tidal has not ever
      replied to any of my emails, so they're apparently not interested in
      MPD support.
      97c43954
  3. 02 Aug, 2021 1 commit
  4. 30 Jul, 2021 1 commit
  5. 16 Jul, 2021 2 commits
  6. 23 Jun, 2021 2 commits
  7. 31 May, 2021 2 commits
  8. 28 May, 2021 1 commit
  9. 26 May, 2021 2 commits
  10. 25 May, 2021 3 commits
  11. 24 May, 2021 1 commit
  12. 22 May, 2021 3 commits
  13. 19 May, 2021 4 commits
  14. 18 May, 2021 1 commit
  15. 17 May, 2021 1 commit
  16. 26 Apr, 2021 2 commits
  17. 15 Apr, 2021 1 commit
  18. 13 Mar, 2021 1 commit
  19. 10 Mar, 2021 2 commits
    • bitkeeper's avatar
      Added cross-origin header to http headers of the http output. · c08a8581
      bitkeeper authored
      The current http output doesn't provide a header for cross-origin support. This prevents to use the mpd http stream directly from an other webapplication due the origin from the webpage differs from then the audio stream.
      
      The fix is to add the following header to the http response:
      Access-Control-Allow-Origin: *
      c08a8581
    • Simon Persson's avatar
      Add tags relevant to classical music. · 8f1e7385
      Simon Persson authored
      This commit adds some tags that are (mostly) interesting for listeners
      of classical music.
      
      Ensemble
      --------
      This is an ensemble that is playing the music, such as Wiener
      Philharmoniker. The tag can be used to distinguish the ensemble from the
      conductor, composer, soloist, and ensemble, that are generally all in
      the "ARTIST" tag.
      
      Movement
      -------
      The movement number and movement (name) of this track, i.e.  "II" and
      "Allegro".
      
      ComposerSort
      ------------
      Allows us to look for Beethoven's 9th under B, for Beethoven, not L for
      Ludwig.
      
      Location
      --------
      This is the location of the recording, e.g. "Wiener Musikverein".
      8f1e7385
  20. 05 Mar, 2021 1 commit