Browse files

Added top-level readme and updated license information

  • Loading branch information...
1 parent d7faacd commit 4088c2026056c68f395d1bf2733114c7b4cec01e @michaeltyson michaeltyson committed Mar 16, 2013
Showing with 1,006 additions and 102 deletions.
  1. +18 −1 Modules/AEExpanderFilter.h
  2. +18 −1 Modules/AEExpanderFilter.m
  3. +18 −1 Modules/AELimiter.h
  4. +18 −1 Modules/AELimiter.m
  5. +18 −1 Modules/AELimiterFilter.h
  6. +18 −1 Modules/AELimiterFilter.m
  7. +18 −1 Modules/AEMixerBuffer.h
  8. +18 −1 Modules/AEMixerBuffer.m
  9. +18 −1 Modules/AEPlaythroughChannel.h
  10. +18 −1 Modules/AEPlaythroughChannel.m
  11. +18 −1 Modules/AERecorder.h
  12. +18 −1 Modules/AERecorder.m
  13. +24 −4 Modules/TPCircularBuffer/README.markdown
  14. +22 −1 Modules/TPCircularBuffer/TPCircularBuffer+AudioBufferList.c
  15. +20 −1 Modules/TPCircularBuffer/TPCircularBuffer+AudioBufferList.h
  16. +23 −2 Modules/TPCircularBuffer/TPCircularBuffer.c
  17. +21 −1 Modules/TPCircularBuffer/TPCircularBuffer.h
  18. +34 −0 README.markdown
  19. +0 −2 TheAmazingAudioEngine.xcodeproj/project.pbxproj
  20. +18 −1 TheAmazingAudioEngine/AEAudioController+Audiobus.h
  21. +18 −1 TheAmazingAudioEngine/AEAudioController+Audiobus.m
  22. +18 −1 TheAmazingAudioEngine/AEAudioController+AudiobusStub.h
  23. +19 −1 TheAmazingAudioEngine/AEAudioController.h
  24. +18 −1 TheAmazingAudioEngine/AEAudioController.m
  25. +18 −1 TheAmazingAudioEngine/AEAudioFileLoaderOperation.h
  26. +18 −1 TheAmazingAudioEngine/AEAudioFileLoaderOperation.m
  27. +18 −1 TheAmazingAudioEngine/AEAudioFilePlayer.h
  28. +18 −1 TheAmazingAudioEngine/AEAudioFilePlayer.m
  29. +19 −2 TheAmazingAudioEngine/AEAudioFileWriter.h
  30. +19 −2 TheAmazingAudioEngine/AEAudioFileWriter.m
  31. +18 −1 TheAmazingAudioEngine/AEAudioUnitChannel.h
  32. +18 −1 TheAmazingAudioEngine/AEAudioUnitChannel.m
  33. +18 −1 TheAmazingAudioEngine/AEAudioUnitFilter.h
  34. +18 −1 TheAmazingAudioEngine/AEAudioUnitFilter.m
  35. +18 −1 TheAmazingAudioEngine/AEBlockAudioReceiver.h
  36. +18 −1 TheAmazingAudioEngine/AEBlockAudioReceiver.m
  37. +18 −1 TheAmazingAudioEngine/AEBlockChannel.h
  38. +18 −1 TheAmazingAudioEngine/AEBlockChannel.m
  39. +18 −1 TheAmazingAudioEngine/AEBlockFilter.h
  40. +18 −1 TheAmazingAudioEngine/AEBlockFilter.m
  41. +18 −1 TheAmazingAudioEngine/AEFloatConverter.h
  42. +18 −1 TheAmazingAudioEngine/AEFloatConverter.m
  43. +18 −1 TheAmazingAudioEngine/AEUtilities.c
  44. +18 −1 TheAmazingAudioEngine/AEUtilities.h
  45. +0 −31 TheAmazingAudioEngine/Distribution/Read Me.txt
  46. +24 −4 TheAmazingAudioEngine/Library/TPCircularBuffer/README.markdown
  47. +25 −3 TheAmazingAudioEngine/Library/TPCircularBuffer/TPCircularBuffer+AudioBufferList.c
  48. +22 −1 TheAmazingAudioEngine/Library/TPCircularBuffer/TPCircularBuffer+AudioBufferList.h
  49. +23 −2 TheAmazingAudioEngine/Library/TPCircularBuffer/TPCircularBuffer.c
  50. +29 −2 TheAmazingAudioEngine/Library/TPCircularBuffer/TPCircularBuffer.h
  51. +70 −9 TheAmazingAudioEngine/TheAmazingAudioEngine.h
