Commit graph

279 commits

Author SHA1 Message Date
Kyle Neideck
8ca17bb5f8
Fix occasional IO deadline misses in BGM_Device.
Seems to have been introduced by my previous commit.
2019-12-01 14:04:57 +11:00
Kyle Neideck
120606b95e
Fix the BGMDriver tests not compiling. 2019-11-30 22:36:17 +11:00
Kyle Neideck
5fc615bdb5
Add a copy of CARingBuffer to the BGMDriver project.
It was using the copy in the BGMApp project, but for historical reasons
they both have a separate copy of the PublicUtility classes. We haven't
gotten around to combining them yet, so this commit is to keep them
consistent until we do.

Also, some minor clean up in BGMDriver related to #218.
2019-11-30 21:04:21 +11:00
Gordon Childs
40f0128dcd
first attempt at using CARingBuffer 2019-11-30 21:04:21 +11:00
Kyle Neideck
76e63965db
Update the download link in the README for v0.3.2. 2019-11-18 20:13:22 +11:00
Kyle Neideck
151c41599e
Update the command to restart coreaudiod in MANUAL-INSTALL.md. 2019-11-17 16:17:16 +11:00
Kyle Neideck
bab1ec9e96
build_and_install.sh: Update the Xcode Command Line Tools check.
The current method of checking the CLI Tools are installed doesn't seem
to work with newer versions of Xcode.
2019-10-17 12:41:47 +11:00
Kyle Neideck
0913671557
Update a command MANUAL-UNINSTALL.md to work on macOS Catalina. 2019-10-17 12:40:26 +11:00
Kyle Neideck
3221888a96
Update the Xcode version for Travis builds and make releases drafts.
That way I can code sign the releases before making them available and
never publish the unsigned releases.
2019-10-17 12:37:05 +11:00
Kyle Neideck
c024116cd4
Merge branch 'master' of https://github.com/kyleneideck/BackgroundMusic 2019-09-16 01:40:13 +10:00
Kyle Neideck
35d1b17c39
Merge pull request #238 from AshleyEM/master
Updated README.md (WIP)
2019-08-31 14:31:43 +10:00
AshleyEM
e8e11bae32
Update README.md 2019-08-30 10:59:17 -07:00
AshleyEM
be2e9b46db
Fixes
- Formatting
- Wording
- Moved information
- Removed manual install/uninstall
2019-08-26 19:34:29 -07:00
AshleyEM
2e8caeed48
Fixed wording
Changed "another audio source is playing" to "other audio sources are playing".
2019-08-25 10:30:18 -07:00
AshleyEM
8f04d9afc1
Update README.md 2019-08-23 15:53:27 -07:00
AshleyEM
ad13915d70
Update README.md 2019-08-23 15:52:52 -07:00
AshleyEM
2b71621c33
Update README.md 2019-08-23 15:44:15 -07:00
AshleyEM
884dd8fd0a
Update README.md 2019-08-23 15:19:57 -07:00
AshleyEM
904cb9b345
Update README.md 2019-08-23 14:44:52 -07:00
AshleyEM
85d2df909e
Update README.md 2019-08-23 14:18:26 -07:00
AshleyEM
966987702c
Update README.md 2019-08-23 14:13:34 -07:00
AshleyEM
5c0d806e57
Update README.md 2019-08-23 14:10:22 -07:00
AshleyEM
fc55ce1c54
Update README.md 2019-08-21 16:31:45 -07:00
AshleyEM
d7cb6e9318
Update README.md 2019-08-21 15:27:23 -07:00
AshleyEM
e5043e3fe0
Update README.md 2019-08-19 15:44:58 -07:00
AshleyEM
c652955a04
Update README.md 2019-08-19 14:25:12 -07:00
AshleyEM
f3ef314cd9
Update README.md 2019-08-19 14:16:32 -07:00
Kyle Neideck
f61f998c51
BGMDriver: Copy settings when a new client matches an existing one.
If the new client has the same bundle ID as an existing one, we now copy
its settings (volume, etc.) to the new client. This is to fix app
volumes not being applied consistently to apps that play audio through
multiple subprocesses (specifically Google Chrome). See #61.
2019-08-17 16:16:17 +10:00
Kyle Neideck
dfad77dc35
Add app volume workaround for Google Chrome. See #61. 2019-08-17 15:28:16 +10:00
Kyle Neideck
4c7eba30af
Make sure the installer launches BGMApp as the logged-in user. 2019-08-17 15:20:47 +10:00
Kyle Neideck
e6e784b013
Add an additional method for restarting coreaudiod.
The install and uninstall scripts try to restart coreaudiod in a number
of ways until one works. Despite that, it still wasn't always successful
when I tested it on macOS Catalina. This commit will hopefully fix that.
2019-08-17 15:17:51 +10:00
Kyle Neideck
8ed95eb83b
Make sure Homebrew Travis CI builds won't show a password prompt.
`sudo` is usually passwordless in Travis CI builds, but for some reason
`sudo -v` still causes a password prompt in macOS Travis builds.

