1. 31 Oct, 2018 1 commit
  2. 07 Aug, 2018 1 commit
    • Yue Wang's avatar
      Fix various bugs in OS X DSD playback · 2127a482
      Yue Wang authored
      the most notable bugs are 
      
      1. osx_output_set_device_format should use the target asbd rather than AudioFormat. This is because asbd's sample rate calculation reflects the real dop target rate of the DAC, white AudioFormat's sample rate is the original DSD format rate.
      
      2. the original code value the highest rate that's the multiple of the target rate. This cause DOP always have the wrong rate chosen. This is also not necessary for PCM playback --- MPD's goal is bit perfect, and it's meaningless to raise to two or four times the PCM sample rate.
      
      3.  if sample_rate cannot be synchronized, the test for falling back to PCM is wrong. If the file format is in DSD format such fallback is necessary, whatever the params.dop setting is.
      2127a482
  3. 28 Jul, 2018 1 commit
  4. 16 Jul, 2018 1 commit
  5. 14 Jul, 2018 1 commit
    • Yue Wang's avatar
      Update OSXOutputPlugin.cxx · 1d30df9b
      Yue Wang authored
      some device seems to have issue with setting kAudioDevicePropertyVolumeScalar  with kAudioObjectPropertyElementMaster. Use AudioToolbox 's kAudioHardwareServiceDeviceProperty_VirtualMasterVolume instead. 
      
      Ideally, we should get the steoro channels first, and set the kAudioDevicePropertyVolumeScalar for each channel, which is doable as presented in https://github.com/cmus/cmus/blob/master/op/coreaudio.c. I will do a follow up PR after refactor PR.
      1d30df9b
  6. 13 Jul, 2018 6 commits
  7. 10 Jul, 2018 1 commit
    • Yue Wang's avatar
      enable macOS to use Hardware Mixer · 680fdb03
      Yue Wang authored
      - Update the mixer to set on device property instead of audio unit property. When user choose "hardware" as mixer type, they will be able to change the hardware device volume instead of the software (AudioUnit) volume. 
      - We don't use square root scale in volume calculation as previous code did. This will make the volume level in line with system volume meter --- That is, MPD will have the same percentage volume reading compared to System Setting (Either in "System Preference" or in "Audio Midi Setup" app)
      680fdb03
  8. 02 Jun, 2018 1 commit
  9. 07 Mar, 2018 5 commits
  10. 26 Feb, 2018 1 commit
    • Christian Kröner's avatar
      Initial support for DSD over PCM on macOS · e89c4213
      Christian Kröner authored
      From: Christian Kröner <ckroener@gmx.net>
      
      This just copies the necessary bits and pieces from the ALSA plugin and applies them to OSXOutput based on dop config setting. It only changes the OSXOutput plugin as needed for DoP (further changes to support additionally e.g. integer mode or setting the physical device mode require rather a complete rewrite of the output plugin).
      
      Fortunately the Core Audio API is by default bit perfect and supports DoP with minimal changes (setting the sampling rate accordingly after ensuring that the physical mode supports at least 24 bits per channel seems to be enough). This was tested on an Amanero Combo384 device hooked up to a ES9018 DAC.
      
      USAGE (try only on DACs that support DoP):
      - Add dop "yes" option to mpdconf
      - Be sure to set at least 24bits per channel before playing some DSD file (using Audio-MIDI-Setup)
      - Based on the dop setting, MPD will change the sample rate as required and output DoP signal to the DAC
      - Hog mode is recommended to ensure that no other program will try to mix some output with the DoP stream (resulting in bad noise)
      - Alternatively set the default output device to another device (e.g. the built-in output) to avoid having other audio interfere with DSD playback
      e89c4213
  11. 12 Dec, 2017 1 commit
    • Yue Wang's avatar
      OSXOutputPlugin: set the buffer time to be 100ms · f1ef9f9d
      Yue Wang authored
      [mk: the following text was copied from
      https://github.com/MusicPlayerDaemon/MPD/pull/167]
      
      For certain format (hi-res files) and normal buffer size hardware, The
      hardware may at once consume most of the buffers. However, in Delay()
      function, MPD is supposed to wait for 25 ms after the next try. it
      will create a hiccup. The negative impact is much major than
      increasing the latency.
      
      I understand larger buffers come at a price. That's why in my earlier
      commit last year I significantly reduced it. However, the buffer size
      in CoreAudio is set according to the hardware, which is super small
      latency. For instance, the system audio of 2015 generation of macbook
      pro has maximum buffer size of 4096 samples, which is just 0.09s for
      44.1k framerate, or 0.04s for 96k frames --- . compare to the 0.5 sec
      latency alsa plugin has, even if we quadruple it, it's still super
      tiny.
      f1ef9f9d
  12. 03 Dec, 2017 1 commit
  13. 21 Aug, 2017 1 commit
  14. 10 Aug, 2017 1 commit
  15. 08 Aug, 2017 1 commit
  16. 07 Aug, 2017 1 commit
  17. 16 May, 2017 1 commit
  18. 25 Jan, 2017 1 commit
  19. 03 Jan, 2017 1 commit
  20. 28 Dec, 2016 1 commit
  21. 10 Nov, 2016 1 commit
  22. 09 Nov, 2016 4 commits
  23. 19 Sep, 2016 5 commits
  24. 18 Sep, 2016 1 commit