Commit graph

197 commits

Author SHA1 Message Date
ZV95
c70a22dd24 Addition of Wiki Install Instructions
Tried to make a simple install instructional Wiki for those who are confused about installation. Simply adding a link to that wiki in this ReadMe.
2016-04-28 13:22:38 -04:00
Kyle Neideck
ccb709fc02 Fix "sudo -v" in uninstall.sh causing Travis builds to fail. 2016-04-28 10:11:19 +10:00
Kyle Neideck
480d769c26 Fix race condition in build script. Also avoid 'sudo -v' on Travis CI. 2016-04-28 09:33:23 +10:00
Kyle Neideck
3eac1f5dab Allow sudo on Travis CI. 2016-04-28 08:49:35 +10:00
Kyle Neideck
eda3505f1a Add initial .travis.yml to see if it works. 2016-04-27 02:49:35 +10:00
Kyle Neideck
44082ac920 Add manual installation instructions (mostly for troubleshooting) 2016-04-27 02:31:14 +10:00
Kyle Neideck
f2a0898590 Build script: Check Xcode version in the background to launch quicker. 2016-04-27 02:28:47 +10:00
Kyle Neideck
b707513e49 Lots of small improvements to the build script.
- Clean before installing. (Mostly to get full logs every time.)
- Clearer error messages.
- Better checking for Xcode/xcodebuild.
- Log extra system info.
- A number of minor bug fixes.
2016-04-26 21:04:13 +10:00
Kyle Neideck
8acc5d4c9e Change the min and max sample rates in BGM_Driver. 2016-04-25 08:38:45 +10:00
Kyle Neideck
99421ada1d Code clean up in build_and_install.sh.
It also now properly handles the user cancelling the script at the
password prompt, instead of throwing an error.
2016-04-23 15:34:01 +10:00
Kyle Neideck
ac1df8d77c Add some related projects to README and other minor doc clean up.
In the manual uninstallation instructions, makes the command for
restarting coreaudiod clearer. If the old command had to fallback to
"sudo killall coreaudiod", it wasn't clear to the user that it had
actually succeeded.
2016-04-23 14:21:02 +10:00
Kyle Neideck
7f136586dc Add versions of launchctl commands for OS X 10.9 and 10.10.
The launchctl commands in our scripts should now all work on any version
of OS X from 10.9. But I haven't actually tested that.

Fixes #35.
2016-04-21 01:48:14 +10:00
Kyle Neideck
0178644417 Try several commands to restart coreaudiod in build_and_install.sh.
build_and_install.sh is failing for some people because their versions
of launchctl don't support the command we were using to restart
coreaudiod. This commit adds several fallback versions of the command.
build_and_install.sh tries each until one works.

Fixes #10, #19 and #29.
2016-04-20 02:35:58 +10:00
Kyle Neideck
9900b087ba Merge pull request #18 from ReadmeCritic/master
Update README URLs based on HTTP redirects
2016-04-20 02:12:41 +10:00
Kyle Neideck
90dd4d6cbb Add a few small things to uninstall.sh.
- Move files to the trash instead of deleting them, just in case we
  accidentally delete the wrong thing.
- Added some fallback variants of launchctl commands for old versions.
- Check the size of files before deleting them, just to be safe.
- Added license/copyright heading.
2016-04-20 01:57:17 +10:00
Tanner Hoke
ad5fe4ecbb Update README.md 2016-04-19 10:53:10 -05:00
Tanner Hoke
7cc0d19182 Put music files in the correct group. 2016-04-19 10:43:24 -05:00
Kyle Neideck
4fe8697370 Merge pull request #9 from nickjacques/master
Initial development of uninstall script
2016-04-20 01:33:37 +10:00
Nick Jacques
3aebb12f41 Invalidate sudo ticket 2016-04-19 09:49:20 -05:00
Igor Marques
9a5ed7c2b5 Improve install instructions 2016-04-19 10:06:27 -03:00
Tanner Hoke
5981e05bb1 Add support for Decibel 2016-04-18 21:37:29 -05:00
Tanner Hoke
e87c43dc52 Disable the Auto-pause Music menu item if the selected music player isn't running 2016-04-18 20:15:28 -05:00
ReadmeCritic
4d70bd795c Update README URLs based on HTTP redirects 2016-04-18 08:40:40 -07:00
Nick Jacques
a0a3e4dbbd Update README for uninstall 2016-04-17 21:46:15 -05:00
Nick Jacques
f7abfcc4ab Initial development of uninstall script 2016-04-17 21:39:53 -05:00
Kyle Neideck
f1c57fe4e9 Disable optimization profile in BGMApp. (Hopefully temporary.)
BGMApp is failing to build for some people with the Clang error message
"Could not read profile: Unsupported profiling format version". See #4.

