Skip to content

kerneljake/squeezeplaya

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

squeezeplaya

macOS fork of Squeezeplay

Description

This fork of Squeezeplay is focused on bug fixes and usability enhancements for the macOS build.

The three primary areas of focus are:

  1. multimedia key support
  2. cooperative device management with other programs like VLC
  3. proper handling of high VBR FLAC files

It's a laboratory for me to learn Core Audio, PortAudio, and Objective-C.

I'm happy to fold this back upstream when it is sufficiently stable.

TODO

  • clean compilation on x86_64 and M1 with arbitrary SDK versions
  • version number from git instead of svn in About as well as Settings -> Advanced -> About
  • ⌘-H and ⌘-Q hide and quit, respectively
  • multimedia key support (next/prev/play/pause) in conjunction with noTunes
  • multimedia key support (next/prev/play/pause) without requiring noTunes
  • handle runtime changes in default output device like unplugging headphone jack, pairing Bluetooth headphones, changing MIDI Sound Output, etc.
  • double click NowPlaying applet to rotate skin instead of single click
  • memory leak fix in Quartz redraw
  • move volume slider quickly by clicking in the grey empty space area
  • don't clobber VLC's output device on startup
  • tray icon menu items for controlling playback
  • downsample high VBR FLAC streams to Bluetooth devices

Compiling

  1. Install XCode command line tools, if not already installed: xcode-select --install
  2. Copy (or symlink) either Makefile.osx-x86_64 or Makefile.osx-M1 to a file called Makefile, depending on your architecture. This is really for convenience; that way, you don't have to keep passing the -f flag to make every time.
  3. Perform the steps listed at the top of the Makefile entitled, "user specific stuff", like cloning and patching portaudio_v19.
  4. Build with make

Releases

No releases published

Packages

No packages published

Languages

  • C 58.7%
  • C++ 10.9%
  • Shell 8.6%
  • HTML 6.7%
  • Lua 4.4%
  • Makefile 3.8%
  • Other 6.9%