_uninstall-non-interactive.sh already included a workaround for this,
but it doesn't work when the Travis build for the Homebrew Cask calls
`brew uninstall background-music`, which then calls
_uninstall-non-interactive.sh. The old workaround used the `TRAVIS` env
var, but Homebrew seems to run the script in an environment without it.

See <https://github.com/Homebrew/homebrew-cask/pull/67524>.
2019-08-14 21:58:10 +10:00
Kyle Neideck
7f6c0e9d4f
Update the README to link to v0.3.1.
Also, bump the minor version number.
2019-08-13 18:46:25 +10:00
Kyle Neideck
9e50e2348b
Bump the patch version. I code signed v0.3.0 incorrectly. #233 2019-08-13 10:13:52 +10:00
Kyle Neideck
0388b26aa1
Add Xcode 11 to Travis CI builds. 2019-08-06 17:24:25 +10:00
Kyle Neideck
002afc0cd1
Update copyright years. #227 2019-08-05 22:42:17 +10:00
Kyle Neideck
a45335b65d
Add GPMDP to the list of supported music players in the README. 2019-08-05 21:31:58 +10:00
Kyle Neideck
0a7be7d32c
Enable Hardened Runtime in BGMApp, BGMXPCHelper and BGMDriver.
This is required for Notarization, which will be mandatory in macOS
Catalina.

Also, suppress some STL deprecation warnings in PublicUtility code. (The
warnings were recently added to Clang.)
2019-08-05 21:25:57 +10:00
Dave Nicolson
d26e9ee3d1 Update README.md 2019-08-05 21:05:19 +10:00
Kyle Neideck
94fc1259e3
Add BGMMusic files to the Xcode project.
Also, add BGMMusic to BGMMusicPlayers and add the Scripting Bridge
header for Music.app.

Resolves #216.
2019-07-03 02:34:15 +10:00
Kyle Neideck
a97529e812
Merge branch 'theLMGN-patch-1' 2019-07-03 02:29:52 +10:00
Kyle Neideck
0231e131df
Merge branch 'patch-1' of https://github.com/theLMGN/BackgroundMusic into theLMGN-patch-1 2019-07-03 01:50:47 +10:00
Vikas Shukla
9951a82879 Minor error update to README
An accidental "the" I think.
2019-07-03 01:45:27 +10:00
Leo Nesfield
3ac7221cb1
Create BGMMusic.h 2019-06-30 17:16:16 +01:00
Leo Nesfield
2be4bab54f
Create BGMMusic.m 2019-06-30 17:14:35 +01:00
Kyle Neideck
04f17301a1
Fix BGMApp test compilation.
Updates the lists of files to be compiled when the tests are built,
which were missing the new source files added in the previous commit.
2019-06-09 19:43:17 +10:00
Kyle Neideck
e616718eab
Add music player: Google Play Music Desktop Player.
The code for GPMDP is a lot more complicated than the code for other
music players. See BGMGooglePlayMusicDesktopPlayer.h for details.

Adds a class, BGMAppWatcher, to hold the code that notifies listeners
when a given app is launched or terminated.

Resolves #161.
2019-06-09 18:56:12 +10:00
Kyle Neideck
503d1a92ec
Fix another crash when BGMDevice's volume is changed.
Fixes the same issue as df9815a4be, but in
BGMOutputVolumeMenuItem instead of BGMStatusBarItem.

I think the problem was that it captured a weak reference in a C++
lambda, but it would capture by (C++) reference and when the reference
was used it would be referencing invalid memory. The fix to have the
lambda capture by value instead.

See #202.
2019-03-28 18:29:54 +11:00
Kyle Neideck
2939dbe28c
Update Travis CI builds to use Xcode 10.1. 2019-03-27 13:43:10 +11:00
Kyle Neideck
a40dfde439
Fix potential minor memory leaks in BGMPreferredOutputDevices. 2019-03-27 13:36:19 +11:00