Compare commits
45 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 166963f314 | |||
| f8c75ff6ab | |||
| 39f79a2f2d | |||
| 666630b5fa | |||
| bb033d2e9a | |||
| 3df159fded | |||
| 3ce1777067 | |||
| dda6f5a045 | |||
| cd47fe7cc7 | |||
| 1ded12d18e | |||
| 556ac8390a | |||
| 700bd4bbce | |||
| 7df85ed2b8 | |||
| 68ad54d824 | |||
| c6ed4c48b6 | |||
| d65c918f00 | |||
| e771fe257a | |||
| 7fc587d3af | |||
| 7bcf2517cb | |||
| 47de71d817 | |||
| cdee3dadd5 | |||
| 4b76949836 | |||
| 55172b2356 | |||
| 302a047f6a | |||
| 2705a7b559 | |||
| e620db225a | |||
| 6f51b2b387 | |||
| a8202b44ad | |||
| ddfe22106f | |||
| 64a9e963ee | |||
| 2309329709 | |||
| bb19920533 | |||
| 44429ec91a | |||
| 3936165aeb | |||
| 996744ffc4 | |||
| 3ae090c761 | |||
| 33bdcee78a | |||
| 081c7047f5 | |||
| 4d952e2fa5 | |||
| f2084dab2a | |||
| 115dc2b8a0 | |||
| a832f27a5a | |||
| 199f63d7e2 | |||
| f5f40304d0 | |||
| 6ea04c0f7b |
@@ -80,7 +80,7 @@ typedef void (^EZAudioWaveformDataCompletionBlock)(float **waveformData, int len
|
||||
/**
|
||||
The EZAudioFile provides a lightweight and intuitive way to asynchronously interact with audio files. These interactions included reading audio data, seeking within an audio file, getting information about the file, and pulling the waveform data for visualizing the contents of the audio file. The EZAudioFileDelegate provides event callbacks for when reads, seeks, and various updates happen within the audio file to allow the caller to interact with the action in meaningful ways. Common use cases here could be to read the audio file's data as AudioBufferList structures for output (see EZOutput) and visualizing the audio file's data as a float array using an audio plot (see EZAudioPlot).
|
||||
*/
|
||||
@interface EZAudioFile : NSObject
|
||||
@interface EZAudioFile : NSObject <NSCopying>
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Properties
|
||||
@@ -24,10 +24,7 @@
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import "EZAudioFile.h"
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#import "EZAudio.h"
|
||||
#import "EZAudioUtilities.h"
|
||||
#import "EZAudioFloatConverter.h"
|
||||
#import "EZAudioFloatData.h"
|
||||
#include <pthread.h>
|
||||
@@ -160,6 +157,15 @@ typedef struct
|
||||
clientFormat:clientFormat];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - NSCopying
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (id)copyWithZone:(NSZone *)zone
|
||||
{
|
||||
return [EZAudioFile audioFileWithURL:self.url];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Class Methods
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -667,6 +673,29 @@ typedef struct
|
||||
[self seekToFrame:frame];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Description
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (NSString *)description
|
||||
{
|
||||
return [NSString stringWithFormat:@"%@ {\n"
|
||||
" url: %@,\n"
|
||||
" duration: %f,\n"
|
||||
" totalFrames: %lld,\n"
|
||||
" metadata: %@,\n"
|
||||
" fileFormat: { %@ },\n"
|
||||
" clientFormat: { %@ } \n"
|
||||
"}",
|
||||
[super description],
|
||||
[self url],
|
||||
[self duration],
|
||||
[self totalFrames],
|
||||
[self metadata],
|
||||
[EZAudioUtilities stringForAudioStreamBasicDescription:[self fileFormat]],
|
||||
[EZAudioUtilities stringForAudioStreamBasicDescription:[self clientFormat]]];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,414 @@
|
||||
//
|
||||
// EZAudioPlayer.h
|
||||
// EZAudio
|
||||
//
|
||||
// Created by Syed Haris Ali on 1/16/14.
|
||||
// Copyright (c) 2014 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "TargetConditionals.h"
|
||||
#import "EZAudioFile.h"
|
||||
#import "EZOutput.h"
|
||||
|
||||
@class EZAudioPlayer;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Notifications
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Notification that occurs whenever the EZAudioPlayer changes its `audioFile` property. Check the new value using the EZAudioPlayer's `audioFile` property.
|
||||
*/
|
||||
FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangeAudioFileNotification;
|
||||
|
||||
/**
|
||||
Notification that occurs whenever the EZAudioPlayer changes its `device` property. Check the new value using the EZAudioPlayer's `device` property.
|
||||
*/
|
||||
FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangeOutputDeviceNotification;
|
||||
|
||||
/**
|
||||
Notification that occurs whenever the EZAudioPlayer changes its `output` component's `pan` property. Check the new value using the EZAudioPlayer's `pan` property.
|
||||
*/
|
||||
FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangePanNotification;
|
||||
|
||||
/**
|
||||
Notification that occurs whenever the EZAudioPlayer changes its `output` component's play state. Check the new value using the EZAudioPlayer's `isPlaying` property.
|
||||
*/
|
||||
FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangePlayStateNotification;
|
||||
|
||||
/**
|
||||
Notification that occurs whenever the EZAudioPlayer changes its `output` component's `volume` property. Check the new value using the EZAudioPlayer's `volume` property.
|
||||
*/
|
||||
FOUNDATION_EXPORT NSString * const EZAudioPlayerDidChangeVolumeNotification;
|
||||
|
||||
/**
|
||||
Notification that occurs whenever the EZAudioPlayer has reached the end of a file and its `shouldLoop` property has been set to NO.
|
||||
*/
|
||||
FOUNDATION_EXPORT NSString * const EZAudioPlayerDidReachEndOfFileNotification;
|
||||
|
||||
/**
|
||||
Notification that occurs whenever the EZAudioPlayer performs a seek via the `seekToFrame` method or `setCurrentTime:` property setter. Check the new `currentTime` or `frameIndex` value using the EZAudioPlayer's `currentTime` or `frameIndex` property, respectively.
|
||||
*/
|
||||
FOUNDATION_EXPORT NSString * const EZAudioPlayerDidSeekNotification;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZAudioPlayerDelegate
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
The EZAudioPlayerDelegate provides event callbacks for the EZAudioPlayer. Since 0.5.0 the EZAudioPlayerDelegate provides a smaller set of delegate methods in favor of notifications to allow multiple receivers of the EZAudioPlayer event callbacks since only one player is typically used in an application. Specifically, these methods are provided for high frequency callbacks that wrap the EZAudioPlayer's internal EZAudioFile and EZOutput instances.
|
||||
@warning These callbacks don't necessarily occur on the main thread so make sure you wrap any UI code in a GCD block like: dispatch_async(dispatch_get_main_queue(), ^{ // Update UI });
|
||||
*/
|
||||
@protocol EZAudioPlayerDelegate <NSObject>
|
||||
|
||||
@optional
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Triggered by the EZAudioPlayer's internal EZAudioFile's EZAudioFileDelegate callback and notifies the delegate of the read audio data as a float array instead of a buffer list. Common use case of this would be to visualize the float data using an audio plot or audio data dependent OpenGL sketch.
|
||||
@param audioPlayer The instance of the EZAudioPlayer that triggered the event
|
||||
@param buffer A float array of float arrays holding the audio data. buffer[0] would be the left channel's float array while buffer[1] would be the right channel's float array in a stereo file.
|
||||
@param bufferSize The length of the buffers float arrays
|
||||
@param numberOfChannels The number of channels. 2 for stereo, 1 for mono.
|
||||
@param audioFile The instance of the EZAudioFile that the event was triggered from
|
||||
*/
|
||||
- (void) audioPlayer:(EZAudioPlayer *)audioPlayer
|
||||
playedAudio:(float **)buffer
|
||||
withBufferSize:(UInt32)bufferSize
|
||||
withNumberOfChannels:(UInt32)numberOfChannels
|
||||
inAudioFile:(EZAudioFile *)audioFile;;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Triggered by EZAudioPlayer's internal EZAudioFile's EZAudioFileDelegate callback and notifies the delegate of the current playback position. The framePosition provides the current frame position and can be calculated against the EZAudioPlayer's total frames using the `totalFrames` function from the EZAudioPlayer.
|
||||
@param audioPlayer The instance of the EZAudioPlayer that triggered the event
|
||||
@param framePosition The new frame index as a 64-bit signed integer
|
||||
@param audioFile The instance of the EZAudioFile that the event was triggered from
|
||||
*/
|
||||
- (void)audioPlayer:(EZAudioPlayer *)audioPlayer
|
||||
updatedPosition:(SInt64)framePosition
|
||||
inAudioFile:(EZAudioFile *)audioFile;
|
||||
|
||||
@end
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZAudioPlayer
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
The EZAudioPlayer provides an interface that combines the EZAudioFile and EZOutput to play local audio files. This class acts as the master delegate (the EZAudioFileDelegate) over whatever EZAudioFile instance, the `audioFile` property, it is using for playback as well as the EZOutputDelegate and EZOutputDataSource over whatever EZOutput instance is set as the `output`. Classes that want to get the EZAudioFileDelegate callbacks should implement the EZAudioPlayer's EZAudioPlayerDelegate on the EZAudioPlayer instance. Since 0.5.0 the EZAudioPlayer offers notifications over the usual delegate methods to allow multiple receivers to get the EZAudioPlayer's state changes since one player will typically be used in one application. The EZAudioPlayerDelegate, the `delegate`, provides callbacks for high frequency methods that simply wrap the EZAudioFileDelegate and EZOutputDelegate callbacks for providing the audio buffer played as well as the position updating (you will typically have one scrub bar in an application).
|
||||
*/
|
||||
@interface EZAudioPlayer : NSObject <EZAudioFileDelegate,
|
||||
EZOutputDataSource,
|
||||
EZOutputDelegate>
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Properties
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Properties
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
The EZAudioPlayerDelegate that will handle the audio player callbacks
|
||||
*/
|
||||
@property (nonatomic, weak) id<EZAudioPlayerDelegate> delegate;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
A BOOL indicating whether the player should loop the file
|
||||
*/
|
||||
@property (nonatomic, assign) BOOL shouldLoop;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Initializers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Initializers
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Initializes the EZAudioPlayer with an EZAudioFile instance. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
|
||||
@param audioFile The instance of the EZAudioFile to use for initializing the EZAudioPlayer
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
- (instancetype)initWithAudioFile:(EZAudioFile *)audioFile;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Initializes the EZAudioPlayer with an EZAudioFile instance and provides a way to assign the EZAudioPlayerDelegate on instantiation. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
|
||||
@param audioFile The instance of the EZAudioFile to use for initializing the EZAudioPlayer
|
||||
@param delegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the initWithAudioFile: function instead.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
- (instancetype)initWithAudioFile:(EZAudioFile *)audioFile
|
||||
delegate:(id<EZAudioPlayerDelegate>)delegate;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Initializes the EZAudioPlayer with an EZAudioPlayerDelegate.
|
||||
@param delegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the initWithAudioFile: function instead.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
- (instancetype)initWithDelegate:(id<EZAudioPlayerDelegate>)delegate;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Initializes the EZAudioPlayer with an NSURL instance representing the file path of the audio file.
|
||||
@param url The NSURL instance representing the file path of the audio file.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
- (instancetype)initWithURL:(NSURL*)url;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Initializes the EZAudioPlayer with an NSURL instance representing the file path of the audio file and a caller to assign as the EZAudioPlayerDelegate on instantiation.
|
||||
@param url The NSURL instance representing the file path of the audio file.
|
||||
@param delegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the initWithAudioFile: function instead.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
- (instancetype)initWithURL:(NSURL*)url
|
||||
delegate:(id<EZAudioPlayerDelegate>)delegate;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Class Initializers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Class Initializers
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Class initializer that creates a default EZAudioPlayer.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
+ (instancetype)audioPlayer;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Class initializer that creates the EZAudioPlayer with an EZAudioFile instance. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
|
||||
@param audioFile The instance of the EZAudioFile to use for initializing the EZAudioPlayer
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
+ (instancetype)audioPlayerWithAudioFile:(EZAudioFile *)audioFile;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Class initializer that creates the EZAudioPlayer with an EZAudioFile instance and provides a way to assign the EZAudioPlayerDelegate on instantiation. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
|
||||
@param audioFile The instance of the EZAudioFile to use for initializing the EZAudioPlayer
|
||||
@param delegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the audioPlayerWithAudioFile: function instead.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
+ (instancetype)audioPlayerWithAudioFile:(EZAudioFile *)audioFile
|
||||
delegate:(id<EZAudioPlayerDelegate>)delegate;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Class initializer that creates a default EZAudioPlayer with an EZAudioPlayerDelegate..
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
+ (instancetype)audioPlayerWithDelegate:(id<EZAudioPlayerDelegate>)delegate;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Class initializer that creates the EZAudioPlayer with an NSURL instance representing the file path of the audio file.
|
||||
@param url The NSURL instance representing the file path of the audio file.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
+ (instancetype)audioPlayerWithURL:(NSURL*)url;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Class initializer that creates the EZAudioPlayer with an NSURL instance representing the file path of the audio file and a caller to assign as the EZAudioPlayerDelegate on instantiation.
|
||||
@param url The NSURL instance representing the file path of the audio file.
|
||||
@param delegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the audioPlayerWithURL: function instead.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
+ (instancetype)audioPlayerWithURL:(NSURL*)url
|
||||
delegate:(id<EZAudioPlayerDelegate>)delegate;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Singleton
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Shared Instance
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
The shared instance (singleton) of the audio player. Most applications will only have one instance of the EZAudioPlayer that can be reused with multiple different audio files.
|
||||
* @return The shared instance of the EZAudioPlayer.
|
||||
*/
|
||||
+ (instancetype)sharedAudioPlayer;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Properties
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Properties
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the EZAudioFile instance that is being used as the datasource for playback. When set it creates a copy of the EZAudioFile provided for internal use. This does not use the EZAudioFile by reference, but instead creates a copy of the EZAudioFile instance provided.
|
||||
*/
|
||||
@property (nonatomic, readwrite, copy) EZAudioFile *audioFile;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the current offset in the audio file as an NSTimeInterval (i.e. in seconds). When setting this it will determine the correct frame offset and perform a `seekToFrame` to the new time offset.
|
||||
@warning Make sure the new current time offset is less than the `duration` or you will receive an invalid seek assertion.
|
||||
*/
|
||||
@property (nonatomic, readwrite) NSTimeInterval currentTime;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
The EZAudioDevice instance that is being used by the `output`. Similarly, setting this just sets the `device` property of the `output`.
|
||||
*/
|
||||
@property (readwrite) EZAudioDevice *device;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the duration of the audio file in seconds.
|
||||
*/
|
||||
@property (readonly) NSTimeInterval duration;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the current time as an NSString with the time format MM:SS.
|
||||
*/
|
||||
@property (readonly) NSString *formattedCurrentTime;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the duration as an NSString with the time format MM:SS.
|
||||
*/
|
||||
@property (readonly) NSString *formattedDuration;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the EZOutput that is being used to handle the actual playback of the audio data. This property is also settable, but note that the EZAudioPlayer will become the output's EZOutputDataSource and EZOutputDelegate. To listen for the EZOutput's delegate methods your view should implement the EZAudioPlayerDelegate and set itself as the EZAudioPlayer's `delegate`.
|
||||
*/
|
||||
@property (nonatomic, strong, readwrite) EZOutput *output;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the frame index (a.k.a the seek positon) within the audio file being used for playback. This can be helpful when seeking through the audio file.
|
||||
@return An SInt64 representing the current frame index within the audio file used for playback.
|
||||
*/
|
||||
@property (readonly) SInt64 frameIndex;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides a flag indicating whether the EZAudioPlayer is currently playing back any audio.
|
||||
@return A BOOL indicating whether or not the EZAudioPlayer is performing playback,
|
||||
*/
|
||||
@property (readonly) BOOL isPlaying;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the current pan from the audio player's internal `output` component. Setting the pan adjusts the direction of the audio signal from left (0) to right (1). Default is 0.5 (middle).
|
||||
*/
|
||||
@property (nonatomic, assign) float pan;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the total amount of frames in the current audio file being used for playback.
|
||||
@return A SInt64 representing the total amount of frames in the current audio file being used for playback.
|
||||
*/
|
||||
@property (readonly) SInt64 totalFrames;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the file path that's currently being used by the player for playback.
|
||||
@return The NSURL representing the file path of the audio file being used for playback.
|
||||
*/
|
||||
@property (nonatomic, copy, readonly) NSURL *url;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the current volume from the audio player's internal `output` component. Setting the volume adjusts the gain of the output between 0 and 1. Default is 1.
|
||||
*/
|
||||
@property (nonatomic, assign) float volume;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Actions
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Controlling Playback
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Starts playback.
|
||||
*/
|
||||
- (void)play;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Loads an EZAudioFile and immediately starts playing it.
|
||||
@param audioFile An EZAudioFile to use for immediate playback.
|
||||
*/
|
||||
- (void)playAudioFile:(EZAudioFile *)audioFile;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Pauses playback.
|
||||
*/
|
||||
- (void)pause;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Seeks playback to a specified frame within the internal EZAudioFile. This will notify the EZAudioFileDelegate (if specified) with the audioPlayer:updatedPosition:inAudioFile: function.
|
||||
@param frame The new frame position to seek to as a SInt64.
|
||||
*/
|
||||
- (void)seekToFrame:(SInt64)frame;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,441 @@
|
||||
//
|
||||
// EZAudioPlayer.m
|
||||
// EZAudio
|
||||
//
|
||||
// Created by Syed Haris Ali on 1/16/14.
|
||||
// Copyright (c) 2014 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import "EZAudioPlayer.h"
|
||||
#import "EZAudioUtilities.h"
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Notifications
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
NSString * const EZAudioPlayerDidChangeAudioFileNotification = @"EZAudioPlayerDidChangeAudioFileNotification";
|
||||
NSString * const EZAudioPlayerDidChangeOutputDeviceNotification = @"EZAudioPlayerDidChangeOutputDeviceNotification";
|
||||
NSString * const EZAudioPlayerDidChangePanNotification = @"EZAudioPlayerDidChangePanNotification";
|
||||
NSString * const EZAudioPlayerDidChangePlayStateNotification = @"EZAudioPlayerDidChangePlayStateNotification";
|
||||
NSString * const EZAudioPlayerDidChangeVolumeNotification = @"EZAudioPlayerDidChangeVolumeNotification";
|
||||
NSString * const EZAudioPlayerDidReachEndOfFileNotification = @"EZAudioPlayerDidReachEndOfFileNotification";
|
||||
NSString * const EZAudioPlayerDidSeekNotification = @"EZAudioPlayerDidSeekNotification";
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZAudioPlayer (Implementation)
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@implementation EZAudioPlayer
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Class Methods
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+ (instancetype)audioPlayer
|
||||
{
|
||||
return [[self alloc] init];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+ (instancetype)audioPlayerWithDelegate:(id<EZAudioPlayerDelegate>)delegate
|
||||
{
|
||||
return [[self alloc] initWithDelegate:delegate];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+ (instancetype)audioPlayerWithAudioFile:(EZAudioFile *)audioFile
|
||||
{
|
||||
return [[self alloc] initWithAudioFile:audioFile];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+ (instancetype)audioPlayerWithAudioFile:(EZAudioFile *)audioFile
|
||||
delegate:(id<EZAudioPlayerDelegate>)delegate
|
||||
{
|
||||
return [[self alloc] initWithAudioFile:audioFile
|
||||
delegate:delegate];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+ (instancetype)audioPlayerWithURL:(NSURL *)url
|
||||
{
|
||||
return [[self alloc] initWithURL:url];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+ (instancetype)audioPlayerWithURL:(NSURL *)url
|
||||
delegate:(id<EZAudioPlayerDelegate>)delegate
|
||||
{
|
||||
return [[self alloc] initWithURL:url delegate:delegate];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Initialization
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
self = [super init];
|
||||
if (self)
|
||||
{
|
||||
[self setup];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (instancetype)initWithDelegate:(id<EZAudioPlayerDelegate>)delegate
|
||||
{
|
||||
self = [self init];
|
||||
if (self)
|
||||
{
|
||||
self.delegate = delegate;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (instancetype)initWithAudioFile:(EZAudioFile *)audioFile
|
||||
{
|
||||
return [self initWithAudioFile:audioFile delegate:nil];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (instancetype)initWithAudioFile:(EZAudioFile *)audioFile
|
||||
delegate:(id<EZAudioPlayerDelegate>)delegate
|
||||
{
|
||||
self = [self initWithDelegate:delegate];
|
||||
if (self)
|
||||
{
|
||||
self.audioFile = audioFile;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (instancetype)initWithURL:(NSURL *)url
|
||||
{
|
||||
return [self initWithURL:url delegate:nil];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (instancetype)initWithURL:(NSURL *)url
|
||||
delegate:(id<EZAudioPlayerDelegate>)delegate
|
||||
{
|
||||
self = [self initWithDelegate:delegate];
|
||||
if (self)
|
||||
{
|
||||
self.audioFile = [EZAudioFile audioFileWithURL:url delegate:self];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Singleton
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+ (instancetype)sharedAudioPlayer
|
||||
{
|
||||
static EZAudioPlayer *player;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^
|
||||
{
|
||||
player = [[self alloc] init];
|
||||
});
|
||||
return player;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Setup
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setup
|
||||
{
|
||||
self.output = [EZOutput output];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Getters
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (NSTimeInterval)currentTime
|
||||
{
|
||||
return [self.audioFile currentTime];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (EZAudioDevice *)device
|
||||
{
|
||||
return [self.output device];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (NSTimeInterval)duration
|
||||
{
|
||||
return [self.audioFile duration];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (NSString *)formattedCurrentTime
|
||||
{
|
||||
return [self.audioFile formattedCurrentTime];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (NSString *)formattedDuration
|
||||
{
|
||||
return [self.audioFile formattedDuration];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (SInt64)frameIndex
|
||||
{
|
||||
return [self.audioFile frameIndex];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (BOOL)isPlaying
|
||||
{
|
||||
return [self.output isPlaying];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (float)pan
|
||||
{
|
||||
return [self.output pan];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (SInt64)totalFrames
|
||||
{
|
||||
return [self.audioFile totalFrames];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (float)volume
|
||||
{
|
||||
return [self.output volume];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Setters
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setAudioFile:(EZAudioFile *)audioFile
|
||||
{
|
||||
_audioFile = [audioFile copy];
|
||||
_audioFile.delegate = self;
|
||||
AudioStreamBasicDescription inputFormat = _audioFile.clientFormat;
|
||||
[self.output setInputFormat:inputFormat];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidChangeAudioFileNotification
|
||||
object:self];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setCurrentTime:(NSTimeInterval)currentTime
|
||||
{
|
||||
[self.audioFile setCurrentTime:currentTime];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidSeekNotification
|
||||
object:self];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setDevice:(EZAudioDevice *)device
|
||||
{
|
||||
[self.output setDevice:device];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setOutput:(EZOutput *)output
|
||||
{
|
||||
_output = output;
|
||||
_output.dataSource = self;
|
||||
_output.delegate = self;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setPan:(float)pan
|
||||
{
|
||||
[self.output setPan:pan];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidChangePanNotification
|
||||
object:self];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setVolume:(float)volume
|
||||
{
|
||||
[self.output setVolume:volume];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidChangeVolumeNotification
|
||||
object:self];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Actions
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)play
|
||||
{
|
||||
[self.output startPlayback];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)playAudioFile:(EZAudioFile *)audioFile
|
||||
{
|
||||
//
|
||||
// stop playing anything that might currently be playing
|
||||
//
|
||||
[self pause];
|
||||
|
||||
//
|
||||
// set new stream
|
||||
//
|
||||
self.audioFile = audioFile;
|
||||
|
||||
//
|
||||
// begin playback
|
||||
//
|
||||
[self play];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)pause
|
||||
{
|
||||
[self.output stopPlayback];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)seekToFrame:(SInt64)frame
|
||||
{
|
||||
[self.audioFile seekToFrame:frame];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidSeekNotification
|
||||
object:self];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZOutputDataSource
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (OSStatus) output:(EZOutput *)output
|
||||
shouldFillAudioBufferList:(AudioBufferList *)audioBufferList
|
||||
withNumberOfFrames:(UInt32)frames
|
||||
timestamp:(const AudioTimeStamp *)timestamp
|
||||
{
|
||||
if (self.audioFile)
|
||||
{
|
||||
UInt32 bufferSize;
|
||||
BOOL eof;
|
||||
[self.audioFile readFrames:frames
|
||||
audioBufferList:audioBufferList
|
||||
bufferSize:&bufferSize
|
||||
eof:&eof];
|
||||
if (eof && self.shouldLoop)
|
||||
{
|
||||
[self seekToFrame:0];
|
||||
}
|
||||
else if (eof)
|
||||
{
|
||||
[self pause];
|
||||
[self seekToFrame:0];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidReachEndOfFileNotification
|
||||
object:self];
|
||||
}
|
||||
}
|
||||
return noErr;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZAudioFileDelegate
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)audioFile:(EZAudioFile *)audioFile updatedPosition:(SInt64)framePosition
|
||||
{
|
||||
if ([self.delegate respondsToSelector:@selector(audioPlayer:updatedPosition:inAudioFile:)])
|
||||
{
|
||||
[self.delegate audioPlayer:self
|
||||
updatedPosition:framePosition
|
||||
inAudioFile:audioFile];
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZOutputDelegate
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)output:(EZOutput *)output changedDevice:(EZAudioDevice *)device
|
||||
{
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidChangeOutputDeviceNotification
|
||||
object:self];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)output:(EZOutput *)output changedPlayingState:(BOOL)isPlaying
|
||||
{
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:EZAudioPlayerDidChangePlayStateNotification
|
||||
object:self];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void) output:(EZOutput *)output
|
||||
playedAudio:(float **)buffer
|
||||
withBufferSize:(UInt32)bufferSize
|
||||
withNumberOfChannels:(UInt32)numberOfChannels
|
||||
{
|
||||
if ([self.delegate respondsToSelector:@selector(audioPlayer:playedAudio:withBufferSize:withNumberOfChannels:inAudioFile:)])
|
||||
{
|
||||
[self.delegate audioPlayer:self
|
||||
playedAudio:buffer
|
||||
withBufferSize:bufferSize
|
||||
withNumberOfChannels:numberOfChannels
|
||||
inAudioFile:self.audioFile];
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@end
|
||||
@@ -25,25 +25,33 @@
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#pragma mark - 3rd Party Utilties
|
||||
#import "TPCircularBuffer.h"
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Core Components
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#import "EZAudioDevice.h"
|
||||
#import "EZAudioFile.h"
|
||||
#import "EZAudioFloatData.h"
|
||||
#import "EZMicrophone.h"
|
||||
#import "EZOutput.h"
|
||||
#import "EZRecorder.h"
|
||||
#import "EZAudioUtilities.h"
|
||||
|
||||
#pragma mark - Extended Components
|
||||
#import "EZAudioPlayer.h"
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Interface Components
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#import "EZPlot.h"
|
||||
#import "EZAudioDisplayLink.h"
|
||||
#import "EZAudioPlot.h"
|
||||
#import "EZAudioPlotGL.h"
|
||||
#import "EZAudioPlotGLKViewController.h"
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Utility Components
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#import "EZAudioFloatConverter.h"
|
||||
#import "EZAudioFloatData.h"
|
||||
#import "EZAudioUtilities.h"
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -24,8 +24,6 @@
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
#import "TargetConditionals.h"
|
||||
#import "EZAudioUtilities.h"
|
||||
#import "EZPlot.h"
|
||||
|
||||
@class EZAudio;
|
||||
@@ -115,16 +113,16 @@ FOUNDATION_EXPORT UInt32 const EZAudioPlotDefaultMaxHistoryBufferLength;
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
The length of the rolling history display. Can grow or shrink the display up to the maximum size specified by the kEZAudioPlotMaxHistoryBufferLength macro. Will return the actual set value, which will be either the given value if smaller than the kEZAudioPlotMaxHistoryBufferLength or kEZAudioPlotMaxHistoryBufferLength if a larger value is attempted to be set.
|
||||
Sets the length of the rolling history buffer (i.e. the number of points in the rolling plot's buffer). Can grow or shrink the display up to the maximum size specified by the `maximumRollingHistoryLength` method. Will return the actual set value, which will be either the given value if smaller than the `maximumRollingHistoryLength` or `maximumRollingHistoryLength` if a larger value is attempted to be set.
|
||||
@param historyLength The new length of the rolling history buffer.
|
||||
@return The new value equal to the historyLength or the kEZAudioPlotMaxHistoryBufferLength.
|
||||
@return The new value equal to the historyLength or the `maximumRollingHistoryLength`.
|
||||
*/
|
||||
-(int)setRollingHistoryLength:(int)historyLength;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the length of the rolling history buffer
|
||||
Provides the length of the rolling history buffer (i.e. the number of points in the rolling plot's buffer).
|
||||
* @return An int representing the length of the rolling history buffer
|
||||
*/
|
||||
-(int)rollingHistoryLength;
|
||||
@@ -187,8 +185,7 @@ FOUNDATION_EXPORT UInt32 const EZAudioPlotDefaultMaxHistoryBufferLength;
|
||||
@param data A float array of the sample data. Subclasses should copy this data to a separate array to avoid threading issues.
|
||||
@param length The length of the float array as an int.
|
||||
*/
|
||||
-(void)setSampleData:(float *)data
|
||||
length:(int)length;
|
||||
-(void)setSampleData:(float *)data length:(int)length;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -41,9 +41,9 @@ UInt32 const EZAudioPlotDefaultMaxHistoryBufferLength = 8192;
|
||||
|
||||
@interface EZAudioPlot () <EZAudioDisplayLinkDelegate>
|
||||
@property (nonatomic, strong) EZAudioDisplayLink *displayLink;
|
||||
@property (nonatomic, assign) EZPlotHistoryInfo *historyInfo;
|
||||
@property (nonatomic, assign) CGPoint *points;
|
||||
@property (nonatomic, assign) UInt32 pointCount;
|
||||
@property (nonatomic, assign) EZPlotHistoryInfo *historyInfo;
|
||||
@property (nonatomic, assign) CGPoint *points;
|
||||
@property (nonatomic, assign) UInt32 pointCount;
|
||||
@end
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -0,0 +1,221 @@
|
||||
//
|
||||
// EZAudioPlotGL.h
|
||||
// EZAudio
|
||||
//
|
||||
// Created by Syed Haris Ali on 11/22/13.
|
||||
// Copyright (c) 2015 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import <GLKit/GLKit.h>
|
||||
#import "EZPlot.h"
|
||||
#if !TARGET_OS_IPHONE
|
||||
#import <OpenGL/OpenGL.h>
|
||||
#endif
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Data Structures
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GLfloat x;
|
||||
GLfloat y;
|
||||
} EZAudioPlotGLPoint;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZAudioPlotGL
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
EZAudioPlotGL is a subclass of either a GLKView on iOS or an NSOpenGLView on OSX. As of 0.6.0 this class no longer depends on an embedded GLKViewController for iOS as the display link is just manually managed within this single view instead. The EZAudioPlotGL provides the same kind of audio plot as the EZAudioPlot, but uses OpenGL to GPU-accelerate the drawing of the points, which means you can fit a lot more points and complex geometries.
|
||||
*/
|
||||
#if TARGET_OS_IPHONE
|
||||
@interface EZAudioPlotGL : GLKView
|
||||
#elif TARGET_OS_MAC
|
||||
@interface EZAudioPlotGL : NSOpenGLView
|
||||
#endif
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Properties
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Customizing The Plot's Appearance
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
The default background color of the plot. For iOS the color is specified as a UIColor while for OSX the color is an NSColor. The default value on both platforms is a sweet looking green.
|
||||
@warning On OSX, if you set the background to a value where the alpha component is 0 then the EZAudioPlotGL will automatically set its superview to be layer-backed.
|
||||
*/
|
||||
@property (nonatomic, strong) id backgroundColor;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
The default color of the plot's data (i.e. waveform, y-axis values). For iOS the color is specified as a UIColor while for OSX the color is an NSColor. The default value on both platforms is white.
|
||||
*/
|
||||
@property (nonatomic, strong) id color;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
The plot's gain value, which controls the scale of the y-axis values. The default value of the gain is 1.0f and should always be greater than 0.0f.
|
||||
*/
|
||||
@property (nonatomic, assign) float gain;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
The type of plot as specified by the `EZPlotType` enumeration (i.e. a buffer or rolling plot type). Default is EZPlotTypeBuffer.
|
||||
*/
|
||||
@property (nonatomic, assign) EZPlotType plotType;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
A BOOL indicating whether or not to fill in the graph. A value of YES will make a filled graph (filling in the space between the x-axis and the y-value), while a value of NO will create a stroked graph (connecting the points along the y-axis). Default is NO.
|
||||
*/
|
||||
@property (nonatomic, assign) BOOL shouldFill;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
A boolean indicating whether the graph should be rotated along the x-axis to give a mirrored reflection. This is typical for audio plots to produce the classic waveform look. A value of YES will produce a mirrored reflection of the y-values about the x-axis, while a value of NO will only plot the y-values. Default is NO.
|
||||
*/
|
||||
@property (nonatomic, assign) BOOL shouldMirror;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Updating The Plot
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Updating The Plot
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Updates the plot with the new buffer data and tells the view to redraw itself. Caller will provide a float array with the values they expect to see on the y-axis. The plot will internally handle mapping the x-axis and y-axis to the current view port, any interpolation for fills effects, and mirroring.
|
||||
@param buffer A float array of values to map to the y-axis.
|
||||
@param bufferSize The size of the float array that will be mapped to the y-axis.
|
||||
*/
|
||||
-(void)updateBuffer:(float *)buffer withBufferSize:(UInt32)bufferSize;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Adjust Resolution
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Adjusting The Resolution
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Sets the length of the rolling history buffer (i.e. the number of points in the rolling plot's buffer). Can grow or shrink the display up to the maximum size specified by the `maximumRollingHistoryLength` method. Will return the actual set value, which will be either the given value if smaller than the `maximumRollingHistoryLength` or `maximumRollingHistoryLength` if a larger value is attempted to be set.
|
||||
@param historyLength The new length of the rolling history buffer.
|
||||
@return The new value equal to the historyLength or the `maximumRollingHistoryLength`.
|
||||
*/
|
||||
-(int)setRollingHistoryLength:(int)historyLength;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the length of the rolling history buffer (i.e. the number of points in the rolling plot's buffer).
|
||||
* @return An int representing the length of the rolling history buffer
|
||||
*/
|
||||
-(int)rollingHistoryLength;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Clearing The Plot
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Clearing The Plot
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Clears all data from the audio plot (includes both EZPlotTypeBuffer and EZPlotTypeRolling)
|
||||
*/
|
||||
-(void)clear;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Start/Stop Display Link
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Call this method to tell the EZAudioDisplayLink to stop drawing temporarily.
|
||||
*/
|
||||
- (void)pauseDrawing;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Call this method to manually tell the EZAudioDisplayLink to start drawing again.
|
||||
*/
|
||||
- (void)resumeDrawing;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Subclass
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Customizing The Drawing
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
This method is used to perform the actual OpenGL drawing code to clear the background and draw the lines representing the 2D audio plot. Subclasses can use the current implementation as an example and implement their own custom geometries. This is the analogy of overriding the drawRect: method in an NSView or UIView.
|
||||
@param points An array of EZAudioPlotGLPoint structures representing the mapped audio data to x,y coordinates. The x-axis goes from 0 to the number of points (pointCount) while the y-axis goes from -1 to 1. Check out the implementation of this method to see how the model view matrix of the base effect is transformed to map this properly to the viewport.
|
||||
@param pointCount A UInt32 representing the number of points contained in the points array.
|
||||
@param baseEffect An optional GLKBaseEffect to use as a default shader. Call prepareToDraw on the base effect before any glDrawArrays call.
|
||||
@param vbo The Vertex Buffer Object used to buffer the point data.
|
||||
@param vab The Vertex Array Buffer used to bind the Vertex Buffer Object. This is a Mac only thing, you can ignore this completely on iOS.
|
||||
@param interpolated A BOOL indicating whether the data has been interpolated. This means the point data is twice as long, where every other point is 0 on the y-axis to allow drawing triangle stripes for filled in waveforms. Typically if the point data is interpolated you will be using the GL_TRIANGLE_STRIP drawing mode, while non-interpolated plots will just use a GL_LINE_STRIP drawing mode.
|
||||
@param mirrored A BOOL indicating whether the plot should be mirrored about the y-axis (or whatever geometry you come up with).
|
||||
@param gain A float representing a gain that should be used to influence the height or intensity of your geometry's shape. A gain of 0.0 means silence, a gain of 1.0 means full volume (you're welcome to boost this to whatever you want).
|
||||
*/
|
||||
- (void)redrawWithPoints:(EZAudioPlotGLPoint *)points
|
||||
pointCount:(UInt32)pointCount
|
||||
baseEffect:(GLKBaseEffect *)baseEffect
|
||||
vertexBufferObject:(GLuint)vbo
|
||||
vertexArrayBuffer:(GLuint)vab
|
||||
interpolated:(BOOL)interpolated
|
||||
mirrored:(BOOL)mirrored
|
||||
gain:(float)gain;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Subclass Methods
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the default length of the rolling history buffer when the plot is initialized. Default is `EZAudioPlotDefaultHistoryBufferLength` constant.
|
||||
@return An int describing the initial length of the rolling history buffer.
|
||||
*/
|
||||
- (int)defaultRollingHistoryLength;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the default maximum rolling history length - that is, the maximum amount of points the `setRollingHistoryLength:` method may be set to. If a length higher than this is set then the plot will likely crash because the appropriate resources are only allocated once during the plot's initialization step. Defualt is `EZAudioPlotDefaultMaxHistoryBufferLength` constant.
|
||||
@return An int describing the maximum length of the absolute rolling history buffer.
|
||||
*/
|
||||
- (int)maximumRollingHistoryLength;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,533 @@
|
||||
//
|
||||
// EZAudioPlotGL.m
|
||||
// EZAudio
|
||||
//
|
||||
// Created by Syed Haris Ali on 11/22/13.
|
||||
// Copyright (c) 2015 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import "EZAudioPlotGL.h"
|
||||
#import "EZAudioDisplayLink.h"
|
||||
#import "EZAudioUtilities.h"
|
||||
#import "EZAudioPlot.h"
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Data Structures
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
typedef struct
|
||||
{
|
||||
BOOL interpolated;
|
||||
EZPlotHistoryInfo *historyInfo;
|
||||
EZAudioPlotGLPoint *points;
|
||||
UInt32 pointCount;
|
||||
GLuint vbo;
|
||||
GLuint vab;
|
||||
} EZAudioPlotGLInfo;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZAudioPlotGL (Interface Extension)
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@interface EZAudioPlotGL () <EZAudioDisplayLinkDelegate>
|
||||
@property (nonatomic, strong) GLKBaseEffect *baseEffect;
|
||||
@property (nonatomic, strong) EZAudioDisplayLink *displayLink;
|
||||
@property (nonatomic, assign) EZAudioPlotGLInfo *info;
|
||||
@end
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZAudioPlotGL (Implementation)
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@implementation EZAudioPlotGL
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Dealloc
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
[self.displayLink stop];
|
||||
self.displayLink = nil;
|
||||
[EZAudioUtilities freeHistoryInfo:self.info->historyInfo];
|
||||
#if !TARGET_OS_IPHONE
|
||||
glDeleteVertexArrays(1, &self.info->vab);
|
||||
#endif
|
||||
glDeleteBuffers(1, &self.info->vbo);
|
||||
free(self.info->points);
|
||||
free(self.info);
|
||||
self.baseEffect = nil;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Initialization
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
self = [super init];
|
||||
if (self)
|
||||
{
|
||||
[self setup];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (id)initWithCoder:(NSCoder *)aDecoder
|
||||
{
|
||||
self = [super initWithCoder:aDecoder];
|
||||
if (self)
|
||||
{
|
||||
[self setup];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (instancetype)initWithFrame:(EZRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self)
|
||||
{
|
||||
[self setup];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
context:(EAGLContext *)context
|
||||
{
|
||||
self = [super initWithFrame:frame context:context];
|
||||
if (self)
|
||||
{
|
||||
[self setup];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
#elif TARGET_OS_MAC
|
||||
- (instancetype)initWithFrame:(NSRect)frameRect
|
||||
pixelFormat:(NSOpenGLPixelFormat *)format
|
||||
{
|
||||
self = [super initWithFrame:frameRect pixelFormat:format];
|
||||
if (self)
|
||||
{
|
||||
[self setup];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
#endif
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Setup
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setup
|
||||
{
|
||||
//
|
||||
// Setup info data structure
|
||||
//
|
||||
self.info = (EZAudioPlotGLInfo *)malloc(sizeof(EZAudioPlotGLInfo));
|
||||
memset(self.info, 0, sizeof(EZAudioPlotGLInfo));
|
||||
|
||||
//
|
||||
// Create points array
|
||||
//
|
||||
UInt32 pointCount = [self maximumRollingHistoryLength];
|
||||
self.info->points = (EZAudioPlotGLPoint *)calloc(sizeof(EZAudioPlotGLPoint), pointCount);
|
||||
self.info->pointCount = pointCount;
|
||||
|
||||
//
|
||||
// Create the history data structure to hold the rolling data
|
||||
//
|
||||
self.info->historyInfo = [EZAudioUtilities historyInfoWithDefaultLength:[self defaultRollingHistoryLength]
|
||||
maximumLength:[self maximumRollingHistoryLength]];
|
||||
|
||||
//
|
||||
// Setup OpenGL specific stuff
|
||||
//
|
||||
[self setupOpenGL];
|
||||
|
||||
//
|
||||
// Setup view properties
|
||||
//
|
||||
self.gain = 1.0f;
|
||||
#if TARGET_OS_IPHONE
|
||||
self.backgroundColor = [UIColor colorWithRed:0.569f green:0.82f blue:0.478f alpha:1.0f];
|
||||
self.color = [UIColor colorWithRed:1.0f green:1.0f blue:1.0f alpha:1.0f];
|
||||
#elif TARGET_OS_MAC
|
||||
self.backgroundColor = [NSColor colorWithCalibratedRed:0.569f green:0.82f blue:0.478f alpha:1.0f];
|
||||
self.color = [NSColor colorWithCalibratedRed:1.0f green:1.0f blue:1.0f alpha:1.0f];
|
||||
#endif
|
||||
|
||||
//
|
||||
// Create the display link
|
||||
//
|
||||
self.displayLink = [EZAudioDisplayLink displayLinkWithDelegate:self];
|
||||
[self.displayLink start];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setupOpenGL
|
||||
{
|
||||
self.baseEffect = [[GLKBaseEffect alloc] init];
|
||||
self.baseEffect.useConstantColor = YES;
|
||||
#if TARGET_OS_IPHONE
|
||||
if (!self.context)
|
||||
{
|
||||
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
|
||||
}
|
||||
[EAGLContext setCurrentContext:self.context];
|
||||
self.drawableColorFormat = GLKViewDrawableColorFormatRGBA8888;
|
||||
self.drawableDepthFormat = GLKViewDrawableDepthFormat24;
|
||||
self.drawableStencilFormat = GLKViewDrawableStencilFormat8;
|
||||
self.drawableMultisample = GLKViewDrawableMultisample4X;
|
||||
self.opaque = NO;
|
||||
self.enableSetNeedsDisplay = NO;
|
||||
#elif TARGET_OS_MAC
|
||||
self.wantsBestResolutionOpenGLSurface = YES;
|
||||
self.wantsLayer = YES;
|
||||
self.layer.opaque = YES;
|
||||
self.layer.backgroundColor = [NSColor clearColor].CGColor;
|
||||
if (!self.pixelFormat)
|
||||
{
|
||||
NSOpenGLPixelFormatAttribute attrs[] =
|
||||
{
|
||||
NSOpenGLPFADoubleBuffer,
|
||||
NSOpenGLPFAMultisample,
|
||||
NSOpenGLPFASampleBuffers, 1,
|
||||
NSOpenGLPFASamples, 4,
|
||||
NSOpenGLPFADepthSize, 24,
|
||||
NSOpenGLPFAOpenGLProfile,
|
||||
NSOpenGLProfileVersion3_2Core, 0
|
||||
};
|
||||
self.pixelFormat = [[NSOpenGLPixelFormat alloc] initWithAttributes:attrs];
|
||||
}
|
||||
#if DEBUG
|
||||
NSAssert(self.pixelFormat, @"Could not create OpenGL pixel format so context is not valid");
|
||||
#endif
|
||||
self.openGLContext = [[NSOpenGLContext alloc] initWithFormat:self.pixelFormat
|
||||
shareContext:nil];
|
||||
GLint swapInt = 1; GLint surfaceOpacity = 0;
|
||||
[self.openGLContext setValues:&swapInt forParameter:NSOpenGLCPSwapInterval];
|
||||
[self.openGLContext setValues:&surfaceOpacity forParameter:NSOpenGLCPSurfaceOpacity];
|
||||
[self.openGLContext lock];
|
||||
glGenVertexArrays(1, &self.info->vab);
|
||||
glBindVertexArray(self.info->vab);
|
||||
#endif
|
||||
glGenBuffers(1, &self.info->vbo);
|
||||
glBindBuffer(GL_ARRAY_BUFFER, self.info->vbo);
|
||||
glBufferData(GL_ARRAY_BUFFER,
|
||||
self.info->pointCount * sizeof(EZAudioPlotGLPoint),
|
||||
self.info->points,
|
||||
GL_STREAM_DRAW);
|
||||
#if !TARGET_OS_IPHONE
|
||||
[self.openGLContext unlock];
|
||||
#endif
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Updating The Plot
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)updateBuffer:(float *)buffer withBufferSize:(UInt32)bufferSize
|
||||
{
|
||||
//
|
||||
// Update history
|
||||
//
|
||||
[EZAudioUtilities appendBuffer:buffer
|
||||
withBufferSize:bufferSize
|
||||
toHistoryInfo:self.info->historyInfo];
|
||||
|
||||
//
|
||||
// Convert this data to point data
|
||||
//
|
||||
switch (self.plotType)
|
||||
{
|
||||
case EZPlotTypeBuffer:
|
||||
[self setSampleData:buffer
|
||||
length:bufferSize];
|
||||
break;
|
||||
case EZPlotTypeRolling:
|
||||
[self setSampleData:self.info->historyInfo->buffer
|
||||
length:self.info->historyInfo->bufferSize];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setSampleData:(float *)data length:(int)length
|
||||
{
|
||||
int pointCount = self.shouldFill ? length * 2 : length;
|
||||
EZAudioPlotGLPoint *points = self.info->points;
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
if (self.shouldFill)
|
||||
{
|
||||
points[i * 2].x = points[i * 2 + 1].x = i;
|
||||
points[i * 2].y = data[i];
|
||||
points[i * 2 + 1].y = 0.0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
points[i].x = i;
|
||||
points[i].y = data[i];
|
||||
}
|
||||
}
|
||||
points[0].y = points[pointCount - 1].y = 0.0f;
|
||||
self.info->pointCount = pointCount;
|
||||
self.info->interpolated = self.shouldFill;
|
||||
#if !TARGET_OS_IPHONE
|
||||
[self.openGLContext lock];
|
||||
glBindVertexArray(self.info->vab);
|
||||
#endif
|
||||
glBindBuffer(GL_ARRAY_BUFFER, self.info->vbo);
|
||||
glBufferSubData(GL_ARRAY_BUFFER,
|
||||
0,
|
||||
pointCount * sizeof(EZAudioPlotGLPoint),
|
||||
self.info->points);
|
||||
#if !TARGET_OS_IPHONE
|
||||
[self.openGLContext unlock];
|
||||
#endif
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Adjusting History Resolution
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (int)rollingHistoryLength
|
||||
{
|
||||
return self.info->historyInfo->bufferSize;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (int)setRollingHistoryLength:(int)historyLength
|
||||
{
|
||||
self.info->historyInfo->bufferSize = MIN(EZAudioPlotDefaultMaxHistoryBufferLength, historyLength);
|
||||
return self.info->historyInfo->bufferSize;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Clearing The Plot
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)clear
|
||||
{
|
||||
float emptyBuffer[1];
|
||||
emptyBuffer[0] = 0.0f;
|
||||
[self setSampleData:emptyBuffer length:1];
|
||||
[EZAudioUtilities clearHistoryInfo:self.info->historyInfo];
|
||||
#if TARGET_OS_IPHONE
|
||||
[self display];
|
||||
#elif TARGET_OS_MAC
|
||||
[self redraw];
|
||||
#endif
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Start/Stop Display Link
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)pauseDrawing
|
||||
{
|
||||
[self.displayLink stop];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)resumeDrawing
|
||||
{
|
||||
[self.displayLink start];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Setters
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setBackgroundColor:(id)backgroundColor
|
||||
{
|
||||
_backgroundColor = backgroundColor;
|
||||
if (backgroundColor)
|
||||
{
|
||||
CGColorRef colorRef = [backgroundColor CGColor];
|
||||
CGFloat red; CGFloat green; CGFloat blue; CGFloat alpha;
|
||||
[EZAudioUtilities getColorComponentsFromCGColor:colorRef
|
||||
red:&red
|
||||
green:&green
|
||||
blue:&blue
|
||||
alpha:&alpha];
|
||||
//
|
||||
// Note! If you set the alpha to be 0 on mac for a transparent view
|
||||
// the EZAudioPlotGL will make the superview layer-backed to make
|
||||
// sure there is a surface to display itself on (or else you will get
|
||||
// some pretty weird drawing glitches
|
||||
//
|
||||
#if !TARGET_OS_IPHONE
|
||||
if (alpha == 0.0f)
|
||||
{
|
||||
[self.superview setWantsLayer:YES];
|
||||
}
|
||||
#endif
|
||||
glClearColor(red, green, blue, alpha);
|
||||
}
|
||||
else
|
||||
{
|
||||
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setColor:(id)color
|
||||
{
|
||||
_color = color;
|
||||
if (color)
|
||||
{
|
||||
CGColorRef colorRef = [color CGColor];
|
||||
CGFloat red; CGFloat green; CGFloat blue; CGFloat alpha;
|
||||
[EZAudioUtilities getColorComponentsFromCGColor:colorRef
|
||||
red:&red
|
||||
green:&green
|
||||
blue:&blue
|
||||
alpha:&alpha];
|
||||
self.baseEffect.constantColor = GLKVector4Make(red, green, blue, alpha);
|
||||
}
|
||||
else
|
||||
{
|
||||
self.baseEffect.constantColor = GLKVector4Make(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Drawing
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)drawRect:(EZRect)rect
|
||||
{
|
||||
[self redraw];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)redraw
|
||||
{
|
||||
#if !TARGET_OS_IPHONE
|
||||
[self.openGLContext makeCurrentContext];
|
||||
[self.openGLContext lock];
|
||||
#endif
|
||||
[self redrawWithPoints:self.info->points
|
||||
pointCount:self.info->pointCount
|
||||
baseEffect:self.baseEffect
|
||||
vertexBufferObject:self.info->vbo
|
||||
vertexArrayBuffer:self.info->vab
|
||||
interpolated:self.info->interpolated
|
||||
mirrored:self.shouldMirror
|
||||
gain:self.gain];
|
||||
#if !TARGET_OS_IPHONE
|
||||
[self.openGLContext flushBuffer];
|
||||
[self.openGLContext unlock];
|
||||
#endif
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)redrawWithPoints:(EZAudioPlotGLPoint *)points
|
||||
pointCount:(UInt32)pointCount
|
||||
baseEffect:(GLKBaseEffect *)baseEffect
|
||||
vertexBufferObject:(GLuint)vbo
|
||||
vertexArrayBuffer:(GLuint)vab
|
||||
interpolated:(BOOL)interpolated
|
||||
mirrored:(BOOL)mirrored
|
||||
gain:(float)gain
|
||||
{
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
GLenum mode = interpolated ? GL_TRIANGLE_STRIP : GL_LINE_STRIP;
|
||||
float interpolatedFactor = interpolated ? 2.0f : 1.0f;
|
||||
float xscale = 2.0f / ((float)pointCount / interpolatedFactor);
|
||||
float yscale = 1.0f * gain;
|
||||
GLKMatrix4 transform = GLKMatrix4MakeTranslation(-1.0f, 0.0f, 0.0f);
|
||||
transform = GLKMatrix4Scale(transform, xscale, yscale, 1.0f);
|
||||
baseEffect.transform.modelviewMatrix = transform;
|
||||
#if !TARGET_OS_IPHONE
|
||||
glBindVertexArray(vab);
|
||||
#endif
|
||||
glBindBuffer(GL_ARRAY_BUFFER, vbo);
|
||||
[baseEffect prepareToDraw];
|
||||
glEnableVertexAttribArray(GLKVertexAttribPosition);
|
||||
glVertexAttribPointer(GLKVertexAttribPosition,
|
||||
2,
|
||||
GL_FLOAT,
|
||||
GL_FALSE,
|
||||
sizeof(EZAudioPlotGLPoint),
|
||||
NULL);
|
||||
glDrawArrays(mode, 0, pointCount);
|
||||
if (mirrored)
|
||||
{
|
||||
baseEffect.transform.modelviewMatrix = GLKMatrix4Rotate(transform, M_PI, 1.0f, 0.0f, 0.0f);
|
||||
[baseEffect prepareToDraw];
|
||||
glDrawArrays(mode, 0, pointCount);
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Subclass
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (int)defaultRollingHistoryLength
|
||||
{
|
||||
return EZAudioPlotDefaultHistoryBufferLength;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (int)maximumRollingHistoryLength
|
||||
{
|
||||
return EZAudioPlotDefaultMaxHistoryBufferLength;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZAudioDisplayLinkDelegate
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)displayLinkNeedsDisplay:(EZAudioDisplayLink *)displayLink
|
||||
{
|
||||
#if TARGET_OS_IPHONE
|
||||
if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateActive)
|
||||
{
|
||||
[self display];
|
||||
}
|
||||
#elif TARGET_OS_MAC
|
||||
[self redraw];
|
||||
#endif
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@end
|
||||
@@ -43,6 +43,7 @@ typedef NS_ENUM(NSInteger, EZPlotType)
|
||||
Plot that displays only the samples of the current buffer
|
||||
*/
|
||||
EZPlotTypeBuffer,
|
||||
|
||||
/**
|
||||
Plot that displays a rolling history of values using the RMS calculated for each incoming buffer
|
||||
*/
|
||||
@@ -25,11 +25,13 @@
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <AudioToolbox/AudioToolbox.h>
|
||||
#import <TargetConditionals.h>
|
||||
#import "TPCircularBuffer.h"
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
#elif TARGET_OS_MAC
|
||||
#import <AppKit/AppKit.h>
|
||||
#endif
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -404,6 +406,28 @@ typedef NSRect EZRect;
|
||||
*/
|
||||
+ (NSString *)stringFromUInt32Code:(UInt32)code;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Color Utility
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Color Utility
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Helper function to get the color components from a CGColorRef in the RGBA colorspace.
|
||||
@param color A CGColorRef that represents a color.
|
||||
@param red A pointer to a CGFloat to hold the value of the red component. This value will be between 0 and 1.
|
||||
@param green A pointer to a CGFloat to hold the value of the green component. This value will be between 0 and 1.
|
||||
@param blue A pointer to a CGFloat to hold the value of the blue component. This value will be between 0 and 1.
|
||||
@param alpha A pointer to a CGFloat to hold the value of the alpha component. This value will be between 0 and 1.
|
||||
*/
|
||||
+ (void)getColorComponentsFromCGColor:(CGColorRef)color
|
||||
red:(CGFloat *)red
|
||||
green:(CGFloat *)green
|
||||
blue:(CGFloat *)blue
|
||||
alpha:(CGFloat *)alpha;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Plot Utility
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -478,6 +502,14 @@ typedef NSRect EZRect;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Zeroes out a EZPlotHistoryInfo data structure without freeing the resources.
|
||||
@param historyInfo A pointer to a EZPlotHistoryInfo data structure
|
||||
*/
|
||||
+ (void)clearHistoryInfo:(EZPlotHistoryInfo *)historyInfo;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
Frees a EZPlotHistoryInfo data structure
|
||||
@param historyInfo A pointer to a EZPlotHistoryInfo data structure
|
||||
@@ -534,6 +534,31 @@ BOOL __shouldExitOnCheckResultFail = YES;
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Color Utility
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Color Utility
|
||||
///-----------------------------------------------------------
|
||||
|
||||
+ (void)getColorComponentsFromCGColor:(CGColorRef)color
|
||||
red:(CGFloat *)red
|
||||
green:(CGFloat *)green
|
||||
blue:(CGFloat *)blue
|
||||
alpha:(CGFloat *)alpha
|
||||
{
|
||||
size_t componentCount = CGColorGetNumberOfComponents(color);
|
||||
if (componentCount == 4)
|
||||
{
|
||||
const CGFloat *components = CGColorGetComponents(color);
|
||||
*red = components[0];
|
||||
*green = components[1];
|
||||
*blue = components[2];
|
||||
*alpha = components[3];
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - TPCircularBuffer Utility
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -591,17 +616,25 @@ BOOL __shouldExitOnCheckResultFail = YES;
|
||||
memmove(historyInfo->buffer, historyBuffer, bytes);
|
||||
if (targetBytes <= availableBytes)
|
||||
{
|
||||
TPCircularBufferConsume(&historyInfo->circularBuffer, sizeof(src));
|
||||
TPCircularBufferConsume(&historyInfo->circularBuffer, availableBytes - targetBytes);
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+ (void)clearHistoryInfo:(EZPlotHistoryInfo *)historyInfo
|
||||
{
|
||||
memset(historyInfo->buffer, 0, historyInfo->bufferSize * sizeof(float));
|
||||
TPCircularBufferClear(&historyInfo->circularBuffer);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+ (void)freeHistoryInfo:(EZPlotHistoryInfo *)historyInfo
|
||||
{
|
||||
free(historyInfo->buffer);
|
||||
free(historyInfo);
|
||||
TPCircularBufferClear(&historyInfo->circularBuffer);
|
||||
TPCircularBufferCleanup(&historyInfo->circularBuffer);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
+25
-16
@@ -1,18 +1,27 @@
|
||||
Pod::Spec.new do |s|
|
||||
s.name = "EZAudio"
|
||||
s.version = "0.4.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.1"
|
||||
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
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "group:OSX/EZAudio.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:iOS/EZAudio.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@@ -1,301 +0,0 @@
|
||||
//
|
||||
// EZAudioPlayer.h
|
||||
// EZAudio
|
||||
//
|
||||
// Created by Syed Haris Ali on 1/16/14.
|
||||
// Copyright (c) 2014 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "TargetConditionals.h"
|
||||
#import "EZAudioFile.h"
|
||||
#import "EZOutput.h"
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#elif TARGET_OS_MAC
|
||||
#endif
|
||||
|
||||
@class EZAudioPlayer;
|
||||
|
||||
|
||||
/**
|
||||
The EZAudioPlayerDelegate provides event callbacks for the EZAudioPlayer. These type of events are triggered by changes in the EZAudioPlayer's state and allow someone implementing the EZAudioPlayer to more easily update their user interface. Events are triggered anytime the EZAudioPlayer resumes/pauses playback, reaches the end of the file, reads audio data and converts it to float data visualizations (using the EZAudioFile), and updates its cursor position within the audio file during playback (use this for the play position on a slider on the user interface).
|
||||
@warning These callbacks don't necessarily occur on the main thread so make sure you wrap any UI code in a GCD block like: dispatch_async(dispatch_get_main_queue(), ^{ // Update UI });
|
||||
*/
|
||||
@protocol EZAudioPlayerDelegate <NSObject>
|
||||
|
||||
@optional
|
||||
/**
|
||||
Triggered by the EZAudioPlayer when the playback has been resumed or started.
|
||||
@param audioPlayer The instance of the EZAudioPlayer that triggered the event
|
||||
@param audioFile The instance of the EZAudioFile that the event was triggered from
|
||||
*/
|
||||
-(void)audioPlayer:(EZAudioPlayer*)audioPlayer didResumePlaybackOnAudioFile:(EZAudioFile*)audioFile;
|
||||
|
||||
/**
|
||||
Triggered by the EZAudioPlayer when the playback has been paused.
|
||||
@param audioPlayer The instance of the EZAudioPlayer that triggered the event
|
||||
@param audioFile The instance of the EZAudioFile that the event was triggered from
|
||||
*/
|
||||
-(void)audioPlayer:(EZAudioPlayer*)audioPlayer didPausePlaybackOnAudioFile:(EZAudioFile*)audioFile;
|
||||
|
||||
/**
|
||||
Triggered by the EZAudioPlayer when the output has reached the end of the EZAudioFile it's playing. If the EZAudioPlayer has its `shouldLoop` property set to true this will trigger, but playback will continue to loop once its hit the end of the audio file.
|
||||
@param audioPlayer The instance of the EZAudioPlayer that triggered the event
|
||||
@param audioFile The instance of the EZAudioFile that the event was triggered from
|
||||
*/
|
||||
-(void)audioPlayer:(EZAudioPlayer*)audioPlayer reachedEndOfAudioFile:(EZAudioFile*)audioFile;
|
||||
|
||||
/**
|
||||
Triggered by the EZAudioPlayer's internal EZAudioFile's EZAudioFileDelegate callback and notifies the delegate of the read audio data as a float array instead of a buffer list. Common use case of this would be to visualize the float data using an audio plot or audio data dependent OpenGL sketch.
|
||||
@param audioPlayer The instance of the EZAudioPlayer that triggered the event
|
||||
@param buffer A float array of float arrays holding the audio data. buffer[0] would be the left channel's float array while buffer[1] would be the right channel's float array in a stereo file.
|
||||
@param bufferSize The length of the buffers float arrays
|
||||
@param numberOfChannels The number of channels. 2 for stereo, 1 for mono.
|
||||
@param audioFile The instance of the EZAudioFile that the event was triggered from
|
||||
*/
|
||||
-(void) audioPlayer:(EZAudioPlayer*)audioPlayer
|
||||
readAudio:(float**)buffer
|
||||
withBufferSize:(UInt32)bufferSize
|
||||
withNumberOfChannels:(UInt32)numberOfChannels
|
||||
inAudioFile:(EZAudioFile*)audioFile;;
|
||||
|
||||
/**
|
||||
Triggered by EZAudioPlayer's internal EZAudioFile's EZAudioFileDelegate callback and notifies the delegate of the current playback position. The framePosition provides the current frame position and can be calculated against the EZAudioPlayer's total frames using the `totalFrames` function from the EZAudioPlayer.
|
||||
@param audioPlayer The instance of the EZAudioPlayer that triggered the event
|
||||
@param framePosition The new frame index as a 64-bit signed integer
|
||||
@param audioFile The instance of the EZAudioFile that the event was triggered from
|
||||
*/
|
||||
-(void)audioPlayer:(EZAudioPlayer*)audioPlayer
|
||||
updatedPosition:(SInt64)framePosition
|
||||
inAudioFile:(EZAudioFile*)audioFile;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
The EZAudioPlayer acts as the master delegate (the EZAudioFileDelegate) over whatever EZAudioFile it is using for playback. Classes that want to get the EZAudioFileDelegate callbacks should implement the EZAudioPlayer's EZAudioPlayerDelegate on the EZAudioPlayer instance.
|
||||
*/
|
||||
@interface EZAudioPlayer : NSObject
|
||||
|
||||
#pragma mark - Properties
|
||||
///-----------------------------------------------------------
|
||||
/// @name Properties
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
The EZAudioPlayerDelegate that will handle the audio player callbacks
|
||||
*/
|
||||
@property (nonatomic,assign) id<EZAudioPlayerDelegate> audioPlayerDelegate;
|
||||
|
||||
/**
|
||||
A BOOL indicating whether the player should loop the file
|
||||
*/
|
||||
@property (nonatomic,assign) BOOL shouldLoop;
|
||||
|
||||
#pragma mark - Initializers
|
||||
///-----------------------------------------------------------
|
||||
/// @name Initializers
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Initializes the EZAudioPlayer with an EZAudioFile instance. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
|
||||
@param audioFile The instance of the EZAudioFile to use for initializing the EZAudioPlayer
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
-(EZAudioPlayer*)initWithEZAudioFile:(EZAudioFile*)audioFile;
|
||||
|
||||
/**
|
||||
Initializes the EZAudioPlayer with an EZAudioFile instance and provides a way to assign the EZAudioPlayerDelegate on instantiation. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
|
||||
@param audioFile The instance of the EZAudioFile to use for initializing the EZAudioPlayer
|
||||
@param audioPlayerDelegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the initWithEZAudioFile: function instead.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
-(EZAudioPlayer*)initWithEZAudioFile:(EZAudioFile*)audioFile
|
||||
withDelegate:(id<EZAudioPlayerDelegate>)audioPlayerDelegate;
|
||||
|
||||
/**
|
||||
Initializes the EZAudioPlayer with an NSURL instance representing the file path of the audio file.
|
||||
@param url The NSURL instance representing the file path of the audio file.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
-(EZAudioPlayer*)initWithURL:(NSURL*)url;
|
||||
|
||||
/**
|
||||
Initializes the EZAudioPlayer with an NSURL instance representing the file path of the audio file and a caller to assign as the EZAudioPlayerDelegate on instantiation.
|
||||
@param url The NSURL instance representing the file path of the audio file.
|
||||
@param audioPlayerDelegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the initWithEZAudioFile: function instead.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
-(EZAudioPlayer*)initWithURL:(NSURL*)url
|
||||
withDelegate:(id<EZAudioPlayerDelegate>)audioPlayerDelegate;
|
||||
|
||||
|
||||
#pragma mark - Class Initializers
|
||||
///-----------------------------------------------------------
|
||||
/// @name Class Initializers
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Class initializer that initializes the EZAudioPlayer with an EZAudioFile instance. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
|
||||
@param audioFile The instance of the EZAudioFile to use for initializing the EZAudioPlayer
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
+(EZAudioPlayer*)audioPlayerWithEZAudioFile:(EZAudioFile*)audioFile;
|
||||
|
||||
/**
|
||||
Class initializer that initializes the EZAudioPlayer with an EZAudioFile instance and provides a way to assign the EZAudioPlayerDelegate on instantiation. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
|
||||
@param audioFile The instance of the EZAudioFile to use for initializing the EZAudioPlayer
|
||||
@param audioPlayerDelegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the audioPlayerWithEZAudioFile: function instead.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
+(EZAudioPlayer*)audioPlayerWithEZAudioFile:(EZAudioFile*)audioFile
|
||||
withDelegate:(id<EZAudioPlayerDelegate>)audioPlayerDelegate;
|
||||
|
||||
/**
|
||||
Class initializer that initializes the EZAudioPlayer with an NSURL instance representing the file path of the audio file.
|
||||
@param url The NSURL instance representing the file path of the audio file.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
+(EZAudioPlayer*)audioPlayerWithURL:(NSURL*)url;
|
||||
|
||||
/**
|
||||
Class initializer that initializes the EZAudioPlayer with an NSURL instance representing the file path of the audio file and a caller to assign as the EZAudioPlayerDelegate on instantiation.
|
||||
@param url The NSURL instance representing the file path of the audio file.
|
||||
@param audioPlayerDelegate The receiver that will act as the EZAudioPlayerDelegate. Set to nil if it should have no delegate or use the audioPlayerWithURL: function instead.
|
||||
@return The newly created instance of the EZAudioPlayer
|
||||
*/
|
||||
+(EZAudioPlayer*)audioPlayerWithURL:(NSURL*)url
|
||||
withDelegate:(id<EZAudioPlayerDelegate>)audioPlayerDelegate;
|
||||
|
||||
#pragma mark - Singleton
|
||||
///-----------------------------------------------------------
|
||||
/// @name Shared Instance
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
The shared instance (singleton) of the audio player. Most applications will only have one instance of the EZAudioPlayer that can be reused with multiple different audio files.
|
||||
* @return The shared instance of the EZAudioPlayer.
|
||||
*/
|
||||
+(EZAudioPlayer*)sharedAudioPlayer;
|
||||
|
||||
#pragma mark - Getters
|
||||
///-----------------------------------------------------------
|
||||
/// @name Getting The Audio Player's Properties
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Provides the EZAudioFile instance that is being used as the datasource for playback.
|
||||
@return The EZAudioFile instance that is currently being used for playback.
|
||||
*/
|
||||
-(EZAudioFile*)audioFile;
|
||||
|
||||
/**
|
||||
Provides the current time (a.k.a. the seek position) in seconds within the audio file that's being used for playback. This can be helpful when displaying the audio player's current time over duration.
|
||||
@return A float representing the current time within the audio file used for playback.
|
||||
*/
|
||||
-(float)currentTime;
|
||||
|
||||
/**
|
||||
Provides a flag indicating whether the EZAudioPlayer has reached the end of the audio file used for playback.
|
||||
@return A BOOL indicating whether or not the EZAudioPlayer has reached the end of the file it is using for playback.
|
||||
*/
|
||||
-(BOOL)endOfFile;
|
||||
|
||||
/**
|
||||
Provides the frame index (a.k.a the seek positon) within the audio file being used for playback. This can be helpful when seeking through the audio file.
|
||||
@return An SInt64 representing the current frame index within the audio file used for playback.
|
||||
*/
|
||||
-(SInt64)frameIndex;
|
||||
|
||||
/**
|
||||
Provides a flag indicating whether the EZAudioPlayer is currently playing back any audio.
|
||||
@return A BOOL indicating whether or not the EZAudioPlayer is performing playback,
|
||||
*/
|
||||
-(BOOL)isPlaying;
|
||||
|
||||
/**
|
||||
Provides the EZOutput instance that is being used to provide playback to the system output.
|
||||
@return The EZOutput instance that is currently being used for output playback.
|
||||
*/
|
||||
-(EZOutput*)output;
|
||||
|
||||
/**
|
||||
Provides the total duration of the current audio file being used for playback (in seconds).
|
||||
@return A float representing the total duration of the current audio file being used for playback in seconds.
|
||||
*/
|
||||
-(float)totalDuration;
|
||||
|
||||
/**
|
||||
Provides the total amount of frames in the current audio file being used for playback.
|
||||
@return A SInt64 representing the total amount of frames in the current audio file being used for playback.
|
||||
*/
|
||||
-(SInt64)totalFrames;
|
||||
|
||||
/**
|
||||
Provides the file path that's currently being used by the player for playback.
|
||||
@return The NSURL representing the file path of the audio file being used for playback.
|
||||
*/
|
||||
-(NSURL*)url;
|
||||
|
||||
#pragma mark - Setters
|
||||
///-----------------------------------------------------------
|
||||
/// @name Setting The File/Output
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Sets the EZAudioFile to use for playback. This does not use the EZAudioFile by reference, but instead creates a separate EZAudioFile instance with the same file at the given file path provided by the internal NSURL to use for internal seeking so it doesn't cause any locking between the caller's instance of the EZAudioFile.
|
||||
@param audioFile The new EZAudioFile instance that should be used for playback
|
||||
*/
|
||||
-(void)setAudioFile:(EZAudioFile*)audioFile;
|
||||
|
||||
/**
|
||||
Sets the EZOutput to route playback. By default this uses the [EZOutput sharedOutput] singleton.
|
||||
@param output The new EZOutput instance that should be used for playback
|
||||
*/
|
||||
-(void)setOutput:(EZOutput*)output;
|
||||
|
||||
#pragma mark - Methods
|
||||
///-----------------------------------------------------------
|
||||
/// @name Play/Pause/Seeking the Player
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Starts or resumes playback.
|
||||
*/
|
||||
-(void)play;
|
||||
|
||||
/**
|
||||
Pauses playback.
|
||||
*/
|
||||
-(void)pause;
|
||||
|
||||
/**
|
||||
Stops playback.
|
||||
*/
|
||||
-(void)stop;
|
||||
|
||||
/**
|
||||
Seeks playback to a specified frame within the internal EZAudioFile. This will notify the EZAudioFileDelegate (if specified) with the audioPlayer:updatedPosition:inAudioFile: function.
|
||||
@param frame The new frame position to seek to as a SInt64.
|
||||
*/
|
||||
-(void)seekToFrame:(SInt64)frame;
|
||||
|
||||
@end
|
||||
@@ -1,301 +0,0 @@
|
||||
//
|
||||
// EZAudioPlayer.m
|
||||
// EZAudio
|
||||
//
|
||||
// Created by Syed Haris Ali on 1/16/14.
|
||||
// Copyright (c) 2014 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import "EZAudioPlayer.h"
|
||||
#import "EZAudioUtilities.h"
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
#elif TARGET_OS_MAC
|
||||
#endif
|
||||
@interface EZAudioPlayer () <EZAudioFileDelegate,EZOutputDataSource>
|
||||
{
|
||||
BOOL _eof;
|
||||
}
|
||||
@property (nonatomic,strong,setter=setAudioFile:) EZAudioFile *audioFile;
|
||||
@property (nonatomic,strong,setter=setOutput:) EZOutput *output;
|
||||
@end
|
||||
|
||||
@implementation EZAudioPlayer
|
||||
@synthesize audioFile = _audioFile;
|
||||
@synthesize audioPlayerDelegate = _audioPlayerDelegate;
|
||||
@synthesize output = _output;
|
||||
@synthesize shouldLoop = _shouldLoop;
|
||||
|
||||
#pragma mark - Initializers
|
||||
-(id)init {
|
||||
self = [super init];
|
||||
if(self){
|
||||
[self _configureAudioPlayer];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
-(EZAudioPlayer*)initWithEZAudioFile:(EZAudioFile *)audioFile {
|
||||
return [self initWithEZAudioFile:audioFile withDelegate:nil];
|
||||
}
|
||||
|
||||
-(EZAudioPlayer *)initWithEZAudioFile:(EZAudioFile *)audioFile
|
||||
withDelegate:(id<EZAudioPlayerDelegate>)audioPlayerDelegate {
|
||||
self = [super init];
|
||||
if(self){
|
||||
// This should make a separate reference to the audio file
|
||||
[self _configureAudioPlayer];
|
||||
self.audioFile = audioFile;
|
||||
self.audioPlayerDelegate = audioPlayerDelegate;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
-(EZAudioPlayer *)initWithURL:(NSURL *)url {
|
||||
return [self initWithURL:url withDelegate:nil];
|
||||
}
|
||||
|
||||
-(EZAudioPlayer *)initWithURL:(NSURL *)url
|
||||
withDelegate:(id<EZAudioPlayerDelegate>)audioPlayerDelegate {
|
||||
self = [super init];
|
||||
if(self){
|
||||
[self _configureAudioPlayer];
|
||||
self.audioFile = [[EZAudioFile alloc] initWithURL:url];
|
||||
self.audioFile.delegate = self;
|
||||
self.audioPlayerDelegate = audioPlayerDelegate;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Class Initializers
|
||||
+(EZAudioPlayer *)audioPlayerWithEZAudioFile:(EZAudioFile *)audioFile {
|
||||
return [[EZAudioPlayer alloc] initWithEZAudioFile:audioFile];
|
||||
}
|
||||
|
||||
+(EZAudioPlayer *)audioPlayerWithEZAudioFile:(EZAudioFile *)audioFile
|
||||
withDelegate:(id<EZAudioPlayerDelegate>)audioPlayerDelegate {
|
||||
return [[EZAudioPlayer alloc] initWithEZAudioFile:audioFile
|
||||
withDelegate:audioPlayerDelegate];
|
||||
}
|
||||
|
||||
+(EZAudioPlayer *)audioPlayerWithURL:(NSURL *)url {
|
||||
return [[EZAudioPlayer alloc] initWithURL:url];
|
||||
}
|
||||
|
||||
+(EZAudioPlayer *)audioPlayerWithURL:(NSURL *)url
|
||||
withDelegate:(id<EZAudioPlayerDelegate>)audioPlayerDelegate {
|
||||
return [[EZAudioPlayer alloc] initWithURL:url
|
||||
withDelegate:audioPlayerDelegate];
|
||||
}
|
||||
|
||||
#pragma mark - Singleton
|
||||
+(EZAudioPlayer *)sharedAudioPlayer {
|
||||
static EZAudioPlayer *_sharedAudioPlayer = nil;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
_sharedAudioPlayer = [[EZAudioPlayer alloc] init];
|
||||
});
|
||||
return _sharedAudioPlayer;
|
||||
}
|
||||
|
||||
#pragma mark - Private Configuration
|
||||
-(void)_configureAudioPlayer {
|
||||
|
||||
// Defaults
|
||||
self.output = [EZOutput sharedOutput];
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
// Configure the AVSession
|
||||
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
|
||||
NSError *err = NULL;
|
||||
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:&err];
|
||||
if (err){
|
||||
NSLog(@"There was an error creating the audio session");
|
||||
}
|
||||
[audioSession overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:NULL];
|
||||
if (err){
|
||||
NSLog(@"There was an error sending the audio to the speakers");
|
||||
}
|
||||
#elif TARGET_OS_MAC
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - Getters
|
||||
-(EZAudioFile*)audioFile {
|
||||
return _audioFile;
|
||||
}
|
||||
|
||||
-(float)currentTime {
|
||||
NSAssert(_audioFile,@"No audio file to perform the seek on, check that EZAudioFile is not nil");
|
||||
return [EZAudioUtilities MAP:self.audioFile.frameIndex
|
||||
leftMin:0
|
||||
leftMax:self.audioFile.totalFrames
|
||||
rightMin:0
|
||||
rightMax:self.audioFile.duration];
|
||||
}
|
||||
|
||||
-(BOOL)endOfFile {
|
||||
return _eof;
|
||||
}
|
||||
|
||||
-(SInt64)frameIndex {
|
||||
NSAssert(_audioFile,@"No audio file to perform the seek on, check that EZAudioFile is not nil");
|
||||
return _audioFile.frameIndex;
|
||||
}
|
||||
|
||||
-(BOOL)isPlaying {
|
||||
return self.output.isPlaying;
|
||||
}
|
||||
|
||||
-(EZOutput*)output {
|
||||
NSAssert(_output,@"No output was found, this should by default be the EZOutput shared instance");
|
||||
return _output;
|
||||
}
|
||||
|
||||
-(float)totalDuration {
|
||||
NSAssert(_audioFile,@"No audio file to perform the seek on, check that EZAudioFile is not nil");
|
||||
return _audioFile.duration;
|
||||
}
|
||||
|
||||
-(SInt64)totalFrames {
|
||||
NSAssert(_audioFile,@"No audio file to perform the seek on, check that EZAudioFile is not nil");
|
||||
return _audioFile.totalFrames;
|
||||
}
|
||||
|
||||
-(NSURL *)url {
|
||||
NSAssert(_audioFile,@"No audio file to perform the seek on, check that EZAudioFile is not nil");
|
||||
return _audioFile.url;
|
||||
}
|
||||
|
||||
#pragma mark - Setters
|
||||
-(void)setAudioFile:(EZAudioFile *)audioFile {
|
||||
if (_audioFile){
|
||||
_audioFile.delegate = nil;
|
||||
}
|
||||
_eof = NO;
|
||||
_audioFile = [EZAudioFile audioFileWithURL:audioFile.url];
|
||||
_audioFile.delegate = self;
|
||||
NSAssert(_output,@"No output was found, this should by default be the EZOutput shared instance");
|
||||
[_output setInputFormat:self.audioFile.clientFormat];
|
||||
}
|
||||
|
||||
-(void)setOutput:(EZOutput*)output {
|
||||
_output = output;
|
||||
_output.dataSource = self;
|
||||
}
|
||||
|
||||
#pragma mark - Methods
|
||||
-(void)play {
|
||||
NSAssert(_audioFile,@"No audio file to perform the seek on, check that EZAudioFile is not nil");
|
||||
if (_audioFile){
|
||||
[_output startPlayback];
|
||||
if (self.frameIndex != self.totalFrames){
|
||||
_eof = NO;
|
||||
}
|
||||
if (self.audioPlayerDelegate){
|
||||
if ([self.audioPlayerDelegate respondsToSelector:@selector(audioPlayer:didResumePlaybackOnAudioFile:)]){
|
||||
// Notify the delegate we're starting playback
|
||||
[self.audioPlayerDelegate audioPlayer:self didResumePlaybackOnAudioFile:_audioFile];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-(void)pause {
|
||||
NSAssert(self.audioFile,@"No audio file to perform the seek on, check that EZAudioFile is not nil");
|
||||
if (_audioFile){
|
||||
[_output stopPlayback];
|
||||
if (self.audioPlayerDelegate){
|
||||
if ([self.audioPlayerDelegate respondsToSelector:@selector(audioPlayer:didPausePlaybackOnAudioFile:)]){
|
||||
// Notify the delegate we're pausing playback
|
||||
[self.audioPlayerDelegate audioPlayer:self didPausePlaybackOnAudioFile:_audioFile];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-(void)seekToFrame:(SInt64)frame {
|
||||
NSAssert(_audioFile,@"No audio file to perform the seek on, check that EZAudioFile is not nil");
|
||||
if (_audioFile){
|
||||
[_audioFile seekToFrame:frame];
|
||||
}
|
||||
if (self.frameIndex != self.totalFrames){
|
||||
_eof = NO;
|
||||
}
|
||||
}
|
||||
|
||||
-(void)stop {
|
||||
NSAssert(_audioFile,@"No audio file to perform the seek on, check that EZAudioFile is not nil");
|
||||
if (_audioFile){
|
||||
[_output stopPlayback];
|
||||
[_audioFile seekToFrame:0];
|
||||
_eof = NO;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - EZAudioFileDelegate
|
||||
-(void)audioFile:(EZAudioFile *)audioFile
|
||||
readAudio:(float **)buffer
|
||||
withBufferSize:(UInt32)bufferSize
|
||||
withNumberOfChannels:(UInt32)numberOfChannels {
|
||||
if (self.audioPlayerDelegate){
|
||||
if ([self.audioPlayerDelegate respondsToSelector:@selector(audioPlayer:readAudio:withBufferSize:withNumberOfChannels:inAudioFile:)]){
|
||||
[self.audioPlayerDelegate audioPlayer:self
|
||||
readAudio:buffer
|
||||
withBufferSize:bufferSize
|
||||
withNumberOfChannels:numberOfChannels
|
||||
inAudioFile:audioFile];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-(void)audioFile:(EZAudioFile *)audioFile updatedPosition:(SInt64)framePosition {
|
||||
if (self.audioPlayerDelegate){
|
||||
if ([self.audioPlayerDelegate respondsToSelector:@selector(audioPlayer:updatedPosition:inAudioFile:)]){
|
||||
[self.audioPlayerDelegate audioPlayer:self
|
||||
updatedPosition:framePosition
|
||||
inAudioFile:audioFile];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - EZOutputDataSource
|
||||
-(OSStatus) output:(EZOutput *)output
|
||||
shouldFillAudioBufferList:(AudioBufferList *)audioBufferList
|
||||
withNumberOfFrames:(UInt32)frames
|
||||
timestamp:(const AudioTimeStamp *)timestamp
|
||||
{
|
||||
if (self.audioFile)
|
||||
{
|
||||
UInt32 bufferSize;
|
||||
[self.audioFile readFrames:frames
|
||||
audioBufferList:audioBufferList
|
||||
bufferSize:&bufferSize
|
||||
eof:&_eof];
|
||||
if (_eof && self.shouldLoop)
|
||||
{
|
||||
[self seekToFrame:0];
|
||||
}
|
||||
}
|
||||
return noErr;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -1,183 +0,0 @@
|
||||
//
|
||||
// EZAudioPlotGL.h
|
||||
// EZAudio
|
||||
//
|
||||
// Created by Syed Haris Ali on 11/22/13.
|
||||
// Copyright (c) 2015 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import "TargetConditionals.h"
|
||||
#import "EZPlot.h"
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
#import <GLKit/GLKit.h>
|
||||
@class EZAudioPlotGLKViewController;
|
||||
#elif TARGET_OS_MAC
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import <GLKit/GLKit.h>
|
||||
#import <OpenGL/gl3.h>
|
||||
#import <QuartzCore/CVDisplayLink.h>
|
||||
#endif
|
||||
|
||||
#pragma mark - Enumerations
|
||||
/**
|
||||
Constant drawing types wrapping around the OpenGL equivalents. In the audio drawings the line strip will be the stroked graph while the triangle will provide the filled equivalent.
|
||||
*/
|
||||
typedef NS_ENUM(NSUInteger,EZAudioPlotGLDrawType){
|
||||
/**
|
||||
* Maps to the OpenGL constant for a line strip, which for the audio graph will correspond to a stroked drawing (no fill).
|
||||
*/
|
||||
EZAudioPlotGLDrawTypeLineStrip = GL_LINE_STRIP,
|
||||
/**
|
||||
* Maps to the OpenGL constant for a triangle strip, which for the audio graph will correspond to a filled drawing.
|
||||
*/
|
||||
EZAudioPlotGLDrawTypeTriangleStrip = GL_TRIANGLE_STRIP
|
||||
};
|
||||
|
||||
#pragma mark - Structures
|
||||
/**
|
||||
A structure describing a 2D point (x,y) in space for an audio plot.
|
||||
*/
|
||||
typedef struct {
|
||||
GLfloat x;
|
||||
GLfloat y;
|
||||
} EZAudioPlotGLPoint;
|
||||
|
||||
/**
|
||||
EZAudioPlotGL is a subclass of either the EZPlot on iOS or an NSOpenGLView on OSX. I apologize ahead of time for the weirdness in the docs for this class, but I had to do a bit of hackery to get a universal namespace for something works on both iOS and OSX without any additional components. The EZAudioPlotGL provides an the same utilities and interface as the EZAudioPlot with the added benefit of being GPU-accelerated. This is the recommended plot to use on iOS devices to get super fast real-time drawings of audio streams. For the methods and properties below I've included notes on the bottom just indicating which OS they correspond to. In most (if not all) use cases you can just refer to the EZPlot documentation to see which custom properties can be setup. There update function is the same as the EZPlot as well: `updateBuffer:withBufferSize:`
|
||||
*/
|
||||
#if TARGET_OS_IPHONE
|
||||
@interface EZAudioPlotGL : EZPlot
|
||||
#elif TARGET_OS_MAC
|
||||
@interface EZAudioPlotGL : NSOpenGLView
|
||||
#endif
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
|
||||
// Inherited from EZPlot
|
||||
|
||||
#elif TARGET_OS_MAC
|
||||
|
||||
#pragma mark - Properties
|
||||
///-----------------------------------------------------------
|
||||
/// @name Customizing The Plot's Appearance
|
||||
///-----------------------------------------------------------
|
||||
/**
|
||||
The default background color of the plot. For iOS the color is specified as a UIColor while for OSX the color is an NSColor. The default value on both platforms is black.
|
||||
*/
|
||||
@property (nonatomic,strong) id backgroundColor;
|
||||
|
||||
/**
|
||||
The default color of the plot's data (i.e. waveform, y-axis values). For iOS the color is specified as a UIColor while for OSX the color is an NSColor. The default value on both platforms is red.
|
||||
*/
|
||||
@property (nonatomic,strong) id color;
|
||||
|
||||
/**
|
||||
The plot's gain value, which controls the scale of the y-axis values. The default value of the gain is 1.0f and should always be greater than 0.0f.
|
||||
*/
|
||||
@property (nonatomic,assign,setter=setGain:) float gain;
|
||||
|
||||
/**
|
||||
The type of plot as specified by the `EZPlotType` enumeration (i.e. a buffer or rolling plot type).
|
||||
*/
|
||||
@property (nonatomic,assign,setter=setPlotType:) EZPlotType plotType;
|
||||
|
||||
/**
|
||||
A BOOL indicating whether or not to fill in the graph. A value of YES will make a filled graph (filling in the space between the x-axis and the y-value), while a value of NO will create a stroked graph (connecting the points along the y-axis).
|
||||
*/
|
||||
@property (nonatomic,assign,setter=setShouldFill:) BOOL shouldFill;
|
||||
|
||||
/**
|
||||
A boolean indicating whether the graph should be rotated along the x-axis to give a mirrored reflection. This is typical for audio plots to produce the classic waveform look. A value of YES will produce a mirrored reflection of the y-values about the x-axis, while a value of NO will only plot the y-values.
|
||||
*/
|
||||
@property (nonatomic,assign,setter=setShouldMirror:) BOOL shouldMirror;
|
||||
|
||||
#pragma mark - Get Samples
|
||||
///-----------------------------------------------------------
|
||||
/// @name Updating The Plot
|
||||
///-----------------------------------------------------------
|
||||
/**
|
||||
Updates the plot with the new buffer data and tells the view to redraw itself. Caller will provide a float array with the values they expect to see on the y-axis. The plot will internally handle mapping the x-axis and y-axis to the current view port, any interpolation for fills effects, and mirroring.
|
||||
@param buffer A float array of values to map to the y-axis.
|
||||
@param bufferSize The size of the float array that will be mapped to the y-axis.
|
||||
@warning The bufferSize is expected to be the same, constant value once initial triggered. For plots using OpenGL a vertex buffer object will be allocated with a maximum buffersize of (2 * the initial given buffer size) to account for any interpolation necessary for filling in the graph. Updates use the glBufferSubData(...) function, which will crash if the buffersize exceeds the initial maximum allocated size.
|
||||
*/
|
||||
-(void)updateBuffer:(float *)buffer
|
||||
withBufferSize:(UInt32)bufferSize;
|
||||
|
||||
#endif
|
||||
|
||||
#pragma mark - Adjust Resolution
|
||||
///-----------------------------------------------------------
|
||||
/// @name Adjusting The Resolution
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Sets the length of the rolling history display. Can grow or shrink the display up to the maximum size specified by the kEZAudioPlotMaxHistoryBufferLength macro. Will return the actual set value, which will be either the given value if smaller than the kEZAudioPlotMaxHistoryBufferLength or kEZAudioPlotMaxHistoryBufferLength if a larger value is attempted to be set.
|
||||
@param historyLength The new length of the rolling history buffer.
|
||||
@return The new value equal to the historyLength or the kEZAudioPlotMaxHistoryBufferLength.
|
||||
*/
|
||||
-(int)setRollingHistoryLength:(int)historyLength;
|
||||
|
||||
/**
|
||||
Provides the length of the rolling history buffer
|
||||
* @return An int representing the length of the rolling history buffer
|
||||
*/
|
||||
-(int)rollingHistoryLength;
|
||||
|
||||
#pragma mark - Shared Methods
|
||||
///-----------------------------------------------------------
|
||||
/// @name Clearing The Plot
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Clears all data from the audio plot (includes both EZPlotTypeBuffer and EZPlotTypeRolling)
|
||||
*/
|
||||
-(void)clear;
|
||||
|
||||
///-----------------------------------------------------------
|
||||
/// @name Shared OpenGL Methods
|
||||
///-----------------------------------------------------------
|
||||
/**
|
||||
Converts a float array to an array of EZAudioPlotGLPoint structures that hold the (x,y) values the OpenGL buffer needs to properly plot its points.
|
||||
@param graph A pointer to the array that should hold the EZAudioPlotGLPoint structures.
|
||||
@param graphSize The size (or length) of the array with the EZAudioPlotGLPoint structures.
|
||||
@param drawingType The EZAudioPlotGLDrawType constant defining whether the plot should interpolate between points for a triangle strip (filled waveform) or not for a line strip (stroked waveform)
|
||||
@param buffer The float array holding the audio data
|
||||
@param bufferSize The size of the float array holding the audio data
|
||||
@param gain The gain (always greater than 0.0) to apply to the amplitudes (y-values) of the graph. Y-values can only range from -1.0 to 1.0 so any value that's greater will be rounded to -1.0 or 1.0.
|
||||
*/
|
||||
+(void)fillGraph:(EZAudioPlotGLPoint*)graph
|
||||
withGraphSize:(UInt32)graphSize
|
||||
forDrawingType:(EZAudioPlotGLDrawType)drawingType
|
||||
withBuffer:(float*)buffer
|
||||
withBufferSize:(UInt32)bufferSize
|
||||
withGain:(float)gain;
|
||||
|
||||
/**
|
||||
Determines the proper size of a graph given a EZAudioPlotGLDrawType (line strip or triangle strip) and the size of the incoming buffer. Triangle strips require interpolating between points so the buffer becomes 2*bufferSize
|
||||
@param drawingType The EZAudioPlotGLDraw type (line strip or triangle strip)
|
||||
@param bufferSize The size of the float array holding the audio data coming in.
|
||||
@return A Int32 representing the proper graph size that should be used to account for any necessary interpolating between points.
|
||||
*/
|
||||
+(UInt32)graphSizeForDrawingType:(EZAudioPlotGLDrawType)drawingType
|
||||
withBufferSize:(UInt32)bufferSize;
|
||||
|
||||
@end
|
||||
@@ -1,771 +0,0 @@
|
||||
//
|
||||
// EZAudioPlotGL.m
|
||||
// EZAudio
|
||||
//
|
||||
// Created by Syed Haris Ali on 11/22/13.
|
||||
// Copyright (c) 2015 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import "EZAudioPlotGL.h"
|
||||
#import "EZAudioUtilities.h"
|
||||
#import "EZAudioPlot.h"
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
#import "EZAudioPlotGLKViewController.h"
|
||||
@interface EZAudioPlotGL ()
|
||||
@property (nonatomic,strong,readonly) EZAudioPlotGLKViewController *glViewController;
|
||||
@end
|
||||
#elif TARGET_OS_MAC
|
||||
@interface EZAudioPlotGL (){
|
||||
|
||||
// Flags indicating whether the plots have been instantiated
|
||||
BOOL _hasBufferPlotData;
|
||||
BOOL _hasRollingPlotData;
|
||||
|
||||
// Vertex Array Buffers
|
||||
GLuint _bufferPlotVAB;
|
||||
GLuint _rollingPlotVAB;
|
||||
|
||||
// Vertex Buffer Objects
|
||||
GLuint _bufferPlotVBO;
|
||||
GLuint _rollingPlotVBO;
|
||||
|
||||
// Display Link
|
||||
CVDisplayLinkRef _displayLink;
|
||||
|
||||
// Buffers size
|
||||
UInt32 _bufferPlotGraphSize;
|
||||
UInt32 _rollingPlotGraphSize;
|
||||
|
||||
// Rolling History
|
||||
BOOL _setMaxLength;
|
||||
float *_scrollHistory;
|
||||
int _scrollHistoryIndex;
|
||||
UInt32 _scrollHistoryLength;
|
||||
BOOL _changingHistorySize;
|
||||
|
||||
// Copied buffer data
|
||||
float *_copiedBuffer;
|
||||
UInt32 _copiedBufferSize;
|
||||
|
||||
}
|
||||
@property (nonatomic,assign,readonly) EZAudioPlotGLDrawType drawingType;
|
||||
@property (nonatomic,strong) GLKBaseEffect *baseEffect;
|
||||
@end
|
||||
#endif
|
||||
|
||||
@implementation EZAudioPlotGL
|
||||
#if TARGET_OS_IPHONE
|
||||
@synthesize glViewController = _glViewController;
|
||||
#elif TARGET_OS_MAC
|
||||
@synthesize baseEffect = _baseEffect;
|
||||
#endif
|
||||
@synthesize backgroundColor = _backgroundColor;
|
||||
@synthesize color = _color;
|
||||
@synthesize gain = _gain;
|
||||
@synthesize plotType = _plotType;
|
||||
@synthesize shouldFill = _shouldFill;
|
||||
@synthesize shouldMirror = _shouldMirror;
|
||||
|
||||
#pragma mark - Initialization
|
||||
-(id)init
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
[self initializeView];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
-(id)initWithCoder:(NSCoder *)aDecoder {
|
||||
self = [super initWithCoder:aDecoder];
|
||||
if(self){
|
||||
[self initializeView];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
-(id)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initializeView];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Initialize Properties Here
|
||||
-(void)initializeView {
|
||||
#if TARGET_OS_IPHONE
|
||||
// Initialize the subview controller
|
||||
_glViewController = [[EZAudioPlotGLKViewController alloc] init];
|
||||
_glViewController.view.frame = self.bounds;
|
||||
[self insertSubview:self.glViewController.view atIndex:0];
|
||||
#elif TARGET_OS_MAC
|
||||
_copiedBuffer = NULL;
|
||||
#endif
|
||||
// Set the default properties
|
||||
self.gain = 1.0;
|
||||
self.plotType = EZPlotTypeBuffer;
|
||||
#if TARGET_OS_IPHONE
|
||||
self.backgroundColor = [UIColor colorWithRed:0.796 green:0.749 blue:0.663 alpha:1];
|
||||
self.color = [UIColor colorWithRed:0.481 green:0.548 blue:0.637 alpha:1];
|
||||
#elif TARGET_OS_MAC
|
||||
_scrollHistory = NULL;
|
||||
_scrollHistoryLength = EZAudioPlotDefaultHistoryBufferLength;
|
||||
#endif
|
||||
self.shouldFill = NO;
|
||||
self.shouldMirror = NO;
|
||||
}
|
||||
|
||||
#pragma mark - Setters
|
||||
-(void)setBackgroundColor:(id)backgroundColor {
|
||||
_backgroundColor = backgroundColor;
|
||||
#if TARGET_OS_IPHONE
|
||||
self.glViewController.backgroundColor = backgroundColor;
|
||||
#elif TARGET_OS_MAC
|
||||
[self _refreshWithBackgroundColor:backgroundColor];
|
||||
#endif
|
||||
}
|
||||
|
||||
-(void)setColor:(id)color {
|
||||
_color = color;
|
||||
#if TARGET_OS_IPHONE
|
||||
self.glViewController.color = color;
|
||||
#elif TARGET_OS_MAC
|
||||
[self _refreshWithColor:color];
|
||||
#endif
|
||||
}
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
#elif TARGET_OS_MAC
|
||||
-(void)setDrawingType:(EZAudioPlotGLDrawType)drawingType {
|
||||
CGLLockContext([[self openGLContext] CGLContextObj]);
|
||||
_drawingType = drawingType;
|
||||
CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
-(void)setGain:(float)gain {
|
||||
_gain = gain;
|
||||
self.glViewController.gain = gain;
|
||||
}
|
||||
#elif TARGET_OS_MAC
|
||||
// Gain changed mac
|
||||
#endif
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
-(void)setPlotType:(EZPlotType)plotType {
|
||||
_plotType = plotType;
|
||||
self.glViewController.plotType = plotType;
|
||||
}
|
||||
#elif TARGET_OS_MAC
|
||||
// Plot type changed mac
|
||||
#endif
|
||||
|
||||
-(void)setShouldFill:(BOOL)shouldFill {
|
||||
_shouldFill = shouldFill;
|
||||
#if TARGET_OS_IPHONE
|
||||
self.glViewController.drawingType = shouldFill ? EZAudioPlotGLDrawTypeTriangleStrip : EZAudioPlotGLDrawTypeLineStrip;
|
||||
#elif TARGET_OS_MAC
|
||||
// Fill flag changed mac
|
||||
self.drawingType = shouldFill ? EZAudioPlotGLDrawTypeTriangleStrip : EZAudioPlotGLDrawTypeLineStrip;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
-(void)setShouldMirror:(BOOL)shouldMirror {
|
||||
_shouldMirror = shouldMirror;
|
||||
self.glViewController.shouldMirror = shouldMirror;
|
||||
}
|
||||
#elif TARGET_OS_MAC
|
||||
// Mirror flag changed mac
|
||||
#endif
|
||||
|
||||
#pragma mark - Get Samples
|
||||
-(void)updateBuffer:(float *)buffer
|
||||
withBufferSize:(UInt32)bufferSize {
|
||||
#if TARGET_OS_IPHONE
|
||||
[self.glViewController updateBuffer:buffer
|
||||
withBufferSize:bufferSize];
|
||||
#elif TARGET_OS_MAC
|
||||
|
||||
|
||||
|
||||
if (_copiedBuffer == NULL){
|
||||
_copiedBuffer = (float*)malloc(bufferSize*sizeof(float));
|
||||
}
|
||||
_copiedBufferSize = bufferSize;
|
||||
// Copy the buffer
|
||||
memcpy(_copiedBuffer,
|
||||
buffer,
|
||||
bufferSize*sizeof(float));
|
||||
// Draw based on plot type
|
||||
switch(_plotType) {
|
||||
case EZPlotTypeBuffer:
|
||||
[self _updateBufferPlotBufferWithAudioReceived:_copiedBuffer
|
||||
withBufferSize:_copiedBufferSize];
|
||||
break;
|
||||
case EZPlotTypeRolling:
|
||||
[self _updateRollingPlotBufferWithAudioReceived:_copiedBuffer
|
||||
withBufferSize:_copiedBufferSize];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#pragma mark - OSX Specific GL Implementation
|
||||
#if TARGET_OS_IPHONE
|
||||
|
||||
// Handled by the embedded GLKViewController
|
||||
|
||||
#elif TARGET_OS_MAC
|
||||
|
||||
#pragma mark - Awake
|
||||
-(void)awakeFromNib {
|
||||
|
||||
// Setup the base effect
|
||||
[self _setupBaseEffect];
|
||||
|
||||
// Setup the OpenGL Pixel Format and Context
|
||||
[self _setupProfile];
|
||||
|
||||
// Setup view
|
||||
[self _setupView];
|
||||
|
||||
}
|
||||
|
||||
-(void)_setupBaseEffect {
|
||||
self.baseEffect = [[GLKBaseEffect alloc] init];
|
||||
self.baseEffect.useConstantColor = GL_TRUE;
|
||||
self.baseEffect.constantColor = GLKVector4Make(0.489, 0.34, 0.185, 1.0);
|
||||
}
|
||||
|
||||
-(void)_setupProfile {
|
||||
|
||||
NSOpenGLPixelFormatAttribute attrs[] =
|
||||
{
|
||||
NSOpenGLPFADoubleBuffer,
|
||||
NSOpenGLPFAMultisample,
|
||||
NSOpenGLPFASampleBuffers, 1,
|
||||
NSOpenGLPFASamples, 4,
|
||||
NSOpenGLPFADepthSize, 24,
|
||||
NSOpenGLPFAOpenGLProfile,
|
||||
NSOpenGLProfileVersion3_2Core, 0
|
||||
};
|
||||
|
||||
NSOpenGLPixelFormat *pf = [[NSOpenGLPixelFormat alloc] initWithAttributes:attrs];
|
||||
NSOpenGLContext *context = [[NSOpenGLContext alloc] initWithFormat:pf
|
||||
shareContext:nil];
|
||||
|
||||
if (!pf)
|
||||
{
|
||||
NSLog(@"No OpenGL pixel format");
|
||||
}
|
||||
|
||||
// Debug only
|
||||
CGLEnable([context CGLContextObj], kCGLCECrashOnRemovedFunctions);
|
||||
|
||||
self.pixelFormat = pf;
|
||||
self.openGLContext = context;
|
||||
}
|
||||
|
||||
-(void)_setupView {
|
||||
self.backgroundColor = [NSColor colorWithCalibratedRed: 0.796 green: 0.749 blue: 0.663 alpha: 1];
|
||||
self.color = [NSColor colorWithCalibratedRed: 0.481 green: 0.548 blue: 0.637 alpha: 1];
|
||||
}
|
||||
|
||||
#pragma mark - Prepare
|
||||
-(void)prepareOpenGL {
|
||||
[super prepareOpenGL];
|
||||
|
||||
GLint swapInt = 1;
|
||||
[self.openGLContext setValues:&swapInt forParameter:NSOpenGLCPSwapInterval];
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// Setup VABs and VBOs //
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// Buffer
|
||||
glGenVertexArrays(1,&_bufferPlotVAB);
|
||||
glBindVertexArray(_bufferPlotVAB);
|
||||
glGenBuffers(1,&_bufferPlotVBO);
|
||||
glBindBuffer(GL_ARRAY_BUFFER,_bufferPlotVBO);
|
||||
|
||||
// Rolling
|
||||
glGenVertexArrays(1,&_rollingPlotVAB);
|
||||
glBindVertexArray(_rollingPlotVAB);
|
||||
glGenBuffers(1,&_rollingPlotVBO);
|
||||
glBindBuffer(GL_ARRAY_BUFFER,_rollingPlotVBO);
|
||||
|
||||
if (self.shouldFill){
|
||||
glBindVertexArray(_rollingPlotVAB);
|
||||
glBindBuffer(GL_ARRAY_BUFFER,_rollingPlotVBO);
|
||||
}
|
||||
|
||||
// Enable anti-aliasing
|
||||
glEnable(GL_MULTISAMPLE);
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
glClearColor(0, 0, 0, 0);
|
||||
self.layer = nil;
|
||||
self.wantsBestResolutionOpenGLSurface = YES;
|
||||
|
||||
// Set the background color
|
||||
[self _refreshWithBackgroundColor:self.backgroundColor];
|
||||
[self _refreshWithColor:self.color];
|
||||
|
||||
// Setup the display link (rendering loop)
|
||||
[self _setupDisplayLink];
|
||||
}
|
||||
|
||||
-(void)_setupDisplayLink {
|
||||
// Create a display link capable of being used with all active displays
|
||||
CVDisplayLinkCreateWithActiveCGDisplays(&_displayLink);
|
||||
|
||||
// Set the renderer output callback function
|
||||
CVDisplayLinkSetOutputCallback(_displayLink, &DisplayLinkCallback, (__bridge void *)(self));
|
||||
|
||||
// Set the display link for the current renderer
|
||||
CGLContextObj cglContext = self.openGLContext.CGLContextObj;
|
||||
CGLPixelFormatObj cglPixelFormat = self.pixelFormat.CGLPixelFormatObj;
|
||||
CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext(_displayLink, cglContext, cglPixelFormat);
|
||||
|
||||
// Activate the display link
|
||||
CVDisplayLinkStart(_displayLink);
|
||||
|
||||
// Register to be notified when the window closes so we can stop the displaylink
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(windowWillClose:)
|
||||
name:NSWindowWillCloseNotification
|
||||
object:[self window]];
|
||||
|
||||
}
|
||||
|
||||
- (void) windowWillClose:(NSNotification*)notification
|
||||
{
|
||||
// Stop the display link when the window is closing because default
|
||||
// OpenGL render buffers will be destroyed. If display link continues to
|
||||
// fire without renderbuffers, OpenGL draw calls will set errors.
|
||||
|
||||
CVDisplayLinkStop(_displayLink);
|
||||
}
|
||||
|
||||
#pragma mark - Display Link Callback
|
||||
// This is the renderer output callback function
|
||||
static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink,
|
||||
const CVTimeStamp* now,
|
||||
const CVTimeStamp* outputTime,
|
||||
CVOptionFlags flagsIn,
|
||||
CVOptionFlags* flagsOut,
|
||||
void* displayLinkContext)
|
||||
{
|
||||
CVReturn result = [(__bridge EZAudioPlotGL*)displayLinkContext getFrameForTime:outputTime];
|
||||
return result;
|
||||
}
|
||||
|
||||
- (CVReturn)getFrameForTime:(const CVTimeStamp*)outputTime
|
||||
{
|
||||
@autoreleasepool {
|
||||
[self drawFrame];
|
||||
}
|
||||
return kCVReturnSuccess;
|
||||
}
|
||||
|
||||
#pragma mark - Buffer Updating By Type
|
||||
-(void)_updateBufferPlotBufferWithAudioReceived:(float*)buffer
|
||||
withBufferSize:(UInt32)bufferSize {
|
||||
|
||||
// Lock
|
||||
CGLLockContext([[self openGLContext] CGLContextObj]);
|
||||
|
||||
// Bind to buffer VBO
|
||||
glBindVertexArray(_bufferPlotVAB);
|
||||
glBindBuffer(GL_ARRAY_BUFFER,_bufferPlotVBO);
|
||||
|
||||
// If starting with a VBO of half of our max size make sure we initialize it to anticipate
|
||||
// a filled graph (which needs 2 * bufferSize) to allocate its resources properly
|
||||
if (!_hasBufferPlotData && _drawingType == EZAudioPlotGLDrawTypeLineStrip){
|
||||
EZAudioPlotGLPoint maxGraph[2*bufferSize];
|
||||
glBufferData(GL_ARRAY_BUFFER, sizeof(maxGraph), maxGraph, GL_STREAM_DRAW);
|
||||
_hasBufferPlotData = YES;
|
||||
}
|
||||
|
||||
// Setup the buffer plot's graph size
|
||||
_bufferPlotGraphSize = [EZAudioPlotGL graphSizeForDrawingType:_drawingType
|
||||
withBufferSize:bufferSize];
|
||||
|
||||
// Setup the graph
|
||||
EZAudioPlotGLPoint graph[_bufferPlotGraphSize];
|
||||
|
||||
// Fill in graph data
|
||||
[EZAudioPlotGL fillGraph:graph
|
||||
withGraphSize:_bufferPlotGraphSize
|
||||
forDrawingType:_drawingType
|
||||
withBuffer:buffer
|
||||
withBufferSize:bufferSize
|
||||
withGain:self.gain];
|
||||
|
||||
// Update the drawing
|
||||
if (!_hasBufferPlotData){
|
||||
glBufferData(GL_ARRAY_BUFFER, sizeof(graph) , graph, GL_STREAM_DRAW);
|
||||
_hasBufferPlotData = YES;
|
||||
|
||||
}
|
||||
else {
|
||||
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(graph), graph);
|
||||
|
||||
}
|
||||
|
||||
// Unlock
|
||||
CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
||||
|
||||
}
|
||||
|
||||
-(void)_updateRollingPlotBufferWithAudioReceived:(float*)buffer
|
||||
withBufferSize:(UInt32)bufferSize {
|
||||
|
||||
// Lock
|
||||
CGLLockContext([[self openGLContext] CGLContextObj]);
|
||||
|
||||
// Bind to rolling VBO
|
||||
glBindVertexArray(_rollingPlotVAB);
|
||||
glBindBuffer(GL_ARRAY_BUFFER,_rollingPlotVBO);
|
||||
|
||||
// If starting with a VBO of half of our max size make sure we initialize it to anticipate
|
||||
// a filled graph (which needs 2 * bufferSize) to allocate its resources properly
|
||||
if (!_hasRollingPlotData){
|
||||
EZAudioPlotGLPoint maxGraph[2*EZAudioPlotDefaultMaxHistoryBufferLength];
|
||||
glBufferData(GL_ARRAY_BUFFER, sizeof(maxGraph), maxGraph, GL_STREAM_DRAW);
|
||||
_hasRollingPlotData = YES;
|
||||
}
|
||||
|
||||
// Setup the plot
|
||||
_rollingPlotGraphSize = [EZAudioPlotGL graphSizeForDrawingType:_drawingType
|
||||
withBufferSize:_scrollHistoryLength];
|
||||
|
||||
// Fill the graph with data
|
||||
EZAudioPlotGLPoint graph[_rollingPlotGraphSize];
|
||||
|
||||
|
||||
|
||||
// Update the scroll history datasource
|
||||
[EZAudioUtilities updateScrollHistory:&_scrollHistory
|
||||
withLength:_scrollHistoryLength
|
||||
atIndex:&_scrollHistoryIndex
|
||||
withBuffer:buffer
|
||||
withBufferSize:bufferSize
|
||||
isResolutionChanging:&_changingHistorySize];
|
||||
|
||||
// Fill in graph data
|
||||
[EZAudioPlotGL fillGraph:graph
|
||||
withGraphSize:_rollingPlotGraphSize
|
||||
forDrawingType:_drawingType
|
||||
withBuffer:_scrollHistory
|
||||
withBufferSize:_scrollHistoryLength
|
||||
withGain:self.gain];
|
||||
|
||||
// Update the drawing
|
||||
if (!_hasRollingPlotData){
|
||||
glBufferData(GL_ARRAY_BUFFER, sizeof(graph), graph, GL_STREAM_DRAW);
|
||||
_hasRollingPlotData = YES;
|
||||
}
|
||||
else {
|
||||
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(graph), graph);
|
||||
}
|
||||
|
||||
// Unlock
|
||||
CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
||||
|
||||
}
|
||||
|
||||
//#pragma mark - Render
|
||||
-(void)drawFrame {
|
||||
|
||||
// Avoid flickering during resize by drawing
|
||||
[[self openGLContext] makeCurrentContext];
|
||||
|
||||
// Lock
|
||||
CGLLockContext([[self openGLContext] CGLContextObj]);
|
||||
|
||||
// Draw frame
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
if (_hasBufferPlotData || _hasRollingPlotData){
|
||||
// Plot either a buffer plot or a rolling plot
|
||||
switch(_plotType) {
|
||||
case EZPlotTypeBuffer:
|
||||
[self _drawBufferPlot];
|
||||
break;
|
||||
case EZPlotTypeRolling:
|
||||
[self _drawRollingPlot];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Flush and unlock
|
||||
CGLFlushDrawable([[self openGLContext] CGLContextObj]);
|
||||
CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
||||
|
||||
}
|
||||
|
||||
-(void)_drawBufferPlot {
|
||||
|
||||
glBindVertexArray(_bufferPlotVAB);
|
||||
glBindBuffer(GL_ARRAY_BUFFER,_bufferPlotVBO);
|
||||
|
||||
[self.baseEffect prepareToDraw];
|
||||
self.baseEffect.transform.modelviewMatrix = GLKMatrix4MakeXRotation(0);
|
||||
|
||||
// Enable the vertex data
|
||||
glEnableVertexAttribArray(GLKVertexAttribPosition);
|
||||
// Define the vertex data size & layout
|
||||
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, sizeof(EZAudioPlotGLPoint), NULL);
|
||||
// Draw the triangle
|
||||
glDrawArrays(_drawingType,0,_bufferPlotGraphSize);
|
||||
|
||||
// Mirrored
|
||||
if (self.shouldMirror){
|
||||
[self.baseEffect prepareToDraw];
|
||||
self.baseEffect.transform.modelviewMatrix = GLKMatrix4MakeXRotation(M_PI);
|
||||
|
||||
// Enable the vertex data
|
||||
glEnableVertexAttribArray(GLKVertexAttribPosition);
|
||||
// Define the vertex data size & layout
|
||||
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, sizeof(EZAudioPlotGLPoint), NULL);
|
||||
// Draw the triangle
|
||||
glDrawArrays(_drawingType, 0, _bufferPlotGraphSize);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-(void)_drawRollingPlot {
|
||||
|
||||
glBindVertexArray(_rollingPlotVAB);
|
||||
glBindBuffer(GL_ARRAY_BUFFER,_rollingPlotVBO);
|
||||
|
||||
[self.baseEffect prepareToDraw];
|
||||
self.baseEffect.transform.modelviewMatrix = GLKMatrix4MakeXRotation(0);
|
||||
|
||||
// Enable the vertex data
|
||||
glEnableVertexAttribArray(GLKVertexAttribPosition);
|
||||
// Define the vertex data size & layout
|
||||
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, sizeof(EZAudioPlotGLPoint), NULL);
|
||||
// Draw the triangle
|
||||
glDrawArrays(_drawingType, 0,_rollingPlotGraphSize);
|
||||
|
||||
// Mirrored
|
||||
if (self.shouldMirror){
|
||||
[self.baseEffect prepareToDraw];
|
||||
self.baseEffect.transform.modelviewMatrix = GLKMatrix4MakeXRotation(M_PI);
|
||||
|
||||
// Enable the vertex data
|
||||
glEnableVertexAttribArray(GLKVertexAttribPosition);
|
||||
// Define the vertex data size & layout
|
||||
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, sizeof(EZAudioPlotGLPoint), NULL);
|
||||
// Draw the triangle
|
||||
glDrawArrays(_drawingType, 0,_rollingPlotGraphSize);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-(void)drawRect:(NSRect)dirtyRect {
|
||||
[self drawFrame];
|
||||
}
|
||||
|
||||
#pragma mark - Reshape
|
||||
-(void)reshape {
|
||||
[super reshape];
|
||||
|
||||
// We draw on a secondary thread through the display link. However, when
|
||||
// resizing the view, -drawRect is called on the main thread.
|
||||
// Add a mutex around to avoid the threads accessing the context
|
||||
// simultaneously when resizing.
|
||||
CGLLockContext([[self openGLContext] CGLContextObj]);
|
||||
|
||||
// Get the view size in Points
|
||||
NSRect viewRectPoints = [self bounds];
|
||||
NSRect viewRectPixels = [self convertRectToBacking:viewRectPoints];
|
||||
|
||||
// Set the new dimensions in our renderer
|
||||
glViewport(0, 0, viewRectPixels.size.width, viewRectPixels.size.height);
|
||||
|
||||
CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
||||
}
|
||||
|
||||
#pragma mark - Private Setters
|
||||
-(void)_refreshWithBackgroundColor:(NSColor*)backgroundColor {
|
||||
CGLLockContext([[self openGLContext] CGLContextObj]);
|
||||
// Extract colors
|
||||
CGFloat red; CGFloat green; CGFloat blue; CGFloat alpha;
|
||||
[backgroundColor getRed:&red
|
||||
green:&green
|
||||
blue:&blue
|
||||
alpha:&alpha];
|
||||
// Set them on the context
|
||||
glClearColor((GLclampf)red,(GLclampf)green,(GLclampf)blue,(GLclampf)alpha);
|
||||
CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
||||
}
|
||||
|
||||
-(void)_refreshWithColor:(NSColor*)color {
|
||||
CGLLockContext([[self openGLContext] CGLContextObj]);
|
||||
// Extract colors
|
||||
CGFloat red; CGFloat green; CGFloat blue; CGFloat alpha;
|
||||
[color getRed:&red
|
||||
green:&green
|
||||
blue:&blue
|
||||
alpha:&alpha];
|
||||
// Set them on the base shader
|
||||
self.baseEffect.constantColor = GLKVector4Make((GLclampf)red,(GLclampf)green,(GLclampf)blue,(GLclampf)alpha);
|
||||
CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
||||
}
|
||||
|
||||
#pragma mark - Cleanup
|
||||
- (void) dealloc
|
||||
{
|
||||
// Stop the display link BEFORE releasing anything in the view
|
||||
// otherwise the display link thread may call into the view and crash
|
||||
// when it encounters something that has been release
|
||||
CVDisplayLinkStop(_displayLink);
|
||||
CVDisplayLinkRelease(_displayLink);
|
||||
|
||||
if (_copiedBuffer != NULL){
|
||||
free( _copiedBuffer);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#pragma mark - Adjust Resolution
|
||||
-(int)setRollingHistoryLength:(int)historyLength {
|
||||
#if TARGET_OS_IPHONE
|
||||
int result = [self.glViewController setRollingHistoryLength:historyLength];
|
||||
return result;
|
||||
#elif TARGET_OS_MAC
|
||||
historyLength = MIN(historyLength, EZAudioPlotDefaultMaxHistoryBufferLength);
|
||||
size_t floatByteSize = sizeof(float);
|
||||
_changingHistorySize = YES;
|
||||
if (_scrollHistoryLength != historyLength){
|
||||
_scrollHistoryLength = historyLength;
|
||||
}
|
||||
_scrollHistory = realloc(_scrollHistory,_scrollHistoryLength*floatByteSize);
|
||||
if (_scrollHistoryIndex < _scrollHistoryLength){
|
||||
memset(&_scrollHistory[_scrollHistoryIndex],
|
||||
0,
|
||||
(_scrollHistoryLength-_scrollHistoryIndex)*floatByteSize);
|
||||
}
|
||||
else {
|
||||
_scrollHistoryIndex = _scrollHistoryLength;
|
||||
}
|
||||
_changingHistorySize = NO;
|
||||
return historyLength;
|
||||
#endif
|
||||
return EZAudioPlotDefaultHistoryBufferLength;
|
||||
}
|
||||
|
||||
-(int)rollingHistoryLength {
|
||||
#if TARGET_OS_IPHONE
|
||||
return self.glViewController.rollingHistoryLength;
|
||||
#elif TARGET_OS_MAC
|
||||
return _scrollHistoryLength;
|
||||
#endif
|
||||
}
|
||||
|
||||
#pragma mark - Clearing
|
||||
-(void)clear {
|
||||
#if TARGET_OS_IPHONE
|
||||
[self.glViewController clear];
|
||||
#elif TARGET_OS_MAC
|
||||
#endif
|
||||
}
|
||||
|
||||
#pragma mark - Graph Methods
|
||||
+(void)fillGraph:(EZAudioPlotGLPoint*)graph
|
||||
withGraphSize:(UInt32)graphSize
|
||||
forDrawingType:(EZAudioPlotGLDrawType)drawingType
|
||||
withBuffer:(float*)buffer
|
||||
withBufferSize:(UInt32)bufferSize
|
||||
withGain:(float)gain {
|
||||
if (drawingType == EZAudioPlotGLDrawTypeLineStrip){
|
||||
// graph size = buffer size to stroke waveform
|
||||
for(int i = 0; i < graphSize; i++){
|
||||
float x = [EZAudioUtilities MAP:i
|
||||
leftMin:0
|
||||
leftMax:bufferSize
|
||||
rightMin:-1.0
|
||||
rightMax:1.0];
|
||||
graph[i].x = x;
|
||||
graph[i].y = gain*buffer[i];
|
||||
}
|
||||
}
|
||||
else if (drawingType == EZAudioPlotGLDrawTypeTriangleStrip) {
|
||||
// graph size = 2 * buffer size to draw triangles and fill regions properly
|
||||
for(int i = 0; i < graphSize; i+=2){
|
||||
int bufferIndex = (int)[EZAudioUtilities MAP:i
|
||||
leftMin:0
|
||||
leftMax:graphSize
|
||||
rightMin:0
|
||||
rightMax:bufferSize];
|
||||
float x = [EZAudioUtilities MAP:bufferIndex
|
||||
leftMin:0
|
||||
leftMax:bufferSize
|
||||
rightMin:-1.0
|
||||
rightMax:1.0];
|
||||
graph[i].x = x;
|
||||
graph[i].y = 0.0f;
|
||||
}
|
||||
for(int i = 0; i < graphSize; i+=2){
|
||||
int bufferIndex = (int)[EZAudioUtilities
|
||||
MAP:i
|
||||
leftMin:0
|
||||
leftMax:graphSize
|
||||
rightMin:0
|
||||
rightMax:bufferSize];
|
||||
float x = [EZAudioUtilities MAP:bufferIndex
|
||||
leftMin:0
|
||||
leftMax:bufferSize
|
||||
rightMin:-1.0
|
||||
rightMax:1.0];
|
||||
graph[i+1].x = x;
|
||||
graph[i+1].y = gain*buffer[bufferIndex];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+(UInt32)graphSizeForDrawingType:(EZAudioPlotGLDrawType)drawingType
|
||||
withBufferSize:(UInt32)bufferSize {
|
||||
UInt32 graphSize = bufferSize;
|
||||
switch(drawingType) {
|
||||
case EZAudioPlotGLDrawTypeLineStrip:
|
||||
graphSize = bufferSize;
|
||||
break;
|
||||
case EZAudioPlotGLDrawTypeTriangleStrip:
|
||||
graphSize = 2*bufferSize;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return graphSize;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -1,127 +0,0 @@
|
||||
//
|
||||
// EZAudioPlotGLKViewController.h
|
||||
// EZAudio
|
||||
//
|
||||
// Created by Syed Haris Ali on 11/22/13.
|
||||
// Copyright (c) 2015 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import "TargetConditionals.h"
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
|
||||
#import "EZAudioPlotGL.h"
|
||||
|
||||
@class EZAudio;
|
||||
|
||||
/**
|
||||
EZAudioPlotGLKViewController is a subclass of the GLKViewController and handles the OpenGL drawing routine for iOS OpenGL ES views. This class has not been used outside the scope of the EZAudioPlotGL, but should be safe to use by itself if the intended use case is to have a view controller take up the whole screen.
|
||||
*/
|
||||
@interface EZAudioPlotGLKViewController : GLKViewController
|
||||
|
||||
#pragma mark - Properties
|
||||
///-----------------------------------------------------------
|
||||
/// @name Customizing The Plot's Appearance
|
||||
///-----------------------------------------------------------
|
||||
/**
|
||||
The default background color of the plot. For iOS the color is specified as a UIColor while for OSX the color is an NSColor. The default value on both platforms is black.
|
||||
*/
|
||||
@property (nonatomic,strong) UIColor *backgroundColor;
|
||||
|
||||
/**
|
||||
The default shader to use to fill the graph.
|
||||
*/
|
||||
@property (nonatomic,strong) GLKBaseEffect *baseEffect;
|
||||
|
||||
/**
|
||||
The default color of the plot's data (i.e. waveform, y-axis values). For iOS the color is specified as a UIColor while for OSX the color is an NSColor. The default value on both platforms is red.
|
||||
*/
|
||||
@property (nonatomic,strong) UIColor *color;
|
||||
|
||||
/**
|
||||
The OpenGL ES context (EAGLContext) in which to perform the drawing
|
||||
*/
|
||||
@property (nonatomic,strong) EAGLContext *context;
|
||||
|
||||
/**
|
||||
The EZAudioPlotGLDrawType specifying which OpenGL primitive to use for drawing (either line strip for stroke and no fill or triangle strip for fill)
|
||||
*/
|
||||
@property (nonatomic,assign) EZAudioPlotGLDrawType drawingType;
|
||||
|
||||
/**
|
||||
The plot's gain value, which controls the scale of the y-axis values. The default value of the gain is 1.0f and should always be greater than 0.0f.
|
||||
*/
|
||||
@property (nonatomic,assign,setter=setGain:) float gain;
|
||||
|
||||
/**
|
||||
The type of plot as specified by the `EZPlotType` enumeration (i.e. a buffer or rolling plot type).
|
||||
*/
|
||||
@property (nonatomic,assign,setter=setPlotType:) EZPlotType plotType;
|
||||
|
||||
/**
|
||||
A boolean indicating whether the graph should be rotated along the x-axis to give a mirrored reflection. This is typical for audio plots to produce the classic waveform look. A value of YES will produce a mirrored reflection of the y-values about the x-axis, while a value of NO will only plot the y-values.
|
||||
*/
|
||||
@property (nonatomic,assign,setter=setShouldMirror:) BOOL shouldMirror;
|
||||
|
||||
#pragma mark - Adjust Resolution
|
||||
///-----------------------------------------------------------
|
||||
/// @name Adjusting The Resolution
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Sets the length of the rolling history display. Can grow or shrink the display up to the maximum size specified by the kEZAudioPlotMaxHistoryBufferLength macro. Will return the actual set value, which will be either the given value if smaller than the kEZAudioPlotMaxHistoryBufferLength or kEZAudioPlotMaxHistoryBufferLength if a larger value is attempted to be set.
|
||||
@param historyLength The new length of the rolling history buffer.
|
||||
@return The new value equal to the historyLength or the kEZAudioPlotMaxHistoryBufferLength.
|
||||
*/
|
||||
-(int)setRollingHistoryLength:(int)historyLength;
|
||||
|
||||
/**
|
||||
Provides the length of the rolling history buffer
|
||||
* @return An int representing the length of the rolling history buffer
|
||||
*/
|
||||
-(int)rollingHistoryLength;
|
||||
|
||||
#pragma mark - Clearing
|
||||
///-----------------------------------------------------------
|
||||
/// @name Clearing The Plot
|
||||
///-----------------------------------------------------------
|
||||
|
||||
/**
|
||||
Clears all data from the audio plot (includes both EZPlotTypeBuffer and EZPlotTypeRolling)
|
||||
*/
|
||||
-(void)clear;
|
||||
|
||||
#pragma mark - Get Samples
|
||||
///-----------------------------------------------------------
|
||||
/// @name Updating The Plot
|
||||
///-----------------------------------------------------------
|
||||
/**
|
||||
Updates the plot with the new buffer data and tells the view to redraw itself. Caller will provide a float array with the values they expect to see on the y-axis. The plot will internally handle mapping the x-axis and y-axis to the current view port, any interpolation for fills effects, and mirroring.
|
||||
@param buffer A float array of values to map to the y-axis.
|
||||
@param bufferSize The size of the float array that will be mapped to the y-axis.
|
||||
@warning The bufferSize is expected to be the same, constant value once initial triggered. For plots using OpenGL a vertex buffer object will be allocated with a maximum buffersize of (2 * the initial given buffer size) to account for any interpolation necessary for filling in the graph. Updates use the glBufferSubData(...) function, which will crash if the buffersize exceeds the initial maximum allocated size.
|
||||
*/
|
||||
-(void)updateBuffer:(float *)buffer
|
||||
withBufferSize:(UInt32)bufferSize;
|
||||
|
||||
@end
|
||||
|
||||
#elif TARGET_OS_MAC
|
||||
#endif
|
||||
@@ -1,486 +0,0 @@
|
||||
//
|
||||
// EZAudioPlotGLKViewController.m
|
||||
// EZAudio
|
||||
//
|
||||
// Created by Syed Haris Ali on 11/22/13.
|
||||
// Copyright (c) 2015 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
|
||||
#import "EZAudioPlotGLKViewController.h"
|
||||
#import "EZAudioUtilities.h"
|
||||
#import "EZAudioPlot.h"
|
||||
|
||||
@interface EZAudioPlotGLKViewController () {
|
||||
|
||||
// Flags indicating whether the plots have been instantiated
|
||||
BOOL _hasBufferPlotData;
|
||||
BOOL _hasRollingPlotData;
|
||||
|
||||
// The buffers
|
||||
GLuint _bufferPlotVBO;
|
||||
GLuint _rollingPlotVBO;
|
||||
|
||||
// Buffers size
|
||||
UInt32 _bufferPlotGraphSize;
|
||||
UInt32 _rollingPlotGraphSize;
|
||||
|
||||
// Rolling History
|
||||
BOOL _setMaxLength;
|
||||
float *_scrollHistory;
|
||||
int _scrollHistoryIndex;
|
||||
UInt32 _scrollHistoryLength;
|
||||
BOOL _changingHistorySize;
|
||||
|
||||
}
|
||||
@end
|
||||
|
||||
@implementation EZAudioPlotGLKViewController
|
||||
@synthesize baseEffect = _baseEffect;
|
||||
@synthesize context = _context;
|
||||
@synthesize drawingType = _drawingType;
|
||||
@synthesize plotType = _plotType;
|
||||
@synthesize shouldMirror = _shouldMirror;
|
||||
|
||||
#pragma mark - Initialization
|
||||
-(id)init
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
[self initializeView];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
-(id)initWithCoder:(NSCoder *)aDecoder {
|
||||
self = [super initWithCoder:aDecoder];
|
||||
if(self){
|
||||
[self initializeView];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if(self){
|
||||
[self initializeView];
|
||||
}
|
||||
return self;
|
||||
|
||||
}
|
||||
#pragma mark - Initialize Properties Here
|
||||
-(void)initializeView {
|
||||
// Setup the base effect
|
||||
self.baseEffect = [[GLKBaseEffect alloc] init];
|
||||
self.baseEffect.useConstantColor = GL_TRUE;
|
||||
self.preferredFramesPerSecond = 60;
|
||||
_scrollHistory = NULL;
|
||||
_scrollHistoryLength = EZAudioPlotDefaultHistoryBufferLength;
|
||||
}
|
||||
|
||||
#pragma mark - View Did Load
|
||||
-(void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
// Setup the context
|
||||
if (![EAGLContext currentContext])
|
||||
{
|
||||
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
|
||||
}
|
||||
else
|
||||
{
|
||||
self.context = [EAGLContext currentContext];
|
||||
}
|
||||
|
||||
if (!self.context) {
|
||||
NSLog(@"Failed to create ES context");
|
||||
}
|
||||
else {
|
||||
EAGLContext.currentContext = self.context;
|
||||
}
|
||||
|
||||
// Set the view's context
|
||||
GLKView *view = (GLKView *)self.view;
|
||||
view.context = self.context;
|
||||
view.drawableMultisample = GLKViewDrawableMultisample4X;
|
||||
view.opaque = NO;
|
||||
|
||||
// Generate both the buffer id references
|
||||
glGenBuffers(1, &_bufferPlotVBO);
|
||||
glGenBuffers(1, &_rollingPlotVBO);
|
||||
|
||||
// Refresh color values
|
||||
[self _refreshWithBackgroundColor: self.backgroundColor];
|
||||
[self _refreshWithColor: self.color];
|
||||
|
||||
// Set the line width for the context
|
||||
glLineWidth(2.0);
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - Adjust Resolution
|
||||
-(int)setRollingHistoryLength:(int)historyLength {
|
||||
_changingHistorySize = YES;
|
||||
historyLength = MIN(historyLength, EZAudioPlotDefaultMaxHistoryBufferLength);
|
||||
size_t floatByteSize = sizeof(float);
|
||||
if (_scrollHistoryLength != historyLength){
|
||||
_scrollHistoryLength = historyLength;
|
||||
}
|
||||
_scrollHistory = realloc(_scrollHistory,_scrollHistoryLength*floatByteSize);
|
||||
if (_scrollHistoryIndex < _scrollHistoryLength){
|
||||
memset(&_scrollHistory[_scrollHistoryIndex],
|
||||
0,
|
||||
(_scrollHistoryLength-_scrollHistoryIndex)*floatByteSize);
|
||||
}
|
||||
else {
|
||||
_scrollHistoryIndex = _scrollHistoryLength;
|
||||
}
|
||||
[self _updateRollingPlotDisplay];
|
||||
_changingHistorySize = NO;
|
||||
return historyLength;
|
||||
}
|
||||
|
||||
-(int)rollingHistoryLength {
|
||||
return _scrollHistoryLength;
|
||||
}
|
||||
|
||||
#pragma mark - Clearing
|
||||
-(void)clear
|
||||
{
|
||||
_scrollHistoryIndex = 0;
|
||||
[self _clearBufferPlot];
|
||||
[self _clearRollingPlot];
|
||||
}
|
||||
|
||||
-(void)_clearBufferPlot
|
||||
{
|
||||
if (_hasBufferPlotData)
|
||||
{
|
||||
float empty[_bufferPlotGraphSize];
|
||||
memset( empty, 0.0f, sizeof(float));
|
||||
[self _updateBufferPlotBufferWithAudioReceived:empty
|
||||
withBufferSize:_bufferPlotGraphSize];
|
||||
}
|
||||
}
|
||||
|
||||
-(void)_clearRollingPlot
|
||||
{
|
||||
if (_hasRollingPlotData)
|
||||
{
|
||||
float empty[_rollingPlotGraphSize];
|
||||
EZAudioPlotGLPoint graph[_rollingPlotGraphSize];
|
||||
// Figure out better way to do this
|
||||
for(int i = 0; i < _rollingPlotGraphSize; i++)
|
||||
{
|
||||
empty[i] = 0.0f;
|
||||
}
|
||||
for(int i = 0; i < _scrollHistoryLength; i++)
|
||||
{
|
||||
_scrollHistory[i] = 0.0f;
|
||||
}
|
||||
// Update the scroll history datasource
|
||||
[EZAudioUtilities updateScrollHistory:&_scrollHistory
|
||||
withLength:_scrollHistoryLength
|
||||
atIndex:&_scrollHistoryIndex
|
||||
withBuffer:empty
|
||||
withBufferSize:_rollingPlotGraphSize
|
||||
isResolutionChanging:&_changingHistorySize];
|
||||
// Fill in graph data
|
||||
[EZAudioPlotGL fillGraph:graph
|
||||
withGraphSize:_rollingPlotGraphSize
|
||||
forDrawingType:_drawingType
|
||||
withBuffer:_scrollHistory
|
||||
withBufferSize:_scrollHistoryLength
|
||||
withGain:self.gain];
|
||||
// Update the drawing
|
||||
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(graph), graph);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Get Samples
|
||||
-(void)updateBuffer:(float *)buffer
|
||||
withBufferSize:(UInt32)bufferSize {
|
||||
|
||||
// Make sure the update render loop is active
|
||||
if (self.paused) self.paused = NO;
|
||||
|
||||
// Make sure we are updating the buffers on the correct gl context.
|
||||
EAGLContext.currentContext = self.context;
|
||||
|
||||
// Draw based on plot type
|
||||
switch(_plotType) {
|
||||
case EZPlotTypeBuffer:
|
||||
[self _updateBufferPlotBufferWithAudioReceived:buffer
|
||||
withBufferSize:bufferSize];
|
||||
break;
|
||||
case EZPlotTypeRolling:
|
||||
[self _updateRollingPlotBufferWithAudioReceived:buffer
|
||||
withBufferSize:bufferSize];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - Buffer Updating By Type
|
||||
-(void)_updateBufferPlotBufferWithAudioReceived:(float*)buffer
|
||||
withBufferSize:(UInt32)bufferSize {
|
||||
|
||||
glBindBuffer(GL_ARRAY_BUFFER, _bufferPlotVBO);
|
||||
|
||||
// If starting with a VBO of half of our max size make sure we initialize it to anticipate
|
||||
// a filled graph (which needs 2 * bufferSize) to allocate its resources properly
|
||||
if (!_hasBufferPlotData && _drawingType == EZAudioPlotGLDrawTypeLineStrip){
|
||||
EZAudioPlotGLPoint maxGraph[2*bufferSize];
|
||||
glBufferData(GL_ARRAY_BUFFER, sizeof(maxGraph), maxGraph, GL_STREAM_DRAW);
|
||||
_hasBufferPlotData = YES;
|
||||
}
|
||||
|
||||
// Setup the buffer plot's graph size
|
||||
_bufferPlotGraphSize = [EZAudioPlotGL graphSizeForDrawingType:_drawingType
|
||||
withBufferSize:bufferSize];
|
||||
|
||||
// Setup the graph
|
||||
EZAudioPlotGLPoint graph[_bufferPlotGraphSize];
|
||||
|
||||
// Fill in graph data
|
||||
[EZAudioPlotGL fillGraph:graph
|
||||
withGraphSize:_bufferPlotGraphSize
|
||||
forDrawingType:_drawingType
|
||||
withBuffer:buffer
|
||||
withBufferSize:bufferSize
|
||||
withGain:self.gain];
|
||||
|
||||
if (!_hasBufferPlotData){
|
||||
glBufferData( GL_ARRAY_BUFFER, sizeof(graph), graph, GL_STREAM_DRAW);
|
||||
_hasBufferPlotData = YES;
|
||||
}
|
||||
else {
|
||||
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(graph), graph);
|
||||
}
|
||||
|
||||
glBindBuffer(GL_ARRAY_BUFFER, 0);
|
||||
|
||||
}
|
||||
|
||||
-(void)_updateRollingPlotBufferWithAudioReceived:(float*)buffer
|
||||
withBufferSize:(UInt32)bufferSize {
|
||||
|
||||
glBindBuffer(GL_ARRAY_BUFFER, _rollingPlotVBO);
|
||||
|
||||
|
||||
|
||||
// If starting with a VBO of half of our max size make sure we initialize it to anticipate
|
||||
// a filled graph (which needs 2 * bufferSize) to allocate its resources properly
|
||||
if (!_hasRollingPlotData){
|
||||
EZAudioPlotGLPoint maxGraph[2*EZAudioPlotDefaultMaxHistoryBufferLength];
|
||||
glBufferData( GL_ARRAY_BUFFER, sizeof(maxGraph), maxGraph, GL_STREAM_DRAW);
|
||||
_hasRollingPlotData = YES;
|
||||
}
|
||||
|
||||
// Setup the plot
|
||||
_rollingPlotGraphSize = [EZAudioPlotGL graphSizeForDrawingType:_drawingType
|
||||
withBufferSize:_scrollHistoryLength];
|
||||
|
||||
// Fill the graph with data
|
||||
EZAudioPlotGLPoint graph[_rollingPlotGraphSize];
|
||||
|
||||
// Update the scroll history datasource
|
||||
[EZAudioUtilities updateScrollHistory:&_scrollHistory
|
||||
withLength:_scrollHistoryLength
|
||||
atIndex:&_scrollHistoryIndex
|
||||
withBuffer:buffer
|
||||
withBufferSize:bufferSize
|
||||
isResolutionChanging:&_changingHistorySize];
|
||||
|
||||
// Fill in graph data
|
||||
[EZAudioPlotGL fillGraph:graph
|
||||
withGraphSize:_rollingPlotGraphSize
|
||||
forDrawingType:_drawingType
|
||||
withBuffer:_scrollHistory
|
||||
withBufferSize:_scrollHistoryLength
|
||||
withGain:self.gain];
|
||||
|
||||
// Update the drawing
|
||||
if (!_hasRollingPlotData){
|
||||
glBufferData( GL_ARRAY_BUFFER, sizeof(graph) , graph, GL_STREAM_DRAW);
|
||||
_hasRollingPlotData = YES;
|
||||
}
|
||||
else {
|
||||
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(graph), graph);
|
||||
}
|
||||
|
||||
glBindBuffer(GL_ARRAY_BUFFER, 0);
|
||||
|
||||
}
|
||||
|
||||
-(void)_updateRollingPlotDisplay {
|
||||
// Setup the plot
|
||||
_rollingPlotGraphSize = [EZAudioPlotGL graphSizeForDrawingType:_drawingType
|
||||
withBufferSize:_scrollHistoryLength];
|
||||
|
||||
// Fill the graph with data
|
||||
EZAudioPlotGLPoint graph[_rollingPlotGraphSize];
|
||||
|
||||
// Fill in graph data
|
||||
[EZAudioPlotGL fillGraph:graph
|
||||
withGraphSize:_rollingPlotGraphSize
|
||||
forDrawingType:_drawingType
|
||||
withBuffer:_scrollHistory
|
||||
withBufferSize:_scrollHistoryLength
|
||||
withGain:self.gain];
|
||||
|
||||
// Update the drawing
|
||||
if (_hasRollingPlotData){
|
||||
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(graph), graph);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Drawing
|
||||
-(void)glkView:(GLKView *)view drawInRect:(CGRect)rect {
|
||||
|
||||
EAGLContext.currentContext = self.context;
|
||||
|
||||
// Clear the context
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
if (_hasBufferPlotData || _hasRollingPlotData){
|
||||
// Prepare the effect for drawing
|
||||
[self.baseEffect prepareToDraw];
|
||||
|
||||
// Plot either a buffer plot or a rolling plot
|
||||
switch(_plotType) {
|
||||
case EZPlotTypeBuffer:
|
||||
[self _drawBufferPlotWithView:view
|
||||
drawInRect:rect];
|
||||
break;
|
||||
case EZPlotTypeRolling:
|
||||
[self _drawRollingPlotWithView:view
|
||||
drawInRect:rect];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Private Drawing
|
||||
-(void)_drawBufferPlotWithView:(GLKView*)view drawInRect:(CGRect)rect {
|
||||
if (_hasBufferPlotData){
|
||||
|
||||
glBindBuffer(GL_ARRAY_BUFFER, _bufferPlotVBO);
|
||||
glEnableVertexAttribArray(GLKVertexAttribPosition);
|
||||
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, sizeof(EZAudioPlotGLPoint), NULL);
|
||||
|
||||
// Normal plot
|
||||
|
||||
self.baseEffect.transform.modelviewMatrix = GLKMatrix4MakeXRotation(0);
|
||||
glDrawArrays(_drawingType, 0, _bufferPlotGraphSize);
|
||||
|
||||
|
||||
if (self.shouldMirror){
|
||||
// Mirrored plot
|
||||
[self.baseEffect prepareToDraw];
|
||||
|
||||
self.baseEffect.transform.modelviewMatrix = GLKMatrix4MakeXRotation(M_PI);
|
||||
glDrawArrays(_drawingType, 0, _bufferPlotGraphSize);
|
||||
|
||||
}
|
||||
|
||||
|
||||
glBindBuffer(GL_ARRAY_BUFFER,0);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
-(void)_drawRollingPlotWithView:(GLKView*)view drawInRect:(CGRect)rect {
|
||||
if (_hasRollingPlotData){
|
||||
|
||||
// Normal plot
|
||||
glBindBuffer(GL_ARRAY_BUFFER, _rollingPlotVBO);
|
||||
glEnableVertexAttribArray(GLKVertexAttribPosition);
|
||||
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, sizeof(EZAudioPlotGLPoint), NULL);
|
||||
|
||||
// Normal plot
|
||||
|
||||
self.baseEffect.transform.modelviewMatrix = GLKMatrix4MakeXRotation(0);
|
||||
glDrawArrays(_drawingType, 0, _rollingPlotGraphSize);
|
||||
|
||||
|
||||
if (self.shouldMirror){
|
||||
// Mirrored plot
|
||||
[self.baseEffect prepareToDraw];
|
||||
|
||||
self.baseEffect.transform.modelviewMatrix = GLKMatrix4MakeXRotation(3.14159265359);
|
||||
glDrawArrays(_drawingType, 0, _rollingPlotGraphSize);
|
||||
|
||||
}
|
||||
|
||||
glBindBuffer(GL_ARRAY_BUFFER,0);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Setters
|
||||
-(void)setBackgroundColor:(UIColor *)backgroundColor {
|
||||
// Set the background color
|
||||
_backgroundColor = backgroundColor;
|
||||
// Refresh background color (map to GL vector)
|
||||
[self _refreshWithBackgroundColor:backgroundColor];
|
||||
}
|
||||
|
||||
-(void)setColor:(UIColor *)color {
|
||||
// Set the color
|
||||
_color = color;
|
||||
// Refresh the color (map to GL vector)
|
||||
[self _refreshWithColor:color];
|
||||
}
|
||||
|
||||
#pragma mark - Private Setters
|
||||
-(void)_refreshWithBackgroundColor:(UIColor*)backgroundColor {
|
||||
// Extract colors
|
||||
CGFloat red; CGFloat green; CGFloat blue; CGFloat alpha;
|
||||
[backgroundColor getRed:&red
|
||||
green:&green
|
||||
blue:&blue
|
||||
alpha:&alpha];
|
||||
// Set them on the context
|
||||
glClearColor((GLclampf)red,(GLclampf)green,(GLclampf)blue,(GLclampf)alpha);
|
||||
}
|
||||
|
||||
-(void)_refreshWithColor:(UIColor*)color {
|
||||
// Extract colors
|
||||
CGFloat red; CGFloat green; CGFloat blue; CGFloat alpha;
|
||||
[color getRed:&red
|
||||
green:&green
|
||||
blue:&blue
|
||||
alpha:&alpha];
|
||||
// Set them on the base shader
|
||||
self.baseEffect.constantColor = GLKVector4Make((GLclampf)red,(GLclampf)green,(GLclampf)blue,(GLclampf)alpha);
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
#elif TARGET_OS_MAC
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,444 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
6611CE781B45EB3200AE0EE8 /* EZAudioDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE571B45EB3200AE0EE8 /* EZAudioDevice.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE791B45EB3200AE0EE8 /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE581B45EB3200AE0EE8 /* EZAudioDevice.m */; };
|
||||
6611CE7A1B45EB3200AE0EE8 /* EZAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE591B45EB3200AE0EE8 /* EZAudioFile.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE7B1B45EB3200AE0EE8 /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE5A1B45EB3200AE0EE8 /* EZAudioFile.m */; };
|
||||
6611CE7C1B45EB3200AE0EE8 /* EZAudioPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE5B1B45EB3200AE0EE8 /* EZAudioPlayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE7D1B45EB3200AE0EE8 /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE5C1B45EB3200AE0EE8 /* EZAudioPlayer.m */; };
|
||||
6611CE7E1B45EB3200AE0EE8 /* EZMicrophone.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE5D1B45EB3200AE0EE8 /* EZMicrophone.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE7F1B45EB3200AE0EE8 /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE5E1B45EB3200AE0EE8 /* EZMicrophone.m */; };
|
||||
6611CE801B45EB3200AE0EE8 /* EZOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE5F1B45EB3200AE0EE8 /* EZOutput.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE811B45EB3200AE0EE8 /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE601B45EB3200AE0EE8 /* EZOutput.m */; };
|
||||
6611CE821B45EB3200AE0EE8 /* EZRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE611B45EB3200AE0EE8 /* EZRecorder.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE831B45EB3200AE0EE8 /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE621B45EB3200AE0EE8 /* EZRecorder.m */; };
|
||||
6611CE841B45EB3200AE0EE8 /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE641B45EB3200AE0EE8 /* TPCircularBuffer.c */; };
|
||||
6611CE851B45EB3200AE0EE8 /* TPCircularBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE651B45EB3200AE0EE8 /* TPCircularBuffer.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE861B45EB3200AE0EE8 /* EZAudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE661B45EB3200AE0EE8 /* EZAudio.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE871B45EB3200AE0EE8 /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE671B45EB3200AE0EE8 /* EZAudio.m */; };
|
||||
6611CE881B45EB3200AE0EE8 /* EZAudioDisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE691B45EB3200AE0EE8 /* EZAudioDisplayLink.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE891B45EB3200AE0EE8 /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE6A1B45EB3200AE0EE8 /* EZAudioDisplayLink.m */; };
|
||||
6611CE8A1B45EB3200AE0EE8 /* EZAudioPlot.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE6B1B45EB3200AE0EE8 /* EZAudioPlot.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE8B1B45EB3200AE0EE8 /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE6C1B45EB3200AE0EE8 /* EZAudioPlot.m */; };
|
||||
6611CE8C1B45EB3200AE0EE8 /* EZAudioPlotGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE6D1B45EB3200AE0EE8 /* EZAudioPlotGL.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE8D1B45EB3200AE0EE8 /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE6E1B45EB3200AE0EE8 /* EZAudioPlotGL.m */; };
|
||||
6611CE8E1B45EB3200AE0EE8 /* EZPlot.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE6F1B45EB3200AE0EE8 /* EZPlot.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE8F1B45EB3200AE0EE8 /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE701B45EB3200AE0EE8 /* EZPlot.m */; };
|
||||
6611CE901B45EB3200AE0EE8 /* EZAudioFloatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE721B45EB3200AE0EE8 /* EZAudioFloatConverter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE911B45EB3200AE0EE8 /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE731B45EB3200AE0EE8 /* EZAudioFloatConverter.m */; };
|
||||
6611CE921B45EB3200AE0EE8 /* EZAudioFloatData.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE741B45EB3200AE0EE8 /* EZAudioFloatData.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE931B45EB3200AE0EE8 /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE751B45EB3200AE0EE8 /* EZAudioFloatData.m */; };
|
||||
6611CE941B45EB3200AE0EE8 /* EZAudioUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE761B45EB3200AE0EE8 /* EZAudioUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE951B45EB3200AE0EE8 /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE771B45EB3200AE0EE8 /* EZAudioUtilities.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
6611CE571B45EB3200AE0EE8 /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
|
||||
6611CE581B45EB3200AE0EE8 /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
|
||||
6611CE591B45EB3200AE0EE8 /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
|
||||
6611CE5A1B45EB3200AE0EE8 /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
|
||||
6611CE5B1B45EB3200AE0EE8 /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
|
||||
6611CE5C1B45EB3200AE0EE8 /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
|
||||
6611CE5D1B45EB3200AE0EE8 /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
|
||||
6611CE5E1B45EB3200AE0EE8 /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
|
||||
6611CE5F1B45EB3200AE0EE8 /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
|
||||
6611CE601B45EB3200AE0EE8 /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
|
||||
6611CE611B45EB3200AE0EE8 /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
|
||||
6611CE621B45EB3200AE0EE8 /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
|
||||
6611CE641B45EB3200AE0EE8 /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
|
||||
6611CE651B45EB3200AE0EE8 /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
|
||||
6611CE661B45EB3200AE0EE8 /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EZAudio.h; path = ../../../Classes/EZAudio.h; sourceTree = "<group>"; };
|
||||
6611CE671B45EB3200AE0EE8 /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EZAudio.m; path = ../../../Classes/EZAudio.m; sourceTree = "<group>"; };
|
||||
6611CE691B45EB3200AE0EE8 /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
|
||||
6611CE6A1B45EB3200AE0EE8 /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
|
||||
6611CE6B1B45EB3200AE0EE8 /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
|
||||
6611CE6C1B45EB3200AE0EE8 /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
|
||||
6611CE6D1B45EB3200AE0EE8 /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
|
||||
6611CE6E1B45EB3200AE0EE8 /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
|
||||
6611CE6F1B45EB3200AE0EE8 /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
|
||||
6611CE701B45EB3200AE0EE8 /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
|
||||
6611CE721B45EB3200AE0EE8 /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
|
||||
6611CE731B45EB3200AE0EE8 /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
|
||||
6611CE741B45EB3200AE0EE8 /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
|
||||
6611CE751B45EB3200AE0EE8 /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
|
||||
6611CE761B45EB3200AE0EE8 /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
|
||||
6611CE771B45EB3200AE0EE8 /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
|
||||
662427121B4510F30069FFD7 /* EZAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = EZAudio.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
662427161B4510F30069FFD7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
6624270E1B4510F30069FFD7 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
6611CE561B45EB3200AE0EE8 /* Core Components */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CE571B45EB3200AE0EE8 /* EZAudioDevice.h */,
|
||||
6611CE581B45EB3200AE0EE8 /* EZAudioDevice.m */,
|
||||
6611CE591B45EB3200AE0EE8 /* EZAudioFile.h */,
|
||||
6611CE5A1B45EB3200AE0EE8 /* EZAudioFile.m */,
|
||||
6611CE5B1B45EB3200AE0EE8 /* EZAudioPlayer.h */,
|
||||
6611CE5C1B45EB3200AE0EE8 /* EZAudioPlayer.m */,
|
||||
6611CE5D1B45EB3200AE0EE8 /* EZMicrophone.h */,
|
||||
6611CE5E1B45EB3200AE0EE8 /* EZMicrophone.m */,
|
||||
6611CE5F1B45EB3200AE0EE8 /* EZOutput.h */,
|
||||
6611CE601B45EB3200AE0EE8 /* EZOutput.m */,
|
||||
6611CE611B45EB3200AE0EE8 /* EZRecorder.h */,
|
||||
6611CE621B45EB3200AE0EE8 /* EZRecorder.m */,
|
||||
);
|
||||
name = "Core Components";
|
||||
path = "../../../Classes/Core Components";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6611CE631B45EB3200AE0EE8 /* External */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CE641B45EB3200AE0EE8 /* TPCircularBuffer.c */,
|
||||
6611CE651B45EB3200AE0EE8 /* TPCircularBuffer.h */,
|
||||
);
|
||||
name = External;
|
||||
path = ../../../Classes/External;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6611CE681B45EB3200AE0EE8 /* Interface Components */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CE691B45EB3200AE0EE8 /* EZAudioDisplayLink.h */,
|
||||
6611CE6A1B45EB3200AE0EE8 /* EZAudioDisplayLink.m */,
|
||||
6611CE6B1B45EB3200AE0EE8 /* EZAudioPlot.h */,
|
||||
6611CE6C1B45EB3200AE0EE8 /* EZAudioPlot.m */,
|
||||
6611CE6D1B45EB3200AE0EE8 /* EZAudioPlotGL.h */,
|
||||
6611CE6E1B45EB3200AE0EE8 /* EZAudioPlotGL.m */,
|
||||
6611CE6F1B45EB3200AE0EE8 /* EZPlot.h */,
|
||||
6611CE701B45EB3200AE0EE8 /* EZPlot.m */,
|
||||
);
|
||||
name = "Interface Components";
|
||||
path = "../../../Classes/Interface Components";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6611CE711B45EB3200AE0EE8 /* Utility Components */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CE721B45EB3200AE0EE8 /* EZAudioFloatConverter.h */,
|
||||
6611CE731B45EB3200AE0EE8 /* EZAudioFloatConverter.m */,
|
||||
6611CE741B45EB3200AE0EE8 /* EZAudioFloatData.h */,
|
||||
6611CE751B45EB3200AE0EE8 /* EZAudioFloatData.m */,
|
||||
6611CE761B45EB3200AE0EE8 /* EZAudioUtilities.h */,
|
||||
6611CE771B45EB3200AE0EE8 /* EZAudioUtilities.m */,
|
||||
);
|
||||
name = "Utility Components";
|
||||
path = "../../../Classes/Utility Components";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
662427081B4510F30069FFD7 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
662427141B4510F30069FFD7 /* EZAudio */,
|
||||
662427131B4510F30069FFD7 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
662427131B4510F30069FFD7 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
662427121B4510F30069FFD7 /* EZAudio.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
662427141B4510F30069FFD7 /* EZAudio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CE661B45EB3200AE0EE8 /* EZAudio.h */,
|
||||
6611CE671B45EB3200AE0EE8 /* EZAudio.m */,
|
||||
6611CE561B45EB3200AE0EE8 /* Core Components */,
|
||||
6611CE631B45EB3200AE0EE8 /* External */,
|
||||
6611CE681B45EB3200AE0EE8 /* Interface Components */,
|
||||
6611CE711B45EB3200AE0EE8 /* Utility Components */,
|
||||
662427151B4510F30069FFD7 /* Supporting Files */,
|
||||
);
|
||||
path = EZAudio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
662427151B4510F30069FFD7 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
662427161B4510F30069FFD7 /* Info.plist */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
6624270F1B4510F30069FFD7 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6611CE8C1B45EB3200AE0EE8 /* EZAudioPlotGL.h in Headers */,
|
||||
6611CE861B45EB3200AE0EE8 /* EZAudio.h in Headers */,
|
||||
6611CE7A1B45EB3200AE0EE8 /* EZAudioFile.h in Headers */,
|
||||
6611CE781B45EB3200AE0EE8 /* EZAudioDevice.h in Headers */,
|
||||
6611CE8A1B45EB3200AE0EE8 /* EZAudioPlot.h in Headers */,
|
||||
6611CE881B45EB3200AE0EE8 /* EZAudioDisplayLink.h in Headers */,
|
||||
6611CE7C1B45EB3200AE0EE8 /* EZAudioPlayer.h in Headers */,
|
||||
6611CE921B45EB3200AE0EE8 /* EZAudioFloatData.h in Headers */,
|
||||
6611CE851B45EB3200AE0EE8 /* TPCircularBuffer.h in Headers */,
|
||||
6611CE8E1B45EB3200AE0EE8 /* EZPlot.h in Headers */,
|
||||
6611CE801B45EB3200AE0EE8 /* EZOutput.h in Headers */,
|
||||
6611CE901B45EB3200AE0EE8 /* EZAudioFloatConverter.h in Headers */,
|
||||
6611CE941B45EB3200AE0EE8 /* EZAudioUtilities.h in Headers */,
|
||||
6611CE7E1B45EB3200AE0EE8 /* EZMicrophone.h in Headers */,
|
||||
6611CE821B45EB3200AE0EE8 /* EZRecorder.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
662427111B4510F30069FFD7 /* EZAudio */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 662427281B4510F30069FFD7 /* Build configuration list for PBXNativeTarget "EZAudio" */;
|
||||
buildPhases = (
|
||||
6624270D1B4510F30069FFD7 /* Sources */,
|
||||
6624270E1B4510F30069FFD7 /* Frameworks */,
|
||||
6624270F1B4510F30069FFD7 /* Headers */,
|
||||
662427101B4510F30069FFD7 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = EZAudio;
|
||||
productName = EZAudio;
|
||||
productReference = 662427121B4510F30069FFD7 /* EZAudio.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
662427091B4510F30069FFD7 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0640;
|
||||
ORGANIZATIONNAME = "Syed Haris Ali";
|
||||
TargetAttributes = {
|
||||
662427111B4510F30069FFD7 = {
|
||||
CreatedOnToolsVersion = 6.4;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 6624270C1B4510F30069FFD7 /* Build configuration list for PBXProject "EZAudio" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 662427081B4510F30069FFD7;
|
||||
productRefGroup = 662427131B4510F30069FFD7 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
662427111B4510F30069FFD7 /* EZAudio */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
662427101B4510F30069FFD7 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
6624270D1B4510F30069FFD7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6611CE8D1B45EB3200AE0EE8 /* EZAudioPlotGL.m in Sources */,
|
||||
6611CE841B45EB3200AE0EE8 /* TPCircularBuffer.c in Sources */,
|
||||
6611CE891B45EB3200AE0EE8 /* EZAudioDisplayLink.m in Sources */,
|
||||
6611CE831B45EB3200AE0EE8 /* EZRecorder.m in Sources */,
|
||||
6611CE7F1B45EB3200AE0EE8 /* EZMicrophone.m in Sources */,
|
||||
6611CE791B45EB3200AE0EE8 /* EZAudioDevice.m in Sources */,
|
||||
6611CE7B1B45EB3200AE0EE8 /* EZAudioFile.m in Sources */,
|
||||
6611CE951B45EB3200AE0EE8 /* EZAudioUtilities.m in Sources */,
|
||||
6611CE871B45EB3200AE0EE8 /* EZAudio.m in Sources */,
|
||||
6611CE811B45EB3200AE0EE8 /* EZOutput.m in Sources */,
|
||||
6611CE8F1B45EB3200AE0EE8 /* EZPlot.m in Sources */,
|
||||
6611CE931B45EB3200AE0EE8 /* EZAudioFloatData.m in Sources */,
|
||||
6611CE8B1B45EB3200AE0EE8 /* EZAudioPlot.m in Sources */,
|
||||
6611CE911B45EB3200AE0EE8 /* EZAudioFloatConverter.m in Sources */,
|
||||
6611CE7D1B45EB3200AE0EE8 /* EZAudioPlayer.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
662427261B4510F30069FFD7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = macosx;
|
||||
SYMROOT = build;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
662427271B4510F30069FFD7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = macosx;
|
||||
SYMROOT = build;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
662427291B4510F30069FFD7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
FRAMEWORK_VERSION = A;
|
||||
INFOPLIST_FILE = EZAudio/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
SYMROOT = build;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
6624272A1B4510F30069FFD7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
FRAMEWORK_VERSION = A;
|
||||
INFOPLIST_FILE = EZAudio/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
SYMROOT = build;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
6624270C1B4510F30069FFD7 /* Build configuration list for PBXProject "EZAudio" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
662427261B4510F30069FFD7 /* Debug */,
|
||||
662427271B4510F30069FFD7 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
662427281B4510F30069FFD7 /* Build configuration list for PBXNativeTarget "EZAudio" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
662427291B4510F30069FFD7 /* Debug */,
|
||||
6624272A1B4510F30069FFD7 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 662427091B4510F30069FFD7 /* Project object */;
|
||||
}
|
||||
+10
-4
@@ -5,18 +5,24 @@
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.sha.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<string>com.sha.$(PRODUCT_NAME:rfc1034identifier)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2015 Syed Haris Ali. All rights reserved.</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,51 +0,0 @@
|
||||
EZAudio
|
||||
|
||||
Created by Syed Haris Ali
|
||||
Copyright (c) 2013 Syed Haris Ali. All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
==========================================================================================
|
||||
|
||||
0.0.1
|
||||
Initial release.
|
||||
Components include: EZAudioFile, EZAudioPlot, EZAudioPlotGL, EZMicrophone, EZOutput, and EZRecorder.
|
||||
Provided 6 example projects: CoreGraphicsWaveform, OpenGLWaveform, WaveformFromFile, PassThrough, Record, and PlayFile.
|
||||
|
||||
0.0.2
|
||||
Fix for Cocoapod spec. Forgot to include files with .c extension.
|
||||
|
||||
0.0.3
|
||||
Changing EZAudioPlot and EZAudioPlotGL to scroll for the EZPlotTypeRolling instead of wiping the screen clean when hitting the end
|
||||
Allowed EZMicrophone EZOutput to have custom AudioStreamBasicDescription setters
|
||||
Fixed bug in EZAudioFile's getWaveformData function where it was not exiting after sending back cached waveform data (rereading from the audio file)
|
||||
Added stereo support for EZMicrophone, EZAudioFile, EZRecorder, and EZOutput
|
||||
Added more memory cleanup for EZAudioFile
|
||||
Added adjustable rolling length for EZAudioPlot and EZAudioPlotGL so those rolling graphs can now range from 128 to 8192 whereas before it was fixed at 1024
|
||||
Added adjustable resolution for waveform data coming from the EZAudioFile so output from the getWaveformDataWithCompletionBlock: function can literally be of any size. Try 128 for a low resolution waveform or 8192 for a much higher resolution waveform.
|
||||
Added quick fix for EZOutput to properly route stereo data coming from a circular buffer datasource. Next version (0.0.4) needs to add EZConverter to allow quick conversions between non-interleaved and interleaved formats.
|
||||
|
||||
0.0.4
|
||||
Added ‘closeAudioFile’ to EZRecorder to properly dispose of internal audio file prior to trying to reload it using the EZAudioFile.
|
||||
Added new EZOutputDataSource method that provides pre-allocated AudioBufferList to fill instead of caller allocating and disposing on AudioBufferList. Much less errors.
|
||||
Added EZAudioPlayer for playback and visualization of local audio files (no network streaming yet).
|
||||
Merged bug fixes from community for EZAudio file.
|
||||
|
||||
0.0.5
|
||||
Added multiple destination recording formats to the EZRecorder (EZRecorderFileType)
|
||||
@@ -1,26 +0,0 @@
|
||||
EZAudio
|
||||
|
||||
Created by Syed Haris Ali
|
||||
Copyright (c) 2013 Syed Haris Ali. All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
==========================================================================================
|
||||
|
||||
0.0.5
|
||||
@@ -0,0 +1,443 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
6611CE181B45CE2400AE0EE8 /* EZAudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CDF71B45CE2400AE0EE8 /* EZAudio.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE191B45CE2400AE0EE8 /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CDF81B45CE2400AE0EE8 /* EZAudio.m */; };
|
||||
6611CE1A1B45CE2400AE0EE8 /* EZAudioDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CDF91B45CE2400AE0EE8 /* EZAudioDevice.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE1B1B45CE2400AE0EE8 /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CDFA1B45CE2400AE0EE8 /* EZAudioDevice.m */; };
|
||||
6611CE1C1B45CE2400AE0EE8 /* EZAudioDisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CDFB1B45CE2400AE0EE8 /* EZAudioDisplayLink.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE1D1B45CE2400AE0EE8 /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CDFC1B45CE2400AE0EE8 /* EZAudioDisplayLink.m */; };
|
||||
6611CE1E1B45CE2400AE0EE8 /* EZAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CDFD1B45CE2400AE0EE8 /* EZAudioFile.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE1F1B45CE2400AE0EE8 /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CDFE1B45CE2400AE0EE8 /* EZAudioFile.m */; };
|
||||
6611CE201B45CE2400AE0EE8 /* EZAudioFloatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CDFF1B45CE2400AE0EE8 /* EZAudioFloatConverter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE211B45CE2400AE0EE8 /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE001B45CE2400AE0EE8 /* EZAudioFloatConverter.m */; };
|
||||
6611CE221B45CE2400AE0EE8 /* EZAudioFloatData.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE011B45CE2400AE0EE8 /* EZAudioFloatData.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE231B45CE2400AE0EE8 /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE021B45CE2400AE0EE8 /* EZAudioFloatData.m */; };
|
||||
6611CE241B45CE2400AE0EE8 /* EZAudioPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE031B45CE2400AE0EE8 /* EZAudioPlayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE251B45CE2400AE0EE8 /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE041B45CE2400AE0EE8 /* EZAudioPlayer.m */; };
|
||||
6611CE261B45CE2400AE0EE8 /* EZAudioPlot.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE051B45CE2400AE0EE8 /* EZAudioPlot.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE271B45CE2400AE0EE8 /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE061B45CE2400AE0EE8 /* EZAudioPlot.m */; };
|
||||
6611CE281B45CE2400AE0EE8 /* EZAudioPlotGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE071B45CE2400AE0EE8 /* EZAudioPlotGL.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE291B45CE2400AE0EE8 /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE081B45CE2400AE0EE8 /* EZAudioPlotGL.m */; };
|
||||
6611CE2A1B45CE2400AE0EE8 /* EZAudioUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE091B45CE2400AE0EE8 /* EZAudioUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE2B1B45CE2400AE0EE8 /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE0A1B45CE2400AE0EE8 /* EZAudioUtilities.m */; };
|
||||
6611CE2C1B45CE2400AE0EE8 /* EZMicrophone.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE0B1B45CE2400AE0EE8 /* EZMicrophone.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE2D1B45CE2400AE0EE8 /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE0C1B45CE2400AE0EE8 /* EZMicrophone.m */; };
|
||||
6611CE2E1B45CE2400AE0EE8 /* EZOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE0D1B45CE2400AE0EE8 /* EZOutput.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE2F1B45CE2400AE0EE8 /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE0E1B45CE2400AE0EE8 /* EZOutput.m */; };
|
||||
6611CE301B45CE2400AE0EE8 /* EZPlot.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE0F1B45CE2400AE0EE8 /* EZPlot.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE311B45CE2400AE0EE8 /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE101B45CE2400AE0EE8 /* EZPlot.m */; };
|
||||
6611CE321B45CE2400AE0EE8 /* EZRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE111B45CE2400AE0EE8 /* EZRecorder.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6611CE331B45CE2400AE0EE8 /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE121B45CE2400AE0EE8 /* EZRecorder.m */; };
|
||||
6611CE341B45CE2400AE0EE8 /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 6611CE131B45CE2400AE0EE8 /* TPCircularBuffer.c */; };
|
||||
6611CE351B45CE2400AE0EE8 /* TPCircularBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6611CE141B45CE2400AE0EE8 /* TPCircularBuffer.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
6611CDDA1B45CDD800AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = EZAudio.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
6611CDDE1B45CDD800AE0EE8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
6611CDF71B45CE2400AE0EE8 /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EZAudio.h; path = ../../../Classes/EZAudio.h; sourceTree = "<group>"; };
|
||||
6611CDF81B45CE2400AE0EE8 /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EZAudio.m; path = ../../../Classes/EZAudio.m; sourceTree = "<group>"; };
|
||||
6611CDF91B45CE2400AE0EE8 /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
|
||||
6611CDFA1B45CE2400AE0EE8 /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
|
||||
6611CDFB1B45CE2400AE0EE8 /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
|
||||
6611CDFC1B45CE2400AE0EE8 /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
|
||||
6611CDFD1B45CE2400AE0EE8 /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
|
||||
6611CDFE1B45CE2400AE0EE8 /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
|
||||
6611CDFF1B45CE2400AE0EE8 /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
|
||||
6611CE001B45CE2400AE0EE8 /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
|
||||
6611CE011B45CE2400AE0EE8 /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
|
||||
6611CE021B45CE2400AE0EE8 /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
|
||||
6611CE031B45CE2400AE0EE8 /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
|
||||
6611CE041B45CE2400AE0EE8 /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
|
||||
6611CE051B45CE2400AE0EE8 /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
|
||||
6611CE061B45CE2400AE0EE8 /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
|
||||
6611CE071B45CE2400AE0EE8 /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
|
||||
6611CE081B45CE2400AE0EE8 /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
|
||||
6611CE091B45CE2400AE0EE8 /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
|
||||
6611CE0A1B45CE2400AE0EE8 /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
|
||||
6611CE0B1B45CE2400AE0EE8 /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
|
||||
6611CE0C1B45CE2400AE0EE8 /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
|
||||
6611CE0D1B45CE2400AE0EE8 /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
|
||||
6611CE0E1B45CE2400AE0EE8 /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
|
||||
6611CE0F1B45CE2400AE0EE8 /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
|
||||
6611CE101B45CE2400AE0EE8 /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
|
||||
6611CE111B45CE2400AE0EE8 /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
|
||||
6611CE121B45CE2400AE0EE8 /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
|
||||
6611CE131B45CE2400AE0EE8 /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
|
||||
6611CE141B45CE2400AE0EE8 /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
6611CDD61B45CDD800AE0EE8 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
6611CDD01B45CDD800AE0EE8 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CDDC1B45CDD800AE0EE8 /* EZAudio */,
|
||||
6611CDDB1B45CDD800AE0EE8 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6611CDDB1B45CDD800AE0EE8 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CDDA1B45CDD800AE0EE8 /* EZAudio.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6611CDDC1B45CDD800AE0EE8 /* EZAudio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CDF71B45CE2400AE0EE8 /* EZAudio.h */,
|
||||
6611CDF81B45CE2400AE0EE8 /* EZAudio.m */,
|
||||
6611CE4E1B45D87A00AE0EE8 /* Core Components */,
|
||||
6611CE511B45D91500AE0EE8 /* External */,
|
||||
6611CE4F1B45D8DE00AE0EE8 /* Interface Components */,
|
||||
6611CE501B45D90A00AE0EE8 /* Utility Components */,
|
||||
6611CDDD1B45CDD800AE0EE8 /* Supporting Files */,
|
||||
);
|
||||
path = EZAudio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6611CDDD1B45CDD800AE0EE8 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CDDE1B45CDD800AE0EE8 /* Info.plist */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6611CE4E1B45D87A00AE0EE8 /* Core Components */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CDF91B45CE2400AE0EE8 /* EZAudioDevice.h */,
|
||||
6611CDFA1B45CE2400AE0EE8 /* EZAudioDevice.m */,
|
||||
6611CDFD1B45CE2400AE0EE8 /* EZAudioFile.h */,
|
||||
6611CDFE1B45CE2400AE0EE8 /* EZAudioFile.m */,
|
||||
6611CE031B45CE2400AE0EE8 /* EZAudioPlayer.h */,
|
||||
6611CE041B45CE2400AE0EE8 /* EZAudioPlayer.m */,
|
||||
6611CE0B1B45CE2400AE0EE8 /* EZMicrophone.h */,
|
||||
6611CE0C1B45CE2400AE0EE8 /* EZMicrophone.m */,
|
||||
6611CE0D1B45CE2400AE0EE8 /* EZOutput.h */,
|
||||
6611CE0E1B45CE2400AE0EE8 /* EZOutput.m */,
|
||||
6611CE111B45CE2400AE0EE8 /* EZRecorder.h */,
|
||||
6611CE121B45CE2400AE0EE8 /* EZRecorder.m */,
|
||||
);
|
||||
name = "Core Components";
|
||||
path = "../../../Classes/Core Components";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6611CE4F1B45D8DE00AE0EE8 /* Interface Components */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CDFB1B45CE2400AE0EE8 /* EZAudioDisplayLink.h */,
|
||||
6611CDFC1B45CE2400AE0EE8 /* EZAudioDisplayLink.m */,
|
||||
6611CE051B45CE2400AE0EE8 /* EZAudioPlot.h */,
|
||||
6611CE061B45CE2400AE0EE8 /* EZAudioPlot.m */,
|
||||
6611CE071B45CE2400AE0EE8 /* EZAudioPlotGL.h */,
|
||||
6611CE081B45CE2400AE0EE8 /* EZAudioPlotGL.m */,
|
||||
6611CE0F1B45CE2400AE0EE8 /* EZPlot.h */,
|
||||
6611CE101B45CE2400AE0EE8 /* EZPlot.m */,
|
||||
);
|
||||
name = "Interface Components";
|
||||
path = "../../../Classes/Interface Components";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6611CE501B45D90A00AE0EE8 /* Utility Components */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CDFF1B45CE2400AE0EE8 /* EZAudioFloatConverter.h */,
|
||||
6611CE001B45CE2400AE0EE8 /* EZAudioFloatConverter.m */,
|
||||
6611CE011B45CE2400AE0EE8 /* EZAudioFloatData.h */,
|
||||
6611CE021B45CE2400AE0EE8 /* EZAudioFloatData.m */,
|
||||
6611CE091B45CE2400AE0EE8 /* EZAudioUtilities.h */,
|
||||
6611CE0A1B45CE2400AE0EE8 /* EZAudioUtilities.m */,
|
||||
);
|
||||
name = "Utility Components";
|
||||
path = "../../../Classes/Utility Components";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6611CE511B45D91500AE0EE8 /* External */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CE131B45CE2400AE0EE8 /* TPCircularBuffer.c */,
|
||||
6611CE141B45CE2400AE0EE8 /* TPCircularBuffer.h */,
|
||||
);
|
||||
name = External;
|
||||
path = ../../../Classes/External;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
6611CDD71B45CDD800AE0EE8 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6611CE2E1B45CE2400AE0EE8 /* EZOutput.h in Headers */,
|
||||
6611CE301B45CE2400AE0EE8 /* EZPlot.h in Headers */,
|
||||
6611CE1E1B45CE2400AE0EE8 /* EZAudioFile.h in Headers */,
|
||||
6611CE221B45CE2400AE0EE8 /* EZAudioFloatData.h in Headers */,
|
||||
6611CE2C1B45CE2400AE0EE8 /* EZMicrophone.h in Headers */,
|
||||
6611CE1C1B45CE2400AE0EE8 /* EZAudioDisplayLink.h in Headers */,
|
||||
6611CE261B45CE2400AE0EE8 /* EZAudioPlot.h in Headers */,
|
||||
6611CE321B45CE2400AE0EE8 /* EZRecorder.h in Headers */,
|
||||
6611CE1A1B45CE2400AE0EE8 /* EZAudioDevice.h in Headers */,
|
||||
6611CE281B45CE2400AE0EE8 /* EZAudioPlotGL.h in Headers */,
|
||||
6611CE181B45CE2400AE0EE8 /* EZAudio.h in Headers */,
|
||||
6611CE2A1B45CE2400AE0EE8 /* EZAudioUtilities.h in Headers */,
|
||||
6611CE241B45CE2400AE0EE8 /* EZAudioPlayer.h in Headers */,
|
||||
6611CE351B45CE2400AE0EE8 /* TPCircularBuffer.h in Headers */,
|
||||
6611CE201B45CE2400AE0EE8 /* EZAudioFloatConverter.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
6611CDD91B45CDD800AE0EE8 /* EZAudio */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 6611CDF01B45CDD800AE0EE8 /* Build configuration list for PBXNativeTarget "EZAudio" */;
|
||||
buildPhases = (
|
||||
6611CDD51B45CDD800AE0EE8 /* Sources */,
|
||||
6611CDD61B45CDD800AE0EE8 /* Frameworks */,
|
||||
6611CDD71B45CDD800AE0EE8 /* Headers */,
|
||||
6611CDD81B45CDD800AE0EE8 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = EZAudio;
|
||||
productName = EZAudio;
|
||||
productReference = 6611CDDA1B45CDD800AE0EE8 /* EZAudio.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
6611CDD11B45CDD800AE0EE8 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0640;
|
||||
ORGANIZATIONNAME = "Syed Haris Ali";
|
||||
TargetAttributes = {
|
||||
6611CDD91B45CDD800AE0EE8 = {
|
||||
CreatedOnToolsVersion = 6.4;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 6611CDD41B45CDD800AE0EE8 /* Build configuration list for PBXProject "EZAudio" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 6611CDD01B45CDD800AE0EE8;
|
||||
productRefGroup = 6611CDDB1B45CDD800AE0EE8 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
6611CDD91B45CDD800AE0EE8 /* EZAudio */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
6611CDD81B45CDD800AE0EE8 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
6611CDD51B45CDD800AE0EE8 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6611CE271B45CE2400AE0EE8 /* EZAudioPlot.m in Sources */,
|
||||
6611CE2F1B45CE2400AE0EE8 /* EZOutput.m in Sources */,
|
||||
6611CE191B45CE2400AE0EE8 /* EZAudio.m in Sources */,
|
||||
6611CE341B45CE2400AE0EE8 /* TPCircularBuffer.c in Sources */,
|
||||
6611CE2B1B45CE2400AE0EE8 /* EZAudioUtilities.m in Sources */,
|
||||
6611CE251B45CE2400AE0EE8 /* EZAudioPlayer.m in Sources */,
|
||||
6611CE1F1B45CE2400AE0EE8 /* EZAudioFile.m in Sources */,
|
||||
6611CE231B45CE2400AE0EE8 /* EZAudioFloatData.m in Sources */,
|
||||
6611CE291B45CE2400AE0EE8 /* EZAudioPlotGL.m in Sources */,
|
||||
6611CE1D1B45CE2400AE0EE8 /* EZAudioDisplayLink.m in Sources */,
|
||||
6611CE1B1B45CE2400AE0EE8 /* EZAudioDevice.m in Sources */,
|
||||
6611CE331B45CE2400AE0EE8 /* EZRecorder.m in Sources */,
|
||||
6611CE211B45CE2400AE0EE8 /* EZAudioFloatConverter.m in Sources */,
|
||||
6611CE2D1B45CE2400AE0EE8 /* EZMicrophone.m in Sources */,
|
||||
6611CE311B45CE2400AE0EE8 /* EZPlot.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
6611CDEE1B45CDD800AE0EE8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
6611CDEF1B45CDD800AE0EE8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
6611CDF11B45CDD800AE0EE8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
INFOPLIST_FILE = EZAudio/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
6611CDF21B45CDD800AE0EE8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
INFOPLIST_FILE = EZAudio/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
6611CDD41B45CDD800AE0EE8 /* Build configuration list for PBXProject "EZAudio" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
6611CDEE1B45CDD800AE0EE8 /* Debug */,
|
||||
6611CDEF1B45CDD800AE0EE8 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
6611CDF01B45CDD800AE0EE8 /* Build configuration list for PBXNativeTarget "EZAudio" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
6611CDF11B45CDD800AE0EE8 /* Debug */,
|
||||
6611CDF21B45CDD800AE0EE8 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 6611CDD11B45CDD800AE0EE8 /* Project object */;
|
||||
}
|
||||
+8
-4
@@ -5,18 +5,22 @@
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.sha.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<string>com.sha.$(PRODUCT_NAME:rfc1034identifier)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
||||
+34
-271
@@ -21,24 +21,8 @@
|
||||
/* End PBXAggregateTarget section */
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
66755A311B3B790D0013E67E /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A0E1B3B790D0013E67E /* EZAudio.m */; };
|
||||
66755A321B3B790D0013E67E /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A101B3B790D0013E67E /* EZAudioDevice.m */; };
|
||||
66755A331B3B790D0013E67E /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A121B3B790D0013E67E /* EZAudioDisplayLink.m */; };
|
||||
66755A341B3B790D0013E67E /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A141B3B790D0013E67E /* EZAudioFile.m */; };
|
||||
66755A351B3B790D0013E67E /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A161B3B790D0013E67E /* EZAudioFloatConverter.m */; };
|
||||
66755A361B3B790D0013E67E /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A181B3B790D0013E67E /* EZAudioFloatData.m */; };
|
||||
66755A371B3B790D0013E67E /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A1A1B3B790D0013E67E /* EZAudioPlayer.m */; };
|
||||
66755A381B3B790D0013E67E /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A1C1B3B790D0013E67E /* EZAudioPlot.m */; };
|
||||
66755A391B3B790D0013E67E /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A1E1B3B790D0013E67E /* EZAudioPlotGL.m */; };
|
||||
66755A3A1B3B790D0013E67E /* EZAudioPlotGLKViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A201B3B790D0013E67E /* EZAudioPlotGLKViewController.m */; };
|
||||
66755A3B1B3B790D0013E67E /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A221B3B790D0013E67E /* EZAudioUtilities.m */; };
|
||||
66755A3C1B3B790D0013E67E /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A241B3B790D0013E67E /* EZMicrophone.m */; };
|
||||
66755A3D1B3B790D0013E67E /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A261B3B790D0013E67E /* EZOutput.m */; };
|
||||
66755A3E1B3B790D0013E67E /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A281B3B790D0013E67E /* EZPlot.m */; };
|
||||
66755A3F1B3B790D0013E67E /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A2A1B3B790D0013E67E /* EZRecorder.m */; };
|
||||
66755A401B3B790D0013E67E /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 66755A2B1B3B790D0013E67E /* TPCircularBuffer.c */; };
|
||||
66755A411B3B790D0013E67E /* CHANGELOG in Resources */ = {isa = PBXBuildFile; fileRef = 66755A2E1B3B790D0013E67E /* CHANGELOG */; };
|
||||
66755A421B3B790D0013E67E /* VERSION in Resources */ = {isa = PBXBuildFile; fileRef = 66755A2F1B3B790D0013E67E /* VERSION */; };
|
||||
6611CEC21B45F81500AE0EE8 /* EZAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEC11B45F81500AE0EE8 /* EZAudio.framework */; };
|
||||
6611CEC31B45F81500AE0EE8 /* EZAudio.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEC11B45F81500AE0EE8 /* EZAudio.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
94056D88185B97E300EB94BA /* CoreGraphicsWaveformViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056D86185B97E300EB94BA /* CoreGraphicsWaveformViewController.m */; };
|
||||
94056D89185B97E300EB94BA /* CoreGraphicsWaveformViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 94056D87185B97E300EB94BA /* CoreGraphicsWaveformViewController.xib */; };
|
||||
94373025185B931C00F315F0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94373024185B931C00F315F0 /* Cocoa.framework */; };
|
||||
@@ -48,10 +32,6 @@
|
||||
94373038185B931C00F315F0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 94373037185B931C00F315F0 /* AppDelegate.m */; };
|
||||
9437303B185B931C00F315F0 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 94373039185B931C00F315F0 /* MainMenu.xib */; };
|
||||
9437303D185B931C00F315F0 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9437303C185B931C00F315F0 /* Images.xcassets */; };
|
||||
94373044185B931C00F315F0 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94373043185B931C00F315F0 /* XCTest.framework */; };
|
||||
94373045185B931C00F315F0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94373024185B931C00F315F0 /* Cocoa.framework */; };
|
||||
9437304D185B931C00F315F0 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9437304B185B931C00F315F0 /* InfoPlist.strings */; };
|
||||
9437304F185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9437304E185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests.m */; };
|
||||
94373080185B934900F315F0 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9437307D185B934900F315F0 /* AudioToolbox.framework */; };
|
||||
94373081185B934900F315F0 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9437307E185B934900F315F0 /* AudioUnit.framework */; };
|
||||
94373082185B934900F315F0 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9437307F185B934900F315F0 /* CoreAudio.framework */; };
|
||||
@@ -60,51 +40,24 @@
|
||||
94373088185B937E00F315F0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94373087185B937E00F315F0 /* QuartzCore.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
94373046185B931C00F315F0 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 94373019185B931C00F315F0 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 94373020185B931C00F315F0;
|
||||
remoteInfo = EZAudioCoreGraphicsWaveformExample;
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
6611CEC41B45F81500AE0EE8 /* Embed Frameworks */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
6611CEC31B45F81500AE0EE8 /* EZAudio.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
66755A0D1B3B790D0013E67E /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudio.h; sourceTree = "<group>"; };
|
||||
66755A0E1B3B790D0013E67E /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudio.m; sourceTree = "<group>"; };
|
||||
66755A0F1B3B790D0013E67E /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
|
||||
66755A101B3B790D0013E67E /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
|
||||
66755A111B3B790D0013E67E /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
|
||||
66755A121B3B790D0013E67E /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
|
||||
66755A131B3B790D0013E67E /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
|
||||
66755A141B3B790D0013E67E /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
|
||||
66755A151B3B790D0013E67E /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
|
||||
66755A161B3B790D0013E67E /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
|
||||
66755A171B3B790D0013E67E /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
|
||||
66755A181B3B790D0013E67E /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
|
||||
66755A191B3B790D0013E67E /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
|
||||
66755A1A1B3B790D0013E67E /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
|
||||
66755A1B1B3B790D0013E67E /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
|
||||
66755A1C1B3B790D0013E67E /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
|
||||
66755A1D1B3B790D0013E67E /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
|
||||
66755A1E1B3B790D0013E67E /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
|
||||
66755A1F1B3B790D0013E67E /* EZAudioPlotGLKViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGLKViewController.h; sourceTree = "<group>"; };
|
||||
66755A201B3B790D0013E67E /* EZAudioPlotGLKViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGLKViewController.m; sourceTree = "<group>"; };
|
||||
66755A211B3B790D0013E67E /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
|
||||
66755A221B3B790D0013E67E /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
|
||||
66755A231B3B790D0013E67E /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
|
||||
66755A241B3B790D0013E67E /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
|
||||
66755A251B3B790D0013E67E /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
|
||||
66755A261B3B790D0013E67E /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
|
||||
66755A271B3B790D0013E67E /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
|
||||
66755A281B3B790D0013E67E /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
|
||||
66755A291B3B790D0013E67E /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
|
||||
66755A2A1B3B790D0013E67E /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
|
||||
66755A2B1B3B790D0013E67E /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
|
||||
66755A2C1B3B790D0013E67E /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
|
||||
66755A2E1B3B790D0013E67E /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = "<group>"; };
|
||||
66755A2F1B3B790D0013E67E /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = "<group>"; };
|
||||
6611CEA01B45F0C700AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EZAudio.framework; path = ../../../EZAudio/OSX/build/Release/EZAudio.framework; sourceTree = "<group>"; };
|
||||
6611CEA61B45F42300AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = EZAudio.framework; path = /Users/haris/Documents/code/openSource/EZAudio/EZAudio/OSX/build/Debug/EZAudio.framework; sourceTree = "<absolute>"; };
|
||||
6611CEC11B45F81500AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = EZAudio.framework; path = /Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug/EZAudio.framework; sourceTree = "<absolute>"; };
|
||||
94056D85185B97E300EB94BA /* CoreGraphicsWaveformViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = CoreGraphicsWaveformViewController.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
|
||||
94056D86185B97E300EB94BA /* CoreGraphicsWaveformViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = CoreGraphicsWaveformViewController.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
|
||||
94056D87185B97E300EB94BA /* CoreGraphicsWaveformViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CoreGraphicsWaveformViewController.xib; sourceTree = "<group>"; };
|
||||
@@ -122,11 +75,7 @@
|
||||
94373037185B931C00F315F0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = AppDelegate.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
|
||||
9437303A185B931C00F315F0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
9437303C185B931C00F315F0 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
94373042185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EZAudioCoreGraphicsWaveformExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
94373043185B931C00F315F0 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
9437304A185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "EZAudioCoreGraphicsWaveformExampleTests-Info.plist"; sourceTree = "<group>"; };
|
||||
9437304C185B931C00F315F0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
9437304E185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = EZAudioCoreGraphicsWaveformExampleTests.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
|
||||
9437307D185B934900F315F0 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||
9437307E185B934900F315F0 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; };
|
||||
9437307F185B934900F315F0 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
|
||||
@@ -146,77 +95,20 @@
|
||||
94373080185B934900F315F0 /* AudioToolbox.framework in Frameworks */,
|
||||
94373081185B934900F315F0 /* AudioUnit.framework in Frameworks */,
|
||||
94373082185B934900F315F0 /* CoreAudio.framework in Frameworks */,
|
||||
6611CEC21B45F81500AE0EE8 /* EZAudio.framework in Frameworks */,
|
||||
94373025185B931C00F315F0 /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9437303F185B931C00F315F0 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94373045185B931C00F315F0 /* Cocoa.framework in Frameworks */,
|
||||
94373044185B931C00F315F0 /* XCTest.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
66755A0A1B3B790D0013E67E /* EZAudio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755A0D1B3B790D0013E67E /* EZAudio.h */,
|
||||
66755A0E1B3B790D0013E67E /* EZAudio.m */,
|
||||
66755A0F1B3B790D0013E67E /* EZAudioDevice.h */,
|
||||
66755A101B3B790D0013E67E /* EZAudioDevice.m */,
|
||||
66755A111B3B790D0013E67E /* EZAudioDisplayLink.h */,
|
||||
66755A121B3B790D0013E67E /* EZAudioDisplayLink.m */,
|
||||
66755A131B3B790D0013E67E /* EZAudioFile.h */,
|
||||
66755A141B3B790D0013E67E /* EZAudioFile.m */,
|
||||
66755A151B3B790D0013E67E /* EZAudioFloatConverter.h */,
|
||||
66755A161B3B790D0013E67E /* EZAudioFloatConverter.m */,
|
||||
66755A171B3B790D0013E67E /* EZAudioFloatData.h */,
|
||||
66755A181B3B790D0013E67E /* EZAudioFloatData.m */,
|
||||
66755A191B3B790D0013E67E /* EZAudioPlayer.h */,
|
||||
66755A1A1B3B790D0013E67E /* EZAudioPlayer.m */,
|
||||
66755A1B1B3B790D0013E67E /* EZAudioPlot.h */,
|
||||
66755A1C1B3B790D0013E67E /* EZAudioPlot.m */,
|
||||
66755A1D1B3B790D0013E67E /* EZAudioPlotGL.h */,
|
||||
66755A1E1B3B790D0013E67E /* EZAudioPlotGL.m */,
|
||||
66755A1F1B3B790D0013E67E /* EZAudioPlotGLKViewController.h */,
|
||||
66755A201B3B790D0013E67E /* EZAudioPlotGLKViewController.m */,
|
||||
66755A211B3B790D0013E67E /* EZAudioUtilities.h */,
|
||||
66755A221B3B790D0013E67E /* EZAudioUtilities.m */,
|
||||
66755A231B3B790D0013E67E /* EZMicrophone.h */,
|
||||
66755A241B3B790D0013E67E /* EZMicrophone.m */,
|
||||
66755A251B3B790D0013E67E /* EZOutput.h */,
|
||||
66755A261B3B790D0013E67E /* EZOutput.m */,
|
||||
66755A271B3B790D0013E67E /* EZPlot.h */,
|
||||
66755A281B3B790D0013E67E /* EZPlot.m */,
|
||||
66755A291B3B790D0013E67E /* EZRecorder.h */,
|
||||
66755A2A1B3B790D0013E67E /* EZRecorder.m */,
|
||||
66755A2B1B3B790D0013E67E /* TPCircularBuffer.c */,
|
||||
66755A2C1B3B790D0013E67E /* TPCircularBuffer.h */,
|
||||
66755A2D1B3B790D0013E67E /* VERSION */,
|
||||
);
|
||||
name = EZAudio;
|
||||
path = ../../../../EZAudio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
66755A2D1B3B790D0013E67E /* VERSION */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755A2E1B3B790D0013E67E /* CHANGELOG */,
|
||||
66755A2F1B3B790D0013E67E /* VERSION */,
|
||||
);
|
||||
path = VERSION;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94373018185B931C00F315F0 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CEC11B45F81500AE0EE8 /* EZAudio.framework */,
|
||||
6611CEA61B45F42300AE0EE8 /* EZAudio.framework */,
|
||||
9437302A185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExample */,
|
||||
94373048185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests */,
|
||||
94373023185B931C00F315F0 /* Frameworks */,
|
||||
94373022185B931C00F315F0 /* Products */,
|
||||
);
|
||||
@@ -226,7 +118,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94373021185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExample.app */,
|
||||
94373042185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -234,6 +125,7 @@
|
||||
94373023185B931C00F315F0 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CEA01B45F0C700AE0EE8 /* EZAudio.framework */,
|
||||
94373087185B937E00F315F0 /* QuartzCore.framework */,
|
||||
94373085185B937100F315F0 /* OpenGL.framework */,
|
||||
94373083185B936B00F315F0 /* GLKit.framework */,
|
||||
@@ -260,7 +152,6 @@
|
||||
9437302A185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755A0A1B3B790D0013E67E /* EZAudio */,
|
||||
94373036185B931C00F315F0 /* AppDelegate.h */,
|
||||
94373037185B931C00F315F0 /* AppDelegate.m */,
|
||||
94056D85185B97E300EB94BA /* CoreGraphicsWaveformViewController.h */,
|
||||
@@ -285,24 +176,6 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94373048185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9437304E185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests.m */,
|
||||
94373049185B931C00F315F0 /* Supporting Files */,
|
||||
);
|
||||
path = EZAudioCoreGraphicsWaveformExampleTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94373049185B931C00F315F0 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9437304A185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests-Info.plist */,
|
||||
9437304B185B931C00F315F0 /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -313,6 +186,7 @@
|
||||
9437301D185B931C00F315F0 /* Sources */,
|
||||
9437301E185B931C00F315F0 /* Frameworks */,
|
||||
9437301F185B931C00F315F0 /* Resources */,
|
||||
6611CEC41B45F81500AE0EE8 /* Embed Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -323,24 +197,6 @@
|
||||
productReference = 94373021185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
94373041185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 94373055185B931D00F315F0 /* Build configuration list for PBXNativeTarget "EZAudioCoreGraphicsWaveformExampleTests" */;
|
||||
buildPhases = (
|
||||
9437303E185B931C00F315F0 /* Sources */,
|
||||
9437303F185B931C00F315F0 /* Frameworks */,
|
||||
94373040185B931C00F315F0 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
94373047185B931C00F315F0 /* PBXTargetDependency */,
|
||||
);
|
||||
name = EZAudioCoreGraphicsWaveformExampleTests;
|
||||
productName = EZAudioCoreGraphicsWaveformExampleTests;
|
||||
productReference = 94373042185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@@ -349,11 +205,6 @@
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = "Syed Haris Ali";
|
||||
TargetAttributes = {
|
||||
94373041185B931C00F315F0 = {
|
||||
TestTargetID = 94373020185B931C00F315F0;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 9437301C185B931C00F315F0 /* Build configuration list for PBXProject "EZAudioCoreGraphicsWaveformExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@@ -369,7 +220,6 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
94373020185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExample */,
|
||||
94373041185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests */,
|
||||
94F8DF4A18C84203005C4CBD /* Generate Documentation */,
|
||||
);
|
||||
};
|
||||
@@ -381,20 +231,10 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9437302F185B931C00F315F0 /* InfoPlist.strings in Resources */,
|
||||
66755A421B3B790D0013E67E /* VERSION in Resources */,
|
||||
9437303D185B931C00F315F0 /* Images.xcassets in Resources */,
|
||||
94373035185B931C00F315F0 /* Credits.rtf in Resources */,
|
||||
94056D89185B97E300EB94BA /* CoreGraphicsWaveformViewController.xib in Resources */,
|
||||
9437303B185B931C00F315F0 /* MainMenu.xib in Resources */,
|
||||
66755A411B3B790D0013E67E /* CHANGELOG in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94373040185B931C00F315F0 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9437304D185B931C00F315F0 /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -421,46 +261,14 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
66755A381B3B790D0013E67E /* EZAudioPlot.m in Sources */,
|
||||
66755A371B3B790D0013E67E /* EZAudioPlayer.m in Sources */,
|
||||
94056D88185B97E300EB94BA /* CoreGraphicsWaveformViewController.m in Sources */,
|
||||
66755A391B3B790D0013E67E /* EZAudioPlotGL.m in Sources */,
|
||||
66755A3A1B3B790D0013E67E /* EZAudioPlotGLKViewController.m in Sources */,
|
||||
66755A341B3B790D0013E67E /* EZAudioFile.m in Sources */,
|
||||
66755A3D1B3B790D0013E67E /* EZOutput.m in Sources */,
|
||||
66755A3B1B3B790D0013E67E /* EZAudioUtilities.m in Sources */,
|
||||
66755A3E1B3B790D0013E67E /* EZPlot.m in Sources */,
|
||||
94373038185B931C00F315F0 /* AppDelegate.m in Sources */,
|
||||
66755A3F1B3B790D0013E67E /* EZRecorder.m in Sources */,
|
||||
66755A361B3B790D0013E67E /* EZAudioFloatData.m in Sources */,
|
||||
66755A351B3B790D0013E67E /* EZAudioFloatConverter.m in Sources */,
|
||||
66755A331B3B790D0013E67E /* EZAudioDisplayLink.m in Sources */,
|
||||
66755A3C1B3B790D0013E67E /* EZMicrophone.m in Sources */,
|
||||
66755A321B3B790D0013E67E /* EZAudioDevice.m in Sources */,
|
||||
94373031185B931C00F315F0 /* main.m in Sources */,
|
||||
66755A401B3B790D0013E67E /* TPCircularBuffer.c in Sources */,
|
||||
66755A311B3B790D0013E67E /* EZAudio.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9437303E185B931C00F315F0 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9437304F185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExampleTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
94373047185B931C00F315F0 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 94373020185B931C00F315F0 /* EZAudioCoreGraphicsWaveformExample */;
|
||||
targetProxy = 94373046185B931C00F315F0 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
9437302D185B931C00F315F0 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
@@ -486,14 +294,6 @@
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9437304B185B931C00F315F0 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
9437304C185B931C00F315F0 /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@@ -513,6 +313,7 @@
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = "";
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
@@ -552,6 +353,7 @@
|
||||
COPY_PHASE_STRIP = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = "";
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
@@ -570,9 +372,14 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
@@ -583,54 +390,19 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
94373056185B931D00F315F0 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioCoreGraphicsWaveformExample.app/Contents/MacOS/EZAudioCoreGraphicsWaveformExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "EZAudioCoreGraphicsWaveformExampleTests/EZAudioCoreGraphicsWaveformExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
94373057185B931D00F315F0 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioCoreGraphicsWaveformExample.app/Contents/MacOS/EZAudioCoreGraphicsWaveformExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioCoreGraphicsWaveformExampleTests/EZAudioCoreGraphicsWaveformExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
94F8DF4B18C84204005C4CBD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
@@ -666,15 +438,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
94373055185B931D00F315F0 /* Build configuration list for PBXNativeTarget "EZAudioCoreGraphicsWaveformExampleTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
94373056185B931D00F315F0 /* Debug */,
|
||||
94373057185B931D00F315F0 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
94F8DF4D18C84204005C4CBD /* Build configuration list for PBXAggregateTarget "Generate Documentation" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
// Import EZAudio header
|
||||
#import "EZAudio.h"
|
||||
#import <EZAudio/EZAudio.h>
|
||||
|
||||
/**
|
||||
We will allow this view controller to act as an EZMicrophoneDelegate. This is how we listen for the microphone callback.
|
||||
|
||||
-51
@@ -1,51 +0,0 @@
|
||||
//
|
||||
// EZAudioCoreGraphicsWaveformExampleTests.m
|
||||
// EZAudioCoreGraphicsWaveformExampleTests
|
||||
//
|
||||
// Created by Syed Haris Ali on 12/1/13.
|
||||
// Copyright (c) 2013 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface EZAudioCoreGraphicsWaveformExampleTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation EZAudioCoreGraphicsWaveformExampleTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "group:../../EZAudio/OSX/EZAudio.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample.xcodeproj">
|
||||
</FileRef>
|
||||
|
||||
+28
-271
@@ -7,24 +7,8 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
66755B871B3B79380013E67E /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B641B3B79380013E67E /* EZAudio.m */; };
|
||||
66755B881B3B79380013E67E /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B661B3B79380013E67E /* EZAudioDevice.m */; };
|
||||
66755B891B3B79380013E67E /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B681B3B79380013E67E /* EZAudioDisplayLink.m */; };
|
||||
66755B8A1B3B79380013E67E /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B6A1B3B79380013E67E /* EZAudioFile.m */; };
|
||||
66755B8B1B3B79380013E67E /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B6C1B3B79380013E67E /* EZAudioFloatConverter.m */; };
|
||||
66755B8C1B3B79380013E67E /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B6E1B3B79380013E67E /* EZAudioFloatData.m */; };
|
||||
66755B8D1B3B79380013E67E /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B701B3B79380013E67E /* EZAudioPlayer.m */; };
|
||||
66755B8E1B3B79380013E67E /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B721B3B79380013E67E /* EZAudioPlot.m */; };
|
||||
66755B8F1B3B79380013E67E /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B741B3B79380013E67E /* EZAudioPlotGL.m */; };
|
||||
66755B901B3B79380013E67E /* EZAudioPlotGLKViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B761B3B79380013E67E /* EZAudioPlotGLKViewController.m */; };
|
||||
66755B911B3B79380013E67E /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B781B3B79380013E67E /* EZAudioUtilities.m */; };
|
||||
66755B921B3B79380013E67E /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B7A1B3B79380013E67E /* EZMicrophone.m */; };
|
||||
66755B931B3B79380013E67E /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B7C1B3B79380013E67E /* EZOutput.m */; };
|
||||
66755B941B3B79380013E67E /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B7E1B3B79380013E67E /* EZPlot.m */; };
|
||||
66755B951B3B79380013E67E /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B801B3B79380013E67E /* EZRecorder.m */; };
|
||||
66755B961B3B79380013E67E /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 66755B811B3B79380013E67E /* TPCircularBuffer.c */; };
|
||||
66755B971B3B79380013E67E /* CHANGELOG in Resources */ = {isa = PBXBuildFile; fileRef = 66755B841B3B79380013E67E /* CHANGELOG */; };
|
||||
66755B981B3B79380013E67E /* VERSION in Resources */ = {isa = PBXBuildFile; fileRef = 66755B851B3B79380013E67E /* VERSION */; };
|
||||
6611CEBE1B45F76200AE0EE8 /* EZAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEBD1B45F76200AE0EE8 /* EZAudio.framework */; };
|
||||
6611CEBF1B45F76200AE0EE8 /* EZAudio.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEBD1B45F76200AE0EE8 /* EZAudio.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
9417A8F71871492000D9D37B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A8F61871492000D9D37B /* Cocoa.framework */; };
|
||||
9417A9011871492000D9D37B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9417A8FF1871492000D9D37B /* InfoPlist.strings */; };
|
||||
9417A9031871492000D9D37B /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9417A9021871492000D9D37B /* main.m */; };
|
||||
@@ -32,10 +16,6 @@
|
||||
9417A90A1871492100D9D37B /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9417A9091871492100D9D37B /* AppDelegate.m */; };
|
||||
9417A90D1871492100D9D37B /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9417A90B1871492100D9D37B /* MainMenu.xib */; };
|
||||
9417A90F1871492100D9D37B /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9417A90E1871492100D9D37B /* Images.xcassets */; };
|
||||
9417A9161871492100D9D37B /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A9151871492100D9D37B /* XCTest.framework */; };
|
||||
9417A9171871492100D9D37B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A8F61871492000D9D37B /* Cocoa.framework */; };
|
||||
9417A91F1871492100D9D37B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9417A91D1871492100D9D37B /* InfoPlist.strings */; };
|
||||
9417A9211871492100D9D37B /* EZAudioFFTExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9417A9201871492100D9D37B /* EZAudioFFTExampleTests.m */; };
|
||||
9417A954187149EA00D9D37B /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A951187149EA00D9D37B /* AudioToolbox.framework */; };
|
||||
9417A955187149EA00D9D37B /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A952187149EA00D9D37B /* AudioUnit.framework */; };
|
||||
9417A956187149EA00D9D37B /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A953187149EA00D9D37B /* CoreAudio.framework */; };
|
||||
@@ -47,51 +27,22 @@
|
||||
9417A9D71872130200D9D37B /* FFTViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9417A9D51872130200D9D37B /* FFTViewController.xib */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
9417A9181871492100D9D37B /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 9417A8EB1871492000D9D37B /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 9417A8F21871492000D9D37B;
|
||||
remoteInfo = EZAudioFFTExample;
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
6611CEC01B45F76200AE0EE8 /* Embed Frameworks */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
6611CEBF1B45F76200AE0EE8 /* EZAudio.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
66755B631B3B79380013E67E /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudio.h; sourceTree = "<group>"; };
|
||||
66755B641B3B79380013E67E /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudio.m; sourceTree = "<group>"; };
|
||||
66755B651B3B79380013E67E /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
|
||||
66755B661B3B79380013E67E /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
|
||||
66755B671B3B79380013E67E /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
|
||||
66755B681B3B79380013E67E /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
|
||||
66755B691B3B79380013E67E /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
|
||||
66755B6A1B3B79380013E67E /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
|
||||
66755B6B1B3B79380013E67E /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
|
||||
66755B6C1B3B79380013E67E /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
|
||||
66755B6D1B3B79380013E67E /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
|
||||
66755B6E1B3B79380013E67E /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
|
||||
66755B6F1B3B79380013E67E /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
|
||||
66755B701B3B79380013E67E /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
|
||||
66755B711B3B79380013E67E /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
|
||||
66755B721B3B79380013E67E /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
|
||||
66755B731B3B79380013E67E /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
|
||||
66755B741B3B79380013E67E /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
|
||||
66755B751B3B79380013E67E /* EZAudioPlotGLKViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGLKViewController.h; sourceTree = "<group>"; };
|
||||
66755B761B3B79380013E67E /* EZAudioPlotGLKViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGLKViewController.m; sourceTree = "<group>"; };
|
||||
66755B771B3B79380013E67E /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
|
||||
66755B781B3B79380013E67E /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
|
||||
66755B791B3B79380013E67E /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
|
||||
66755B7A1B3B79380013E67E /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
|
||||
66755B7B1B3B79380013E67E /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
|
||||
66755B7C1B3B79380013E67E /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
|
||||
66755B7D1B3B79380013E67E /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
|
||||
66755B7E1B3B79380013E67E /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
|
||||
66755B7F1B3B79380013E67E /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
|
||||
66755B801B3B79380013E67E /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
|
||||
66755B811B3B79380013E67E /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
|
||||
66755B821B3B79380013E67E /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
|
||||
66755B841B3B79380013E67E /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = "<group>"; };
|
||||
66755B851B3B79380013E67E /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = "<group>"; };
|
||||
6611CEBD1B45F76200AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = EZAudio.framework; path = /Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug/EZAudio.framework; sourceTree = "<absolute>"; };
|
||||
9417A8F31871492000D9D37B /* EZAudioFFTExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EZAudioFFTExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9417A8F61871492000D9D37B /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
|
||||
9417A8F91871492000D9D37B /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
|
||||
@@ -106,11 +57,7 @@
|
||||
9417A9091871492100D9D37B /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
9417A90C1871492100D9D37B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
9417A90E1871492100D9D37B /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
9417A9141871492100D9D37B /* EZAudioFFTExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EZAudioFFTExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9417A9151871492100D9D37B /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
9417A91C1871492100D9D37B /* EZAudioFFTExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "EZAudioFFTExampleTests-Info.plist"; sourceTree = "<group>"; };
|
||||
9417A91E1871492100D9D37B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
9417A9201871492100D9D37B /* EZAudioFFTExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZAudioFFTExampleTests.m; sourceTree = "<group>"; };
|
||||
9417A951187149EA00D9D37B /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||
9417A952187149EA00D9D37B /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; };
|
||||
9417A953187149EA00D9D37B /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
|
||||
@@ -128,6 +75,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6611CEBE1B45F76200AE0EE8 /* EZAudio.framework in Frameworks */,
|
||||
9417A95E18714A2A00D9D37B /* Accelerate.framework in Frameworks */,
|
||||
9417A95C18714A1000D9D37B /* QuartzCore.framework in Frameworks */,
|
||||
9417A959187149F000D9D37B /* GLKit.framework in Frameworks */,
|
||||
@@ -139,73 +87,14 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9417A9111871492100D9D37B /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9417A9171871492100D9D37B /* Cocoa.framework in Frameworks */,
|
||||
9417A9161871492100D9D37B /* XCTest.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
66755B601B3B79380013E67E /* EZAudio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755B631B3B79380013E67E /* EZAudio.h */,
|
||||
66755B641B3B79380013E67E /* EZAudio.m */,
|
||||
66755B651B3B79380013E67E /* EZAudioDevice.h */,
|
||||
66755B661B3B79380013E67E /* EZAudioDevice.m */,
|
||||
66755B671B3B79380013E67E /* EZAudioDisplayLink.h */,
|
||||
66755B681B3B79380013E67E /* EZAudioDisplayLink.m */,
|
||||
66755B691B3B79380013E67E /* EZAudioFile.h */,
|
||||
66755B6A1B3B79380013E67E /* EZAudioFile.m */,
|
||||
66755B6B1B3B79380013E67E /* EZAudioFloatConverter.h */,
|
||||
66755B6C1B3B79380013E67E /* EZAudioFloatConverter.m */,
|
||||
66755B6D1B3B79380013E67E /* EZAudioFloatData.h */,
|
||||
66755B6E1B3B79380013E67E /* EZAudioFloatData.m */,
|
||||
66755B6F1B3B79380013E67E /* EZAudioPlayer.h */,
|
||||
66755B701B3B79380013E67E /* EZAudioPlayer.m */,
|
||||
66755B711B3B79380013E67E /* EZAudioPlot.h */,
|
||||
66755B721B3B79380013E67E /* EZAudioPlot.m */,
|
||||
66755B731B3B79380013E67E /* EZAudioPlotGL.h */,
|
||||
66755B741B3B79380013E67E /* EZAudioPlotGL.m */,
|
||||
66755B751B3B79380013E67E /* EZAudioPlotGLKViewController.h */,
|
||||
66755B761B3B79380013E67E /* EZAudioPlotGLKViewController.m */,
|
||||
66755B771B3B79380013E67E /* EZAudioUtilities.h */,
|
||||
66755B781B3B79380013E67E /* EZAudioUtilities.m */,
|
||||
66755B791B3B79380013E67E /* EZMicrophone.h */,
|
||||
66755B7A1B3B79380013E67E /* EZMicrophone.m */,
|
||||
66755B7B1B3B79380013E67E /* EZOutput.h */,
|
||||
66755B7C1B3B79380013E67E /* EZOutput.m */,
|
||||
66755B7D1B3B79380013E67E /* EZPlot.h */,
|
||||
66755B7E1B3B79380013E67E /* EZPlot.m */,
|
||||
66755B7F1B3B79380013E67E /* EZRecorder.h */,
|
||||
66755B801B3B79380013E67E /* EZRecorder.m */,
|
||||
66755B811B3B79380013E67E /* TPCircularBuffer.c */,
|
||||
66755B821B3B79380013E67E /* TPCircularBuffer.h */,
|
||||
66755B831B3B79380013E67E /* VERSION */,
|
||||
);
|
||||
name = EZAudio;
|
||||
path = ../../../../EZAudio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
66755B831B3B79380013E67E /* VERSION */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755B841B3B79380013E67E /* CHANGELOG */,
|
||||
66755B851B3B79380013E67E /* VERSION */,
|
||||
);
|
||||
path = VERSION;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9417A8EA1871492000D9D37B = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CEBD1B45F76200AE0EE8 /* EZAudio.framework */,
|
||||
9417A8FC1871492000D9D37B /* EZAudioFFTExample */,
|
||||
9417A91A1871492100D9D37B /* EZAudioFFTExampleTests */,
|
||||
9417A8F51871492000D9D37B /* Frameworks */,
|
||||
9417A8F41871492000D9D37B /* Products */,
|
||||
);
|
||||
@@ -215,7 +104,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9417A8F31871492000D9D37B /* EZAudioFFTExample.app */,
|
||||
9417A9141871492100D9D37B /* EZAudioFFTExampleTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -250,7 +138,6 @@
|
||||
9417A8FC1871492000D9D37B /* EZAudioFFTExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755B601B3B79380013E67E /* EZAudio */,
|
||||
9417A9081871492100D9D37B /* AppDelegate.h */,
|
||||
9417A9091871492100D9D37B /* AppDelegate.m */,
|
||||
9417A9D31872130200D9D37B /* FFTViewController.h */,
|
||||
@@ -275,24 +162,6 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9417A91A1871492100D9D37B /* EZAudioFFTExampleTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9417A9201871492100D9D37B /* EZAudioFFTExampleTests.m */,
|
||||
9417A91B1871492100D9D37B /* Supporting Files */,
|
||||
);
|
||||
path = EZAudioFFTExampleTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9417A91B1871492100D9D37B /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9417A91C1871492100D9D37B /* EZAudioFFTExampleTests-Info.plist */,
|
||||
9417A91D1871492100D9D37B /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -303,6 +172,7 @@
|
||||
9417A8EF1871492000D9D37B /* Sources */,
|
||||
9417A8F01871492000D9D37B /* Frameworks */,
|
||||
9417A8F11871492000D9D37B /* Resources */,
|
||||
6611CEC01B45F76200AE0EE8 /* Embed Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -313,24 +183,6 @@
|
||||
productReference = 9417A8F31871492000D9D37B /* EZAudioFFTExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
9417A9131871492100D9D37B /* EZAudioFFTExampleTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 9417A9271871492100D9D37B /* Build configuration list for PBXNativeTarget "EZAudioFFTExampleTests" */;
|
||||
buildPhases = (
|
||||
9417A9101871492100D9D37B /* Sources */,
|
||||
9417A9111871492100D9D37B /* Frameworks */,
|
||||
9417A9121871492100D9D37B /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
9417A9191871492100D9D37B /* PBXTargetDependency */,
|
||||
);
|
||||
name = EZAudioFFTExampleTests;
|
||||
productName = EZAudioFFTExampleTests;
|
||||
productReference = 9417A9141871492100D9D37B /* EZAudioFFTExampleTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@@ -339,11 +191,6 @@
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = "Syed Haris Ali";
|
||||
TargetAttributes = {
|
||||
9417A9131871492100D9D37B = {
|
||||
TestTargetID = 9417A8F21871492000D9D37B;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 9417A8EE1871492000D9D37B /* Build configuration list for PBXProject "EZAudioFFTExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@@ -359,7 +206,6 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
9417A8F21871492000D9D37B /* EZAudioFFTExample */,
|
||||
9417A9131871492100D9D37B /* EZAudioFFTExampleTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -370,20 +216,10 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9417A9011871492000D9D37B /* InfoPlist.strings in Resources */,
|
||||
66755B981B3B79380013E67E /* VERSION in Resources */,
|
||||
9417A9D71872130200D9D37B /* FFTViewController.xib in Resources */,
|
||||
9417A90F1871492100D9D37B /* Images.xcassets in Resources */,
|
||||
9417A9071871492100D9D37B /* Credits.rtf in Resources */,
|
||||
9417A90D1871492100D9D37B /* MainMenu.xib in Resources */,
|
||||
66755B971B3B79380013E67E /* CHANGELOG in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9417A9121871492100D9D37B /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9417A91F1871492100D9D37B /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -394,46 +230,14 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
66755B8E1B3B79380013E67E /* EZAudioPlot.m in Sources */,
|
||||
66755B8D1B3B79380013E67E /* EZAudioPlayer.m in Sources */,
|
||||
9417A9D61872130200D9D37B /* FFTViewController.m in Sources */,
|
||||
66755B8F1B3B79380013E67E /* EZAudioPlotGL.m in Sources */,
|
||||
66755B901B3B79380013E67E /* EZAudioPlotGLKViewController.m in Sources */,
|
||||
66755B8A1B3B79380013E67E /* EZAudioFile.m in Sources */,
|
||||
66755B931B3B79380013E67E /* EZOutput.m in Sources */,
|
||||
66755B911B3B79380013E67E /* EZAudioUtilities.m in Sources */,
|
||||
66755B941B3B79380013E67E /* EZPlot.m in Sources */,
|
||||
9417A90A1871492100D9D37B /* AppDelegate.m in Sources */,
|
||||
66755B951B3B79380013E67E /* EZRecorder.m in Sources */,
|
||||
66755B8C1B3B79380013E67E /* EZAudioFloatData.m in Sources */,
|
||||
66755B8B1B3B79380013E67E /* EZAudioFloatConverter.m in Sources */,
|
||||
66755B891B3B79380013E67E /* EZAudioDisplayLink.m in Sources */,
|
||||
66755B921B3B79380013E67E /* EZMicrophone.m in Sources */,
|
||||
66755B881B3B79380013E67E /* EZAudioDevice.m in Sources */,
|
||||
9417A9031871492000D9D37B /* main.m in Sources */,
|
||||
66755B961B3B79380013E67E /* TPCircularBuffer.c in Sources */,
|
||||
66755B871B3B79380013E67E /* EZAudio.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9417A9101871492100D9D37B /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9417A9211871492100D9D37B /* EZAudioFFTExampleTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
9417A9191871492100D9D37B /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 9417A8F21871492000D9D37B /* EZAudioFFTExample */;
|
||||
targetProxy = 9417A9181871492100D9D37B /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
9417A8FF1871492000D9D37B /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
@@ -459,14 +263,6 @@
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9417A91D1871492100D9D37B /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
9417A91E1871492100D9D37B /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@@ -543,9 +339,14 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioFFTExample/EZAudioFFTExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioFFTExample/EZAudioFFTExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
@@ -556,54 +357,19 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioFFTExample/EZAudioFFTExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioFFTExample/EZAudioFFTExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
9417A9281871492100D9D37B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioFFTExample.app/Contents/MacOS/EZAudioFFTExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioFFTExample/EZAudioFFTExample-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "EZAudioFFTExampleTests/EZAudioFFTExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
9417A9291871492100D9D37B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioFFTExample.app/Contents/MacOS/EZAudioFFTExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioFFTExample/EZAudioFFTExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioFFTExampleTests/EZAudioFFTExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -625,15 +391,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
9417A9271871492100D9D37B /* Build configuration list for PBXNativeTarget "EZAudioFFTExampleTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
9417A9281871492100D9D37B /* Debug */,
|
||||
9417A9291871492100D9D37B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 9417A8EB1871492000D9D37B /* Project object */;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
/**
|
||||
EZAudio
|
||||
*/
|
||||
#import "EZAudio.h"
|
||||
#import <EZAudio/EZAudio.h>
|
||||
|
||||
/**
|
||||
Accelerate
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
//
|
||||
// EZAudioFFTExampleTests.m
|
||||
// EZAudioFFTExampleTests
|
||||
//
|
||||
// Created by Syed Haris Ali on 12/29/13.
|
||||
// Copyright (c) 2013 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface EZAudioFFTExampleTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation EZAudioFFTExampleTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
+28
-271
@@ -7,24 +7,8 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
66755A6A1B3B79130013E67E /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A471B3B79130013E67E /* EZAudio.m */; };
|
||||
66755A6B1B3B79130013E67E /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A491B3B79130013E67E /* EZAudioDevice.m */; };
|
||||
66755A6C1B3B79130013E67E /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A4B1B3B79130013E67E /* EZAudioDisplayLink.m */; };
|
||||
66755A6D1B3B79130013E67E /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A4D1B3B79130013E67E /* EZAudioFile.m */; };
|
||||
66755A6E1B3B79130013E67E /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A4F1B3B79130013E67E /* EZAudioFloatConverter.m */; };
|
||||
66755A6F1B3B79130013E67E /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A511B3B79130013E67E /* EZAudioFloatData.m */; };
|
||||
66755A701B3B79130013E67E /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A531B3B79130013E67E /* EZAudioPlayer.m */; };
|
||||
66755A711B3B79130013E67E /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A551B3B79130013E67E /* EZAudioPlot.m */; };
|
||||
66755A721B3B79130013E67E /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A571B3B79130013E67E /* EZAudioPlotGL.m */; };
|
||||
66755A731B3B79130013E67E /* EZAudioPlotGLKViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A591B3B79130013E67E /* EZAudioPlotGLKViewController.m */; };
|
||||
66755A741B3B79130013E67E /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A5B1B3B79130013E67E /* EZAudioUtilities.m */; };
|
||||
66755A751B3B79130013E67E /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A5D1B3B79130013E67E /* EZMicrophone.m */; };
|
||||
66755A761B3B79130013E67E /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A5F1B3B79130013E67E /* EZOutput.m */; };
|
||||
66755A771B3B79130013E67E /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A611B3B79130013E67E /* EZPlot.m */; };
|
||||
66755A781B3B79130013E67E /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A631B3B79130013E67E /* EZRecorder.m */; };
|
||||
66755A791B3B79130013E67E /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 66755A641B3B79130013E67E /* TPCircularBuffer.c */; };
|
||||
66755A7A1B3B79130013E67E /* CHANGELOG in Resources */ = {isa = PBXBuildFile; fileRef = 66755A671B3B79130013E67E /* CHANGELOG */; };
|
||||
66755A7B1B3B79130013E67E /* VERSION in Resources */ = {isa = PBXBuildFile; fileRef = 66755A681B3B79130013E67E /* VERSION */; };
|
||||
6611CEAB1B45F6F800AE0EE8 /* EZAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEAA1B45F6F800AE0EE8 /* EZAudio.framework */; };
|
||||
6611CEAC1B45F6F800AE0EE8 /* EZAudio.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEAA1B45F6F800AE0EE8 /* EZAudio.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
94056D97185BB0BC00EB94BA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056D96185BB0BC00EB94BA /* Cocoa.framework */; };
|
||||
94056DA1185BB0BC00EB94BA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 94056D9F185BB0BC00EB94BA /* InfoPlist.strings */; };
|
||||
94056DA3185BB0BC00EB94BA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056DA2185BB0BC00EB94BA /* main.m */; };
|
||||
@@ -32,10 +16,6 @@
|
||||
94056DAA185BB0BC00EB94BA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056DA9185BB0BC00EB94BA /* AppDelegate.m */; };
|
||||
94056DAD185BB0BC00EB94BA /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 94056DAB185BB0BC00EB94BA /* MainMenu.xib */; };
|
||||
94056DAF185BB0BC00EB94BA /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 94056DAE185BB0BC00EB94BA /* Images.xcassets */; };
|
||||
94056DB6185BB0BC00EB94BA /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056DB5185BB0BC00EB94BA /* XCTest.framework */; };
|
||||
94056DB7185BB0BC00EB94BA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056D96185BB0BC00EB94BA /* Cocoa.framework */; };
|
||||
94056DBF185BB0BC00EB94BA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 94056DBD185BB0BC00EB94BA /* InfoPlist.strings */; };
|
||||
94056DC1185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056DC0185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests.m */; };
|
||||
94056DCD185BB0D600EB94BA /* OpenGLWaveformViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056DCB185BB0D600EB94BA /* OpenGLWaveformViewController.m */; };
|
||||
94056DCE185BB0D600EB94BA /* OpenGLWaveformViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 94056DCC185BB0D600EB94BA /* OpenGLWaveformViewController.xib */; };
|
||||
94056DD0185BB0E200EB94BA /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056DCF185BB0E200EB94BA /* GLKit.framework */; };
|
||||
@@ -46,51 +26,22 @@
|
||||
94056DDA185BB0F400EB94BA /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056DD7185BB0F400EB94BA /* CoreAudio.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
94056DB8185BB0BC00EB94BA /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 94056D8B185BB0BC00EB94BA /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 94056D92185BB0BC00EB94BA;
|
||||
remoteInfo = EZAudioOpenGLWaveformExample;
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
662428E41B451AEE0069FFD7 /* Embed Frameworks */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
6611CEAC1B45F6F800AE0EE8 /* EZAudio.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
66755A461B3B79130013E67E /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudio.h; sourceTree = "<group>"; };
|
||||
66755A471B3B79130013E67E /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudio.m; sourceTree = "<group>"; };
|
||||
66755A481B3B79130013E67E /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
|
||||
66755A491B3B79130013E67E /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
|
||||
66755A4A1B3B79130013E67E /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
|
||||
66755A4B1B3B79130013E67E /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
|
||||
66755A4C1B3B79130013E67E /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
|
||||
66755A4D1B3B79130013E67E /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
|
||||
66755A4E1B3B79130013E67E /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
|
||||
66755A4F1B3B79130013E67E /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
|
||||
66755A501B3B79130013E67E /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
|
||||
66755A511B3B79130013E67E /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
|
||||
66755A521B3B79130013E67E /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
|
||||
66755A531B3B79130013E67E /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
|
||||
66755A541B3B79130013E67E /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
|
||||
66755A551B3B79130013E67E /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
|
||||
66755A561B3B79130013E67E /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
|
||||
66755A571B3B79130013E67E /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
|
||||
66755A581B3B79130013E67E /* EZAudioPlotGLKViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGLKViewController.h; sourceTree = "<group>"; };
|
||||
66755A591B3B79130013E67E /* EZAudioPlotGLKViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGLKViewController.m; sourceTree = "<group>"; };
|
||||
66755A5A1B3B79130013E67E /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
|
||||
66755A5B1B3B79130013E67E /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
|
||||
66755A5C1B3B79130013E67E /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
|
||||
66755A5D1B3B79130013E67E /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
|
||||
66755A5E1B3B79130013E67E /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
|
||||
66755A5F1B3B79130013E67E /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
|
||||
66755A601B3B79130013E67E /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
|
||||
66755A611B3B79130013E67E /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
|
||||
66755A621B3B79130013E67E /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
|
||||
66755A631B3B79130013E67E /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
|
||||
66755A641B3B79130013E67E /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
|
||||
66755A651B3B79130013E67E /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
|
||||
66755A671B3B79130013E67E /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = "<group>"; };
|
||||
66755A681B3B79130013E67E /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = "<group>"; };
|
||||
6611CEAA1B45F6F800AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = EZAudio.framework; path = /Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug/EZAudio.framework; sourceTree = "<absolute>"; };
|
||||
94056D93185BB0BC00EB94BA /* EZAudioOpenGLWaveformExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EZAudioOpenGLWaveformExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
94056D96185BB0BC00EB94BA /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
|
||||
94056D99185BB0BC00EB94BA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
|
||||
@@ -105,11 +56,7 @@
|
||||
94056DA9185BB0BC00EB94BA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = AppDelegate.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
|
||||
94056DAC185BB0BC00EB94BA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
94056DAE185BB0BC00EB94BA /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
94056DB4185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EZAudioOpenGLWaveformExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
94056DB5185BB0BC00EB94BA /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
94056DBC185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "EZAudioOpenGLWaveformExampleTests-Info.plist"; sourceTree = "<group>"; };
|
||||
94056DBE185BB0BC00EB94BA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
94056DC0185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = EZAudioOpenGLWaveformExampleTests.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
|
||||
94056DCA185BB0D600EB94BA /* OpenGLWaveformViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = OpenGLWaveformViewController.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
|
||||
94056DCB185BB0D600EB94BA /* OpenGLWaveformViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = OpenGLWaveformViewController.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
|
||||
94056DCC185BB0D600EB94BA /* OpenGLWaveformViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OpenGLWaveformViewController.xib; sourceTree = "<group>"; };
|
||||
@@ -132,77 +79,19 @@
|
||||
94056DD4185BB0EF00EB94BA /* QuartzCore.framework in Frameworks */,
|
||||
94056DD2185BB0E900EB94BA /* OpenGL.framework in Frameworks */,
|
||||
94056DD0185BB0E200EB94BA /* GLKit.framework in Frameworks */,
|
||||
6611CEAB1B45F6F800AE0EE8 /* EZAudio.framework in Frameworks */,
|
||||
94056D97185BB0BC00EB94BA /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056DB1185BB0BC00EB94BA /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056DB7185BB0BC00EB94BA /* Cocoa.framework in Frameworks */,
|
||||
94056DB6185BB0BC00EB94BA /* XCTest.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
66755A431B3B79120013E67E /* EZAudio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755A461B3B79130013E67E /* EZAudio.h */,
|
||||
66755A471B3B79130013E67E /* EZAudio.m */,
|
||||
66755A481B3B79130013E67E /* EZAudioDevice.h */,
|
||||
66755A491B3B79130013E67E /* EZAudioDevice.m */,
|
||||
66755A4A1B3B79130013E67E /* EZAudioDisplayLink.h */,
|
||||
66755A4B1B3B79130013E67E /* EZAudioDisplayLink.m */,
|
||||
66755A4C1B3B79130013E67E /* EZAudioFile.h */,
|
||||
66755A4D1B3B79130013E67E /* EZAudioFile.m */,
|
||||
66755A4E1B3B79130013E67E /* EZAudioFloatConverter.h */,
|
||||
66755A4F1B3B79130013E67E /* EZAudioFloatConverter.m */,
|
||||
66755A501B3B79130013E67E /* EZAudioFloatData.h */,
|
||||
66755A511B3B79130013E67E /* EZAudioFloatData.m */,
|
||||
66755A521B3B79130013E67E /* EZAudioPlayer.h */,
|
||||
66755A531B3B79130013E67E /* EZAudioPlayer.m */,
|
||||
66755A541B3B79130013E67E /* EZAudioPlot.h */,
|
||||
66755A551B3B79130013E67E /* EZAudioPlot.m */,
|
||||
66755A561B3B79130013E67E /* EZAudioPlotGL.h */,
|
||||
66755A571B3B79130013E67E /* EZAudioPlotGL.m */,
|
||||
66755A581B3B79130013E67E /* EZAudioPlotGLKViewController.h */,
|
||||
66755A591B3B79130013E67E /* EZAudioPlotGLKViewController.m */,
|
||||
66755A5A1B3B79130013E67E /* EZAudioUtilities.h */,
|
||||
66755A5B1B3B79130013E67E /* EZAudioUtilities.m */,
|
||||
66755A5C1B3B79130013E67E /* EZMicrophone.h */,
|
||||
66755A5D1B3B79130013E67E /* EZMicrophone.m */,
|
||||
66755A5E1B3B79130013E67E /* EZOutput.h */,
|
||||
66755A5F1B3B79130013E67E /* EZOutput.m */,
|
||||
66755A601B3B79130013E67E /* EZPlot.h */,
|
||||
66755A611B3B79130013E67E /* EZPlot.m */,
|
||||
66755A621B3B79130013E67E /* EZRecorder.h */,
|
||||
66755A631B3B79130013E67E /* EZRecorder.m */,
|
||||
66755A641B3B79130013E67E /* TPCircularBuffer.c */,
|
||||
66755A651B3B79130013E67E /* TPCircularBuffer.h */,
|
||||
66755A661B3B79130013E67E /* VERSION */,
|
||||
);
|
||||
name = EZAudio;
|
||||
path = ../../../../EZAudio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
66755A661B3B79130013E67E /* VERSION */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755A671B3B79130013E67E /* CHANGELOG */,
|
||||
66755A681B3B79130013E67E /* VERSION */,
|
||||
);
|
||||
path = VERSION;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056D8A185BB0BC00EB94BA = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CEAA1B45F6F800AE0EE8 /* EZAudio.framework */,
|
||||
94056D9C185BB0BC00EB94BA /* EZAudioOpenGLWaveformExample */,
|
||||
94056DBA185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests */,
|
||||
94056D95185BB0BC00EB94BA /* Frameworks */,
|
||||
94056D94185BB0BC00EB94BA /* Products */,
|
||||
);
|
||||
@@ -212,7 +101,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056D93185BB0BC00EB94BA /* EZAudioOpenGLWaveformExample.app */,
|
||||
94056DB4185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -246,7 +134,6 @@
|
||||
94056D9C185BB0BC00EB94BA /* EZAudioOpenGLWaveformExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755A431B3B79120013E67E /* EZAudio */,
|
||||
94056DA8185BB0BC00EB94BA /* AppDelegate.h */,
|
||||
94056DA9185BB0BC00EB94BA /* AppDelegate.m */,
|
||||
94056DCA185BB0D600EB94BA /* OpenGLWaveformViewController.h */,
|
||||
@@ -271,24 +158,6 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056DBA185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056DC0185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests.m */,
|
||||
94056DBB185BB0BC00EB94BA /* Supporting Files */,
|
||||
);
|
||||
path = EZAudioOpenGLWaveformExampleTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056DBB185BB0BC00EB94BA /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056DBC185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests-Info.plist */,
|
||||
94056DBD185BB0BC00EB94BA /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -299,6 +168,7 @@
|
||||
94056D8F185BB0BC00EB94BA /* Sources */,
|
||||
94056D90185BB0BC00EB94BA /* Frameworks */,
|
||||
94056D91185BB0BC00EB94BA /* Resources */,
|
||||
662428E41B451AEE0069FFD7 /* Embed Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -309,24 +179,6 @@
|
||||
productReference = 94056D93185BB0BC00EB94BA /* EZAudioOpenGLWaveformExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
94056DB3185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 94056DC7185BB0BC00EB94BA /* Build configuration list for PBXNativeTarget "EZAudioOpenGLWaveformExampleTests" */;
|
||||
buildPhases = (
|
||||
94056DB0185BB0BC00EB94BA /* Sources */,
|
||||
94056DB1185BB0BC00EB94BA /* Frameworks */,
|
||||
94056DB2185BB0BC00EB94BA /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
94056DB9185BB0BC00EB94BA /* PBXTargetDependency */,
|
||||
);
|
||||
name = EZAudioOpenGLWaveformExampleTests;
|
||||
productName = EZAudioOpenGLWaveformExampleTests;
|
||||
productReference = 94056DB4185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@@ -335,11 +187,6 @@
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = "Syed Haris Ali";
|
||||
TargetAttributes = {
|
||||
94056DB3185BB0BC00EB94BA = {
|
||||
TestTargetID = 94056D92185BB0BC00EB94BA;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 94056D8E185BB0BC00EB94BA /* Build configuration list for PBXProject "EZAudioOpenGLWaveformExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@@ -355,7 +202,6 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
94056D92185BB0BC00EB94BA /* EZAudioOpenGLWaveformExample */,
|
||||
94056DB3185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -366,20 +212,10 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056DA1185BB0BC00EB94BA /* InfoPlist.strings in Resources */,
|
||||
66755A7B1B3B79130013E67E /* VERSION in Resources */,
|
||||
94056DAF185BB0BC00EB94BA /* Images.xcassets in Resources */,
|
||||
94056DA7185BB0BC00EB94BA /* Credits.rtf in Resources */,
|
||||
94056DCE185BB0D600EB94BA /* OpenGLWaveformViewController.xib in Resources */,
|
||||
94056DAD185BB0BC00EB94BA /* MainMenu.xib in Resources */,
|
||||
66755A7A1B3B79130013E67E /* CHANGELOG in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056DB2185BB0BC00EB94BA /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056DBF185BB0BC00EB94BA /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -390,46 +226,14 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
66755A711B3B79130013E67E /* EZAudioPlot.m in Sources */,
|
||||
66755A701B3B79130013E67E /* EZAudioPlayer.m in Sources */,
|
||||
94056DAA185BB0BC00EB94BA /* AppDelegate.m in Sources */,
|
||||
66755A721B3B79130013E67E /* EZAudioPlotGL.m in Sources */,
|
||||
66755A731B3B79130013E67E /* EZAudioPlotGLKViewController.m in Sources */,
|
||||
66755A6D1B3B79130013E67E /* EZAudioFile.m in Sources */,
|
||||
66755A761B3B79130013E67E /* EZOutput.m in Sources */,
|
||||
66755A741B3B79130013E67E /* EZAudioUtilities.m in Sources */,
|
||||
66755A771B3B79130013E67E /* EZPlot.m in Sources */,
|
||||
94056DA3185BB0BC00EB94BA /* main.m in Sources */,
|
||||
66755A781B3B79130013E67E /* EZRecorder.m in Sources */,
|
||||
66755A6F1B3B79130013E67E /* EZAudioFloatData.m in Sources */,
|
||||
66755A6E1B3B79130013E67E /* EZAudioFloatConverter.m in Sources */,
|
||||
66755A6C1B3B79130013E67E /* EZAudioDisplayLink.m in Sources */,
|
||||
66755A751B3B79130013E67E /* EZMicrophone.m in Sources */,
|
||||
66755A6B1B3B79130013E67E /* EZAudioDevice.m in Sources */,
|
||||
94056DCD185BB0D600EB94BA /* OpenGLWaveformViewController.m in Sources */,
|
||||
66755A791B3B79130013E67E /* TPCircularBuffer.c in Sources */,
|
||||
66755A6A1B3B79130013E67E /* EZAudio.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056DB0185BB0BC00EB94BA /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056DC1185BB0BC00EB94BA /* EZAudioOpenGLWaveformExampleTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
94056DB9185BB0BC00EB94BA /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 94056D92185BB0BC00EB94BA /* EZAudioOpenGLWaveformExample */;
|
||||
targetProxy = 94056DB8185BB0BC00EB94BA /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
94056D9F185BB0BC00EB94BA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
@@ -455,14 +259,6 @@
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056DBD185BB0BC00EB94BA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
94056DBE185BB0BC00EB94BA /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@@ -539,9 +335,14 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioOpenGLWaveformExample/EZAudioOpenGLWaveformExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioOpenGLWaveformExample/EZAudioOpenGLWaveformExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
@@ -552,54 +353,19 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioOpenGLWaveformExample/EZAudioOpenGLWaveformExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioOpenGLWaveformExample/EZAudioOpenGLWaveformExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
94056DC8185BB0BC00EB94BA /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioOpenGLWaveformExample.app/Contents/MacOS/EZAudioOpenGLWaveformExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioOpenGLWaveformExample/EZAudioOpenGLWaveformExample-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "EZAudioOpenGLWaveformExampleTests/EZAudioOpenGLWaveformExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
94056DC9185BB0BC00EB94BA /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioOpenGLWaveformExample.app/Contents/MacOS/EZAudioOpenGLWaveformExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioOpenGLWaveformExample/EZAudioOpenGLWaveformExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioOpenGLWaveformExampleTests/EZAudioOpenGLWaveformExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -621,15 +387,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
94056DC7185BB0BC00EB94BA /* Build configuration list for PBXNativeTarget "EZAudioOpenGLWaveformExampleTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
94056DC8185BB0BC00EB94BA /* Debug */,
|
||||
94056DC9185BB0BC00EB94BA /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 94056D8B185BB0BC00EB94BA /* Project object */;
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
// Import EZAudio header
|
||||
#import "EZAudio.h"
|
||||
#import <EZAudio/EZAudio.h>
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - OpenGLWaveformViewController
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7702" systemVersion="14C109" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment version="1070" identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7702"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="OpenGLWaveformViewController">
|
||||
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.sha.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
-51
@@ -1,51 +0,0 @@
|
||||
//
|
||||
// EZAudioOpenGLWaveformExampleTests.m
|
||||
// EZAudioOpenGLWaveformExampleTests
|
||||
//
|
||||
// Created by Syed Haris Ali on 12/1/13.
|
||||
// Copyright (c) 2013 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface EZAudioOpenGLWaveformExampleTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation EZAudioOpenGLWaveformExampleTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
+28
-271
@@ -7,24 +7,8 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
66755B4E1B3B79310013E67E /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B2B1B3B79310013E67E /* EZAudio.m */; };
|
||||
66755B4F1B3B79310013E67E /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B2D1B3B79310013E67E /* EZAudioDevice.m */; };
|
||||
66755B501B3B79310013E67E /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B2F1B3B79310013E67E /* EZAudioDisplayLink.m */; };
|
||||
66755B511B3B79310013E67E /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B311B3B79310013E67E /* EZAudioFile.m */; };
|
||||
66755B521B3B79310013E67E /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B331B3B79310013E67E /* EZAudioFloatConverter.m */; };
|
||||
66755B531B3B79310013E67E /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B351B3B79310013E67E /* EZAudioFloatData.m */; };
|
||||
66755B541B3B79310013E67E /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B371B3B79310013E67E /* EZAudioPlayer.m */; };
|
||||
66755B551B3B79310013E67E /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B391B3B79310013E67E /* EZAudioPlot.m */; };
|
||||
66755B561B3B79310013E67E /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B3B1B3B79310013E67E /* EZAudioPlotGL.m */; };
|
||||
66755B571B3B79310013E67E /* EZAudioPlotGLKViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B3D1B3B79310013E67E /* EZAudioPlotGLKViewController.m */; };
|
||||
66755B581B3B79310013E67E /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B3F1B3B79310013E67E /* EZAudioUtilities.m */; };
|
||||
66755B591B3B79310013E67E /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B411B3B79310013E67E /* EZMicrophone.m */; };
|
||||
66755B5A1B3B79310013E67E /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B431B3B79310013E67E /* EZOutput.m */; };
|
||||
66755B5B1B3B79310013E67E /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B451B3B79310013E67E /* EZPlot.m */; };
|
||||
66755B5C1B3B79310013E67E /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B471B3B79310013E67E /* EZRecorder.m */; };
|
||||
66755B5D1B3B79310013E67E /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 66755B481B3B79310013E67E /* TPCircularBuffer.c */; };
|
||||
66755B5E1B3B79310013E67E /* CHANGELOG in Resources */ = {isa = PBXBuildFile; fileRef = 66755B4B1B3B79310013E67E /* CHANGELOG */; };
|
||||
66755B5F1B3B79310013E67E /* VERSION in Resources */ = {isa = PBXBuildFile; fileRef = 66755B4C1B3B79310013E67E /* VERSION */; };
|
||||
6611CEBA1B45F75C00AE0EE8 /* EZAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEB91B45F75C00AE0EE8 /* EZAudio.framework */; };
|
||||
6611CEBB1B45F75C00AE0EE8 /* EZAudio.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEB91B45F75C00AE0EE8 /* EZAudio.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
941D71B81864C457007D52D8 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 941D71B71864C457007D52D8 /* Cocoa.framework */; };
|
||||
941D71C21864C457007D52D8 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 941D71C01864C457007D52D8 /* InfoPlist.strings */; };
|
||||
941D71C41864C457007D52D8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 941D71C31864C457007D52D8 /* main.m */; };
|
||||
@@ -32,10 +16,6 @@
|
||||
941D71CB1864C457007D52D8 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 941D71CA1864C457007D52D8 /* AppDelegate.m */; };
|
||||
941D71CE1864C457007D52D8 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 941D71CC1864C457007D52D8 /* MainMenu.xib */; };
|
||||
941D71D01864C457007D52D8 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 941D71CF1864C457007D52D8 /* Images.xcassets */; };
|
||||
941D71D71864C457007D52D8 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 941D71D61864C457007D52D8 /* XCTest.framework */; };
|
||||
941D71D81864C457007D52D8 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 941D71B71864C457007D52D8 /* Cocoa.framework */; };
|
||||
941D71E01864C457007D52D8 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 941D71DE1864C457007D52D8 /* InfoPlist.strings */; };
|
||||
941D71E21864C457007D52D8 /* EZAudioPassThroughExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 941D71E11864C457007D52D8 /* EZAudioPassThroughExampleTests.m */; };
|
||||
941D72151864C4A0007D52D8 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 941D72121864C4A0007D52D8 /* AudioToolbox.framework */; };
|
||||
941D72161864C4A0007D52D8 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 941D72131864C4A0007D52D8 /* AudioUnit.framework */; };
|
||||
941D72171864C4A0007D52D8 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 941D72141864C4A0007D52D8 /* CoreAudio.framework */; };
|
||||
@@ -46,51 +26,22 @@
|
||||
941D72221864C4D7007D52D8 /* PassThroughViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 941D72201864C4D7007D52D8 /* PassThroughViewController.xib */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
941D71D91864C457007D52D8 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 941D71AC1864C456007D52D8 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 941D71B31864C457007D52D8;
|
||||
remoteInfo = EZAudioPassThroughExample;
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
6611CEBC1B45F75C00AE0EE8 /* Embed Frameworks */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
6611CEBB1B45F75C00AE0EE8 /* EZAudio.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
66755B2A1B3B79310013E67E /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudio.h; sourceTree = "<group>"; };
|
||||
66755B2B1B3B79310013E67E /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudio.m; sourceTree = "<group>"; };
|
||||
66755B2C1B3B79310013E67E /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
|
||||
66755B2D1B3B79310013E67E /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
|
||||
66755B2E1B3B79310013E67E /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
|
||||
66755B2F1B3B79310013E67E /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
|
||||
66755B301B3B79310013E67E /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
|
||||
66755B311B3B79310013E67E /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
|
||||
66755B321B3B79310013E67E /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
|
||||
66755B331B3B79310013E67E /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
|
||||
66755B341B3B79310013E67E /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
|
||||
66755B351B3B79310013E67E /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
|
||||
66755B361B3B79310013E67E /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
|
||||
66755B371B3B79310013E67E /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
|
||||
66755B381B3B79310013E67E /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
|
||||
66755B391B3B79310013E67E /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
|
||||
66755B3A1B3B79310013E67E /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
|
||||
66755B3B1B3B79310013E67E /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
|
||||
66755B3C1B3B79310013E67E /* EZAudioPlotGLKViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGLKViewController.h; sourceTree = "<group>"; };
|
||||
66755B3D1B3B79310013E67E /* EZAudioPlotGLKViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGLKViewController.m; sourceTree = "<group>"; };
|
||||
66755B3E1B3B79310013E67E /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
|
||||
66755B3F1B3B79310013E67E /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
|
||||
66755B401B3B79310013E67E /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
|
||||
66755B411B3B79310013E67E /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
|
||||
66755B421B3B79310013E67E /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
|
||||
66755B431B3B79310013E67E /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
|
||||
66755B441B3B79310013E67E /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
|
||||
66755B451B3B79310013E67E /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
|
||||
66755B461B3B79310013E67E /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
|
||||
66755B471B3B79310013E67E /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
|
||||
66755B481B3B79310013E67E /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
|
||||
66755B491B3B79310013E67E /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
|
||||
66755B4B1B3B79310013E67E /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = "<group>"; };
|
||||
66755B4C1B3B79310013E67E /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = "<group>"; };
|
||||
6611CEB91B45F75C00AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = EZAudio.framework; path = /Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug/EZAudio.framework; sourceTree = "<absolute>"; };
|
||||
941D71B41864C457007D52D8 /* EZAudioPassThroughExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EZAudioPassThroughExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
941D71B71864C457007D52D8 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
|
||||
941D71BA1864C457007D52D8 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
|
||||
@@ -105,11 +56,7 @@
|
||||
941D71CA1864C457007D52D8 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
941D71CD1864C457007D52D8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
941D71CF1864C457007D52D8 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
941D71D51864C457007D52D8 /* EZAudioPassThroughExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EZAudioPassThroughExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
941D71D61864C457007D52D8 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
941D71DD1864C457007D52D8 /* EZAudioPassThroughExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "EZAudioPassThroughExampleTests-Info.plist"; sourceTree = "<group>"; };
|
||||
941D71DF1864C457007D52D8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
941D71E11864C457007D52D8 /* EZAudioPassThroughExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZAudioPassThroughExampleTests.m; sourceTree = "<group>"; };
|
||||
941D72121864C4A0007D52D8 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||
941D72131864C4A0007D52D8 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; };
|
||||
941D72141864C4A0007D52D8 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
|
||||
@@ -132,77 +79,19 @@
|
||||
941D72151864C4A0007D52D8 /* AudioToolbox.framework in Frameworks */,
|
||||
941D72161864C4A0007D52D8 /* AudioUnit.framework in Frameworks */,
|
||||
941D72171864C4A0007D52D8 /* CoreAudio.framework in Frameworks */,
|
||||
6611CEBA1B45F75C00AE0EE8 /* EZAudio.framework in Frameworks */,
|
||||
941D71B81864C457007D52D8 /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
941D71D21864C457007D52D8 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
941D71D81864C457007D52D8 /* Cocoa.framework in Frameworks */,
|
||||
941D71D71864C457007D52D8 /* XCTest.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
66755B271B3B79310013E67E /* EZAudio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755B2A1B3B79310013E67E /* EZAudio.h */,
|
||||
66755B2B1B3B79310013E67E /* EZAudio.m */,
|
||||
66755B2C1B3B79310013E67E /* EZAudioDevice.h */,
|
||||
66755B2D1B3B79310013E67E /* EZAudioDevice.m */,
|
||||
66755B2E1B3B79310013E67E /* EZAudioDisplayLink.h */,
|
||||
66755B2F1B3B79310013E67E /* EZAudioDisplayLink.m */,
|
||||
66755B301B3B79310013E67E /* EZAudioFile.h */,
|
||||
66755B311B3B79310013E67E /* EZAudioFile.m */,
|
||||
66755B321B3B79310013E67E /* EZAudioFloatConverter.h */,
|
||||
66755B331B3B79310013E67E /* EZAudioFloatConverter.m */,
|
||||
66755B341B3B79310013E67E /* EZAudioFloatData.h */,
|
||||
66755B351B3B79310013E67E /* EZAudioFloatData.m */,
|
||||
66755B361B3B79310013E67E /* EZAudioPlayer.h */,
|
||||
66755B371B3B79310013E67E /* EZAudioPlayer.m */,
|
||||
66755B381B3B79310013E67E /* EZAudioPlot.h */,
|
||||
66755B391B3B79310013E67E /* EZAudioPlot.m */,
|
||||
66755B3A1B3B79310013E67E /* EZAudioPlotGL.h */,
|
||||
66755B3B1B3B79310013E67E /* EZAudioPlotGL.m */,
|
||||
66755B3C1B3B79310013E67E /* EZAudioPlotGLKViewController.h */,
|
||||
66755B3D1B3B79310013E67E /* EZAudioPlotGLKViewController.m */,
|
||||
66755B3E1B3B79310013E67E /* EZAudioUtilities.h */,
|
||||
66755B3F1B3B79310013E67E /* EZAudioUtilities.m */,
|
||||
66755B401B3B79310013E67E /* EZMicrophone.h */,
|
||||
66755B411B3B79310013E67E /* EZMicrophone.m */,
|
||||
66755B421B3B79310013E67E /* EZOutput.h */,
|
||||
66755B431B3B79310013E67E /* EZOutput.m */,
|
||||
66755B441B3B79310013E67E /* EZPlot.h */,
|
||||
66755B451B3B79310013E67E /* EZPlot.m */,
|
||||
66755B461B3B79310013E67E /* EZRecorder.h */,
|
||||
66755B471B3B79310013E67E /* EZRecorder.m */,
|
||||
66755B481B3B79310013E67E /* TPCircularBuffer.c */,
|
||||
66755B491B3B79310013E67E /* TPCircularBuffer.h */,
|
||||
66755B4A1B3B79310013E67E /* VERSION */,
|
||||
);
|
||||
name = EZAudio;
|
||||
path = ../../../../EZAudio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
66755B4A1B3B79310013E67E /* VERSION */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755B4B1B3B79310013E67E /* CHANGELOG */,
|
||||
66755B4C1B3B79310013E67E /* VERSION */,
|
||||
);
|
||||
path = VERSION;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
941D71AB1864C456007D52D8 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CEB91B45F75C00AE0EE8 /* EZAudio.framework */,
|
||||
941D71BD1864C457007D52D8 /* EZAudioPassThroughExample */,
|
||||
941D71DB1864C457007D52D8 /* EZAudioPassThroughExampleTests */,
|
||||
941D71B61864C457007D52D8 /* Frameworks */,
|
||||
941D71B51864C457007D52D8 /* Products */,
|
||||
);
|
||||
@@ -212,7 +101,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
941D71B41864C457007D52D8 /* EZAudioPassThroughExample.app */,
|
||||
941D71D51864C457007D52D8 /* EZAudioPassThroughExampleTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -246,7 +134,6 @@
|
||||
941D71BD1864C457007D52D8 /* EZAudioPassThroughExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755B271B3B79310013E67E /* EZAudio */,
|
||||
941D71C91864C457007D52D8 /* AppDelegate.h */,
|
||||
941D71CA1864C457007D52D8 /* AppDelegate.m */,
|
||||
941D721E1864C4D7007D52D8 /* PassThroughViewController.h */,
|
||||
@@ -271,24 +158,6 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
941D71DB1864C457007D52D8 /* EZAudioPassThroughExampleTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
941D71E11864C457007D52D8 /* EZAudioPassThroughExampleTests.m */,
|
||||
941D71DC1864C457007D52D8 /* Supporting Files */,
|
||||
);
|
||||
path = EZAudioPassThroughExampleTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
941D71DC1864C457007D52D8 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
941D71DD1864C457007D52D8 /* EZAudioPassThroughExampleTests-Info.plist */,
|
||||
941D71DE1864C457007D52D8 /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -299,6 +168,7 @@
|
||||
941D71B01864C457007D52D8 /* Sources */,
|
||||
941D71B11864C457007D52D8 /* Frameworks */,
|
||||
941D71B21864C457007D52D8 /* Resources */,
|
||||
6611CEBC1B45F75C00AE0EE8 /* Embed Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -309,24 +179,6 @@
|
||||
productReference = 941D71B41864C457007D52D8 /* EZAudioPassThroughExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
941D71D41864C457007D52D8 /* EZAudioPassThroughExampleTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 941D71E81864C457007D52D8 /* Build configuration list for PBXNativeTarget "EZAudioPassThroughExampleTests" */;
|
||||
buildPhases = (
|
||||
941D71D11864C457007D52D8 /* Sources */,
|
||||
941D71D21864C457007D52D8 /* Frameworks */,
|
||||
941D71D31864C457007D52D8 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
941D71DA1864C457007D52D8 /* PBXTargetDependency */,
|
||||
);
|
||||
name = EZAudioPassThroughExampleTests;
|
||||
productName = EZAudioPassThroughExampleTests;
|
||||
productReference = 941D71D51864C457007D52D8 /* EZAudioPassThroughExampleTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@@ -335,11 +187,6 @@
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = "Syed Haris Ali";
|
||||
TargetAttributes = {
|
||||
941D71D41864C457007D52D8 = {
|
||||
TestTargetID = 941D71B31864C457007D52D8;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 941D71AF1864C456007D52D8 /* Build configuration list for PBXProject "EZAudioPassThroughExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@@ -355,7 +202,6 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
941D71B31864C457007D52D8 /* EZAudioPassThroughExample */,
|
||||
941D71D41864C457007D52D8 /* EZAudioPassThroughExampleTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -366,20 +212,10 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
941D72221864C4D7007D52D8 /* PassThroughViewController.xib in Resources */,
|
||||
66755B5F1B3B79310013E67E /* VERSION in Resources */,
|
||||
941D71C21864C457007D52D8 /* InfoPlist.strings in Resources */,
|
||||
941D71D01864C457007D52D8 /* Images.xcassets in Resources */,
|
||||
941D71C81864C457007D52D8 /* Credits.rtf in Resources */,
|
||||
941D71CE1864C457007D52D8 /* MainMenu.xib in Resources */,
|
||||
66755B5E1B3B79310013E67E /* CHANGELOG in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
941D71D31864C457007D52D8 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
941D71E01864C457007D52D8 /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -390,46 +226,14 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
66755B551B3B79310013E67E /* EZAudioPlot.m in Sources */,
|
||||
66755B541B3B79310013E67E /* EZAudioPlayer.m in Sources */,
|
||||
941D72211864C4D7007D52D8 /* PassThroughViewController.m in Sources */,
|
||||
66755B561B3B79310013E67E /* EZAudioPlotGL.m in Sources */,
|
||||
66755B571B3B79310013E67E /* EZAudioPlotGLKViewController.m in Sources */,
|
||||
66755B511B3B79310013E67E /* EZAudioFile.m in Sources */,
|
||||
66755B5A1B3B79310013E67E /* EZOutput.m in Sources */,
|
||||
66755B581B3B79310013E67E /* EZAudioUtilities.m in Sources */,
|
||||
66755B5B1B3B79310013E67E /* EZPlot.m in Sources */,
|
||||
941D71CB1864C457007D52D8 /* AppDelegate.m in Sources */,
|
||||
66755B5C1B3B79310013E67E /* EZRecorder.m in Sources */,
|
||||
66755B531B3B79310013E67E /* EZAudioFloatData.m in Sources */,
|
||||
66755B521B3B79310013E67E /* EZAudioFloatConverter.m in Sources */,
|
||||
66755B501B3B79310013E67E /* EZAudioDisplayLink.m in Sources */,
|
||||
66755B591B3B79310013E67E /* EZMicrophone.m in Sources */,
|
||||
66755B4F1B3B79310013E67E /* EZAudioDevice.m in Sources */,
|
||||
941D71C41864C457007D52D8 /* main.m in Sources */,
|
||||
66755B5D1B3B79310013E67E /* TPCircularBuffer.c in Sources */,
|
||||
66755B4E1B3B79310013E67E /* EZAudio.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
941D71D11864C457007D52D8 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
941D71E21864C457007D52D8 /* EZAudioPassThroughExampleTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
941D71DA1864C457007D52D8 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 941D71B31864C457007D52D8 /* EZAudioPassThroughExample */;
|
||||
targetProxy = 941D71D91864C457007D52D8 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
941D71C01864C457007D52D8 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
@@ -455,14 +259,6 @@
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
941D71DE1864C457007D52D8 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
941D71DF1864C457007D52D8 /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@@ -539,9 +335,14 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioPassThroughExample/EZAudioPassThroughExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioPassThroughExample/EZAudioPassThroughExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
@@ -552,54 +353,19 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioPassThroughExample/EZAudioPassThroughExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioPassThroughExample/EZAudioPassThroughExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
941D71E91864C457007D52D8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioPassThroughExample.app/Contents/MacOS/EZAudioPassThroughExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioPassThroughExample/EZAudioPassThroughExample-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "EZAudioPassThroughExampleTests/EZAudioPassThroughExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
941D71EA1864C457007D52D8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioPassThroughExample.app/Contents/MacOS/EZAudioPassThroughExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioPassThroughExample/EZAudioPassThroughExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioPassThroughExampleTests/EZAudioPassThroughExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -621,15 +387,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
941D71E81864C457007D52D8 /* Build configuration list for PBXNativeTarget "EZAudioPassThroughExampleTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
941D71E91864C457007D52D8 /* Debug */,
|
||||
941D71EA1864C457007D52D8 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 941D71AC1864C456007D52D8 /* Project object */;
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@
|
||||
/**
|
||||
Import EZAudio
|
||||
*/
|
||||
#import "EZAudio.h"
|
||||
#import <EZAudio/EZAudio.h>
|
||||
|
||||
@interface PassThroughViewController : NSViewController <EZMicrophoneDelegate>
|
||||
|
||||
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.sha.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
//
|
||||
// EZAudioPassThroughExampleTests.m
|
||||
// EZAudioPassThroughExampleTests
|
||||
//
|
||||
// Created by Syed Haris Ali on 12/20/13.
|
||||
// Copyright (c) 2013 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface EZAudioPassThroughExampleTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation EZAudioPassThroughExampleTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
+28
-271
@@ -7,25 +7,9 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
6611CEAE1B45F73100AE0EE8 /* EZAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEAD1B45F73100AE0EE8 /* EZAudio.framework */; };
|
||||
6611CEAF1B45F73100AE0EE8 /* EZAudio.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEAD1B45F73100AE0EE8 /* EZAudio.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
6628E2351B3A121A00020E56 /* simple-drum-beat.wav in Resources */ = {isa = PBXBuildFile; fileRef = 6628E2341B3A121A00020E56 /* simple-drum-beat.wav */; };
|
||||
66755AA31B3B791C0013E67E /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A801B3B791C0013E67E /* EZAudio.m */; };
|
||||
66755AA41B3B791C0013E67E /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A821B3B791C0013E67E /* EZAudioDevice.m */; };
|
||||
66755AA51B3B791C0013E67E /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A841B3B791C0013E67E /* EZAudioDisplayLink.m */; };
|
||||
66755AA61B3B791C0013E67E /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A861B3B791C0013E67E /* EZAudioFile.m */; };
|
||||
66755AA71B3B791C0013E67E /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A881B3B791C0013E67E /* EZAudioFloatConverter.m */; };
|
||||
66755AA81B3B791C0013E67E /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A8A1B3B791C0013E67E /* EZAudioFloatData.m */; };
|
||||
66755AA91B3B791C0013E67E /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A8C1B3B791C0013E67E /* EZAudioPlayer.m */; };
|
||||
66755AAA1B3B791C0013E67E /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A8E1B3B791C0013E67E /* EZAudioPlot.m */; };
|
||||
66755AAB1B3B791C0013E67E /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A901B3B791C0013E67E /* EZAudioPlotGL.m */; };
|
||||
66755AAC1B3B791C0013E67E /* EZAudioPlotGLKViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A921B3B791C0013E67E /* EZAudioPlotGLKViewController.m */; };
|
||||
66755AAD1B3B791C0013E67E /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A941B3B791C0013E67E /* EZAudioUtilities.m */; };
|
||||
66755AAE1B3B791C0013E67E /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A961B3B791C0013E67E /* EZMicrophone.m */; };
|
||||
66755AAF1B3B791C0013E67E /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A981B3B791C0013E67E /* EZOutput.m */; };
|
||||
66755AB01B3B791C0013E67E /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A9A1B3B791C0013E67E /* EZPlot.m */; };
|
||||
66755AB11B3B791C0013E67E /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755A9C1B3B791C0013E67E /* EZRecorder.m */; };
|
||||
66755AB21B3B791C0013E67E /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 66755A9D1B3B791C0013E67E /* TPCircularBuffer.c */; };
|
||||
66755AB31B3B791C0013E67E /* CHANGELOG in Resources */ = {isa = PBXBuildFile; fileRef = 66755AA01B3B791C0013E67E /* CHANGELOG */; };
|
||||
66755AB41B3B791C0013E67E /* VERSION in Resources */ = {isa = PBXBuildFile; fileRef = 66755AA11B3B791C0013E67E /* VERSION */; };
|
||||
94056EFB185BD83400EB94BA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056EFA185BD83400EB94BA /* Cocoa.framework */; };
|
||||
94056F05185BD83400EB94BA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 94056F03185BD83400EB94BA /* InfoPlist.strings */; };
|
||||
94056F07185BD83400EB94BA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056F06185BD83400EB94BA /* main.m */; };
|
||||
@@ -33,10 +17,6 @@
|
||||
94056F0E185BD83400EB94BA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056F0D185BD83400EB94BA /* AppDelegate.m */; };
|
||||
94056F11185BD83400EB94BA /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 94056F0F185BD83400EB94BA /* MainMenu.xib */; };
|
||||
94056F13185BD83400EB94BA /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 94056F12185BD83400EB94BA /* Images.xcassets */; };
|
||||
94056F1A185BD83400EB94BA /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056F19185BD83400EB94BA /* XCTest.framework */; };
|
||||
94056F1B185BD83400EB94BA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056EFA185BD83400EB94BA /* Cocoa.framework */; };
|
||||
94056F23185BD83400EB94BA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 94056F21185BD83400EB94BA /* InfoPlist.strings */; };
|
||||
94056F25185BD83400EB94BA /* EZAudioPlayFileExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056F24185BD83400EB94BA /* EZAudioPlayFileExampleTests.m */; };
|
||||
94056F31185BD86D00EB94BA /* PlayFileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056F2F185BD86D00EB94BA /* PlayFileViewController.m */; };
|
||||
94056F32185BD86D00EB94BA /* PlayFileViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 94056F30185BD86D00EB94BA /* PlayFileViewController.xib */; };
|
||||
94056F5D185BDB3500EB94BA /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056F5C185BDB3500EB94BA /* OpenGL.framework */; };
|
||||
@@ -47,52 +27,23 @@
|
||||
94056F67185BDB4700EB94BA /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056F64185BDB4700EB94BA /* CoreAudio.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
94056F1C185BD83400EB94BA /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 94056EEF185BD83400EB94BA /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 94056EF6185BD83400EB94BA;
|
||||
remoteInfo = EZAudioPlayFileExample;
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
6611CEB01B45F73100AE0EE8 /* Embed Frameworks */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
6611CEAF1B45F73100AE0EE8 /* EZAudio.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
6611CEAD1B45F73100AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = EZAudio.framework; path = /Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug/EZAudio.framework; sourceTree = "<absolute>"; };
|
||||
6628E2341B3A121A00020E56 /* simple-drum-beat.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = "simple-drum-beat.wav"; path = "../../../simple-drum-beat.wav"; sourceTree = "<group>"; };
|
||||
66755A7F1B3B791C0013E67E /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudio.h; sourceTree = "<group>"; };
|
||||
66755A801B3B791C0013E67E /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudio.m; sourceTree = "<group>"; };
|
||||
66755A811B3B791C0013E67E /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
|
||||
66755A821B3B791C0013E67E /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
|
||||
66755A831B3B791C0013E67E /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
|
||||
66755A841B3B791C0013E67E /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
|
||||
66755A851B3B791C0013E67E /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
|
||||
66755A861B3B791C0013E67E /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
|
||||
66755A871B3B791C0013E67E /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
|
||||
66755A881B3B791C0013E67E /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
|
||||
66755A891B3B791C0013E67E /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
|
||||
66755A8A1B3B791C0013E67E /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
|
||||
66755A8B1B3B791C0013E67E /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
|
||||
66755A8C1B3B791C0013E67E /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
|
||||
66755A8D1B3B791C0013E67E /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
|
||||
66755A8E1B3B791C0013E67E /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
|
||||
66755A8F1B3B791C0013E67E /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
|
||||
66755A901B3B791C0013E67E /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
|
||||
66755A911B3B791C0013E67E /* EZAudioPlotGLKViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGLKViewController.h; sourceTree = "<group>"; };
|
||||
66755A921B3B791C0013E67E /* EZAudioPlotGLKViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGLKViewController.m; sourceTree = "<group>"; };
|
||||
66755A931B3B791C0013E67E /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
|
||||
66755A941B3B791C0013E67E /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
|
||||
66755A951B3B791C0013E67E /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
|
||||
66755A961B3B791C0013E67E /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
|
||||
66755A971B3B791C0013E67E /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
|
||||
66755A981B3B791C0013E67E /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
|
||||
66755A991B3B791C0013E67E /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
|
||||
66755A9A1B3B791C0013E67E /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
|
||||
66755A9B1B3B791C0013E67E /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
|
||||
66755A9C1B3B791C0013E67E /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
|
||||
66755A9D1B3B791C0013E67E /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
|
||||
66755A9E1B3B791C0013E67E /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
|
||||
66755AA01B3B791C0013E67E /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = "<group>"; };
|
||||
66755AA11B3B791C0013E67E /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = "<group>"; };
|
||||
94056EF7185BD83400EB94BA /* EZAudioPlayFileExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EZAudioPlayFileExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
94056EFA185BD83400EB94BA /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
|
||||
94056EFD185BD83400EB94BA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
|
||||
@@ -107,11 +58,7 @@
|
||||
94056F0D185BD83400EB94BA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
94056F10185BD83400EB94BA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
94056F12185BD83400EB94BA /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
94056F18185BD83400EB94BA /* EZAudioPlayFileExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EZAudioPlayFileExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
94056F19185BD83400EB94BA /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
94056F20185BD83400EB94BA /* EZAudioPlayFileExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "EZAudioPlayFileExampleTests-Info.plist"; sourceTree = "<group>"; };
|
||||
94056F22185BD83400EB94BA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
94056F24185BD83400EB94BA /* EZAudioPlayFileExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayFileExampleTests.m; sourceTree = "<group>"; };
|
||||
94056F2E185BD86D00EB94BA /* PlayFileViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayFileViewController.h; sourceTree = "<group>"; };
|
||||
94056F2F185BD86D00EB94BA /* PlayFileViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PlayFileViewController.m; sourceTree = "<group>"; };
|
||||
94056F30185BD86D00EB94BA /* PlayFileViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PlayFileViewController.xib; sourceTree = "<group>"; };
|
||||
@@ -134,77 +81,19 @@
|
||||
94056F61185BDB3F00EB94BA /* QuartzCore.framework in Frameworks */,
|
||||
94056F5F185BDB3900EB94BA /* GLKit.framework in Frameworks */,
|
||||
94056F5D185BDB3500EB94BA /* OpenGL.framework in Frameworks */,
|
||||
6611CEAE1B45F73100AE0EE8 /* EZAudio.framework in Frameworks */,
|
||||
94056EFB185BD83400EB94BA /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056F15185BD83400EB94BA /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056F1B185BD83400EB94BA /* Cocoa.framework in Frameworks */,
|
||||
94056F1A185BD83400EB94BA /* XCTest.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
66755A7C1B3B791C0013E67E /* EZAudio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755A7F1B3B791C0013E67E /* EZAudio.h */,
|
||||
66755A801B3B791C0013E67E /* EZAudio.m */,
|
||||
66755A811B3B791C0013E67E /* EZAudioDevice.h */,
|
||||
66755A821B3B791C0013E67E /* EZAudioDevice.m */,
|
||||
66755A831B3B791C0013E67E /* EZAudioDisplayLink.h */,
|
||||
66755A841B3B791C0013E67E /* EZAudioDisplayLink.m */,
|
||||
66755A851B3B791C0013E67E /* EZAudioFile.h */,
|
||||
66755A861B3B791C0013E67E /* EZAudioFile.m */,
|
||||
66755A871B3B791C0013E67E /* EZAudioFloatConverter.h */,
|
||||
66755A881B3B791C0013E67E /* EZAudioFloatConverter.m */,
|
||||
66755A891B3B791C0013E67E /* EZAudioFloatData.h */,
|
||||
66755A8A1B3B791C0013E67E /* EZAudioFloatData.m */,
|
||||
66755A8B1B3B791C0013E67E /* EZAudioPlayer.h */,
|
||||
66755A8C1B3B791C0013E67E /* EZAudioPlayer.m */,
|
||||
66755A8D1B3B791C0013E67E /* EZAudioPlot.h */,
|
||||
66755A8E1B3B791C0013E67E /* EZAudioPlot.m */,
|
||||
66755A8F1B3B791C0013E67E /* EZAudioPlotGL.h */,
|
||||
66755A901B3B791C0013E67E /* EZAudioPlotGL.m */,
|
||||
66755A911B3B791C0013E67E /* EZAudioPlotGLKViewController.h */,
|
||||
66755A921B3B791C0013E67E /* EZAudioPlotGLKViewController.m */,
|
||||
66755A931B3B791C0013E67E /* EZAudioUtilities.h */,
|
||||
66755A941B3B791C0013E67E /* EZAudioUtilities.m */,
|
||||
66755A951B3B791C0013E67E /* EZMicrophone.h */,
|
||||
66755A961B3B791C0013E67E /* EZMicrophone.m */,
|
||||
66755A971B3B791C0013E67E /* EZOutput.h */,
|
||||
66755A981B3B791C0013E67E /* EZOutput.m */,
|
||||
66755A991B3B791C0013E67E /* EZPlot.h */,
|
||||
66755A9A1B3B791C0013E67E /* EZPlot.m */,
|
||||
66755A9B1B3B791C0013E67E /* EZRecorder.h */,
|
||||
66755A9C1B3B791C0013E67E /* EZRecorder.m */,
|
||||
66755A9D1B3B791C0013E67E /* TPCircularBuffer.c */,
|
||||
66755A9E1B3B791C0013E67E /* TPCircularBuffer.h */,
|
||||
66755A9F1B3B791C0013E67E /* VERSION */,
|
||||
);
|
||||
name = EZAudio;
|
||||
path = ../../../../EZAudio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
66755A9F1B3B791C0013E67E /* VERSION */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755AA01B3B791C0013E67E /* CHANGELOG */,
|
||||
66755AA11B3B791C0013E67E /* VERSION */,
|
||||
);
|
||||
path = VERSION;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056EEE185BD83400EB94BA = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CEAD1B45F73100AE0EE8 /* EZAudio.framework */,
|
||||
94056F00185BD83400EB94BA /* EZAudioPlayFileExample */,
|
||||
94056F1E185BD83400EB94BA /* EZAudioPlayFileExampleTests */,
|
||||
94056EF9185BD83400EB94BA /* Frameworks */,
|
||||
94056EF8185BD83400EB94BA /* Products */,
|
||||
);
|
||||
@@ -214,7 +103,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056EF7185BD83400EB94BA /* EZAudioPlayFileExample.app */,
|
||||
94056F18185BD83400EB94BA /* EZAudioPlayFileExampleTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -248,7 +136,6 @@
|
||||
94056F00185BD83400EB94BA /* EZAudioPlayFileExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755A7C1B3B791C0013E67E /* EZAudio */,
|
||||
94056F0C185BD83400EB94BA /* AppDelegate.h */,
|
||||
94056F0D185BD83400EB94BA /* AppDelegate.m */,
|
||||
94056F2E185BD86D00EB94BA /* PlayFileViewController.h */,
|
||||
@@ -274,24 +161,6 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056F1E185BD83400EB94BA /* EZAudioPlayFileExampleTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056F24185BD83400EB94BA /* EZAudioPlayFileExampleTests.m */,
|
||||
94056F1F185BD83400EB94BA /* Supporting Files */,
|
||||
);
|
||||
path = EZAudioPlayFileExampleTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056F1F185BD83400EB94BA /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056F20185BD83400EB94BA /* EZAudioPlayFileExampleTests-Info.plist */,
|
||||
94056F21185BD83400EB94BA /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -302,6 +171,7 @@
|
||||
94056EF3185BD83400EB94BA /* Sources */,
|
||||
94056EF4185BD83400EB94BA /* Frameworks */,
|
||||
94056EF5185BD83400EB94BA /* Resources */,
|
||||
6611CEB01B45F73100AE0EE8 /* Embed Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -312,24 +182,6 @@
|
||||
productReference = 94056EF7185BD83400EB94BA /* EZAudioPlayFileExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
94056F17185BD83400EB94BA /* EZAudioPlayFileExampleTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 94056F2B185BD83400EB94BA /* Build configuration list for PBXNativeTarget "EZAudioPlayFileExampleTests" */;
|
||||
buildPhases = (
|
||||
94056F14185BD83400EB94BA /* Sources */,
|
||||
94056F15185BD83400EB94BA /* Frameworks */,
|
||||
94056F16185BD83400EB94BA /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
94056F1D185BD83400EB94BA /* PBXTargetDependency */,
|
||||
);
|
||||
name = EZAudioPlayFileExampleTests;
|
||||
productName = EZAudioPlayFileExampleTests;
|
||||
productReference = 94056F18185BD83400EB94BA /* EZAudioPlayFileExampleTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@@ -338,11 +190,6 @@
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = "Syed Haris Ali";
|
||||
TargetAttributes = {
|
||||
94056F17185BD83400EB94BA = {
|
||||
TestTargetID = 94056EF6185BD83400EB94BA;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 94056EF2185BD83400EB94BA /* Build configuration list for PBXProject "EZAudioPlayFileExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@@ -358,7 +205,6 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
94056EF6185BD83400EB94BA /* EZAudioPlayFileExample */,
|
||||
94056F17185BD83400EB94BA /* EZAudioPlayFileExampleTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -370,23 +216,13 @@
|
||||
files = (
|
||||
6628E2351B3A121A00020E56 /* simple-drum-beat.wav in Resources */,
|
||||
94056F05185BD83400EB94BA /* InfoPlist.strings in Resources */,
|
||||
66755AB31B3B791C0013E67E /* CHANGELOG in Resources */,
|
||||
94056F13185BD83400EB94BA /* Images.xcassets in Resources */,
|
||||
94056F0B185BD83400EB94BA /* Credits.rtf in Resources */,
|
||||
66755AB41B3B791C0013E67E /* VERSION in Resources */,
|
||||
94056F32185BD86D00EB94BA /* PlayFileViewController.xib in Resources */,
|
||||
94056F11185BD83400EB94BA /* MainMenu.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056F16185BD83400EB94BA /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056F23185BD83400EB94BA /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
@@ -394,46 +230,14 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
66755AAA1B3B791C0013E67E /* EZAudioPlot.m in Sources */,
|
||||
66755AA91B3B791C0013E67E /* EZAudioPlayer.m in Sources */,
|
||||
94056F31185BD86D00EB94BA /* PlayFileViewController.m in Sources */,
|
||||
66755AAB1B3B791C0013E67E /* EZAudioPlotGL.m in Sources */,
|
||||
66755AAC1B3B791C0013E67E /* EZAudioPlotGLKViewController.m in Sources */,
|
||||
66755AA61B3B791C0013E67E /* EZAudioFile.m in Sources */,
|
||||
66755AAF1B3B791C0013E67E /* EZOutput.m in Sources */,
|
||||
66755AAD1B3B791C0013E67E /* EZAudioUtilities.m in Sources */,
|
||||
66755AB01B3B791C0013E67E /* EZPlot.m in Sources */,
|
||||
94056F0E185BD83400EB94BA /* AppDelegate.m in Sources */,
|
||||
66755AB11B3B791C0013E67E /* EZRecorder.m in Sources */,
|
||||
66755AA81B3B791C0013E67E /* EZAudioFloatData.m in Sources */,
|
||||
66755AA71B3B791C0013E67E /* EZAudioFloatConverter.m in Sources */,
|
||||
66755AA51B3B791C0013E67E /* EZAudioDisplayLink.m in Sources */,
|
||||
66755AAE1B3B791C0013E67E /* EZMicrophone.m in Sources */,
|
||||
66755AA41B3B791C0013E67E /* EZAudioDevice.m in Sources */,
|
||||
94056F07185BD83400EB94BA /* main.m in Sources */,
|
||||
66755AB21B3B791C0013E67E /* TPCircularBuffer.c in Sources */,
|
||||
66755AA31B3B791C0013E67E /* EZAudio.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056F14185BD83400EB94BA /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056F25185BD83400EB94BA /* EZAudioPlayFileExampleTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
94056F1D185BD83400EB94BA /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 94056EF6185BD83400EB94BA /* EZAudioPlayFileExample */;
|
||||
targetProxy = 94056F1C185BD83400EB94BA /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
94056F03185BD83400EB94BA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
@@ -459,14 +263,6 @@
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056F21185BD83400EB94BA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
94056F22185BD83400EB94BA /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@@ -543,9 +339,14 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioPlayFileExample/EZAudioPlayFileExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioPlayFileExample/EZAudioPlayFileExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
@@ -556,54 +357,19 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioPlayFileExample/EZAudioPlayFileExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioPlayFileExample/EZAudioPlayFileExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
94056F2C185BD83400EB94BA /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioPlayFileExample.app/Contents/MacOS/EZAudioPlayFileExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioPlayFileExample/EZAudioPlayFileExample-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "EZAudioPlayFileExampleTests/EZAudioPlayFileExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
94056F2D185BD83400EB94BA /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioPlayFileExample.app/Contents/MacOS/EZAudioPlayFileExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioPlayFileExample/EZAudioPlayFileExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioPlayFileExampleTests/EZAudioPlayFileExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -625,15 +391,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
94056F2B185BD83400EB94BA /* Build configuration list for PBXNativeTarget "EZAudioPlayFileExampleTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
94056F2C185BD83400EB94BA /* Debug */,
|
||||
94056F2D185BD83400EB94BA /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 94056EEF185BD83400EB94BA /* Project object */;
|
||||
|
||||
+14
-6
@@ -26,7 +26,7 @@
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
// Import EZAudio header
|
||||
#import "EZAudio.h"
|
||||
#import <EZAudio/EZAudio.h>
|
||||
|
||||
/**
|
||||
Here's the default audio file included with the example
|
||||
@@ -37,9 +37,7 @@
|
||||
Using the EZOutputDataSource to provide output data to the EZOutput component.
|
||||
*/
|
||||
@interface PlayFileViewController : NSViewController <NSOpenSavePanelDelegate,
|
||||
EZAudioFileDelegate,
|
||||
EZOutputDataSource,
|
||||
EZOutputDelegate>
|
||||
EZAudioPlayerDelegate>
|
||||
|
||||
#pragma mark - Components
|
||||
/**
|
||||
@@ -50,12 +48,12 @@
|
||||
/**
|
||||
The EZOutput component used to output the audio file's audio data.
|
||||
*/
|
||||
@property (nonatomic, strong) EZOutput *output;
|
||||
@property (nonatomic, strong) EZAudioPlayer *player;
|
||||
|
||||
/**
|
||||
The CoreGraphics based audio plot
|
||||
*/
|
||||
@property (nonatomic, weak) IBOutlet EZAudioPlot *audioPlot;
|
||||
@property (nonatomic, weak) IBOutlet EZAudioPlotGL *audioPlot;
|
||||
|
||||
#pragma mark - UI Extras
|
||||
/**
|
||||
@@ -63,6 +61,11 @@
|
||||
*/
|
||||
@property (nonatomic, weak) IBOutlet NSTextField *filePathLabel;
|
||||
|
||||
/**
|
||||
A checkbox button to that allows you to specify if the audio player should loop.
|
||||
*/
|
||||
@property (nonatomic, weak) IBOutlet NSButton *loopCheckboxButton;
|
||||
|
||||
/**
|
||||
A label to display the audio file's current position.
|
||||
*/
|
||||
@@ -114,6 +117,11 @@
|
||||
*/
|
||||
- (IBAction)changeRollingHistoryLength:(id)sender;
|
||||
|
||||
/**
|
||||
Switches the loop state on the audio player regarding whether the current playing audio file should loop back to the beginning when it finishes.
|
||||
*/
|
||||
- (IBAction)changeShouldLoop:(id)sender;
|
||||
|
||||
/**
|
||||
Changes the volume of the audio coming out of the EZOutput.
|
||||
*/
|
||||
|
||||
+119
-62
@@ -32,6 +32,15 @@
|
||||
|
||||
@implementation PlayFileViewController
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Dealloc
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Customize the Audio Plot
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -55,8 +64,8 @@
|
||||
//
|
||||
// Create EZOutput to play audio data
|
||||
//
|
||||
self.output = [EZOutput outputWithDataSource:self];
|
||||
self.output.delegate = self;
|
||||
self.player = [EZAudioPlayer audioPlayerWithDelegate:self];
|
||||
self.player.shouldLoop = YES;
|
||||
|
||||
//
|
||||
// Reload the menu for the output device selector popup button
|
||||
@@ -66,17 +75,81 @@
|
||||
//
|
||||
// Configure UI components
|
||||
//
|
||||
self.volumeSlider.floatValue = [self.output volume];
|
||||
self.volumeLabel.floatValue = [self.output volume];
|
||||
self.volumeSlider.floatValue = [self.player volume];
|
||||
self.volumeLabel.floatValue = [self.player volume];
|
||||
self.rollingHistoryLengthSlider.intValue = [self.audioPlot rollingHistoryLength];
|
||||
self.rollingHistoryLengthLabel.intValue = [self.audioPlot rollingHistoryLength];
|
||||
self.loopCheckboxButton.state = [self.player shouldLoop];
|
||||
|
||||
//
|
||||
// Listen for state changes to the EZAudioPlayer
|
||||
//
|
||||
[self setupNotifications];
|
||||
|
||||
//
|
||||
// Try opening the sample file
|
||||
//
|
||||
[self openFileWithFilePathURL:[NSURL fileURLWithPath:kAudioFileDefault]];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Notifications
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)setupNotifications
|
||||
{
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(audioPlayerDidChangeAudioFile:)
|
||||
name:EZAudioPlayerDidChangeAudioFileNotification
|
||||
object:self.player];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(audioPlayerDidChangeOutputDevice:)
|
||||
name:EZAudioPlayerDidChangeOutputDeviceNotification
|
||||
object:self.player];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(audioPlayerDidChangePlayState:)
|
||||
name:EZAudioPlayerDidChangePlayStateNotification
|
||||
object:self.player];
|
||||
|
||||
// This notification will only trigger if the player's shouldLoop property is set to NO
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(audioPlayerDidReachEndOfFile:)
|
||||
name:EZAudioPlayerDidReachEndOfFileNotification
|
||||
object:self.player];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)audioPlayerDidChangeAudioFile:(NSNotification *)notification
|
||||
{
|
||||
EZAudioPlayer *player = [notification object];
|
||||
NSLog(@"Player changed audio file: %@", [player audioFile]);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)audioPlayerDidChangeOutputDevice:(NSNotification *)notification
|
||||
{
|
||||
EZAudioPlayer *player = [notification object];
|
||||
NSLog(@"Player changed output device: %@", [player device]);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)audioPlayerDidChangePlayState:(NSNotification *)notification
|
||||
{
|
||||
EZAudioPlayer *player = [notification object];
|
||||
NSLog(@"Player change play state, isPlaying: %i", [player isPlaying]);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)audioPlayerDidReachEndOfFile:(NSNotification *)notification
|
||||
{
|
||||
NSLog(@"Player did reach end of file!");
|
||||
[self.playButton setState:NSOffState];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Actions
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -84,7 +157,7 @@
|
||||
- (void)changedOutput:(NSMenuItem *)item
|
||||
{
|
||||
EZAudioDevice *device = [item representedObject];
|
||||
[self.output setDevice:device];
|
||||
[self.player setDevice:device];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -107,10 +180,18 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)changeShouldLoop:(id)sender
|
||||
{
|
||||
NSInteger state = [(NSButton *)sender state];
|
||||
[self.player setShouldLoop:state];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)changeVolume:(id)sender
|
||||
{
|
||||
float value = [(NSSlider *)sender floatValue];
|
||||
[self.output setVolume:value];
|
||||
[self.player setVolume:value];
|
||||
self.volumeLabel.floatValue = value;
|
||||
}
|
||||
|
||||
@@ -142,7 +223,7 @@
|
||||
|
||||
-(void)play:(id)sender
|
||||
{
|
||||
if (![self.output isPlaying])
|
||||
if (![self.player isPlaying])
|
||||
{
|
||||
if (self.eof)
|
||||
{
|
||||
@@ -152,11 +233,11 @@
|
||||
{
|
||||
self.audioPlot.plotType = EZPlotTypeRolling;
|
||||
}
|
||||
[self.output startPlayback];
|
||||
[self.player play];
|
||||
}
|
||||
else
|
||||
{
|
||||
[self.output stopPlayback];
|
||||
[self.player pause];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,7 +246,7 @@
|
||||
-(void)seekToFrame:(id)sender
|
||||
{
|
||||
double value = [(NSSlider*)sender doubleValue];
|
||||
[self.audioFile seekToFrame:(SInt64)value];
|
||||
[self.player seekToFrame:(SInt64)value];
|
||||
self.positionLabel.doubleValue = value;
|
||||
}
|
||||
|
||||
@@ -208,7 +289,7 @@
|
||||
//
|
||||
// Stop playback
|
||||
//
|
||||
[self.output stopPlayback];
|
||||
[self.player pause];
|
||||
|
||||
//
|
||||
// Clear the audio plot
|
||||
@@ -218,7 +299,7 @@
|
||||
//
|
||||
// Load the audio file and customize the UI
|
||||
//
|
||||
self.audioFile = [EZAudioFile audioFileWithURL:filePathURL delegate:self];
|
||||
self.audioFile = [EZAudioFile audioFileWithURL:filePathURL];
|
||||
self.eof = NO;
|
||||
self.filePathLabel.stringValue = filePathURL.lastPathComponent;
|
||||
self.positionSlider.minValue = 0.0f;
|
||||
@@ -226,30 +307,29 @@
|
||||
self.playButton.state = NSOffState;
|
||||
self.plotSegmentControl.selectedSegment = 1;
|
||||
|
||||
//
|
||||
// Set the client format from the EZAudioFile on the output
|
||||
//
|
||||
[self.output setInputFormat:self.audioFile.clientFormat];
|
||||
|
||||
//
|
||||
// Change back to a buffer plot, but mirror and fill the waveform
|
||||
//
|
||||
self.audioPlot.plotType = EZPlotTypeBuffer;
|
||||
self.audioPlot.shouldFill = YES;
|
||||
self.audioPlot.shouldMirror = YES;
|
||||
[self.audioPlot clear];
|
||||
|
||||
//
|
||||
// Plot the whole waveform
|
||||
//
|
||||
__weak typeof (self) weakSelf = self;
|
||||
[self.audioFile getWaveformDataWithNumberOfPoints:256
|
||||
[self.audioFile getWaveformDataWithNumberOfPoints:1024
|
||||
completion:^(float **waveformData,
|
||||
int length)
|
||||
{
|
||||
[weakSelf.audioPlot updateBuffer:waveformData[0]
|
||||
withBufferSize:length];
|
||||
}];
|
||||
|
||||
//
|
||||
// Play the audio file
|
||||
//
|
||||
[self.player setAudioFile:self.audioFile];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -274,7 +354,7 @@
|
||||
// if you are connected to an external display by default the external
|
||||
// display's microphone might be used instead of the mac's built in
|
||||
// mic.
|
||||
if ([device isEqual:[self.output device]])
|
||||
if ([device isEqual:[self.player device]])
|
||||
{
|
||||
defaultOutputDeviceItem = item;
|
||||
}
|
||||
@@ -289,53 +369,14 @@
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZAudioFileDelegate
|
||||
#pragma mark - EZAudioPlayerDelegate
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
-(void)audioFile:(EZAudioFile *)audioFile updatedPosition:(SInt64)framePosition
|
||||
{
|
||||
__weak typeof (self) weakSelf = self;
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
if (![weakSelf.positionSlider.cell isHighlighted])
|
||||
{
|
||||
weakSelf.positionSlider.floatValue = (float)framePosition;
|
||||
weakSelf.positionLabel.floatValue = (float)framePosition;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZOutputDataSource
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
-(OSStatus) output:(EZOutput *)output
|
||||
shouldFillAudioBufferList:(AudioBufferList *)audioBufferList
|
||||
withNumberOfFrames:(UInt32)frames
|
||||
timestamp:(const AudioTimeStamp *)timestamp
|
||||
{
|
||||
if (self.audioFile)
|
||||
{
|
||||
UInt32 bufferSize;
|
||||
[self.audioFile readFrames:frames
|
||||
audioBufferList:audioBufferList
|
||||
bufferSize:&bufferSize
|
||||
eof:&_eof];
|
||||
if (_eof)
|
||||
{
|
||||
[self seekToFrame:0];
|
||||
}
|
||||
}
|
||||
return noErr;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - EZOutputDelegate
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void) output:(EZOutput *)output
|
||||
- (void) audioPlayer:(EZAudioPlayer *)audioPlayer
|
||||
playedAudio:(float **)buffer
|
||||
withBufferSize:(UInt32)bufferSize
|
||||
withNumberOfChannels:(UInt32)numberOfChannels
|
||||
inAudioFile:(EZAudioFile *)audioFile
|
||||
{
|
||||
__weak typeof (self) weakSelf = self;
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
@@ -344,6 +385,22 @@
|
||||
});
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
- (void)audioPlayer:(EZAudioPlayer *)audioPlayer
|
||||
updatedPosition:(SInt64)framePosition
|
||||
inAudioFile:(EZAudioFile *)audioFile
|
||||
{
|
||||
__weak typeof (self) weakSelf = self;
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
if (!weakSelf.positionSlider.highlighted)
|
||||
{
|
||||
weakSelf.positionSlider.floatValue = (float)framePosition;
|
||||
weakSelf.positionLabel.integerValue = framePosition;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - NSOpenSavePanelDelegate
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+17
-3
@@ -1,14 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7702" systemVersion="14C109" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment version="1070" identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7702"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="PlayFileViewController">
|
||||
<connections>
|
||||
<outlet property="audioPlot" destination="Lz1-Gs-1lD" id="V5w-yH-ZVR"/>
|
||||
<outlet property="checkboxButton" destination="5xb-MK-C8b" id="fx2-y9-qXH"/>
|
||||
<outlet property="filePathLabel" destination="0eT-7c-7fJ" id="IGv-mA-5Hw"/>
|
||||
<outlet property="loopCheckboxButton" destination="5xb-MK-C8b" id="Rlt-Z9-Zy8"/>
|
||||
<outlet property="outputDevicePopUpButton" destination="0LV-Bi-dGz" id="QTQ-qq-Ro8"/>
|
||||
<outlet property="playButton" destination="OQp-Lr-dlS" id="K5R-Qg-7DY"/>
|
||||
<outlet property="plotSegmentControl" destination="bZW-tA-C61" id="4ic-Ou-qh2"/>
|
||||
@@ -27,7 +29,7 @@
|
||||
<rect key="frame" x="0.0" y="-1" width="480" height="366"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="Lz1-Gs-1lD" customClass="EZAudioPlot">
|
||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="Lz1-Gs-1lD" customClass="EZAudioPlotGL">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="146"/>
|
||||
</customView>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2Ma-jj-U3z">
|
||||
@@ -192,6 +194,16 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="5xb-MK-C8b">
|
||||
<rect key="frame" x="410" y="162" width="54" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Loop" bezelStyle="regularSquare" imagePosition="right" state="on" inset="2" id="O83-sN-k0z">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="changeShouldLoop:" target="-2" id="lJN-Pe-JWA"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="vKe-ey-hXI" firstAttribute="baseline" secondItem="vj5-qT-JkR" secondAttribute="baseline" id="03u-fe-Q2r"/>
|
||||
@@ -199,6 +211,7 @@
|
||||
<constraint firstItem="rRH-oS-VV3" firstAttribute="baseline" secondItem="7AB-VA-xL3" secondAttribute="baseline" id="4WU-L2-5TI"/>
|
||||
<constraint firstItem="3ul-3w-l3S" firstAttribute="trailing" secondItem="bZW-tA-C61" secondAttribute="trailing" constant="-2" id="75o-B9-UmY"/>
|
||||
<constraint firstItem="vj5-qT-JkR" firstAttribute="baseline" secondItem="Aa9-nc-WHJ" secondAttribute="baseline" id="8ia-fE-3Ej"/>
|
||||
<constraint firstItem="Lz1-Gs-1lD" firstAttribute="top" secondItem="5xb-MK-C8b" secondAttribute="bottom" constant="18" id="CG6-jk-Mmj"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Lz1-Gs-1lD" secondAttribute="bottom" id="Cdp-xg-Udu"/>
|
||||
<constraint firstItem="0eT-7c-7fJ" firstAttribute="leading" secondItem="2Ma-jj-U3z" secondAttribute="trailing" constant="11" id="F4y-lz-2p6"/>
|
||||
<constraint firstItem="7AB-VA-xL3" firstAttribute="top" secondItem="OQp-Lr-dlS" secondAttribute="bottom" constant="9" id="GbY-7Z-81V"/>
|
||||
@@ -209,6 +222,7 @@
|
||||
<constraint firstItem="2Ma-jj-U3z" firstAttribute="leading" secondItem="Xpo-HP-Ost" secondAttribute="leading" constant="18" id="PiQ-KC-eta"/>
|
||||
<constraint firstItem="Fw5-pm-4w0" firstAttribute="top" secondItem="7AB-VA-xL3" secondAttribute="bottom" constant="9" id="SPP-F6-chs"/>
|
||||
<constraint firstItem="vj5-qT-JkR" firstAttribute="trailing" secondItem="CFP-v0-TzQ" secondAttribute="trailing" id="URd-7z-JBO"/>
|
||||
<constraint firstAttribute="trailing" secondItem="5xb-MK-C8b" secondAttribute="trailing" constant="18" id="WdY-l2-cmp"/>
|
||||
<constraint firstItem="RRH-G6-xkQ" firstAttribute="leading" secondItem="Xpo-HP-Ost" secondAttribute="leading" constant="18" id="WiW-CU-B7N"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Lz1-Gs-1lD" secondAttribute="trailing" id="ay9-Mt-iFx"/>
|
||||
<constraint firstItem="rRH-oS-VV3" firstAttribute="leading" secondItem="CFP-v0-TzQ" secondAttribute="leading" id="cWn-4f-E04"/>
|
||||
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.sha.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
-51
@@ -1,51 +0,0 @@
|
||||
//
|
||||
// EZAudioPlayFileExampleTests.m
|
||||
// EZAudioPlayFileExampleTests
|
||||
//
|
||||
// Created by Syed Haris Ali on 12/1/13.
|
||||
// Copyright (c) 2013 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface EZAudioPlayFileExampleTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation EZAudioPlayFileExampleTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
+28
-271
@@ -7,24 +7,8 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
66755ADC1B3B79230013E67E /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AB91B3B79220013E67E /* EZAudio.m */; };
|
||||
66755ADD1B3B79230013E67E /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755ABB1B3B79220013E67E /* EZAudioDevice.m */; };
|
||||
66755ADE1B3B79230013E67E /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755ABD1B3B79220013E67E /* EZAudioDisplayLink.m */; };
|
||||
66755ADF1B3B79230013E67E /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755ABF1B3B79220013E67E /* EZAudioFile.m */; };
|
||||
66755AE01B3B79230013E67E /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AC11B3B79220013E67E /* EZAudioFloatConverter.m */; };
|
||||
66755AE11B3B79230013E67E /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AC31B3B79220013E67E /* EZAudioFloatData.m */; };
|
||||
66755AE21B3B79230013E67E /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AC51B3B79220013E67E /* EZAudioPlayer.m */; };
|
||||
66755AE31B3B79230013E67E /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AC71B3B79220013E67E /* EZAudioPlot.m */; };
|
||||
66755AE41B3B79230013E67E /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AC91B3B79220013E67E /* EZAudioPlotGL.m */; };
|
||||
66755AE51B3B79230013E67E /* EZAudioPlotGLKViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755ACB1B3B79220013E67E /* EZAudioPlotGLKViewController.m */; };
|
||||
66755AE61B3B79230013E67E /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755ACD1B3B79220013E67E /* EZAudioUtilities.m */; };
|
||||
66755AE71B3B79230013E67E /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755ACF1B3B79230013E67E /* EZMicrophone.m */; };
|
||||
66755AE81B3B79230013E67E /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AD11B3B79230013E67E /* EZOutput.m */; };
|
||||
66755AE91B3B79230013E67E /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AD31B3B79230013E67E /* EZPlot.m */; };
|
||||
66755AEA1B3B79230013E67E /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AD51B3B79230013E67E /* EZRecorder.m */; };
|
||||
66755AEB1B3B79230013E67E /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 66755AD61B3B79230013E67E /* TPCircularBuffer.c */; };
|
||||
66755AEC1B3B79230013E67E /* CHANGELOG in Resources */ = {isa = PBXBuildFile; fileRef = 66755AD91B3B79230013E67E /* CHANGELOG */; };
|
||||
66755AED1B3B79230013E67E /* VERSION in Resources */ = {isa = PBXBuildFile; fileRef = 66755ADA1B3B79230013E67E /* VERSION */; };
|
||||
6611CEB21B45F73D00AE0EE8 /* EZAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEB11B45F73D00AE0EE8 /* EZAudio.framework */; };
|
||||
6611CEB31B45F73D00AE0EE8 /* EZAudio.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEB11B45F73D00AE0EE8 /* EZAudio.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
94056E0D185BB3D800EB94BA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056E0C185BB3D800EB94BA /* Cocoa.framework */; };
|
||||
94056E17185BB3D800EB94BA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 94056E15185BB3D800EB94BA /* InfoPlist.strings */; };
|
||||
94056E19185BB3D800EB94BA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056E18185BB3D800EB94BA /* main.m */; };
|
||||
@@ -32,10 +16,6 @@
|
||||
94056E20185BB3D800EB94BA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056E1F185BB3D800EB94BA /* AppDelegate.m */; };
|
||||
94056E23185BB3D800EB94BA /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 94056E21185BB3D800EB94BA /* MainMenu.xib */; };
|
||||
94056E25185BB3D800EB94BA /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 94056E24185BB3D800EB94BA /* Images.xcassets */; };
|
||||
94056E2C185BB3D800EB94BA /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056E2B185BB3D800EB94BA /* XCTest.framework */; };
|
||||
94056E2D185BB3D800EB94BA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056E0C185BB3D800EB94BA /* Cocoa.framework */; };
|
||||
94056E35185BB3D800EB94BA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 94056E33185BB3D800EB94BA /* InfoPlist.strings */; };
|
||||
94056E37185BB3D800EB94BA /* EZAudioRecordExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056E36185BB3D800EB94BA /* EZAudioRecordExampleTests.m */; };
|
||||
94056E66185BB3FE00EB94BA /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056E65185BB3FE00EB94BA /* OpenGL.framework */; };
|
||||
94056E68185BB40400EB94BA /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056E67185BB40400EB94BA /* GLKit.framework */; };
|
||||
94056E6B185BB40F00EB94BA /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056E69185BB40F00EB94BA /* AudioToolbox.framework */; };
|
||||
@@ -47,51 +27,22 @@
|
||||
941D71AA186298AA007D52D8 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 941D71A9186298AA007D52D8 /* AVFoundation.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
94056E2E185BB3D800EB94BA /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 94056E01185BB3D800EB94BA /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 94056E08185BB3D800EB94BA;
|
||||
remoteInfo = EZAudioRecordExample;
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
6611CEB41B45F73D00AE0EE8 /* Embed Frameworks */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
6611CEB31B45F73D00AE0EE8 /* EZAudio.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
66755AB81B3B79220013E67E /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudio.h; sourceTree = "<group>"; };
|
||||
66755AB91B3B79220013E67E /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudio.m; sourceTree = "<group>"; };
|
||||
66755ABA1B3B79220013E67E /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
|
||||
66755ABB1B3B79220013E67E /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
|
||||
66755ABC1B3B79220013E67E /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
|
||||
66755ABD1B3B79220013E67E /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
|
||||
66755ABE1B3B79220013E67E /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
|
||||
66755ABF1B3B79220013E67E /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
|
||||
66755AC01B3B79220013E67E /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
|
||||
66755AC11B3B79220013E67E /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
|
||||
66755AC21B3B79220013E67E /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
|
||||
66755AC31B3B79220013E67E /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
|
||||
66755AC41B3B79220013E67E /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
|
||||
66755AC51B3B79220013E67E /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
|
||||
66755AC61B3B79220013E67E /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
|
||||
66755AC71B3B79220013E67E /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
|
||||
66755AC81B3B79220013E67E /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
|
||||
66755AC91B3B79220013E67E /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
|
||||
66755ACA1B3B79220013E67E /* EZAudioPlotGLKViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGLKViewController.h; sourceTree = "<group>"; };
|
||||
66755ACB1B3B79220013E67E /* EZAudioPlotGLKViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGLKViewController.m; sourceTree = "<group>"; };
|
||||
66755ACC1B3B79220013E67E /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
|
||||
66755ACD1B3B79220013E67E /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
|
||||
66755ACE1B3B79230013E67E /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
|
||||
66755ACF1B3B79230013E67E /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
|
||||
66755AD01B3B79230013E67E /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
|
||||
66755AD11B3B79230013E67E /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
|
||||
66755AD21B3B79230013E67E /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
|
||||
66755AD31B3B79230013E67E /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
|
||||
66755AD41B3B79230013E67E /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
|
||||
66755AD51B3B79230013E67E /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
|
||||
66755AD61B3B79230013E67E /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
|
||||
66755AD71B3B79230013E67E /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
|
||||
66755AD91B3B79230013E67E /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = "<group>"; };
|
||||
66755ADA1B3B79230013E67E /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = "<group>"; };
|
||||
6611CEB11B45F73D00AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = EZAudio.framework; path = /Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug/EZAudio.framework; sourceTree = "<absolute>"; };
|
||||
94056E09185BB3D800EB94BA /* EZAudioRecordExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EZAudioRecordExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
94056E0C185BB3D800EB94BA /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
|
||||
94056E0F185BB3D800EB94BA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
|
||||
@@ -106,11 +57,7 @@
|
||||
94056E1F185BB3D800EB94BA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
94056E22185BB3D800EB94BA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
94056E24185BB3D800EB94BA /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
94056E2A185BB3D800EB94BA /* EZAudioRecordExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EZAudioRecordExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
94056E2B185BB3D800EB94BA /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
94056E32185BB3D800EB94BA /* EZAudioRecordExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "EZAudioRecordExampleTests-Info.plist"; sourceTree = "<group>"; };
|
||||
94056E34185BB3D800EB94BA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
94056E36185BB3D800EB94BA /* EZAudioRecordExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZAudioRecordExampleTests.m; sourceTree = "<group>"; };
|
||||
94056E65185BB3FE00EB94BA /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
|
||||
94056E67185BB40400EB94BA /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
|
||||
94056E69185BB40F00EB94BA /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||
@@ -128,6 +75,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6611CEB21B45F73D00AE0EE8 /* EZAudio.framework in Frameworks */,
|
||||
941D71AA186298AA007D52D8 /* AVFoundation.framework in Frameworks */,
|
||||
94056E70185BB42100EB94BA /* QuartzCore.framework in Frameworks */,
|
||||
94056E6E185BB41900EB94BA /* CoreAudio.framework in Frameworks */,
|
||||
@@ -139,73 +87,14 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056E27185BB3D800EB94BA /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056E2D185BB3D800EB94BA /* Cocoa.framework in Frameworks */,
|
||||
94056E2C185BB3D800EB94BA /* XCTest.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
66755AB51B3B79220013E67E /* EZAudio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755AB81B3B79220013E67E /* EZAudio.h */,
|
||||
66755AB91B3B79220013E67E /* EZAudio.m */,
|
||||
66755ABA1B3B79220013E67E /* EZAudioDevice.h */,
|
||||
66755ABB1B3B79220013E67E /* EZAudioDevice.m */,
|
||||
66755ABC1B3B79220013E67E /* EZAudioDisplayLink.h */,
|
||||
66755ABD1B3B79220013E67E /* EZAudioDisplayLink.m */,
|
||||
66755ABE1B3B79220013E67E /* EZAudioFile.h */,
|
||||
66755ABF1B3B79220013E67E /* EZAudioFile.m */,
|
||||
66755AC01B3B79220013E67E /* EZAudioFloatConverter.h */,
|
||||
66755AC11B3B79220013E67E /* EZAudioFloatConverter.m */,
|
||||
66755AC21B3B79220013E67E /* EZAudioFloatData.h */,
|
||||
66755AC31B3B79220013E67E /* EZAudioFloatData.m */,
|
||||
66755AC41B3B79220013E67E /* EZAudioPlayer.h */,
|
||||
66755AC51B3B79220013E67E /* EZAudioPlayer.m */,
|
||||
66755AC61B3B79220013E67E /* EZAudioPlot.h */,
|
||||
66755AC71B3B79220013E67E /* EZAudioPlot.m */,
|
||||
66755AC81B3B79220013E67E /* EZAudioPlotGL.h */,
|
||||
66755AC91B3B79220013E67E /* EZAudioPlotGL.m */,
|
||||
66755ACA1B3B79220013E67E /* EZAudioPlotGLKViewController.h */,
|
||||
66755ACB1B3B79220013E67E /* EZAudioPlotGLKViewController.m */,
|
||||
66755ACC1B3B79220013E67E /* EZAudioUtilities.h */,
|
||||
66755ACD1B3B79220013E67E /* EZAudioUtilities.m */,
|
||||
66755ACE1B3B79230013E67E /* EZMicrophone.h */,
|
||||
66755ACF1B3B79230013E67E /* EZMicrophone.m */,
|
||||
66755AD01B3B79230013E67E /* EZOutput.h */,
|
||||
66755AD11B3B79230013E67E /* EZOutput.m */,
|
||||
66755AD21B3B79230013E67E /* EZPlot.h */,
|
||||
66755AD31B3B79230013E67E /* EZPlot.m */,
|
||||
66755AD41B3B79230013E67E /* EZRecorder.h */,
|
||||
66755AD51B3B79230013E67E /* EZRecorder.m */,
|
||||
66755AD61B3B79230013E67E /* TPCircularBuffer.c */,
|
||||
66755AD71B3B79230013E67E /* TPCircularBuffer.h */,
|
||||
66755AD81B3B79230013E67E /* VERSION */,
|
||||
);
|
||||
name = EZAudio;
|
||||
path = ../../../../EZAudio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
66755AD81B3B79230013E67E /* VERSION */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755AD91B3B79230013E67E /* CHANGELOG */,
|
||||
66755ADA1B3B79230013E67E /* VERSION */,
|
||||
);
|
||||
path = VERSION;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056E00185BB3D800EB94BA = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CEB11B45F73D00AE0EE8 /* EZAudio.framework */,
|
||||
94056E12185BB3D800EB94BA /* EZAudioRecordExample */,
|
||||
94056E30185BB3D800EB94BA /* EZAudioRecordExampleTests */,
|
||||
94056E0B185BB3D800EB94BA /* Frameworks */,
|
||||
94056E0A185BB3D800EB94BA /* Products */,
|
||||
);
|
||||
@@ -215,7 +104,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056E09185BB3D800EB94BA /* EZAudioRecordExample.app */,
|
||||
94056E2A185BB3D800EB94BA /* EZAudioRecordExampleTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -250,7 +138,6 @@
|
||||
94056E12185BB3D800EB94BA /* EZAudioRecordExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755AB51B3B79220013E67E /* EZAudio */,
|
||||
94056E1E185BB3D800EB94BA /* AppDelegate.h */,
|
||||
94056E1F185BB3D800EB94BA /* AppDelegate.m */,
|
||||
94056E21185BB3D800EB94BA /* MainMenu.xib */,
|
||||
@@ -275,24 +162,6 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056E30185BB3D800EB94BA /* EZAudioRecordExampleTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056E36185BB3D800EB94BA /* EZAudioRecordExampleTests.m */,
|
||||
94056E31185BB3D800EB94BA /* Supporting Files */,
|
||||
);
|
||||
path = EZAudioRecordExampleTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056E31185BB3D800EB94BA /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056E32185BB3D800EB94BA /* EZAudioRecordExampleTests-Info.plist */,
|
||||
94056E33185BB3D800EB94BA /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -303,6 +172,7 @@
|
||||
94056E05185BB3D800EB94BA /* Sources */,
|
||||
94056E06185BB3D800EB94BA /* Frameworks */,
|
||||
94056E07185BB3D800EB94BA /* Resources */,
|
||||
6611CEB41B45F73D00AE0EE8 /* Embed Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -313,24 +183,6 @@
|
||||
productReference = 94056E09185BB3D800EB94BA /* EZAudioRecordExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
94056E29185BB3D800EB94BA /* EZAudioRecordExampleTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 94056E3D185BB3D800EB94BA /* Build configuration list for PBXNativeTarget "EZAudioRecordExampleTests" */;
|
||||
buildPhases = (
|
||||
94056E26185BB3D800EB94BA /* Sources */,
|
||||
94056E27185BB3D800EB94BA /* Frameworks */,
|
||||
94056E28185BB3D800EB94BA /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
94056E2F185BB3D800EB94BA /* PBXTargetDependency */,
|
||||
);
|
||||
name = EZAudioRecordExampleTests;
|
||||
productName = EZAudioRecordExampleTests;
|
||||
productReference = 94056E2A185BB3D800EB94BA /* EZAudioRecordExampleTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@@ -339,11 +191,6 @@
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = "Syed Haris Ali";
|
||||
TargetAttributes = {
|
||||
94056E29185BB3D800EB94BA = {
|
||||
TestTargetID = 94056E08185BB3D800EB94BA;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 94056E04185BB3D800EB94BA /* Build configuration list for PBXProject "EZAudioRecordExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@@ -359,7 +206,6 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
94056E08185BB3D800EB94BA /* EZAudioRecordExample */,
|
||||
94056E29185BB3D800EB94BA /* EZAudioRecordExampleTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -370,20 +216,10 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056E17185BB3D800EB94BA /* InfoPlist.strings in Resources */,
|
||||
66755AED1B3B79230013E67E /* VERSION in Resources */,
|
||||
94056E75185BB44200EB94BA /* RecordViewController.xib in Resources */,
|
||||
94056E25185BB3D800EB94BA /* Images.xcassets in Resources */,
|
||||
94056E1D185BB3D800EB94BA /* Credits.rtf in Resources */,
|
||||
94056E23185BB3D800EB94BA /* MainMenu.xib in Resources */,
|
||||
66755AEC1B3B79230013E67E /* CHANGELOG in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056E28185BB3D800EB94BA /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056E35185BB3D800EB94BA /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -394,46 +230,14 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
66755AE31B3B79230013E67E /* EZAudioPlot.m in Sources */,
|
||||
66755AE21B3B79230013E67E /* EZAudioPlayer.m in Sources */,
|
||||
94056E74185BB44200EB94BA /* RecordViewController.m in Sources */,
|
||||
66755AE41B3B79230013E67E /* EZAudioPlotGL.m in Sources */,
|
||||
66755AE51B3B79230013E67E /* EZAudioPlotGLKViewController.m in Sources */,
|
||||
66755ADF1B3B79230013E67E /* EZAudioFile.m in Sources */,
|
||||
66755AE81B3B79230013E67E /* EZOutput.m in Sources */,
|
||||
66755AE61B3B79230013E67E /* EZAudioUtilities.m in Sources */,
|
||||
66755AE91B3B79230013E67E /* EZPlot.m in Sources */,
|
||||
94056E20185BB3D800EB94BA /* AppDelegate.m in Sources */,
|
||||
66755AEA1B3B79230013E67E /* EZRecorder.m in Sources */,
|
||||
66755AE11B3B79230013E67E /* EZAudioFloatData.m in Sources */,
|
||||
66755AE01B3B79230013E67E /* EZAudioFloatConverter.m in Sources */,
|
||||
66755ADE1B3B79230013E67E /* EZAudioDisplayLink.m in Sources */,
|
||||
66755AE71B3B79230013E67E /* EZMicrophone.m in Sources */,
|
||||
66755ADD1B3B79230013E67E /* EZAudioDevice.m in Sources */,
|
||||
94056E19185BB3D800EB94BA /* main.m in Sources */,
|
||||
66755AEB1B3B79230013E67E /* TPCircularBuffer.c in Sources */,
|
||||
66755ADC1B3B79230013E67E /* EZAudio.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056E26185BB3D800EB94BA /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056E37185BB3D800EB94BA /* EZAudioRecordExampleTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
94056E2F185BB3D800EB94BA /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 94056E08185BB3D800EB94BA /* EZAudioRecordExample */;
|
||||
targetProxy = 94056E2E185BB3D800EB94BA /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
94056E15185BB3D800EB94BA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
@@ -459,14 +263,6 @@
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056E33185BB3D800EB94BA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
94056E34185BB3D800EB94BA /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@@ -543,9 +339,14 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioRecordExample/EZAudioRecordExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioRecordExample/EZAudioRecordExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
@@ -556,54 +357,19 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioRecordExample/EZAudioRecordExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioRecordExample/EZAudioRecordExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
94056E3E185BB3D800EB94BA /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioRecordExample.app/Contents/MacOS/EZAudioRecordExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioRecordExample/EZAudioRecordExample-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "EZAudioRecordExampleTests/EZAudioRecordExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
94056E3F185BB3D800EB94BA /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioRecordExample.app/Contents/MacOS/EZAudioRecordExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioRecordExample/EZAudioRecordExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioRecordExampleTests/EZAudioRecordExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -625,15 +391,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
94056E3D185BB3D800EB94BA /* Build configuration list for PBXNativeTarget "EZAudioRecordExampleTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
94056E3E185BB3D800EB94BA /* Debug */,
|
||||
94056E3F185BB3D800EB94BA /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 94056E01185BB3D800EB94BA /* Project object */;
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
// Import EZAudio header
|
||||
#import "EZAudio.h"
|
||||
#import <EZAudio/EZAudio.h>
|
||||
|
||||
// Import AVFoundation to play the file (will save EZAudioFile and EZOutput for separate example)
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.sha.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
-51
@@ -1,51 +0,0 @@
|
||||
//
|
||||
// EZAudioRecordExampleTests.m
|
||||
// EZAudioRecordExampleTests
|
||||
//
|
||||
// Created by Syed Haris Ali on 12/1/13.
|
||||
// Copyright (c) 2013 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface EZAudioRecordExampleTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation EZAudioRecordExampleTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
+28
-271
@@ -7,24 +7,8 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
66755B151B3B792A0013E67E /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AF21B3B792A0013E67E /* EZAudio.m */; };
|
||||
66755B161B3B792A0013E67E /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AF41B3B792A0013E67E /* EZAudioDevice.m */; };
|
||||
66755B171B3B792A0013E67E /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AF61B3B792A0013E67E /* EZAudioDisplayLink.m */; };
|
||||
66755B181B3B792A0013E67E /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AF81B3B792A0013E67E /* EZAudioFile.m */; };
|
||||
66755B191B3B792A0013E67E /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AFA1B3B792A0013E67E /* EZAudioFloatConverter.m */; };
|
||||
66755B1A1B3B792A0013E67E /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AFC1B3B792A0013E67E /* EZAudioFloatData.m */; };
|
||||
66755B1B1B3B792A0013E67E /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755AFE1B3B792A0013E67E /* EZAudioPlayer.m */; };
|
||||
66755B1C1B3B792A0013E67E /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B001B3B792A0013E67E /* EZAudioPlot.m */; };
|
||||
66755B1D1B3B792A0013E67E /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B021B3B792A0013E67E /* EZAudioPlotGL.m */; };
|
||||
66755B1E1B3B792A0013E67E /* EZAudioPlotGLKViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B041B3B792A0013E67E /* EZAudioPlotGLKViewController.m */; };
|
||||
66755B1F1B3B792A0013E67E /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B061B3B792A0013E67E /* EZAudioUtilities.m */; };
|
||||
66755B201B3B792A0013E67E /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B081B3B792A0013E67E /* EZMicrophone.m */; };
|
||||
66755B211B3B792A0013E67E /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B0A1B3B792A0013E67E /* EZOutput.m */; };
|
||||
66755B221B3B792A0013E67E /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B0C1B3B792A0013E67E /* EZPlot.m */; };
|
||||
66755B231B3B792A0013E67E /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 66755B0E1B3B792A0013E67E /* EZRecorder.m */; };
|
||||
66755B241B3B792A0013E67E /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 66755B0F1B3B792A0013E67E /* TPCircularBuffer.c */; };
|
||||
66755B251B3B792A0013E67E /* CHANGELOG in Resources */ = {isa = PBXBuildFile; fileRef = 66755B121B3B792A0013E67E /* CHANGELOG */; };
|
||||
66755B261B3B792A0013E67E /* VERSION in Resources */ = {isa = PBXBuildFile; fileRef = 66755B131B3B792A0013E67E /* VERSION */; };
|
||||
6611CEB61B45F74E00AE0EE8 /* EZAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEB51B45F74E00AE0EE8 /* EZAudio.framework */; };
|
||||
6611CEB71B45F74E00AE0EE8 /* EZAudio.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CEB51B45F74E00AE0EE8 /* EZAudio.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
94056E83185BCBC000EB94BA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056E82185BCBC000EB94BA /* Cocoa.framework */; };
|
||||
94056E8D185BCBC000EB94BA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 94056E8B185BCBC000EB94BA /* InfoPlist.strings */; };
|
||||
94056E8F185BCBC000EB94BA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056E8E185BCBC000EB94BA /* main.m */; };
|
||||
@@ -32,10 +16,6 @@
|
||||
94056E96185BCBC000EB94BA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056E95185BCBC000EB94BA /* AppDelegate.m */; };
|
||||
94056E99185BCBC000EB94BA /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 94056E97185BCBC000EB94BA /* MainMenu.xib */; };
|
||||
94056E9B185BCBC000EB94BA /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 94056E9A185BCBC000EB94BA /* Images.xcassets */; };
|
||||
94056EA2185BCBC000EB94BA /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056EA1185BCBC000EB94BA /* XCTest.framework */; };
|
||||
94056EA3185BCBC000EB94BA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056E82185BCBC000EB94BA /* Cocoa.framework */; };
|
||||
94056EAB185BCBC000EB94BA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 94056EA9185BCBC000EB94BA /* InfoPlist.strings */; };
|
||||
94056EAD185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056EAC185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests.m */; };
|
||||
94056EDE185BCC0200EB94BA /* WaveformFromFileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056EDC185BCC0200EB94BA /* WaveformFromFileViewController.m */; };
|
||||
94056EDF185BCC0200EB94BA /* WaveformFromFileViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 94056EDD185BCC0200EB94BA /* WaveformFromFileViewController.xib */; };
|
||||
94056EE1185BCDB500EB94BA /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056EE0185BCDB500EB94BA /* GLKit.framework */; };
|
||||
@@ -47,51 +27,22 @@
|
||||
9417A6D31865927500D9D37B /* simple-drum-beat.wav in Resources */ = {isa = PBXBuildFile; fileRef = 9417A6D21865927500D9D37B /* simple-drum-beat.wav */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
94056EA4185BCBC000EB94BA /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 94056E77185BCBC000EB94BA /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 94056E7E185BCBC000EB94BA;
|
||||
remoteInfo = EZAudioWaveformFromFileExample;
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
6611CEB81B45F74E00AE0EE8 /* Embed Frameworks */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
6611CEB71B45F74E00AE0EE8 /* EZAudio.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
66755AF11B3B792A0013E67E /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudio.h; sourceTree = "<group>"; };
|
||||
66755AF21B3B792A0013E67E /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudio.m; sourceTree = "<group>"; };
|
||||
66755AF31B3B792A0013E67E /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
|
||||
66755AF41B3B792A0013E67E /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
|
||||
66755AF51B3B792A0013E67E /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
|
||||
66755AF61B3B792A0013E67E /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
|
||||
66755AF71B3B792A0013E67E /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
|
||||
66755AF81B3B792A0013E67E /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
|
||||
66755AF91B3B792A0013E67E /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
|
||||
66755AFA1B3B792A0013E67E /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
|
||||
66755AFB1B3B792A0013E67E /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
|
||||
66755AFC1B3B792A0013E67E /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
|
||||
66755AFD1B3B792A0013E67E /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
|
||||
66755AFE1B3B792A0013E67E /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
|
||||
66755AFF1B3B792A0013E67E /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
|
||||
66755B001B3B792A0013E67E /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
|
||||
66755B011B3B792A0013E67E /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
|
||||
66755B021B3B792A0013E67E /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
|
||||
66755B031B3B792A0013E67E /* EZAudioPlotGLKViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGLKViewController.h; sourceTree = "<group>"; };
|
||||
66755B041B3B792A0013E67E /* EZAudioPlotGLKViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGLKViewController.m; sourceTree = "<group>"; };
|
||||
66755B051B3B792A0013E67E /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
|
||||
66755B061B3B792A0013E67E /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
|
||||
66755B071B3B792A0013E67E /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
|
||||
66755B081B3B792A0013E67E /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
|
||||
66755B091B3B792A0013E67E /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
|
||||
66755B0A1B3B792A0013E67E /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
|
||||
66755B0B1B3B792A0013E67E /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
|
||||
66755B0C1B3B792A0013E67E /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
|
||||
66755B0D1B3B792A0013E67E /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
|
||||
66755B0E1B3B792A0013E67E /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
|
||||
66755B0F1B3B792A0013E67E /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
|
||||
66755B101B3B792A0013E67E /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
|
||||
66755B121B3B792A0013E67E /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = "<group>"; };
|
||||
66755B131B3B792A0013E67E /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = "<group>"; };
|
||||
6611CEB51B45F74E00AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = EZAudio.framework; path = /Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug/EZAudio.framework; sourceTree = "<absolute>"; };
|
||||
94056E7F185BCBC000EB94BA /* EZAudioWaveformFromFileExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EZAudioWaveformFromFileExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
94056E82185BCBC000EB94BA /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
|
||||
94056E85185BCBC000EB94BA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
|
||||
@@ -106,11 +57,7 @@
|
||||
94056E95185BCBC000EB94BA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
94056E98185BCBC000EB94BA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
94056E9A185BCBC000EB94BA /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
94056EA0185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EZAudioWaveformFromFileExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
94056EA1185BCBC000EB94BA /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
94056EA8185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "EZAudioWaveformFromFileExampleTests-Info.plist"; sourceTree = "<group>"; };
|
||||
94056EAA185BCBC000EB94BA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
94056EAC185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZAudioWaveformFromFileExampleTests.m; sourceTree = "<group>"; };
|
||||
94056EDB185BCC0100EB94BA /* WaveformFromFileViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WaveformFromFileViewController.h; sourceTree = "<group>"; };
|
||||
94056EDC185BCC0200EB94BA /* WaveformFromFileViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WaveformFromFileViewController.m; sourceTree = "<group>"; };
|
||||
94056EDD185BCC0200EB94BA /* WaveformFromFileViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WaveformFromFileViewController.xib; sourceTree = "<group>"; };
|
||||
@@ -134,77 +81,19 @@
|
||||
94056EE9185BCDBF00EB94BA /* CoreAudio.framework in Frameworks */,
|
||||
94056EE3185BCDB900EB94BA /* OpenGL.framework in Frameworks */,
|
||||
94056EE1185BCDB500EB94BA /* GLKit.framework in Frameworks */,
|
||||
6611CEB61B45F74E00AE0EE8 /* EZAudio.framework in Frameworks */,
|
||||
94056E83185BCBC000EB94BA /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056E9D185BCBC000EB94BA /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056EA3185BCBC000EB94BA /* Cocoa.framework in Frameworks */,
|
||||
94056EA2185BCBC000EB94BA /* XCTest.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
66755AEE1B3B792A0013E67E /* EZAudio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755AF11B3B792A0013E67E /* EZAudio.h */,
|
||||
66755AF21B3B792A0013E67E /* EZAudio.m */,
|
||||
66755AF31B3B792A0013E67E /* EZAudioDevice.h */,
|
||||
66755AF41B3B792A0013E67E /* EZAudioDevice.m */,
|
||||
66755AF51B3B792A0013E67E /* EZAudioDisplayLink.h */,
|
||||
66755AF61B3B792A0013E67E /* EZAudioDisplayLink.m */,
|
||||
66755AF71B3B792A0013E67E /* EZAudioFile.h */,
|
||||
66755AF81B3B792A0013E67E /* EZAudioFile.m */,
|
||||
66755AF91B3B792A0013E67E /* EZAudioFloatConverter.h */,
|
||||
66755AFA1B3B792A0013E67E /* EZAudioFloatConverter.m */,
|
||||
66755AFB1B3B792A0013E67E /* EZAudioFloatData.h */,
|
||||
66755AFC1B3B792A0013E67E /* EZAudioFloatData.m */,
|
||||
66755AFD1B3B792A0013E67E /* EZAudioPlayer.h */,
|
||||
66755AFE1B3B792A0013E67E /* EZAudioPlayer.m */,
|
||||
66755AFF1B3B792A0013E67E /* EZAudioPlot.h */,
|
||||
66755B001B3B792A0013E67E /* EZAudioPlot.m */,
|
||||
66755B011B3B792A0013E67E /* EZAudioPlotGL.h */,
|
||||
66755B021B3B792A0013E67E /* EZAudioPlotGL.m */,
|
||||
66755B031B3B792A0013E67E /* EZAudioPlotGLKViewController.h */,
|
||||
66755B041B3B792A0013E67E /* EZAudioPlotGLKViewController.m */,
|
||||
66755B051B3B792A0013E67E /* EZAudioUtilities.h */,
|
||||
66755B061B3B792A0013E67E /* EZAudioUtilities.m */,
|
||||
66755B071B3B792A0013E67E /* EZMicrophone.h */,
|
||||
66755B081B3B792A0013E67E /* EZMicrophone.m */,
|
||||
66755B091B3B792A0013E67E /* EZOutput.h */,
|
||||
66755B0A1B3B792A0013E67E /* EZOutput.m */,
|
||||
66755B0B1B3B792A0013E67E /* EZPlot.h */,
|
||||
66755B0C1B3B792A0013E67E /* EZPlot.m */,
|
||||
66755B0D1B3B792A0013E67E /* EZRecorder.h */,
|
||||
66755B0E1B3B792A0013E67E /* EZRecorder.m */,
|
||||
66755B0F1B3B792A0013E67E /* TPCircularBuffer.c */,
|
||||
66755B101B3B792A0013E67E /* TPCircularBuffer.h */,
|
||||
66755B111B3B792A0013E67E /* VERSION */,
|
||||
);
|
||||
name = EZAudio;
|
||||
path = ../../../../EZAudio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
66755B111B3B792A0013E67E /* VERSION */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755B121B3B792A0013E67E /* CHANGELOG */,
|
||||
66755B131B3B792A0013E67E /* VERSION */,
|
||||
);
|
||||
path = VERSION;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056E76185BCBC000EB94BA = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CEB51B45F74E00AE0EE8 /* EZAudio.framework */,
|
||||
94056E88185BCBC000EB94BA /* EZAudioWaveformFromFileExample */,
|
||||
94056EA6185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests */,
|
||||
94056E81185BCBC000EB94BA /* Frameworks */,
|
||||
94056E80185BCBC000EB94BA /* Products */,
|
||||
);
|
||||
@@ -214,7 +103,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056E7F185BCBC000EB94BA /* EZAudioWaveformFromFileExample.app */,
|
||||
94056EA0185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -248,7 +136,6 @@
|
||||
94056E88185BCBC000EB94BA /* EZAudioWaveformFromFileExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
66755AEE1B3B792A0013E67E /* EZAudio */,
|
||||
94056E94185BCBC000EB94BA /* AppDelegate.h */,
|
||||
94056E95185BCBC000EB94BA /* AppDelegate.m */,
|
||||
94056EDB185BCC0100EB94BA /* WaveformFromFileViewController.h */,
|
||||
@@ -274,24 +161,6 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056EA6185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056EAC185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests.m */,
|
||||
94056EA7185BCBC000EB94BA /* Supporting Files */,
|
||||
);
|
||||
path = EZAudioWaveformFromFileExampleTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056EA7185BCBC000EB94BA /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056EA8185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests-Info.plist */,
|
||||
94056EA9185BCBC000EB94BA /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -302,6 +171,7 @@
|
||||
94056E7B185BCBC000EB94BA /* Sources */,
|
||||
94056E7C185BCBC000EB94BA /* Frameworks */,
|
||||
94056E7D185BCBC000EB94BA /* Resources */,
|
||||
6611CEB81B45F74E00AE0EE8 /* Embed Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -312,24 +182,6 @@
|
||||
productReference = 94056E7F185BCBC000EB94BA /* EZAudioWaveformFromFileExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
94056E9F185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 94056EB3185BCBC100EB94BA /* Build configuration list for PBXNativeTarget "EZAudioWaveformFromFileExampleTests" */;
|
||||
buildPhases = (
|
||||
94056E9C185BCBC000EB94BA /* Sources */,
|
||||
94056E9D185BCBC000EB94BA /* Frameworks */,
|
||||
94056E9E185BCBC000EB94BA /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
94056EA5185BCBC000EB94BA /* PBXTargetDependency */,
|
||||
);
|
||||
name = EZAudioWaveformFromFileExampleTests;
|
||||
productName = EZAudioWaveformFromFileExampleTests;
|
||||
productReference = 94056EA0185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@@ -338,11 +190,6 @@
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = "Syed Haris Ali";
|
||||
TargetAttributes = {
|
||||
94056E9F185BCBC000EB94BA = {
|
||||
TestTargetID = 94056E7E185BCBC000EB94BA;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 94056E7A185BCBC000EB94BA /* Build configuration list for PBXProject "EZAudioWaveformFromFileExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@@ -358,7 +205,6 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
94056E7E185BCBC000EB94BA /* EZAudioWaveformFromFileExample */,
|
||||
94056E9F185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -370,23 +216,13 @@
|
||||
files = (
|
||||
94056E8D185BCBC000EB94BA /* InfoPlist.strings in Resources */,
|
||||
94056E9B185BCBC000EB94BA /* Images.xcassets in Resources */,
|
||||
66755B251B3B792A0013E67E /* CHANGELOG in Resources */,
|
||||
9417A6D31865927500D9D37B /* simple-drum-beat.wav in Resources */,
|
||||
94056EDF185BCC0200EB94BA /* WaveformFromFileViewController.xib in Resources */,
|
||||
66755B261B3B792A0013E67E /* VERSION in Resources */,
|
||||
94056E93185BCBC000EB94BA /* Credits.rtf in Resources */,
|
||||
94056E99185BCBC000EB94BA /* MainMenu.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056E9E185BCBC000EB94BA /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056EAB185BCBC000EB94BA /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
@@ -394,46 +230,14 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
66755B1C1B3B792A0013E67E /* EZAudioPlot.m in Sources */,
|
||||
66755B1B1B3B792A0013E67E /* EZAudioPlayer.m in Sources */,
|
||||
94056E96185BCBC000EB94BA /* AppDelegate.m in Sources */,
|
||||
66755B1D1B3B792A0013E67E /* EZAudioPlotGL.m in Sources */,
|
||||
66755B1E1B3B792A0013E67E /* EZAudioPlotGLKViewController.m in Sources */,
|
||||
66755B181B3B792A0013E67E /* EZAudioFile.m in Sources */,
|
||||
66755B211B3B792A0013E67E /* EZOutput.m in Sources */,
|
||||
66755B1F1B3B792A0013E67E /* EZAudioUtilities.m in Sources */,
|
||||
66755B221B3B792A0013E67E /* EZPlot.m in Sources */,
|
||||
94056EDE185BCC0200EB94BA /* WaveformFromFileViewController.m in Sources */,
|
||||
66755B231B3B792A0013E67E /* EZRecorder.m in Sources */,
|
||||
66755B1A1B3B792A0013E67E /* EZAudioFloatData.m in Sources */,
|
||||
66755B191B3B792A0013E67E /* EZAudioFloatConverter.m in Sources */,
|
||||
66755B171B3B792A0013E67E /* EZAudioDisplayLink.m in Sources */,
|
||||
66755B201B3B792A0013E67E /* EZMicrophone.m in Sources */,
|
||||
66755B161B3B792A0013E67E /* EZAudioDevice.m in Sources */,
|
||||
94056E8F185BCBC000EB94BA /* main.m in Sources */,
|
||||
66755B241B3B792A0013E67E /* TPCircularBuffer.c in Sources */,
|
||||
66755B151B3B792A0013E67E /* EZAudio.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056E9C185BCBC000EB94BA /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056EAD185BCBC000EB94BA /* EZAudioWaveformFromFileExampleTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
94056EA5185BCBC000EB94BA /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 94056E7E185BCBC000EB94BA /* EZAudioWaveformFromFileExample */;
|
||||
targetProxy = 94056EA4185BCBC000EB94BA /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
94056E8B185BCBC000EB94BA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
@@ -459,14 +263,6 @@
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056EA9185BCBC000EB94BA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
94056EAA185BCBC000EB94BA /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@@ -543,9 +339,14 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioWaveformFromFileExample/EZAudioWaveformFromFileExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioWaveformFromFileExample/EZAudioWaveformFromFileExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
@@ -556,54 +357,19 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Users/haris/Documents/code/openSource/EZAudio/EZAudioExamples/OSX/Build/Products/Debug,
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioWaveformFromFileExample/EZAudioWaveformFromFileExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioWaveformFromFileExample/EZAudioWaveformFromFileExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
94056EB4185BCBC100EB94BA /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioWaveformFromFileExample.app/Contents/MacOS/EZAudioWaveformFromFileExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioWaveformFromFileExample/EZAudioWaveformFromFileExample-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "EZAudioWaveformFromFileExampleTests/EZAudioWaveformFromFileExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
94056EB5185BCBC100EB94BA /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioWaveformFromFileExample.app/Contents/MacOS/EZAudioWaveformFromFileExample";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioWaveformFromFileExample/EZAudioWaveformFromFileExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioWaveformFromFileExampleTests/EZAudioWaveformFromFileExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -625,15 +391,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
94056EB3185BCBC100EB94BA /* Build configuration list for PBXNativeTarget "EZAudioWaveformFromFileExampleTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
94056EB4185BCBC100EB94BA /* Debug */,
|
||||
94056EB5185BCBC100EB94BA /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 94056E77185BCBC000EB94BA /* Project object */;
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
// Import EZAudio header
|
||||
#import "EZAudio.h"
|
||||
#import <EZAudio/EZAudio.h>
|
||||
|
||||
/**
|
||||
Here's the default audio file included with the example
|
||||
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.sha.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
-51
@@ -1,51 +0,0 @@
|
||||
//
|
||||
// EZAudioWaveformFromFileExampleTests.m
|
||||
// EZAudioWaveformFromFileExampleTests
|
||||
//
|
||||
// Created by Syed Haris Ali on 12/1/13.
|
||||
// Copyright (c) 2013 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface EZAudioWaveformFromFileExampleTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation EZAudioWaveformFromFileExampleTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
+16
-281
@@ -7,24 +7,7 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
667558A21B3B604B0013E67E /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 6675587F1B3B604B0013E67E /* EZAudio.m */; };
|
||||
667558A31B3B604B0013E67E /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558811B3B604B0013E67E /* EZAudioDevice.m */; };
|
||||
667558A41B3B604B0013E67E /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558831B3B604B0013E67E /* EZAudioDisplayLink.m */; };
|
||||
667558A51B3B604B0013E67E /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558851B3B604B0013E67E /* EZAudioFile.m */; };
|
||||
667558A61B3B604B0013E67E /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558871B3B604B0013E67E /* EZAudioFloatConverter.m */; };
|
||||
667558A71B3B604B0013E67E /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558891B3B604B0013E67E /* EZAudioFloatData.m */; };
|
||||
667558A81B3B604B0013E67E /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6675588B1B3B604B0013E67E /* EZAudioPlayer.m */; };
|
||||
667558A91B3B604B0013E67E /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 6675588D1B3B604B0013E67E /* EZAudioPlot.m */; };
|
||||
667558AA1B3B604B0013E67E /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 6675588F1B3B604B0013E67E /* EZAudioPlotGL.m */; };
|
||||
667558AB1B3B604B0013E67E /* EZAudioPlotGLKViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558911B3B604B0013E67E /* EZAudioPlotGLKViewController.m */; };
|
||||
667558AC1B3B604B0013E67E /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558931B3B604B0013E67E /* EZAudioUtilities.m */; };
|
||||
667558AD1B3B604B0013E67E /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558951B3B604B0013E67E /* EZMicrophone.m */; };
|
||||
667558AE1B3B604B0013E67E /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558971B3B604B0013E67E /* EZOutput.m */; };
|
||||
667558AF1B3B604B0013E67E /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558991B3B604B0013E67E /* EZPlot.m */; };
|
||||
667558B01B3B604B0013E67E /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 6675589B1B3B604B0013E67E /* EZRecorder.m */; };
|
||||
667558B11B3B604B0013E67E /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 6675589C1B3B604B0013E67E /* TPCircularBuffer.c */; };
|
||||
667558B21B3B604B0013E67E /* CHANGELOG in Resources */ = {isa = PBXBuildFile; fileRef = 6675589F1B3B604B0013E67E /* CHANGELOG */; };
|
||||
667558B31B3B604B0013E67E /* VERSION in Resources */ = {isa = PBXBuildFile; fileRef = 667558A01B3B604B0013E67E /* VERSION */; };
|
||||
6611CE411B45D02D00AE0EE8 /* EZAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CE401B45D02D00AE0EE8 /* EZAudio.framework */; };
|
||||
66DB85831B0430E70018EFC5 /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66DB85821B0430E70018EFC5 /* MainStoryboard.storyboard */; };
|
||||
94056F7E185E593500EB94BA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056F7D185E593500EB94BA /* Foundation.framework */; };
|
||||
94056F80185E593500EB94BA /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056F7F185E593500EB94BA /* CoreGraphics.framework */; };
|
||||
@@ -33,62 +16,16 @@
|
||||
94056F8A185E593500EB94BA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056F89185E593500EB94BA /* main.m */; };
|
||||
94056F8E185E593500EB94BA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056F8D185E593500EB94BA /* AppDelegate.m */; };
|
||||
94056F99185E593500EB94BA /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 94056F98185E593500EB94BA /* Images.xcassets */; };
|
||||
94056FA0185E593500EB94BA /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056F9F185E593500EB94BA /* XCTest.framework */; };
|
||||
94056FA1185E593500EB94BA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056F7D185E593500EB94BA /* Foundation.framework */; };
|
||||
94056FA2185E593500EB94BA /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056F81185E593500EB94BA /* UIKit.framework */; };
|
||||
94056FAA185E593500EB94BA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 94056FA8185E593500EB94BA /* InfoPlist.strings */; };
|
||||
94056FAC185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056FAB185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests.m */; };
|
||||
94056FDE185E59D900EB94BA /* CoreGraphicsWaveformViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056FDD185E59D900EB94BA /* CoreGraphicsWaveformViewController.m */; };
|
||||
94057024185E612100EB94BA /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94057023185E612000EB94BA /* AudioToolbox.framework */; };
|
||||
94057026185E612A00EB94BA /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94057025185E612A00EB94BA /* GLKit.framework */; };
|
||||
94FBB77318B15690007CAE45 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94FBB77218B15690007CAE45 /* AVFoundation.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
94056FA3185E593500EB94BA /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 94056F72185E593500EB94BA /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 94056F79185E593500EB94BA;
|
||||
remoteInfo = EZAudioCoreGraphicsWaveformExample;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
6675587E1B3B604B0013E67E /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudio.h; sourceTree = "<group>"; };
|
||||
6675587F1B3B604B0013E67E /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudio.m; sourceTree = "<group>"; };
|
||||
667558801B3B604B0013E67E /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
|
||||
667558811B3B604B0013E67E /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
|
||||
667558821B3B604B0013E67E /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
|
||||
667558831B3B604B0013E67E /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
|
||||
667558841B3B604B0013E67E /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
|
||||
667558851B3B604B0013E67E /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
|
||||
667558861B3B604B0013E67E /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
|
||||
667558871B3B604B0013E67E /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
|
||||
667558881B3B604B0013E67E /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
|
||||
667558891B3B604B0013E67E /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
|
||||
6675588A1B3B604B0013E67E /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
|
||||
6675588B1B3B604B0013E67E /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
|
||||
6675588C1B3B604B0013E67E /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
|
||||
6675588D1B3B604B0013E67E /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
|
||||
6675588E1B3B604B0013E67E /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
|
||||
6675588F1B3B604B0013E67E /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
|
||||
667558901B3B604B0013E67E /* EZAudioPlotGLKViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGLKViewController.h; sourceTree = "<group>"; };
|
||||
667558911B3B604B0013E67E /* EZAudioPlotGLKViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGLKViewController.m; sourceTree = "<group>"; };
|
||||
667558921B3B604B0013E67E /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
|
||||
667558931B3B604B0013E67E /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
|
||||
667558941B3B604B0013E67E /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
|
||||
667558951B3B604B0013E67E /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
|
||||
667558961B3B604B0013E67E /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
|
||||
667558971B3B604B0013E67E /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
|
||||
667558981B3B604B0013E67E /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
|
||||
667558991B3B604B0013E67E /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
|
||||
6675589A1B3B604B0013E67E /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
|
||||
6675589B1B3B604B0013E67E /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
|
||||
6675589C1B3B604B0013E67E /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
|
||||
6675589D1B3B604B0013E67E /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
|
||||
6675589F1B3B604B0013E67E /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = "<group>"; };
|
||||
667558A01B3B604B0013E67E /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = "<group>"; };
|
||||
6611CDCE1B45CD3700AE0EE8 /* libEZAudio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libEZAudio.a; path = "../../../EZAudio/iOS/build/Debug-iphoneos/libEZAudio.a"; sourceTree = "<group>"; };
|
||||
6611CE3E1B45CF8900AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EZAudio.framework; path = "../../../EZAudio/iOS/build/Debug-iphoneos/EZAudio.framework"; sourceTree = "<group>"; };
|
||||
6611CE401B45D02D00AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EZAudio.framework; path = "../../../EZAudio/iOS/build/Debug-iphoneos/EZAudio.framework"; sourceTree = "<group>"; };
|
||||
66DB85821B0430E70018EFC5 /* MainStoryboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainStoryboard.storyboard; sourceTree = "<group>"; };
|
||||
94056F7A185E593500EB94BA /* EZAudioCoreGraphicsWaveformExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EZAudioCoreGraphicsWaveformExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
94056F7D185E593500EB94BA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
@@ -101,11 +38,7 @@
|
||||
94056F8C185E593500EB94BA /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||
94056F8D185E593500EB94BA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
94056F98185E593500EB94BA /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
94056F9E185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EZAudioCoreGraphicsWaveformExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
94056F9F185E593500EB94BA /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
94056FA7185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "EZAudioCoreGraphicsWaveformExampleTests-Info.plist"; sourceTree = "<group>"; };
|
||||
94056FA9185E593500EB94BA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
94056FAB185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZAudioCoreGraphicsWaveformExampleTests.m; sourceTree = "<group>"; };
|
||||
94056FDC185E59D900EB94BA /* CoreGraphicsWaveformViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreGraphicsWaveformViewController.h; sourceTree = "<group>"; };
|
||||
94056FDD185E59D900EB94BA /* CoreGraphicsWaveformViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CoreGraphicsWaveformViewController.m; sourceTree = "<group>"; };
|
||||
94057023185E612000EB94BA /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||
@@ -118,6 +51,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6611CE411B45D02D00AE0EE8 /* EZAudio.framework in Frameworks */,
|
||||
94FBB77318B15690007CAE45 /* AVFoundation.framework in Frameworks */,
|
||||
94057026185E612A00EB94BA /* GLKit.framework in Frameworks */,
|
||||
94057024185E612100EB94BA /* AudioToolbox.framework in Frameworks */,
|
||||
@@ -127,74 +61,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056F9B185E593500EB94BA /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056FA0185E593500EB94BA /* XCTest.framework in Frameworks */,
|
||||
94056FA2185E593500EB94BA /* UIKit.framework in Frameworks */,
|
||||
94056FA1185E593500EB94BA /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
6675587B1B3B604B0013E67E /* EZAudio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6675587E1B3B604B0013E67E /* EZAudio.h */,
|
||||
6675587F1B3B604B0013E67E /* EZAudio.m */,
|
||||
667558801B3B604B0013E67E /* EZAudioDevice.h */,
|
||||
667558811B3B604B0013E67E /* EZAudioDevice.m */,
|
||||
667558821B3B604B0013E67E /* EZAudioDisplayLink.h */,
|
||||
667558831B3B604B0013E67E /* EZAudioDisplayLink.m */,
|
||||
667558841B3B604B0013E67E /* EZAudioFile.h */,
|
||||
667558851B3B604B0013E67E /* EZAudioFile.m */,
|
||||
667558861B3B604B0013E67E /* EZAudioFloatConverter.h */,
|
||||
667558871B3B604B0013E67E /* EZAudioFloatConverter.m */,
|
||||
667558881B3B604B0013E67E /* EZAudioFloatData.h */,
|
||||
667558891B3B604B0013E67E /* EZAudioFloatData.m */,
|
||||
6675588A1B3B604B0013E67E /* EZAudioPlayer.h */,
|
||||
6675588B1B3B604B0013E67E /* EZAudioPlayer.m */,
|
||||
6675588C1B3B604B0013E67E /* EZAudioPlot.h */,
|
||||
6675588D1B3B604B0013E67E /* EZAudioPlot.m */,
|
||||
6675588E1B3B604B0013E67E /* EZAudioPlotGL.h */,
|
||||
6675588F1B3B604B0013E67E /* EZAudioPlotGL.m */,
|
||||
667558901B3B604B0013E67E /* EZAudioPlotGLKViewController.h */,
|
||||
667558911B3B604B0013E67E /* EZAudioPlotGLKViewController.m */,
|
||||
667558921B3B604B0013E67E /* EZAudioUtilities.h */,
|
||||
667558931B3B604B0013E67E /* EZAudioUtilities.m */,
|
||||
667558941B3B604B0013E67E /* EZMicrophone.h */,
|
||||
667558951B3B604B0013E67E /* EZMicrophone.m */,
|
||||
667558961B3B604B0013E67E /* EZOutput.h */,
|
||||
667558971B3B604B0013E67E /* EZOutput.m */,
|
||||
667558981B3B604B0013E67E /* EZPlot.h */,
|
||||
667558991B3B604B0013E67E /* EZPlot.m */,
|
||||
6675589A1B3B604B0013E67E /* EZRecorder.h */,
|
||||
6675589B1B3B604B0013E67E /* EZRecorder.m */,
|
||||
6675589C1B3B604B0013E67E /* TPCircularBuffer.c */,
|
||||
6675589D1B3B604B0013E67E /* TPCircularBuffer.h */,
|
||||
6675589E1B3B604B0013E67E /* VERSION */,
|
||||
);
|
||||
name = EZAudio;
|
||||
path = ../../../../EZAudio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6675589E1B3B604B0013E67E /* VERSION */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6675589F1B3B604B0013E67E /* CHANGELOG */,
|
||||
667558A01B3B604B0013E67E /* VERSION */,
|
||||
);
|
||||
path = VERSION;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056F71185E593500EB94BA = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056F83185E593500EB94BA /* EZAudioCoreGraphicsWaveformExample */,
|
||||
94056FA5185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests */,
|
||||
94056F7C185E593500EB94BA /* Frameworks */,
|
||||
94056F7B185E593500EB94BA /* Products */,
|
||||
);
|
||||
@@ -204,7 +77,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056F7A185E593500EB94BA /* EZAudioCoreGraphicsWaveformExample.app */,
|
||||
94056F9E185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -212,6 +84,9 @@
|
||||
94056F7C185E593500EB94BA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CE401B45D02D00AE0EE8 /* EZAudio.framework */,
|
||||
6611CE3E1B45CF8900AE0EE8 /* EZAudio.framework */,
|
||||
6611CDCE1B45CD3700AE0EE8 /* libEZAudio.a */,
|
||||
94FBB77218B15690007CAE45 /* AVFoundation.framework */,
|
||||
94057025185E612A00EB94BA /* GLKit.framework */,
|
||||
94057023185E612000EB94BA /* AudioToolbox.framework */,
|
||||
@@ -226,7 +101,6 @@
|
||||
94056F83185E593500EB94BA /* EZAudioCoreGraphicsWaveformExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6675587B1B3B604B0013E67E /* EZAudio */,
|
||||
94056F8C185E593500EB94BA /* AppDelegate.h */,
|
||||
94056F8D185E593500EB94BA /* AppDelegate.m */,
|
||||
66DB85821B0430E70018EFC5 /* MainStoryboard.storyboard */,
|
||||
@@ -249,24 +123,6 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056FA5185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056FAB185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests.m */,
|
||||
94056FA6185E593500EB94BA /* Supporting Files */,
|
||||
);
|
||||
path = EZAudioCoreGraphicsWaveformExampleTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056FA6185E593500EB94BA /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056FA7185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests-Info.plist */,
|
||||
94056FA8185E593500EB94BA /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -287,24 +143,6 @@
|
||||
productReference = 94056F7A185E593500EB94BA /* EZAudioCoreGraphicsWaveformExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
94056F9D185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 94056FB2185E593500EB94BA /* Build configuration list for PBXNativeTarget "EZAudioCoreGraphicsWaveformExampleTests" */;
|
||||
buildPhases = (
|
||||
94056F9A185E593500EB94BA /* Sources */,
|
||||
94056F9B185E593500EB94BA /* Frameworks */,
|
||||
94056F9C185E593500EB94BA /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
94056FA4185E593500EB94BA /* PBXTargetDependency */,
|
||||
);
|
||||
name = EZAudioCoreGraphicsWaveformExampleTests;
|
||||
productName = EZAudioCoreGraphicsWaveformExampleTests;
|
||||
productReference = 94056F9E185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@@ -313,11 +151,6 @@
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = "Syed Haris Ali";
|
||||
TargetAttributes = {
|
||||
94056F9D185E593500EB94BA = {
|
||||
TestTargetID = 94056F79185E593500EB94BA;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 94056F75185E593500EB94BA /* Build configuration list for PBXProject "EZAudioCoreGraphicsWaveformExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@@ -333,7 +166,6 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
94056F79185E593500EB94BA /* EZAudioCoreGraphicsWaveformExample */,
|
||||
94056F9D185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -344,18 +176,8 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056F99185E593500EB94BA /* Images.xcassets in Resources */,
|
||||
667558B21B3B604B0013E67E /* CHANGELOG in Resources */,
|
||||
66DB85831B0430E70018EFC5 /* MainStoryboard.storyboard in Resources */,
|
||||
94056F88185E593500EB94BA /* InfoPlist.strings in Resources */,
|
||||
667558B31B3B604B0013E67E /* VERSION in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056F9C185E593500EB94BA /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056FAA185E593500EB94BA /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -366,46 +188,14 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
667558A91B3B604B0013E67E /* EZAudioPlot.m in Sources */,
|
||||
667558A81B3B604B0013E67E /* EZAudioPlayer.m in Sources */,
|
||||
94056FDE185E59D900EB94BA /* CoreGraphicsWaveformViewController.m in Sources */,
|
||||
667558AA1B3B604B0013E67E /* EZAudioPlotGL.m in Sources */,
|
||||
667558AB1B3B604B0013E67E /* EZAudioPlotGLKViewController.m in Sources */,
|
||||
667558A51B3B604B0013E67E /* EZAudioFile.m in Sources */,
|
||||
667558AE1B3B604B0013E67E /* EZOutput.m in Sources */,
|
||||
667558AC1B3B604B0013E67E /* EZAudioUtilities.m in Sources */,
|
||||
667558AF1B3B604B0013E67E /* EZPlot.m in Sources */,
|
||||
94056F8E185E593500EB94BA /* AppDelegate.m in Sources */,
|
||||
667558B01B3B604B0013E67E /* EZRecorder.m in Sources */,
|
||||
667558A71B3B604B0013E67E /* EZAudioFloatData.m in Sources */,
|
||||
667558A61B3B604B0013E67E /* EZAudioFloatConverter.m in Sources */,
|
||||
667558A41B3B604B0013E67E /* EZAudioDisplayLink.m in Sources */,
|
||||
667558AD1B3B604B0013E67E /* EZMicrophone.m in Sources */,
|
||||
667558A31B3B604B0013E67E /* EZAudioDevice.m in Sources */,
|
||||
94056F8A185E593500EB94BA /* main.m in Sources */,
|
||||
667558B11B3B604B0013E67E /* TPCircularBuffer.c in Sources */,
|
||||
667558A21B3B604B0013E67E /* EZAudio.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94056F9A185E593500EB94BA /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94056FAC185E593500EB94BA /* EZAudioCoreGraphicsWaveformExampleTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
94056FA4185E593500EB94BA /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 94056F79185E593500EB94BA /* EZAudioCoreGraphicsWaveformExample */;
|
||||
targetProxy = 94056FA3185E593500EB94BA /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
94056F86185E593500EB94BA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
@@ -415,14 +205,6 @@
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056FA8185E593500EB94BA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
94056FA9185E593500EB94BA /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@@ -459,7 +241,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
@@ -493,7 +275,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
@@ -507,10 +289,12 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample-Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
@@ -523,57 +307,17 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample-Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
94056FB3185E593500EB94BA /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioCoreGraphicsWaveformExample.app/EZAudioCoreGraphicsWaveformExample";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "EZAudioCoreGraphicsWaveformExampleTests/EZAudioCoreGraphicsWaveformExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
94056FB4185E593500EB94BA /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioCoreGraphicsWaveformExample.app/EZAudioCoreGraphicsWaveformExample";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioCoreGraphicsWaveformExampleTests/EZAudioCoreGraphicsWaveformExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -595,15 +339,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
94056FB2185E593500EB94BA /* Build configuration list for PBXNativeTarget "EZAudioCoreGraphicsWaveformExampleTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
94056FB3185E593500EB94BA /* Debug */,
|
||||
94056FB4185E593500EB94BA /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 94056F72185E593500EB94BA /* Project object */;
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
// Import EZAudio header
|
||||
#import "EZAudio.h"
|
||||
#import <EZAudio/EZAudio.h>
|
||||
|
||||
/**
|
||||
We will allow this view controller to act as an EZMicrophoneDelegate. This is how we listen for the microphone callback.
|
||||
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.sha.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
//
|
||||
// EZAudioCoreGraphicsWaveformExampleTests.m
|
||||
// EZAudioCoreGraphicsWaveformExampleTests
|
||||
//
|
||||
// Created by Syed Haris Ali on 12/15/13.
|
||||
// Copyright (c) 2015 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface EZAudioCoreGraphicsWaveformExampleTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation EZAudioCoreGraphicsWaveformExampleTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "group:../../EZAudio/iOS/EZAudio.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:EZAudioCoreGraphicsWaveformExample/EZAudioCoreGraphicsWaveformExample.xcodeproj">
|
||||
</FileRef>
|
||||
|
||||
@@ -7,25 +7,8 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
6611CE4D1B45D25400AE0EE8 /* EZAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CE4C1B45D25400AE0EE8 /* EZAudio.framework */; };
|
||||
6628E2331B39F7CC00020E56 /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6628E2321B39F7CC00020E56 /* MainStoryboard.storyboard */; };
|
||||
667559141B3B78720013E67E /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558F11B3B78720013E67E /* EZAudio.m */; };
|
||||
667559151B3B78720013E67E /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558F31B3B78720013E67E /* EZAudioDevice.m */; };
|
||||
667559161B3B78720013E67E /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558F51B3B78720013E67E /* EZAudioDisplayLink.m */; };
|
||||
667559171B3B78720013E67E /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558F71B3B78720013E67E /* EZAudioFile.m */; };
|
||||
667559181B3B78720013E67E /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558F91B3B78720013E67E /* EZAudioFloatConverter.m */; };
|
||||
667559191B3B78720013E67E /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558FB1B3B78720013E67E /* EZAudioFloatData.m */; };
|
||||
6675591A1B3B78720013E67E /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558FD1B3B78720013E67E /* EZAudioPlayer.m */; };
|
||||
6675591B1B3B78720013E67E /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 667558FF1B3B78720013E67E /* EZAudioPlot.m */; };
|
||||
6675591C1B3B78720013E67E /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559011B3B78720013E67E /* EZAudioPlotGL.m */; };
|
||||
6675591D1B3B78720013E67E /* EZAudioPlotGLKViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559031B3B78720013E67E /* EZAudioPlotGLKViewController.m */; };
|
||||
6675591E1B3B78720013E67E /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559051B3B78720013E67E /* EZAudioUtilities.m */; };
|
||||
6675591F1B3B78720013E67E /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559071B3B78720013E67E /* EZMicrophone.m */; };
|
||||
667559201B3B78720013E67E /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559091B3B78720013E67E /* EZOutput.m */; };
|
||||
667559211B3B78720013E67E /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 6675590B1B3B78720013E67E /* EZPlot.m */; };
|
||||
667559221B3B78720013E67E /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 6675590D1B3B78720013E67E /* EZRecorder.m */; };
|
||||
667559231B3B78720013E67E /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 6675590E1B3B78720013E67E /* TPCircularBuffer.c */; };
|
||||
667559241B3B78720013E67E /* CHANGELOG in Resources */ = {isa = PBXBuildFile; fileRef = 667559111B3B78720013E67E /* CHANGELOG */; };
|
||||
667559251B3B78720013E67E /* VERSION in Resources */ = {isa = PBXBuildFile; fileRef = 667559121B3B78720013E67E /* VERSION */; };
|
||||
9417A96C1871E88300D9D37B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A96B1871E88300D9D37B /* Foundation.framework */; };
|
||||
9417A96E1871E88300D9D37B /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A96D1871E88300D9D37B /* CoreGraphics.framework */; };
|
||||
9417A9701871E88300D9D37B /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A96F1871E88300D9D37B /* UIKit.framework */; };
|
||||
@@ -33,11 +16,6 @@
|
||||
9417A9781871E88300D9D37B /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9417A9771871E88300D9D37B /* main.m */; };
|
||||
9417A97C1871E88300D9D37B /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9417A97B1871E88300D9D37B /* AppDelegate.m */; };
|
||||
9417A9871871E88300D9D37B /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9417A9861871E88300D9D37B /* Images.xcassets */; };
|
||||
9417A98E1871E88300D9D37B /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A98D1871E88300D9D37B /* XCTest.framework */; };
|
||||
9417A98F1871E88300D9D37B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A96B1871E88300D9D37B /* Foundation.framework */; };
|
||||
9417A9901871E88300D9D37B /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A96F1871E88300D9D37B /* UIKit.framework */; };
|
||||
9417A9981871E88300D9D37B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9417A9961871E88300D9D37B /* InfoPlist.strings */; };
|
||||
9417A99A1871E88300D9D37B /* EZAudioFFTExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9417A9991871E88300D9D37B /* EZAudioFFTExampleTests.m */; };
|
||||
9417A9A41871E89500D9D37B /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A9A31871E89500D9D37B /* AudioToolbox.framework */; };
|
||||
9417A9A61871E8A100D9D37B /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A9A51871E8A100D9D37B /* GLKit.framework */; };
|
||||
9417A9D01871E97D00D9D37B /* FFTViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9417A9CF1871E97D00D9D37B /* FFTViewController.m */; };
|
||||
@@ -45,52 +23,9 @@
|
||||
94FBB77918B156B8007CAE45 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94FBB77818B156B8007CAE45 /* AVFoundation.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
9417A9911871E88300D9D37B /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 9417A9601871E88300D9D37B /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 9417A9671871E88300D9D37B;
|
||||
remoteInfo = EZAudioFFTExample;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
6611CE4C1B45D25400AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EZAudio.framework; path = "../../../EZAudio/iOS/build/Debug-iphoneos/EZAudio.framework"; sourceTree = "<group>"; };
|
||||
6628E2321B39F7CC00020E56 /* MainStoryboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainStoryboard.storyboard; sourceTree = "<group>"; };
|
||||
667558F01B3B78720013E67E /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudio.h; sourceTree = "<group>"; };
|
||||
667558F11B3B78720013E67E /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudio.m; sourceTree = "<group>"; };
|
||||
667558F21B3B78720013E67E /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
|
||||
667558F31B3B78720013E67E /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
|
||||
667558F41B3B78720013E67E /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
|
||||
667558F51B3B78720013E67E /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
|
||||
667558F61B3B78720013E67E /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
|
||||
667558F71B3B78720013E67E /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
|
||||
667558F81B3B78720013E67E /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
|
||||
667558F91B3B78720013E67E /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
|
||||
667558FA1B3B78720013E67E /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
|
||||
667558FB1B3B78720013E67E /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
|
||||
667558FC1B3B78720013E67E /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
|
||||
667558FD1B3B78720013E67E /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
|
||||
667558FE1B3B78720013E67E /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
|
||||
667558FF1B3B78720013E67E /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
|
||||
667559001B3B78720013E67E /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
|
||||
667559011B3B78720013E67E /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
|
||||
667559021B3B78720013E67E /* EZAudioPlotGLKViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGLKViewController.h; sourceTree = "<group>"; };
|
||||
667559031B3B78720013E67E /* EZAudioPlotGLKViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGLKViewController.m; sourceTree = "<group>"; };
|
||||
667559041B3B78720013E67E /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
|
||||
667559051B3B78720013E67E /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
|
||||
667559061B3B78720013E67E /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
|
||||
667559071B3B78720013E67E /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
|
||||
667559081B3B78720013E67E /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
|
||||
667559091B3B78720013E67E /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
|
||||
6675590A1B3B78720013E67E /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
|
||||
6675590B1B3B78720013E67E /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
|
||||
6675590C1B3B78720013E67E /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
|
||||
6675590D1B3B78720013E67E /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
|
||||
6675590E1B3B78720013E67E /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
|
||||
6675590F1B3B78720013E67E /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
|
||||
667559111B3B78720013E67E /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = "<group>"; };
|
||||
667559121B3B78720013E67E /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = "<group>"; };
|
||||
9417A9681871E88300D9D37B /* EZAudioFFTExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EZAudioFFTExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9417A96B1871E88300D9D37B /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
9417A96D1871E88300D9D37B /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
@@ -102,11 +37,7 @@
|
||||
9417A97A1871E88300D9D37B /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||
9417A97B1871E88300D9D37B /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
9417A9861871E88300D9D37B /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
9417A98C1871E88300D9D37B /* EZAudioFFTExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EZAudioFFTExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9417A98D1871E88300D9D37B /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
9417A9951871E88300D9D37B /* EZAudioFFTExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "EZAudioFFTExampleTests-Info.plist"; sourceTree = "<group>"; };
|
||||
9417A9971871E88300D9D37B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
9417A9991871E88300D9D37B /* EZAudioFFTExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZAudioFFTExampleTests.m; sourceTree = "<group>"; };
|
||||
9417A9A31871E89500D9D37B /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||
9417A9A51871E8A100D9D37B /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
|
||||
9417A9CE1871E97D00D9D37B /* FFTViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FFTViewController.h; sourceTree = "<group>"; };
|
||||
@@ -120,6 +51,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6611CE4D1B45D25400AE0EE8 /* EZAudio.framework in Frameworks */,
|
||||
94FBB77918B156B8007CAE45 /* AVFoundation.framework in Frameworks */,
|
||||
9417A9D21871EA5900D9D37B /* Accelerate.framework in Frameworks */,
|
||||
9417A9A61871E8A100D9D37B /* GLKit.framework in Frameworks */,
|
||||
@@ -130,74 +62,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9417A9891871E88300D9D37B /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9417A98E1871E88300D9D37B /* XCTest.framework in Frameworks */,
|
||||
9417A9901871E88300D9D37B /* UIKit.framework in Frameworks */,
|
||||
9417A98F1871E88300D9D37B /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
667558ED1B3B78720013E67E /* EZAudio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
667558F01B3B78720013E67E /* EZAudio.h */,
|
||||
667558F11B3B78720013E67E /* EZAudio.m */,
|
||||
667558F21B3B78720013E67E /* EZAudioDevice.h */,
|
||||
667558F31B3B78720013E67E /* EZAudioDevice.m */,
|
||||
667558F41B3B78720013E67E /* EZAudioDisplayLink.h */,
|
||||
667558F51B3B78720013E67E /* EZAudioDisplayLink.m */,
|
||||
667558F61B3B78720013E67E /* EZAudioFile.h */,
|
||||
667558F71B3B78720013E67E /* EZAudioFile.m */,
|
||||
667558F81B3B78720013E67E /* EZAudioFloatConverter.h */,
|
||||
667558F91B3B78720013E67E /* EZAudioFloatConverter.m */,
|
||||
667558FA1B3B78720013E67E /* EZAudioFloatData.h */,
|
||||
667558FB1B3B78720013E67E /* EZAudioFloatData.m */,
|
||||
667558FC1B3B78720013E67E /* EZAudioPlayer.h */,
|
||||
667558FD1B3B78720013E67E /* EZAudioPlayer.m */,
|
||||
667558FE1B3B78720013E67E /* EZAudioPlot.h */,
|
||||
667558FF1B3B78720013E67E /* EZAudioPlot.m */,
|
||||
667559001B3B78720013E67E /* EZAudioPlotGL.h */,
|
||||
667559011B3B78720013E67E /* EZAudioPlotGL.m */,
|
||||
667559021B3B78720013E67E /* EZAudioPlotGLKViewController.h */,
|
||||
667559031B3B78720013E67E /* EZAudioPlotGLKViewController.m */,
|
||||
667559041B3B78720013E67E /* EZAudioUtilities.h */,
|
||||
667559051B3B78720013E67E /* EZAudioUtilities.m */,
|
||||
667559061B3B78720013E67E /* EZMicrophone.h */,
|
||||
667559071B3B78720013E67E /* EZMicrophone.m */,
|
||||
667559081B3B78720013E67E /* EZOutput.h */,
|
||||
667559091B3B78720013E67E /* EZOutput.m */,
|
||||
6675590A1B3B78720013E67E /* EZPlot.h */,
|
||||
6675590B1B3B78720013E67E /* EZPlot.m */,
|
||||
6675590C1B3B78720013E67E /* EZRecorder.h */,
|
||||
6675590D1B3B78720013E67E /* EZRecorder.m */,
|
||||
6675590E1B3B78720013E67E /* TPCircularBuffer.c */,
|
||||
6675590F1B3B78720013E67E /* TPCircularBuffer.h */,
|
||||
667559101B3B78720013E67E /* VERSION */,
|
||||
);
|
||||
name = EZAudio;
|
||||
path = ../../../../EZAudio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
667559101B3B78720013E67E /* VERSION */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
667559111B3B78720013E67E /* CHANGELOG */,
|
||||
667559121B3B78720013E67E /* VERSION */,
|
||||
);
|
||||
path = VERSION;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9417A95F1871E88300D9D37B = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9417A9711871E88300D9D37B /* EZAudioFFTExample */,
|
||||
9417A9931871E88300D9D37B /* EZAudioFFTExampleTests */,
|
||||
9417A96A1871E88300D9D37B /* Frameworks */,
|
||||
9417A9691871E88300D9D37B /* Products */,
|
||||
);
|
||||
@@ -207,7 +78,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9417A9681871E88300D9D37B /* EZAudioFFTExample.app */,
|
||||
9417A98C1871E88300D9D37B /* EZAudioFFTExampleTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -215,6 +85,7 @@
|
||||
9417A96A1871E88300D9D37B /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CE4C1B45D25400AE0EE8 /* EZAudio.framework */,
|
||||
94FBB77818B156B8007CAE45 /* AVFoundation.framework */,
|
||||
9417A9D11871EA5900D9D37B /* Accelerate.framework */,
|
||||
9417A9A51871E8A100D9D37B /* GLKit.framework */,
|
||||
@@ -230,7 +101,6 @@
|
||||
9417A9711871E88300D9D37B /* EZAudioFFTExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
667558ED1B3B78720013E67E /* EZAudio */,
|
||||
9417A97A1871E88300D9D37B /* AppDelegate.h */,
|
||||
9417A97B1871E88300D9D37B /* AppDelegate.m */,
|
||||
6628E2321B39F7CC00020E56 /* MainStoryboard.storyboard */,
|
||||
@@ -253,24 +123,6 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9417A9931871E88300D9D37B /* EZAudioFFTExampleTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9417A9991871E88300D9D37B /* EZAudioFFTExampleTests.m */,
|
||||
9417A9941871E88300D9D37B /* Supporting Files */,
|
||||
);
|
||||
path = EZAudioFFTExampleTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9417A9941871E88300D9D37B /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9417A9951871E88300D9D37B /* EZAudioFFTExampleTests-Info.plist */,
|
||||
9417A9961871E88300D9D37B /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -291,24 +143,6 @@
|
||||
productReference = 9417A9681871E88300D9D37B /* EZAudioFFTExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
9417A98B1871E88300D9D37B /* EZAudioFFTExampleTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 9417A9A01871E88300D9D37B /* Build configuration list for PBXNativeTarget "EZAudioFFTExampleTests" */;
|
||||
buildPhases = (
|
||||
9417A9881871E88300D9D37B /* Sources */,
|
||||
9417A9891871E88300D9D37B /* Frameworks */,
|
||||
9417A98A1871E88300D9D37B /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
9417A9921871E88300D9D37B /* PBXTargetDependency */,
|
||||
);
|
||||
name = EZAudioFFTExampleTests;
|
||||
productName = EZAudioFFTExampleTests;
|
||||
productReference = 9417A98C1871E88300D9D37B /* EZAudioFFTExampleTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@@ -317,11 +151,6 @@
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = "Syed Haris Ali";
|
||||
TargetAttributes = {
|
||||
9417A98B1871E88300D9D37B = {
|
||||
TestTargetID = 9417A9671871E88300D9D37B;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 9417A9631871E88300D9D37B /* Build configuration list for PBXProject "EZAudioFFTExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@@ -337,7 +166,6 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
9417A9671871E88300D9D37B /* EZAudioFFTExample */,
|
||||
9417A98B1871E88300D9D37B /* EZAudioFFTExampleTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -348,18 +176,8 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9417A9871871E88300D9D37B /* Images.xcassets in Resources */,
|
||||
667559241B3B78720013E67E /* CHANGELOG in Resources */,
|
||||
6628E2331B39F7CC00020E56 /* MainStoryboard.storyboard in Resources */,
|
||||
9417A9761871E88300D9D37B /* InfoPlist.strings in Resources */,
|
||||
667559251B3B78720013E67E /* VERSION in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9417A98A1871E88300D9D37B /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9417A9981871E88300D9D37B /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -370,46 +188,14 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6675591B1B3B78720013E67E /* EZAudioPlot.m in Sources */,
|
||||
6675591A1B3B78720013E67E /* EZAudioPlayer.m in Sources */,
|
||||
9417A97C1871E88300D9D37B /* AppDelegate.m in Sources */,
|
||||
6675591C1B3B78720013E67E /* EZAudioPlotGL.m in Sources */,
|
||||
6675591D1B3B78720013E67E /* EZAudioPlotGLKViewController.m in Sources */,
|
||||
667559171B3B78720013E67E /* EZAudioFile.m in Sources */,
|
||||
667559201B3B78720013E67E /* EZOutput.m in Sources */,
|
||||
6675591E1B3B78720013E67E /* EZAudioUtilities.m in Sources */,
|
||||
667559211B3B78720013E67E /* EZPlot.m in Sources */,
|
||||
9417A9D01871E97D00D9D37B /* FFTViewController.m in Sources */,
|
||||
667559221B3B78720013E67E /* EZRecorder.m in Sources */,
|
||||
667559191B3B78720013E67E /* EZAudioFloatData.m in Sources */,
|
||||
667559181B3B78720013E67E /* EZAudioFloatConverter.m in Sources */,
|
||||
667559161B3B78720013E67E /* EZAudioDisplayLink.m in Sources */,
|
||||
6675591F1B3B78720013E67E /* EZMicrophone.m in Sources */,
|
||||
667559151B3B78720013E67E /* EZAudioDevice.m in Sources */,
|
||||
9417A9781871E88300D9D37B /* main.m in Sources */,
|
||||
667559231B3B78720013E67E /* TPCircularBuffer.c in Sources */,
|
||||
667559141B3B78720013E67E /* EZAudio.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9417A9881871E88300D9D37B /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9417A99A1871E88300D9D37B /* EZAudioFFTExampleTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
9417A9921871E88300D9D37B /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 9417A9671871E88300D9D37B /* EZAudioFFTExample */;
|
||||
targetProxy = 9417A9911871E88300D9D37B /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
9417A9741871E88300D9D37B /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
@@ -419,14 +205,6 @@
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9417A9961871E88300D9D37B /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
9417A9971871E88300D9D37B /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@@ -509,9 +287,11 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioFFTExample/EZAudioFFTExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioFFTExample/EZAudioFFTExample-Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
@@ -522,56 +302,16 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioFFTExample/EZAudioFFTExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioFFTExample/EZAudioFFTExample-Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
9417A9A11871E88300D9D37B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioFFTExample.app/EZAudioFFTExample";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioFFTExample/EZAudioFFTExample-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "EZAudioFFTExampleTests/EZAudioFFTExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
9417A9A21871E88300D9D37B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioFFTExample.app/EZAudioFFTExample";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioFFTExample/EZAudioFFTExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioFFTExampleTests/EZAudioFFTExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -593,15 +333,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
9417A9A01871E88300D9D37B /* Build configuration list for PBXNativeTarget "EZAudioFFTExampleTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
9417A9A11871E88300D9D37B /* Debug */,
|
||||
9417A9A21871E88300D9D37B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 9417A9601871E88300D9D37B /* Project object */;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
/**
|
||||
EZAudio
|
||||
*/
|
||||
#import "EZAudio.h"
|
||||
#import <EZAudio/EZAudio.h>
|
||||
|
||||
/**
|
||||
Accelerate
|
||||
@@ -40,7 +40,10 @@
|
||||
*/
|
||||
@interface FFTViewController : UIViewController <EZMicrophoneDelegate>
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
#pragma mark - Components
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
EZAudioPlot for frequency plot
|
||||
*/
|
||||
|
||||
@@ -49,6 +49,23 @@
|
||||
{
|
||||
[super viewDidLoad];
|
||||
|
||||
//
|
||||
// Setup the AVAudioSession. EZMicrophone will not work properly on iOS
|
||||
// if you don't do this!
|
||||
//
|
||||
AVAudioSession *session = [AVAudioSession sharedInstance];
|
||||
NSError *error;
|
||||
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];
|
||||
if (error)
|
||||
{
|
||||
NSLog(@"Error setting up audio session category: %@", error.localizedDescription);
|
||||
}
|
||||
[session setActive:YES error:&error];
|
||||
if (error)
|
||||
{
|
||||
NSLog(@"Error setting up audio session active: %@", error.localizedDescription);
|
||||
}
|
||||
|
||||
/*
|
||||
Customizing the audio plot's look
|
||||
*/
|
||||
@@ -70,7 +87,7 @@
|
||||
Start the microphone
|
||||
*/
|
||||
self.microphone = [EZMicrophone microphoneWithDelegate:self
|
||||
startsImmediately:YES];
|
||||
startsImmediately:YES];
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7702" systemVersion="14C109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="Weo-wK-GIV">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="Weo-wK-GIV">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7701"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.sha.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,34 +0,0 @@
|
||||
//
|
||||
// EZAudioFFTExampleTests.m
|
||||
// EZAudioFFTExampleTests
|
||||
//
|
||||
// Created by Syed Haris Ali on 12/30/13.
|
||||
// Copyright (c) 2015 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface EZAudioFFTExampleTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation EZAudioFFTExampleTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
+8
-277
@@ -7,24 +7,7 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
667559F81B3B78940013E67E /* EZAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559D51B3B78940013E67E /* EZAudio.m */; };
|
||||
667559F91B3B78940013E67E /* EZAudioDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559D71B3B78940013E67E /* EZAudioDevice.m */; };
|
||||
667559FA1B3B78940013E67E /* EZAudioDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559D91B3B78940013E67E /* EZAudioDisplayLink.m */; };
|
||||
667559FB1B3B78940013E67E /* EZAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559DB1B3B78940013E67E /* EZAudioFile.m */; };
|
||||
667559FC1B3B78940013E67E /* EZAudioFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559DD1B3B78940013E67E /* EZAudioFloatConverter.m */; };
|
||||
667559FD1B3B78940013E67E /* EZAudioFloatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559DF1B3B78940013E67E /* EZAudioFloatData.m */; };
|
||||
667559FE1B3B78940013E67E /* EZAudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559E11B3B78940013E67E /* EZAudioPlayer.m */; };
|
||||
667559FF1B3B78940013E67E /* EZAudioPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559E31B3B78940013E67E /* EZAudioPlot.m */; };
|
||||
66755A001B3B78940013E67E /* EZAudioPlotGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559E51B3B78940013E67E /* EZAudioPlotGL.m */; };
|
||||
66755A011B3B78940013E67E /* EZAudioPlotGLKViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559E71B3B78940013E67E /* EZAudioPlotGLKViewController.m */; };
|
||||
66755A021B3B78940013E67E /* EZAudioUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559E91B3B78940013E67E /* EZAudioUtilities.m */; };
|
||||
66755A031B3B78940013E67E /* EZMicrophone.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559EB1B3B78940013E67E /* EZMicrophone.m */; };
|
||||
66755A041B3B78940013E67E /* EZOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559ED1B3B78940013E67E /* EZOutput.m */; };
|
||||
66755A051B3B78940013E67E /* EZPlot.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559EF1B3B78940013E67E /* EZPlot.m */; };
|
||||
66755A061B3B78940013E67E /* EZRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 667559F11B3B78940013E67E /* EZRecorder.m */; };
|
||||
66755A071B3B78940013E67E /* TPCircularBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 667559F21B3B78940013E67E /* TPCircularBuffer.c */; };
|
||||
66755A081B3B78940013E67E /* CHANGELOG in Resources */ = {isa = PBXBuildFile; fileRef = 667559F51B3B78940013E67E /* CHANGELOG */; };
|
||||
66755A091B3B78940013E67E /* VERSION in Resources */ = {isa = PBXBuildFile; fileRef = 667559F61B3B78940013E67E /* VERSION */; };
|
||||
6611CE431B45D1A400AE0EE8 /* EZAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6611CE421B45D1A400AE0EE8 /* EZAudio.framework */; };
|
||||
66DB85B81B05714F0018EFC5 /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 66DB85B71B05714F0018EFC5 /* MainStoryboard.storyboard */; };
|
||||
94056FEC185E5EAF00EB94BA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056FEB185E5EAF00EB94BA /* Foundation.framework */; };
|
||||
94056FEE185E5EAF00EB94BA /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056FED185E5EAF00EB94BA /* CoreGraphics.framework */; };
|
||||
@@ -33,62 +16,14 @@
|
||||
94056FF8185E5EAF00EB94BA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056FF7185E5EAF00EB94BA /* main.m */; };
|
||||
94056FFC185E5EAF00EB94BA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 94056FFB185E5EAF00EB94BA /* AppDelegate.m */; };
|
||||
94057007185E5EAF00EB94BA /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 94057006185E5EAF00EB94BA /* Images.xcassets */; };
|
||||
9405700E185E5EAF00EB94BA /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9405700D185E5EAF00EB94BA /* XCTest.framework */; };
|
||||
9405700F185E5EAF00EB94BA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056FEB185E5EAF00EB94BA /* Foundation.framework */; };
|
||||
94057010185E5EAF00EB94BA /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94056FEF185E5EAF00EB94BA /* UIKit.framework */; };
|
||||
94057018185E5EAF00EB94BA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 94057016185E5EAF00EB94BA /* InfoPlist.strings */; };
|
||||
9405701A185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 94057019185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests.m */; };
|
||||
94057050185E636100EB94BA /* OpenGLWaveformViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9405704F185E636100EB94BA /* OpenGLWaveformViewController.m */; };
|
||||
9417A6CB18658FC900D9D37B /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A6CA18658FC900D9D37B /* AudioToolbox.framework */; };
|
||||
9417A6CD18658FCD00D9D37B /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9417A6CC18658FCD00D9D37B /* GLKit.framework */; };
|
||||
94FBB77518B15698007CAE45 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94FBB77418B15698007CAE45 /* AVFoundation.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
94057011185E5EAF00EB94BA /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 94056FE0185E5EAF00EB94BA /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 94056FE7185E5EAF00EB94BA;
|
||||
remoteInfo = EZAudioOpenGLWaveformExample;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
667559D41B3B78940013E67E /* EZAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudio.h; sourceTree = "<group>"; };
|
||||
667559D51B3B78940013E67E /* EZAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudio.m; sourceTree = "<group>"; };
|
||||
667559D61B3B78940013E67E /* EZAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDevice.h; sourceTree = "<group>"; };
|
||||
667559D71B3B78940013E67E /* EZAudioDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDevice.m; sourceTree = "<group>"; };
|
||||
667559D81B3B78940013E67E /* EZAudioDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioDisplayLink.h; sourceTree = "<group>"; };
|
||||
667559D91B3B78940013E67E /* EZAudioDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioDisplayLink.m; sourceTree = "<group>"; };
|
||||
667559DA1B3B78940013E67E /* EZAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFile.h; sourceTree = "<group>"; };
|
||||
667559DB1B3B78940013E67E /* EZAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFile.m; sourceTree = "<group>"; };
|
||||
667559DC1B3B78940013E67E /* EZAudioFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatConverter.h; sourceTree = "<group>"; };
|
||||
667559DD1B3B78940013E67E /* EZAudioFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatConverter.m; sourceTree = "<group>"; };
|
||||
667559DE1B3B78940013E67E /* EZAudioFloatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioFloatData.h; sourceTree = "<group>"; };
|
||||
667559DF1B3B78940013E67E /* EZAudioFloatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioFloatData.m; sourceTree = "<group>"; };
|
||||
667559E01B3B78940013E67E /* EZAudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlayer.h; sourceTree = "<group>"; };
|
||||
667559E11B3B78940013E67E /* EZAudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlayer.m; sourceTree = "<group>"; };
|
||||
667559E21B3B78940013E67E /* EZAudioPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlot.h; sourceTree = "<group>"; };
|
||||
667559E31B3B78940013E67E /* EZAudioPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlot.m; sourceTree = "<group>"; };
|
||||
667559E41B3B78940013E67E /* EZAudioPlotGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGL.h; sourceTree = "<group>"; };
|
||||
667559E51B3B78940013E67E /* EZAudioPlotGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGL.m; sourceTree = "<group>"; };
|
||||
667559E61B3B78940013E67E /* EZAudioPlotGLKViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioPlotGLKViewController.h; sourceTree = "<group>"; };
|
||||
667559E71B3B78940013E67E /* EZAudioPlotGLKViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioPlotGLKViewController.m; sourceTree = "<group>"; };
|
||||
667559E81B3B78940013E67E /* EZAudioUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZAudioUtilities.h; sourceTree = "<group>"; };
|
||||
667559E91B3B78940013E67E /* EZAudioUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZAudioUtilities.m; sourceTree = "<group>"; };
|
||||
667559EA1B3B78940013E67E /* EZMicrophone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZMicrophone.h; sourceTree = "<group>"; };
|
||||
667559EB1B3B78940013E67E /* EZMicrophone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZMicrophone.m; sourceTree = "<group>"; };
|
||||
667559EC1B3B78940013E67E /* EZOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZOutput.h; sourceTree = "<group>"; };
|
||||
667559ED1B3B78940013E67E /* EZOutput.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZOutput.m; sourceTree = "<group>"; };
|
||||
667559EE1B3B78940013E67E /* EZPlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZPlot.h; sourceTree = "<group>"; };
|
||||
667559EF1B3B78940013E67E /* EZPlot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZPlot.m; sourceTree = "<group>"; };
|
||||
667559F01B3B78940013E67E /* EZRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRecorder.h; sourceTree = "<group>"; };
|
||||
667559F11B3B78940013E67E /* EZRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRecorder.m; sourceTree = "<group>"; };
|
||||
667559F21B3B78940013E67E /* TPCircularBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = TPCircularBuffer.c; sourceTree = "<group>"; };
|
||||
667559F31B3B78940013E67E /* TPCircularBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPCircularBuffer.h; sourceTree = "<group>"; };
|
||||
667559F51B3B78940013E67E /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = "<group>"; };
|
||||
667559F61B3B78940013E67E /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = "<group>"; };
|
||||
6611CE421B45D1A400AE0EE8 /* EZAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EZAudio.framework; path = "../../../EZAudio/iOS/build/Debug-iphoneos/EZAudio.framework"; sourceTree = "<group>"; };
|
||||
66DB85B71B05714F0018EFC5 /* MainStoryboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainStoryboard.storyboard; sourceTree = "<group>"; };
|
||||
94056FE8185E5EAF00EB94BA /* EZAudioOpenGLWaveformExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EZAudioOpenGLWaveformExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
94056FEB185E5EAF00EB94BA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
@@ -101,11 +36,7 @@
|
||||
94056FFA185E5EAF00EB94BA /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||
94056FFB185E5EAF00EB94BA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
94057006185E5EAF00EB94BA /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
9405700C185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EZAudioOpenGLWaveformExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9405700D185E5EAF00EB94BA /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
94057015185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "EZAudioOpenGLWaveformExampleTests-Info.plist"; sourceTree = "<group>"; };
|
||||
94057017185E5EAF00EB94BA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
94057019185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZAudioOpenGLWaveformExampleTests.m; sourceTree = "<group>"; };
|
||||
9405704E185E636100EB94BA /* OpenGLWaveformViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenGLWaveformViewController.h; sourceTree = "<group>"; };
|
||||
9405704F185E636100EB94BA /* OpenGLWaveformViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OpenGLWaveformViewController.m; sourceTree = "<group>"; };
|
||||
9417A6CA18658FC900D9D37B /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||
@@ -118,6 +49,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6611CE431B45D1A400AE0EE8 /* EZAudio.framework in Frameworks */,
|
||||
94FBB77518B15698007CAE45 /* AVFoundation.framework in Frameworks */,
|
||||
9417A6CD18658FCD00D9D37B /* GLKit.framework in Frameworks */,
|
||||
9417A6CB18658FC900D9D37B /* AudioToolbox.framework in Frameworks */,
|
||||
@@ -127,74 +59,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94057009185E5EAF00EB94BA /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9405700E185E5EAF00EB94BA /* XCTest.framework in Frameworks */,
|
||||
94057010185E5EAF00EB94BA /* UIKit.framework in Frameworks */,
|
||||
9405700F185E5EAF00EB94BA /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
667559D11B3B78940013E67E /* EZAudio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
667559D41B3B78940013E67E /* EZAudio.h */,
|
||||
667559D51B3B78940013E67E /* EZAudio.m */,
|
||||
667559D61B3B78940013E67E /* EZAudioDevice.h */,
|
||||
667559D71B3B78940013E67E /* EZAudioDevice.m */,
|
||||
667559D81B3B78940013E67E /* EZAudioDisplayLink.h */,
|
||||
667559D91B3B78940013E67E /* EZAudioDisplayLink.m */,
|
||||
667559DA1B3B78940013E67E /* EZAudioFile.h */,
|
||||
667559DB1B3B78940013E67E /* EZAudioFile.m */,
|
||||
667559DC1B3B78940013E67E /* EZAudioFloatConverter.h */,
|
||||
667559DD1B3B78940013E67E /* EZAudioFloatConverter.m */,
|
||||
667559DE1B3B78940013E67E /* EZAudioFloatData.h */,
|
||||
667559DF1B3B78940013E67E /* EZAudioFloatData.m */,
|
||||
667559E01B3B78940013E67E /* EZAudioPlayer.h */,
|
||||
667559E11B3B78940013E67E /* EZAudioPlayer.m */,
|
||||
667559E21B3B78940013E67E /* EZAudioPlot.h */,
|
||||
667559E31B3B78940013E67E /* EZAudioPlot.m */,
|
||||
667559E41B3B78940013E67E /* EZAudioPlotGL.h */,
|
||||
667559E51B3B78940013E67E /* EZAudioPlotGL.m */,
|
||||
667559E61B3B78940013E67E /* EZAudioPlotGLKViewController.h */,
|
||||
667559E71B3B78940013E67E /* EZAudioPlotGLKViewController.m */,
|
||||
667559E81B3B78940013E67E /* EZAudioUtilities.h */,
|
||||
667559E91B3B78940013E67E /* EZAudioUtilities.m */,
|
||||
667559EA1B3B78940013E67E /* EZMicrophone.h */,
|
||||
667559EB1B3B78940013E67E /* EZMicrophone.m */,
|
||||
667559EC1B3B78940013E67E /* EZOutput.h */,
|
||||
667559ED1B3B78940013E67E /* EZOutput.m */,
|
||||
667559EE1B3B78940013E67E /* EZPlot.h */,
|
||||
667559EF1B3B78940013E67E /* EZPlot.m */,
|
||||
667559F01B3B78940013E67E /* EZRecorder.h */,
|
||||
667559F11B3B78940013E67E /* EZRecorder.m */,
|
||||
667559F21B3B78940013E67E /* TPCircularBuffer.c */,
|
||||
667559F31B3B78940013E67E /* TPCircularBuffer.h */,
|
||||
667559F41B3B78940013E67E /* VERSION */,
|
||||
);
|
||||
name = EZAudio;
|
||||
path = ../../../../EZAudio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
667559F41B3B78940013E67E /* VERSION */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
667559F51B3B78940013E67E /* CHANGELOG */,
|
||||
667559F61B3B78940013E67E /* VERSION */,
|
||||
);
|
||||
path = VERSION;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94056FDF185E5EAF00EB94BA = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056FF1185E5EAF00EB94BA /* EZAudioOpenGLWaveformExample */,
|
||||
94057013185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests */,
|
||||
94056FEA185E5EAF00EB94BA /* Frameworks */,
|
||||
94056FE9185E5EAF00EB94BA /* Products */,
|
||||
);
|
||||
@@ -204,7 +75,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94056FE8185E5EAF00EB94BA /* EZAudioOpenGLWaveformExample.app */,
|
||||
9405700C185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -212,6 +82,7 @@
|
||||
94056FEA185E5EAF00EB94BA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6611CE421B45D1A400AE0EE8 /* EZAudio.framework */,
|
||||
94FBB77418B15698007CAE45 /* AVFoundation.framework */,
|
||||
9417A6CC18658FCD00D9D37B /* GLKit.framework */,
|
||||
9417A6CA18658FC900D9D37B /* AudioToolbox.framework */,
|
||||
@@ -226,7 +97,6 @@
|
||||
94056FF1185E5EAF00EB94BA /* EZAudioOpenGLWaveformExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
667559D11B3B78940013E67E /* EZAudio */,
|
||||
94056FFA185E5EAF00EB94BA /* AppDelegate.h */,
|
||||
94056FFB185E5EAF00EB94BA /* AppDelegate.m */,
|
||||
66DB85B71B05714F0018EFC5 /* MainStoryboard.storyboard */,
|
||||
@@ -249,24 +119,6 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94057013185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94057019185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests.m */,
|
||||
94057014185E5EAF00EB94BA /* Supporting Files */,
|
||||
);
|
||||
path = EZAudioOpenGLWaveformExampleTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94057014185E5EAF00EB94BA /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
94057015185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests-Info.plist */,
|
||||
94057016185E5EAF00EB94BA /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -287,24 +139,6 @@
|
||||
productReference = 94056FE8185E5EAF00EB94BA /* EZAudioOpenGLWaveformExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
9405700B185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 94057020185E5EAF00EB94BA /* Build configuration list for PBXNativeTarget "EZAudioOpenGLWaveformExampleTests" */;
|
||||
buildPhases = (
|
||||
94057008185E5EAF00EB94BA /* Sources */,
|
||||
94057009185E5EAF00EB94BA /* Frameworks */,
|
||||
9405700A185E5EAF00EB94BA /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
94057012185E5EAF00EB94BA /* PBXTargetDependency */,
|
||||
);
|
||||
name = EZAudioOpenGLWaveformExampleTests;
|
||||
productName = EZAudioOpenGLWaveformExampleTests;
|
||||
productReference = 9405700C185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@@ -313,11 +147,6 @@
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = "Syed Haris Ali";
|
||||
TargetAttributes = {
|
||||
9405700B185E5EAF00EB94BA = {
|
||||
TestTargetID = 94056FE7185E5EAF00EB94BA;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 94056FE3185E5EAF00EB94BA /* Build configuration list for PBXProject "EZAudioOpenGLWaveformExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@@ -333,7 +162,6 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
94056FE7185E5EAF00EB94BA /* EZAudioOpenGLWaveformExample */,
|
||||
9405700B185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -344,18 +172,8 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94057007185E5EAF00EB94BA /* Images.xcassets in Resources */,
|
||||
66755A081B3B78940013E67E /* CHANGELOG in Resources */,
|
||||
66DB85B81B05714F0018EFC5 /* MainStoryboard.storyboard in Resources */,
|
||||
94056FF6185E5EAF00EB94BA /* InfoPlist.strings in Resources */,
|
||||
66755A091B3B78940013E67E /* VERSION in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9405700A185E5EAF00EB94BA /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
94057018185E5EAF00EB94BA /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -366,46 +184,14 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
667559FF1B3B78940013E67E /* EZAudioPlot.m in Sources */,
|
||||
667559FE1B3B78940013E67E /* EZAudioPlayer.m in Sources */,
|
||||
94057050185E636100EB94BA /* OpenGLWaveformViewController.m in Sources */,
|
||||
66755A001B3B78940013E67E /* EZAudioPlotGL.m in Sources */,
|
||||
66755A011B3B78940013E67E /* EZAudioPlotGLKViewController.m in Sources */,
|
||||
667559FB1B3B78940013E67E /* EZAudioFile.m in Sources */,
|
||||
66755A041B3B78940013E67E /* EZOutput.m in Sources */,
|
||||
66755A021B3B78940013E67E /* EZAudioUtilities.m in Sources */,
|
||||
66755A051B3B78940013E67E /* EZPlot.m in Sources */,
|
||||
94056FFC185E5EAF00EB94BA /* AppDelegate.m in Sources */,
|
||||
66755A061B3B78940013E67E /* EZRecorder.m in Sources */,
|
||||
667559FD1B3B78940013E67E /* EZAudioFloatData.m in Sources */,
|
||||
667559FC1B3B78940013E67E /* EZAudioFloatConverter.m in Sources */,
|
||||
667559FA1B3B78940013E67E /* EZAudioDisplayLink.m in Sources */,
|
||||
66755A031B3B78940013E67E /* EZMicrophone.m in Sources */,
|
||||
667559F91B3B78940013E67E /* EZAudioDevice.m in Sources */,
|
||||
94056FF8185E5EAF00EB94BA /* main.m in Sources */,
|
||||
66755A071B3B78940013E67E /* TPCircularBuffer.c in Sources */,
|
||||
667559F81B3B78940013E67E /* EZAudio.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
94057008185E5EAF00EB94BA /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9405701A185E5EAF00EB94BA /* EZAudioOpenGLWaveformExampleTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
94057012185E5EAF00EB94BA /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 94056FE7185E5EAF00EB94BA /* EZAudioOpenGLWaveformExample */;
|
||||
targetProxy = 94057011185E5EAF00EB94BA /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
94056FF4185E5EAF00EB94BA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
@@ -415,14 +201,6 @@
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
94057016185E5EAF00EB94BA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
94057017185E5EAF00EB94BA /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@@ -505,9 +283,11 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioOpenGLWaveformExample/EZAudioOpenGLWaveformExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioOpenGLWaveformExample/EZAudioOpenGLWaveformExample-Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
@@ -518,56 +298,16 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioOpenGLWaveformExample/EZAudioOpenGLWaveformExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioOpenGLWaveformExample/EZAudioOpenGLWaveformExample-Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
94057021185E5EAF00EB94BA /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioOpenGLWaveformExample.app/EZAudioOpenGLWaveformExample";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioOpenGLWaveformExample/EZAudioOpenGLWaveformExample-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "EZAudioOpenGLWaveformExampleTests/EZAudioOpenGLWaveformExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
94057022185E5EAF00EB94BA /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/EZAudioOpenGLWaveformExample.app/EZAudioOpenGLWaveformExample";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "EZAudioOpenGLWaveformExample/EZAudioOpenGLWaveformExample-Prefix.pch";
|
||||
INFOPLIST_FILE = "EZAudioOpenGLWaveformExampleTests/EZAudioOpenGLWaveformExampleTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -589,15 +329,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
94057020185E5EAF00EB94BA /* Build configuration list for PBXNativeTarget "EZAudioOpenGLWaveformExampleTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
94057021185E5EAF00EB94BA /* Debug */,
|
||||
94057022185E5EAF00EB94BA /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 94056FE0185E5EAF00EB94BA /* Project object */;
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7702" systemVersion="14C109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="1v1-63-VYU">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="1v1-63-VYU">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7701"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
// Import EZAudio header
|
||||
#import "EZAudio.h"
|
||||
#import <EZAudio/EZAudio.h>
|
||||
|
||||
@interface OpenGLWaveformViewController : UIViewController <EZMicrophoneDelegate,
|
||||
UIPickerViewDataSource,
|
||||
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.sha.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
//
|
||||
// EZAudioOpenGLWaveformExampleTests.m
|
||||
// EZAudioOpenGLWaveformExampleTests
|
||||
//
|
||||
// Created by Syed Haris Ali on 12/15/13.
|
||||
// Copyright (c) 2015 Syed Haris Ali. All rights reserved.
|
||||
//
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface EZAudioOpenGLWaveformExampleTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation EZAudioOpenGLWaveformExampleTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user