I think this might be caused by building with an older version of Xcode,
but I'm far from sure about that. BGMApp uses <0.5% CPU, so it's not
worth using an optimization profile if it's causing anyone problems.
2016-04-18 04:36:24 +10:00
Kyle Neideck
5503b70228 Merge pull request #3 from TomHodson/master
added parenthesis to print function call for python 3 compatability
2016-04-18 03:01:09 +10:00
Tom
171ed1bec1 added parenthesis to print function call for python 3 compatability 2016-04-17 17:53:09 +01:00
Kyle Neideck
6b0ca53304 Forgot to add VOX music player to the README.
Also, capitalized "VOX".
2016-04-18 00:53:46 +10:00
Kyle Neideck
6d0fde1780 Add the Vox music player to BGMApp.
Resolves #2.
2016-04-18 00:36:55 +10:00
Kyle Neideck
1ada18fd16 Fix repeating error message in build_and_install.sh 2016-04-14 11:38:52 +10:00
Kyle Neideck
267c5a38e7 Fix unused variable warnings when building with the release config.
These were stopping BGMApp release builds from compiling because we have
warnings-as-errors enabled.
2016-04-10 17:08:30 +10:00
Kyle Neideck
f8fe456f44 Fix BGMApp causing VLC to open. 2016-04-09 10:05:43 +10:00
Kyle Neideck
6ea4361135 Add Xcode schemes. 2016-04-08 05:12:11 +10:00
Kyle Neideck
f12e9c60df Fix deadlock when changing output device while audio is playing.
Also fixes a semaphore leak in BGMPlayThrough.
2016-04-08 02:33:30 +10:00
Kyle Neideck
f3151e3159 BGMXPCHelper now runs as an unprivileged user, instead of root.
BGMXPCHelper's install script now creates a user and group for
BGMXPCHelper to run as. This reduces the risk of BGMXPCHelper being used
for privilege escalation.
2016-04-07 00:48:36 +10:00
Kyle Neideck
690d6221d7 Add script that builds and installs BGMApp, BGMDriver and BGMXPCHelper 2016-04-05 16:56:38 +10:00
Kyle Neideck
1672bb8ed0 BGMXPCHelper can now be installed with xcodebuild.
The "install" action for BGMXPCHelper now checks the owner/permissions
of the installation directory. It also installs BGMXPCHelper's
launchd.plist and "bootstraps" it.
2016-04-04 04:55:17 +10:00
Kyle Neideck
33b6b17115 Add an XPC helper. Sync BGMApp and BGMDriver with it while starting IO.
The BGMApp project now builds an XPC service bundle called BGMXPCHelper,
which vends a Mach service that BGMApp and BGMDriver can use to
communicate. This will hopefully be useful for some of the tasks HAL
notifications aren't suited to.

In this commit, BGMDriver uses the XPC helper when starting IO, to wait
until BGMApp is ready for playthrough. BGMApp can only start playthrough
when the output hardware is ready for IO. BGMDriver can now tell the HAL
when we're ready for IO, which means we don't have to keep the output
hardware running all the time (or drop frames or increase latency).

The end result is that playthrough doesn't waste CPU time while idle any
more. This also means that now playthrough won't prevent the system from
sleeping when idle.
2016-03-31 11:42:24 +11:00
Kyle Neideck
4830c13593 Fix various Markdown bugs 2016-02-24 19:14:12 +11:00
Kyle Neideck
d378ab5d44 Add VLC as a music player in BGMApp
Also moved the music player Scripting Bridge files.
2016-02-24 18:21:13 +11:00
Kyle Neideck
905ccb875e Update .md files now that BGMDevice can safely be added to an aggregate 2016-02-23 19:34:56 +11:00
Kyle Neideck
646c00ceb6 Sync BGMDevice volume with output device correctly on BGMApp startup
The listener proc in BGMDeviceControlSync was being triggered during the
initial CopyVolume call. This fix just waits until after the initial
sync to register the listener proc.
2016-02-23 18:57:47 +11:00
Kyle Neideck
5336a5a670 Add notes about testing with Address Sanitizer 2016-02-20 19:04:19 +11:00
Kyle Neideck
199f5f6a6b Prefer list initialization for in-class initialized member objects 2016-02-20 17:21:05 +11:00
Kyle Neideck
096eb4e1eb Remove unnecessary includes from BGM_Device.cpp 2016-02-19 17:37:11 +11:00
Kyle Neideck
b17d736382 Initial commit 2016-02-19 16:25:34 +11:00