├── .gitignore
├── Builds
└── MacOSX
│ ├── build
│ └── Debug
│ │ └── simpleAudioPlayer.app
│ │ └── Contents
│ │ ├── PkgInfo
│ │ ├── MacOS
│ │ └── simpleAudioPlayer
│ │ ├── Resources
│ │ └── RecentFilesMenuTemplate.nib
│ │ └── Info.plist
│ ├── RecentFilesMenuTemplate.nib
│ ├── simpleAudioPlayer.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── djatwar.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ ├── xcuserdata
│ │ └── djatwar.xcuserdatad
│ │ │ └── xcschemes
│ │ │ ├── xcschememanagement.plist
│ │ │ └── simpleAudioPlayer - App.xcscheme
│ └── project.pbxproj
│ └── Info-App.plist
├── JuceLibraryCode
├── include_juce_core.mm
├── include_juce_core.cpp
├── include_juce_video.cpp
├── include_juce_video.mm
├── include_juce_events.cpp
├── include_juce_events.mm
├── include_juce_opengl.cpp
├── include_juce_opengl.mm
├── include_juce_graphics.cpp
├── include_juce_graphics.mm
├── include_juce_gui_extra.mm
├── include_juce_gui_basics.cpp
├── include_juce_gui_basics.mm
├── include_juce_gui_extra.cpp
├── include_juce_audio_basics.mm
├── include_juce_audio_utils.cpp
├── include_juce_audio_utils.mm
├── include_juce_cryptography.mm
├── include_juce_audio_basics.cpp
├── include_juce_audio_devices.cpp
├── include_juce_audio_devices.mm
├── include_juce_audio_formats.cpp
├── include_juce_audio_formats.mm
├── include_juce_cryptography.cpp
├── include_juce_data_structures.cpp
├── include_juce_data_structures.mm
├── include_juce_audio_processors.cpp
├── include_juce_audio_processors.mm
├── ReadMe.txt
├── JuceHeader.h
└── AppConfig.h
├── Source
├── MainComponent.h
├── Main.cpp
└── MainComponent.cpp
└── simpleAudioPlayer.jucer
/.gitignore:
--------------------------------------------------------------------------------
1 | /builds
2 | /JuceLibraryCode
3 | .ds_store
4 |
--------------------------------------------------------------------------------
/Builds/MacOSX/build/Debug/simpleAudioPlayer.app/Contents/PkgInfo:
--------------------------------------------------------------------------------
1 | APPL????
--------------------------------------------------------------------------------
/Builds/MacOSX/RecentFilesMenuTemplate.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TheAudioProgrammer/simpleAudioPlayerJUCE/HEAD/Builds/MacOSX/RecentFilesMenuTemplate.nib
--------------------------------------------------------------------------------
/Builds/MacOSX/build/Debug/simpleAudioPlayer.app/Contents/MacOS/simpleAudioPlayer:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TheAudioProgrammer/simpleAudioPlayerJUCE/HEAD/Builds/MacOSX/build/Debug/simpleAudioPlayer.app/Contents/MacOS/simpleAudioPlayer
--------------------------------------------------------------------------------
/Builds/MacOSX/simpleAudioPlayer.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Builds/MacOSX/build/Debug/simpleAudioPlayer.app/Contents/Resources/RecentFilesMenuTemplate.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TheAudioProgrammer/simpleAudioPlayerJUCE/HEAD/Builds/MacOSX/build/Debug/simpleAudioPlayer.app/Contents/Resources/RecentFilesMenuTemplate.nib
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_core.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_core.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_video.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_video.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_events.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_events.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_opengl.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_opengl.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_graphics.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_graphics.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_gui_extra.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_gui_basics.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_gui_basics.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_gui_extra.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/Builds/MacOSX/simpleAudioPlayer.xcodeproj/project.xcworkspace/xcuserdata/djatwar.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TheAudioProgrammer/simpleAudioPlayerJUCE/HEAD/Builds/MacOSX/simpleAudioPlayer.xcodeproj/project.xcworkspace/xcuserdata/djatwar.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_basics.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_utils.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_utils.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_cryptography.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_basics.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_devices.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_devices.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_formats.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_formats.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_cryptography.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_data_structures.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_data_structures.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_processors.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_processors.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/ReadMe.txt:
--------------------------------------------------------------------------------
1 |
2 | Important Note!!
3 | ================
4 |
5 | The purpose of this folder is to contain files that are auto-generated by the Projucer,
6 | and ALL files in this folder will be mercilessly DELETED and completely re-written whenever
7 | the Projucer saves your project.
8 |
9 | Therefore, it's a bad idea to make any manual changes to the files in here, or to
10 | put any of your own files in here if you don't want to lose them. (Of course you may choose
11 | to add the folder's contents to your version-control system so that you can re-merge your own
12 | modifications after the Projucer has saved its changes).
13 |
--------------------------------------------------------------------------------
/Builds/MacOSX/simpleAudioPlayer.xcodeproj/xcuserdata/djatwar.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | simpleAudioPlayer - App.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | 92A93D2A024EAB1E8ABD8000
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Builds/MacOSX/Info-App.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | CFBundleExecutable
7 | ${EXECUTABLE_NAME}
8 | CFBundleIconFile
9 |
10 | CFBundleIdentifier
11 | com.yourcompany.simpleAudioPlayer
12 | CFBundleName
13 | simpleAudioPlayer
14 | CFBundleDisplayName
15 | simpleAudioPlayer
16 | CFBundlePackageType
17 | APPL
18 | CFBundleSignature
19 | ????
20 | CFBundleShortVersionString
21 | 1.0.0
22 | CFBundleVersion
23 | 1.0.0
24 | NSHumanReadableCopyright
25 |
26 | NSHighResolutionCapable
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Builds/MacOSX/build/Debug/simpleAudioPlayer.app/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 16G1314
7 | CFBundleDisplayName
8 | simpleAudioPlayer
9 | CFBundleExecutable
10 | simpleAudioPlayer
11 | CFBundleIdentifier
12 | com.yourcompany.simpleAudioPlayer
13 | CFBundleName
14 | simpleAudioPlayer
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleSupportedPlatforms
22 |
23 | MacOSX
24 |
25 | CFBundleVersion
26 | 1.0.0
27 | DTCompiler
28 | com.apple.compilers.llvm.clang.1_0
29 | DTPlatformBuild
30 | 8C1002
31 | DTPlatformVersion
32 | GM
33 | DTSDKBuild
34 | 16C58
35 | DTSDKName
36 | macosx10.12
37 | DTXcode
38 | 0821
39 | DTXcodeBuild
40 | 8C1002
41 | NSHighResolutionCapable
42 |
43 | NSHumanReadableCopyright
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/JuceLibraryCode/JuceHeader.h:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | This is the header file that your files should include in order to get all the
7 | JUCE library headers. You should avoid including the JUCE headers directly in
8 | your own source files, because that wouldn't pick up the correct configuration
9 | options for your app.
10 |
11 | */
12 |
13 | #pragma once
14 |
15 | #include "AppConfig.h"
16 |
17 | #include
18 | #include
19 | #include
20 | #include
21 | #include
22 | #include
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include
28 | #include
29 | #include
30 | #include
31 |
32 |
33 | #if ! DONT_SET_USING_JUCE_NAMESPACE
34 | // If your code uses a lot of JUCE classes, then this will obviously save you
35 | // a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE.
36 | using namespace juce;
37 | #endif
38 |
39 | #if ! JUCE_DONT_DECLARE_PROJECTINFO
40 | namespace ProjectInfo
41 | {
42 | const char* const projectName = "simpleAudioPlayer";
43 | const char* const versionString = "1.0.0";
44 | const int versionNumber = 0x10000;
45 | }
46 | #endif
47 |
--------------------------------------------------------------------------------
/Source/MainComponent.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file was auto-generated!
5 |
6 | ==============================================================================
7 | */
8 |
9 | #pragma once
10 |
11 | #include "../JuceLibraryCode/JuceHeader.h"
12 |
13 | //==============================================================================
14 | /*
15 | This component lives inside our window, and this is where you should put all
16 | your controls and content.
17 | */
18 | class MainComponent : public AudioAppComponent,
19 | public ChangeListener
20 | {
21 | public:
22 | //==============================================================================
23 | MainComponent();
24 | ~MainComponent();
25 |
26 | //==============================================================================
27 | void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override;
28 | void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override;
29 | void releaseResources() override;
30 |
31 | //==============================================================================
32 | void paint (Graphics& g) override;
33 | void resized() override;
34 |
35 | private:
36 | AudioDeviceManager otherDeviceManager;
37 | std::unique_ptr audioSettings;
38 |
39 | enum TransportState
40 | {
41 | Stopped,
42 | Starting,
43 | Stopping,
44 | Playing
45 | };
46 |
47 | TransportState state;
48 |
49 | void openButtonClicked();
50 |
51 | void playButtonClicked();
52 | void stopButtonClicked();
53 | void transportStateChanged(TransportState newState);
54 | void changeListenerCallback (ChangeBroadcaster *source) override;
55 |
56 | AudioFormatManager formatManager;
57 | std::unique_ptr playSource;
58 | AudioTransportSource transport;
59 |
60 | TextButton openButton;
61 | TextButton playButton;
62 | TextButton stopButton;
63 |
64 | //==============================================================================
65 | // Your private member variables go here...
66 |
67 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainComponent)
68 | };
69 |
--------------------------------------------------------------------------------
/simpleAudioPlayer.jucer:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/Builds/MacOSX/simpleAudioPlayer.xcodeproj/xcuserdata/djatwar.xcuserdatad/xcschemes/simpleAudioPlayer - App.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/Source/Main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file was auto-generated!
5 |
6 | It contains the basic startup code for a JUCE application.
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "../JuceLibraryCode/JuceHeader.h"
12 | #include "MainComponent.h"
13 |
14 | //==============================================================================
15 | class simpleAudioPlayerApplication : public JUCEApplication
16 | {
17 | public:
18 | //==============================================================================
19 | simpleAudioPlayerApplication() {}
20 |
21 | const String getApplicationName() override { return ProjectInfo::projectName; }
22 | const String getApplicationVersion() override { return ProjectInfo::versionString; }
23 | bool moreThanOneInstanceAllowed() override { return true; }
24 |
25 | //==============================================================================
26 | void initialise (const String& commandLine) override
27 | {
28 | // This method is where you should put your application's initialisation code..
29 |
30 | mainWindow.reset (new MainWindow (getApplicationName()));
31 | }
32 |
33 | void shutdown() override
34 | {
35 | // Add your application's shutdown code here..
36 |
37 | mainWindow = nullptr; // (deletes our window)
38 | }
39 |
40 | //==============================================================================
41 | void systemRequestedQuit() override
42 | {
43 | // This is called when the app is being asked to quit: you can ignore this
44 | // request and let the app carry on running, or call quit() to allow the app to close.
45 | quit();
46 | }
47 |
48 | void anotherInstanceStarted (const String& commandLine) override
49 | {
50 | // When another instance of the app is launched while this one is running,
51 | // this method is invoked, and the commandLine parameter tells you what
52 | // the other instance's command-line arguments were.
53 | }
54 |
55 | //==============================================================================
56 | /*
57 | This class implements the desktop window that contains an instance of
58 | our MainComponent class.
59 | */
60 | class MainWindow : public DocumentWindow
61 | {
62 | public:
63 | MainWindow (String name) : DocumentWindow (name,
64 | Desktop::getInstance().getDefaultLookAndFeel()
65 | .findColour (ResizableWindow::backgroundColourId),
66 | DocumentWindow::allButtons)
67 | {
68 | setUsingNativeTitleBar (true);
69 | setContentOwned (new MainComponent(), true);
70 | setResizable (true, true);
71 |
72 | centreWithSize (getWidth(), getHeight());
73 | setVisible (true);
74 | }
75 |
76 | void closeButtonPressed() override
77 | {
78 | // This is called when the user tries to close this window. Here, we'll just
79 | // ask the app to quit when this happens, but you can change this to do
80 | // whatever you need.
81 | JUCEApplication::getInstance()->systemRequestedQuit();
82 | }
83 |
84 | /* Note: Be careful if you override any DocumentWindow methods - the base
85 | class uses a lot of them, so by overriding you might break its functionality.
86 | It's best to do all your work in your content component instead, but if
87 | you really have to override any DocumentWindow methods, make sure your
88 | subclass also calls the superclass's method.
89 | */
90 |
91 | private:
92 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)
93 | };
94 |
95 | private:
96 | std::unique_ptr mainWindow;
97 | };
98 |
99 | //==============================================================================
100 | // This macro generates the main() routine that launches the app.
101 | START_JUCE_APPLICATION (simpleAudioPlayerApplication)
102 |
--------------------------------------------------------------------------------
/Source/MainComponent.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file was auto-generated!
5 |
6 | ==============================================================================
7 | */
8 |
9 | #include "MainComponent.h"
10 |
11 |
12 | //==============================================================================
13 | MainComponent::MainComponent() : juce::AudioAppComponent(otherDeviceManager), state(Stopped), openButton("Open"), playButton("Play"), stopButton("Stop")
14 | {
15 | otherDeviceManager.initialise(2, 2, nullptr, true);
16 | audioSettings.reset(new AudioDeviceSelectorComponent(otherDeviceManager, 0, 2, 0, 2, true, true, true, true));
17 | addAndMakeVisible(audioSettings.get());
18 |
19 | setAudioChannels (2, 2);
20 |
21 | openButton.onClick = [this] { openButtonClicked(); };
22 | addAndMakeVisible(&openButton);
23 |
24 | playButton.onClick = [this] { playButtonClicked(); };
25 | playButton.setColour(TextButton::buttonColourId, Colours::green);
26 | playButton.setEnabled(true);
27 | addAndMakeVisible(&playButton);
28 |
29 | stopButton.onClick = [this] { stopButtonClicked(); };
30 | stopButton.setColour(TextButton::buttonColourId, Colours::red);
31 | stopButton.setEnabled(false);
32 | addAndMakeVisible(&stopButton);
33 |
34 | formatManager.registerBasicFormats();
35 | transport.addChangeListener(this);
36 |
37 | setSize (400, 700);
38 | }
39 |
40 | MainComponent::~MainComponent()
41 | {
42 | // This shuts down the audio device and clears the audio source.
43 | shutdownAudio();
44 | }
45 |
46 | //==============================================================================
47 | void MainComponent::prepareToPlay (int samplesPerBlockExpected, double sampleRate)
48 | {
49 | transport.prepareToPlay(samplesPerBlockExpected, sampleRate);
50 | }
51 |
52 | void MainComponent::openButtonClicked()
53 | {
54 | //choose a file
55 | FileChooser chooser ("Choose a Wav or AIFF File", File::getSpecialLocation(File::userDesktopDirectory), "*.wav; *.mp3");
56 |
57 | //if the user chooses a file
58 | if (chooser.browseForFileToOpen())
59 | {
60 | File myFile;
61 |
62 | //what did the user choose?
63 | myFile = chooser.getResult();
64 |
65 | //read the file
66 | AudioFormatReader* reader = formatManager.createReaderFor(myFile);
67 |
68 | if (reader != nullptr)
69 | {
70 | //get the file ready to play
71 | std::unique_ptr tempSource (new AudioFormatReaderSource (reader, true));
72 |
73 | transport.setSource(tempSource.get());
74 | transportStateChanged(Stopped);
75 |
76 | playSource.reset(tempSource.release());
77 | }
78 | }
79 | }
80 |
81 | void MainComponent::playButtonClicked()
82 | {
83 | transportStateChanged(Starting);
84 | }
85 |
86 | void MainComponent::stopButtonClicked()
87 | {
88 | transportStateChanged(Stopping);
89 | }
90 |
91 | void MainComponent::transportStateChanged(TransportState newState)
92 | {
93 | if (newState != state)
94 | {
95 | state = newState;
96 |
97 | switch (state) {
98 | case Stopped:
99 | playButton.setEnabled(true);
100 | transport.setPosition(0.0);
101 | break;
102 |
103 | case Playing:
104 | playButton.setEnabled(true);
105 | break;
106 |
107 | case Starting:
108 | stopButton.setEnabled(true);
109 | playButton.setEnabled(false);
110 | transport.start();
111 | break;
112 |
113 | case Stopping:
114 | playButton.setEnabled(true);
115 | stopButton.setEnabled(false);
116 | transport.stop();
117 | break;
118 | }
119 | }
120 | }
121 |
122 | void MainComponent::changeListenerCallback (ChangeBroadcaster *source)
123 | {
124 | if (source == &transport)
125 | {
126 | if (transport.isPlaying())
127 | {
128 | transportStateChanged(Playing);
129 | }
130 | else
131 | {
132 | transportStateChanged(Stopped);
133 | }
134 | }
135 | }
136 |
137 | void MainComponent::getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill)
138 | {
139 | bufferToFill.clearActiveBufferRegion();
140 |
141 | transport.getNextAudioBlock(bufferToFill);
142 | }
143 |
144 | void MainComponent::releaseResources()
145 | {
146 | // This will be called when the audio device stops, or when it is being
147 | // restarted due to a setting change.
148 |
149 | // For more details, see the help for AudioProcessor::releaseResources()
150 | }
151 |
152 | //==============================================================================
153 | void MainComponent::paint (Graphics& g)
154 | {
155 | // (Our component is opaque, so we must completely fill the background with a solid colour)
156 | g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));
157 |
158 | // You can add your drawing code here!
159 | }
160 |
161 | void MainComponent::resized()
162 | {
163 | openButton.setBounds(10, 10, getWidth() - 20, 30);
164 | playButton.setBounds(10, 50, getWidth() - 20, 30);
165 | stopButton.setBounds(10, 90, getWidth() - 20, 30);
166 | audioSettings->setBounds(10, 130, getWidth() - 20, 100);
167 | }
168 |
--------------------------------------------------------------------------------
/JuceLibraryCode/AppConfig.h:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | There's a section below where you can add your own custom code safely, and the
7 | Projucer will preserve the contents of that block, but the best way to change
8 | any of these definitions is by using the Projucer's project settings.
9 |
10 | Any commented-out settings will assume their default values.
11 |
12 | */
13 |
14 | #pragma once
15 |
16 | //==============================================================================
17 | // [BEGIN_USER_CODE_SECTION]
18 |
19 | // (You can add your own code in this section, and the Projucer will not overwrite it)
20 |
21 | // [END_USER_CODE_SECTION]
22 |
23 | /*
24 | ==============================================================================
25 |
26 | In accordance with the terms of the JUCE 5 End-Use License Agreement, the
27 | JUCE Code in SECTION A cannot be removed, changed or otherwise rendered
28 | ineffective unless you have a JUCE Indie or Pro license, or are using JUCE
29 | under the GPL v3 license.
30 |
31 | End User License Agreement: www.juce.com/juce-5-licence
32 |
33 | ==============================================================================
34 | */
35 |
36 | // BEGIN SECTION A
37 |
38 | #ifndef JUCE_DISPLAY_SPLASH_SCREEN
39 | #define JUCE_DISPLAY_SPLASH_SCREEN 1
40 | #endif
41 |
42 | #ifndef JUCE_REPORT_APP_USAGE
43 | #define JUCE_REPORT_APP_USAGE 1
44 | #endif
45 |
46 | // END SECTION A
47 |
48 | #define JUCE_USE_DARK_SPLASH_SCREEN 1
49 |
50 | //==============================================================================
51 | #define JUCE_MODULE_AVAILABLE_juce_audio_basics 1
52 | #define JUCE_MODULE_AVAILABLE_juce_audio_devices 1
53 | #define JUCE_MODULE_AVAILABLE_juce_audio_formats 1
54 | #define JUCE_MODULE_AVAILABLE_juce_audio_processors 1
55 | #define JUCE_MODULE_AVAILABLE_juce_audio_utils 1
56 | #define JUCE_MODULE_AVAILABLE_juce_core 1
57 | #define JUCE_MODULE_AVAILABLE_juce_cryptography 1
58 | #define JUCE_MODULE_AVAILABLE_juce_data_structures 1
59 | #define JUCE_MODULE_AVAILABLE_juce_events 1
60 | #define JUCE_MODULE_AVAILABLE_juce_graphics 1
61 | #define JUCE_MODULE_AVAILABLE_juce_gui_basics 1
62 | #define JUCE_MODULE_AVAILABLE_juce_gui_extra 1
63 | #define JUCE_MODULE_AVAILABLE_juce_opengl 1
64 | #define JUCE_MODULE_AVAILABLE_juce_video 1
65 |
66 | #define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1
67 |
68 | //==============================================================================
69 | // juce_audio_devices flags:
70 |
71 | #ifndef JUCE_ASIO
72 | //#define JUCE_ASIO 0
73 | #endif
74 |
75 | #ifndef JUCE_WASAPI
76 | //#define JUCE_WASAPI 1
77 | #endif
78 |
79 | #ifndef JUCE_WASAPI_EXCLUSIVE
80 | //#define JUCE_WASAPI_EXCLUSIVE 0
81 | #endif
82 |
83 | #ifndef JUCE_DIRECTSOUND
84 | //#define JUCE_DIRECTSOUND 1
85 | #endif
86 |
87 | #ifndef JUCE_ALSA
88 | //#define JUCE_ALSA 1
89 | #endif
90 |
91 | #ifndef JUCE_JACK
92 | //#define JUCE_JACK 0
93 | #endif
94 |
95 | #ifndef JUCE_BELA
96 | //#define JUCE_BELA 0
97 | #endif
98 |
99 | #ifndef JUCE_USE_ANDROID_OBOE
100 | //#define JUCE_USE_ANDROID_OBOE 0
101 | #endif
102 |
103 | #ifndef JUCE_USE_ANDROID_OPENSLES
104 | //#define JUCE_USE_ANDROID_OPENSLES 0
105 | #endif
106 |
107 | #ifndef JUCE_USE_WINRT_MIDI
108 | //#define JUCE_USE_WINRT_MIDI 0
109 | #endif
110 |
111 | #ifndef JUCE_DISABLE_AUDIO_MIXING_WITH_OTHER_APPS
112 | //#define JUCE_DISABLE_AUDIO_MIXING_WITH_OTHER_APPS 0
113 | #endif
114 |
115 | //==============================================================================
116 | // juce_audio_formats flags:
117 |
118 | #ifndef JUCE_USE_FLAC
119 | //#define JUCE_USE_FLAC 1
120 | #endif
121 |
122 | #ifndef JUCE_USE_OGGVORBIS
123 | //#define JUCE_USE_OGGVORBIS 1
124 | #endif
125 |
126 | #ifndef JUCE_USE_MP3AUDIOFORMAT
127 | #define JUCE_USE_MP3AUDIOFORMAT 1
128 | #endif
129 |
130 | #ifndef JUCE_USE_LAME_AUDIO_FORMAT
131 | //#define JUCE_USE_LAME_AUDIO_FORMAT 0
132 | #endif
133 |
134 | #ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT
135 | //#define JUCE_USE_WINDOWS_MEDIA_FORMAT 1
136 | #endif
137 |
138 | //==============================================================================
139 | // juce_audio_processors flags:
140 |
141 | #ifndef JUCE_PLUGINHOST_VST
142 | //#define JUCE_PLUGINHOST_VST 0
143 | #endif
144 |
145 | #ifndef JUCE_PLUGINHOST_VST3
146 | //#define JUCE_PLUGINHOST_VST3 0
147 | #endif
148 |
149 | #ifndef JUCE_PLUGINHOST_AU
150 | //#define JUCE_PLUGINHOST_AU 0
151 | #endif
152 |
153 | #ifndef JUCE_PLUGINHOST_LADSPA
154 | //#define JUCE_PLUGINHOST_LADSPA 0
155 | #endif
156 |
157 | //==============================================================================
158 | // juce_audio_utils flags:
159 |
160 | #ifndef JUCE_USE_CDREADER
161 | //#define JUCE_USE_CDREADER 0
162 | #endif
163 |
164 | #ifndef JUCE_USE_CDBURNER
165 | //#define JUCE_USE_CDBURNER 0
166 | #endif
167 |
168 | //==============================================================================
169 | // juce_core flags:
170 |
171 | #ifndef JUCE_FORCE_DEBUG
172 | //#define JUCE_FORCE_DEBUG 0
173 | #endif
174 |
175 | #ifndef JUCE_LOG_ASSERTIONS
176 | //#define JUCE_LOG_ASSERTIONS 0
177 | #endif
178 |
179 | #ifndef JUCE_CHECK_MEMORY_LEAKS
180 | //#define JUCE_CHECK_MEMORY_LEAKS 1
181 | #endif
182 |
183 | #ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
184 | //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES 0
185 | #endif
186 |
187 | #ifndef JUCE_INCLUDE_ZLIB_CODE
188 | //#define JUCE_INCLUDE_ZLIB_CODE 1
189 | #endif
190 |
191 | #ifndef JUCE_USE_CURL
192 | //#define JUCE_USE_CURL 0
193 | #endif
194 |
195 | #ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS
196 | //#define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1
197 | #endif
198 |
199 | #ifndef JUCE_ALLOW_STATIC_NULL_VARIABLES
200 | //#define JUCE_ALLOW_STATIC_NULL_VARIABLES 1
201 | #endif
202 |
203 | //==============================================================================
204 | // juce_events flags:
205 |
206 | #ifndef JUCE_EXECUTE_APP_SUSPEND_ON_IOS_BACKGROUND_TASK
207 | //#define JUCE_EXECUTE_APP_SUSPEND_ON_IOS_BACKGROUND_TASK 0
208 | #endif
209 |
210 | //==============================================================================
211 | // juce_graphics flags:
212 |
213 | #ifndef JUCE_USE_COREIMAGE_LOADER
214 | //#define JUCE_USE_COREIMAGE_LOADER 1
215 | #endif
216 |
217 | #ifndef JUCE_USE_DIRECTWRITE
218 | //#define JUCE_USE_DIRECTWRITE 1
219 | #endif
220 |
221 | //==============================================================================
222 | // juce_gui_basics flags:
223 |
224 | #ifndef JUCE_ENABLE_REPAINT_DEBUGGING
225 | //#define JUCE_ENABLE_REPAINT_DEBUGGING 0
226 | #endif
227 |
228 | #ifndef JUCE_USE_XRANDR
229 | //#define JUCE_USE_XRANDR 1
230 | #endif
231 |
232 | #ifndef JUCE_USE_XINERAMA
233 | //#define JUCE_USE_XINERAMA 1
234 | #endif
235 |
236 | #ifndef JUCE_USE_XSHM
237 | //#define JUCE_USE_XSHM 1
238 | #endif
239 |
240 | #ifndef JUCE_USE_XRENDER
241 | //#define JUCE_USE_XRENDER 0
242 | #endif
243 |
244 | #ifndef JUCE_USE_XCURSOR
245 | //#define JUCE_USE_XCURSOR 1
246 | #endif
247 |
248 | //==============================================================================
249 | // juce_gui_extra flags:
250 |
251 | #ifndef JUCE_WEB_BROWSER
252 | //#define JUCE_WEB_BROWSER 1
253 | #endif
254 |
255 | #ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR
256 | //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR 0
257 | #endif
258 |
259 | //==============================================================================
260 | // juce_video flags:
261 |
262 | #ifndef JUCE_USE_CAMERA
263 | //#define JUCE_USE_CAMERA 0
264 | #endif
265 | //==============================================================================
266 | #ifndef JUCE_STANDALONE_APPLICATION
267 | #if defined(JucePlugin_Name) && defined(JucePlugin_Build_Standalone)
268 | #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone
269 | #else
270 | #define JUCE_STANDALONE_APPLICATION 1
271 | #endif
272 | #endif
273 |
--------------------------------------------------------------------------------
/Builds/MacOSX/simpleAudioPlayer.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | 9D8FA52BA5C96E3D462ACFEF = {isa = PBXBuildFile; fileRef = 39FD32DECF1C110587D18A58; };
10 | 28853523F34C1025E030669C = {isa = PBXBuildFile; fileRef = A6F030DAD20B85A877BC488E; };
11 | D84D204B1B802CED04E1CA50 = {isa = PBXBuildFile; fileRef = 6B70C25D6E41F0FB8F52B649; };
12 | 75D004E312B07365BE8C48BA = {isa = PBXBuildFile; fileRef = E20B733DC99D91044C71D9AA; };
13 | 5F9090D1A67FFC5CE4FAFD86 = {isa = PBXBuildFile; fileRef = F5C21FFE7717E25289F0A0CF; };
14 | B3B82541EB25EE5919CA4067 = {isa = PBXBuildFile; fileRef = 8C25C2C15B1753239A534B61; };
15 | EC1C3852398994483764A17D = {isa = PBXBuildFile; fileRef = 547329D96CE224D00C4E97FD; };
16 | 0F3386B1994A5C185C2EFB9F = {isa = PBXBuildFile; fileRef = 84A20B1EBAB7E79940589108; };
17 | C95B3356960452E53058DD56 = {isa = PBXBuildFile; fileRef = 1E5FEFBA790C0BB2F1CA2B6C; };
18 | 11D9DCCFEB6123DF95CDC974 = {isa = PBXBuildFile; fileRef = 0A7438588291180B8297D1B5; };
19 | 1A7E7EF224F9A3EC108D276B = {isa = PBXBuildFile; fileRef = 3D59988C2F94B5FF690DFD29; };
20 | 289D6AFBFFE639015A1AE975 = {isa = PBXBuildFile; fileRef = 8B3A7150D21CEBB9AB043623; };
21 | 98C0E5F012E1A83D8B36873C = {isa = PBXBuildFile; fileRef = 96290F463BEA0FB0A2615236; };
22 | EDA6819E544B14CEDE196670 = {isa = PBXBuildFile; fileRef = 981D56CC636D45D43B8858AD; };
23 | 9F36E3FADD1D0C240F7E0982 = {isa = PBXBuildFile; fileRef = 85DCB974014DF7B67C8254B1; };
24 | 646E0933AD9148EFE806B53D = {isa = PBXBuildFile; fileRef = F5ABFBD4EBE0C173E9BCA188; };
25 | BE92ADF93DA98BB8A046EDAD = {isa = PBXBuildFile; fileRef = 1778391323DF187BCEA1F9E6; };
26 | 99522CD8FC8FDE5FD0865995 = {isa = PBXBuildFile; fileRef = DC06165A52FEB138B763D60C; };
27 | F4FEC6CD485CB39B730644D5 = {isa = PBXBuildFile; fileRef = 532B522A46C5497B68FDE3B5; };
28 | 328AA3D7CC3CCC4F2689FE84 = {isa = PBXBuildFile; fileRef = 95D03AC965CA63CD24F80789; };
29 | EA8DF04780810B88F710DAEB = {isa = PBXBuildFile; fileRef = 9EE3853CDF250E9D53D4A7D4; };
30 | 5A895F5751994230DB63E9F8 = {isa = PBXBuildFile; fileRef = 5B68DAE846C5A2BA46E62572; };
31 | 6F1758D117B3C2E97171DBD7 = {isa = PBXBuildFile; fileRef = 5BE41AE08B01BE7BF9CF5392; };
32 | DE45780DE5780391AF445533 = {isa = PBXBuildFile; fileRef = 9E1DC38749F668680670A22F; };
33 | E54F1DF71F711C7934FC0DE8 = {isa = PBXBuildFile; fileRef = 37F2AE9D0ECFA96B44CDABB2; };
34 | 4C3B28EAA058C8BA53E724EF = {isa = PBXBuildFile; fileRef = DBAD880318C0DFCC3DCE45C3; };
35 | FA308D6EA223CE255BEAE42E = {isa = PBXBuildFile; fileRef = E6F84987E5BA88B986EC6290; };
36 | 4969E08CA5714A9D9A6A2CFC = {isa = PBXBuildFile; fileRef = 8F017467C3C6E7A5ED3B21B7; };
37 | C9DF96E832D48A0661530A10 = {isa = PBXBuildFile; fileRef = 667F6D0CC4C774A8F24CE142; };
38 | B3E92563FEB402D5F8917C3F = {isa = PBXBuildFile; fileRef = 7C0017981A300FF246A0E779; };
39 | C609B150664D79FBEE1C729E = {isa = PBXBuildFile; fileRef = 8E0EA3A7C6B5162FD8A821CE; };
40 | 67A8D0C3748B6C0B501B753D = {isa = PBXBuildFile; fileRef = 9A472801DFF6020E9C3EDB6A; };
41 | 0A38AAB1D275B646CF133A3A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_core"; path = "../../../../../../../../Applications/JUCE/modules/juce_core"; sourceTree = "SOURCE_ROOT"; };
42 | 0A7438588291180B8297D1B5 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
43 | 1778391323DF187BCEA1F9E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; };
44 | 1E5FEFBA790C0BB2F1CA2B6C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
45 | 26307321E0ACBF475930B2A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; };
46 | 310C0496CC395692AF7E5E14 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_data_structures"; path = "../../../../../../../../Applications/JUCE/modules/juce_data_structures"; sourceTree = "SOURCE_ROOT"; };
47 | 37F2AE9D0ECFA96B44CDABB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_cryptography.mm"; path = "../../JuceLibraryCode/include_juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; };
48 | 39FD32DECF1C110587D18A58 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = simpleAudioPlayer.app; sourceTree = "BUILT_PRODUCTS_DIR"; };
49 | 3D59988C2F94B5FF690DFD29 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
50 | 45E485F80C0302BDC3667D78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; };
51 | 4AE6B9E29AC7BB87DBDADD00 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_gui_basics"; path = "../../../../../../../../Applications/JUCE/modules/juce_gui_basics"; sourceTree = "SOURCE_ROOT"; };
52 | 4C89A93E8D552978C699EDA6 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_events"; path = "../../../../../../../../Applications/JUCE/modules/juce_events"; sourceTree = "SOURCE_ROOT"; };
53 | 50CABF915DED7EB76240853C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_gui_extra"; path = "../../../../../../../../Applications/JUCE/modules/juce_gui_extra"; sourceTree = "SOURCE_ROOT"; };
54 | 532B522A46C5497B68FDE3B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_basics.mm"; path = "../../JuceLibraryCode/include_juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
55 | 547329D96CE224D00C4E97FD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
56 | 5B68DAE846C5A2BA46E62572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_processors.mm"; path = "../../JuceLibraryCode/include_juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
57 | 5BE41AE08B01BE7BF9CF5392 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_utils.mm"; path = "../../JuceLibraryCode/include_juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; };
58 | 667F6D0CC4C774A8F24CE142 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_gui_basics.mm"; path = "../../JuceLibraryCode/include_juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
59 | 6B70C25D6E41F0FB8F52B649 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
60 | 71CDD9CF8B8F92B5A861C3CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; };
61 | 7C0017981A300FF246A0E779 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_gui_extra.mm"; path = "../../JuceLibraryCode/include_juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
62 | 845AC361FC571A104E15488A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_audio_formats"; path = "../../../../../../../../Applications/JUCE/modules/juce_audio_formats"; sourceTree = "SOURCE_ROOT"; };
63 | 84A20B1EBAB7E79940589108 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
64 | 85DCB974014DF7B67C8254B1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
65 | 8B3A7150D21CEBB9AB043623 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
66 | 8C25C2C15B1753239A534B61 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
67 | 8E0EA3A7C6B5162FD8A821CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_opengl.mm"; path = "../../JuceLibraryCode/include_juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
68 | 8F017467C3C6E7A5ED3B21B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_graphics.mm"; path = "../../JuceLibraryCode/include_juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
69 | 95D03AC965CA63CD24F80789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_devices.mm"; path = "../../JuceLibraryCode/include_juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
70 | 96290F463BEA0FB0A2615236 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
71 | 981D56CC636D45D43B8858AD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
72 | 9A472801DFF6020E9C3EDB6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_video.mm"; path = "../../JuceLibraryCode/include_juce_video.mm"; sourceTree = "SOURCE_ROOT"; };
73 | 9BC95F1B468FAA7A1D0E5E6B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_audio_utils"; path = "../../../../../../../../Applications/JUCE/modules/juce_audio_utils"; sourceTree = "SOURCE_ROOT"; };
74 | 9E1DC38749F668680670A22F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_core.mm"; path = "../../JuceLibraryCode/include_juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
75 | 9EE3853CDF250E9D53D4A7D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_formats.mm"; path = "../../JuceLibraryCode/include_juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; };
76 | A5E80509BCDED3CD6C66763C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_audio_processors"; path = "../../../../../../../../Applications/JUCE/modules/juce_audio_processors"; sourceTree = "SOURCE_ROOT"; };
77 | A6F030DAD20B85A877BC488E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
78 | BCA332D5F8BB1F4F1E860B40 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_graphics"; path = "../../../../../../../../Applications/JUCE/modules/juce_graphics"; sourceTree = "SOURCE_ROOT"; };
79 | CF76D2827A2DCC2FEE58EF99 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_cryptography"; path = "../../../../../../../../Applications/JUCE/modules/juce_cryptography"; sourceTree = "SOURCE_ROOT"; };
80 | D42CD5431B901770DF3703AD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_opengl"; path = "../../../../../../../../Applications/JUCE/modules/juce_opengl"; sourceTree = "SOURCE_ROOT"; };
81 | D8D0C49BF1F50EB358B6088C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_audio_devices"; path = "../../../../../../../../Applications/JUCE/modules/juce_audio_devices"; sourceTree = "SOURCE_ROOT"; };
82 | DBAD880318C0DFCC3DCE45C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_data_structures.mm"; path = "../../JuceLibraryCode/include_juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
83 | DC06165A52FEB138B763D60C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; };
84 | DE24B14528ABCFC270931AF1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_audio_basics"; path = "../../../../../../../../Applications/JUCE/modules/juce_audio_basics"; sourceTree = "SOURCE_ROOT"; };
85 | E20B733DC99D91044C71D9AA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
86 | E6F84987E5BA88B986EC6290 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_events.mm"; path = "../../JuceLibraryCode/include_juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
87 | EF634ED69ED27C8B7CF8A863 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_video"; path = "../../../../../../../../Applications/JUCE/modules/juce_video"; sourceTree = "SOURCE_ROOT"; };
88 | F488DADAC0628D36F2781BEA = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; };
89 | F5ABFBD4EBE0C173E9BCA188 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; };
90 | F5C21FFE7717E25289F0A0CF = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVKit.framework; path = System/Library/Frameworks/AVKit.framework; sourceTree = SDKROOT; };
91 | FECAF4C38D360C5F60A4B313 = {isa = PBXGroup; children = (
92 | 26307321E0ACBF475930B2A8,
93 | 1778391323DF187BCEA1F9E6,
94 | DC06165A52FEB138B763D60C, ); name = Source; sourceTree = ""; };
95 | D8565EA5CDBA3CC74C0C2D3D = {isa = PBXGroup; children = (
96 | FECAF4C38D360C5F60A4B313, ); name = simpleAudioPlayer; sourceTree = ""; };
97 | 80007922017620D2A20603BB = {isa = PBXGroup; children = (
98 | DE24B14528ABCFC270931AF1,
99 | D8D0C49BF1F50EB358B6088C,
100 | 845AC361FC571A104E15488A,
101 | A5E80509BCDED3CD6C66763C,
102 | 9BC95F1B468FAA7A1D0E5E6B,
103 | 0A38AAB1D275B646CF133A3A,
104 | CF76D2827A2DCC2FEE58EF99,
105 | 310C0496CC395692AF7E5E14,
106 | 4C89A93E8D552978C699EDA6,
107 | BCA332D5F8BB1F4F1E860B40,
108 | 4AE6B9E29AC7BB87DBDADD00,
109 | 50CABF915DED7EB76240853C,
110 | D42CD5431B901770DF3703AD,
111 | EF634ED69ED27C8B7CF8A863, ); name = "JUCE Modules"; sourceTree = ""; };
112 | 3D65EAFAF0167EBFCF81AB84 = {isa = PBXGroup; children = (
113 | 45E485F80C0302BDC3667D78,
114 | 532B522A46C5497B68FDE3B5,
115 | 95D03AC965CA63CD24F80789,
116 | 9EE3853CDF250E9D53D4A7D4,
117 | 5B68DAE846C5A2BA46E62572,
118 | 5BE41AE08B01BE7BF9CF5392,
119 | 9E1DC38749F668680670A22F,
120 | 37F2AE9D0ECFA96B44CDABB2,
121 | DBAD880318C0DFCC3DCE45C3,
122 | E6F84987E5BA88B986EC6290,
123 | 8F017467C3C6E7A5ED3B21B7,
124 | 667F6D0CC4C774A8F24CE142,
125 | 7C0017981A300FF246A0E779,
126 | 8E0EA3A7C6B5162FD8A821CE,
127 | 9A472801DFF6020E9C3EDB6A,
128 | 71CDD9CF8B8F92B5A861C3CD, ); name = "JUCE Library Code"; sourceTree = ""; };
129 | 3FEBCFCA15C29C5371CBB710 = {isa = PBXGroup; children = (
130 | F488DADAC0628D36F2781BEA,
131 | F5ABFBD4EBE0C173E9BCA188, ); name = Resources; sourceTree = ""; };
132 | 405B6CAD79388AF6FA9480C8 = {isa = PBXGroup; children = (
133 | A6F030DAD20B85A877BC488E,
134 | 6B70C25D6E41F0FB8F52B649,
135 | E20B733DC99D91044C71D9AA,
136 | F5C21FFE7717E25289F0A0CF,
137 | 8C25C2C15B1753239A534B61,
138 | 547329D96CE224D00C4E97FD,
139 | 84A20B1EBAB7E79940589108,
140 | 1E5FEFBA790C0BB2F1CA2B6C,
141 | 0A7438588291180B8297D1B5,
142 | 3D59988C2F94B5FF690DFD29,
143 | 8B3A7150D21CEBB9AB043623,
144 | 96290F463BEA0FB0A2615236,
145 | 981D56CC636D45D43B8858AD,
146 | 85DCB974014DF7B67C8254B1, ); name = Frameworks; sourceTree = ""; };
147 | D2FF50487D3A5D1211CCF6C3 = {isa = PBXGroup; children = (
148 | 39FD32DECF1C110587D18A58, ); name = Products; sourceTree = ""; };
149 | C34DE710735693195CC8903B = {isa = PBXGroup; children = (
150 | D8565EA5CDBA3CC74C0C2D3D,
151 | 80007922017620D2A20603BB,
152 | 3D65EAFAF0167EBFCF81AB84,
153 | 3FEBCFCA15C29C5371CBB710,
154 | 405B6CAD79388AF6FA9480C8,
155 | D2FF50487D3A5D1211CCF6C3, ); name = Source; sourceTree = ""; };
156 | CE8A011724D6661F5CC98CBF = {isa = XCBuildConfiguration; buildSettings = {
157 | CLANG_CXX_LANGUAGE_STANDARD = "c++14";
158 | CLANG_CXX_LIBRARY = "libc++";
159 | CLANG_LINK_OBJC_RUNTIME = NO;
160 | COMBINE_HIDPI_IMAGES = YES;
161 | CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
162 | COPY_PHASE_STRIP = NO;
163 | GCC_DYNAMIC_NO_PIC = NO;
164 | GCC_OPTIMIZATION_LEVEL = 0;
165 | GCC_PREPROCESSOR_DEFINITIONS = (
166 | "_DEBUG=1",
167 | "DEBUG=1",
168 | "JUCER_XCODE_MAC_F6D2F4CF=1",
169 | "JUCE_APP_VERSION=1.0.0",
170 | "JUCE_APP_VERSION_HEX=0x10000",
171 | "JucePlugin_Build_VST=0",
172 | "JucePlugin_Build_VST3=0",
173 | "JucePlugin_Build_AU=0",
174 | "JucePlugin_Build_AUv3=0",
175 | "JucePlugin_Build_RTAS=0",
176 | "JucePlugin_Build_AAX=0",
177 | "JucePlugin_Build_Standalone=0", );
178 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
179 | HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../../../../Applications/JUCE/modules", "$(inherited)");
180 | INFOPLIST_FILE = Info-App.plist;
181 | INFOPLIST_PREPROCESS = NO;
182 | INSTALL_PATH = "$(HOME)/Applications";
183 | MACOSX_DEPLOYMENT_TARGET = 10.11;
184 | MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
185 | PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.simpleAudioPlayer;
186 | SDKROOT_ppc = macosx10.5;
187 | USE_HEADERMAP = NO; }; name = Debug; };
188 | B40B275E0B727E3AAD69C4BA = {isa = XCBuildConfiguration; buildSettings = {
189 | CLANG_CXX_LANGUAGE_STANDARD = "c++14";
190 | CLANG_CXX_LIBRARY = "libc++";
191 | CLANG_LINK_OBJC_RUNTIME = NO;
192 | COMBINE_HIDPI_IMAGES = YES;
193 | CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
194 | DEAD_CODE_STRIPPING = YES;
195 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
196 | GCC_OPTIMIZATION_LEVEL = 3;
197 | GCC_PREPROCESSOR_DEFINITIONS = (
198 | "_NDEBUG=1",
199 | "NDEBUG=1",
200 | "JUCER_XCODE_MAC_F6D2F4CF=1",
201 | "JUCE_APP_VERSION=1.0.0",
202 | "JUCE_APP_VERSION_HEX=0x10000",
203 | "JucePlugin_Build_VST=0",
204 | "JucePlugin_Build_VST3=0",
205 | "JucePlugin_Build_AU=0",
206 | "JucePlugin_Build_AUv3=0",
207 | "JucePlugin_Build_RTAS=0",
208 | "JucePlugin_Build_AAX=0",
209 | "JucePlugin_Build_Standalone=0", );
210 | GCC_SYMBOLS_PRIVATE_EXTERN = YES;
211 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
212 | HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../../../../Applications/JUCE/modules", "$(inherited)");
213 | INFOPLIST_FILE = Info-App.plist;
214 | INFOPLIST_PREPROCESS = NO;
215 | INSTALL_PATH = "$(HOME)/Applications";
216 | LLVM_LTO = YES;
217 | MACOSX_DEPLOYMENT_TARGET = 10.11;
218 | MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
219 | PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.simpleAudioPlayer;
220 | SDKROOT_ppc = macosx10.5;
221 | USE_HEADERMAP = NO; }; name = Release; };
222 | 402B780646DBE3BE14D9E341 = {isa = XCBuildConfiguration; buildSettings = {
223 | ALWAYS_SEARCH_USER_PATHS = NO;
224 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
225 | CLANG_WARN_BOOL_CONVERSION = YES;
226 | CLANG_WARN_COMMA = YES;
227 | CLANG_WARN_CONSTANT_CONVERSION = YES;
228 | CLANG_WARN_EMPTY_BODY = YES;
229 | CLANG_WARN_ENUM_CONVERSION = YES;
230 | CLANG_WARN_INFINITE_RECURSION = YES;
231 | CLANG_WARN_INT_CONVERSION = YES;
232 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
233 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
234 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
235 | CLANG_WARN_STRICT_PROTOTYPES = YES;
236 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
237 | CLANG_WARN_UNREACHABLE_CODE = YES;
238 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
239 | DEBUG_INFORMATION_FORMAT = "dwarf";
240 | ENABLE_STRICT_OBJC_MSGSEND = YES;
241 | ENABLE_TESTABILITY = YES;
242 | GCC_C_LANGUAGE_STANDARD = c11;
243 | GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
244 | GCC_MODEL_TUNING = G5;
245 | GCC_NO_COMMON_BLOCKS = YES;
246 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
247 | GCC_WARN_ABOUT_RETURN_TYPE = YES;
248 | GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
249 | GCC_WARN_MISSING_PARENTHESES = YES;
250 | GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
251 | GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
252 | GCC_WARN_UNDECLARED_SELECTOR = YES;
253 | GCC_WARN_UNINITIALIZED_AUTOS = YES;
254 | GCC_WARN_UNUSED_FUNCTION = YES;
255 | GCC_WARN_UNUSED_VARIABLE = YES;
256 | ONLY_ACTIVE_ARCH = YES;
257 | PRODUCT_NAME = "simpleAudioPlayer";
258 | WARNING_CFLAGS = -Wreorder;
259 | ZERO_LINK = NO; }; name = Debug; };
260 | 500ED2AA4DD8F66B09A4CA4A = {isa = XCBuildConfiguration; buildSettings = {
261 | ALWAYS_SEARCH_USER_PATHS = NO;
262 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
263 | CLANG_WARN_BOOL_CONVERSION = YES;
264 | CLANG_WARN_COMMA = YES;
265 | CLANG_WARN_CONSTANT_CONVERSION = YES;
266 | CLANG_WARN_EMPTY_BODY = YES;
267 | CLANG_WARN_ENUM_CONVERSION = YES;
268 | CLANG_WARN_INFINITE_RECURSION = YES;
269 | CLANG_WARN_INT_CONVERSION = YES;
270 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
271 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
272 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
273 | CLANG_WARN_STRICT_PROTOTYPES = YES;
274 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
275 | CLANG_WARN_UNREACHABLE_CODE = YES;
276 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
277 | DEBUG_INFORMATION_FORMAT = "dwarf";
278 | ENABLE_STRICT_OBJC_MSGSEND = YES;
279 | GCC_C_LANGUAGE_STANDARD = c11;
280 | GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
281 | GCC_MODEL_TUNING = G5;
282 | GCC_NO_COMMON_BLOCKS = YES;
283 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
284 | GCC_WARN_ABOUT_RETURN_TYPE = YES;
285 | GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
286 | GCC_WARN_MISSING_PARENTHESES = YES;
287 | GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
288 | GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
289 | GCC_WARN_UNDECLARED_SELECTOR = YES;
290 | GCC_WARN_UNINITIALIZED_AUTOS = YES;
291 | GCC_WARN_UNUSED_FUNCTION = YES;
292 | GCC_WARN_UNUSED_VARIABLE = YES;
293 | PRODUCT_NAME = "simpleAudioPlayer";
294 | WARNING_CFLAGS = -Wreorder;
295 | ZERO_LINK = NO; }; name = Release; };
296 | 87D6B98F88B324346B3CB2DF = {isa = PBXTargetDependency; target = 92A93D2A024EAB1E8ABD8000; };
297 | 0D4020E05BD563037EFE5638 = {isa = XCConfigurationList; buildConfigurations = (
298 | 402B780646DBE3BE14D9E341,
299 | 500ED2AA4DD8F66B09A4CA4A, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
300 | CE1DE71575A0A687BBB6475D = {isa = XCConfigurationList; buildConfigurations = (
301 | CE8A011724D6661F5CC98CBF,
302 | B40B275E0B727E3AAD69C4BA, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
303 | C0C8179729512555BE2748AB = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (
304 | 646E0933AD9148EFE806B53D, ); runOnlyForDeploymentPostprocessing = 0; };
305 | BC41FB83B1FEE3E651E9456E = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
306 | BE92ADF93DA98BB8A046EDAD,
307 | 99522CD8FC8FDE5FD0865995,
308 | F4FEC6CD485CB39B730644D5,
309 | 328AA3D7CC3CCC4F2689FE84,
310 | EA8DF04780810B88F710DAEB,
311 | 5A895F5751994230DB63E9F8,
312 | 6F1758D117B3C2E97171DBD7,
313 | DE45780DE5780391AF445533,
314 | E54F1DF71F711C7934FC0DE8,
315 | 4C3B28EAA058C8BA53E724EF,
316 | FA308D6EA223CE255BEAE42E,
317 | 4969E08CA5714A9D9A6A2CFC,
318 | C9DF96E832D48A0661530A10,
319 | B3E92563FEB402D5F8917C3F,
320 | C609B150664D79FBEE1C729E,
321 | 67A8D0C3748B6C0B501B753D, ); runOnlyForDeploymentPostprocessing = 0; };
322 | 4BEA140C86692C6647B053D1 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
323 | 28853523F34C1025E030669C,
324 | D84D204B1B802CED04E1CA50,
325 | 75D004E312B07365BE8C48BA,
326 | 5F9090D1A67FFC5CE4FAFD86,
327 | B3B82541EB25EE5919CA4067,
328 | EC1C3852398994483764A17D,
329 | 0F3386B1994A5C185C2EFB9F,
330 | C95B3356960452E53058DD56,
331 | 11D9DCCFEB6123DF95CDC974,
332 | 1A7E7EF224F9A3EC108D276B,
333 | 289D6AFBFFE639015A1AE975,
334 | 98C0E5F012E1A83D8B36873C,
335 | EDA6819E544B14CEDE196670,
336 | 9F36E3FADD1D0C240F7E0982, ); runOnlyForDeploymentPostprocessing = 0; };
337 | 92A93D2A024EAB1E8ABD8000 = {isa = PBXNativeTarget; buildConfigurationList = CE1DE71575A0A687BBB6475D; buildPhases = (
338 | C0C8179729512555BE2748AB,
339 | BC41FB83B1FEE3E651E9456E,
340 | 4BEA140C86692C6647B053D1, ); buildRules = ( ); dependencies = ( ); name = "simpleAudioPlayer - App"; productName = simpleAudioPlayer; productReference = 39FD32DECF1C110587D18A58; productType = "com.apple.product-type.application"; };
341 | 920BAF88E5D44D231DD281B9 = {isa = PBXProject; buildConfigurationList = 0D4020E05BD563037EFE5638; attributes = { LastUpgradeCheck = 0930; ORGANIZATIONNAME = ""; TargetAttributes = { 92A93D2A024EAB1E8ABD8000 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = C34DE710735693195CC8903B; projectDirPath = ""; projectRoot = ""; targets = (92A93D2A024EAB1E8ABD8000); };
342 | };
343 | rootObject = 920BAF88E5D44D231DD281B9;
344 | }
345 |
--------------------------------------------------------------------------------