Commit graph

285 commits

Author SHA1 Message Date
Kyle Neideck
d95b0d8b1a
Add a repackage option (-r) to package.sh.
It takes an expanded Background Music .pkg installer and repackages it
into a new .pkg installer. It's mainly useful for code signing, since
you have to expand the unsigned package, sign each of the bundles,
repackage it and then sign the new package.

Also, fix build_and_install.sh putting the BGMXPCHelper dSYMs in the
wrong archive.
2020-02-09 20:19:41 +11:00
Kyle Neideck
8de821d4aa
Add an archive option (-a) to build_and_install.sh.
Archiving is the standard way to build a release for distribution using
Xcode. package.sh now uses this option when it creates a release
package.

This change is mainly to keep the Run settings in the Xcode schemes from
affecting the release builds, which means we can commit the schemes with
more sensible settings.

Also, disable AddressSanitizer in the BGMDevice scheme, which was
stopping coreaudiod from launching because its sandbox won't allow the
process to load the AddressSanitizer dylib.
2020-02-05 00:09:14 +11:00
Kyle Neideck
08d428c948
Merge branch 'CodeNameFox06-patch-1' 2020-01-25 19:17:59 +11:00
Kyle Neideck
1710b93333
Merge branch 'patch-1' of https://github.com/CodeNameFox06/BackgroundMusic into CodeNameFox06-patch-1 2020-01-25 19:17:02 +11:00
Kyle Neideck
2c1677305d
Add optional debug logging in release builds.
Clicking the status bar icon with the option key held now reveals a
setting that enables debug logging in BGMApp. It's enabled by default in
debug builds.

It doesn't enable debug logging in BGMDriver or BGMXPCHelper yet.

This will hopefully make it easier for people to include logs when they
report bugs that don't occur with most hardware or are otherwise hard to
reproduce.

Enabling debug logging should be unlikely to cause audio glitches, but I
haven't tried to make it completely safe.

Also,
 - add some basic unit tests for BGMPlayThrough and expand the mocks for
   the CoreAudio HAL API,
 - fix the UI tests so you can run them without code signing them, and
 - update copyright years.
2020-01-24 08:07:34 +11:00
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
CodeNameFox06
c9f2270b31
Update README.md 2019-10-12 15:09:47 +05:30
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