View
19 Modules/AEExpanderFilter.h
@@ -3,7 +3,24 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 09/07/2011.
-// Copyright 2011 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 Modules/AEExpanderFilter.m
@@ -3,7 +3,24 @@
// Loopy
//
// Created by Michael Tyson on 09/07/2011.
-// Copyright 2011 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEExpanderFilter.h"
View
19 Modules/AELimiter.h
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 20/04/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 Modules/AELimiter.m
@@ -3,7 +3,24 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 20/04/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AELimiter.h"
View
19 Modules/AELimiterFilter.h
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 21/04/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 Modules/AELimiterFilter.m
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 21/04/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AELimiterFilter.h"
View
19 Modules/AEMixerBuffer.h
@@ -3,7 +3,24 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 12/04/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 Modules/AEMixerBuffer.m
@@ -3,7 +3,24 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 12/04/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEMixerBuffer.h"
View
19 Modules/AEPlaythroughChannel.h
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 21/04/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 Modules/AEPlaythroughChannel.m
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 21/04/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEPlaythroughChannel.h"
View
19 Modules/AERecorder.h
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 23/04/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 Modules/AERecorder.m
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 23/04/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AERecorder.h"
View
28 Modules/TPCircularBuffer/README.markdown
@@ -3,8 +3,6 @@ A simple, fast circular buffer implementation for audio processing
A simple C implementation for a circular (ring) buffer. Thread-safe with a single producer and a single consumer, using OSAtomic.h primitives, and avoids any need for buffer wrapping logic by using a virtual memory map technique to place a virtual copy of the buffer straight after the end of the real buffer.
-Distributed under the [MIT license](http://opensource.org/licenses/mit-license.php)
-
Usage
-----
@@ -25,11 +23,33 @@ As long as you restrict multithreaded access to just one producer, and just one
Only one shared variable is used (the buffer fill count), and OSAtomic primitives are used to write to this value to ensure atomicity.
+License
+-------
+
+Copyright (C) 2012-2013 A Tasty Pixel
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source distribution.
+
+
-----------------------------------------------------
Virtual memory technique originally proposed by [Philip Howard](http://vrb.slashusr.org/), and [adapted to Darwin](http://www.snoize.com/Code/PlayBufferedSoundFile.tar.gz) by [Kurt Revis](http://www.snoize.com)
See more info at [atastypixel.com](http://atastypixel.com/blog/a-simple-fast-circular-buffer-implementation-for-audio-processing/)
-Michael Tyson
-A Tasty Pixel
View
23 Modules/TPCircularBuffer/TPCircularBuffer+AudioBufferList.c
@@ -2,8 +2,29 @@
// TPCircularBuffer+AudioBufferList.c
// Circular/Ring buffer implementation
//
+// https://github.com/michaeltyson/TPCircularBuffer
+//
// Created by Michael Tyson on 20/03/2012.
-// Copyright 2012 A Tasty Pixel. All rights reserved.
+//
+// Copyright (C) 2012-2013 A Tasty Pixel
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#include "TPCircularBuffer+AudioBufferList.h"
View
21 Modules/TPCircularBuffer/TPCircularBuffer+AudioBufferList.h
@@ -5,7 +5,26 @@
// https://github.com/michaeltyson/TPCircularBuffer
//
// Created by Michael Tyson on 20/03/2012.
-// Copyright 2012 A Tasty Pixel. All rights reserved.
+//
+// Copyright (C) 2012-2013 A Tasty Pixel
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#ifndef TPCircularBuffer_AudioBufferList_h
View
25 Modules/TPCircularBuffer/TPCircularBuffer.c
@@ -2,9 +2,30 @@
// TPCircularBuffer.c
// Circular/Ring buffer implementation
//
+// https://github.com/michaeltyson/TPCircularBuffer
+//
// Created by Michael Tyson on 10/12/2011.
-// Copyright 2011-2012 A Tasty Pixel. All rights reserved.
-
+//
+// Copyright (C) 2012-2013 A Tasty Pixel
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
+//
#include "TPCircularBuffer.h"
#include <mach/mach.h>
View
22 Modules/TPCircularBuffer/TPCircularBuffer.h
@@ -5,7 +5,6 @@
// https://github.com/michaeltyson/TPCircularBuffer
//
// Created by Michael Tyson on 10/12/2011.
-// Copyright 2011-2012 A Tasty Pixel. All rights reserved.
//
//
// This implementation makes use of a virtual memory mapping technique that inserts a virtual copy
@@ -18,6 +17,27 @@
// adapted to Darwin by Kurt Revis (http://www.snoize.com,
// http://www.snoize.com/Code/PlayBufferedSoundFile.tar.gz)
//
+//
+// Copyright (C) 2012-2013 A Tasty Pixel
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
+//
#ifndef TPCircularBuffer_h
#define TPCircularBuffer_h
View
34 README.markdown
@@ -0,0 +1,34 @@
+The Amazing Audio Engine
+========================
+
+The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to.
+
+It is designed to be very easy to work with, and handles all of the intricacies of iOS audio on your behalf.
+
+Built upon the efficient and low-latency Core Audio Remote IO system, and written by one of the pioneers of iOS audio development and developer of [Audiobus](http://audiob.us) Michael Tyson, The Amazing Audio Engine lets you get to work on making your app great instead of reinventing the wheel.
+
+See http://theamazingaudioengine.com for details and http://theamazingaudioengine.com/doc for documentation.
+
+
+License
+-------
+
+Copyright (C) 2012-2013 A Tasty Pixel
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source distribution.
View
2 TheAmazingAudioEngine.xcodeproj/project.pbxproj
@@ -48,7 +48,6 @@
4C23245515AC5FDA00038EC0 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
4C23245615AC5FDA00038EC0 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
4C23245915AC5FE800038EC0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
- 4C25745E15EFFC4F00D232E8 /* Distribution */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Distribution; path = TheAmazingAudioEngine/Distribution; sourceTree = "<group>"; };
4C25747215F0D8E000D232E8 /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = TPCircularBuffer.c; path = Library/TPCircularBuffer/TPCircularBuffer.c; sourceTree = "<group>"; };
4C25747315F0D8E100D232E8 /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TPCircularBuffer.h; path = Library/TPCircularBuffer/TPCircularBuffer.h; sourceTree = "<group>"; };
4C2886361556FC620074175A /* AEAudioController+Audiobus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AEAudioController+Audiobus.h"; sourceTree = "<group>"; };
@@ -158,7 +157,6 @@
children = (
4CE501911493F82600F23607 /* TheAmazingAudioEngine */,
4C8A0F401540BBD700307CB6 /* Modules */,
- 4C25745E15EFFC4F00D232E8 /* Distribution */,
4C215CED1523A7D500D36CAD /* Frameworks */,
4CE501901493F82600F23607 /* Products */,
);
View
19 TheAmazingAudioEngine/AEAudioController+Audiobus.h
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 06/05/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 TheAmazingAudioEngine/AEAudioController+Audiobus.m
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 07/05/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEAudioController+Audiobus.h"
View
19 TheAmazingAudioEngine/AEAudioController+AudiobusStub.h
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 07/05/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
20 TheAmazingAudioEngine/AEAudioController.h
@@ -3,7 +3,25 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 25/11/2011.
-// Copyright (c) 2011 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
+//
#import <AudioToolbox/AudioToolbox.h>
#import <AudioUnit/AudioUnit.h>
View
19 TheAmazingAudioEngine/AEAudioController.m
@@ -3,7 +3,24 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 25/11/2011.
-// Copyright (c) 2011 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEAudioController.h"
View
19 TheAmazingAudioEngine/AEAudioFileLoaderOperation.h
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 17/04/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 TheAmazingAudioEngine/AEAudioFileLoaderOperation.m
@@ -3,7 +3,24 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 17/04/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEAudioFileLoaderOperation.h"
View
19 TheAmazingAudioEngine/AEAudioFilePlayer.h
@@ -3,7 +3,24 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 13/02/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 TheAmazingAudioEngine/AEAudioFilePlayer.m
@@ -3,7 +3,24 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 13/02/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEAudioFilePlayer.h"
View
21 TheAmazingAudioEngine/AEAudioFileWriter.h
@@ -1,9 +1,26 @@
//
// AEAudioFileWriter.h
-// The Amazing Audio Engine (Extras)
+// The Amazing Audio Engine
//
// Created by Michael Tyson on 20/03/2012.
-// Copyright 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
21 TheAmazingAudioEngine/AEAudioFileWriter.m
@@ -1,9 +1,26 @@
//
// AEAudioFileWriter.m
-// The Amazing Audio Engine (Extras)
+// The Amazing Audio Engine
//
// Created by Michael Tyson on 20/03/2012.
-// Copyright 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEAudioFileWriter.h"
View
19 TheAmazingAudioEngine/AEAudioUnitChannel.h
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 01/02/2013.
-// Copyright (c) 2013 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 TheAmazingAudioEngine/AEAudioUnitChannel.m
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 01/02/2013.
-// Copyright (c) 2013 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEAudioUnitChannel.h"
View
19 TheAmazingAudioEngine/AEAudioUnitFilter.h
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 05/02/2013.
-// Copyright (c) 2013 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 TheAmazingAudioEngine/AEAudioUnitFilter.m
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 05/02/2013.
-// Copyright (c) 2013 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEAudioUnitFilter.h"
View
19 TheAmazingAudioEngine/AEBlockAudioReceiver.h
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 21/02/2013.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 TheAmazingAudioEngine/AEBlockAudioReceiver.m
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 21/02/2013.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEBlockAudioReceiver.h"
View
19 TheAmazingAudioEngine/AEBlockChannel.h
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 20/12/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 TheAmazingAudioEngine/AEBlockChannel.m
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 20/12/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEBlockChannel.h"
View
19 TheAmazingAudioEngine/AEBlockFilter.h
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 20/12/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 TheAmazingAudioEngine/AEBlockFilter.m
@@ -3,7 +3,24 @@
// TheAmazingAudioEngine
//
// Created by Michael Tyson on 20/12/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEBlockFilter.h"
View
19 TheAmazingAudioEngine/AEFloatConverter.h
@@ -3,7 +3,24 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 25/10/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <Foundation/Foundation.h>
View
19 TheAmazingAudioEngine/AEFloatConverter.m
@@ -3,7 +3,24 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 25/10/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEFloatConverter.h"
View
19 TheAmazingAudioEngine/AEUtilities.c
@@ -3,7 +3,24 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 23/03/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#include "AEUtilities.h"
View
19 TheAmazingAudioEngine/AEUtilities.h
@@ -3,7 +3,24 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 23/03/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import <AudioToolbox/AudioToolbox.h>
View
31 TheAmazingAudioEngine/Distribution/Read Me.txt
@@ -1,31 +0,0 @@
-The Amazing Audio Engine
-========================
-http://theamazingaudioengine.com
-
-PRE-RELEASE
-
-To use this library, place the "TheAmazingAudioEngineTrial" folder and the
-"libTheAmazingAudioEngineTrial.a" static library somewhere within your project
-directory.
-
-Then, drag libTheAmazingAudioEngineTrial.a into your project's Frameworks group,
-selecting your app target in the membership dialog.
-
-Open your app's build settings, find the "Header Search Paths" setting, and add
-the path to the "TheAmazingAudioEngineTrial" folder. You may wish to copy the
-path from the "Library Search Paths" setting, appending "TheAmazingAudioEngineTrial"
-as needed.
-
-Then #import "TheAmazingAudioEngine.h" to use.
-
-Documentation is not currently available, except within the header files, but when
-it is complete, it will be available at http://theamazingaudioengine.com/doc
-
-
-
-Sample app
-----------
-
-This is a very simple app that demonstrates various uses of The Amazing Audio Engine.
-
-Copyright (C) 2012 Michael Tyson, A Tasty Pixel, All Rights Reserved.
View
28 TheAmazingAudioEngine/Library/TPCircularBuffer/README.markdown
@@ -3,8 +3,6 @@ A simple, fast circular buffer implementation for audio processing
A simple C implementation for a circular (ring) buffer. Thread-safe with a single producer and a single consumer, using OSAtomic.h primitives, and avoids any need for buffer wrapping logic by using a virtual memory map technique to place a virtual copy of the buffer straight after the end of the real buffer.
-Distributed under the [MIT license](http://opensource.org/licenses/mit-license.php)
-
Usage
-----
@@ -25,11 +23,33 @@ As long as you restrict multithreaded access to just one producer, and just one
Only one shared variable is used (the buffer fill count), and OSAtomic primitives are used to write to this value to ensure atomicity.
+License
+-------
+
+Copyright (C) 2012-2013 A Tasty Pixel
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source distribution.
+
+
-----------------------------------------------------
Virtual memory technique originally proposed by [Philip Howard](http://vrb.slashusr.org/), and [adapted to Darwin](http://www.snoize.com/Code/PlayBufferedSoundFile.tar.gz) by [Kurt Revis](http://www.snoize.com)
See more info at [atastypixel.com](http://atastypixel.com/blog/a-simple-fast-circular-buffer-implementation-for-audio-processing/)
-Michael Tyson
-A Tasty Pixel
View
28 TheAmazingAudioEngine/Library/TPCircularBuffer/TPCircularBuffer+AudioBufferList.c
@@ -2,8 +2,29 @@
// TPCircularBuffer+AudioBufferList.c
// Circular/Ring buffer implementation
//
+// https://github.com/michaeltyson/TPCircularBuffer
+//
// Created by Michael Tyson on 20/03/2012.
-// Copyright 2012 A Tasty Pixel. All rights reserved.
+//
+// Copyright (C) 2012-2013 A Tasty Pixel
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#include "TPCircularBuffer+AudioBufferList.h"
@@ -86,7 +107,8 @@ void TPCircularBufferProduceAudioBufferList(TPCircularBuffer *buffer, const Audi
}
bool TPCircularBufferCopyAudioBufferList(TPCircularBuffer *buffer, const AudioBufferList *inBufferList, const AudioTimeStamp *inTimestamp, UInt32 frames, AudioStreamBasicDescription *audioDescription) {
-
+ if ( frames == 0 ) return true;
+
int byteCount = inBufferList->mBuffers[0].mDataByteSize;
if ( frames != kTPCircularBufferCopyAll ) {
byteCount = frames * audioDescription->mBytesPerFrame;
@@ -134,7 +156,7 @@ void TPCircularBufferConsumeNextBufferListPartial(TPCircularBuffer *buffer, int
if ( !block ) return;
assert(!((unsigned long)block & 0xF)); // Beware unaligned accesses
- int bytesToConsume = framesToConsume * audioFormat->mBytesPerFrame;
+ int bytesToConsume = min(framesToConsume * audioFormat->mBytesPerFrame, block->bufferList.mBuffers[0].mDataByteSize);
if ( bytesToConsume == block->bufferList.mBuffers[0].mDataByteSize ) {
TPCircularBufferConsumeNextBufferList(buffer);
View
23 TheAmazingAudioEngine/Library/TPCircularBuffer/TPCircularBuffer+AudioBufferList.h
@@ -2,8 +2,29 @@
// TPCircularBuffer+AudioBufferList.h
// Circular/Ring buffer implementation
//
+// https://github.com/michaeltyson/TPCircularBuffer
+//
// Created by Michael Tyson on 20/03/2012.
-// Copyright 2012 A Tasty Pixel. All rights reserved.
+//
+// Copyright (C) 2012-2013 A Tasty Pixel
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#ifndef TPCircularBuffer_AudioBufferList_h
View
25 TheAmazingAudioEngine/Library/TPCircularBuffer/TPCircularBuffer.c
@@ -2,9 +2,30 @@
// TPCircularBuffer.c
// Circular/Ring buffer implementation
//
+// https://github.com/michaeltyson/TPCircularBuffer
+//
// Created by Michael Tyson on 10/12/2011.
-// Copyright 2011-2012 A Tasty Pixel. All rights reserved.
-
+//
+// Copyright (C) 2012-2013 A Tasty Pixel
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
+//
#include "TPCircularBuffer.h"
#include <mach/mach.h>
View
31 TheAmazingAudioEngine/Library/TPCircularBuffer/TPCircularBuffer.h
@@ -2,8 +2,9 @@
// TPCircularBuffer.h
// Circular/Ring buffer implementation
//
+// https://github.com/michaeltyson/TPCircularBuffer
+//
// Created by Michael Tyson on 10/12/2011.
-// Copyright 2011-2012 A Tasty Pixel. All rights reserved.
//
//
// This implementation makes use of a virtual memory mapping technique that inserts a virtual copy
@@ -16,12 +17,34 @@
// adapted to Darwin by Kurt Revis (http://www.snoize.com,
// http://www.snoize.com/Code/PlayBufferedSoundFile.tar.gz)
//
+//
+// Copyright (C) 2012-2013 A Tasty Pixel
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
+//
#ifndef TPCircularBuffer_h
#define TPCircularBuffer_h
#include <libkern/OSAtomic.h>
#include <string.h>
+#include <assert.h>
#ifdef __cplusplus
extern "C" {
@@ -93,14 +116,16 @@ static __inline__ __attribute__((always_inline)) void* TPCircularBufferTail(TPCi
static __inline__ __attribute__((always_inline)) void TPCircularBufferConsume(TPCircularBuffer *buffer, int32_t amount) {
buffer->tail = (buffer->tail + amount) % buffer->length;
OSAtomicAdd32Barrier(-amount, &buffer->fillCount);
+ assert(buffer->fillCount >= 0);
}
/*!
* Version of TPCircularBufferConsume without the memory barrier, for more optimal use in single-threaded contexts
*/
- static __inline__ __attribute__((always_inline)) void TPCircularBufferConsumeNoBarrier(TPCircularBuffer *buffer, int32_t amount) {
+static __inline__ __attribute__((always_inline)) void TPCircularBufferConsumeNoBarrier(TPCircularBuffer *buffer, int32_t amount) {
buffer->tail = (buffer->tail + amount) % buffer->length;
buffer->fillCount -= amount;
+ assert(buffer->fillCount >= 0);
}
/*!
@@ -132,6 +157,7 @@ static __inline__ __attribute__((always_inline)) void* TPCircularBufferHead(TPCi
static __inline__ __attribute__((always_inline)) void TPCircularBufferProduce(TPCircularBuffer *buffer, int amount) {
buffer->head = (buffer->head + amount) % buffer->length;
OSAtomicAdd32Barrier(amount, &buffer->fillCount);
+ assert(buffer->fillCount <= buffer->length);
}
/*!
@@ -140,6 +166,7 @@ static __inline__ __attribute__((always_inline)) void TPCircularBufferProduce(TP
static __inline__ __attribute__((always_inline)) void TPCircularBufferProduceNoBarrier(TPCircularBuffer *buffer, int amount) {
buffer->head = (buffer->head + amount) % buffer->length;
buffer->fillCount += amount;
+ assert(buffer->fillCount <= buffer->length);
}
/*!
View
79 TheAmazingAudioEngine/TheAmazingAudioEngine.h
@@ -3,7 +3,26 @@
// The Amazing Audio Engine
//
// Created by Michael Tyson on 18/03/2012.
-// Copyright (c) 2012 A Tasty Pixel. All rights reserved.
+//
+// Copyright (C) 2012-2013 A Tasty Pixel
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
//
#import "AEAudioController.h"
@@ -38,13 +57,13 @@
In addition to these basic components, The Amazing Audio Engine includes a number of other features and utilities:
+ - Deep integration of [Audiobus](@ref Audiobus), the inter-app audio system for iOS.
- A channel class for [playing and looping audio files](@ref Audio-Files).
- An NSOperation class for [loading audio files into memory](@ref Reading-Audio).
- A class for [writing audio to an audio file](@ref Writing-Audio).
- [Multi-channel input](@ref Multichannel-Input) hardware support.
- Utilities for [managing AudioBufferLists](@ref Audio-Buffers), the basic unit of audio.
- [Timing Receivers](@ref Timing-Receivers), which are used for sequencing and synchronization.
- - Deep integration of [Audiobus](http://audiob.us), the inter-app audio system for iOS.
- A class for managing easy conversion to and from [floating-point format](@ref Vector-Processing) for use with the Accelerate vector processing framework.
- A [lock-free synchronization](@ref Synchronization) system that lets you send messages between your app's main thread, and the
Core Audio thread, without having to worry about managing access to shared variables in a way that doesn't
@@ -561,16 +580,58 @@ self.filter = [AEBlockFilter filterWithBlock:^(AEAudioControllerFilterProducer p
----------
+ Next, read on to find out how to interact with other audio apps, sending, receiving or filtering audio
+ with [Audiobus](@ref Audiobus).
+
+@page Audiobus Audiobus
+
+ [Audiobus](http://audiob.us) is an exciting new technology that lets users combine iOS apps into an integrated,
+ modular virtual studio - a bit like virtual audio cables.
+
+ Compatible apps build in support for the Audiobus SDK, which allows them to create 'ports' which can either send,
+ receive or process audio.
+
+ The Amazing Audio Engine, developed by Michael Tyson, the same developer who created Audiobus, contains a
+ @link AEAudioController(AudiobusAdditions) deep integration @endlink of Audiobus, with support for:
+
+ - Receiving Audiobus audio that seamlessly replaces microphone/device audio input.
+ - Sending Audiobus audio from any point in your app: The primary app output, or any channel or channel group.
+
+ The Audiobus SDK is not yet publicly available - register to be notified when it is at
+ http://audiob.us/#developers
+
+ <!--
+ To integrate Audiobus into your The Amazing Audio Engine-based app, you need to register an account with
+ the [Audiobus Developer Center](http://developer.audiob.us), download the latest Audiobus SDK and
+ follow the instructions in the [Audiobus Documentation](http://developer.audiob.us/doc)'s
+ [integration guide](http://developer.audiob.us/doc/_integration-_guide.html) to set up
+ your project with the Audiobus SDK.
+
+ Then you can:
+
+ - Receive Audiobus audio by creating an Audiobus Input Port and passing it to The Amazing Audio Engine
+ via AEAudioController's [audiobusInputPort](@ref AEAudioController::audiobusInputPort).
+ - Send your app's audio output via Audiobus by creating an Output Port and assigning it to
+ audiobusOutputPort](@ref AEAudioController::audiobusOutputPort).
+ - Send one individual channel via Audiobus by assigning a new Output Port via
+ @link AEAudioController::setAudiobusOutputPort:forChannel: setAudiobusOutputPort:forChannel: @endlink
+ - Send a channel group via Audiobus by assigning a new Output Port via
+ @link AEAudioController::setAudiobusOutputPort:forChannelGroup: setAudiobusOutputPort:forChannelGroup: @endlink
+ -->
+
+
+ -------------
+
We've now covered the basic building blocks of apps using The Amazing Audio Engine, but there's plenty more to know.
- Read on to find out about:
+ [Read on](@ref Other-Facilities) to find out about:
- - Reading from audio files.
- - Writing to audio files.
- - Managing audio buffers.
- - Making your app dramatically more efficient by using vector processing operations.
- - Efficient, safe and simple inter-thread synchronization using The Amazing Audio Engine's messaging system.
- - How to schedule events with absolute accuracy.
+ - [Reading](@ref Reading-Audio) from audio files.
+ - [Writing](@ref Writing-Audio) to audio files.
+ - [Managing audio buffers](@ref Audio-Buffers).
+ - Making your app dramatically more efficient by using [vector processing operations](@ref Vector-Processing).
+ - Efficient, safe and simple [inter-thread synchronization](@ref Synchronization) using The Amazing Audio Engine's messaging system.
+ - How to [schedule events](@ref Timing-Receivers) with absolute accuracy.
@page Other-Facilities Other Facilities

0 comments on commit 4088c20

Please sign in to comment.