├── README
├── example
├── bin
│ └── data
│ │ ├── bg.jpg
│ │ ├── frame01.png
│ │ ├── frame02.png
│ │ ├── frame03.png
│ │ ├── frame04.png
│ │ ├── frame05.png
│ │ ├── frame06.png
│ │ ├── frame07.png
│ │ ├── frame08.png
│ │ ├── frame09.png
│ │ ├── frame10.png
│ │ └── frame11.png
├── icon.rc
├── Project.xcconfig
├── src
│ ├── main.cpp
│ ├── ofApp.h
│ └── ofApp.cpp
├── emptyExample.vcxproj.user
├── emptyExample_vs2010.vcxproj.user
├── openFrameworks-Info.plist
├── example-imageSequence.sln
├── emptyExample_vs2010.sln
├── example-imageSequence.vcxproj.filters
├── example-imageSequence.vcxproj
├── emptyExample_vs2010.vcxproj
└── imageSequence.xcodeproj
│ └── project.pbxproj
├── .gitignore
├── example-threaded
├── icon.rc
├── Project.xcconfig
├── src
│ ├── main.cpp
│ ├── ofApp.h
│ └── ofApp.cpp
├── openFrameworks-Info.plist
├── example-threaded.sln
├── example-threaded.vcxproj.filters
├── example-threaded.vcxproj
└── imageSequence.xcodeproj
│ └── project.pbxproj
└── src
├── ofxImageSequence.h
└── ofxImageSequence.cpp
/README:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/example/bin/data/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flightphase/ofxImageSequence/HEAD/example/bin/data/bg.jpg
--------------------------------------------------------------------------------
/example/bin/data/frame01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flightphase/ofxImageSequence/HEAD/example/bin/data/frame01.png
--------------------------------------------------------------------------------
/example/bin/data/frame02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flightphase/ofxImageSequence/HEAD/example/bin/data/frame02.png
--------------------------------------------------------------------------------
/example/bin/data/frame03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flightphase/ofxImageSequence/HEAD/example/bin/data/frame03.png
--------------------------------------------------------------------------------
/example/bin/data/frame04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flightphase/ofxImageSequence/HEAD/example/bin/data/frame04.png
--------------------------------------------------------------------------------
/example/bin/data/frame05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flightphase/ofxImageSequence/HEAD/example/bin/data/frame05.png
--------------------------------------------------------------------------------
/example/bin/data/frame06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flightphase/ofxImageSequence/HEAD/example/bin/data/frame06.png
--------------------------------------------------------------------------------
/example/bin/data/frame07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flightphase/ofxImageSequence/HEAD/example/bin/data/frame07.png
--------------------------------------------------------------------------------
/example/bin/data/frame08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flightphase/ofxImageSequence/HEAD/example/bin/data/frame08.png
--------------------------------------------------------------------------------
/example/bin/data/frame09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flightphase/ofxImageSequence/HEAD/example/bin/data/frame09.png
--------------------------------------------------------------------------------
/example/bin/data/frame10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flightphase/ofxImageSequence/HEAD/example/bin/data/frame10.png
--------------------------------------------------------------------------------
/example/bin/data/frame11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flightphase/ofxImageSequence/HEAD/example/bin/data/frame11.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | docs/
2 |
3 | *.depend
4 | *.layout
5 | *.mode*v3
6 | *.pbxuser
7 | *.app*
8 | *.DS_*
9 | ._*.*
10 |
11 | .svn/
12 | obj/
13 | bin/
14 | build/
15 | !data/
16 | xcuserdata/
17 |
18 | ipch/
19 | *.suo
20 | *.opensdf
21 |
22 | *.obj
23 | *.tlog
24 | *.sdf
25 | *.pdb
26 | *.idb
27 | *.pch
28 |
29 |
--------------------------------------------------------------------------------
/example/icon.rc:
--------------------------------------------------------------------------------
1 | // Icon Resource Definition
2 | #define MAIN_ICON 102
3 |
4 | #if defined(_DEBUG)
5 | MAIN_ICON ICON "..\..\..\libs\openFrameworksCompiled\project\vs\icon_debug.ico"
6 | #else
7 | MAIN_ICON ICON "..\..\..\libs\openFrameworksCompiled\project\vs\icon.ico"
8 | #endif
9 |
--------------------------------------------------------------------------------
/example-threaded/icon.rc:
--------------------------------------------------------------------------------
1 | // Icon Resource Definition
2 | #define MAIN_ICON 102
3 |
4 | #if defined(_DEBUG)
5 | MAIN_ICON ICON "..\..\..\libs\openFrameworksCompiled\project\vs\icon_debug.ico"
6 | #else
7 | MAIN_ICON ICON "..\..\..\libs\openFrameworksCompiled\project\vs\icon.ico"
8 | #endif
9 |
--------------------------------------------------------------------------------
/example/Project.xcconfig:
--------------------------------------------------------------------------------
1 | //THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.
2 | //THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED
3 | OF_PATH = ../../..
4 |
5 | //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE
6 | #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig"
7 |
8 | OTHER_LDFLAGS = $(OF_CORE_LIBS)
9 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS)
10 |
--------------------------------------------------------------------------------
/example-threaded/Project.xcconfig:
--------------------------------------------------------------------------------
1 | //THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.
2 | //THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED
3 | OF_PATH = ../../..
4 |
5 | //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE
6 | #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig"
7 |
8 | OTHER_LDFLAGS = $(OF_CORE_LIBS)
9 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS)
10 |
--------------------------------------------------------------------------------
/example/src/main.cpp:
--------------------------------------------------------------------------------
1 | #include "ofMain.h"
2 | #include "ofApp.h"
3 |
4 | //========================================================================
5 | int main( ){
6 |
7 | ofSetupOpenGL(1024,768, OF_WINDOW); // <-------- setup the GL context
8 |
9 | // this kicks off the running of my app
10 | // can be OF_WINDOW or OF_FULLSCREEN
11 | // pass in width and height too:
12 | ofRunApp( new ofApp());
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/example-threaded/src/main.cpp:
--------------------------------------------------------------------------------
1 | #include "ofMain.h"
2 | #include "ofApp.h"
3 |
4 | //========================================================================
5 | int main( ){
6 |
7 | ofSetupOpenGL(1024,768, OF_WINDOW); // <-------- setup the GL context
8 |
9 | // this kicks off the running of my app
10 | // can be OF_WINDOW or OF_FULLSCREEN
11 | // pass in width and height too:
12 | ofRunApp( new ofApp());
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/example/emptyExample.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(ProjectDir)/bin
5 | WindowsLocalDebugger
6 |
7 |
8 | $(ProjectDir)/bin
9 | WindowsLocalDebugger
10 |
11 |
--------------------------------------------------------------------------------
/example/emptyExample_vs2010.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(ProjectDir)/bin
5 | WindowsLocalDebugger
6 |
7 |
8 | $(ProjectDir)/bin
9 | WindowsLocalDebugger
10 |
11 |
--------------------------------------------------------------------------------
/example/openFrameworks-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | com.yourcompany.openFrameworks
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | APPL
15 | CFBundleSignature
16 | ????
17 | CFBundleVersion
18 | 1.0
19 |
20 |
21 |
--------------------------------------------------------------------------------
/example-threaded/openFrameworks-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | com.yourcompany.openFrameworks
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | APPL
15 | CFBundleSignature
16 | ????
17 | CFBundleVersion
18 | 1.0
19 |
20 |
21 |
--------------------------------------------------------------------------------
/example/src/ofApp.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * ofxImageSequence example project
4 | *
5 | * Created by James George ( http://www.jamesgeorge.org ) on 6/15/10.
6 | * In collaboration with FlightPhase ( http://www.flightphase.com )
7 | * - Updated for 0.8.4 by James George on 12/10/2014 for Specular (http://specular.cc) (how time flies!)
8 | *
9 | * Copyright (c) 2010-2015
10 | */
11 |
12 | #pragma onc
13 |
14 | #include "ofMain.h"
15 | #include "ofxImageSequence.h"
16 |
17 | class ofApp : public ofBaseApp
18 | {
19 |
20 | public:
21 | void setup();
22 | void update();
23 | void draw();
24 |
25 | void keyPressed (int key);
26 | void keyReleased(int key);
27 | void mouseMoved(int x, int y );
28 | void mouseDragged(int x, int y, int button);
29 | void mousePressed(int x, int y, int button);
30 | void mouseReleased(int x, int y, int button);
31 | void windowResized(int w, int h);
32 |
33 | ofxImageSequence sequence;
34 | ofImage background;
35 | bool playing;
36 | };
37 |
38 |
--------------------------------------------------------------------------------
/example-threaded/src/ofApp.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * ofxImageSequence example project
4 | *
5 | * Created by James George ( http://www.jamesgeorge.org ) on 6/15/10.
6 | * In collaboration with FlightPhase ( http://www.flightphase.com )
7 | * - Updated for 0.8.4 by James George on 12/10/2014 for Specular (http://specular.cc) (how time flies!)
8 | *
9 | * Copyright (c) 2010-2015
10 | */
11 |
12 | #pragma onc
13 |
14 | #include "ofMain.h"
15 | #include "ofxImageSequence.h"
16 |
17 | class ofApp : public ofBaseApp
18 | {
19 |
20 | public:
21 | void setup();
22 | void update();
23 | void draw();
24 |
25 | void keyPressed (int key);
26 | void keyReleased(int key);
27 | void mouseMoved(int x, int y );
28 | void mouseDragged(int x, int y, int button);
29 | void mousePressed(int x, int y, int button);
30 | void mouseReleased(int x, int y, int button);
31 | void windowResized(int w, int h);
32 |
33 | ofxImageSequence sequence;
34 | ofImage background;
35 | bool playing;
36 | };
37 |
38 |
--------------------------------------------------------------------------------
/example-threaded/example-threaded.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 12.00
2 | # Visual Studio 2012
3 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openframeworksLib", "..\..\..\libs\openFrameworksCompiled\project\vs\openframeworksLib.vcxproj", "{5837595D-ACA9-485C-8E76-729040CE4B0B}"
4 | EndProject
5 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example-threaded", "example-threaded.vcxproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}"
6 | EndProject
7 | Global
8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
9 | Debug|Win32 = Debug|Win32
10 | Release|Win32 = Release|Win32
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.ActiveCfg = Debug|Win32
14 | {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.Build.0 = Debug|Win32
15 | {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.ActiveCfg = Release|Win32
16 | {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.Build.0 = Release|Win32
17 | {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32
18 | {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32
19 | {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32
20 | {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32
21 | EndGlobalSection
22 | GlobalSection(SolutionProperties) = preSolution
23 | HideSolutionNode = FALSE
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/example/example-imageSequence.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 12.00
2 | # Visual Studio 2012
3 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openframeworksLib", "..\..\..\libs\openFrameworksCompiled\project\vs\openframeworksLib.vcxproj", "{5837595D-ACA9-485C-8E76-729040CE4B0B}"
4 | EndProject
5 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example-imageSequence", "example-imageSequence.vcxproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}"
6 | EndProject
7 | Global
8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
9 | Debug|Win32 = Debug|Win32
10 | Release|Win32 = Release|Win32
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.ActiveCfg = Debug|Win32
14 | {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.Build.0 = Debug|Win32
15 | {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.ActiveCfg = Release|Win32
16 | {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.Build.0 = Release|Win32
17 | {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32
18 | {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32
19 | {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32
20 | {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32
21 | EndGlobalSection
22 | GlobalSection(SolutionProperties) = preSolution
23 | HideSolutionNode = FALSE
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/example/emptyExample_vs2010.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 11.00
2 | # Visual C++ Express 2010
3 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "emptyExample_vs2010", "emptyExample_vs2010.vcxproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}"
4 | EndProject
5 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openframeworksLib", "..\..\..\libs\openFrameworksCompiled\project\vs2010\openframeworksLib.vcxproj", "{5837595D-ACA9-485C-8E76-729040CE4B0B}"
6 | EndProject
7 | Global
8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
9 | Debug|Win32 = Debug|Win32
10 | Release|Win32 = Release|Win32
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32
14 | {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32
15 | {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32
16 | {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32
17 | {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.ActiveCfg = Debug|Win32
18 | {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.Build.0 = Debug|Win32
19 | {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.ActiveCfg = Release|Win32
20 | {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.Build.0 = Release|Win32
21 | EndGlobalSection
22 | GlobalSection(SolutionProperties) = preSolution
23 | HideSolutionNode = FALSE
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/example/example-imageSequence.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | src
6 |
7 |
8 | src
9 |
10 |
11 | addons\ofxImageSequence\src
12 |
13 |
14 |
15 |
16 | {d8376475-7454-4a24-b08a-aac121d3ad6f}
17 |
18 |
19 | {e6eb17d3-a01b-4bc3-bafe-f7154ab852d9}
20 |
21 |
22 | {ddbfe687-55cf-49cc-bcc8-e852dd6e6899}
23 |
24 |
25 | {da498873-d257-4226-8b4d-043d337d2a5c}
26 |
27 |
28 |
29 |
30 | src
31 |
32 |
33 | addons\ofxImageSequence\src
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/example-threaded/example-threaded.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | src
6 |
7 |
8 | src
9 |
10 |
11 | addons\ofxImageSequence\src
12 |
13 |
14 |
15 |
16 | {d8376475-7454-4a24-b08a-aac121d3ad6f}
17 |
18 |
19 | {e6eb17d3-a01b-4bc3-bafe-f7154ab852d9}
20 |
21 |
22 | {ddbfe687-55cf-49cc-bcc8-e852dd6e6899}
23 |
24 |
25 | {da498873-d257-4226-8b4d-043d337d2a5c}
26 |
27 |
28 |
29 |
30 | src
31 |
32 |
33 | addons\ofxImageSequence\src
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/example/src/ofApp.cpp:
--------------------------------------------------------------------------------
1 | /**
2 | * ofApp.cpp
3 | *
4 | * ofxImageSequence example project
5 | *
6 | * Created by James George, http://www.jamesgeorge.org
7 | * in collaboration with FlightPhase http://www.flightphase.com
8 | * - Updated for 0.8.4 by James George on 12/10/2014 for Specular (http://specular.cc) (how time flies!)
9 | *
10 | * Permission is hereby granted, free of charge, to any person
11 | * obtaining a copy of this software and associated documentation
12 | * files (the "Software"), to deal in the Software without
13 | * restriction, including without limitation the rights to use,
14 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
15 | * copies of the Software, and to permit persons to whom the
16 | * Software is furnished to do so, subject to the following
17 | * conditions:
18 | *
19 | * The above copyright notice and this permission notice shall be
20 | * included in all copies or substantial portions of the Software.
21 | *
22 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
24 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
27 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
29 | * OTHER DEALINGS IN THE SOFTWARE.
30 | *
31 | * ----------------------
32 | *
33 | * simple ofxImageSequence example using Muybridge horse
34 | */
35 |
36 | #include "ofApp.h"
37 |
38 | //--------------------------------------------------------------
39 | void ofApp::setup(){
40 | //File format for the example frames is
41 | //frame01.png
42 | //this creates a method call where the parameters
43 | //prefix is frame, file type is png, from frame 1 to 11, 2 digits in the number
44 | sequence.loadSequence("frame", "png", 1, 11, 2);
45 | sequence.preloadAllFrames(); //this way there is no stutter when loading frames
46 | sequence.setFrameRate(10); //set to ten frames per second for Muybridge's horse.
47 |
48 | playing = false; //controls if playing automatically, or controlled by the mouse
49 | }
50 |
51 | //--------------------------------------------------------------
52 | void ofApp::update(){
53 |
54 | }
55 |
56 | //--------------------------------------------------------------
57 | void ofApp::draw(){
58 |
59 | if(playing){
60 | //get the frame based on the current time and draw it
61 | sequence.getFrameForTime(ofGetElapsedTimef())->draw(0,0);
62 | }
63 | else {
64 | //get the sequence frame that maps to the mouseX position
65 | float percent = ofMap(mouseX, 0, ofGetWidth(), 0, 1.0, true);
66 |
67 | //draw it.
68 | sequence.getFrameAtPercent(percent)->draw(0, 0);
69 | }
70 | }
71 |
72 | //--------------------------------------------------------------
73 | void ofApp::keyPressed(int key){
74 | //hit any key to toggle playing
75 | playing = !playing;
76 | }
77 |
78 | //--------------------------------------------------------------
79 | void ofApp::keyReleased(int key){
80 |
81 | }
82 |
83 | //--------------------------------------------------------------
84 | void ofApp::mouseMoved(int x, int y ){
85 |
86 | }
87 |
88 | //--------------------------------------------------------------
89 | void ofApp::mouseDragged(int x, int y, int button){
90 |
91 | }
92 |
93 | //--------------------------------------------------------------
94 | void ofApp::mousePressed(int x, int y, int button){
95 |
96 | }
97 |
98 | //--------------------------------------------------------------
99 | void ofApp::mouseReleased(int x, int y, int button){
100 |
101 | }
102 |
103 | //--------------------------------------------------------------
104 | void ofApp::windowResized(int w, int h){
105 |
106 | }
107 |
108 |
--------------------------------------------------------------------------------
/example-threaded/src/ofApp.cpp:
--------------------------------------------------------------------------------
1 | /**
2 | * ofApp.cpp
3 | *
4 | * ofxImageSequence example project
5 | *
6 | * Created by James George, http://www.jamesgeorge.org
7 | * in collaboration with FlightPhase http://www.flightphase.com
8 | * - Updated for 0.8.4 by James George on 12/10/2014 for Specular (http://specular.cc) (how time flies!)
9 | *
10 | * Permission is hereby granted, free of charge, to any person
11 | * obtaining a copy of this software and associated documentation
12 | * files (the "Software"), to deal in the Software without
13 | * restriction, including without limitation the rights to use,
14 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
15 | * copies of the Software, and to permit persons to whom the
16 | * Software is furnished to do so, subject to the following
17 | * conditions:
18 | *
19 | * The above copyright notice and this permission notice shall be
20 | * included in all copies or substantial portions of the Software.
21 | *
22 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
24 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
27 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
29 | * OTHER DEALINGS IN THE SOFTWARE.
30 | *
31 | * ----------------------
32 | *
33 | * simple ofxImageSequence example using Muybridge horse
34 | */
35 |
36 | #include "ofApp.h"
37 |
38 | //--------------------------------------------------------------
39 | void ofApp::setup(){
40 | //File format for the example frames is
41 | //frame01.png
42 | //this creates a method call where the parameters
43 | //prefix is frame, file type is png, from frame 1 to 11, 2 digits in the number
44 |
45 | //sequence.loadSequence("frame", "png", 1, 11, 2);
46 | //sequence.preloadAllFrames(); //this way there is no stutter when loading frames
47 | sequence.enableThreadedLoad(true);
48 | sequence.setExtension("png");
49 | sequence.loadSequence("frames");
50 |
51 | //sequence.setFrameRate(10); //set to ten frames per second for Muybridge's horse.
52 |
53 | playing = false; //controls if playing automatically, or controlled by the mouse
54 | }
55 |
56 | //--------------------------------------------------------------
57 | void ofApp::update(){
58 |
59 | }
60 |
61 | //--------------------------------------------------------------
62 | void ofApp::draw(){
63 |
64 | if(sequence.isLoading()){
65 | ofBackground(255,0,0);
66 | }
67 | else{
68 | ofBackground(0);
69 | if(playing){
70 | //get the frame based on the current time and draw it
71 | sequence.getFrameForTime(ofGetElapsedTimef())->draw(0,0);
72 | }
73 | else {
74 | //get the sequence frame that maps to the mouseX position
75 | float percent = ofMap(mouseX, 0, ofGetWidth(), 0, 1.0, true);
76 |
77 | //draw it.
78 | sequence.getFrameAtPercent(percent)->draw(0, 0);
79 | }
80 | }
81 | }
82 |
83 | //--------------------------------------------------------------
84 | void ofApp::keyPressed(int key){
85 | //hit any key to toggle playing
86 | playing = !playing;
87 | }
88 |
89 | //--------------------------------------------------------------
90 | void ofApp::keyReleased(int key){
91 |
92 | }
93 |
94 | //--------------------------------------------------------------
95 | void ofApp::mouseMoved(int x, int y ){
96 |
97 | }
98 |
99 | //--------------------------------------------------------------
100 | void ofApp::mouseDragged(int x, int y, int button){
101 |
102 | }
103 |
104 | //--------------------------------------------------------------
105 | void ofApp::mousePressed(int x, int y, int button){
106 |
107 | }
108 |
109 | //--------------------------------------------------------------
110 | void ofApp::mouseReleased(int x, int y, int button){
111 |
112 | }
113 |
114 | //--------------------------------------------------------------
115 | void ofApp::windowResized(int w, int h){
116 |
117 | }
118 |
119 |
--------------------------------------------------------------------------------
/example/example-imageSequence.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 |
14 | {7FD42DF7-442E-479A-BA76-D0022F99702A}
15 | Win32Proj
16 | emptyExample
17 |
18 |
19 |
20 | Application
21 | Unicode
22 | v110
23 |
24 |
25 | Application
26 | Unicode
27 | true
28 | v110
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | bin\
42 | obj\$(Configuration)\
43 | $(ProjectName)_debug
44 | true
45 | true
46 |
47 |
48 | bin\
49 | obj\$(Configuration)\
50 | false
51 |
52 |
53 |
54 | Disabled
55 | true
56 | EnableFastChecks
57 | %(PreprocessorDefinitions)
58 | MultiThreadedDebugDLL
59 | Level3
60 | EditAndContinue
61 | %(AdditionalIncludeDirectories);src;..\..\..\addons\ofxImageSequence\src
62 | CompileAsCpp
63 |
64 |
65 | true
66 | Console
67 | false
68 | %(AdditionalDependencies)
69 | %(AdditionalLibraryDirectories)
70 |
71 |
72 |
73 |
74 | false
75 | %(PreprocessorDefinitions)
76 | MultiThreadedDLL
77 | Level3
78 | %(AdditionalIncludeDirectories);src;..\..\..\addons\ofxImageSequence\src
79 | CompileAsCpp
80 | true
81 |
82 |
83 | false
84 | false
85 | Console
86 | true
87 | true
88 | false
89 | %(AdditionalDependencies)
90 | %(AdditionalLibraryDirectories)
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 | {5837595d-aca9-485c-8e76-729040ce4b0b}
105 |
106 |
107 |
108 |
109 | /D_DEBUG %(AdditionalOptions)
110 |
111 |
112 |
113 |
--------------------------------------------------------------------------------
/example-threaded/example-threaded.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 |
14 | {7FD42DF7-442E-479A-BA76-D0022F99702A}
15 | Win32Proj
16 | emptyExample
17 |
18 |
19 |
20 | Application
21 | Unicode
22 | v110
23 |
24 |
25 | Application
26 | Unicode
27 | true
28 | v110
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | bin\
42 | obj\$(Configuration)\
43 | $(ProjectName)_debug
44 | true
45 | true
46 |
47 |
48 | bin\
49 | obj\$(Configuration)\
50 | false
51 |
52 |
53 |
54 | Disabled
55 | true
56 | EnableFastChecks
57 | %(PreprocessorDefinitions)
58 | MultiThreadedDebugDLL
59 | Level3
60 | EditAndContinue
61 | %(AdditionalIncludeDirectories);src;..\..\..\addons\ofxImageSequence\src
62 | CompileAsCpp
63 |
64 |
65 | true
66 | Console
67 | false
68 | %(AdditionalDependencies)
69 | %(AdditionalLibraryDirectories)
70 |
71 |
72 |
73 |
74 | false
75 | %(PreprocessorDefinitions)
76 | MultiThreadedDLL
77 | Level3
78 | %(AdditionalIncludeDirectories);src;..\..\..\addons\ofxImageSequence\src
79 | CompileAsCpp
80 | true
81 |
82 |
83 | false
84 | false
85 | Console
86 | true
87 | true
88 | false
89 | %(AdditionalDependencies)
90 | %(AdditionalLibraryDirectories)
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 | {5837595d-aca9-485c-8e76-729040ce4b0b}
105 |
106 |
107 |
108 |
109 | /D_DEBUG %(AdditionalOptions)
110 |
111 |
112 |
113 |
--------------------------------------------------------------------------------
/src/ofxImageSequence.h:
--------------------------------------------------------------------------------
1 | /**
2 | * ofxImageSequence.h
3 | *
4 | * Created by James George, http://www.jamesgeorge.org
5 | * in collaboration with Flightphase http://www.flightphase.com
6 | * - Updated for 0.8.4 by James George on 12/10/2014 for Specular (http://specular.cc) (how time flies!)
7 | *
8 | * Permission is hereby granted, free of charge, to any person
9 | * obtaining a copy of this software and associated documentation
10 | * files (the "Software"), to deal in the Software without
11 | * restriction, including without limitation the rights to use,
12 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the
14 | * Software is furnished to do so, subject to the following
15 | * conditions:
16 | *
17 | * The above copyright notice and this permission notice shall be
18 | * included in all copies or substantial portions of the Software.
19 | *
20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
22 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
25 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27 | * OTHER DEALINGS IN THE SOFTWARE.
28 | *
29 | * ----------------------
30 | *
31 | * ofxImageSequence is a class for easily loading a series of image files
32 | * and accessing them like you would frames of a movie.
33 | *
34 | * This class loads only textures to the graphics card and does not store pixel data in memory. This helps with
35 | * fast, random access drawing of seuqences
36 | *
37 | * Why would you use this instead of a movie file? A few reasons,
38 | * If you want truly random frame access with no lag on large images, ofxImageSequence is a good way to go
39 | * If you need a movie with alpha channel the only readily available codec is Animation (PNG) which is slow at large resolutions, so this class can help with that
40 | * If you want to easily access frames based on percents this class makes that easy
41 | *
42 | * //TODO: Extend ofBaseDraws
43 | * //TODO: experiment with storing pixels intead of textures and doing upload every frame
44 | * //TODO: integrate ofDirectory to API
45 | */
46 |
47 | #pragma once
48 |
49 | #include "ofMain.h"
50 |
51 | class ofxImageSequenceLoader;
52 | class ofxImageSequence : public ofBaseHasTexture {
53 | public:
54 |
55 | ofxImageSequence();
56 | ~ofxImageSequence();
57 |
58 | //sets an extension, like png or jpg
59 | void setExtension(string prefix);
60 | void setMaxFrames(int maxFrames); //set to limit the number of frames. 0 or less means no limit
61 | void enableThreadedLoad(bool enable);
62 |
63 | /**
64 | * use this method to load sequences formatted like:
65 | * path/to/images/myImage8.png
66 | * path/to/images/myImage9.png
67 | * path/to/images/myImage10.png
68 | *
69 | * for this sequence the parameters would be:
70 | * prefix => "path/to/images/myImage"
71 | * filetype => "png"
72 | * startIndex => 8
73 | * endIndex => 10
74 | */
75 | bool loadSequence(string prefix, string filetype, int startIndex, int endIndex);
76 |
77 | /**
78 | * Use this function to load sequences formatted like
79 | *
80 | * path/to/images/myImage004.jpg
81 | * path/to/images/myImage005.jpg
82 | * path/to/images/myImage006.jpg
83 | * path/to/images/myImage007.jpg
84 | *
85 | * for this sequence the parameters would be:
86 | * prefix => "path/to/images/myImage"
87 | * filetype => "jpg"
88 | * startIndex => 4
89 | * endIndex => 7
90 | * numDigits => 3
91 | */
92 | bool loadSequence(string prefix, string filetype, int startIndex, int endIndex, int numDigits);
93 | bool loadSequence(string folder);
94 |
95 | void cancelLoad();
96 | void preloadAllFrames(); //immediately loads all frames in the sequence, memory intensive but fastest scrubbing
97 | void unloadSequence(); //clears out all frames and frees up memory
98 |
99 | void setFrameRate(float rate); //used for getting frames by time, default is 30fps
100 |
101 | //these get textures, but also change the
102 | OF_DEPRECATED_MSG("Use getTextureForFrame instead.", ofTexture* getFrame(int index)); //returns a frame at a given index
103 | OF_DEPRECATED_MSG("Use getTextureForTime instead.", ofTexture* getFrameForTime(float time)); //returns a frame at a given time, used setFrameRate to set time
104 | OF_DEPRECATED_MSG("Use getTextureForPercent instead.", ofTexture* getFrameAtPercent(float percent)); //returns a frame at a given time, used setFrameRate to set time
105 |
106 | ofTexture& getTextureForFrame(int index); //returns a frame at a given index
107 | ofTexture& getTextureForTime(float time); //returns a frame at a given time, used setFrameRate to set time
108 | ofTexture& getTextureForPercent(float percent); //returns a frame at a given time, used setFrameRate to set time
109 |
110 | //if usinsg getTextureRef() use these to change the internal state
111 | void setFrame(int index);
112 | void setFrameForTime(float time);
113 | void setFrameAtPercent(float percent);
114 |
115 | string getFilePath(int index);
116 |
117 | OF_DEPRECATED_MSG("Use getTexture() instead.", ofTexture& getTextureReference());
118 |
119 | virtual ofTexture& getTexture();
120 | virtual const ofTexture& getTexture() const;
121 |
122 | virtual void setUseTexture(bool bUseTex){/* not used */};
123 | virtual bool isUsingTexture() const{return true;}
124 |
125 | int getFrameIndexAtPercent(float percent); //returns percent (0.0 - 1.0) for a given frame
126 | float getPercentAtFrameIndex(int index); //returns a frame index for a percent
127 |
128 | int getCurrentFrame(){ return currentFrame; };
129 | int getTotalFrames(); //returns how many frames are in the sequence
130 | float getLengthInSeconds(); //returns the sequence duration based on frame rate
131 |
132 | float getWidth(); //returns the width/height of the sequence
133 | float getHeight();
134 | bool isLoaded(); //returns true if the sequence has been loaded
135 | bool isLoading(); //returns true if loading during thread
136 | void loadFrame(int imageIndex); //allows you to load (cache) a frame to avoid a stutter when loading. use this to "read ahead" if you want
137 |
138 | void setMinMagFilter(int minFilter, int magFilter);
139 |
140 | //Do not call directly
141 | //called internally from threaded loader
142 | void completeLoading();
143 | bool preloadAllFilenames(); //searches for all filenames based on load input
144 | float percentLoaded();
145 |
146 | protected:
147 | ofxImageSequenceLoader* threadLoader;
148 |
149 | vector sequence;
150 | vector filenames;
151 | vector loadFailed;
152 | int currentFrame;
153 | ofTexture texture;
154 | string extension;
155 |
156 | string folderToLoad;
157 | int curLoadFrame;
158 | int maxFrames;
159 | bool useThread;
160 | bool loaded;
161 |
162 | float width, height;
163 | int lastFrameLoaded;
164 | float frameRate;
165 |
166 | int minFilter;
167 | int magFilter;
168 | };
169 |
170 |
171 |
172 |
173 |
--------------------------------------------------------------------------------
/example/emptyExample_vs2010.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 |
14 | {7FD42DF7-442E-479A-BA76-D0022F99702A}
15 | emptyExample
16 | Win32Proj
17 |
18 |
19 |
20 | Application
21 | Unicode
22 | true
23 |
24 |
25 | Application
26 | Unicode
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | <_ProjectFileVersion>10.0.30319.1
40 | bin\
41 | obj\$(Configuration)\
42 | true
43 | true
44 | bin\
45 | obj\$(Configuration)\
46 | false
47 | $(ProjectName)_debug
48 | $(ProjectName)
49 |
50 |
51 |
52 | Disabled
53 | ..\..\..\libs\openFrameworks;..\..\..\libs\openFrameworks\graphics;..\..\..\libs\openFrameworks\app;..\..\..\libs\openFrameworks\sound;..\..\..\libs\openFrameworks\utils;..\..\..\libs\openFrameworks\communication;..\..\..\libs\openFrameworks\video;..\..\..\libs\openFrameworks\math;..\..\..\libs\openFrameworks\types;..\..\..\libs\openFrameworks\events;..\..\..\libs\glut\include;..\..\..\libs\rtAudio\include;..\..\..\libs\quicktime\include;..\..\..\libs\freetype\include;..\..\..\libs\freetype\include\freetype2;..\..\..\libs\freeImage\include;..\..\..\libs\fmodex\include;..\..\..\libs\videoInput\include;..\..\..\libs\glew\include\;..\..\..\libs\glu\include;..\..\..\libs\poco\include;..\..\..\addons;..\..\..\libs\openFrameworks\gl;..\..\..\libs\openFrameworks\3d;..\..\..\libs\tess2\include;..\..\..\libs\cairo\include\cairo%(AdditionalIncludeDirectories)
54 | WIN32;_DEBUG;_CONSOLE;POCO_STATIC;CAIRO_WIN32_STATIC_BUILD;DISABLE_SOME_FLOATING_POINT;%(PreprocessorDefinitions)
55 | true
56 | EnableFastChecks
57 | MultiThreadedDebugDLL
58 |
59 |
60 | Level3
61 | EditAndContinue
62 |
63 |
64 | openframeworksLibDebug.lib;cairo-static.lib;pixman-1.lib;msimg32.lib;OpenGL32.lib;GLu32.lib;kernel32.lib;setupapi.lib;Vfw32.lib;comctl32.lib;glut32.lib;rtAudioD.lib;videoInput.lib;libfreetype.lib;FreeImage.lib;qtmlClient.lib;dsound.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;glew32s.lib;fmodex_vc.lib;glu32.lib;PocoFoundationmdd.lib;PocoNetmdd.lib;PocoUtilmdd.lib;PocoXMLmdd.lib;Ws2_32.lib;tess2.lib;%(AdditionalDependencies)
65 | $(OutDir)$(TargetName)$(TargetExt)
66 | ..\..\..\libs\glut\lib\vs2010;..\..\..\libs\rtAudio\lib\vs2010;..\..\..\libs\FreeImage\lib\vs2010;..\..\..\libs\freetype\lib\vs2010;..\..\..\libs\quicktime\lib\vs2010;..\..\..\libs\fmodex\lib\vs2010;..\..\..\libs\videoInput\lib\vs2010;..\..\..\libs\cairo\lib\vs2010;..\..\..\libs\cairo\lib\vs2010;..\..\..\libs\glew\lib\vs2010;..\..\..\libs\glu\lib\vs2010;..\..\..\libs\Poco\lib\vs2010;..\..\..\libs\openFrameworksCompiled\lib\vs2010;..\..\..\libs\tess2\lib\vs2010;%(AdditionalLibraryDirectories)
67 | atlthunk.lib; LIBC.lib; LIBCMT;%(IgnoreSpecificDefaultLibraries)
68 | true
69 | $(TargetDir)$(TargetName)_debugInfo.pdb
70 | Console
71 | false
72 |
73 |
74 | MachineX86
75 |
76 |
77 | adding DLLs and creating data folder
78 | xcopy /e /i /y "$(ProjectDir)..\..\..\export\vs2010\*.dll" "$(ProjectDir)bin"
79 | if not exist "$(ProjectDir)bin\data" mkdir "$(ProjectDir)bin\data"
80 |
81 |
82 |
83 |
84 |
85 | false
86 | ..\..\..\libs\openFrameworks;..\..\..\libs\openFrameworks\graphics;..\..\..\libs\openFrameworks\app;..\..\..\libs\openFrameworks\sound;..\..\..\libs\openFrameworks\utils;..\..\..\libs\openFrameworks\communication;..\..\..\libs\openFrameworks\video;..\..\..\libs\openFrameworks\math;..\..\..\libs\openFrameworks\types;..\..\..\libs\openFrameworks\events;..\..\..\libs\glut\include;..\..\..\libs\rtAudio\include;..\..\..\libs\quicktime\include;..\..\..\libs\freetype\include;..\..\..\libs\freetype\include\freetype2;..\..\..\libs\freeImage\include;..\..\..\libs\fmodex\include;..\..\..\libs\videoInput\include;..\..\..\libs\glew\include\;..\..\..\libs\glu\include;..\..\..\libs\poco\include;..\..\..\addons;..\..\..\libs\openFrameworks\gl;..\..\..\libs\openFrameworks\3d;..\..\..\libs\tess2\include;..\..\..\libs\cairo\include\cairo%(AdditionalIncludeDirectories)
87 | WIN32;NDEBUG;_CONSOLE;POCO_STATIC;CAIRO_WIN32_STATIC_BUILD;DISABLE_SOME_FLOATING_POINT;%(PreprocessorDefinitions)
88 | MultiThreadedDLL
89 |
90 |
91 | Level3
92 |
93 |
94 |
95 |
96 | openframeworksLib.lib;cairo-static.lib;pixman-1.lib;msimg32.lib;OpenGL32.lib;GLu32.lib;kernel32.lib;setupapi.lib;glut32.lib;rtAudio.lib;videoInput.lib;libfreetype.lib;FreeImage.lib;qtmlClient.lib;dsound.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;glew32s.lib;fmodex_vc.lib;glu32.lib;PocoFoundationmd.lib;PocoNetmd.lib;PocoUtilmd.lib;PocoXMLmd.lib;tess2.lib;%(AdditionalDependencies)
97 | ..\..\..\libs\glut\lib\vs2010;..\..\..\libs\rtAudio\lib\vs2010;..\..\..\libs\FreeImage\lib\vs2010;..\..\..\libs\freetype\lib\vs2010;..\..\..\libs\quicktime\lib\vs2010;..\..\..\libs\fmodex\lib\vs2010;..\..\..\libs\videoInput\lib\vs2010;..\..\..\libs\cairo\lib\vs2010;..\..\..\libs\cairo\lib\vs2010;..\..\..\libs\glew\lib\vs2010;..\..\..\libs\glu\lib\vs2010;..\..\..\libs\Poco\lib\vs2010;..\..\..\libs\openFrameworksCompiled\lib\vs2010;..\..\..\libs\tess2\lib\vs2010;%(AdditionalLibraryDirectories)
98 | false
99 | atlthunk.lib; LIBC.lib; LIBCMT;%(IgnoreSpecificDefaultLibraries)
100 | false
101 | Console
102 | true
103 | true
104 | false
105 |
106 |
107 | MachineX86
108 | Default
109 |
110 |
111 | adding DLLs and creating data folder
112 | xcopy /e /i /y "$(ProjectDir)\..\..\..\export\vs2010\*.dll" "$(ProjectDir)\bin"
113 | if not exist "$(ProjectDir)\bin\data" mkdir "$(ProjectDir)\bin\data"
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 | {5837595d-aca9-485c-8e76-729040ce4b0b}
128 | false
129 |
130 |
131 |
132 |
133 |
134 |
--------------------------------------------------------------------------------
/src/ofxImageSequence.cpp:
--------------------------------------------------------------------------------
1 | /**
2 | * ofxImageSequence.cpp
3 | *
4 | * Created by James George, http://www.jamesgeorge.org
5 | * in collaboration with FlightPhase http://www.flightphase.com
6 | * - Updated for 0.8.4 by James George on 12/10/2014 for Specular (http://specular.cc) (how time flies!)
7 | *
8 | * Permission is hereby granted, free of charge, to any person
9 | * obtaining a copy of this software and associated documentation
10 | * files (the "Software"), to deal in the Software without
11 | * restriction, including without limitation the rights to use,
12 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the
14 | * Software is furnished to do so, subject to the following
15 | * conditions:
16 | *
17 | * The above copyright notice and this permission notice shall be
18 | * included in all copies or substantial portions of the Software.
19 | *
20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
22 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
25 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27 | * OTHER DEALINGS IN THE SOFTWARE.
28 | *
29 | * ----------------------
30 | *
31 | * ofxImageSequence is a class for easily loading a series of image files
32 | * and accessing them like you would frames of a movie.
33 | *
34 | * This class loads only textures to the graphics card and does not store pixel data in memory. This helps with
35 | * fast, random access drawing of seuqences
36 | *
37 | * Why would you use this instead of a movie file? A few reasons,
38 | * If you want truly random frame access with no lag on large images, ofxImageSequence allows it
39 | * If you need a movie with alpha channel the only readily available codec is Animation (PNG) which is slow at large resolutions, so this class can help with that
40 | * If you want to easily access frames based on percents this class makes that easy
41 | *
42 | */
43 |
44 | #include "ofxImageSequence.h"
45 |
46 | class ofxImageSequenceLoader : public ofThread
47 | {
48 | public:
49 |
50 | bool loading;
51 | bool cancelLoading;
52 | ofxImageSequence& sequenceRef;
53 |
54 | ofxImageSequenceLoader(ofxImageSequence* seq)
55 | : sequenceRef(*seq)
56 | , loading(true)
57 | , cancelLoading(false)
58 | {
59 | startThread(true);
60 | }
61 |
62 | ~ofxImageSequenceLoader(){
63 | cancel();
64 | }
65 |
66 | void cancel(){
67 | if(loading){
68 | ofRemoveListener(ofEvents().update, this, &ofxImageSequenceLoader::updateThreadedLoad);
69 | lock();
70 | cancelLoading = true;
71 | unlock();
72 | loading = false;
73 | waitForThread(true);
74 | }
75 | }
76 |
77 | void threadedFunction(){
78 |
79 | ofAddListener(ofEvents().update, this, &ofxImageSequenceLoader::updateThreadedLoad);
80 |
81 | if(!sequenceRef.preloadAllFilenames()){
82 | loading = false;
83 | return;
84 | }
85 |
86 | if(cancelLoading){
87 | loading = false;
88 | cancelLoading = false;
89 | return;
90 | }
91 |
92 | sequenceRef.preloadAllFrames();
93 |
94 | loading = false;
95 | }
96 |
97 | void updateThreadedLoad(ofEventArgs& args){
98 | if(loading){
99 | return;
100 | }
101 | ofRemoveListener(ofEvents().update, this, &ofxImageSequenceLoader::updateThreadedLoad);
102 |
103 | if(sequenceRef.getTotalFrames() > 0){
104 | sequenceRef.completeLoading();
105 | }
106 | }
107 |
108 | };
109 |
110 | ofxImageSequence::ofxImageSequence()
111 | {
112 | loaded = false;
113 | useThread = false;
114 | frameRate = 30.0f;
115 | lastFrameLoaded = -1;
116 | currentFrame = 0;
117 | maxFrames = 0;
118 | curLoadFrame = 0;
119 | threadLoader = NULL;
120 | }
121 |
122 | ofxImageSequence::~ofxImageSequence()
123 | {
124 | unloadSequence();
125 | }
126 |
127 | bool ofxImageSequence::loadSequence(string prefix, string filetype, int startDigit, int endDigit)
128 | {
129 | return loadSequence(prefix, filetype, startDigit, endDigit, 0);
130 | }
131 |
132 | bool ofxImageSequence::loadSequence(string prefix, string filetype, int startDigit, int endDigit, int numDigits)
133 | {
134 | unloadSequence();
135 |
136 | char imagename[1024];
137 | stringstream format;
138 | int numFiles = endDigit - startDigit+1;
139 | if(numFiles <= 0 ){
140 | ofLogError("ofxImageSequence::loadSequence") << "No image files found.";
141 | return false;
142 | }
143 |
144 | if(numDigits != 0){
145 | format < 0){
218 | numFiles = MIN(dir.listDir(folderToLoad), maxFrames);
219 | }
220 | else{
221 | numFiles = dir.listDir(folderToLoad);
222 | }
223 |
224 | if(numFiles == 0) {
225 | ofLogError("ofxImageSequence::loadSequence") << "No image files found in " << folderToLoad;
226 | return false;
227 | }
228 |
229 | // read the directory for the images
230 | #ifdef TARGET_LINUX
231 | dir.sort();
232 | #endif
233 |
234 |
235 | for(int i = 0; i < numFiles; i++) {
236 |
237 | filenames.push_back(dir.getPath(i));
238 | sequence.push_back(ofPixels());
239 | loadFailed.push_back(false);
240 | }
241 | return true;
242 | }
243 |
244 | //set to limit the number of frames. negative means no limit
245 | void ofxImageSequence::setMaxFrames(int newMaxFrames)
246 | {
247 | maxFrames = MAX(newMaxFrames, 0);
248 | if(loaded){
249 | ofLogError("ofxImageSequence::setMaxFrames") << "Max frames must be called before load";
250 | }
251 | }
252 |
253 | void ofxImageSequence::setExtension(string ext)
254 | {
255 | extension = ext;
256 | }
257 |
258 | void ofxImageSequence::enableThreadedLoad(bool enable){
259 |
260 | if(loaded){
261 | ofLogError("ofxImageSequence::enableThreadedLoad") << "Need to enable threaded loading before calling load";
262 | }
263 | useThread = enable;
264 | }
265 |
266 | void ofxImageSequence::cancelLoad()
267 | {
268 | if(useThread && threadLoader != NULL){
269 | threadLoader->cancel();
270 |
271 | delete threadLoader;
272 | threadLoader = NULL;
273 | }
274 | }
275 |
276 | void ofxImageSequence::setMinMagFilter(int newMinFilter, int newMagFilter)
277 | {
278 | minFilter = newMinFilter;
279 | magFilter = newMagFilter;
280 | texture.setTextureMinMagFilter(minFilter, magFilter);
281 | }
282 |
283 | void ofxImageSequence::preloadAllFrames()
284 | {
285 | if(sequence.size() == 0){
286 | ofLogError("ofxImageSequence::loadFrame") << "Calling preloadAllFrames on unitialized image sequence.";
287 | return;
288 | }
289 |
290 | for(int i = 0; i < sequence.size(); i++){
291 | //threaded stuff
292 | if(useThread){
293 | if(threadLoader == NULL){
294 | return;
295 | }
296 | threadLoader->lock();
297 | bool shouldExit = threadLoader->cancelLoading;
298 | threadLoader->unlock();
299 | if(shouldExit){
300 | return;
301 | }
302 |
303 | ofSleepMillis(15);
304 | }
305 | curLoadFrame = i;
306 | if(!ofLoadImage(sequence[i], filenames[i])){
307 | loadFailed[i] = true;
308 | ofLogError("ofxImageSequence::loadFrame") << "Image failed to load: " << filenames[i];
309 | }
310 | }
311 | }
312 |
313 | float ofxImageSequence::percentLoaded(){
314 | if(isLoaded()){
315 | return 1.0;
316 | }
317 | if(isLoading() && sequence.size() > 0){
318 | return 1.0*curLoadFrame / sequence.size();
319 | }
320 | return 0.0;
321 | }
322 |
323 | void ofxImageSequence::loadFrame(int imageIndex)
324 | {
325 | if(lastFrameLoaded == imageIndex){
326 | return;
327 | }
328 |
329 | if(imageIndex < 0 || imageIndex >= sequence.size()){
330 | ofLogError("ofxImageSequence::loadFrame") << "Calling a frame out of bounds: " << imageIndex;
331 | return;
332 | }
333 |
334 | if(!sequence[imageIndex].isAllocated() && !loadFailed[imageIndex]){
335 | if(!ofLoadImage(sequence[imageIndex], filenames[imageIndex])){
336 | loadFailed[imageIndex] = true;
337 | ofLogError("ofxImageSequence::loadFrame") << "Image failed to load: " << filenames[imageIndex];
338 | }
339 | }
340 |
341 | if(loadFailed[imageIndex]){
342 | return;
343 | }
344 |
345 | texture.loadData(sequence[imageIndex]);
346 |
347 | lastFrameLoaded = imageIndex;
348 |
349 | }
350 |
351 | float ofxImageSequence::getPercentAtFrameIndex(int index)
352 | {
353 | return ofMap(index, 0, sequence.size()-1, 0, 1.0, true);
354 | }
355 |
356 | float ofxImageSequence::getWidth()
357 | {
358 | return width;
359 | }
360 |
361 | float ofxImageSequence::getHeight()
362 | {
363 | return height;
364 | }
365 |
366 | void ofxImageSequence::unloadSequence()
367 | {
368 | if(threadLoader != NULL){
369 | delete threadLoader;
370 | threadLoader = NULL;
371 | }
372 |
373 | sequence.clear();
374 | filenames.clear();
375 | loadFailed.clear();
376 |
377 | loaded = false;
378 | width = 0;
379 | height = 0;
380 | curLoadFrame = 0;
381 | lastFrameLoaded = -1;
382 | currentFrame = 0;
383 |
384 | }
385 |
386 | void ofxImageSequence::setFrameRate(float rate)
387 | {
388 | frameRate = rate;
389 | }
390 |
391 | string ofxImageSequence::getFilePath(int index){
392 | if(index > 0 && index < filenames.size()){
393 | return filenames[index];
394 | }
395 | ofLogError("ofxImageSequence::getFilePath") << "Getting filename outside of range";
396 | return "";
397 | }
398 |
399 | int ofxImageSequence::getFrameIndexAtPercent(float percent)
400 | {
401 | if (percent < 0.0 || percent > 1.0) percent -= floor(percent);
402 |
403 | return MIN((int)(percent*sequence.size()), sequence.size()-1);
404 | }
405 |
406 | //deprecated
407 | ofTexture& ofxImageSequence::getTextureReference()
408 | {
409 | return getTexture();
410 | }
411 |
412 | //deprecated
413 | ofTexture* ofxImageSequence::getFrameAtPercent(float percent)
414 | {
415 | setFrameAtPercent(percent);
416 | return &getTexture();
417 | }
418 |
419 | //deprecated
420 | ofTexture* ofxImageSequence::getFrameForTime(float time)
421 | {
422 | setFrameForTime(time);
423 | return &getTexture();
424 | }
425 |
426 | //deprecated
427 | ofTexture* ofxImageSequence::getFrame(int index)
428 | {
429 | setFrame(index);
430 | return &getTexture();
431 | }
432 |
433 | ofTexture& ofxImageSequence::getTextureForFrame(int index)
434 | {
435 | setFrame(index);
436 | return getTexture();
437 | }
438 |
439 | ofTexture& ofxImageSequence::getTextureForTime(float time)
440 | {
441 | setFrameForTime(time);
442 | return getTexture();
443 | }
444 |
445 | ofTexture& ofxImageSequence::getTextureForPercent(float percent){
446 | setFrameAtPercent(percent);
447 | return getTexture();
448 | }
449 |
450 | void ofxImageSequence::setFrame(int index)
451 | {
452 | if(!loaded){
453 | ofLogError("ofxImageSequence::setFrame") << "Calling getFrame on unitialized image sequence.";
454 | return;
455 | }
456 |
457 | if(index < 0){
458 | ofLogError("ofxImageSequence::setFrame") << "Asking for negative index.";
459 | return;
460 | }
461 |
462 | index %= getTotalFrames();
463 |
464 | loadFrame(index);
465 | currentFrame = index;
466 | }
467 |
468 | void ofxImageSequence::setFrameForTime(float time)
469 | {
470 | float totalTime = sequence.size() / frameRate;
471 | float percent = time / totalTime;
472 | return setFrameAtPercent(percent);
473 | }
474 |
475 | void ofxImageSequence::setFrameAtPercent(float percent)
476 | {
477 | setFrame(getFrameIndexAtPercent(percent));
478 | }
479 |
480 | ofTexture& ofxImageSequence::getTexture()
481 | {
482 | return texture;
483 | }
484 |
485 | const ofTexture& ofxImageSequence::getTexture() const
486 | {
487 | return texture;
488 | }
489 |
490 | float ofxImageSequence::getLengthInSeconds()
491 | {
492 | return getTotalFrames() / frameRate;
493 | }
494 |
495 | int ofxImageSequence::getTotalFrames()
496 | {
497 | return sequence.size();
498 | }
499 |
500 | bool ofxImageSequence::isLoaded(){ //returns true if the sequence has been loaded
501 | return loaded;
502 | }
503 |
504 | bool ofxImageSequence::isLoading(){
505 | return threadLoader != NULL && threadLoader->loading;
506 | }
507 |
--------------------------------------------------------------------------------
/example/imageSequence.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 42;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; };
11 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; };
12 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; };
13 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; };
14 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; };
15 | E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; };
16 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; };
17 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; };
18 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; };
19 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; };
20 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; };
21 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; };
22 | E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */; };
23 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; };
24 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; };
25 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; };
26 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; };
27 | E7F2793F13DA718A00827148 /* ofxImageSequence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E7F2793D13DA718A00827148 /* ofxImageSequence.cpp */; };
28 | /* End PBXBuildFile section */
29 |
30 | /* Begin PBXContainerItemProxy section */
31 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = {
32 | isa = PBXContainerItemProxy;
33 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
34 | proxyType = 2;
35 | remoteGlobalIDString = E4B27C1510CBEB8E00536013;
36 | remoteInfo = openFrameworks;
37 | };
38 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = {
39 | isa = PBXContainerItemProxy;
40 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
41 | proxyType = 1;
42 | remoteGlobalIDString = E4B27C1410CBEB8E00536013;
43 | remoteInfo = openFrameworks;
44 | };
45 | /* End PBXContainerItemProxy section */
46 |
47 | /* Begin PBXCopyFilesBuildPhase section */
48 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = {
49 | isa = PBXCopyFilesBuildPhase;
50 | buildActionMask = 2147483647;
51 | dstPath = "";
52 | dstSubfolderSpec = 10;
53 | files = (
54 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */,
55 | );
56 | runOnlyForDeploymentPostprocessing = 0;
57 | };
58 | /* End PBXCopyFilesBuildPhase section */
59 |
60 | /* Begin PBXFileReference section */
61 | BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; };
62 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; };
63 | E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; };
64 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; };
65 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; };
66 | E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; };
67 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; };
68 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; };
69 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; };
70 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; };
71 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; };
72 | E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = emptyExampleDebug.app; sourceTree = BUILT_PRODUCTS_DIR; };
73 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; };
74 | E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; };
75 | E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; };
76 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; };
77 | E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; };
78 | E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; };
79 | E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; };
80 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; };
81 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; };
82 | E7F2793D13DA718A00827148 /* ofxImageSequence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxImageSequence.cpp; sourceTree = ""; };
83 | E7F2793E13DA718A00827148 /* ofxImageSequence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxImageSequence.h; sourceTree = ""; };
84 | /* End PBXFileReference section */
85 |
86 | /* Begin PBXFrameworksBuildPhase section */
87 | E4B69B590A3A1756003C02F2 /* Frameworks */ = {
88 | isa = PBXFrameworksBuildPhase;
89 | buildActionMask = 2147483647;
90 | files = (
91 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */,
92 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */,
93 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */,
94 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */,
95 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */,
96 | E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */,
97 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */,
98 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */,
99 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */,
100 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */,
101 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */,
102 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */,
103 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */,
104 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */,
105 | );
106 | runOnlyForDeploymentPostprocessing = 0;
107 | };
108 | /* End PBXFrameworksBuildPhase section */
109 |
110 | /* Begin PBXGroup section */
111 | BB4B014C10F69532006C3DED /* addons */ = {
112 | isa = PBXGroup;
113 | children = (
114 | E7F2793B13DA717A00827148 /* ofxImageSequence */,
115 | );
116 | name = addons;
117 | sourceTree = "";
118 | };
119 | BBAB23C913894ECA00AA2426 /* system frameworks */ = {
120 | isa = PBXGroup;
121 | children = (
122 | E4C2424410CC5A17004149E2 /* AppKit.framework */,
123 | E4C2424510CC5A17004149E2 /* Cocoa.framework */,
124 | E4C2424610CC5A17004149E2 /* IOKit.framework */,
125 | E45BE9710E8CC7DD009D7055 /* AGL.framework */,
126 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */,
127 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */,
128 | E45BE9740E8CC7DD009D7055 /* Carbon.framework */,
129 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */,
130 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */,
131 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */,
132 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */,
133 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */,
134 | );
135 | name = "system frameworks";
136 | sourceTree = "";
137 | };
138 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = {
139 | isa = PBXGroup;
140 | children = (
141 | BBAB23BE13894E4700AA2426 /* GLUT.framework */,
142 | );
143 | name = "3rd party frameworks";
144 | sourceTree = "";
145 | };
146 | E4328144138ABC890047C5CB /* Products */ = {
147 | isa = PBXGroup;
148 | children = (
149 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */,
150 | );
151 | name = Products;
152 | sourceTree = "";
153 | };
154 | E45BE5980E8CC70C009D7055 /* frameworks */ = {
155 | isa = PBXGroup;
156 | children = (
157 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */,
158 | BBAB23C913894ECA00AA2426 /* system frameworks */,
159 | );
160 | name = frameworks;
161 | sourceTree = "";
162 | };
163 | E4B69B4A0A3A1720003C02F2 = {
164 | isa = PBXGroup;
165 | children = (
166 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */,
167 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */,
168 | E4B69E1C0A3A1BDC003C02F2 /* src */,
169 | E4EEC9E9138DF44700A80321 /* openFrameworks */,
170 | BB4B014C10F69532006C3DED /* addons */,
171 | E45BE5980E8CC70C009D7055 /* frameworks */,
172 | E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */,
173 | );
174 | sourceTree = "";
175 | };
176 | E4B69E1C0A3A1BDC003C02F2 /* src */ = {
177 | isa = PBXGroup;
178 | children = (
179 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */,
180 | E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */,
181 | E4B69E1F0A3A1BDC003C02F2 /* testApp.h */,
182 | );
183 | path = src;
184 | sourceTree = SOURCE_ROOT;
185 | };
186 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = {
187 | isa = PBXGroup;
188 | children = (
189 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */,
190 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */,
191 | );
192 | name = openFrameworks;
193 | sourceTree = "";
194 | };
195 | E7F2793B13DA717A00827148 /* ofxImageSequence */ = {
196 | isa = PBXGroup;
197 | children = (
198 | E7F2793C13DA718A00827148 /* src */,
199 | );
200 | name = ofxImageSequence;
201 | path = src;
202 | sourceTree = "";
203 | };
204 | E7F2793C13DA718A00827148 /* src */ = {
205 | isa = PBXGroup;
206 | children = (
207 | E7F2793E13DA718A00827148 /* ofxImageSequence.h */,
208 | E7F2793D13DA718A00827148 /* ofxImageSequence.cpp */,
209 | );
210 | name = src;
211 | path = ../src;
212 | sourceTree = SOURCE_ROOT;
213 | };
214 | /* End PBXGroup section */
215 |
216 | /* Begin PBXNativeTarget section */
217 | E4B69B5A0A3A1756003C02F2 /* emptyExample */ = {
218 | isa = PBXNativeTarget;
219 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "emptyExample" */;
220 | buildPhases = (
221 | E4B69B580A3A1756003C02F2 /* Sources */,
222 | E4B69B590A3A1756003C02F2 /* Frameworks */,
223 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */,
224 | E4C2427710CC5ABF004149E2 /* CopyFiles */,
225 | );
226 | buildRules = (
227 | );
228 | dependencies = (
229 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */,
230 | );
231 | name = emptyExample;
232 | productName = myOFApp;
233 | productReference = E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */;
234 | productType = "com.apple.product-type.application";
235 | };
236 | /* End PBXNativeTarget section */
237 |
238 | /* Begin PBXProject section */
239 | E4B69B4C0A3A1720003C02F2 /* Project object */ = {
240 | isa = PBXProject;
241 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "imageSequence" */;
242 | compatibilityVersion = "Xcode 2.4";
243 | hasScannedForEncodings = 0;
244 | knownRegions = (
245 | English,
246 | Japanese,
247 | French,
248 | German,
249 | );
250 | mainGroup = E4B69B4A0A3A1720003C02F2;
251 | productRefGroup = E4B69B4A0A3A1720003C02F2;
252 | projectDirPath = "";
253 | projectReferences = (
254 | {
255 | ProductGroup = E4328144138ABC890047C5CB /* Products */;
256 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
257 | },
258 | );
259 | projectRoot = "";
260 | targets = (
261 | E4B69B5A0A3A1756003C02F2 /* emptyExample */,
262 | );
263 | };
264 | /* End PBXProject section */
265 |
266 | /* Begin PBXReferenceProxy section */
267 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = {
268 | isa = PBXReferenceProxy;
269 | fileType = archive.ar;
270 | path = openFrameworksDebug.a;
271 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */;
272 | sourceTree = BUILT_PRODUCTS_DIR;
273 | };
274 | /* End PBXReferenceProxy section */
275 |
276 | /* Begin PBXShellScriptBuildPhase section */
277 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = {
278 | isa = PBXShellScriptBuildPhase;
279 | buildActionMask = 2147483647;
280 | files = (
281 | );
282 | inputPaths = (
283 | );
284 | outputPaths = (
285 | );
286 | runOnlyForDeploymentPostprocessing = 0;
287 | shellPath = /bin/sh;
288 | shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";";
289 | };
290 | /* End PBXShellScriptBuildPhase section */
291 |
292 | /* Begin PBXSourcesBuildPhase section */
293 | E4B69B580A3A1756003C02F2 /* Sources */ = {
294 | isa = PBXSourcesBuildPhase;
295 | buildActionMask = 2147483647;
296 | files = (
297 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */,
298 | E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */,
299 | E7F2793F13DA718A00827148 /* ofxImageSequence.cpp in Sources */,
300 | );
301 | runOnlyForDeploymentPostprocessing = 0;
302 | };
303 | /* End PBXSourcesBuildPhase section */
304 |
305 | /* Begin PBXTargetDependency section */
306 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = {
307 | isa = PBXTargetDependency;
308 | name = openFrameworks;
309 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */;
310 | };
311 | /* End PBXTargetDependency section */
312 |
313 | /* Begin XCBuildConfiguration section */
314 | E4B69B4E0A3A1720003C02F2 /* Debug */ = {
315 | isa = XCBuildConfiguration;
316 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
317 | buildSettings = {
318 | ARCHS = "$(NATIVE_ARCH)";
319 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
320 | COPY_PHASE_STRIP = NO;
321 | DEAD_CODE_STRIPPING = YES;
322 | GCC_AUTO_VECTORIZATION = YES;
323 | GCC_ENABLE_SSE3_EXTENSIONS = YES;
324 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
325 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
326 | GCC_MODEL_TUNING = G5;
327 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
328 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
329 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
330 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
331 | GCC_WARN_UNINITIALIZED_AUTOS = NO;
332 | GCC_WARN_UNUSED_VALUE = NO;
333 | GCC_WARN_UNUSED_VARIABLE = NO;
334 | OTHER_CPLUSPLUSFLAGS = (
335 | "-D__MACOSX_CORE__",
336 | "-lpthread",
337 | );
338 | };
339 | name = Debug;
340 | };
341 | E4B69B4F0A3A1720003C02F2 /* Release */ = {
342 | isa = XCBuildConfiguration;
343 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
344 | buildSettings = {
345 | ARCHS = "$(NATIVE_ARCH)";
346 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
347 | COPY_PHASE_STRIP = YES;
348 | DEAD_CODE_STRIPPING = YES;
349 | GCC_AUTO_VECTORIZATION = YES;
350 | GCC_ENABLE_SSE3_EXTENSIONS = YES;
351 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
352 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
353 | GCC_MODEL_TUNING = G5;
354 | GCC_OPTIMIZATION_LEVEL = 3;
355 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
356 | GCC_UNROLL_LOOPS = YES;
357 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
358 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
359 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
360 | GCC_WARN_UNINITIALIZED_AUTOS = NO;
361 | GCC_WARN_UNUSED_VALUE = NO;
362 | GCC_WARN_UNUSED_VARIABLE = NO;
363 | OTHER_CPLUSPLUSFLAGS = (
364 | "-D__MACOSX_CORE__",
365 | "-lpthread",
366 | );
367 | };
368 | name = Release;
369 | };
370 | E4B69B600A3A1757003C02F2 /* Debug */ = {
371 | isa = XCBuildConfiguration;
372 | buildSettings = {
373 | COPY_PHASE_STRIP = NO;
374 | FRAMEWORK_SEARCH_PATHS = (
375 | "$(inherited)",
376 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
377 | );
378 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\"";
379 | GCC_DYNAMIC_NO_PIC = NO;
380 | GCC_ENABLE_FIX_AND_CONTINUE = YES;
381 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
382 | GCC_MODEL_TUNING = G4;
383 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
384 | GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
385 | INFOPLIST_FILE = "openFrameworks-Info.plist";
386 | INSTALL_PATH = "$(HOME)/Applications";
387 | LIBRARY_SEARCH_PATHS = (
388 | "$(inherited)",
389 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
390 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
391 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
392 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)",
393 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)",
394 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)",
395 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
396 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
397 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
398 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
399 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
400 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
401 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
402 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)",
403 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)",
404 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
405 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
406 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
407 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
408 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
409 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
410 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
411 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
412 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
413 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)",
414 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)",
415 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)",
416 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)",
417 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)",
418 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)",
419 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)",
420 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)",
421 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)",
422 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)",
423 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)",
424 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)",
425 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)",
426 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)",
427 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)",
428 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)",
429 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)",
430 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)",
431 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)",
432 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)",
433 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)",
434 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)",
435 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)",
436 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)",
437 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)",
438 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)",
439 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)",
440 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)",
441 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)",
442 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)",
443 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)",
444 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)",
445 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)",
446 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)",
447 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)",
448 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)",
449 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)",
450 | );
451 | PREBINDING = NO;
452 | PRODUCT_NAME = "$(TARGET_NAME)Debug";
453 | WRAPPER_EXTENSION = app;
454 | };
455 | name = Debug;
456 | };
457 | E4B69B610A3A1757003C02F2 /* Release */ = {
458 | isa = XCBuildConfiguration;
459 | buildSettings = {
460 | COPY_PHASE_STRIP = YES;
461 | FRAMEWORK_SEARCH_PATHS = (
462 | "$(inherited)",
463 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
464 | );
465 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\"";
466 | GCC_ENABLE_FIX_AND_CONTINUE = NO;
467 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
468 | GCC_MODEL_TUNING = G4;
469 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
470 | GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
471 | INFOPLIST_FILE = "openFrameworks-Info.plist";
472 | INSTALL_PATH = "$(HOME)/Applications";
473 | LIBRARY_SEARCH_PATHS = (
474 | "$(inherited)",
475 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
476 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
477 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
478 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)",
479 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)",
480 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)",
481 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
482 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
483 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
484 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
485 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
486 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
487 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
488 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)",
489 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)",
490 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
491 | "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
492 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
493 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
494 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
495 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
496 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
497 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
498 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
499 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
500 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)",
501 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)",
502 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)",
503 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)",
504 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)",
505 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)",
506 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)",
507 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)",
508 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)",
509 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)",
510 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)",
511 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)",
512 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)",
513 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)",
514 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)",
515 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)",
516 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)",
517 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)",
518 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)",
519 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)",
520 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)",
521 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)",
522 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)",
523 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)",
524 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)",
525 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)",
526 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)",
527 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)",
528 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)",
529 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)",
530 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)",
531 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)",
532 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)",
533 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)",
534 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)",
535 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)",
536 | );
537 | PREBINDING = NO;
538 | PRODUCT_NAME = "$(TARGET_NAME)";
539 | WRAPPER_EXTENSION = app;
540 | };
541 | name = Release;
542 | };
543 | /* End XCBuildConfiguration section */
544 |
545 | /* Begin XCConfigurationList section */
546 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "imageSequence" */ = {
547 | isa = XCConfigurationList;
548 | buildConfigurations = (
549 | E4B69B4E0A3A1720003C02F2 /* Debug */,
550 | E4B69B4F0A3A1720003C02F2 /* Release */,
551 | );
552 | defaultConfigurationIsVisible = 0;
553 | defaultConfigurationName = Release;
554 | };
555 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "emptyExample" */ = {
556 | isa = XCConfigurationList;
557 | buildConfigurations = (
558 | E4B69B600A3A1757003C02F2 /* Debug */,
559 | E4B69B610A3A1757003C02F2 /* Release */,
560 | );
561 | defaultConfigurationIsVisible = 0;
562 | defaultConfigurationName = Release;
563 | };
564 | /* End XCConfigurationList section */
565 | };
566 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */;
567 | }
568 |
--------------------------------------------------------------------------------
/example-threaded/imageSequence.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 42;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; };
11 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; };
12 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; };
13 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; };
14 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; };
15 | E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; };
16 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; };
17 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; };
18 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; };
19 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; };
20 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; };
21 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; };
22 | E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */; };
23 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; };
24 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; };
25 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; };
26 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; };
27 | E7F2793F13DA718A00827148 /* ofxImageSequence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E7F2793D13DA718A00827148 /* ofxImageSequence.cpp */; };
28 | /* End PBXBuildFile section */
29 |
30 | /* Begin PBXContainerItemProxy section */
31 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = {
32 | isa = PBXContainerItemProxy;
33 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
34 | proxyType = 2;
35 | remoteGlobalIDString = E4B27C1510CBEB8E00536013;
36 | remoteInfo = openFrameworks;
37 | };
38 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = {
39 | isa = PBXContainerItemProxy;
40 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
41 | proxyType = 1;
42 | remoteGlobalIDString = E4B27C1410CBEB8E00536013;
43 | remoteInfo = openFrameworks;
44 | };
45 | /* End PBXContainerItemProxy section */
46 |
47 | /* Begin PBXCopyFilesBuildPhase section */
48 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = {
49 | isa = PBXCopyFilesBuildPhase;
50 | buildActionMask = 2147483647;
51 | dstPath = "";
52 | dstSubfolderSpec = 10;
53 | files = (
54 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */,
55 | );
56 | runOnlyForDeploymentPostprocessing = 0;
57 | };
58 | /* End PBXCopyFilesBuildPhase section */
59 |
60 | /* Begin PBXFileReference section */
61 | BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; };
62 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; };
63 | E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; };
64 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; };
65 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; };
66 | E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; };
67 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; };
68 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; };
69 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; };
70 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; };
71 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; };
72 | E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = emptyExampleDebug.app; sourceTree = BUILT_PRODUCTS_DIR; };
73 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; };
74 | E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; };
75 | E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; };
76 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; };
77 | E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; };
78 | E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; };
79 | E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; };
80 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; };
81 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; };
82 | E7F2793D13DA718A00827148 /* ofxImageSequence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxImageSequence.cpp; sourceTree = ""; };
83 | E7F2793E13DA718A00827148 /* ofxImageSequence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxImageSequence.h; sourceTree = ""; };
84 | /* End PBXFileReference section */
85 |
86 | /* Begin PBXFrameworksBuildPhase section */
87 | E4B69B590A3A1756003C02F2 /* Frameworks */ = {
88 | isa = PBXFrameworksBuildPhase;
89 | buildActionMask = 2147483647;
90 | files = (
91 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */,
92 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */,
93 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */,
94 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */,
95 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */,
96 | E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */,
97 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */,
98 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */,
99 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */,
100 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */,
101 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */,
102 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */,
103 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */,
104 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */,
105 | );
106 | runOnlyForDeploymentPostprocessing = 0;
107 | };
108 | /* End PBXFrameworksBuildPhase section */
109 |
110 | /* Begin PBXGroup section */
111 | BB4B014C10F69532006C3DED /* addons */ = {
112 | isa = PBXGroup;
113 | children = (
114 | E7F2793B13DA717A00827148 /* ofxImageSequence */,
115 | );
116 | name = addons;
117 | sourceTree = "";
118 | };
119 | BBAB23C913894ECA00AA2426 /* system frameworks */ = {
120 | isa = PBXGroup;
121 | children = (
122 | E4C2424410CC5A17004149E2 /* AppKit.framework */,
123 | E4C2424510CC5A17004149E2 /* Cocoa.framework */,
124 | E4C2424610CC5A17004149E2 /* IOKit.framework */,
125 | E45BE9710E8CC7DD009D7055 /* AGL.framework */,
126 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */,
127 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */,
128 | E45BE9740E8CC7DD009D7055 /* Carbon.framework */,
129 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */,
130 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */,
131 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */,
132 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */,
133 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */,
134 | );
135 | name = "system frameworks";
136 | sourceTree = "";
137 | };
138 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = {
139 | isa = PBXGroup;
140 | children = (
141 | BBAB23BE13894E4700AA2426 /* GLUT.framework */,
142 | );
143 | name = "3rd party frameworks";
144 | sourceTree = "";
145 | };
146 | E4328144138ABC890047C5CB /* Products */ = {
147 | isa = PBXGroup;
148 | children = (
149 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */,
150 | );
151 | name = Products;
152 | sourceTree = "";
153 | };
154 | E45BE5980E8CC70C009D7055 /* frameworks */ = {
155 | isa = PBXGroup;
156 | children = (
157 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */,
158 | BBAB23C913894ECA00AA2426 /* system frameworks */,
159 | );
160 | name = frameworks;
161 | sourceTree = "";
162 | };
163 | E4B69B4A0A3A1720003C02F2 = {
164 | isa = PBXGroup;
165 | children = (
166 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */,
167 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */,
168 | E4B69E1C0A3A1BDC003C02F2 /* src */,
169 | E4EEC9E9138DF44700A80321 /* openFrameworks */,
170 | BB4B014C10F69532006C3DED /* addons */,
171 | E45BE5980E8CC70C009D7055 /* frameworks */,
172 | E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */,
173 | );
174 | sourceTree = "";
175 | };
176 | E4B69E1C0A3A1BDC003C02F2 /* src */ = {
177 | isa = PBXGroup;
178 | children = (
179 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */,
180 | E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */,
181 | E4B69E1F0A3A1BDC003C02F2 /* testApp.h */,
182 | );
183 | path = src;
184 | sourceTree = SOURCE_ROOT;
185 | };
186 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = {
187 | isa = PBXGroup;
188 | children = (
189 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */,
190 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */,
191 | );
192 | name = openFrameworks;
193 | sourceTree = "";
194 | };
195 | E7F2793B13DA717A00827148 /* ofxImageSequence */ = {
196 | isa = PBXGroup;
197 | children = (
198 | E7F2793C13DA718A00827148 /* src */,
199 | );
200 | name = ofxImageSequence;
201 | path = src;
202 | sourceTree = "";
203 | };
204 | E7F2793C13DA718A00827148 /* src */ = {
205 | isa = PBXGroup;
206 | children = (
207 | E7F2793E13DA718A00827148 /* ofxImageSequence.h */,
208 | E7F2793D13DA718A00827148 /* ofxImageSequence.cpp */,
209 | );
210 | name = src;
211 | path = ../src;
212 | sourceTree = SOURCE_ROOT;
213 | };
214 | /* End PBXGroup section */
215 |
216 | /* Begin PBXNativeTarget section */
217 | E4B69B5A0A3A1756003C02F2 /* emptyExample */ = {
218 | isa = PBXNativeTarget;
219 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "emptyExample" */;
220 | buildPhases = (
221 | E4B69B580A3A1756003C02F2 /* Sources */,
222 | E4B69B590A3A1756003C02F2 /* Frameworks */,
223 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */,
224 | E4C2427710CC5ABF004149E2 /* CopyFiles */,
225 | );
226 | buildRules = (
227 | );
228 | dependencies = (
229 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */,
230 | );
231 | name = emptyExample;
232 | productName = myOFApp;
233 | productReference = E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */;
234 | productType = "com.apple.product-type.application";
235 | };
236 | /* End PBXNativeTarget section */
237 |
238 | /* Begin PBXProject section */
239 | E4B69B4C0A3A1720003C02F2 /* Project object */ = {
240 | isa = PBXProject;
241 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "imageSequence" */;
242 | compatibilityVersion = "Xcode 2.4";
243 | hasScannedForEncodings = 0;
244 | knownRegions = (
245 | English,
246 | Japanese,
247 | French,
248 | German,
249 | );
250 | mainGroup = E4B69B4A0A3A1720003C02F2;
251 | productRefGroup = E4B69B4A0A3A1720003C02F2;
252 | projectDirPath = "";
253 | projectReferences = (
254 | {
255 | ProductGroup = E4328144138ABC890047C5CB /* Products */;
256 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
257 | },
258 | );
259 | projectRoot = "";
260 | targets = (
261 | E4B69B5A0A3A1756003C02F2 /* emptyExample */,
262 | );
263 | };
264 | /* End PBXProject section */
265 |
266 | /* Begin PBXReferenceProxy section */
267 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = {
268 | isa = PBXReferenceProxy;
269 | fileType = archive.ar;
270 | path = openFrameworksDebug.a;
271 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */;
272 | sourceTree = BUILT_PRODUCTS_DIR;
273 | };
274 | /* End PBXReferenceProxy section */
275 |
276 | /* Begin PBXShellScriptBuildPhase section */
277 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = {
278 | isa = PBXShellScriptBuildPhase;
279 | buildActionMask = 2147483647;
280 | files = (
281 | );
282 | inputPaths = (
283 | );
284 | outputPaths = (
285 | );
286 | runOnlyForDeploymentPostprocessing = 0;
287 | shellPath = /bin/sh;
288 | shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";";
289 | };
290 | /* End PBXShellScriptBuildPhase section */
291 |
292 | /* Begin PBXSourcesBuildPhase section */
293 | E4B69B580A3A1756003C02F2 /* Sources */ = {
294 | isa = PBXSourcesBuildPhase;
295 | buildActionMask = 2147483647;
296 | files = (
297 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */,
298 | E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */,
299 | E7F2793F13DA718A00827148 /* ofxImageSequence.cpp in Sources */,
300 | );
301 | runOnlyForDeploymentPostprocessing = 0;
302 | };
303 | /* End PBXSourcesBuildPhase section */
304 |
305 | /* Begin PBXTargetDependency section */
306 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = {
307 | isa = PBXTargetDependency;
308 | name = openFrameworks;
309 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */;
310 | };
311 | /* End PBXTargetDependency section */
312 |
313 | /* Begin XCBuildConfiguration section */
314 | E4B69B4E0A3A1720003C02F2 /* Debug */ = {
315 | isa = XCBuildConfiguration;
316 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
317 | buildSettings = {
318 | ARCHS = "$(NATIVE_ARCH)";
319 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
320 | COPY_PHASE_STRIP = NO;
321 | DEAD_CODE_STRIPPING = YES;
322 | GCC_AUTO_VECTORIZATION = YES;
323 | GCC_ENABLE_SSE3_EXTENSIONS = YES;
324 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
325 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
326 | GCC_MODEL_TUNING = G5;
327 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
328 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
329 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
330 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
331 | GCC_WARN_UNINITIALIZED_AUTOS = NO;
332 | GCC_WARN_UNUSED_VALUE = NO;
333 | GCC_WARN_UNUSED_VARIABLE = NO;
334 | OTHER_CPLUSPLUSFLAGS = (
335 | "-D__MACOSX_CORE__",
336 | "-lpthread",
337 | );
338 | };
339 | name = Debug;
340 | };
341 | E4B69B4F0A3A1720003C02F2 /* Release */ = {
342 | isa = XCBuildConfiguration;
343 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
344 | buildSettings = {
345 | ARCHS = "$(NATIVE_ARCH)";
346 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
347 | COPY_PHASE_STRIP = YES;
348 | DEAD_CODE_STRIPPING = YES;
349 | GCC_AUTO_VECTORIZATION = YES;
350 | GCC_ENABLE_SSE3_EXTENSIONS = YES;
351 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
352 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
353 | GCC_MODEL_TUNING = G5;
354 | GCC_OPTIMIZATION_LEVEL = 3;
355 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
356 | GCC_UNROLL_LOOPS = YES;
357 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
358 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
359 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
360 | GCC_WARN_UNINITIALIZED_AUTOS = NO;
361 | GCC_WARN_UNUSED_VALUE = NO;
362 | GCC_WARN_UNUSED_VARIABLE = NO;
363 | OTHER_CPLUSPLUSFLAGS = (
364 | "-D__MACOSX_CORE__",
365 | "-lpthread",
366 | );
367 | };
368 | name = Release;
369 | };
370 | E4B69B600A3A1757003C02F2 /* Debug */ = {
371 | isa = XCBuildConfiguration;
372 | buildSettings = {
373 | COPY_PHASE_STRIP = NO;
374 | FRAMEWORK_SEARCH_PATHS = (
375 | "$(inherited)",
376 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
377 | );
378 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\"";
379 | GCC_DYNAMIC_NO_PIC = NO;
380 | GCC_ENABLE_FIX_AND_CONTINUE = YES;
381 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
382 | GCC_MODEL_TUNING = G4;
383 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
384 | GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
385 | INFOPLIST_FILE = "openFrameworks-Info.plist";
386 | INSTALL_PATH = "$(HOME)/Applications";
387 | LIBRARY_SEARCH_PATHS = (
388 | "$(inherited)",
389 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
390 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
391 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
392 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)",
393 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)",
394 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)",
395 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
396 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
397 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
398 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
399 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
400 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
401 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
402 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)",
403 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)",
404 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
405 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
406 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
407 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
408 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
409 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
410 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
411 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
412 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
413 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)",
414 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)",
415 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)",
416 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)",
417 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)",
418 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)",
419 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)",
420 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)",
421 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)",
422 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)",
423 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)",
424 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)",
425 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)",
426 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)",
427 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)",
428 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)",
429 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)",
430 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)",
431 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)",
432 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)",
433 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)",
434 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)",
435 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)",
436 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)",
437 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)",
438 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)",
439 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)",
440 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)",
441 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)",
442 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)",
443 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)",
444 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)",
445 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)",
446 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)",
447 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)",
448 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)",
449 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)",
450 | );
451 | PREBINDING = NO;
452 | PRODUCT_NAME = "$(TARGET_NAME)Debug";
453 | WRAPPER_EXTENSION = app;
454 | };
455 | name = Debug;
456 | };
457 | E4B69B610A3A1757003C02F2 /* Release */ = {
458 | isa = XCBuildConfiguration;
459 | buildSettings = {
460 | COPY_PHASE_STRIP = YES;
461 | FRAMEWORK_SEARCH_PATHS = (
462 | "$(inherited)",
463 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
464 | );
465 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\"";
466 | GCC_ENABLE_FIX_AND_CONTINUE = NO;
467 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
468 | GCC_MODEL_TUNING = G4;
469 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
470 | GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
471 | INFOPLIST_FILE = "openFrameworks-Info.plist";
472 | INSTALL_PATH = "$(HOME)/Applications";
473 | LIBRARY_SEARCH_PATHS = (
474 | "$(inherited)",
475 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
476 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
477 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
478 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)",
479 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)",
480 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)",
481 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
482 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
483 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
484 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
485 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
486 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
487 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
488 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)",
489 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)",
490 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
491 | "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
492 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
493 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
494 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
495 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
496 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
497 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
498 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
499 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
500 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)",
501 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)",
502 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)",
503 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)",
504 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)",
505 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)",
506 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)",
507 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)",
508 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)",
509 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)",
510 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)",
511 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)",
512 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)",
513 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)",
514 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)",
515 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)",
516 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)",
517 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)",
518 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)",
519 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)",
520 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)",
521 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)",
522 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)",
523 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)",
524 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)",
525 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)",
526 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)",
527 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)",
528 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)",
529 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)",
530 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)",
531 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)",
532 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)",
533 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)",
534 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)",
535 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)",
536 | );
537 | PREBINDING = NO;
538 | PRODUCT_NAME = "$(TARGET_NAME)";
539 | WRAPPER_EXTENSION = app;
540 | };
541 | name = Release;
542 | };
543 | /* End XCBuildConfiguration section */
544 |
545 | /* Begin XCConfigurationList section */
546 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "imageSequence" */ = {
547 | isa = XCConfigurationList;
548 | buildConfigurations = (
549 | E4B69B4E0A3A1720003C02F2 /* Debug */,
550 | E4B69B4F0A3A1720003C02F2 /* Release */,
551 | );
552 | defaultConfigurationIsVisible = 0;
553 | defaultConfigurationName = Release;
554 | };
555 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "emptyExample" */ = {
556 | isa = XCConfigurationList;
557 | buildConfigurations = (
558 | E4B69B600A3A1757003C02F2 /* Debug */,
559 | E4B69B610A3A1757003C02F2 /* Release */,
560 | );
561 | defaultConfigurationIsVisible = 0;
562 | defaultConfigurationName = Release;
563 | };
564 | /* End XCConfigurationList section */
565 | };
566 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */;
567 | }
568 |
--------------------------------------------------------------------------------