Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dcaadd43ce | |||
| 03db74e842 | |||
| ec19d44d86 | |||
| 1e23f95dc2 | |||
| 4d0b40d730 | |||
| 732cf79963 | |||
| 7e84f8744f | |||
| 556ac8390a | |||
| 700bd4bbce | |||
| 7df85ed2b8 | |||
| 68ad54d824 |
+25
-16
@@ -1,18 +1,27 @@
|
||||
Pod::Spec.new do |s|
|
||||
s.name = "EZAudio"
|
||||
s.version = "0.6.0"
|
||||
s.summary = "A simple, intuitive audio framework for iOS and OSX useful for anyone doing audio processing and/or audio-based visualizations."
|
||||
s.homepage = "https://github.com/syedhali/EZAudio"
|
||||
s.screenshots = "https://s3-us-west-1.amazonaws.com/ezaudio-media/EZAudioSummary.png"
|
||||
s.license = { :type => 'MIT', :file => 'LICENSE' }
|
||||
s.author = { "Syed Haris Ali" => "syedhali07@gmail.com" }
|
||||
s.ios.deployment_target = '6.0'
|
||||
s.osx.deployment_target = '10.8'
|
||||
s.source = { :git => "https://github.com/syedhali/EZAudio.git", :tag => s.version }
|
||||
s.source_files = 'EZAudio/*.{h,m,c}'
|
||||
s.exclude_files = [ 'EZAudio/VERSION', 'EZAudio/TPCircularBuffer.{h,c}' ]
|
||||
s.ios.frameworks = 'AudioToolbox','AVFoundation','GLKit'
|
||||
s.osx.frameworks = 'AudioToolbox','AudioUnit','CoreAudio','QuartzCore','OpenGL','GLKit'
|
||||
s.dependency 'TPCircularBuffer', '~> 0.0'
|
||||
s.requires_arc = true;
|
||||
s.name = "EZAudio"
|
||||
s.version = "0.7.2"
|
||||
s.summary = "A simple, intuitive audio framework for iOS and OSX useful for anyone doing audio processing and/or audio-based visualizations."
|
||||
s.homepage = "https://github.com/syedhali/EZAudio"
|
||||
s.screenshots = "https://s3-us-west-1.amazonaws.com/ezaudio-media/EZAudioSummary.png"
|
||||
s.license = { :type => 'MIT', :file => 'LICENSE' }
|
||||
s.author = { "Syed Haris Ali" => "syedhali07@gmail.com" }
|
||||
s.ios.deployment_target = '6.0'
|
||||
s.osx.deployment_target = '10.8'
|
||||
s.source = { :git => "https://github.com/syedhali/EZAudio.git", :tag => s.version }
|
||||
s.exclude_files = [ 'EZAudio/VERSION', 'EZAudio/TPCircularBuffer.{h,c}' ]
|
||||
s.ios.frameworks = 'AudioToolbox','AVFoundation','GLKit'
|
||||
s.osx.frameworks = 'AudioToolbox','AudioUnit','CoreAudio','QuartzCore','OpenGL','GLKit'
|
||||
s.requires_arc = true;
|
||||
s.default_subspec = 'Full'
|
||||
|
||||
s.subspec 'Core' do |core|
|
||||
core.source_files = 'EZAudio/*.{h,m,c}'
|
||||
end
|
||||
|
||||
s.subspec 'Full' do |full|
|
||||
full.dependency 'TPCircularBuffer', '~> 0.0'
|
||||
full.dependency 'EZAudio/Core'
|
||||
end
|
||||
|
||||
end
|
||||
@@ -25,9 +25,6 @@
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#pragma mark - 3rd Party Utilties
|
||||
#import "TPCircularBuffer.h"
|
||||
|
||||
#pragma mark - Core Components
|
||||
#import "EZAudioFile.h"
|
||||
#import "EZAudioFloatData.h"
|
||||
|
||||
@@ -67,14 +67,6 @@ typedef CGRect EZRect;
|
||||
typedef NSRect EZRect;
|
||||
#endif
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
typedef UIColor EZColor;
|
||||
#elif TARGET_OS_MAC
|
||||
typedef NSColor EZColor;
|
||||
#endif
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZAudioUtilities
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -70,7 +70,8 @@ static OSStatus EZAudioMicrophoneCallback(void *inRefCon,
|
||||
- (void)dealloc
|
||||
{
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
[EZAudioUtilities checkResult:AudioUnitUninitialize(self.info->audioUnit) operation:"Failed to unintialize audio unit for microphone"];
|
||||
[EZAudioUtilities checkResult:AudioUnitUninitialize(self.info->audioUnit)
|
||||
operation:"Failed to unintialize audio unit for microphone"];
|
||||
[EZAudioUtilities freeBufferList:self.info->audioBufferList];
|
||||
[EZAudioUtilities freeFloatBuffers:self.info->floatData
|
||||
numberOfChannels:self.info->streamFormat.mChannelsPerFrame];
|
||||
@@ -116,11 +117,7 @@ static OSStatus EZAudioMicrophoneCallback(void *inRefCon,
|
||||
self = [self initWithMicrophoneDelegate:delegate];
|
||||
if(self)
|
||||
{
|
||||
self.info = (EZMicrophoneInfo *)malloc(sizeof(EZMicrophoneInfo));
|
||||
memset(self.info, 0, sizeof(EZMicrophoneInfo));
|
||||
self.info->streamFormat = audioStreamBasicDescription;
|
||||
_delegate = delegate;
|
||||
[self setup];
|
||||
[self setAudioStreamBasicDescription:audioStreamBasicDescription];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
+2
-2
@@ -108,8 +108,8 @@ OSStatus EZOutputGraphRenderCallback(void *inRefCon,
|
||||
operation:"Failed to stop graph"];
|
||||
[EZAudioUtilities checkResult:AUGraphClose(self.info->graph)
|
||||
operation:"Failed to close graph"];
|
||||
[EZAudioUtilities checkResult:AUGraphUninitialize(self.info->graph)
|
||||
operation:"Failed to uninitialize graph"];
|
||||
[EZAudioUtilities checkResult:DisposeAUGraph(self.info->graph)
|
||||
operation:"Failed to dispose of graph"];
|
||||
free(self.info);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
#EZAudio
|
||||
A simple, intuitive audio framework for iOS and OSX.
|
||||
|
||||
# Note as of July 2, 2015
|
||||
Over the last week I've been rewriting the core components of EZAudio to be faster and much more flexible. As EZAudio gets closer its 1.0 release the API has changed a little bit for each component and as a result this repo's README for the [Examples](#Examples) and [Core Components](#CoreComponents) are in a deprecated state, but will be updated tomorrow <b>July 3rd, 2015</b>. As of the `0.7.1` release you should be able to use EZAudio and the Amazing Audio Engine by using the `EZAudio/Core` Cocoapod (see [Using EZAudio & The Amazing Audio Engine](#AmazingAudioEngineCocoapod))
|
||||
|
||||
##Features
|
||||

|
||||
|
||||
@@ -38,7 +41,7 @@ An OpenGL-based, GPU-accelerated audio waveform plot capable of visualizing any
|
||||
|
||||
`EZAudio` was designed to work transparently across all iOS and OSX devices. This means one universal API whether you're building for Mac or iOS. For instance, under the hood an `EZAudioPlot` knows that it will subclass a UIView for iOS or an NSView for OSX and the `EZMicrophone` knows to build on top of the RemoteIO AudioUnit for iOS, but defaults to the system defaults for input and output for OSX.
|
||||
|
||||
##Examples & Docs
|
||||
##<a name="Examples">Examples & Docs
|
||||
|
||||
Within this repo you'll find the examples for iOS and OSX to get you up to speed using each component and plugging them into each other. With just a few lines of code you'll be recording from the microphone, generating audio waveforms, and playing audio files like a boss. See the full Getting Started guide for an interactive look into each of components.
|
||||
|
||||
@@ -75,17 +78,16 @@ Shows how to calculate the real-time FFT of the audio data coming from the `EZMi
|
||||

|
||||
|
||||
### Documentation
|
||||
The official documentation for EZAudio can be found here: http://cocoadocs.org/docsets/EZAudio/0.6.0/
|
||||
The official documentation for EZAudio can be found here: http://cocoadocs.org/docsets/EZAudio/0.7.2/
|
||||
<br>You can also generate the docset yourself using appledocs by running the appledocs on the EZAudio source folder.
|
||||
|
||||
##Getting Started
|
||||
##<a name="GettingStarted">Getting Started
|
||||
To begin using `EZAudio` you must first make sure you have the proper build requirements and frameworks. Below you'll find explanations of each component and code snippets to show how to use each to perform common tasks like getting microphone data, updating audio waveform plots, reading/seeking through audio files, and performing playback.
|
||||
|
||||
###Build Requirements
|
||||
**iOS**
|
||||
- 6.0+
|
||||
|
||||
|
||||
**OSX**
|
||||
- 10.8+
|
||||
|
||||
@@ -95,7 +97,6 @@ To begin using `EZAudio` you must first make sure you have the proper build requ
|
||||
- AVFoundation
|
||||
- GLKit
|
||||
|
||||
|
||||
**OSX**
|
||||
- AudioToolbox
|
||||
- AudioUnit
|
||||
@@ -104,16 +105,24 @@ To begin using `EZAudio` you must first make sure you have the proper build requ
|
||||
- OpenGL
|
||||
- GLKit
|
||||
|
||||
###Adding To Project
|
||||
###<a name="AddingToProject">Adding To Project
|
||||
You can add EZAudio to your project in a few ways: <br><br>1.) The easiest way to use EZAudio is via <a href="http://cocoapods.org/", target="_blank">Cocoapods</a>. Simply add EZAudio to your <a href="http://guides.cocoapods.org/using/the-podfile.html", target="_blank">Podfile</a> like so:
|
||||
|
||||
`
|
||||
pod 'EZAudio', '~> 0.6.0'
|
||||
pod 'EZAudio', '~> 0.7.2'
|
||||
`
|
||||
|
||||
####<a name="AmazingAudioEngineCocoapod">Using EZAudio & The Amazing Audio Engine
|
||||
If you're also using the Amazing Audio Engine then use the `EZAudio/Core` subspec like so:
|
||||
|
||||
`
|
||||
pod 'EZAudio/Core', '~> 0.7.2'
|
||||
`
|
||||
|
||||
2.) Alternatively, you could clone or fork this repo and just drag and drop the source into your project.
|
||||
|
||||
##Core Components
|
||||
##<a name="CoreComponents"></a>Core Components
|
||||
|
||||
`EZAudio` currently offers four components that encompass a wide range of audio functionality. In addition to the functional aspects of these components such as pulling audio data, reading/writing from files, and performing playback they also take special care to hook into the interface components to allow developers to display visual feedback (see the Interface Components below).
|
||||
|
||||
###<a name="EZAudioFile"></a>EZAudioFile
|
||||
|
||||
Reference in New Issue
Block a user