diff -Nru duration-0.0.4/addons/ofxFTGL/README.md duration-0.0.3/addons/ofxFTGL/README.md --- duration-0.0.4/addons/ofxFTGL/README.md 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/README.md 2012-09-11 07:28:39.000000000 +0000 @@ -2,6 +2,4 @@ Originally by Rick Companje. -example and binary builds by obviousjim - -ofxFTGLSimpleLayout and example added by Stefan Wagner (andsynchrony) \ No newline at end of file +example and binary builds by obviousjim \ No newline at end of file diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBBox.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBBox.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBBox.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBBox.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,180 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTBBox__ -#define __FTBBox__ - -#ifdef __cplusplus - - -/** - * FTBBox is a convenience class for handling bounding boxes. - */ -class FTGL_EXPORT FTBBox -{ - public: - /** - * Default constructor. Bounding box is set to zero. - */ - FTBBox() - : lower(0.0f, 0.0f, 0.0f), - upper(0.0f, 0.0f, 0.0f) - {} - - /** - * Constructor. - */ - FTBBox(float lx, float ly, float lz, float ux, float uy, float uz) - : lower(lx, ly, lz), - upper(ux, uy, uz) - {} - - /** - * Constructor. - */ - FTBBox(FTPoint l, FTPoint u) - : lower(l), - upper(u) - {} - - /** - * Constructor. Extracts a bounding box from a freetype glyph. Uses - * the control box for the glyph. FT_Glyph_Get_CBox() - * - * @param glyph A freetype glyph - */ - FTBBox(FT_GlyphSlot glyph) - : lower(0.0f, 0.0f, 0.0f), - upper(0.0f, 0.0f, 0.0f) - { - FT_BBox bbox; - FT_Outline_Get_CBox(&(glyph->outline), &bbox); - - lower.X(static_cast(bbox.xMin) / 64.0f); - lower.Y(static_cast(bbox.yMin) / 64.0f); - lower.Z(0.0f); - upper.X(static_cast(bbox.xMax) / 64.0f); - upper.Y(static_cast(bbox.yMax) / 64.0f); - upper.Z(0.0f); - } - - /** - * Destructor - */ - ~FTBBox() - {} - - /** - * Mark the bounds invalid by setting all lower dimensions greater - * than the upper dimensions. - */ - void Invalidate() - { - lower = FTPoint(1.0f, 1.0f, 1.0f); - upper = FTPoint(-1.0f, -1.0f, -1.0f); - } - - /** - * Determines if this bounding box is valid. - * - * @return True if all lower values are <= the corresponding - * upper values. - */ - bool IsValid() - { - return lower.X() <= upper.X() - && lower.Y() <= upper.Y() - && lower.Z() <= upper.Z(); - } - - /** - * Move the Bounding Box by a vector. - * - * @param vector The vector to move the bbox in 3D space. - */ - FTBBox& operator += (const FTPoint vector) - { - lower += vector; - upper += vector; - - return *this; - } - - /** - * Combine two bounding boxes. The result is the smallest bounding - * box containing the two original boxes. - * - * @param bbox The bounding box to merge with the second one. - */ - FTBBox& operator |= (const FTBBox& bbox) - { - if(bbox.lower.X() < lower.X()) lower.X(bbox.lower.X()); - if(bbox.lower.Y() < lower.Y()) lower.Y(bbox.lower.Y()); - if(bbox.lower.Z() < lower.Z()) lower.Z(bbox.lower.Z()); - if(bbox.upper.X() > upper.X()) upper.X(bbox.upper.X()); - if(bbox.upper.Y() > upper.Y()) upper.Y(bbox.upper.Y()); - if(bbox.upper.Z() > upper.Z()) upper.Z(bbox.upper.Z()); - - return *this; - } - - void SetDepth(float depth) - { - if(depth > 0) - upper.Z(lower.Z() + depth); - else - lower.Z(upper.Z() + depth); - } - - - inline FTPoint const Upper() const - { - return upper; - } - - - inline FTPoint const Lower() const - { - return lower; - } - - private: - /** - * The bounds of the box - */ - FTPoint lower, upper; -}; - -#endif //__cplusplus - -#endif // __FTBBox__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBitmapGlyph.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBitmapGlyph.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBitmapGlyph.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBitmapGlyph.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,82 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTBitmapGlyph__ -#define __FTBitmapGlyph__ - -#ifdef __cplusplus - - -/** - * FTBitmapGlyph is a specialisation of FTGlyph for creating bitmaps. - */ -class FTGL_EXPORT FTBitmapGlyph : public FTGlyph -{ - public: - /** - * Constructor - * - * @param glyph The Freetype glyph to be processed - */ - FTBitmapGlyph(FT_GlyphSlot glyph); - - /** - * Destructor - */ - virtual ~FTBitmapGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialisation of FTGLglyph for creating bitmaps. - * - * @param glyph The Freetype glyph to be processed - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreateBitmapGlyph(FT_GlyphSlot glyph); - -FTGL_END_C_DECLS - -#endif // __FTBitmapGlyph__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBuffer.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBuffer.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBuffer.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBuffer.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,127 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2008 Sam Hocevar - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning Please use instead of . -# include -#endif - -#ifndef __FTBuffer__ -#define __FTBuffer__ - -#ifdef __cplusplus - -/** - * FTBuffer is a helper class for pixel buffers. - * - * It provides the interface between FTBufferFont and FTBufferGlyph to - * optimise rendering operations. - * - * @see FTBufferGlyph - * @see FTBufferFont - */ -class FTGL_EXPORT FTBuffer -{ - public: - /** - * Default constructor. - */ - FTBuffer(); - - /** - * Destructor - */ - ~FTBuffer(); - - /** - * Get the pen's position in the buffer. - * - * @return The pen's position as an FTPoint object. - */ - inline FTPoint Pos() const - { - return pos; - } - - /** - * Set the pen's position in the buffer. - * - * @param arg An FTPoint object with the desired pen's position. - */ - inline void Pos(FTPoint arg) - { - pos = arg; - } - - /** - * Set the buffer's size. - * - * @param w The buffer's desired width, in pixels. - * @param h The buffer's desired height, in pixels. - */ - void Size(int w, int h); - - /** - * Get the buffer's width. - * - * @return The buffer's width, in pixels. - */ - inline int Width() const { return width; } - - /** - * Get the buffer's height. - * - * @return The buffer's height, in pixels. - */ - inline int Height() const { return height; } - - /** - * Get the buffer's direct pixel buffer. - * - * @return A read-write pointer to the buffer's pixels. - */ - inline unsigned char *Pixels() const { return pixels; } - - private: - /** - * Buffer's width and height. - */ - int width, height; - - /** - * Buffer's pixel buffer. - */ - unsigned char *pixels; - - /** - * Buffer's internal pen position. - */ - FTPoint pos; -}; - -#endif //__cplusplus - -#endif // __FTBuffer__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBufferFont.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBufferFont.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBufferFont.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBufferFont.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,99 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2008 Sam Hocevar - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning Please use instead of . -# include -#endif - -#ifndef __FTBufferFont__ -#define __FTBufferFont__ - -#ifdef __cplusplus - - -/** - * FTBufferFont is a specialisation of the FTFont class for handling - * memory buffer fonts. - * - * @see FTFont - */ -class FTGL_EXPORT FTBufferFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTBufferFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTBufferFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - ~FTBufferFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling memory buffer fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - */ -FTGL_EXPORT FTGLfont *ftglCreateBufferFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTBufferFont__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBufferGlyph.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBufferGlyph.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBufferGlyph.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTBufferGlyph.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,69 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2008 Sam Hocevar - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning Please use instead of . -# include -#endif - -#ifndef __FTBufferGlyph__ -#define __FTBufferGlyph__ - -#ifdef __cplusplus - - -/** - * FTBufferGlyph is a specialisation of FTGlyph for memory buffer rendering. - */ -class FTGL_EXPORT FTBufferGlyph : public FTGlyph -{ - public: - /** - * Constructor - * - * @param glyph The Freetype glyph to be processed - * @param buffer An FTBuffer object in which to render the glyph. - */ - FTBufferGlyph(FT_GlyphSlot glyph, FTBuffer *buffer); - - /** - * Destructor - */ - virtual ~FTBufferGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#endif //__cplusplus - -#endif // __FTBufferGlyph__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTExtrdGlyph.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTExtrdGlyph.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTExtrdGlyph.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTExtrdGlyph.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,104 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTExtrudeGlyph__ -#define __FTExtrudeGlyph__ - -#ifdef __cplusplus - - -/** - * FTExtrudeGlyph is a specialisation of FTGlyph for creating tessellated - * extruded polygon glyphs. - */ -class FTGL_EXPORT FTExtrudeGlyph : public FTGlyph -{ - public: - /** - * Constructor. Sets the Error to Invalid_Outline if the glyph isn't - * an outline. - * - * @param glyph The Freetype glyph to be processed - * @param depth The distance along the z axis to extrude the glyph - * @param frontOutset outset contour size - * @param backOutset outset contour size - * @param useDisplayList Enable or disable the use of Display Lists - * for this glyph - * true turns ON display lists. - * false turns OFF display lists. - */ - FTExtrudeGlyph(FT_GlyphSlot glyph, float depth, float frontOutset, - float backOutset, bool useDisplayList); - - /** - * Destructor - */ - virtual ~FTExtrudeGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#define FTExtrdGlyph FTExtrudeGlyph - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialisation of FTGLglyph for creating tessellated - * extruded polygon glyphs. - * - * @param glyph The Freetype glyph to be processed - * @param depth The distance along the z axis to extrude the glyph - * @param frontOutset outset contour size - * @param backOutset outset contour size - * @param useDisplayList Enable or disable the use of Display Lists - * for this glyph - * true turns ON display lists. - * false turns OFF display lists. - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreateExtrudeGlyph(FT_GlyphSlot glyph, float depth, - float frontOutset, float backOutset, - int useDisplayList); - -FTGL_END_C_DECLS - -#endif // __FTExtrudeGlyph__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTFont.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTFont.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTFont.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTFont.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,584 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTFont__ -#define __FTFont__ - -#ifdef __cplusplus - -class FTFontImpl; - -/** - * FTFont is the public interface for the FTGL library. - * - * Specific font classes are derived from this class. It uses the helper - * classes FTFace and FTSize to access the Freetype library. This class - * is abstract and deriving classes must implement the protected - * MakeGlyph function to create glyphs of the - * appropriate type. - * - * It is good practice after using these functions to test the error - * code returned. FT_Error Error(). Check the freetype file - * fterrdef.h for error definitions. - * - * @see FTFace - * @see FTSize - */ -class FTGL_EXPORT FTFont -{ - protected: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTFont(char const *fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTFont(const unsigned char *pBufferBytes, size_t bufferSizeInBytes); - - private: - /* Allow our internal subclasses to access the private constructor */ - friend class FTBitmapFont; - friend class FTBufferFont; - friend class FTExtrudeFont; - friend class FTOutlineFont; - friend class FTPixmapFont; - friend class FTPolygonFont; - friend class FTTextureFont; - - /** - * Internal FTGL FTFont constructor. For private use only. - * - * @param pImpl Internal implementation object. Will be destroyed - * upon FTFont deletion. - */ - FTFont(FTFontImpl *pImpl); - - public: - virtual ~FTFont(); - - /** - * Attach auxilliary file to font e.g font metrics. - * - * Note: not all font formats implement this function. - * - * @param fontFilePath auxilliary font file path. - * @return true if file has been attached - * successfully. - */ - virtual bool Attach(const char* fontFilePath); - - /** - * Attach auxilliary data to font e.g font metrics, from memory. - * - * Note: not all font formats implement this function. - * - * @param pBufferBytes the in-memory buffer. - * @param bufferSizeInBytes the length of the buffer in bytes. - * @return true if file has been attached - * successfully. - */ - virtual bool Attach(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Set the glyph loading flags. By default, fonts use the most - * sensible flags when loading a font's glyph using FT_Load_Glyph(). - * This function allows to override the default flags. - * - * @param flags The glyph loading flags. - */ - virtual void GlyphLoadFlags(FT_Int flags); - - /** - * Set the character map for the face. - * - * @param encoding Freetype enumerate for char map code. - * @return true if charmap was valid and - * set correctly. - */ - virtual bool CharMap(FT_Encoding encoding); - - /** - * Get the number of character maps in this face. - * - * @return character map count. - */ - virtual unsigned int CharMapCount() const; - - /** - * Get a list of character maps in this face. - * - * @return pointer to the first encoding. - */ - virtual FT_Encoding* CharMapList(); - - /** - * Set the char size for the current face. - * - * @param size the face size in points (1/72 inch) - * @param res the resolution of the target device. - * @return true if size was set correctly - */ - virtual bool FaceSize(const unsigned int size, - const unsigned int res = 72); - - /** - * Get the current face size in points (1/72 inch). - * - * @return face size - */ - virtual unsigned int FaceSize() const; - - /** - * Set the extrusion distance for the font. Only implemented by - * FTExtrudeFont - * - * @param depth The extrusion distance. - */ - virtual void Depth(float depth); - - /** - * Set the outset distance for the font. Only implemented by - * FTOutlineFont, FTPolygonFont and FTExtrudeFont - * - * @param outset The outset distance. - */ - virtual void Outset(float outset); - - /** - * Set the front and back outset distances for the font. Only - * implemented by FTExtrudeFont - * - * @param front The front outset distance. - * @param back The back outset distance. - */ - virtual void Outset(float front, float back); - - /** - * Enable or disable the use of Display Lists inside FTGL - * - * @param useList true turns ON display lists. - * false turns OFF display lists. - */ - virtual void UseDisplayList(bool useList); - - /** - * Get the global ascender height for the face. - * - * @return Ascender height - */ - virtual float Ascender() const; - - /** - * Gets the global descender height for the face. - * - * @return Descender height - */ - virtual float Descender() const; - - /** - * Gets the line spacing for the font. - * - * @return Line height - */ - virtual float LineHeight() const; - - /** - * Get the bounding box for a string. - * - * @param string A char buffer. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param spacing A displacement vector to add after each character - * has been checked (optional). - * @return The corresponding bounding box. - */ - virtual FTBBox BBox(const char *string, const int len = -1, - FTPoint position = FTPoint(), - FTPoint spacing = FTPoint()); - - /** - * Get the bounding box for a string (deprecated). - * - * @param string A char buffer. - * @param llx Lower left near x coordinate. - * @param lly Lower left near y coordinate. - * @param llz Lower left near z coordinate. - * @param urx Upper right far x coordinate. - * @param ury Upper right far y coordinate. - * @param urz Upper right far z coordinate. - */ - void BBox(const char* string, float& llx, float& lly, float& llz, - float& urx, float& ury, float& urz) - { - FTBBox b = BBox(string); - llx = b.Lower().Xf(); lly = b.Lower().Yf(); llz = b.Lower().Zf(); - urx = b.Upper().Xf(); ury = b.Upper().Yf(); urz = b.Upper().Zf(); - } - - /** - * Get the bounding box for a string. - * - * @param string A wchar_t buffer. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param spacing A displacement vector to add after each character - * has been checked (optional). - * @return The corresponding bounding box. - */ - virtual FTBBox BBox(const wchar_t *string, const int len = -1, - FTPoint position = FTPoint(), - FTPoint spacing = FTPoint()); - - /** - * Get the bounding box for a string (deprecated). - * - * @param string A wchar_t buffer. - * @param llx Lower left near x coordinate. - * @param lly Lower left near y coordinate. - * @param llz Lower left near z coordinate. - * @param urx Upper right far x coordinate. - * @param ury Upper right far y coordinate. - * @param urz Upper right far z coordinate. - */ - void BBox(const wchar_t* string, float& llx, float& lly, float& llz, - float& urx, float& ury, float& urz) - { - FTBBox b = BBox(string); - llx = b.Lower().Xf(); lly = b.Lower().Yf(); llz = b.Lower().Zf(); - urx = b.Upper().Xf(); ury = b.Upper().Yf(); urz = b.Upper().Zf(); - } - - /** - * Get the advance for a string. - * - * @param string 'C' style string to be checked. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param spacing A displacement vector to add after each character - * has been checked (optional). - * @return The string's advance width. - */ - virtual float Advance(const char* string, const int len = -1, - FTPoint spacing = FTPoint()); - - /** - * Get the advance for a string. - * - * @param string A wchar_t string - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param spacing A displacement vector to add after each character - * has been checked (optional). - * @return The string's advance width. - */ - virtual float Advance(const wchar_t* string, const int len = -1, - FTPoint spacing = FTPoint()); - - /** - * Render a string of characters. - * - * @param string 'C' style string to be output. - * @param len The length of the string. If < 0 then all characters - * will be displayed until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param spacing A displacement vector to add after each character - * has been displayed (optional). - * @param renderMode Render mode to use for display (optional). - * @return The new pen position after the last character was output. - */ - virtual FTPoint Render(const char* string, const int len = -1, - FTPoint position = FTPoint(), - FTPoint spacing = FTPoint(), - int renderMode = FTGL::RENDER_ALL); - - /** - * Render a string of characters - * - * @param string wchar_t string to be output. - * @param len The length of the string. If < 0 then all characters - * will be displayed until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param spacing A displacement vector to add after each character - * has been displayed (optional). - * @param renderMode Render mode to use for display (optional). - * @return The new pen position after the last character was output. - */ - virtual FTPoint Render(const wchar_t *string, const int len = -1, - FTPoint position = FTPoint(), - FTPoint spacing = FTPoint(), - int renderMode = FTGL::RENDER_ALL); - - /** - * Queries the Font for errors. - * - * @return The current error code. - */ - virtual FT_Error Error() const; - - protected: - /* Allow impl to access MakeGlyph */ - friend class FTFontImpl; - - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot) = 0; - - private: - /** - * Internal FTGL FTFont implementation object. For private use only. - */ - FTFontImpl *impl; -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * FTGLfont is the public interface for the FTGL library. - * - * It is good practice after using these functions to test the error - * code returned. FT_Error Error(). Check the freetype file - * fterrdef.h for error definitions. - */ -struct _FTGLFont; -typedef struct _FTGLfont FTGLfont; - -/** - * Create a custom FTGL font object. - * - * @param fontFilePath The font file name. - * @param data A pointer to private data that will be passed to callbacks. - * @param makeglyphCallback A glyph-making callback function. - * @return An FTGLfont* object. - */ -FTGL_EXPORT FTGLfont *ftglCreateCustomFont(char const *fontFilePath, - void *data, - FTGLglyph * (*makeglyphCallback) (FT_GlyphSlot, void *)); - -/** - * Destroy an FTGL font object. - * - * @param font An FTGLfont* object. - */ -FTGL_EXPORT void ftglDestroyFont(FTGLfont* font); - -/** - * Attach auxilliary file to font e.g. font metrics. - * - * Note: not all font formats implement this function. - * - * @param font An FTGLfont* object. - * @param path Auxilliary font file path. - * @return 1 if file has been attached successfully. - */ -FTGL_EXPORT int ftglAttachFile(FTGLfont* font, const char* path); - -/** - * Attach auxilliary data to font, e.g. font metrics, from memory. - * - * Note: not all font formats implement this function. - * - * @param font An FTGLfont* object. - * @param data The in-memory buffer. - * @param size The length of the buffer in bytes. - * @return 1 if file has been attached successfully. - */ -FTGL_EXPORT int ftglAttachData(FTGLfont* font, const unsigned char * data, - size_t size); - -/** - * Set the character map for the face. - * - * @param font An FTGLfont* object. - * @param encoding Freetype enumerate for char map code. - * @return 1 if charmap was valid and set correctly. - */ -FTGL_EXPORT int ftglSetFontCharMap(FTGLfont* font, FT_Encoding encoding); - -/** - * Get the number of character maps in this face. - * - * @param font An FTGLfont* object. - * @return character map count. - */ -FTGL_EXPORT unsigned int ftglGetFontCharMapCount(FTGLfont* font); - -/** - * Get a list of character maps in this face. - * - * @param font An FTGLfont* object. - * @return pointer to the first encoding. - */ -FTGL_EXPORT FT_Encoding* ftglGetFontCharMapList(FTGLfont* font); - -/** - * Set the char size for the current face. - * - * @param font An FTGLfont* object. - * @param size The face size in points (1/72 inch). - * @param res The resolution of the target device, or 0 to use the default - * value of 72. - * @return 1 if size was set correctly. - */ -FTGL_EXPORT int ftglSetFontFaceSize(FTGLfont* font, unsigned int size, - unsigned int res); - -/** - * Get the current face size in points (1/72 inch). - * - * @param font An FTGLfont* object. - * @return face size - */ -FTGL_EXPORT unsigned int ftglGetFontFaceSize(FTGLfont* font); - -/** - * Set the extrusion distance for the font. Only implemented by - * FTExtrudeFont. - * - * @param font An FTGLfont* object. - * @param depth The extrusion distance. - */ -FTGL_EXPORT void ftglSetFontDepth(FTGLfont* font, float depth); - -/** - * Set the outset distance for the font. Only FTOutlineFont, FTPolygonFont - * and FTExtrudeFont implement front outset. Only FTExtrudeFont implements - * back outset. - * - * @param font An FTGLfont* object. - * @param front The front outset distance. - * @param back The back outset distance. - */ -FTGL_EXPORT void ftglSetFontOutset(FTGLfont* font, float front, float back); - -/** - * Enable or disable the use of Display Lists inside FTGL. - * - * @param font An FTGLfont* object. - * @param useList 1 turns ON display lists. - * 0 turns OFF display lists. - */ -FTGL_EXPORT void ftglSetFontDisplayList(FTGLfont* font, int useList); - -/** - * Get the global ascender height for the face. - * - * @param font An FTGLfont* object. - * @return Ascender height - */ -FTGL_EXPORT float ftglGetFontAscender(FTGLfont* font); - -/** - * Gets the global descender height for the face. - * - * @param font An FTGLfont* object. - * @return Descender height - */ -FTGL_EXPORT float ftglGetFontDescender(FTGLfont* font); - -/** - * Gets the line spacing for the font. - * - * @param font An FTGLfont* object. - * @return Line height - */ -FTGL_EXPORT float ftglGetFontLineHeight(FTGLfont* font); - -/** - * Get the bounding box for a string. - * - * @param font An FTGLfont* object. - * @param string A char buffer - * @param len The length of the string. If < 0 then all characters will be - * checked until a null character is encountered (optional). - * @param bounds An array of 6 float values where the bounding box's lower - * left near and upper right far 3D coordinates will be stored. - */ -FTGL_EXPORT void ftglGetFontBBox(FTGLfont* font, const char *string, - int len, float bounds[6]); - -/** - * Get the advance width for a string. - * - * @param font An FTGLfont* object. - * @param string A char string. - * @return Advance width - */ -FTGL_EXPORT float ftglGetFontAdvance(FTGLfont* font, const char *string); - -/** - * Render a string of characters. - * - * @param font An FTGLfont* object. - * @param string Char string to be output. - * @param mode Render mode to display. - */ -FTGL_EXPORT void ftglRenderFont(FTGLfont* font, const char *string, int mode); - -/** - * Query a font for errors. - * - * @param font An FTGLfont* object. - * @return The current error code. - */ -FTGL_EXPORT FT_Error ftglGetFontError(FTGLfont* font); - -FTGL_END_C_DECLS - -#endif // __FTFont__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLBitmapFont.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLBitmapFont.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLBitmapFont.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLBitmapFont.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,103 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTBitmapFont__ -#define __FTBitmapFont__ - -#ifdef __cplusplus - - -/** - * FTBitmapFont is a specialisation of the FTFont class for handling - * Bitmap fonts - * - * @see FTFont - */ -class FTGL_EXPORT FTBitmapFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTBitmapFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTBitmapFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - ~FTBitmapFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#define FTGLBitmapFont FTBitmapFont - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling bitmap fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - */ -FTGL_EXPORT FTGLfont *ftglCreateBitmapFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTBitmapFont__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLExtrdFont.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLExtrdFont.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLExtrdFont.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLExtrdFont.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,105 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTExtrudeFont__ -#define __FTExtrudeFont__ - -#ifdef __cplusplus - - -/** - * FTExtrudeFont is a specialisation of the FTFont class for handling - * extruded Polygon fonts - * - * @see FTFont - * @see FTPolygonFont - */ -class FTGL_EXPORT FTExtrudeFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTExtrudeFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTExtrudeFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - ~FTExtrudeFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#define FTGLExtrdFont FTExtrudeFont - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling extruded poygon fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - * @see ftglCreatePolygonFont - */ -FTGL_EXPORT FTGLfont *ftglCreateExtrudeFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTExtrudeFont__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLOutlineFont.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLOutlineFont.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLOutlineFont.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLOutlineFont.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,103 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTOutlineFont__ -#define __FTOutlineFont__ - -#ifdef __cplusplus - - -/** - * FTOutlineFont is a specialisation of the FTFont class for handling - * Vector Outline fonts - * - * @see FTFont - */ -class FTGL_EXPORT FTOutlineFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTOutlineFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTOutlineFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - ~FTOutlineFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#define FTGLOutlineFont FTOutlineFont - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling vector outline fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - */ -FTGL_EXPORT FTGLfont *ftglCreateOutlineFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTOutlineFont__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLPixmapFont.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLPixmapFont.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLPixmapFont.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLPixmapFont.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,103 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTPixmapFont__ -#define __FTPixmapFont__ - -#ifdef __cplusplus - - -/** - * FTPixmapFont is a specialisation of the FTFont class for handling - * Pixmap (Grey Scale) fonts - * - * @see FTFont - */ -class FTGL_EXPORT FTPixmapFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTPixmapFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTPixmapFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - ~FTPixmapFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#define FTGLPixmapFont FTPixmapFont - -#endif // __cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling pixmap (grey scale) fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - */ -FTGL_EXPORT FTGLfont *ftglCreatePixmapFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTPixmapFont__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLPolygonFont.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLPolygonFont.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLPolygonFont.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLPolygonFont.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,104 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTPolygonFont__ -#define __FTPolygonFont__ - -#ifdef __cplusplus - - -/** - * FTPolygonFont is a specialisation of the FTFont class for handling - * tesselated Polygon Mesh fonts - * - * @see FTFont - */ -class FTGL_EXPORT FTPolygonFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTPolygonFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTPolygonFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - ~FTPolygonFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#define FTGLPolygonFont FTPolygonFont - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling tesselated polygon - * mesh fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - */ -FTGL_EXPORT FTGLfont *ftglCreatePolygonFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTPolygonFont__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLTextureFont.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLTextureFont.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLTextureFont.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGLTextureFont.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,103 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTTextureFont__ -#define __FTTextureFont__ - -#ifdef __cplusplus - - -/** - * FTTextureFont is a specialisation of the FTFont class for handling - * Texture mapped fonts - * - * @see FTFont - */ -class FTGL_EXPORT FTTextureFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTTextureFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTTextureFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - virtual ~FTTextureFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#define FTGLTextureFont FTTextureFont - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling texture-mapped fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - */ -FTGL_EXPORT FTGLfont *ftglCreateTextureFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTTextureFont__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGlyph.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGlyph.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGlyph.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTGlyph.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,201 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTGlyph__ -#define __FTGlyph__ - -#ifdef __cplusplus - -class FTGlyphImpl; - -/** - * FTGlyph is the base class for FTGL glyphs. - * - * It provides the interface between Freetype glyphs and their openGL - * renderable counterparts. This is an abstract class and derived classes - * must implement the Render function. - * - * @see FTBBox - * @see FTPoint - */ -class FTGL_EXPORT FTGlyph -{ - protected: - /** - * Create a glyph. - * - * @param glyph The Freetype glyph to be processed - */ - FTGlyph(FT_GlyphSlot glyph); - - private: - /** - * Internal FTGL FTGlyph constructor. For private use only. - * - * @param pImpl Internal implementation object. Will be destroyed - * upon FTGlyph deletion. - */ - FTGlyph(FTGlyphImpl *pImpl); - - /* Allow our internal subclasses to access the private constructor */ - friend class FTBitmapGlyph; - friend class FTBufferGlyph; - friend class FTExtrudeGlyph; - friend class FTOutlineGlyph; - friend class FTPixmapGlyph; - friend class FTPolygonGlyph; - friend class FTTextureGlyph; - - public: - /** - * Destructor - */ - virtual ~FTGlyph(); - - /** - * Renders this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode) = 0; - - /** - * Return the advance width for this glyph. - * - * @return advance width. - */ - virtual float Advance() const; - - /** - * Return the bounding box for this glyph. - * - * @return bounding box. - */ - virtual const FTBBox& BBox() const; - - /** - * Queries for errors. - * - * @return The current error code. - */ - virtual FT_Error Error() const; - - private: - /** - * Internal FTGL FTGlyph implementation object. For private use only. - */ - FTGlyphImpl *impl; -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * FTGLglyph is the base class for FTGL glyphs. - * - * It provides the interface between Freetype glyphs and their openGL - * renderable counterparts. This is an abstract class and derived classes - * must implement the ftglRenderGlyph() function. - */ -struct _FTGLGlyph; -typedef struct _FTGLglyph FTGLglyph; - -/** - * Create a custom FTGL glyph object. - * FIXME: maybe get rid of "base" and have advanceCallback etc. functions - * - * @param base The base FTGLglyph* to subclass. - * @param data A pointer to private data that will be passed to callbacks. - * @param renderCallback A rendering callback function. - * @param destroyCallback A callback function to be called upon destruction. - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreateCustomGlyph(FTGLglyph *base, void *data, - void (*renderCallback) (FTGLglyph *, void *, FTGL_DOUBLE, FTGL_DOUBLE, - int, FTGL_DOUBLE *, FTGL_DOUBLE *), - void (*destroyCallback) (FTGLglyph *, void *)); - -/** - * Destroy an FTGL glyph object. - * - * @param glyph An FTGLglyph* object. - */ -FTGL_EXPORT void ftglDestroyGlyph(FTGLglyph *glyph); - -/** - * Render a glyph at the current pen position and compute the corresponding - * advance. - * - * @param glyph An FTGLglyph* object. - * @param penx The current pen's X position. - * @param peny The current pen's Y position. - * @param renderMode Render mode to display - * @param advancex A pointer to an FTGL_DOUBLE where to write the advance's X - * component. - * @param advancey A pointer to an FTGL_DOUBLE where to write the advance's Y - * component. - */ -FTGL_EXPORT void ftglRenderGlyph(FTGLglyph *glyph, FTGL_DOUBLE penx, - FTGL_DOUBLE peny, int renderMode, - FTGL_DOUBLE *advancex, FTGL_DOUBLE *advancey); -/** - * Return the advance for a glyph. - * - * @param glyph An FTGLglyph* object. - * @return The advance's X component. - */ -FTGL_EXPORT float ftglGetGlyphAdvance(FTGLglyph *glyph); - -/** - * Return the bounding box for a glyph. - * - * @param glyph An FTGLglyph* object. - * @param bounds An array of 6 float values where the bounding box's lower - * left near and upper right far 3D coordinates will be stored. - */ -FTGL_EXPORT void ftglGetGlyphBBox(FTGLglyph *glyph, float bounds[6]); - -/** - * Query a glyph for errors. - * - * @param glyph An FTGLglyph* object. - * @return The current error code. - */ -FTGL_EXPORT FT_Error ftglGetGlyphError(FTGLglyph* glyph); - -FTGL_END_C_DECLS - -#endif // __FTGlyph__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTLayout.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTLayout.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTLayout.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTLayout.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,192 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTLayout__ -#define __FTLayout__ - -#ifdef __cplusplus - - -class FTLayoutImpl; - -/** - * FTLayout is the interface for layout managers that render text. - * - * Specific layout manager classes are derived from this class. This class - * is abstract and deriving classes must implement the protected - * Render methods to render formatted text and - * BBox methods to determine the bounding box of output text. - * - * @see FTFont - * @see FTBBox - */ -class FTGL_EXPORT FTLayout -{ - protected: - FTLayout(); - - private: - /** - * Internal FTGL FTLayout constructor. For private use only. - * - * @param pImpl Internal implementation object. Will be destroyed - * upon FTLayout deletion. - */ - FTLayout(FTLayoutImpl *pImpl); - - /* Allow our internal subclasses to access the private constructor */ - friend class FTSimpleLayout; - - public: - /** - * Destructor - */ - virtual ~FTLayout(); - - /** - * Get the bounding box for a formatted string. - * - * @param string A char string. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @return The corresponding bounding box. - */ - virtual FTBBox BBox(const char* string, const int len = -1, - FTPoint position = FTPoint()) = 0; - - /** - * Get the bounding box for a formatted string. - * - * @param string A wchar_t string. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @return The corresponding bounding box. - */ - virtual FTBBox BBox(const wchar_t* string, const int len = -1, - FTPoint position = FTPoint()) = 0; - - /** - * Render a string of characters. - * - * @param string 'C' style string to be output. - * @param len The length of the string. If < 0 then all characters - * will be displayed until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param renderMode Render mode to display (optional) - */ - virtual void Render(const char *string, const int len = -1, - FTPoint position = FTPoint(), - int renderMode = FTGL::RENDER_ALL) = 0; - - /** - * Render a string of characters. - * - * @param string wchar_t string to be output. - * @param len The length of the string. If < 0 then all characters - * will be displayed until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param renderMode Render mode to display (optional) - */ - virtual void Render(const wchar_t *string, const int len = -1, - FTPoint position = FTPoint(), - int renderMode = FTGL::RENDER_ALL) = 0; - - /** - * Queries the Layout for errors. - * - * @return The current error code. - */ - virtual FT_Error Error() const; - - private: - /** - * Internal FTGL FTLayout implementation object. For private use only. - */ - FTLayoutImpl *impl; -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * FTGLlayout is the interface for layout managers that render text. - */ -struct _FTGLlayout; -typedef struct _FTGLlayout FTGLlayout; - -/** - * Destroy an FTGL layout object. - * - * @param layout An FTGLlayout* object. - */ -FTGL_EXPORT void ftglDestroyLayout(FTGLlayout* layout); - -/** - * Get the bounding box for a string. - * - * @param layout An FTGLlayout* object. - * @param string A char buffer - * @param bounds An array of 6 float values where the bounding box's lower - * left near and upper right far 3D coordinates will be stored. - */ -FTGL_EXPORT void ftglGetLayoutBBox(FTGLlayout *layout, const char* string, - float bounds[6]); - -/** - * Render a string of characters. - * - * @param layout An FTGLlayout* object. - * @param string Char string to be output. - * @param mode Render mode to display. - */ -FTGL_EXPORT void ftglRenderLayout(FTGLlayout *layout, const char *string, - int mode); - -/** - * Query a layout for errors. - * - * @param layout An FTGLlayout* object. - * @return The current error code. - */ -FTGL_EXPORT FT_Error ftglGetLayoutError(FTGLlayout* layout); - -FTGL_END_C_DECLS - -#endif /* __FTLayout__ */ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTOutlineGlyph.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTOutlineGlyph.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTOutlineGlyph.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTOutlineGlyph.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,94 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTOutlineGlyph__ -#define __FTOutlineGlyph__ - -#ifdef __cplusplus - - -/** - * FTOutlineGlyph is a specialisation of FTGlyph for creating outlines. - */ -class FTGL_EXPORT FTOutlineGlyph : public FTGlyph -{ - public: - /** - * Constructor. Sets the Error to Invalid_Outline if the glyphs isn't - * an outline. - * - * @param glyph The Freetype glyph to be processed - * @param outset outset distance - * @param useDisplayList Enable or disable the use of Display Lists - * for this glyph - * true turns ON display lists. - * false turns OFF display lists. - */ - FTOutlineGlyph(FT_GlyphSlot glyph, float outset, bool useDisplayList); - - /** - * Destructor - */ - virtual ~FTOutlineGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialisation of FTGLglyph for creating outlines. - * - * @param glyph The Freetype glyph to be processed - * @param outset outset contour size - * @param useDisplayList Enable or disable the use of Display Lists - * for this glyph - * true turns ON display lists. - * false turns OFF display lists. - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreateOutlineGlyph(FT_GlyphSlot glyph, float outset, - int useDisplayList); - -FTGL_END_C_DECLS - -#endif // __FTOutlineGlyph__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTPixmapGlyph.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTPixmapGlyph.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTPixmapGlyph.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTPixmapGlyph.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,82 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTPixmapGlyph__ -#define __FTPixmapGlyph__ - -#ifdef __cplusplus - - -/** - * FTPixmapGlyph is a specialisation of FTGlyph for creating pixmaps. - */ -class FTGL_EXPORT FTPixmapGlyph : public FTGlyph -{ - public: - /** - * Constructor - * - * @param glyph The Freetype glyph to be processed - */ - FTPixmapGlyph(FT_GlyphSlot glyph); - - /** - * Destructor - */ - virtual ~FTPixmapGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialisation of FTGLglyph for creating pixmaps. - * - * @param glyph The Freetype glyph to be processed - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreatePixmapGlyph(FT_GlyphSlot glyph); - -FTGL_END_C_DECLS - -#endif // __FTPixmapGlyph__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTPoint.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTPoint.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTPoint.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTPoint.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,274 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTPoint__ -#define __FTPoint__ - -#ifdef __cplusplus - - -/** - * FTPoint class is a basic 3-dimensional point or vector. - */ -class FTGL_EXPORT FTPoint -{ - public: - /** - * Default constructor. Point is set to zero. - */ - inline FTPoint() - { - values[0] = 0; - values[1] = 0; - values[2] = 0; - } - - /** - * Constructor. Z coordinate is set to zero if unspecified. - * - * @param x First component - * @param y Second component - * @param z Third component - */ - inline FTPoint(const FTGL_DOUBLE x, const FTGL_DOUBLE y, - const FTGL_DOUBLE z = 0) - { - values[0] = x; - values[1] = y; - values[2] = z; - } - - /** - * Constructor. This converts an FT_Vector to an FTPoint - * - * @param ft_vector A freetype vector - */ - inline FTPoint(const FT_Vector& ft_vector) - { - values[0] = ft_vector.x; - values[1] = ft_vector.y; - values[2] = 0; - } - - /** - * Normalise a point's coordinates. If the coordinates are zero, - * the point is left untouched. - * - * @return A vector of norm one. - */ - FTPoint Normalise(); - - - /** - * Operator += In Place Addition. - * - * @param point - * @return this plus point. - */ - inline FTPoint& operator += (const FTPoint& point) - { - values[0] += point.values[0]; - values[1] += point.values[1]; - values[2] += point.values[2]; - - return *this; - } - - /** - * Operator + - * - * @param point - * @return this plus point. - */ - inline FTPoint operator + (const FTPoint& point) const - { - FTPoint temp; - temp.values[0] = values[0] + point.values[0]; - temp.values[1] = values[1] + point.values[1]; - temp.values[2] = values[2] + point.values[2]; - - return temp; - } - - /** - * Operator -= In Place Substraction. - * - * @param point - * @return this minus point. - */ - inline FTPoint& operator -= (const FTPoint& point) - { - values[0] -= point.values[0]; - values[1] -= point.values[1]; - values[2] -= point.values[2]; - - return *this; - } - - /** - * Operator - - * - * @param point - * @return this minus point. - */ - inline FTPoint operator - (const FTPoint& point) const - { - FTPoint temp; - temp.values[0] = values[0] - point.values[0]; - temp.values[1] = values[1] - point.values[1]; - temp.values[2] = values[2] - point.values[2]; - - return temp; - } - - /** - * Operator * Scalar multiplication - * - * @param multiplier - * @return this multiplied by multiplier. - */ - inline FTPoint operator * (double multiplier) const - { - FTPoint temp; - temp.values[0] = values[0] * multiplier; - temp.values[1] = values[1] * multiplier; - temp.values[2] = values[2] * multiplier; - - return temp; - } - - - /** - * Operator * Scalar multiplication - * - * @param point - * @param multiplier - * @return multiplier multiplied by point. - */ - inline friend FTPoint operator * (double multiplier, FTPoint& point) - { - return point * multiplier; - } - - - /** - * Operator * Scalar product - * - * @param a First vector. - * @param b Second vector. - * @return a.b scalar product. - */ - inline friend double operator * (FTPoint &a, FTPoint& b) - { - return a.values[0] * b.values[0] - + a.values[1] * b.values[1] - + a.values[2] * b.values[2]; - } - - - /** - * Operator ^ Vector product - * - * @param point Second point - * @return this vector point. - */ - inline FTPoint operator ^ (const FTPoint& point) - { - FTPoint temp; - temp.values[0] = values[1] * point.values[2] - - values[2] * point.values[1]; - temp.values[1] = values[2] * point.values[0] - - values[0] * point.values[2]; - temp.values[2] = values[0] * point.values[1] - - values[1] * point.values[0]; - return temp; - } - - - /** - * Operator == Tests for equality - * - * @param a - * @param b - * @return true if a & b are equal - */ - friend bool operator == (const FTPoint &a, const FTPoint &b); - - - /** - * Operator != Tests for non equality - * - * @param a - * @param b - * @return true if a & b are not equal - */ - friend bool operator != (const FTPoint &a, const FTPoint &b); - - - /** - * Cast to FTGL_DOUBLE* - */ - inline operator const FTGL_DOUBLE*() const - { - return values; - } - - - /** - * Setters - */ - inline void X(FTGL_DOUBLE x) { values[0] = x; }; - inline void Y(FTGL_DOUBLE y) { values[1] = y; }; - inline void Z(FTGL_DOUBLE z) { values[2] = z; }; - - - /** - * Getters - */ - inline FTGL_DOUBLE X() const { return values[0]; }; - inline FTGL_DOUBLE Y() const { return values[1]; }; - inline FTGL_DOUBLE Z() const { return values[2]; }; - inline FTGL_FLOAT Xf() const { return static_cast(values[0]); }; - inline FTGL_FLOAT Yf() const { return static_cast(values[1]); }; - inline FTGL_FLOAT Zf() const { return static_cast(values[2]); }; - - private: - /** - * The point data - */ - FTGL_DOUBLE values[3]; -}; - -#endif //__cplusplus - -#endif // __FTPoint__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTPolyGlyph.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTPolyGlyph.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTPolyGlyph.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTPolyGlyph.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,98 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTPolygonGlyph__ -#define __FTPolygonGlyph__ - -#ifdef __cplusplus - - -/** - * FTPolygonGlyph is a specialisation of FTGlyph for creating tessellated - * polygon glyphs. - */ -class FTGL_EXPORT FTPolygonGlyph : public FTGlyph -{ - public: - /** - * Constructor. Sets the Error to Invalid_Outline if the glyphs - * isn't an outline. - * - * @param glyph The Freetype glyph to be processed - * @param outset The outset distance - * @param useDisplayList Enable or disable the use of Display Lists - * for this glyph - * true turns ON display lists. - * false turns OFF display lists. - */ - FTPolygonGlyph(FT_GlyphSlot glyph, float outset, bool useDisplayList); - - /** - * Destructor - */ - virtual ~FTPolygonGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#define FTPolyGlyph FTPolygonGlyph - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialisation of FTGLglyph for creating tessellated - * polygon glyphs. - * - * @param glyph The Freetype glyph to be processed - * @param outset outset contour size - * @param useDisplayList Enable or disable the use of Display Lists - * for this glyph - * true turns ON display lists. - * false turns OFF display lists. - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreatePolygonGlyph(FT_GlyphSlot glyph, float outset, - int useDisplayList); - -FTGL_END_C_DECLS - -#endif // __FTPolygonGlyph__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTSimpleLayout.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTSimpleLayout.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTSimpleLayout.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTSimpleLayout.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,191 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTSimpleLayout__ -#define __FTSimpleLayout__ - -#ifdef __cplusplus - - -class FTFont; - -/** - * FTSimpleLayout is a specialisation of FTLayout for simple text boxes. - * - * This class has basic support for text wrapping, left, right and centered - * alignment, and text justification. - * - * @see FTLayout - */ -class FTGL_EXPORT FTSimpleLayout : public FTLayout -{ - public: - /** - * Initializes line spacing to 1.0, alignment to - * ALIGN_LEFT and wrap to 100.0 - */ - FTSimpleLayout(); - - /** - * Destructor - */ - ~FTSimpleLayout(); - - /** - * Get the bounding box for a formatted string. - * - * @param string A char string. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @return The corresponding bounding box. - */ - virtual FTBBox BBox(const char* string, const int len = -1, - FTPoint position = FTPoint()); - - /** - * Get the bounding box for a formatted string. - * - * @param string A wchar_t string. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @return The corresponding bounding box. - */ - virtual FTBBox BBox(const wchar_t* string, const int len = -1, - FTPoint position = FTPoint()); - - /** - * Render a string of characters. - * - * @param string 'C' style string to be output. - * @param len The length of the string. If < 0 then all characters - * will be displayed until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param renderMode Render mode to display (optional) - */ - virtual void Render(const char *string, const int len = -1, - FTPoint position = FTPoint(), - int renderMode = FTGL::RENDER_ALL); - - /** - * Render a string of characters. - * - * @param string wchar_t string to be output. - * @param len The length of the string. If < 0 then all characters - * will be displayed until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param renderMode Render mode to display (optional) - */ - virtual void Render(const wchar_t *string, const int len = -1, - FTPoint position = FTPoint(), - int renderMode = FTGL::RENDER_ALL); - - /** - * Set the font to use for rendering the text. - * - * @param fontInit A pointer to the new font. The font is - * referenced by this but will not be - * disposed of when this is deleted. - */ - void SetFont(FTFont *fontInit); - - /** - * @return The current font. - */ - FTFont *GetFont(); - - /** - * The maximum line length for formatting text. - * - * @param LineLength The new line length. - */ - void SetLineLength(const float LineLength); - - /** - * @return The current line length. - */ - float GetLineLength() const; - - /** - * The text alignment mode used to distribute - * space within a line or rendered text. - * - * @param Alignment The new alignment mode. - */ - void SetAlignment(const FTGL::TextAlignment Alignment); - - /** - * @return The text alignment mode. - */ - FTGL::TextAlignment GetAlignment() const; - - /** - * Sets the line height. - * - * @param LineSpacing The height of each line of text expressed as - * a percentage of the current fonts line height. - */ - void SetLineSpacing(const float LineSpacing); - - /** - * @return The line spacing. - */ - float GetLineSpacing() const; -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -FTGL_EXPORT FTGLlayout *ftglCreateSimpleLayout(void); - -FTGL_EXPORT void ftglSetLayoutFont(FTGLlayout *, FTGLfont*); -FTGL_EXPORT FTGLfont *ftglGetLayoutFont(FTGLlayout *); - -FTGL_EXPORT void ftglSetLayoutLineLength(FTGLlayout *, const float); -FTGL_EXPORT float ftglGetLayoutLineLength(FTGLlayout *); - -FTGL_EXPORT void ftglSetLayoutAlignment(FTGLlayout *, const int); -FTGL_EXPORT int ftglGetLayoutAlignement(FTGLlayout *); - -FTGL_EXPORT void ftglSetLayoutLineSpacing(FTGLlayout *, const float); -FTGL_EXPORT float ftglGetLayoutLineSpacing(FTGLlayout *); - -FTGL_END_C_DECLS - -#endif /* __FTSimpleLayout__ */ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTTextureGlyph.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTTextureGlyph.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/FTTextureGlyph.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/FTTextureGlyph.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,99 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTTextureGlyph__ -#define __FTTextureGlyph__ - -#ifdef __cplusplus - - -/** - * FTTextureGlyph is a specialisation of FTGlyph for creating texture - * glyphs. - */ -class FTGL_EXPORT FTTextureGlyph : public FTGlyph -{ - public: - /** - * Constructor - * - * @param glyph The Freetype glyph to be processed - * @param id The id of the texture that this glyph will be - * drawn in - * @param xOffset The x offset into the parent texture to draw - * this glyph - * @param yOffset The y offset into the parent texture to draw - * this glyph - * @param width The width of the parent texture - * @param height The height (number of rows) of the parent texture - */ - FTTextureGlyph(FT_GlyphSlot glyph, int id, int xOffset, int yOffset, - int width, int height); - - /** - * Destructor - */ - virtual ~FTTextureGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialisation of FTGLglyph for creating pixmaps. - * - * @param glyph The Freetype glyph to be processed. - * @param id The id of the texture that this glyph will be drawn in. - * @param xOffset The x offset into the parent texture to draw this glyph. - * @param yOffset The y offset into the parent texture to draw this glyph. - * @param width The width of the parent texture. - * @param height The height (number of rows) of the parent texture. - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreateTextureGlyph(FT_GlyphSlot glyph, int id, - int xOffset, int yOffset, - int width, int height); - -FTGL_END_C_DECLS - -#endif // __FTTextureGlyph__ - diff -Nru duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/ftgl.h duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/ftgl.h --- duration-0.0.4/addons/ofxFTGL/libs/FTGL/include/FTGL/ftgl.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/libs/FTGL/include/FTGL/ftgl.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,135 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -#define __ftgl__ - -/* We need the Freetype headers */ -#include -#include FT_FREETYPE_H -#include FT_GLYPH_H -#include FT_OUTLINE_H - -/* Floating point types used by the library */ -typedef double FTGL_DOUBLE; -typedef float FTGL_FLOAT; - -/* Macros used to declare C-linkage types and symbols */ -#ifdef __cplusplus -# define FTGL_BEGIN_C_DECLS extern "C" { namespace FTGL { -# define FTGL_END_C_DECLS } } -#else -# define FTGL_BEGIN_C_DECLS -# define FTGL_END_C_DECLS -#endif - -#ifdef __cplusplus -namespace FTGL -{ - typedef enum - { - RENDER_FRONT = 0x0001, - RENDER_BACK = 0x0002, - RENDER_SIDE = 0x0004, - RENDER_ALL = 0xffff - } RenderMode; - - typedef enum - { - ALIGN_LEFT = 0, - ALIGN_CENTER = 1, - ALIGN_RIGHT = 2, - ALIGN_JUSTIFY = 3 - } TextAlignment; -} -#else -# define FTGL_RENDER_FRONT 0x0001 -# define FTGL_RENDER_BACK 0x0002 -# define FTGL_RENDER_SIDE 0x0004 -# define FTGL_RENDER_ALL 0xffff - -# define FTGL_ALIGN_LEFT 0 -# define FTGL_ALIGN_CENTER 1 -# define FTGL_ALIGN_RIGHT 2 -# define FTGL_ALIGN_JUSTIFY 3 -#endif - -// Compiler-specific conditional compilation -#ifdef _MSC_VER // MS Visual C++ - - // Disable various warning. - // 4786: template name too long - #pragma warning(disable : 4251) - #pragma warning(disable : 4275) - #pragma warning(disable : 4786) - - // The following definitions control how symbols are exported. - // If the target is a static library ensure that FTGL_LIBRARY_STATIC - // is defined. If building a dynamic library (ie DLL) ensure the - // FTGL_LIBRARY macro is defined, as it will mark symbols for - // export. If compiling a project to _use_ the _dynamic_ library - // version of the library, no definition is required. - #ifdef FTGL_LIBRARY_STATIC // static lib - no special export required - # define FTGL_EXPORT - #elif FTGL_LIBRARY // dynamic lib - must export/import symbols appropriately. - # define FTGL_EXPORT __declspec(dllexport) - #else - # define FTGL_EXPORT __declspec(dllimport) - #endif - -#else - // Compiler that is not MS Visual C++. - // Ensure that the export symbol is defined (and blank) - #define FTGL_EXPORT -#endif - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#endif // __ftgl__ Binary files /tmp/eIZc9kpHZz/duration-0.0.4/addons/ofxFTGL/libs/FTGL/lib/linux/libftgl.a and /tmp/QLVMTSwiuM/duration-0.0.3/addons/ofxFTGL/libs/FTGL/lib/linux/libftgl.a differ Binary files /tmp/eIZc9kpHZz/duration-0.0.4/addons/ofxFTGL/libs/FTGL/lib/linux64/libftgl.a and /tmp/QLVMTSwiuM/duration-0.0.3/addons/ofxFTGL/libs/FTGL/lib/linux64/libftgl.a differ diff -Nru duration-0.0.4/addons/ofxFTGL/src/ofxFTGL.h duration-0.0.3/addons/ofxFTGL/src/ofxFTGL.h --- duration-0.0.4/addons/ofxFTGL/src/ofxFTGL.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/src/ofxFTGL.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -#pragma once - -#include "ofxFTGLFont.h" -#include "ofxFTGLSimpleLayout.h" diff -Nru duration-0.0.4/addons/ofxFTGL/src/ofxFTGLFont.cpp duration-0.0.3/addons/ofxFTGL/src/ofxFTGLFont.cpp --- duration-0.0.4/addons/ofxFTGL/src/ofxFTGLFont.cpp 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/src/ofxFTGLFont.cpp 2012-09-11 16:06:07.000000000 +0000 @@ -1,43 +1,24 @@ #include "ofxFTGLFont.h" -ofxFTGLFont::ofxFTGLFont() -{ +ofxFTGLFont::ofxFTGLFont(){ loaded = false; font = NULL; } -ofxFTGLFont::~ofxFTGLFont() -{ -// unload(); -} - -void ofxFTGLFont::unload() -{ - if (font != NULL) { - delete font; - font = NULL; +ofxFTGLFont::~ofxFTGLFont(){ + if(font != NULL){ + //delete font; } - - loaded = false; } -bool ofxFTGLFont::loadFont(string filename, float fontsize, float depth, bool bUsePolygons) -{ - unload(); - - fontsize *= 2; - - if (depth != 0) { - font = new FTExtrudeFont(ofToDataPath(filename).c_str()); - font->Depth(depth); - } - else if (bUsePolygons) { - font = new FTPolygonFont(ofToDataPath(filename).c_str()); - } - else { - font = new FTTextureFont(ofToDataPath(filename).c_str()); - } - +bool ofxFTGLFont::loadFont(string filename, float fontsize, bool _bAntiAliased, bool _bFullCharacterSet, bool makeContours, float simplifyAmnt, int dpi){ + fontsize *= 2; + font = new FTTextureFont(ofToDataPath(filename).c_str()); +// lineHeight = fontsize * 1.43f; + lineHeight = fontsize; + + font->Outset(0.0f, fontsize); + font->CharMap(ft_encoding_unicode); if(font->Error()){ @@ -56,21 +37,9 @@ return true; } -float ofxFTGLFont::getSpaceSize(){ - return stringWidth(" "); -} - -float ofxFTGLFont::stringWidth(string c) -{ - if (c.compare(" ") == 0) { - // FTGL won't measure a space width properly, so we - // have to use this hack to get that value. - return (stringWidth("A A") - stringWidth("AA")); - } - else { - ofRectangle rect = getStringBoundingBox(c, 0,0); - return rect.width; - } +float ofxFTGLFont::stringWidth(string c){ + ofRectangle rect = getStringBoundingBox(c, 0,0); + return rect.width; } float ofxFTGLFont::stringHeight(string c) { @@ -88,55 +57,17 @@ } } -int ofxFTGLFont::getSize(){ - return font->FaceSize(); -} - -void ofxFTGLFont::setTracking(float tracking) -{ - trackingPoint.X(tracking); -} - -float ofxFTGLFont::getTracking() const -{ - return trackingPoint.Xf(); -} - -float ofxFTGLFont::getLineHeight() const -{ - if (loaded) { - return font->LineHeight(); - } - return 0; +float ofxFTGLFont::getLineHeight(){ + return lineHeight; } -float ofxFTGLFont::getAscender() const -{ - if (loaded) { - return font->Ascender(); - } - return 0; -} - -float ofxFTGLFont::getDescender() const -{ - if (loaded) { - return font->Descender(); - } - return 0; -} - -float ofxFTGLFont::getXHeight() const -{ - if (loaded) { - return font->LineHeight() - font->Ascender() - font->Descender(); - } - return 0; +void ofxFTGLFont::setLineHeight(float newHeight){ + lineHeight = newHeight; } ofRectangle ofxFTGLFont::getStringBoundingBox(string s, float x, float y){ if(loaded){ - FTBBox bbox = font->BBox(s.c_str(), -1, FTPoint(), trackingPoint); + FTBBox bbox = font->BBox(s.c_str()); return ofRectangle(x + bbox.Lower().Xf(), y + bbox.Lower().Yf(), bbox.Upper().Xf(), bbox.Upper().Yf()); } return ofRectangle(); @@ -144,7 +75,7 @@ ofRectangle ofxFTGLFont::getStringBoundingBox(wstring s, float x, float y){ if(loaded){ - FTBBox bbox = font->BBox((wchar_t*)s.c_str(), -1, FTPoint(), trackingPoint); + FTBBox bbox = font->BBox((wchar_t*)s.c_str()); return ofRectangle(x + bbox.Lower().Xf(), y + bbox.Lower().Yf(), bbox.Upper().Xf(), bbox.Upper().Yf()); } return ofRectangle(); @@ -155,7 +86,7 @@ glTranslatef(x, y, 0); glScalef(1,-1,1); - font->Render(s.c_str(), -1, FTPoint(), trackingPoint); + font->Render(s.c_str()); glPopMatrix(); } @@ -163,6 +94,6 @@ glPushMatrix(); glTranslatef(x, y, 0); glScalef(1,-1,1); - font->Render((wchar_t*)s.c_str(), -1, FTPoint(), trackingPoint); + font->Render((wchar_t*)s.c_str()); glPopMatrix(); } diff -Nru duration-0.0.4/addons/ofxFTGL/src/ofxFTGLFont.h duration-0.0.3/addons/ofxFTGL/src/ofxFTGLFont.h --- duration-0.0.4/addons/ofxFTGL/src/ofxFTGLFont.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/src/ofxFTGLFont.h 2012-09-11 11:34:58.000000000 +0000 @@ -1,41 +1,34 @@ + + #pragma once #include "ofMain.h" #include "ftgl.h" -class ofxFTGLFont -{ - public: - ofxFTGLFont(); - ~ofxFTGLFont(); - - virtual void unload(); - virtual bool loadFont(string filename, float fontsize, float depth = 0, bool bUsePolygons = false); - bool isLoaded(); - - void setSize(int size); - int getSize(); - - void setTracking(float tracking); - float getTracking() const; - - float getLineHeight() const; - float getAscender() const; - float getDescender() const; - float getXHeight() const; - - virtual ofRectangle getStringBoundingBox(wstring s, float x, float y); - virtual ofRectangle getStringBoundingBox(string s, float x, float y); - float stringHeight(string c); - float stringWidth(string c); - float getSpaceSize(); - virtual void drawString(wstring s, float x, float y); - virtual void drawString(string s, float x, float y); +class ofxFTGLFont { - FTFont* font; + public: + ofxFTGLFont(); + ~ofxFTGLFont(); + //the last parameters don't do anything, but are left in so that ofxFTGLFont + //can be dropped in in place of ofTrueTypeFont without compiler errors + bool loadFont(string filename, float fontsize = 10, bool _bAntiAliased = false, bool _bFullCharacterSet = false, bool makeContours = false, float simplifyAmnt = 0, int dpi = 72); + bool isLoaded(); - protected: - bool loaded; - FTPoint trackingPoint; + void setSize(int size); + float getLineHeight(); + void setLineHeight(float newHeight); + ofRectangle getStringBoundingBox(wstring s, float x, float y); + ofRectangle getStringBoundingBox(string s, float x, float y); + + void drawString(wstring s, float x, float y); + void drawString(string s, float x, float y); + float stringHeight(string c); + float stringWidth(string c); + + FTFont* font; + protected: + bool loaded; + float lineHeight; }; diff -Nru duration-0.0.4/addons/ofxFTGL/src/ofxFTGLSimpleLayout.cpp duration-0.0.3/addons/ofxFTGL/src/ofxFTGLSimpleLayout.cpp --- duration-0.0.4/addons/ofxFTGL/src/ofxFTGLSimpleLayout.cpp 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/src/ofxFTGLSimpleLayout.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,100 +0,0 @@ -#include "ofxFTGLSimpleLayout.h" - -ofxFTGLSimpleLayout::ofxFTGLSimpleLayout() -: ofxFTGLFont() -{ - layout = NULL; -} - -ofxFTGLSimpleLayout::~ofxFTGLSimpleLayout() -{ -// unload(); -} - -void ofxFTGLSimpleLayout::unload() -{ - ofxFTGLFont::unload(); - - if (layout != NULL) { - delete layout; - layout = NULL; - } -} - -bool ofxFTGLSimpleLayout::loadFont(string filename, float fontsize, float depth, bool bUsePolygons) -{ - if (ofxFTGLFont::loadFont(filename, fontsize, depth, bUsePolygons)) { - layout = new FTSimpleLayout(); - layout->SetFont(font); - - return true; - } - - return false; -} - -float ofxFTGLSimpleLayout::getLineLength() const -{ - return layout->GetLineLength(); -} - -void ofxFTGLSimpleLayout::setLineLength(float length) -{ - layout->SetLineLength(length); -} - -float ofxFTGLSimpleLayout::getLineSpacing() const -{ - return layout->GetLineSpacing(); -} - -void ofxFTGLSimpleLayout::setLineSpacing(float spacing) -{ - layout->SetLineSpacing(spacing); -} - -ofxFTGLTextAlignment ofxFTGLSimpleLayout::getAlignment() const -{ - return layout->GetAlignment(); -} - -void ofxFTGLSimpleLayout::setAlignment(ofxFTGLTextAlignment alignment) -{ - layout->SetAlignment(alignment); -} - -ofRectangle ofxFTGLSimpleLayout::getStringBoundingBox(string s, float x, float y) -{ - if (loaded) { - FTBBox bbox = layout->BBox(s.c_str()); - return ofRectangle(x + bbox.Lower().Xf(), y + bbox.Lower().Yf(), bbox.Upper().Xf(), bbox.Upper().Yf()); - } - return ofRectangle(); -} - -ofRectangle ofxFTGLSimpleLayout::getStringBoundingBox(wstring s, float x, float y) -{ - if (loaded) { - FTBBox bbox = layout->BBox((wchar_t*)s.c_str()); - return ofRectangle(x + bbox.Lower().Xf(), y + bbox.Lower().Yf(), bbox.Upper().Xf(), bbox.Upper().Yf()); - } - return ofRectangle(); -} - -void ofxFTGLSimpleLayout::drawString(string s, float x, float y) -{ - glPushMatrix(); - glTranslatef(x, y, 0); - glScalef(1,-1,1); - layout->Render(s.c_str()); - glPopMatrix(); -} - -void ofxFTGLSimpleLayout::drawString(wstring s, float x, float y) -{ - glPushMatrix(); - glTranslatef(x, y, 0); - glScalef(1,-1,1); - layout->Render((wchar_t*)s.c_str()); - glPopMatrix(); -} diff -Nru duration-0.0.4/addons/ofxFTGL/src/ofxFTGLSimpleLayout.h duration-0.0.3/addons/ofxFTGL/src/ofxFTGLSimpleLayout.h --- duration-0.0.4/addons/ofxFTGL/src/ofxFTGLSimpleLayout.h 2013-12-27 13:38:48.000000000 +0000 +++ duration-0.0.3/addons/ofxFTGL/src/ofxFTGLSimpleLayout.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ -#pragma once - -#include "ofMain.h" -#include "ftgl.h" -#include "ofxFTGLFont.h" - -typedef FTGL::TextAlignment ofxFTGLTextAlignment; - -#define FTGL_ALIGN_LEFT FTGL::ALIGN_LEFT -#define FTGL_ALIGN_CENTER FTGL::ALIGN_CENTER -#define FTGL_ALIGN_RIGHT FTGL::ALIGN_RIGHT -#define FTGL_ALIGN_JUSTIFY FTGL::ALIGN_JUSTIFY - -class ofxFTGLSimpleLayout -: public ofxFTGLFont -{ - public: - ofxFTGLSimpleLayout(); - ~ofxFTGLSimpleLayout(); - - void unload(); - bool loadFont(string filename, float fontsize = 10, float depth = 0, bool bUsePolygons = false); - - ofRectangle getStringBoundingBox(wstring s, float x, float y); - ofRectangle getStringBoundingBox(string s, float x, float y); - - void drawString(wstring s, float x, float y); - void drawString(string s, float x, float y); - - float getLineLength() const; - void setLineLength(float length); - float getLineSpacing() const; - void setLineSpacing(float spacing); - - ofxFTGLTextAlignment getAlignment() const; - void setAlignment(ofxFTGLTextAlignment alignment); - - FTSimpleLayout* layout; -}; - diff -Nru duration-0.0.4/addons/ofxMSATimer/src/ofxMSATimer.cpp duration-0.0.3/addons/ofxMSATimer/src/ofxMSATimer.cpp --- duration-0.0.4/addons/ofxMSATimer/src/ofxMSATimer.cpp 2013-12-27 13:38:13.000000000 +0000 +++ duration-0.0.3/addons/ofxMSATimer/src/ofxMSATimer.cpp 2012-08-10 13:04:05.000000000 +0000 @@ -60,7 +60,7 @@ #elif defined(TARGET_LINUX) ofxMSATimer::ofxMSATimer(){ - clock_gettime(CLOCK_MONOTONIC_RAW, &startTime); + clock_gettime(CLOCK_MONOTONIC, &startTime); getMicrosSinceLastCall(); } @@ -78,7 +78,7 @@ } uint64_t ofxMSATimer::getAppTimeMicros(){ - clock_gettime(CLOCK_MONOTONIC_RAW, &tmpTime); + clock_gettime(CLOCK_MONOTONIC, &tmpTime); timespec diffTime = diff(startTime, tmpTime); return ((int64_t)diffTime.tv_sec*1000000000 + (int64_t)diffTime.tv_nsec)/1000; } diff -Nru duration-0.0.4/addons/ofxMSATimer/src/ofxMSATimer.h duration-0.0.3/addons/ofxMSATimer/src/ofxMSATimer.h --- duration-0.0.4/addons/ofxMSATimer/src/ofxMSATimer.h 2013-12-27 13:38:13.000000000 +0000 +++ duration-0.0.3/addons/ofxMSATimer/src/ofxMSATimer.h 2012-08-10 13:04:05.000000000 +0000 @@ -1,5 +1,5 @@ /*********************************************************************** - + Copyright (c) 2008, 2009, Memo Akten, www.memo.tv * Adapted for Windows by Juan Pablo Manson * Cross platform architecture and convenience fucntions by James George @@ -34,10 +34,8 @@ #include "ofMain.h" #if defined(TARGET_WIN32) - #if not defined(NOMINMAX) - #define NOMINMAX - #endif - #include + #define NOMINMAX + #include #elif defined(TARGET_OSX) #include #include @@ -52,25 +50,25 @@ class ofxMSATimer { public: ofxMSATimer(); - + float getAppTimeSeconds(); uint32_t getAppTimeMillis(); uint64_t getAppTimeMicros(); - + void setStartTime(); float getElapsedSeconds(); uint32_t getElapsedMillis(); uint64_t getElapsedMicros(); - + float getSecondsSinceLastCall(); uint32_t getMillisSinceLastCall(); uint64_t getMicrosSinceLastCall(); - + protected: - + uint64_t timerStartTimeMicros; uint64_t lastCallTimeMicros; - + #if defined(TARGET_WIN32) LARGE_INTEGER ticksPerSecond; LARGE_INTEGER startTime, stopTime; @@ -81,6 +79,6 @@ struct timespec startTime; struct timespec tmpTime; #endif - + }; diff -Nru duration-0.0.4/addons/ofxRange/src/ofRange.h duration-0.0.3/addons/ofxRange/src/ofRange.h --- duration-0.0.4/addons/ofxRange/src/ofRange.h 2013-12-27 13:38:27.000000000 +0000 +++ duration-0.0.3/addons/ofxRange/src/ofRange.h 2012-09-02 09:17:27.000000000 +0000 @@ -16,35 +16,18 @@ virtual ~ofRange_(){} ofRange_( const ofRange_& rg){ - set(rg.min,rg.max); + min = rg.min; + max = rg.max; } - ofRange_(T _value = 0.0f){ - set(_value); + ofRange_( T _min=0.0, T _max=1.0){ + min = _min; + max = _max; } - - ofRange_( T _min, T _max){ - set(_min, _max); - } - - void set(const ofRange_& rg) { - set(rg.min,rg.max); - } - - void set(T _value){ - min = _value; - max = _value; - } - + void set(T _min, T _max){ - // enforce min <= max - if(_min <= _max) { - min = _min; - max = _max; - } else { - min = _max; - max = _min; - } + min = _min; + max = _max; } void setMin(T _min){ @@ -55,11 +38,6 @@ max = MAX(min, _max); } - void growToInclude(T _value) { - setMin(_value); - setMax(_value); - } - // map // @@ -132,11 +110,7 @@ return *this; } - ofRange_& operator = (const ofRange_& rg) { - set(rg); - return *this; - } - + ofRange_ operator +( const T f ) const { return ofRange_(min+f, max+f); } diff -Nru duration-0.0.4/addons/ofxTextInputField/src/ofxTextInputField.cpp duration-0.0.3/addons/ofxTextInputField/src/ofxTextInputField.cpp --- duration-0.0.4/addons/ofxTextInputField/src/ofxTextInputField.cpp 2013-12-27 13:38:20.000000000 +0000 +++ duration-0.0.3/addons/ofxTextInputField/src/ofxTextInputField.cpp 2012-10-01 14:09:07.000000000 +0000 @@ -16,51 +16,18 @@ ofxTextInputField::ofxTextInputField() { - - shiftMap[44] = '<'; - shiftMap[45] = '_'; - shiftMap[46] = '>'; - shiftMap[48] = ')'; - shiftMap[49] = '!'; - shiftMap[50] = '@'; - shiftMap[51] = '#'; - shiftMap[52] = '$'; - shiftMap[53] = '%'; - shiftMap[54] = '^'; - shiftMap[55] = '&'; - shiftMap[56] = '*'; - shiftMap[57] = '('; - shiftMap[61] = '+'; - shiftMap[63] = '/'; - shiftMap[91] = '{'; - shiftMap[92] = '|'; - shiftMap[93] = '}'; - shiftMap[96] = '~'; - text = ""; - multiline = false; - autoTab = true; cursorPosition = 0; - selectionBegin = 0; - selectionEnd = 0; - selecting = false; - - + cursorx = 0; + cursory = 0; fontRef = NULL; isEnabled = false; isEditing = false; - bounds = ofRectangle(0,0,100,22); - + bounds = ofRectangle(0,0,100,18); drawCursor = false; autoClear = false; mouseDownInRect = false; - - fontRef = new ofxTextInput::BitmapFontRenderer(); //isSetup = false; - - VERTICAL_PADDING = 3; - HORIZONTAL_PADDING = 3; - lastTimeCursorMoved = ofGetElapsedTimef(); } ofxTextInputField::~ofxTextInputField(){ @@ -78,7 +45,6 @@ void ofxTextInputField::enable(){ if(!isEnabled){ ofAddListener(ofEvents().mousePressed, this, &ofxTextInputField::mousePressed); - ofAddListener(ofEvents().mouseDragged, this, &ofxTextInputField::mouseDragged); ofAddListener(ofEvents().mouseReleased, this, &ofxTextInputField::mouseReleased); isEnabled = true; } @@ -90,7 +56,6 @@ } if(isEnabled){ ofRemoveListener(ofEvents().mousePressed, this, &ofxTextInputField::mousePressed); - ofRemoveListener(ofEvents().mouseDragged, this, &ofxTextInputField::mouseDragged); ofRemoveListener(ofEvents().mouseReleased, this, &ofxTextInputField::mouseReleased); isEnabled = false; } @@ -99,7 +64,6 @@ void ofxTextInputField::beginEditing() { if(!isEditing){ ofAddListener(ofEvents().keyPressed, this, &ofxTextInputField::keyPressed); - ofAddListener(ofEvents().keyReleased, this, &ofxTextInputField::keyReleased); ofSendMessage(TEXTFIELD_IS_ACTIVE); isEditing = true; drawCursor = true; @@ -107,8 +71,8 @@ clear(); } else{ - - + cursory = 0; + cursorPosition = cursorx = text.size(); } } } @@ -124,10 +88,7 @@ } void ofxTextInputField::setFont(OFX_TEXTFIELD_FONT_RENDERER& font){ - if(fontRef->isBitmapFont()) { - delete fontRef; - } - fontRef = new ofxTextInput::TypedFontRenderer(&font); + fontRef = &font; } bool ofxTextInputField::getIsEditing(){ @@ -142,172 +103,37 @@ ofPushMatrix(); ofTranslate(bounds.x, bounds.y); - - - - - - - if(selecting) { - + //draw text + if(fontRef == NULL){ + //boo don't use this + ofDrawBitmapString(text, 10,12); + } + else{ + fontRef->drawString(text, 10, 12); + } - ofPushStyle(); - // argh, splitting all the time. - vector lines = ofSplitString(text, "\n"); - int beginCursorX, beginCursorY; - int endCursorX, endCursorY; - getCursorCoords(selectionBegin, beginCursorX, beginCursorY); - getCursorCoords(selectionEnd, endCursorX, endCursorY); - - float startX = fontRef->stringWidth(lines[beginCursorY].substr(0,beginCursorX)); - float endX = fontRef->stringWidth(lines[endCursorY].substr(0, endCursorX)); - - ofSetHexColor(0x6988db); - ofFill(); - - if(beginCursorY==endCursorY) { - // single line selection - ofRect(HORIZONTAL_PADDING + startX, VERTICAL_PADDING + fontRef->getLineHeight()*beginCursorY, - endX - startX, fontRef->getLineHeight()); - } else { - - // multiline selection. - // do first line to the end - ofRect(HORIZONTAL_PADDING + startX, VERTICAL_PADDING + fontRef->getLineHeight()*beginCursorY, - fontRef->stringWidth(lines[beginCursorY]) - startX, - fontRef->getLineHeight() - ); - - // loop through entirely selected lines - for(int i = beginCursorY + 1; i < endCursorY; i++) { - ofRect(HORIZONTAL_PADDING, VERTICAL_PADDING + fontRef->getLineHeight()*i, - fontRef->stringWidth(lines[i]), - fontRef->getLineHeight() - ); - } - // do last line up to endX - ofRect(HORIZONTAL_PADDING, VERTICAL_PADDING + fontRef->getLineHeight()*endCursorY, - endX, fontRef->getLineHeight() - ); - } - ofPopStyle(); - - - //draw cursor line - } else if(drawCursor) { + //draw cursor line + if(drawCursor) { ofPushStyle(); - // cursor should only blink when its been idle, and animation - // should be a clipped sine wave - float timeFrac = 0.5 * ofClamp(cos(6.0f * (ofGetElapsedTimef()-lastTimeCursorMoved))*4, -1, 1) + 0.5; + float timeFrac = 0.5 * sin(3.0f * ofGetElapsedTimef()) + 0.5; ofColor col = ofGetStyle().color; - ofSetColor(col.r * timeFrac, col.g * timeFrac, col.b * timeFrac); - - - // argh, splitting all the time. - vector lines = ofSplitString(text, "\n"); - - - // calculate this every loop. - int cursorX, cursorY; - getCursorCoords(cursorPosition, cursorX, cursorY); - // printf("Pos: %d X: %d Y: %d\n", cursorPosition, cursorX, cursorY); - int cursorPos = HORIZONTAL_PADDING + fontRef->stringWidth(lines[cursorY].substr(0,cursorX)); - - int cursorTop = VERTICAL_PADDING + fontRef->getLineHeight()*cursorY; - int cursorBottom = cursorTop + fontRef->getLineHeight(); - - - - - ofSetLineWidth(1.0f); + int cursorPos = fontRef == NULL ? 8*cursorx + 10: fontRef->stringWidth(text.substr(0,cursorx))+13; + ofSetColor(col.r * timeFrac, col.g * timeFrac, col.b * timeFrac); + ofSetLineWidth(3.0f); //TODO: multiline with fontRef - ofLine(cursorPos, cursorTop, - cursorPos, cursorBottom); + ofLine(cursorPos, 13.7*cursory+2, + cursorPos, 13.7*cursory+12); ofPopStyle(); } - fontRef->drawString(text, HORIZONTAL_PADDING, fontRef->getLineHeight()+VERTICAL_PADDING); - - - ofPopMatrix(); } -void ofxTextInputField::getCursorCoords(int pos, int &cursorX, int &cursorY) { - vector lines = ofSplitString(text, "\n"); - - - int c = 0; - - - for(int i = 0; i < lines.size(); i++) { - if(pos<=c+lines[i].size()) { - cursorY = i; - cursorX = pos - c; - return; - } - c += lines[i].size() + 1; - } - -} - -/* -void ofxTextInputField::setCursorPositionFromXY() { - cursorPosition = cursorx; - vector parts = ofSplitString(text, "\n"); - for(int i = 0 ; i < cursory; i++) { - cursorPosition += parts[i].size() + i; // for carriage returns - } -} - -*/ -int ofxTextInputField::getCursorPositionFromMouse(int x, int y) { - int cursorX = 0; - int cursorY = 0; - float pos = y - bounds.y - VERTICAL_PADDING; - pos /= fontRef->getLineHeight(); - int line = pos; - cursorY = line; - - vector lines = ofSplitString(text, "\n"); - if(cursorY>=lines.size()-1) cursorY = lines.size()-1; - if(lines.size()>0) { - cursorX = fontRef->getPosition(lines[cursorY], x - HORIZONTAL_PADDING - bounds.x); - } - int c = 0; - for(int i = 0; i < cursorY; i++) { - c += lines[i].size() + 1; - } - c += cursorX; - return c; -} - - void ofxTextInputField::mousePressed(ofMouseEventArgs& args){ mouseDownInRect = bounds.inside(args.x, args.y); - if(mouseDownInRect) { - cursorPosition = getCursorPositionFromMouse(args.x, args.y); - lastTimeCursorMoved = ofGetElapsedTimef(); - selecting = false; - } -} - - -void ofxTextInputField::mouseDragged(ofMouseEventArgs& args) { - if(bounds.inside(args.x, args.y)) { - int pos = getCursorPositionFromMouse(args.x, args.y); - if(pos!=cursorPosition) { - selecting = true; - selectionBegin = MIN(pos, cursorPosition); - selectionEnd = MAX(pos, cursorPosition); - - } else { - selecting = false; - } - } } void ofxTextInputField::mouseReleased(ofMouseEventArgs& args){ @@ -322,263 +148,63 @@ } } - -#ifdef OF_VERSION_MINOR -#if OF_VERSION_MINOR>=8 || OF_VERSION_MAJOR>0 -#define USE_GLFW_CLIPBOARD - -#endif -#endif - - -#ifdef USE_GLFW_CLIPBOARD - - -#if (_MSC_VER) -#include -#else -#include "GLFW/glfw3.h" -#endif - - -void ofxTextInputField::setClipboard(string clippy) -{ - glfwSetClipboardString( (GLFWwindow*) ofGetWindowPtr()->getCocoaWindow(), clippy.c_str()); -} - -string ofxTextInputField::getClipboard() -{ - const char *clip = glfwGetClipboardString((GLFWwindow*) ofGetWindowPtr()->getCocoaWindow()); - if(clip!=NULL) { - return string(clip); - } else { - return ""; - } - -} - -#endif - -void ofxTextInputField::keyPressed(ofKeyEventArgs& args) { +void ofxTextInputField::keyPressed(ofKeyEventArgs& args) { //ew: add charachter (non unicode sorry!) //jg: made a step closer to this with swappable renderers and ofxFTGL -- but need unicode text input... - lastTimeCursorMoved = ofGetElapsedTimef(); - int key = args.key; - - - if(key == OF_KEY_SHIFT) { - isShifted = true; - } - - if(key == 4352) { - isCommand = true; - } - #ifdef USE_GLFW_CLIPBOARD - if(key == 'c' && isCommand ) { - setClipboard(text.substr(selectionBegin, selectionEnd - selectionBegin)); - return; - } - - if(key == 'v' && isCommand ) { - text.insert(cursorPosition, getClipboard()); - return; - } - #endif - - if ((key >=32 && key <=126) || key=='\t' || key==OF_KEY_RETURN) { - if(selecting) { - text.erase(text.begin() + selectionBegin, - text.begin() + selectionEnd - ); - cursorPosition = selectionBegin; - selecting = false; - } - } - - + int key = args.key; if (key == OF_KEY_RETURN) { - if(!multiline) { - endEditing(); - return; - } - text.insert(text.begin()+cursorPosition, '\n'); - cursorPosition++; - - - if(autoTab) { - // how much whitespace is there on the previous line? - int xx, yy; - getCursorCoords(cursorPosition, xx, yy); - vector lines = ofSplitString(text, "\n"); - if(yy>0) { - - // collect all the whitespace on the previous line. - string previousWhitespace = ""; - string previousLine = lines[yy-1]; - int pos = 0; - for(int i = 0; i < previousLine.size(); i++) { - if(previousLine[i]==' ' || previousLine[i]=='\t') { - previousWhitespace += previousLine[i]; - } else { - break; - } - } - // if we have a curly brace as the last char on the previous line - // increase the indentation - if(previousLine[previousLine.size()-1]=='{') { - if(previousWhitespace=="") { - previousWhitespace = "\t"; - } else { - previousWhitespace += previousWhitespace[previousWhitespace.size()-1]; - } - } - text = text.insert(cursorPosition, previousWhitespace); - cursorPosition += previousWhitespace.size(); - } - } - + endEditing(); return; } - if ((key >=32 && key <=126) || key=='\t') { - - if(isShifted) { - - char toInsert; - if( !(key > 96 && key < 123) && !(key > 65 && key < 90) && shiftMap.find(key) != shiftMap.end() ) { - toInsert = shiftMap[key];//toInsert = key - 32; - } else { - toInsert = key; - } - - text.insert(text.begin()+cursorPosition, toInsert); - } else { - text.insert(text.begin()+cursorPosition, key); - } + if (key >=32 && key <=126) { + text.insert(text.begin()+cursorPosition, key); cursorPosition++; } if (key==OF_KEY_BACKSPACE) { - if(selecting) { - text.erase(text.begin() + selectionBegin, - text.begin() + selectionEnd - ); - cursorPosition = selectionBegin; - selecting = false; - } else { - if (cursorPosition>0) { - text.erase(text.begin()+cursorPosition-1); - --cursorPosition; - } + if (cursorPosition>0) { + text.erase(text.begin()+cursorPosition-1); + --cursorPosition; } } if (key==OF_KEY_DEL) { - if(selecting) { - text.erase(text.begin() + selectionBegin, - text.begin() + selectionEnd - ); - cursorPosition = selectionBegin; - selecting = false; - } else { - if (text.size() > cursorPosition) { - text.erase(text.begin()+cursorPosition); - } + if (text.size() > cursorPosition) { + text.erase(text.begin()+cursorPosition); } } if (key==OF_KEY_LEFT){ - if(selecting) { - cursorPosition = selectionBegin; - selecting = false; - - } else { - if (cursorPosition>0){ - --cursorPosition; - } + if (cursorPosition>0){ + --cursorPosition; } } - - if (key==OF_KEY_RIGHT){ - if(selecting) { - cursorPosition = selectionEnd; - selecting = false; - } else { - if (cursorPosition0) { - int xx, yy; - getCursorCoords(cursorPosition, xx, yy); - if(yy>0) { - yy--; - vector lines = ofSplitString(text, "\n"); - xx = MIN(lines[yy].size()-1, xx); - cursorPosition = xx; - for(int i = 0; i < yy; i++) cursorPosition += lines[i].size()+1; - printf("Cursor position: %d\n", cursorPosition); - } else { - cursorPosition = 0; - } - } - } - } - - - - if (key==OF_KEY_DOWN){ - if(selecting) { - cursorPosition = selectionEnd; - selecting = false; - } else { - int xx, yy; - getCursorCoords(cursorPosition, xx, yy); - vector lines = ofSplitString(text, "\n"); - yy++; - if(yy 0){ + for (int i=0; i textChanged; void keyPressed(ofKeyEventArgs &a); - void keyReleased(ofKeyEventArgs &a); bool autoClear; - bool autoTab; - - bool multiline; - - #ifdef USE_GLFW_CLIPBOARD - void setClipboard(string clippy); - string getClipboard(); - #endif protected: - float lastTimeCursorMoved; - int VERTICAL_PADDING; - int HORIZONTAL_PADDING; - ofxTextInput::FontRenderer* fontRef; + OFX_TEXTFIELD_FONT_RENDERER* fontRef; + +// bool isSetup; bool isEnabled; bool isEditing; bool mouseDownInRect; void mousePressed(ofMouseEventArgs& args); - void mouseDragged(ofMouseEventArgs& args); - void mouseReleased(ofMouseEventArgs& args); - - - //int getLineForPosition(int pos); - - //void setCursorPositionFromXY(); - //void setCursorFromMouse(int x, int y); - //void setCursorXYFromPosition(); - void getCursorCoords(int pos, int &cursorX, int &cursorY); - int getCursorPositionFromMouse(int x, int y); - - bool isShifted, isCommand; - map shiftMap; + void mouseReleased(ofMouseEventArgs& args); + int cursorx, cursory; }; diff -Nru duration-0.0.4/addons/ofxTextInputField/src/ofxTextInputFieldFontRenderer.h duration-0.0.3/addons/ofxTextInputField/src/ofxTextInputFieldFontRenderer.h --- duration-0.0.4/addons/ofxTextInputField/src/ofxTextInputFieldFontRenderer.h 2013-12-27 13:38:20.000000000 +0000 +++ duration-0.0.3/addons/ofxTextInputField/src/ofxTextInputFieldFontRenderer.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,108 +0,0 @@ -/** ___ ___ ___ ___ ___ - * /__/\ / /\ / /\ _____ / /\ /__/| - * | |::\ / /::\ / /::| / /::\ / /::\ | |:| - * | |:|:\ / /:/\:\ / /:/:| / /:/\:\ / /:/\:\ | |:| - * __|__|:|\:\ / /:/~/::\ / /:/|:|__ / /:/~/::\ / /:/ \:\ __|__|:| - * /__/::::| \:\ /__/:/ /:/\:\ /__/:/ |:| /\ /__/:/ /:/\:| /__/:/ \__\:\ /__/::::\____ - * \ \:\~~\__\/ \ \:\/:/__\/ \__\/ |:|/:/ \ \:\/:/~/:/ \ \:\ / /:/ ~\~~\::::/ - * \ \:\ \ \::/ | |:/:/ \ \::/ /:/ \ \:\ /:/ |~~|:|~~ - * \ \:\ \ \:\ | |::/ \ \:\/:/ \ \:\/:/ | |:| - * \ \:\ \ \:\ | |:/ \ \::/ \ \::/ | |:| - * \__\/ \__\/ |__|/ \__\/ \__\/ |__|/ - * - * Description: - * - * ofxTextInputFieldFontRenderer.h, created by Marek Bereza on 14/08/2013. - */ - - -namespace ofxTextInput { - class FontRenderer { - public: - virtual ~FontRenderer() {} - virtual void drawString(string text, int x, int y) = 0; - virtual float getLineHeight() = 0; - virtual float stringWidth(const string &str) = 0; - - - virtual bool isBitmapFont() { return false; } - - - // this gets the cursor position (in characters) based on an x coordinate. - int getPosition(const string &str, int x) { - float lastW = 0; - - for(int i = 0; i < str.size(); i++) { - - float w = this->stringWidth(str.substr(0, i+1)); - - if(xrenderer = renderer; - } - - void drawString(string text, int x, int y) { - renderer->drawString(text, x, y); - } - - float getLineHeight() { - return renderer->getLineHeight(); - } - - - float spacesWidth(const string &str) { - if(str.size()>0 && str[str.size()-1]==' ') { - return renderer->getSpaceSize()*renderer->getSize(); - } - return 0; - } - float stringWidth(const string &str) { - - return renderer->stringWidth(str) + spacesWidth(str) + 3; - } - }; - - - - class BitmapFontRenderer: public FontRenderer { - public: - - virtual bool isBitmapFont() { return true; } - void drawString(string text, int x, int y) { - ofDrawBitmapString(text, x, y); - } - float getLineHeight() { - return 8.f*1.725f; - } - - - - - - - - float stringWidth(const string &str) { - int w = 0; - for(int i = 0; i < str.size(); i++) { - if(str[i]=='\t') - w += 8 - (w % 8); - else - w ++; - } - return w*8; - } - - }; -}; \ No newline at end of file diff -Nru duration-0.0.4/addons/ofxTimecode/src/ofxTimecode.cpp duration-0.0.3/addons/ofxTimecode/src/ofxTimecode.cpp --- duration-0.0.4/addons/ofxTimecode/src/ofxTimecode.cpp 2013-12-27 13:37:08.000000000 +0000 +++ duration-0.0.3/addons/ofxTimecode/src/ofxTimecode.cpp 2012-09-28 06:55:15.000000000 +0000 @@ -26,7 +26,7 @@ } //expects format HH:MM:SS:MLS -unsigned long long ofxTimecode::millisForTimecode(string timecode){ +unsigned long ofxTimecode::millisForTimecode(string timecode){ int times[4]; if(decodeString(timecode, times)){ //hours @@ -42,7 +42,7 @@ return -1; } -string ofxTimecode::timecodeForMillis(unsigned long long millis, string millisDelimiter){ +string ofxTimecode::timecodeForMillis(unsigned long millis, string millisDelimiter){ char buf[512]; sprintf(buf, "%02d:%02d:%02d%s%03d", int(millis / (60 * 60 * 1000)), //hours int((millis / (60 * 1000)) % 60), //minutes @@ -63,7 +63,7 @@ return timeInSeconds * fps; } -int ofxTimecode::frameForMillis(unsigned long long timeInMillis){ +int ofxTimecode::frameForMillis(unsigned long timeInMillis){ return timeInMillis * fps / 1000; } @@ -71,7 +71,7 @@ return frame / fps; } -unsigned long long ofxTimecode::millisForFrame(int frame){ +unsigned long ofxTimecode::millisForFrame(int frame){ return frame * 1000 / fps; } diff -Nru duration-0.0.4/addons/ofxTimecode/src/ofxTimecode.h duration-0.0.3/addons/ofxTimecode/src/ofxTimecode.h --- duration-0.0.4/addons/ofxTimecode/src/ofxTimecode.h 2013-12-27 13:37:08.000000000 +0000 +++ duration-0.0.3/addons/ofxTimecode/src/ofxTimecode.h 2012-09-28 06:55:01.000000000 +0000 @@ -20,18 +20,18 @@ //these functions expect format HH:MM:SS:MLS //and negative value if improperly formatted - static unsigned long long millisForTimecode(string timecode); + static unsigned long millisForTimecode(string timecode); static float secondsForTimecode(string timecode); int frameForTimecode(string timecode); int frameForSeconds(float timeInSeconds); - int frameForMillis(unsigned long long timeInMillis); + int frameForMillis(unsigned long timeInMillis); float secondsForFrame(int frame); - unsigned long long millisForFrame(int frame); + unsigned long millisForFrame(int frame); //returns format HH:MM:SS:FR - static string timecodeForMillis(unsigned long long millis, string millisDelimiter = ":"); + static string timecodeForMillis(unsigned long millis, string millisDelimiter = ":"); static string timecodeForSeconds(float seconds, string millisDelimiter = ":"); string timecodeForFrame(int frame, string millisDelimiter = ":"); diff -Nru duration-0.0.4/addons/ofxTimeline/README.md duration-0.0.3/addons/ofxTimeline/README.md --- duration-0.0.4/addons/ofxTimeline/README.md 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/README.md 2013-02-03 00:29:06.000000000 +0000 @@ -34,7 +34,14 @@ ## Getting started Here are a series of video tutorials for getting started: -https://vimeo.com/59653952 + +https://vimeo.com/52302437 + +https://vimeo.com/52304312 + +https://vimeo.com/52304313 + +password: ycam ## Anatomy of ofxTimeline @@ -148,7 +155,6 @@ $./clone_addons.sh This will download the necessary addons, but won't overwrite any changes if you already have some of them installed -If you're using linux, please make sure you checkout the develop branch of ofxTextInputField ### Create a new ofxTimeline project @@ -166,8 +172,6 @@ xcopy /e /i /y "$(ProjectDir)..\..\..\export\vs2010\*.dll" "$(ProjectDir)bin" & xcopy /e /i /y "$(ProjectDir)..\..\..\addons\ofxTimeline\libs\sndfile\redist\*.dll" "$(ProjectDir)bin" - - If you are on OS X, you'll need to add the OpenAL.framework to your project in order to use the AudioTrack - ### Add a timeline to your code in your testApp.h file add: @@ -189,14 +193,14 @@ timeline.setLoopType(OF_LOOP_NORMAL); //turns the timeline to loop //add a tracks, etc - timeline.addCurves("MyCircleRadius", ofRange(0, 200)); + timeline.addKeyframes("MyCircleRadius", ofRange(0, 200)); in your draw or update function, read the value //-------------------------------------------------------------- void testApp::draw(){ //the value of changingRadius will be different depending on the timeline - float changingRadius = timeline.getValue("MyCircleRadius"), + float changingRadius = timeline.getKeyframeValue("MyCircleRadius"), //use the value for something amazing! ofCircle(mouseX, mouseY, changingRadius); //don't forget to draw your timeline so you can edit it. @@ -271,14 +275,15 @@ VideoTracks let a user interactively scrub through a video and sequence effects in time with the playback. When a video track is added the video playback will control the playback of the entire timeline. - ofxTLVideoTrack* videoTrack = timeline.addVideoTrack("Video", videoPath); - if(videoTrack != NULL){ //in the case the video load failed check against null - timeline.setFrameRate(videoTrack->getPlayer()->getTotalNumFrames()/videoTrack->getPlayer()->getDuration()); - timeline.setDurationInFrames(videoTrack->getPlayer()->getTotalNumFrames()); - timeline.setTimecontrolTrack(videoTrack); //video playback will control the time - } - -, + ofxTLVideoTrack* videoTrack = timeline.addVideoTrack("Video", videoPath); + if(videoTrack != NULL){ //in the case the video load failed check against null + timeline.setFrameRate(videoTrack->getPlayer()->getTotalNumFrames()/videoTrack->getPlayer()->getDuration()); + timeline.setDurationInFrames(videoTrack->getPlayer()->getTotalNumFrames()); + timeline.setTimecontrolTrack(videoTrack); //video playback will control the time + } + +The timeline's duration must match the video's duration. + Inheritance: ofxTLTrack -> ofxTLImageTrack -> ofxTLVideoTrack @@ -287,29 +292,32 @@ AudioTracks let a user interactively scrub through an audio track and sequence effects in time. -In your .cpp file add the track and load a file +To add an AudioTrack to your project, add the declaration to your .h file + + ofxTimeline timeline; + ofxTLAudioWaveform waveform; + +And in your .cpp file add the track and load a file //-------------------------------------------------------------- void testApp::keyPressed(int key){ //... setup stuff - timeline.addAudioTrack("Audio", "myAudioFile.wav"); + timeline.addTrack("Track", &waveform); + waveform.loadSoundfile("myAudioFile.wav"); + timeline.setDurationInSeconds(waveform.getDuration()); } //-------------------------------------------------------------- - void testApp::update(){ - //check the FFT data + void testApp::keyPressed(int key){ if(key == ' '){ //calling play on the waveform controls the timeline playback - ofxTLAudioTrack* track = timeline.getAudioTrack("Audio"); - for(int i = 0; i < track->getFFTSize(); i++){ - track->getFFT()[i]; //FFT data - } - } + waveform.togglePlay(); + } } -. +The timeline's duration must match the audio's duration. - Inheritance: ofxTLTrack -> ofxTLImageTrack -> ofxTLAudioTrack + Inheritance: ofxTLTrack -> ofxTLImageTrack -> ofxTLVideoTrack ### ColorTrack diff -Nru duration-0.0.4/addons/ofxTimeline/README_JP.md duration-0.0.3/addons/ofxTimeline/README_JP.md --- duration-0.0.4/addons/ofxTimeline/README_JP.md 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/README_JP.md 2013-02-03 00:29:07.000000000 +0000 @@ -7,9 +7,11 @@ また、サポートされていないタイムベースのデータを編集する為にカスタムトラックを作成し、ofxTimelineを拡張する事も可能です。[カスタムトラックをデザインする](#%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%88%E3%83%A9%E3%83%83%E3%82%AF%E3%82%92%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%99%E3%82%8B)をご参照ください。 -Copyright 2011-2012 [James George](http://www.jamesgeorge.org) Co-developed by [YCAM InterLab](http://interlab.ycam.jp/) +Copyright 2011-2012 [James George](http://www.jamesgeorge.org) -Licensed under the Apache License +Co-developed by [YCAM InterLab](http://interlab.ycam.jp/) + +Licensed under the [MIT License](http://opensource.org/licenses/mit-license.php/) - go crazy, guilt free. ## 再利用可能なツールの哲学## @@ -37,7 +39,14 @@ ## はじめに まず初めに、ビデオチュートリアルを下記のURLからご覧になることが出来ます: -https://vimeo.com/59653952 + +https://vimeo.com/52302437 + +https://vimeo.com/52304312 + +https://vimeo.com/52304313 + +password: ycam ## ofxTimelineの構造 @@ -149,31 +158,18 @@ ### ofxTimelineと関連するファイルのクローンを行う timelineをダウンロードするためには、まずターミナルを開き、下記の様に入力します。 - $cd of_0073_osx_release/addons + $cd of_0071_osx_release/addons $git clone https://github.com/YCAMInterlab/ofxTimeline.git $cd ofxTimeline/ $./clone_addons.sh これで、必要なアドオンをダウンロードする事が出来ます。もしもいくつかのアドオンが既にインストール済みであった場合は、そのアドオンが上書きされる事はありません。 -### ofxTimelineを含むプロジェクトを作成する -of_0073_osx_release/projectGenerator/に入っているProjectGeneratorを開きます。 - -プロジェクトに名前をつけ、addonsタブから、下記のアドオンを選択します。 -- ofxTimeline -- ofxTimecode -- ofxMSATimer -- ofxTextInputField -- ofxRange -- ofxTween +### ofxTimelineをプロジェクトに加える -上記を選択し追えたら、BACKで一つ前の画面に戻り、Generate projectをクリックします。 +Xcodeでタイムラインを組み込みたいプロジェクトを開きます。ofxTimelineフォルダをファインダーから、Xcodeのナビゲーターエリアの、addons/の位置にドラッグアンドドロップします。 -Windows上のVC2010を使われている場合は、Properties -> Configuration Properties -> Build Events -> Post-Build events -> Command Lineの順に選択し、下記のbuild eventをコピー&ペーストしてください。 - -xcopy /e /i /y "$(ProjectDir)..\..\..\export\vs2010\*.dll" "$(ProjectDir)bin" & xcopy /e /i /y "$(ProjectDir)..\..\..\addons\ofxTimeline\libs\sndfile\redist\*.dll" "$(ProjectDir)bin" - -MacOSXでAudioTrackを使用する場合は、OpenAL.frameworkをプロジェクトに加える必要があります。 +Audiowaveformを使用する場合には追加のインストラクションも参照してください。もしもそうでないなら、ofxTLAudioTrackのソースファイルへの参照と同様に、examples-*/フォルダーや、libs/フォルダーを削除してもかまいません。 ### タイムラインをコードに加える @@ -196,20 +192,31 @@ timeline.setLoopType(OF_LOOP_NORMAL); //turns the timeline to loop //add a track - timeline.addCurves("MyCircleRadius", ofRange(0, 200)); + timeline.addKeyframes("MyCircleRadius", ofRange(0, 200)); drawもしくはupdateの中で値を読み出します。 //-------------------------------------------------------------- void testApp::draw(){ //the value of changingRadius will be different depending on the timeline - float changingRadius = timeline.getValue("MyCircleRadius"), + float changingRadius = timeline.getKeyframeValue("MyCircleRadius"), //use the value for something amazing! ofCircle(mouseX, mouseY, changingRadius); //don't forget to draw your timeline so you can edit it. timeline.draw(); } +ホットキーで再生/停止と、タイムラインの表示/非表示がコントロール出来る様にしておくのは良い慣習でしょう。 + + //-------------------------------------------------------------- + void testApp::keyPressed(int key){ + if(key == ' '){ + timeline.togglePlay(); + } + if(key == 'h'){ + timeline.toggleShow(); + } + } ## トラックのタイプ ofxTimelineには、一般的なタイムラインで必要になる数種類のタイプのトラックが標準で組み込まれています。 @@ -280,14 +287,15 @@ VideoTracksでは、映像とそのエフェクトを同時にスクラブ再生する事が出来ます。videoトラックが追加されると、映像再生が全体のタイムラインの再生を制御する形になります。 - ofxTLVideoTrack* videoTrack = timeline.addVideoTrack("Video", videoPath); - if(videoTrack != NULL){ //in the case the video load failed check against null - timeline.setFrameRate(videoTrack->getPlayer()->getTotalNumFrames()/videoTrack->getPlayer()->getDuration()); - timeline.setDurationInFrames(videoTrack->getPlayer()->getTotalNumFrames()); - timeline.setTimecontrolTrack(videoTrack); //video playback will control the time - } + ofxTLVideoTrack* videoTrack = timeline.addVideoTrack("Video", videoPath); + if(videoTrack != NULL){ //in the case the video load failed check against null + timeline.setFrameRate(videoTrack->getPlayer()->getTotalNumFrames()/videoTrack->getPlayer()->getDuration()); + timeline.setDurationInFrames(videoTrack->getPlayer()->getTotalNumFrames()); + timeline.setTimecontrolTrack(videoTrack); //video playback will control the time + } + +timelineの長さは映像の長さと一致している必要があります。 -. 継承関係:ofxTLTrack -> ofxTLImageTrack -> ofxTLVideoTrack @@ -297,29 +305,32 @@ AudioTracksを使用すると、オーディオトラックとその他のシーケンスを同時にスクラブ再生する事が出来ます。 -.cppファイルの中でトラックを追加し、ファイルを読み込みます。 +AudioTrackを追加するには、下記の様に.hファイルの中に宣言する必要が有ります。 + + ofxTimeline timeline; + ofxTLAudioWaveform waveform; + +そして.cppファイルの中でトラック追加とファイルの読み出しを行います。 //-------------------------------------------------------------- void testApp::keyPressed(int key){ //... setup stuff - timeline.addAudioTrack("Audio", "myAudioFile.wav"); + timeline.addTrack("Track", &waveform); + waveform.loadSoundfile("myAudioFile.wav"); + timeline.setDurationInSeconds(waveform.getDuration()); } //-------------------------------------------------------------- - void testApp::update(){ - //check the FFT data + void testApp::keyPressed(int key){ if(key == ' '){ //calling play on the waveform controls the timeline playback - ofxTLAudioTrack* track = timeline.getAudioTrack("Audio"); - for(int i = 0; i < track->getFFTSize(); i++){ - track->getFFT()[i]; //FFT data - } - } + waveform.togglePlay(); + } } -. +タイムライン全体の長さはオーディオの長さと同じである必要があります。 - 継承関係:ofxTLTrack -> ofxTLImageTrack -> ofxTLAudioTrack + 継承関係:ofxTLTrack -> ofxTLImageTrack -> ofxTLVideoTrack ### ColorTrack diff -Nru duration-0.0.4/addons/ofxTimeline/clone_addons.sh duration-0.0.3/addons/ofxTimeline/clone_addons.sh --- duration-0.0.4/addons/ofxTimeline/clone_addons.sh 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/clone_addons.sh 2012-10-13 00:18:13.000000000 +0000 @@ -16,8 +16,6 @@ ${PREFIX}obviousjim/ofxMSATimer.git -${PREFIX}Flightphase/ofxTextInputField.git -b develop - -echo "If you're using linux, please make sure you checkout the develop branch of ofxTextInputField" +${PREFIX}Flightphase/ofxTextInputField.git ${PREFIX}Flightphase/ofxRange.git Binary files /tmp/eIZc9kpHZz/duration-0.0.4/addons/ofxTimeline/copy_to_data_GUI/NewMedia Fett.ttf and /tmp/QLVMTSwiuM/duration-0.0.3/addons/ofxTimeline/copy_to_data_GUI/NewMedia Fett.ttf differ Binary files /tmp/eIZc9kpHZz/duration-0.0.4/addons/ofxTimeline/copy_to_data_GUI/defaultColorPalette.png and /tmp/QLVMTSwiuM/duration-0.0.3/addons/ofxTimeline/copy_to_data_GUI/defaultColorPalette.png differ diff -Nru duration-0.0.4/addons/ofxTimeline/copy_to_data_GUI/defaultColors.xml duration-0.0.3/addons/ofxTimeline/copy_to_data_GUI/defaultColors.xml --- duration-0.0.4/addons/ofxTimeline/copy_to_data_GUI/defaultColors.xml 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/copy_to_data_GUI/defaultColors.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - 0000 - - - 414253255 - - - 255255255255 - - - 52175195255 - - - 1655471255 - - - 9898103255 - - - 9898103255 - - - 149204103255 - - \ No newline at end of file diff -Nru duration-0.0.4/addons/ofxTimeline/libs/kiss/include/kiss_fft.h duration-0.0.3/addons/ofxTimeline/libs/kiss/include/kiss_fft.h --- duration-0.0.4/addons/ofxTimeline/libs/kiss/include/kiss_fft.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/kiss/include/kiss_fft.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,127 +0,0 @@ -#ifndef KISS_FFT_H -#define KISS_FFT_H - -#include -#include -#include -#include - -/* - stdlib.h includes malloc, and malloc.h is deprecated. -*/ -// #include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - ATTENTION! - If you would like a : - -- a utility that will handle the caching of fft objects - -- real-only (no imaginary time component ) FFT - -- a multi-dimensional FFT - -- a command-line utility to perform ffts - -- a command-line utility to perform fast-convolution filtering - - Then see kfc.h kiss_fftr.h kiss_fftnd.h fftutil.c kiss_fastfir.c - in the tools/ directory. -*/ - -#ifdef USE_SIMD -# include -# define kiss_fft_scalar __m128 -#define KISS_FFT_MALLOC(nbytes) memalign(16,nbytes) -#else -#define KISS_FFT_MALLOC malloc -#endif - - -#ifdef FIXED_POINT -#include -# if (FIXED_POINT == 32) -# define kiss_fft_scalar int32_t -# else -# define kiss_fft_scalar int16_t -# endif -#else -# ifndef kiss_fft_scalar -/* default is float */ -# define kiss_fft_scalar float -# endif -#endif - -typedef struct { - kiss_fft_scalar r; - kiss_fft_scalar i; -}kiss_fft_cpx; - -typedef struct kiss_fft_state* kiss_fft_cfg; - -/* - * kiss_fft_alloc - * - * Initialize a FFT (or IFFT) algorithm's cfg/state buffer. - * - * typical usage: kiss_fft_cfg mycfg=kiss_fft_alloc(1024,0,NULL,NULL); - * - * The return value from fft_alloc is a cfg buffer used internally - * by the fft routine or NULL. - * - * If lenmem is NULL, then kiss_fft_alloc will allocate a cfg buffer using malloc. - * The returned value should be free()d when done to avoid memory leaks. - * - * The state can be placed in a user supplied buffer 'mem': - * If lenmem is not NULL and mem is not NULL and *lenmem is large enough, - * then the function places the cfg in mem and the size used in *lenmem - * and returns mem. - * - * If lenmem is not NULL and ( mem is NULL or *lenmem is not large enough), - * then the function returns NULL and places the minimum cfg - * buffer size in *lenmem. - * */ - -kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem); - -/* - * kiss_fft(cfg,in_out_buf) - * - * Perform an FFT on a complex input buffer. - * for a forward FFT, - * fin should be f[0] , f[1] , ... ,f[nfft-1] - * fout will be F[0] , F[1] , ... ,F[nfft-1] - * Note that each element is complex and can be accessed like - f[k].r and f[k].i - * */ -void kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout); - -/* - A more generic version of the above function. It reads its input from every Nth sample. - * */ -void kiss_fft_stride(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int fin_stride); - -/* If kiss_fft_alloc allocated a buffer, it is one contiguous - buffer and can be simply free()d when no longer needed*/ -#define kiss_fft_free free - -/* - Cleans up some memory that gets managed internally. Not necessary to call, but it might clean up - your compiler output to call this before you exit. -*/ -void kiss_fft_cleanup(void); - - -/* - * Returns the smallest integer k, such that k>=n and k has only "fast" factors (2,3,5) - */ -int kiss_fft_next_fast_size(int n); - -/* for real ffts, we need an even size */ -#define kiss_fftr_next_fast_size_real(n) \ - (kiss_fft_next_fast_size( ((n)+1)>>1)<<1) - -#ifdef __cplusplus -} -#endif - -#endif diff -Nru duration-0.0.4/addons/ofxTimeline/libs/kiss/include/kiss_fftr.h duration-0.0.3/addons/ofxTimeline/libs/kiss/include/kiss_fftr.h --- duration-0.0.4/addons/ofxTimeline/libs/kiss/include/kiss_fftr.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/kiss/include/kiss_fftr.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ -#ifndef KISS_FTR_H -#define KISS_FTR_H - -#include "kiss_fft.h" -#ifdef __cplusplus -extern "C" { -#endif - - -/* - - Real optimized version can save about 45% cpu time vs. complex fft of a real seq. - - - - */ - -typedef struct kiss_fftr_state *kiss_fftr_cfg; - - -kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem); -/* - nfft must be even - - If you don't care to allocate space, use mem = lenmem = NULL -*/ - - -void kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata); -/* - input timedata has nfft scalar points - output freqdata has nfft/2+1 complex points -*/ - -void kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata); -/* - input freqdata has nfft/2+1 complex points - output timedata has nfft scalar points -*/ - -#define kiss_fftr_free free - -#ifdef __cplusplus -} -#endif -#endif diff -Nru duration-0.0.4/addons/ofxTimeline/libs/kiss/src/_kiss_fft_guts.h duration-0.0.3/addons/ofxTimeline/libs/kiss/src/_kiss_fft_guts.h --- duration-0.0.4/addons/ofxTimeline/libs/kiss/src/_kiss_fft_guts.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/kiss/src/_kiss_fft_guts.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,150 +0,0 @@ -/* -Copyright (c) 2003-2004, Mark Borgerding - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the author nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/* kiss_fft.h - defines kiss_fft_scalar as either short or a float type - and defines - typedef struct { kiss_fft_scalar r; kiss_fft_scalar i; }kiss_fft_cpx; */ -#include "kiss_fft.h" -#include - -#define MAXFACTORS 32 -/* e.g. an fft of length 128 has 4 factors - as far as kissfft is concerned - 4*4*4*2 - */ - -struct kiss_fft_state{ - int nfft; - int inverse; - int factors[2*MAXFACTORS]; - kiss_fft_cpx twiddles[1]; -}; - -/* - Explanation of macros dealing with complex math: - - C_MUL(m,a,b) : m = a*b - C_FIXDIV( c , div ) : if a fixed point impl., c /= div. noop otherwise - C_SUB( res, a,b) : res = a - b - C_SUBFROM( res , a) : res -= a - C_ADDTO( res , a) : res += a - * */ -#ifdef FIXED_POINT -#if (FIXED_POINT==32) -# define FRACBITS 31 -# define SAMPPROD int64_t -#define SAMP_MAX 2147483647 -#else -# define FRACBITS 15 -# define SAMPPROD int32_t -#define SAMP_MAX 32767 -#endif - -#define SAMP_MIN -SAMP_MAX - -#if defined(CHECK_OVERFLOW) -# define CHECK_OVERFLOW_OP(a,op,b) \ - if ( (SAMPPROD)(a) op (SAMPPROD)(b) > SAMP_MAX || (SAMPPROD)(a) op (SAMPPROD)(b) < SAMP_MIN ) { \ - fprintf(stderr,"WARNING:overflow @ " __FILE__ "(%d): (%d " #op" %d) = %ld\n",__LINE__,(a),(b),(SAMPPROD)(a) op (SAMPPROD)(b) ); } -#endif - - -# define smul(a,b) ( (SAMPPROD)(a)*(b) ) -# define sround( x ) (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS ) - -# define S_MUL(a,b) sround( smul(a,b) ) - -# define C_MUL(m,a,b) \ - do{ (m).r = sround( smul((a).r,(b).r) - smul((a).i,(b).i) ); \ - (m).i = sround( smul((a).r,(b).i) + smul((a).i,(b).r) ); }while(0) - -# define DIVSCALAR(x,k) \ - (x) = sround( smul( x, SAMP_MAX/k ) ) - -# define C_FIXDIV(c,div) \ - do { DIVSCALAR( (c).r , div); \ - DIVSCALAR( (c).i , div); }while (0) - -# define C_MULBYSCALAR( c, s ) \ - do{ (c).r = sround( smul( (c).r , s ) ) ;\ - (c).i = sround( smul( (c).i , s ) ) ; }while(0) - -#else /* not FIXED_POINT*/ - -# define S_MUL(a,b) ( (a)*(b) ) -#define C_MUL(m,a,b) \ - do{ (m).r = (a).r*(b).r - (a).i*(b).i;\ - (m).i = (a).r*(b).i + (a).i*(b).r; }while(0) -# define C_FIXDIV(c,div) /* NOOP */ -# define C_MULBYSCALAR( c, s ) \ - do{ (c).r *= (s);\ - (c).i *= (s); }while(0) -#endif - -#ifndef CHECK_OVERFLOW_OP -# define CHECK_OVERFLOW_OP(a,op,b) /* noop */ -#endif - -#define C_ADD( res, a,b)\ - do { \ - CHECK_OVERFLOW_OP((a).r,+,(b).r)\ - CHECK_OVERFLOW_OP((a).i,+,(b).i)\ - (res).r=(a).r+(b).r; (res).i=(a).i+(b).i; \ - }while(0) -#define C_SUB( res, a,b)\ - do { \ - CHECK_OVERFLOW_OP((a).r,-,(b).r)\ - CHECK_OVERFLOW_OP((a).i,-,(b).i)\ - (res).r=(a).r-(b).r; (res).i=(a).i-(b).i; \ - }while(0) -#define C_ADDTO( res , a)\ - do { \ - CHECK_OVERFLOW_OP((res).r,+,(a).r)\ - CHECK_OVERFLOW_OP((res).i,+,(a).i)\ - (res).r += (a).r; (res).i += (a).i;\ - }while(0) - -#define C_SUBFROM( res , a)\ - do {\ - CHECK_OVERFLOW_OP((res).r,-,(a).r)\ - CHECK_OVERFLOW_OP((res).i,-,(a).i)\ - (res).r -= (a).r; (res).i -= (a).i; \ - }while(0) - - -#ifdef FIXED_POINT -# define KISS_FFT_COS(phase) floor(.5+SAMP_MAX * cos (phase)) -# define KISS_FFT_SIN(phase) floor(.5+SAMP_MAX * sin (phase)) -# define HALF_OF(x) ((x)>>1) -#elif defined(USE_SIMD) -# define KISS_FFT_COS(phase) _mm_set1_ps( cos(phase) ) -# define KISS_FFT_SIN(phase) _mm_set1_ps( sin(phase) ) -# define HALF_OF(x) ((x)*_mm_set1_ps(.5)) -#else -# define KISS_FFT_COS(phase) (kiss_fft_scalar) cos(phase) -# define KISS_FFT_SIN(phase) (kiss_fft_scalar) sin(phase) -# define HALF_OF(x) ((x)*.5) -#endif - -#define kf_cexp(x,phase) \ - do{ \ - (x)->r = KISS_FFT_COS(phase);\ - (x)->i = KISS_FFT_SIN(phase);\ - }while(0) - - -/* a debugging function */ -#define pcpx(c)\ - fprintf(stderr,"%g + %gi\n",(double)((c)->r),(double)((c)->i) ) diff -Nru duration-0.0.4/addons/ofxTimeline/libs/kiss/src/kiss_fft.c duration-0.0.3/addons/ofxTimeline/libs/kiss/src/kiss_fft.c --- duration-0.0.4/addons/ofxTimeline/libs/kiss/src/kiss_fft.c 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/kiss/src/kiss_fft.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,427 +0,0 @@ -/* -Copyright (c) 2003-2004, Mark Borgerding - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the author nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - - -#include "_kiss_fft_guts.h" -/* The guts header contains all the multiplication and addition macros that are defined for - fixed or floating point complex numbers. It also delares the kf_ internal functions. - */ - -static kiss_fft_cpx *scratchbuf=NULL; -static size_t nscratchbuf=0; -static kiss_fft_cpx *tmpbuf=NULL; -static size_t ntmpbuf=0; - -#define CHECKBUF(buf,nbuf,n) \ - do { \ - if ( nbuf < (size_t)(n) ) {\ - free(buf); \ - buf = (kiss_fft_cpx*)KISS_FFT_MALLOC(sizeof(kiss_fft_cpx)*(n)); \ - nbuf = (size_t)(n); \ - } \ - }while(0) - - -static void kf_bfly2( - kiss_fft_cpx * Fout, - const size_t fstride, - const kiss_fft_cfg st, - int m - ) -{ - kiss_fft_cpx * Fout2; - kiss_fft_cpx * tw1 = st->twiddles; - kiss_fft_cpx t; - Fout2 = Fout + m; - do{ - C_FIXDIV(*Fout,2); C_FIXDIV(*Fout2,2); - - C_MUL (t, *Fout2 , *tw1); - tw1 += fstride; - C_SUB( *Fout2 , *Fout , t ); - C_ADDTO( *Fout , t ); - ++Fout2; - ++Fout; - }while (--m); -} - -static void kf_bfly4( - kiss_fft_cpx * Fout, - const size_t fstride, - const kiss_fft_cfg st, - const size_t m - ) -{ - kiss_fft_cpx *tw1,*tw2,*tw3; - kiss_fft_cpx scratch[6]; - size_t k=m; - const size_t m2=2*m; - const size_t m3=3*m; - - tw3 = tw2 = tw1 = st->twiddles; - - do { - C_FIXDIV(*Fout,4); C_FIXDIV(Fout[m],4); C_FIXDIV(Fout[m2],4); C_FIXDIV(Fout[m3],4); - - C_MUL(scratch[0],Fout[m] , *tw1 ); - C_MUL(scratch[1],Fout[m2] , *tw2 ); - C_MUL(scratch[2],Fout[m3] , *tw3 ); - - C_SUB( scratch[5] , *Fout, scratch[1] ); - C_ADDTO(*Fout, scratch[1]); - C_ADD( scratch[3] , scratch[0] , scratch[2] ); - C_SUB( scratch[4] , scratch[0] , scratch[2] ); - C_SUB( Fout[m2], *Fout, scratch[3] ); - tw1 += fstride; - tw2 += fstride*2; - tw3 += fstride*3; - C_ADDTO( *Fout , scratch[3] ); - - if(st->inverse) { - Fout[m].r = scratch[5].r - scratch[4].i; - Fout[m].i = scratch[5].i + scratch[4].r; - Fout[m3].r = scratch[5].r + scratch[4].i; - Fout[m3].i = scratch[5].i - scratch[4].r; - }else{ - Fout[m].r = scratch[5].r + scratch[4].i; - Fout[m].i = scratch[5].i - scratch[4].r; - Fout[m3].r = scratch[5].r - scratch[4].i; - Fout[m3].i = scratch[5].i + scratch[4].r; - } - ++Fout; - }while(--k); -} - -static void kf_bfly3( - kiss_fft_cpx * Fout, - const size_t fstride, - const kiss_fft_cfg st, - size_t m - ) -{ - size_t k=m; - const size_t m2 = 2*m; - kiss_fft_cpx *tw1,*tw2; - kiss_fft_cpx scratch[5]; - kiss_fft_cpx epi3; - epi3 = st->twiddles[fstride*m]; - - tw1=tw2=st->twiddles; - - do{ - C_FIXDIV(*Fout,3); C_FIXDIV(Fout[m],3); C_FIXDIV(Fout[m2],3); - - C_MUL(scratch[1],Fout[m] , *tw1); - C_MUL(scratch[2],Fout[m2] , *tw2); - - C_ADD(scratch[3],scratch[1],scratch[2]); - C_SUB(scratch[0],scratch[1],scratch[2]); - tw1 += fstride; - tw2 += fstride*2; - - Fout[m].r = Fout->r - HALF_OF(scratch[3].r); - Fout[m].i = Fout->i - HALF_OF(scratch[3].i); - - C_MULBYSCALAR( scratch[0] , epi3.i ); - - C_ADDTO(*Fout,scratch[3]); - - Fout[m2].r = Fout[m].r + scratch[0].i; - Fout[m2].i = Fout[m].i - scratch[0].r; - - Fout[m].r -= scratch[0].i; - Fout[m].i += scratch[0].r; - - ++Fout; - }while(--k); -} - -static void kf_bfly5( - kiss_fft_cpx * Fout, - const size_t fstride, - const kiss_fft_cfg st, - int m - ) -{ - kiss_fft_cpx *Fout0,*Fout1,*Fout2,*Fout3,*Fout4; - int u; - kiss_fft_cpx scratch[13]; - kiss_fft_cpx * twiddles = st->twiddles; - kiss_fft_cpx *tw; - kiss_fft_cpx ya,yb; - ya = twiddles[fstride*m]; - yb = twiddles[fstride*2*m]; - - Fout0=Fout; - Fout1=Fout0+m; - Fout2=Fout0+2*m; - Fout3=Fout0+3*m; - Fout4=Fout0+4*m; - - tw=st->twiddles; - for ( u=0; ur += scratch[7].r + scratch[8].r; - Fout0->i += scratch[7].i + scratch[8].i; - - scratch[5].r = scratch[0].r + S_MUL(scratch[7].r,ya.r) + S_MUL(scratch[8].r,yb.r); - scratch[5].i = scratch[0].i + S_MUL(scratch[7].i,ya.r) + S_MUL(scratch[8].i,yb.r); - - scratch[6].r = S_MUL(scratch[10].i,ya.i) + S_MUL(scratch[9].i,yb.i); - scratch[6].i = -S_MUL(scratch[10].r,ya.i) - S_MUL(scratch[9].r,yb.i); - - C_SUB(*Fout1,scratch[5],scratch[6]); - C_ADD(*Fout4,scratch[5],scratch[6]); - - scratch[11].r = scratch[0].r + S_MUL(scratch[7].r,yb.r) + S_MUL(scratch[8].r,ya.r); - scratch[11].i = scratch[0].i + S_MUL(scratch[7].i,yb.r) + S_MUL(scratch[8].i,ya.r); - scratch[12].r = - S_MUL(scratch[10].i,yb.i) + S_MUL(scratch[9].i,ya.i); - scratch[12].i = S_MUL(scratch[10].r,yb.i) - S_MUL(scratch[9].r,ya.i); - - C_ADD(*Fout2,scratch[11],scratch[12]); - C_SUB(*Fout3,scratch[11],scratch[12]); - - ++Fout0;++Fout1;++Fout2;++Fout3;++Fout4; - } -} - -/* perform the butterfly for one stage of a mixed radix FFT */ -static void kf_bfly_generic( - kiss_fft_cpx * Fout, - const size_t fstride, - const kiss_fft_cfg st, - int m, - int p - ) -{ - int u,k,q1,q; - kiss_fft_cpx * twiddles = st->twiddles; - kiss_fft_cpx t; - int Norig = st->nfft; - - CHECKBUF(scratchbuf,nscratchbuf,p); - - for ( u=0; u=Norig) twidx-=Norig; - C_MUL(t,scratchbuf[q] , twiddles[twidx] ); - C_ADDTO( Fout[ k ] ,t); - } - k += m; - } - } -} - -static -void kf_work( - kiss_fft_cpx * Fout, - const kiss_fft_cpx * f, - const size_t fstride, - int in_stride, - int * factors, - const kiss_fft_cfg st - ) -{ - kiss_fft_cpx * Fout_beg=Fout; - const int p=*factors++; /* the radix */ - const int m=*factors++; /* stage's fft length/p */ - const kiss_fft_cpx * Fout_end = Fout + p*m; - -#ifdef _OPENMP - // use openmp extensions at the - // top-level (not recursive) - if (fstride==1) { - int k; - - // execute the p different work units in different threads -# pragma omp parallel for - for (k=0;k floor_sqrt) - p = n; /* no more factors, skip to end */ - } - n /= p; - *facbuf++ = p; - *facbuf++ = n; - } while (n > 1); -} - -/* - * - * User-callable function to allocate all necessary storage space for the fft. - * - * The return value is a contiguous block of memory, allocated with malloc. As such, - * It can be freed with free(), rather than a kiss_fft-specific function. - * */ -kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem ) -{ - kiss_fft_cfg st=NULL; - size_t memneeded = sizeof(struct kiss_fft_state) - + sizeof(kiss_fft_cpx)*(nfft-1); /* twiddle factors*/ - - if ( lenmem==NULL ) { - st = ( kiss_fft_cfg)KISS_FFT_MALLOC( memneeded ); - }else{ - if (mem != NULL && *lenmem >= memneeded) - st = (kiss_fft_cfg)mem; - *lenmem = memneeded; - } - if (st) { - int i; - st->nfft=nfft; - st->inverse = inverse_fft; - - for (i=0;iinverse) - phase *= -1; - kf_cexp(st->twiddles+i, phase ); - } - - kf_factor(nfft,st->factors); - } - return st; -} - - - - -void kiss_fft_stride(kiss_fft_cfg st,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int in_stride) -{ - if (fin == fout) { - CHECKBUF(tmpbuf,ntmpbuf,st->nfft); - kf_work(tmpbuf,fin,1,in_stride, st->factors,st); - memcpy(fout,tmpbuf,sizeof(kiss_fft_cpx)*st->nfft); - }else{ - kf_work( fout, fin, 1,in_stride, st->factors,st ); - } -} - -void kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout) -{ - kiss_fft_stride(cfg,fin,fout,1); -} - - -/* not really necessary to call, but if someone is doing in-place ffts, they may want to free the - buffers from CHECKBUF - */ -void kiss_fft_cleanup(void) -{ - free(scratchbuf); - scratchbuf = NULL; - nscratchbuf=0; - free(tmpbuf); - tmpbuf=NULL; - ntmpbuf=0; -} - -int kiss_fft_next_fast_size(int n) -{ - while(1) { - int m=n; - while ( (m%2) == 0 ) m/=2; - while ( (m%3) == 0 ) m/=3; - while ( (m%5) == 0 ) m/=5; - if (m<=1) - break; /* n is completely factorable by twos, threes, and fives */ - n++; - } - return n; -} diff -Nru duration-0.0.4/addons/ofxTimeline/libs/kiss/src/kiss_fftr.c duration-0.0.3/addons/ofxTimeline/libs/kiss/src/kiss_fftr.c --- duration-0.0.4/addons/ofxTimeline/libs/kiss/src/kiss_fftr.c 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/kiss/src/kiss_fftr.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,159 +0,0 @@ -/* -Copyright (c) 2003-2004, Mark Borgerding - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the author nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include "kiss_fftr.h" -#include "_kiss_fft_guts.h" - -struct kiss_fftr_state{ - kiss_fft_cfg substate; - kiss_fft_cpx * tmpbuf; - kiss_fft_cpx * super_twiddles; -#ifdef USE_SIMD - long pad; -#endif -}; - -kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem) -{ - int i; - kiss_fftr_cfg st = NULL; - size_t subsize, memneeded; - - if (nfft & 1) { - fprintf(stderr,"Real FFT optimization must be even.\n"); - return NULL; - } - nfft >>= 1; - - kiss_fft_alloc (nfft, inverse_fft, NULL, &subsize); - memneeded = sizeof(struct kiss_fftr_state) + subsize + sizeof(kiss_fft_cpx) * ( nfft * 3 / 2); - - if (lenmem == NULL) { - st = (kiss_fftr_cfg) KISS_FFT_MALLOC (memneeded); - } else { - if (*lenmem >= memneeded) - st = (kiss_fftr_cfg) mem; - *lenmem = memneeded; - } - if (!st) - return NULL; - - st->substate = (kiss_fft_cfg) (st + 1); /*just beyond kiss_fftr_state struct */ - st->tmpbuf = (kiss_fft_cpx *) (((char *) st->substate) + subsize); - st->super_twiddles = st->tmpbuf + nfft; - kiss_fft_alloc(nfft, inverse_fft, st->substate, &subsize); - - for (i = 0; i < nfft/2; ++i) { - double phase = - -3.14159265358979323846264338327 * ((double) (i+1) / nfft + .5); - if (inverse_fft) - phase *= -1; - kf_cexp (st->super_twiddles+i,phase); - } - return st; -} - -void kiss_fftr(kiss_fftr_cfg st,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata) -{ - /* input buffer timedata is stored row-wise */ - int k,ncfft; - kiss_fft_cpx fpnk,fpk,f1k,f2k,tw,tdc; - - if ( st->substate->inverse) { - fprintf(stderr,"kiss fft usage error: improper alloc\n"); - exit(1); - } - - ncfft = st->substate->nfft; - - /*perform the parallel fft of two real signals packed in real,imag*/ - kiss_fft( st->substate , (const kiss_fft_cpx*)timedata, st->tmpbuf ); - /* The real part of the DC element of the frequency spectrum in st->tmpbuf - * contains the sum of the even-numbered elements of the input time sequence - * The imag part is the sum of the odd-numbered elements - * - * The sum of tdc.r and tdc.i is the sum of the input time sequence. - * yielding DC of input time sequence - * The difference of tdc.r - tdc.i is the sum of the input (dot product) [1,-1,1,-1... - * yielding Nyquist bin of input time sequence - */ - - tdc.r = st->tmpbuf[0].r; - tdc.i = st->tmpbuf[0].i; - C_FIXDIV(tdc,2); - CHECK_OVERFLOW_OP(tdc.r ,+, tdc.i); - CHECK_OVERFLOW_OP(tdc.r ,-, tdc.i); - freqdata[0].r = tdc.r + tdc.i; - freqdata[ncfft].r = tdc.r - tdc.i; -#ifdef USE_SIMD - freqdata[ncfft].i = freqdata[0].i = _mm_set1_ps(0); -#else - freqdata[ncfft].i = freqdata[0].i = 0; -#endif - - for ( k=1;k <= ncfft/2 ; ++k ) { - fpk = st->tmpbuf[k]; - fpnk.r = st->tmpbuf[ncfft-k].r; - fpnk.i = - st->tmpbuf[ncfft-k].i; - C_FIXDIV(fpk,2); - C_FIXDIV(fpnk,2); - - C_ADD( f1k, fpk , fpnk ); - C_SUB( f2k, fpk , fpnk ); - C_MUL( tw , f2k , st->super_twiddles[k-1]); - - freqdata[k].r = HALF_OF(f1k.r + tw.r); - freqdata[k].i = HALF_OF(f1k.i + tw.i); - freqdata[ncfft-k].r = HALF_OF(f1k.r - tw.r); - freqdata[ncfft-k].i = HALF_OF(tw.i - f1k.i); - } -} - -void kiss_fftri(kiss_fftr_cfg st,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata) -{ - /* input buffer timedata is stored row-wise */ - int k, ncfft; - - if (st->substate->inverse == 0) { - fprintf (stderr, "kiss fft usage error: improper alloc\n"); - exit (1); - } - - ncfft = st->substate->nfft; - - st->tmpbuf[0].r = freqdata[0].r + freqdata[ncfft].r; - st->tmpbuf[0].i = freqdata[0].r - freqdata[ncfft].r; - C_FIXDIV(st->tmpbuf[0],2); - - for (k = 1; k <= ncfft / 2; ++k) { - kiss_fft_cpx fk, fnkc, fek, fok, tmp; - fk = freqdata[k]; - fnkc.r = freqdata[ncfft - k].r; - fnkc.i = -freqdata[ncfft - k].i; - C_FIXDIV( fk , 2 ); - C_FIXDIV( fnkc , 2 ); - - C_ADD (fek, fk, fnkc); - C_SUB (tmp, fk, fnkc); - C_MUL (fok, tmp, st->super_twiddles[k-1]); - C_ADD (st->tmpbuf[k], fek, fok); - C_SUB (st->tmpbuf[ncfft - k], fek, fok); -#ifdef USE_SIMD - st->tmpbuf[ncfft - k].i *= _mm_set1_ps(-1.0); -#else - st->tmpbuf[ncfft - k].i *= -1; -#endif - } - kiss_fft (st->substate, st->tmpbuf, (kiss_fft_cpx *) timedata); -} diff -Nru duration-0.0.4/addons/ofxTimeline/libs/ofOpenALSoundPlayer_TimelineAdditions/src/ofOpenALSoundPlayer_TimelineAdditions.cpp duration-0.0.3/addons/ofxTimeline/libs/ofOpenALSoundPlayer_TimelineAdditions/src/ofOpenALSoundPlayer_TimelineAdditions.cpp --- duration-0.0.4/addons/ofxTimeline/libs/ofOpenALSoundPlayer_TimelineAdditions/src/ofOpenALSoundPlayer_TimelineAdditions.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/ofOpenALSoundPlayer_TimelineAdditions/src/ofOpenALSoundPlayer_TimelineAdditions.cpp 2013-02-03 00:29:07.000000000 +0000 @@ -46,8 +46,6 @@ fftCfg = 0; streamf = 0; octaves = 0; - curMaxAverage = 0; - timeSet = false; #ifdef OF_USING_MPG123 mp3streamf = 0; #endif @@ -349,14 +347,7 @@ //------------------------------------------------------------ bool ofOpenALSoundPlayer_TimelineAdditions::loadSound(string fileName, bool is_stream){ - string ext = ofToLower(ofFilePath::getFileExt(fileName)); - if(ext != "wav" && ext != "aif" && ext != "aiff"){ - ofLogError("Sound player can only load .wav or .aiff files"); - return false; - } - - fileName = ofToDataPath(fileName); - + fileName = ofToDataPath(fileName); bLoadedOk = false; bMultiPlay = false; isStreaming = is_stream; @@ -378,11 +369,6 @@ stream(fileName, buffer); } - if(channels == 0){ - ofLogError("ofOpenALSoundPlayer_TimelineAdditions -- File not found"); - return false; - } - int numFrames = buffer.size()/channels; if(isStreaming){ buffers.resize(channels*2); @@ -482,7 +468,6 @@ vector > multibuffer; multibuffer.resize(channels); while(isThreadRunning()){ - cout << "threaded function" << endl; for(int i=0; i 0){ getSpectrum(bins.size()); - float max = 0; for (int i = 0; i < octaves; i++){ float lowFreq, hiFreq, freqStep; if (i == 0){ @@ -910,13 +881,11 @@ for (int j = 0; j < avgPerOctave; j++){ int offset = j + i * avgPerOctave; averages[offset] = calculateAverage(f, f + freqStep); - max = MAX(max,averages[offset]); f += freqStep; } } } - return averages; } diff -Nru duration-0.0.4/addons/ofxTimeline/libs/ofOpenALSoundPlayer_TimelineAdditions/src/ofOpenALSoundPlayer_TimelineAdditions.h duration-0.0.3/addons/ofxTimeline/libs/ofOpenALSoundPlayer_TimelineAdditions/src/ofOpenALSoundPlayer_TimelineAdditions.h --- duration-0.0.4/addons/ofxTimeline/libs/ofOpenALSoundPlayer_TimelineAdditions/src/ofOpenALSoundPlayer_TimelineAdditions.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/ofOpenALSoundPlayer_TimelineAdditions/src/ofOpenALSoundPlayer_TimelineAdditions.h 2013-02-03 00:29:07.000000000 +0000 @@ -2,7 +2,7 @@ #include "ofConstants.h" -#include "ofMain.h" + #include "ofBaseSoundPlayer.h" #include "ofEvents.h" #include "ofThread.h" @@ -191,11 +191,7 @@ double stream_scale; vector buffer; vector fftAuxBuffer; - float curMaxAverage; - + bool stream_end; - - bool timeSet; - float justSetTime; }; diff -Nru duration-0.0.4/addons/ofxTimeline/libs/openal/include/AL/EFX-Util.h duration-0.0.3/addons/ofxTimeline/libs/openal/include/AL/EFX-Util.h --- duration-0.0.4/addons/ofxTimeline/libs/openal/include/AL/EFX-Util.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/openal/include/AL/EFX-Util.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,446 +0,0 @@ -/*******************************************************************\ -* * -* EFX-UTIL.H - EFX Utilities functions and Reverb Presets * -* * -* File revision 1.0 * -* * -\*******************************************************************/ - -#ifndef EFX_UTIL_H_INCLUDED -#define EFX_UTIL_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -#pragma pack(push, 4) - -#ifndef EAXVECTOR_DEFINED -#define EAXVECTOR_DEFINED -typedef struct _EAXVECTOR { - float x; - float y; - float z; -} EAXVECTOR; -#endif - -#ifndef EAXREVERBPROPERTIES_DEFINED -#define EAXREVERBPROPERTIES_DEFINED -typedef struct _EAXREVERBPROPERTIES -{ - unsigned long ulEnvironment; - float flEnvironmentSize; - float flEnvironmentDiffusion; - long lRoom; - long lRoomHF; - long lRoomLF; - float flDecayTime; - float flDecayHFRatio; - float flDecayLFRatio; - long lReflections; - float flReflectionsDelay; - EAXVECTOR vReflectionsPan; - long lReverb; - float flReverbDelay; - EAXVECTOR vReverbPan; - float flEchoTime; - float flEchoDepth; - float flModulationTime; - float flModulationDepth; - float flAirAbsorptionHF; - float flHFReference; - float flLFReference; - float flRoomRolloffFactor; - unsigned long ulFlags; -} EAXREVERBPROPERTIES, *LPEAXREVERBPROPERTIES; -#endif - -#ifndef EFXEAXREVERBPROPERTIES_DEFINED -#define EFXEAXREVERBPROPERTIES_DEFINED -typedef struct -{ - float flDensity; - float flDiffusion; - float flGain; - float flGainHF; - float flGainLF; - float flDecayTime; - float flDecayHFRatio; - float flDecayLFRatio; - float flReflectionsGain; - float flReflectionsDelay; - float flReflectionsPan[3]; - float flLateReverbGain; - float flLateReverbDelay; - float flLateReverbPan[3]; - float flEchoTime; - float flEchoDepth; - float flModulationTime; - float flModulationDepth; - float flAirAbsorptionGainHF; - float flHFReference; - float flLFReference; - float flRoomRolloffFactor; - int iDecayHFLimit; -} EFXEAXREVERBPROPERTIES, *LPEFXEAXREVERBPROPERTIES; -#endif - -#ifndef EAXOBSTRUCTIONPROPERTIES_DEFINED -#define EAXOBSTRUCTIONPROPERTIES_DEFINED -typedef struct _EAXOBSTRUCTIONPROPERTIES -{ - long lObstruction; - float flObstructionLFRatio; -} EAXOBSTRUCTIONPROPERTIES, *LPEAXOBSTRUCTIONPROPERTIES; -#endif - -#ifndef EAXOCCLUSIONPROPERTIES_DEFINED -#define EAXOCCLUSIONPROPERTIES_DEFINED -typedef struct _EAXOCCLUSIONPROPERTIES -{ - long lOcclusion; - float flOcclusionLFRatio; - float flOcclusionRoomRatio; - float flOcclusionDirectRatio; -} EAXOCCLUSIONPROPERTIES, *LPEAXOCCLUSIONPROPERTIES; -#endif - -#ifndef EAXEXCLUSIONPROPERTIES_DEFINED -#define EAXEXCLUSIONPROPERTIES_DEFINED -typedef struct _EAXEXCLUSIONPROPERTIES -{ - long lExclusion; - float flExclusionLFRatio; -} EAXEXCLUSIONPROPERTIES, *LPEAXEXCLUSIONPROPERTIES; -#endif - -#ifndef EFXLOWPASSFILTER_DEFINED -#define EFXLOWPASSFILTER_DEFINED -typedef struct _EFXLOWPASSFILTER -{ - float flGain; - float flGainHF; -} EFXLOWPASSFILTER, *LPEFXLOWPASSFILTER; -#endif - -#ifdef EFXUTILDLL_EXPORTS - #define EFX_API __declspec(dllexport) -#else - #define EFX_API -#endif - -EFX_API void __cdecl ConvertReverbParameters(EAXREVERBPROPERTIES *pEAXProp, EFXEAXREVERBPROPERTIES *pEFXEAXReverb); -EFX_API void __cdecl ConvertObstructionParameters(EAXOBSTRUCTIONPROPERTIES *pObProp, EFXLOWPASSFILTER *pDirectLowPassFilter); -EFX_API void __cdecl ConvertExclusionParameters(EAXEXCLUSIONPROPERTIES *pExProp, EFXLOWPASSFILTER *pSendLowPassFilter); -EFX_API void __cdecl ConvertOcclusionParameters(EAXOCCLUSIONPROPERTIES *pOcProp, EFXLOWPASSFILTER *pDirectLowPassFilter, EFXLOWPASSFILTER *pSendLowPassFilter); -EFX_API void __cdecl AdjustEnvironmentSize(EAXREVERBPROPERTIES *pEAXProp, float flEnvironmentSize); - -/***********************************************************************************************\ -* -* EAX Reverb Presets in legacy format - use ConvertReverbParameters() to convert to -* EFX EAX Reverb Presets for use with the OpenAL Effects Extension. -* -************************************************************************************************/ - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_GENERIC \ - {0, 7.5f, 1.000f, -1000, -100, 0, 1.49f, 0.83f, 1.00f, -2602, 0.007f, 0.00f,0.00f,0.00f, 200, 0.011f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_PADDEDCELL \ - {1, 1.4f, 1.000f, -1000, -6000, 0, 0.17f, 0.10f, 1.00f, -1204, 0.001f, 0.00f,0.00f,0.00f, 207, 0.002f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_ROOM \ - {2, 1.9f, 1.000f, -1000, -454, 0, 0.40f, 0.83f, 1.00f, -1646, 0.002f, 0.00f,0.00f,0.00f, 53, 0.003f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_BATHROOM \ - {3, 1.4f, 1.000f, -1000, -1200, 0, 1.49f, 0.54f, 1.00f, -370, 0.007f, 0.00f,0.00f,0.00f, 1030, 0.011f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_LIVINGROOM \ - {4, 2.5f, 1.000f, -1000, -6000, 0, 0.50f, 0.10f, 1.00f, -1376, 0.003f, 0.00f,0.00f,0.00f, -1104, 0.004f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_STONEROOM \ - {5, 11.6f, 1.000f, -1000, -300, 0, 2.31f, 0.64f, 1.00f, -711, 0.012f, 0.00f,0.00f,0.00f, 83, 0.017f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_AUDITORIUM \ - {6, 21.6f, 1.000f, -1000, -476, 0, 4.32f, 0.59f, 1.00f, -789, 0.020f, 0.00f,0.00f,0.00f, -289, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_CONCERTHALL \ - {7, 19.6f, 1.000f, -1000, -500, 0, 3.92f, 0.70f, 1.00f, -1230, 0.020f, 0.00f,0.00f,0.00f, -02, 0.029f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_CAVE \ - {8, 14.6f, 1.000f, -1000, 0, 0, 2.91f, 1.30f, 1.00f, -602, 0.015f, 0.00f,0.00f,0.00f, -302, 0.022f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } -#define REVERB_PRESET_ARENA \ - {9, 36.2f, 1.000f, -1000, -698, 0, 7.24f, 0.33f, 1.00f, -1166, 0.020f, 0.00f,0.00f,0.00f, 16, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_HANGAR \ - {10, 50.3f, 1.000f, -1000, -1000, 0, 10.05f, 0.23f, 1.00f, -602, 0.020f, 0.00f,0.00f,0.00f, 198, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_CARPETTEDHALLWAY \ - {11, 1.9f, 1.000f, -1000, -4000, 0, 0.30f, 0.10f, 1.00f, -1831, 0.002f, 0.00f,0.00f,0.00f, -1630, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_HALLWAY \ - {12, 1.8f, 1.000f, -1000, -300, 0, 1.49f, 0.59f, 1.00f, -1219, 0.007f, 0.00f,0.00f,0.00f, 441, 0.011f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_STONECORRIDOR \ - {13, 13.5f, 1.000f, -1000, -237, 0, 2.70f, 0.79f, 1.00f, -1214, 0.013f, 0.00f,0.00f,0.00f, 395, 0.020f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_ALLEY \ - {14, 7.5f, 0.300f, -1000, -270, 0, 1.49f, 0.86f, 1.00f, -1204, 0.007f, 0.00f,0.00f,0.00f, -4, 0.011f, 0.00f,0.00f,0.00f, 0.125f, 0.950f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_FOREST \ - {15, 38.0f, 0.300f, -1000, -3300, 0, 1.49f, 0.54f, 1.00f, -2560, 0.162f, 0.00f,0.00f,0.00f, -229, 0.088f, 0.00f,0.00f,0.00f, 0.125f, 1.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_CITY \ - {16, 7.5f, 0.500f, -1000, -800, 0, 1.49f, 0.67f, 1.00f, -2273, 0.007f, 0.00f,0.00f,0.00f, -1691, 0.011f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_MOUNTAINS \ - {17, 100.0f, 0.270f, -1000, -2500, 0, 1.49f, 0.21f, 1.00f, -2780, 0.300f, 0.00f,0.00f,0.00f, -1434, 0.100f, 0.00f,0.00f,0.00f, 0.250f, 1.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } -#define REVERB_PRESET_QUARRY \ - {18, 17.5f, 1.000f, -1000, -1000, 0, 1.49f, 0.83f, 1.00f, -10000, 0.061f, 0.00f,0.00f,0.00f, 500, 0.025f, 0.00f,0.00f,0.00f, 0.125f, 0.700f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_PLAIN \ - {19, 42.5f, 0.210f, -1000, -2000, 0, 1.49f, 0.50f, 1.00f, -2466, 0.179f, 0.00f,0.00f,0.00f, -1926, 0.100f, 0.00f,0.00f,0.00f, 0.250f, 1.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_PARKINGLOT \ - {20, 8.3f, 1.000f, -1000, 0, 0, 1.65f, 1.50f, 1.00f, -1363, 0.008f, 0.00f,0.00f,0.00f, -1153, 0.012f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } -#define REVERB_PRESET_SEWERPIPE \ - {21, 1.7f, 0.800f, -1000, -1000, 0, 2.81f, 0.14f, 1.00f, 429, 0.014f, 0.00f,0.00f,0.00f, 1023, 0.021f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_UNDERWATER \ - {22, 1.8f, 1.000f, -1000, -4000, 0, 1.49f, 0.10f, 1.00f, -449, 0.007f, 0.00f,0.00f,0.00f, 1700, 0.011f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 1.180f, 0.348f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_DRUGGED \ - {23, 1.9f, 0.500f, -1000, 0, 0, 8.39f, 1.39f, 1.00f, -115, 0.002f, 0.00f,0.00f,0.00f, 985, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 1.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } -#define REVERB_PRESET_DIZZY \ - {24, 1.8f, 0.600f, -1000, -400, 0, 17.23f, 0.56f, 1.00f, -1713, 0.020f, 0.00f,0.00f,0.00f, -613, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 1.000f, 0.810f, 0.310f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } -#define REVERB_PRESET_PSYCHOTIC \ - {25, 1.0f, 0.500f, -1000, -151, 0, 7.56f, 0.91f, 1.00f, -626, 0.020f, 0.00f,0.00f,0.00f, 774, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 4.000f, 1.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } - - -// CASTLE PRESETS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_CASTLE_SMALLROOM \ - { 26, 8.3f, 0.890f, -1000, -800, -2000, 1.22f, 0.83f, 0.31f, -100, 0.022f, 0.00f,0.00f,0.00f, 600, 0.011f, 0.00f,0.00f,0.00f, 0.138f, 0.080f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } -#define REVERB_PRESET_CASTLE_SHORTPASSAGE \ - { 26, 8.3f, 0.890f, -1000, -1000, -2000, 2.32f, 0.83f, 0.31f, -100, 0.007f, 0.00f,0.00f,0.00f, 200, 0.023f, 0.00f,0.00f,0.00f, 0.138f, 0.080f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } -#define REVERB_PRESET_CASTLE_MEDIUMROOM \ - { 26, 8.3f, 0.930f, -1000, -1100, -2000, 2.04f, 0.83f, 0.46f, -400, 0.022f, 0.00f,0.00f,0.00f, 400, 0.011f, 0.00f,0.00f,0.00f, 0.155f, 0.030f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } -#define REVERB_PRESET_CASTLE_LONGPASSAGE \ - { 26, 8.3f, 0.890f, -1000, -800, -2000, 3.42f, 0.83f, 0.31f, -100, 0.007f, 0.00f,0.00f,0.00f, 300, 0.023f, 0.00f,0.00f,0.00f, 0.138f, 0.080f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } -#define REVERB_PRESET_CASTLE_LARGEROOM \ - { 26, 8.3f, 0.820f, -1000, -1100, -1800, 2.53f, 0.83f, 0.50f, -700, 0.034f, 0.00f,0.00f,0.00f, 200, 0.016f, 0.00f,0.00f,0.00f, 0.185f, 0.070f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } -#define REVERB_PRESET_CASTLE_HALL \ - { 26, 8.3f, 0.810f, -1000, -1100, -1500, 3.14f, 0.79f, 0.62f, -1500, 0.056f, 0.00f,0.00f,0.00f, 100, 0.024f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } -#define REVERB_PRESET_CASTLE_CUPBOARD \ - { 26, 8.3f, 0.890f, -1000, -1100, -2000, 0.67f, 0.87f, 0.31f, 300, 0.010f, 0.00f,0.00f,0.00f, 1100, 0.007f, 0.00f,0.00f,0.00f, 0.138f, 0.080f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } -#define REVERB_PRESET_CASTLE_COURTYARD \ - { 26, 8.3f, 0.420f, -1000, -700, -1400, 2.13f, 0.61f, 0.23f, -1300, 0.160f, 0.00f,0.00f,0.00f, -300, 0.036f, 0.00f,0.00f,0.00f, 0.250f, 0.370f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } -#define REVERB_PRESET_CASTLE_ALCOVE \ - { 26, 8.3f, 0.890f, -1000, -600, -2000, 1.64f, 0.87f, 0.31f, 00, 0.007f, 0.00f,0.00f,0.00f, 300, 0.034f, 0.00f,0.00f,0.00f, 0.138f, 0.080f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } - - -// FACTORY PRESETS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_FACTORY_ALCOVE \ - { 26, 1.8f, 0.590f, -1200, -200, -600, 3.14f, 0.65f, 1.31f, 300, 0.010f, 0.00f,0.00f,0.00f, 000, 0.038f, 0.00f,0.00f,0.00f, 0.114f, 0.100f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } -#define REVERB_PRESET_FACTORY_SHORTPASSAGE \ - { 26, 1.8f, 0.640f, -1200, -200, -600, 2.53f, 0.65f, 1.31f, 0, 0.010f, 0.00f,0.00f,0.00f, 200, 0.038f, 0.00f,0.00f,0.00f, 0.135f, 0.230f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } -#define REVERB_PRESET_FACTORY_MEDIUMROOM \ - { 26, 1.9f, 0.820f, -1200, -200, -600, 2.76f, 0.65f, 1.31f, -1100, 0.022f, 0.00f,0.00f,0.00f, 300, 0.023f, 0.00f,0.00f,0.00f, 0.174f, 0.070f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } -#define REVERB_PRESET_FACTORY_LONGPASSAGE \ - { 26, 1.8f, 0.640f, -1200, -200, -600, 4.06f, 0.65f, 1.31f, 0, 0.020f, 0.00f,0.00f,0.00f, 200, 0.037f, 0.00f,0.00f,0.00f, 0.135f, 0.230f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } -#define REVERB_PRESET_FACTORY_LARGEROOM \ - { 26, 1.9f, 0.750f, -1200, -300, -400, 4.24f, 0.51f, 1.31f, -1500, 0.039f, 0.00f,0.00f,0.00f, 100, 0.023f, 0.00f,0.00f,0.00f, 0.231f, 0.070f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } -#define REVERB_PRESET_FACTORY_HALL \ - { 26, 1.9f, 0.750f, -1000, -300, -400, 7.43f, 0.51f, 1.31f, -2400, 0.073f, 0.00f,0.00f,0.00f, -100, 0.027f, 0.00f,0.00f,0.00f, 0.250f, 0.070f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } -#define REVERB_PRESET_FACTORY_CUPBOARD \ - { 26, 1.7f, 0.630f, -1200, -200, -600, 0.49f, 0.65f, 1.31f, 200, 0.010f, 0.00f,0.00f,0.00f, 600, 0.032f, 0.00f,0.00f,0.00f, 0.107f, 0.070f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } -#define REVERB_PRESET_FACTORY_COURTYARD \ - { 26, 1.7f, 0.570f, -1000, -1000, -400, 2.32f, 0.29f, 0.56f, -1300, 0.140f, 0.00f,0.00f,0.00f, -800, 0.039f, 0.00f,0.00f,0.00f, 0.250f, 0.290f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } -#define REVERB_PRESET_FACTORY_SMALLROOM \ - { 26, 1.8f, 0.820f, -1000, -200, -600, 1.72f, 0.65f, 1.31f, -300, 0.010f, 0.00f,0.00f,0.00f, 500, 0.024f, 0.00f,0.00f,0.00f, 0.119f, 0.070f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } - - -// ICE PALACE PRESETS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_ICEPALACE_ALCOVE \ - { 26, 2.7f, 0.840f, -1000, -500, -1100, 2.76f, 1.46f, 0.28f, 100, 0.010f, 0.00f,0.00f,0.00f, -100, 0.030f, 0.00f,0.00f,0.00f, 0.161f, 0.090f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } -#define REVERB_PRESET_ICEPALACE_SHORTPASSAGE \ - { 26, 2.7f, 0.750f, -1000, -500, -1100, 1.79f, 1.46f, 0.28f, -600, 0.010f, 0.00f,0.00f,0.00f, 100, 0.019f, 0.00f,0.00f,0.00f, 0.177f, 0.090f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } -#define REVERB_PRESET_ICEPALACE_MEDIUMROOM \ - { 26, 2.7f, 0.870f, -1000, -500, -700, 2.22f, 1.53f, 0.32f, -800, 0.039f, 0.00f,0.00f,0.00f, 100, 0.027f, 0.00f,0.00f,0.00f, 0.186f, 0.120f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } -#define REVERB_PRESET_ICEPALACE_LONGPASSAGE \ - { 26, 2.7f, 0.770f, -1000, -500, -800, 3.01f, 1.46f, 0.28f, -200, 0.012f, 0.00f,0.00f,0.00f, 200, 0.025f, 0.00f,0.00f,0.00f, 0.186f, 0.040f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } -#define REVERB_PRESET_ICEPALACE_LARGEROOM \ - { 26, 2.9f, 0.810f, -1000, -500, -700, 3.14f, 1.53f, 0.32f, -1200, 0.039f, 0.00f,0.00f,0.00f, 000, 0.027f, 0.00f,0.00f,0.00f, 0.214f, 0.110f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } -#define REVERB_PRESET_ICEPALACE_HALL \ - { 26, 2.9f, 0.760f, -1000, -700, -500, 5.49f, 1.53f, 0.38f, -1900, 0.054f, 0.00f,0.00f,0.00f, -400, 0.052f, 0.00f,0.00f,0.00f, 0.226f, 0.110f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } -#define REVERB_PRESET_ICEPALACE_CUPBOARD \ - { 26, 2.7f, 0.830f, -1000, -600, -1300, 0.76f, 1.53f, 0.26f, 100, 0.012f, 0.00f,0.00f,0.00f, 600, 0.016f, 0.00f,0.00f,0.00f, 0.143f, 0.080f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } -#define REVERB_PRESET_ICEPALACE_COURTYARD \ - { 26, 2.9f, 0.590f, -1000, -1100, -1000, 2.04f, 1.20f, 0.38f, -1000, 0.173f, 0.00f,0.00f,0.00f, -1000, 0.043f, 0.00f,0.00f,0.00f, 0.235f, 0.480f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } -#define REVERB_PRESET_ICEPALACE_SMALLROOM \ - { 26, 2.7f, 0.840f, -1000, -500, -1100, 1.51f, 1.53f, 0.27f, -100, 0.010f, 0.00f,0.00f,0.00f, 300, 0.011f, 0.00f,0.00f,0.00f, 0.164f, 0.140f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } - - -// SPACE STATION PRESETS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_SPACESTATION_ALCOVE \ - { 26, 1.5f, 0.780f, -1000, -300, -100, 1.16f, 0.81f, 0.55f, 300, 0.007f, 0.00f,0.00f,0.00f, 000, 0.018f, 0.00f,0.00f,0.00f, 0.192f, 0.210f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } -#define REVERB_PRESET_SPACESTATION_MEDIUMROOM \ - { 26, 1.5f, 0.750f, -1000, -400, -100, 3.01f, 0.50f, 0.55f, -800, 0.034f, 0.00f,0.00f,0.00f, 100, 0.035f, 0.00f,0.00f,0.00f, 0.209f, 0.310f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } -#define REVERB_PRESET_SPACESTATION_SHORTPASSAGE \ - { 26, 1.5f, 0.870f, -1000, -400, -100, 3.57f, 0.50f, 0.55f, 0, 0.012f, 0.00f,0.00f,0.00f, 100, 0.016f, 0.00f,0.00f,0.00f, 0.172f, 0.200f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } -#define REVERB_PRESET_SPACESTATION_LONGPASSAGE \ - { 26, 1.9f, 0.820f, -1000, -400, -100, 4.62f, 0.62f, 0.55f, 0, 0.012f, 0.00f,0.00f,0.00f, 200, 0.031f, 0.00f,0.00f,0.00f, 0.250f, 0.230f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } -#define REVERB_PRESET_SPACESTATION_LARGEROOM \ - { 26, 1.8f, 0.810f, -1000, -400, -100, 3.89f, 0.38f, 0.61f, -1000, 0.056f, 0.00f,0.00f,0.00f, -100, 0.035f, 0.00f,0.00f,0.00f, 0.233f, 0.280f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } -#define REVERB_PRESET_SPACESTATION_HALL \ - { 26, 1.9f, 0.870f, -1000, -400, -100, 7.11f, 0.38f, 0.61f, -1500, 0.100f, 0.00f,0.00f,0.00f, -400, 0.047f, 0.00f,0.00f,0.00f, 0.250f, 0.250f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } -#define REVERB_PRESET_SPACESTATION_CUPBOARD \ - { 26, 1.4f, 0.560f, -1000, -300, -100, 0.79f, 0.81f, 0.55f, 300, 0.007f, 0.00f,0.00f,0.00f, 500, 0.018f, 0.00f,0.00f,0.00f, 0.181f, 0.310f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } -#define REVERB_PRESET_SPACESTATION_SMALLROOM \ - { 26, 1.5f, 0.700f, -1000, -300, -100, 1.72f, 0.82f, 0.55f, -200, 0.007f, 0.00f,0.00f,0.00f, 300, 0.013f, 0.00f,0.00f,0.00f, 0.188f, 0.260f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } - - -// WOODEN GALLEON PRESETS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_WOODEN_ALCOVE \ - { 26, 7.5f, 1.000f, -1000, -1800, -1000, 1.22f, 0.62f, 0.91f, 100, 0.012f, 0.00f,0.00f,0.00f, -300, 0.024f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } -#define REVERB_PRESET_WOODEN_SHORTPASSAGE \ - { 26, 7.5f, 1.000f, -1000, -1800, -1000, 1.75f, 0.50f, 0.87f, -100, 0.012f, 0.00f,0.00f,0.00f, -400, 0.024f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } -#define REVERB_PRESET_WOODEN_MEDIUMROOM \ - { 26, 7.5f, 1.000f, -1000, -2000, -1100, 1.47f, 0.42f, 0.82f, -100, 0.049f, 0.00f,0.00f,0.00f, -100, 0.029f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } -#define REVERB_PRESET_WOODEN_LONGPASSAGE \ - { 26, 7.5f, 1.000f, -1000, -2000, -1000, 1.99f, 0.40f, 0.79f, 000, 0.020f, 0.00f,0.00f,0.00f, -700, 0.036f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } -#define REVERB_PRESET_WOODEN_LARGEROOM \ - { 26, 7.5f, 1.000f, -1000, -2100, -1100, 2.65f, 0.33f, 0.82f, -100, 0.066f, 0.00f,0.00f,0.00f, -200, 0.049f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } -#define REVERB_PRESET_WOODEN_HALL \ - { 26, 7.5f, 1.000f, -1000, -2200, -1100, 3.45f, 0.30f, 0.82f, -100, 0.088f, 0.00f,0.00f,0.00f, -200, 0.063f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } -#define REVERB_PRESET_WOODEN_CUPBOARD \ - { 26, 7.5f, 1.000f, -1000, -1700, -1000, 0.56f, 0.46f, 0.91f, 100, 0.012f, 0.00f,0.00f,0.00f, 100, 0.028f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } -#define REVERB_PRESET_WOODEN_SMALLROOM \ - { 26, 7.5f, 1.000f, -1000, -1900, -1000, 0.79f, 0.32f, 0.87f, 00, 0.032f, 0.00f,0.00f,0.00f, -100, 0.029f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } -#define REVERB_PRESET_WOODEN_COURTYARD \ - { 26, 7.5f, 0.650f, -1000, -2200, -1000, 1.79f, 0.35f, 0.79f, -500, 0.123f, 0.00f,0.00f,0.00f, -2000, 0.032f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } - - -// SPORTS PRESETS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_SPORT_EMPTYSTADIUM \ - { 26, 7.2f, 1.000f, -1000, -700, -200, 6.26f, 0.51f, 1.10f, -2400, 0.183f, 0.00f,0.00f,0.00f, -800, 0.038f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x20 } -#define REVERB_PRESET_SPORT_SQUASHCOURT \ - { 26, 7.5f, 0.750f, -1000, -1000, -200, 2.22f, 0.91f, 1.16f, -700, 0.007f, 0.00f,0.00f,0.00f, -200, 0.011f, 0.00f,0.00f,0.00f, 0.126f, 0.190f, 0.250f, 0.000f, -5.0f, 7176.9f, 211.2f, 0.00f, 0x20 } -#define REVERB_PRESET_SPORT_SMALLSWIMMINGPOOL \ - { 26, 36.2f, 0.700f, -1000, -200, -100, 2.76f, 1.25f, 1.14f, -400, 0.020f, 0.00f,0.00f,0.00f, -200, 0.030f, 0.00f,0.00f,0.00f, 0.179f, 0.150f, 0.895f, 0.190f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x0 } -#define REVERB_PRESET_SPORT_LARGESWIMMINGPOOL\ - { 26, 36.2f, 0.820f, -1000, -200, 0, 5.49f, 1.31f, 1.14f, -700, 0.039f, 0.00f,0.00f,0.00f, -600, 0.049f, 0.00f,0.00f,0.00f, 0.222f, 0.550f, 1.159f, 0.210f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x0 } -#define REVERB_PRESET_SPORT_GYMNASIUM \ - { 26, 7.5f, 0.810f, -1000, -700, -100, 3.14f, 1.06f, 1.35f, -800, 0.029f, 0.00f,0.00f,0.00f, -500, 0.045f, 0.00f,0.00f,0.00f, 0.146f, 0.140f, 0.250f, 0.000f, -5.0f, 7176.9f, 211.2f, 0.00f, 0x20 } -#define REVERB_PRESET_SPORT_FULLSTADIUM \ - { 26, 7.2f, 1.000f, -1000, -2300, -200, 5.25f, 0.17f, 0.80f, -2000, 0.188f, 0.00f,0.00f,0.00f, -1100, 0.038f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x20 } -#define REVERB_PRESET_SPORT_STADIUMTANNOY \ - { 26, 3.0f, 0.780f, -1000, -500, -600, 2.53f, 0.88f, 0.68f, -1100, 0.230f, 0.00f,0.00f,0.00f, -600, 0.063f, 0.00f,0.00f,0.00f, 0.250f, 0.200f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x20 } - - -// PREFAB PRESETS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_PREFAB_WORKSHOP \ - { 26, 1.9f, 1.000f, -1000, -1700, -800, 0.76f, 1.00f, 1.00f, 0, 0.012f, 0.00f,0.00f,0.00f, 100, 0.012f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x0 } -#define REVERB_PRESET_PREFAB_SCHOOLROOM \ - { 26, 1.86f, 0.690f, -1000, -400, -600, 0.98f, 0.45f, 0.18f, 300, 0.017f, 0.00f,0.00f,0.00f, 300, 0.015f, 0.00f,0.00f,0.00f, 0.095f, 0.140f, 0.250f, 0.000f, -5.0f, 7176.9f, 211.2f, 0.00f, 0x20 } -#define REVERB_PRESET_PREFAB_PRACTISEROOM \ - { 26, 1.86f, 0.870f, -1000, -800, -600, 1.12f, 0.56f, 0.18f, 200, 0.010f, 0.00f,0.00f,0.00f, 300, 0.011f, 0.00f,0.00f,0.00f, 0.095f, 0.140f, 0.250f, 0.000f, -5.0f, 7176.9f, 211.2f, 0.00f, 0x20 } -#define REVERB_PRESET_PREFAB_OUTHOUSE \ - { 26, 80.3f, 0.820f, -1000, -1900, -1600, 1.38f, 0.38f, 0.35f, -100, 0.024f, 0.00f,0.00f,-0.00f, -400, 0.044f, 0.00f,0.00f,0.00f, 0.121f, 0.170f, 0.250f, 0.000f, -5.0f, 2854.4f, 107.5f, 0.00f, 0x0 } -#define REVERB_PRESET_PREFAB_CARAVAN \ - { 26, 8.3f, 1.000f, -1000, -2100, -1800, 0.43f, 1.50f, 1.00f, 0, 0.012f, 0.00f,0.00f,0.00f, 600, 0.012f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } - // for US developers, a caravan is the same as a trailer =o) - - -// DOME AND PIPE PRESETS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_DOME_TOMB \ - { 26, 51.8f, 0.790f, -1000, -900, -1300, 4.18f, 0.21f, 0.10f, -825, 0.030f, 0.00f,0.00f,0.00f, 450, 0.022f, 0.00f,0.00f,0.00f, 0.177f, 0.190f, 0.250f, 0.000f, -5.0f, 2854.4f, 20.0f, 0.00f, 0x0 } -#define REVERB_PRESET_PIPE_SMALL \ - { 26, 50.3f, 1.000f, -1000, -900, -1300, 5.04f, 0.10f, 0.10f, -600, 0.032f, 0.00f,0.00f,0.00f, 800, 0.015f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 2854.4f, 20.0f, 0.00f, 0x3f } -#define REVERB_PRESET_DOME_SAINTPAULS \ - { 26, 50.3f, 0.870f, -1000, -900, -1300, 10.48f, 0.19f, 0.10f, -1500, 0.090f, 0.00f,0.00f,0.00f, 200, 0.042f, 0.00f,0.00f,0.00f, 0.250f, 0.120f, 0.250f, 0.000f, -5.0f, 2854.4f, 20.0f, 0.00f, 0x3f } -#define REVERB_PRESET_PIPE_LONGTHIN \ - { 26, 1.6f, 0.910f, -1000, -700, -1100, 9.21f, 0.18f, 0.10f, -300, 0.010f, 0.00f,0.00f,0.00f, -300, 0.022f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 2854.4f, 20.0f, 0.00f, 0x0 } -#define REVERB_PRESET_PIPE_LARGE \ - { 26, 50.3f, 1.000f, -1000, -900, -1300, 8.45f, 0.10f, 0.10f, -800, 0.046f, 0.00f,0.00f,0.00f, 400, 0.032f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 2854.4f, 20.0f, 0.00f, 0x3f } -#define REVERB_PRESET_PIPE_RESONANT \ - { 26, 1.3f, 0.910f, -1000, -700, -1100, 6.81f, 0.18f, 0.10f, -300, 0.010f, 0.00f,0.00f,0.00f, 00, 0.022f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 2854.4f, 20.0f, 0.00f, 0x0 } - - -// OUTDOORS PRESETS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_OUTDOORS_BACKYARD \ - { 26, 80.3f, 0.450f, -1000, -1200, -600, 1.12f, 0.34f, 0.46f, -700, 0.069f, 0.00f,0.00f,-0.00f, -300, 0.023f, 0.00f,0.00f,0.00f, 0.218f, 0.340f, 0.250f, 0.000f, -5.0f, 4399.1f, 242.9f, 0.00f, 0x0 } -#define REVERB_PRESET_OUTDOORS_ROLLINGPLAINS \ - { 26, 80.3f, 0.000f, -1000, -3900, -400, 2.13f, 0.21f, 0.46f, -1500, 0.300f, 0.00f,0.00f,-0.00f, -700, 0.019f, 0.00f,0.00f,0.00f, 0.250f, 1.000f, 0.250f, 0.000f, -5.0f, 4399.1f, 242.9f, 0.00f, 0x0 } -#define REVERB_PRESET_OUTDOORS_DEEPCANYON \ - { 26, 80.3f, 0.740f, -1000, -1500, -400, 3.89f, 0.21f, 0.46f, -1000, 0.223f, 0.00f,0.00f,-0.00f, -900, 0.019f, 0.00f,0.00f,0.00f, 0.250f, 1.000f, 0.250f, 0.000f, -5.0f, 4399.1f, 242.9f, 0.00f, 0x0 } -#define REVERB_PRESET_OUTDOORS_CREEK \ - { 26, 80.3f, 0.350f, -1000, -1500, -600, 2.13f, 0.21f, 0.46f, -800, 0.115f, 0.00f,0.00f,-0.00f, -1400, 0.031f, 0.00f,0.00f,0.00f, 0.218f, 0.340f, 0.250f, 0.000f, -5.0f, 4399.1f, 242.9f, 0.00f, 0x0 } -#define REVERB_PRESET_OUTDOORS_VALLEY \ - { 26, 80.3f, 0.280f, -1000, -3100, -1600, 2.88f, 0.26f, 0.35f, -1700, 0.263f, 0.00f,0.00f,-0.00f, -800, 0.100f, 0.00f,0.00f,0.00f, 0.250f, 0.340f, 0.250f, 0.000f, -5.0f, 2854.4f, 107.5f, 0.00f, 0x0 } - - -// MOOD PRESETS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_MOOD_HEAVEN \ - { 26, 19.6f, 0.940f, -1000, -200, -700, 5.04f, 1.12f, 0.56f, -1230, 0.020f, 0.00f,0.00f,0.00f, 200, 0.029f, 0.00f,0.00f,0.00f, 0.250f, 0.080f, 2.742f, 0.050f, -2.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_MOOD_HELL \ - { 26, 100.0f, 0.570f, -1000, -900, -700, 3.57f, 0.49f, 2.00f, -10000, 0.020f, 0.00f,0.00f,0.00f, 300, 0.030f, 0.00f,0.00f,0.00f, 0.110f, 0.040f, 2.109f, 0.520f, -5.0f, 5000.0f, 139.5f, 0.00f, 0x40 } -#define REVERB_PRESET_MOOD_MEMORY \ - { 26, 8.0f, 0.850f, -1000, -400, -900, 4.06f, 0.82f, 0.56f, -2800, 0.000f, 0.00f,0.00f,0.00f, 100, 0.000f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.474f, 0.450f, -10.0f, 5000.0f, 250.0f, 0.00f, 0x0 } - - -// DRIVING SIMULATION PRESETS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_DRIVING_COMMENTATOR \ - { 26, 3.0f, 0.000f, -1000, -500, -600, 2.42f, 0.88f, 0.68f, -1400, 0.093f, 0.00f,0.00f,0.00f, -1200, 0.017f, 0.00f,0.00f,0.00f, 0.250f, 1.000f, 0.250f, 0.000f, -10.0f, 5000.0f, 250.0f, 0.00f, 0x20 } -#define REVERB_PRESET_DRIVING_PITGARAGE \ - { 26, 1.9f, 0.590f, -1000, -300, -500, 1.72f, 0.93f, 0.87f, -500, 0.000f, 0.00f,0.00f,0.00f, 200, 0.016f, 0.00f,0.00f,0.00f, 0.250f, 0.110f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x0 } -#define REVERB_PRESET_DRIVING_INCAR_RACER \ - { 26, 1.1f, 0.800f, -1000, 0, -200, 0.17f, 2.00f, 0.41f, 500, 0.007f, 0.00f,0.00f,0.00f, -300, 0.015f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 10268.2f, 251.0f, 0.00f, 0x20 } -#define REVERB_PRESET_DRIVING_INCAR_SPORTS \ - { 26, 1.1f, 0.800f, -1000, -400, 0, 0.17f, 0.75f, 0.41f, 0, 0.010f, 0.00f,0.00f,0.00f, -500, 0.000f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 10268.2f, 251.0f, 0.00f, 0x20 } -#define REVERB_PRESET_DRIVING_INCAR_LUXURY \ - { 26, 1.6f, 1.000f, -1000, -2000, -600, 0.13f, 0.41f, 0.46f, -200, 0.010f, 0.00f,0.00f,0.00f, 400, 0.010f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 10268.2f, 251.0f, 0.00f, 0x20 } -#define REVERB_PRESET_DRIVING_FULLGRANDSTAND \ - { 26, 8.3f, 1.000f, -1000, -1100, -400, 3.01f, 1.37f, 1.28f, -900, 0.090f, 0.00f,0.00f,0.00f, -1500, 0.049f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 10420.2f, 250.0f, 0.00f, 0x1f } -#define REVERB_PRESET_DRIVING_EMPTYGRANDSTAND \ - { 26, 8.3f, 1.000f, -1000, 0, -200, 4.62f, 1.75f, 1.40f, -1363, 0.090f, 0.00f,0.00f,0.00f, -1200, 0.049f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 10420.2f, 250.0f, 0.00f, 0x1f } -#define REVERB_PRESET_DRIVING_TUNNEL \ - { 26, 3.1f, 0.810f, -1000, -800, -100, 3.42f, 0.94f, 1.31f, -300, 0.051f, 0.00f,0.00f,0.00f, -300, 0.047f, 0.00f,0.00f,0.00f, 0.214f, 0.050f, 0.250f, 0.000f, -5.0f, 5000.0f, 155.3f, 0.00f, 0x20 } - - -// CITY PRESETS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_CITY_STREETS \ - { 26, 3.0f, 0.780f, -1000, -300, -100, 1.79f, 1.12f, 0.91f, -1100, 0.046f, 0.00f,0.00f,0.00f, -1400, 0.028f, 0.00f,0.00f,0.00f, 0.250f, 0.200f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x20 } -#define REVERB_PRESET_CITY_SUBWAY \ - { 26, 3.0f, 0.740f, -1000, -300, -100, 3.01f, 1.23f, 0.91f, -300, 0.046f, 0.00f,0.00f,0.00f, 200, 0.028f, 0.00f,0.00f,0.00f, 0.125f, 0.210f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x20 } -#define REVERB_PRESET_CITY_MUSEUM \ - { 26, 80.3f, 0.820f, -1000, -1500, -1500, 3.28f, 1.40f, 0.57f, -1200, 0.039f, 0.00f,0.00f,-0.00f, -100, 0.034f, 0.00f,0.00f,0.00f, 0.130f, 0.170f, 0.250f, 0.000f, -5.0f, 2854.4f, 107.5f, 0.00f, 0x0 } -#define REVERB_PRESET_CITY_LIBRARY \ - { 26, 80.3f, 0.820f, -1000, -1100, -2100, 2.76f, 0.89f, 0.41f, -900, 0.029f, 0.00f,0.00f,-0.00f, -100, 0.020f, 0.00f,0.00f,0.00f, 0.130f, 0.170f, 0.250f, 0.000f, -5.0f, 2854.4f, 107.5f, 0.00f, 0x0 } -#define REVERB_PRESET_CITY_UNDERPASS \ - { 26, 3.0f, 0.820f, -1000, -700, -100, 3.57f, 1.12f, 0.91f, -800, 0.059f, 0.00f,0.00f,0.00f, -100, 0.037f, 0.00f,0.00f,0.00f, 0.250f, 0.140f, 0.250f, 0.000f, -7.0f, 5000.0f, 250.0f, 0.00f, 0x20 } -#define REVERB_PRESET_CITY_ABANDONED \ - { 26, 3.0f, 0.690f, -1000, -200, -100, 3.28f, 1.17f, 0.91f, -700, 0.044f, 0.00f,0.00f,0.00f, -1100, 0.024f, 0.00f,0.00f,0.00f, 0.250f, 0.200f, 0.250f, 0.000f, -3.0f, 5000.0f, 250.0f, 0.00f, 0x20 } - - -// MISC ROOMS - -// Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS -#define REVERB_PRESET_DUSTYROOM \ - { 26, 1.8f, 0.560f, -1000, -200, -300, 1.79f, 0.38f, 0.21f, -600, 0.002f, 0.00f,0.00f,0.00f, 200, 0.006f, 0.00f,0.00f,0.00f, 0.202f, 0.050f, 0.250f, 0.000f, -10.0f, 13046.0f, 163.3f, 0.00f, 0x20 } -#define REVERB_PRESET_CHAPEL \ - { 26, 19.6f, 0.840f, -1000, -500, 0, 4.62f, 0.64f, 1.23f, -700, 0.032f, 0.00f,0.00f,0.00f, -200, 0.049f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.110f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } -#define REVERB_PRESET_SMALLWATERROOM \ - { 26, 36.2f, 0.700f, -1000, -698, 0, 1.51f, 1.25f, 1.14f, -100, 0.020f, 0.00f,0.00f,0.00f, 300, 0.030f, 0.00f,0.00f,0.00f, 0.179f, 0.150f, 0.895f, 0.190f, -7.0f, 5000.0f, 250.0f, 0.00f, 0x0 } - - -#pragma pack(pop) - -#ifdef __cplusplus -} -#endif // __cplusplus - -#endif // EFX-UTIL_H_INCLUDED \ No newline at end of file diff -Nru duration-0.0.4/addons/ofxTimeline/libs/openal/include/AL/al.h duration-0.0.3/addons/ofxTimeline/libs/openal/include/AL/al.h --- duration-0.0.4/addons/ofxTimeline/libs/openal/include/AL/al.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/openal/include/AL/al.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,732 +0,0 @@ -#ifndef AL_AL_H -#define AL_AL_H - - - -#if defined(__cplusplus) -extern "C" { -#endif - -#if defined(_WIN32) && !defined(_XBOX) - /* _OPENAL32LIB is deprecated */ - #if defined(AL_BUILD_LIBRARY) || defined (_OPENAL32LIB) - #define AL_API __declspec(dllexport) - #else - #define AL_API __declspec(dllimport) - #endif -#else - #define AL_API extern -#endif - -#if defined(_WIN32) - #define AL_APIENTRY __cdecl -#else - #define AL_APIENTRY -#endif - -#if TARGET_OS_MAC - #pragma export on -#endif - -/* The OPENAL, ALAPI, and ALAPIENTRY macros are deprecated, but are included for applications porting code - from AL 1.0 */ -#define OPENAL -#define ALAPI AL_API -#define ALAPIENTRY AL_APIENTRY - -#define AL_VERSION_1_0 -#define AL_VERSION_1_1 - - -/** 8-bit boolean */ -typedef char ALboolean; - -/** character */ -typedef char ALchar; - -/** signed 8-bit 2's complement integer */ -typedef char ALbyte; - -/** unsigned 8-bit integer */ -typedef unsigned char ALubyte; - -/** signed 16-bit 2's complement integer */ -typedef short ALshort; - -/** unsigned 16-bit integer */ -typedef unsigned short ALushort; - -/** signed 32-bit 2's complement integer */ -typedef int ALint; - -/** unsigned 32-bit integer */ -typedef unsigned int ALuint; - -/** non-negative 32-bit binary integer size */ -typedef int ALsizei; - -/** enumerated 32-bit value */ -typedef int ALenum; - -/** 32-bit IEEE754 floating-point */ -typedef float ALfloat; - -/** 64-bit IEEE754 floating-point */ -typedef double ALdouble; - -/** void type (for opaque pointers only) */ -typedef void ALvoid; - - -/* Enumerant values begin at column 50. No tabs. */ - -/* bad value */ -#define AL_INVALID -1 - -#define AL_NONE 0 - -/* Boolean False. */ -#define AL_FALSE 0 - -/** Boolean True. */ -#define AL_TRUE 1 - -/** Indicate Source has relative coordinates. */ -#define AL_SOURCE_RELATIVE 0x202 - - - -/** - * Directional source, inner cone angle, in degrees. - * Range: [0-360] - * Default: 360 - */ -#define AL_CONE_INNER_ANGLE 0x1001 - -/** - * Directional source, outer cone angle, in degrees. - * Range: [0-360] - * Default: 360 - */ -#define AL_CONE_OUTER_ANGLE 0x1002 - -/** - * Specify the pitch to be applied, either at source, - * or on mixer results, at listener. - * Range: [0.5-2.0] - * Default: 1.0 - */ -#define AL_PITCH 0x1003 - -/** - * Specify the current location in three dimensional space. - * OpenAL, like OpenGL, uses a right handed coordinate system, - * where in a frontal default view X (thumb) points right, - * Y points up (index finger), and Z points towards the - * viewer/camera (middle finger). - * To switch from a left handed coordinate system, flip the - * sign on the Z coordinate. - * Listener position is always in the world coordinate system. - */ -#define AL_POSITION 0x1004 - -/** Specify the current direction. */ -#define AL_DIRECTION 0x1005 - -/** Specify the current velocity in three dimensional space. */ -#define AL_VELOCITY 0x1006 - -/** - * Indicate whether source is looping. - * Type: ALboolean? - * Range: [AL_TRUE, AL_FALSE] - * Default: FALSE. - */ -#define AL_LOOPING 0x1007 - -/** - * Indicate the buffer to provide sound samples. - * Type: ALuint. - * Range: any valid Buffer id. - */ -#define AL_BUFFER 0x1009 - -/** - * Indicate the gain (volume amplification) applied. - * Type: ALfloat. - * Range: ]0.0- ] - * A value of 1.0 means un-attenuated/unchanged. - * Each division by 2 equals an attenuation of -6dB. - * Each multiplicaton with 2 equals an amplification of +6dB. - * A value of 0.0 is meaningless with respect to a logarithmic - * scale; it is interpreted as zero volume - the channel - * is effectively disabled. - */ -#define AL_GAIN 0x100A - -/* - * Indicate minimum source attenuation - * Type: ALfloat - * Range: [0.0 - 1.0] - * - * Logarthmic - */ -#define AL_MIN_GAIN 0x100D - -/** - * Indicate maximum source attenuation - * Type: ALfloat - * Range: [0.0 - 1.0] - * - * Logarthmic - */ -#define AL_MAX_GAIN 0x100E - -/** - * Indicate listener orientation. - * - * at/up - */ -#define AL_ORIENTATION 0x100F - -/** - * Specify the channel mask. (Creative) - * Type: ALuint - * Range: [0 - 255] - */ -#define AL_CHANNEL_MASK 0x3000 - - -/** - * Source state information. - */ -#define AL_SOURCE_STATE 0x1010 -#define AL_INITIAL 0x1011 -#define AL_PLAYING 0x1012 -#define AL_PAUSED 0x1013 -#define AL_STOPPED 0x1014 - -/** - * Buffer Queue params - */ -#define AL_BUFFERS_QUEUED 0x1015 -#define AL_BUFFERS_PROCESSED 0x1016 - -/** - * Source buffer position information - */ -#define AL_SEC_OFFSET 0x1024 -#define AL_SAMPLE_OFFSET 0x1025 -#define AL_BYTE_OFFSET 0x1026 - -/* - * Source type (Static, Streaming or undetermined) - * Source is Static if a Buffer has been attached using AL_BUFFER - * Source is Streaming if one or more Buffers have been attached using alSourceQueueBuffers - * Source is undetermined when it has the NULL buffer attached - */ -#define AL_SOURCE_TYPE 0x1027 -#define AL_STATIC 0x1028 -#define AL_STREAMING 0x1029 -#define AL_UNDETERMINED 0x1030 - -/** Sound samples: format specifier. */ -#define AL_FORMAT_MONO8 0x1100 -#define AL_FORMAT_MONO16 0x1101 -#define AL_FORMAT_STEREO8 0x1102 -#define AL_FORMAT_STEREO16 0x1103 - -/** - * source specific reference distance - * Type: ALfloat - * Range: 0.0 - +inf - * - * At 0.0, no distance attenuation occurs. Default is - * 1.0. - */ -#define AL_REFERENCE_DISTANCE 0x1020 - -/** - * source specific rolloff factor - * Type: ALfloat - * Range: 0.0 - +inf - * - */ -#define AL_ROLLOFF_FACTOR 0x1021 - -/** - * Directional source, outer cone gain. - * - * Default: 0.0 - * Range: [0.0 - 1.0] - * Logarithmic - */ -#define AL_CONE_OUTER_GAIN 0x1022 - -/** - * Indicate distance above which sources are not - * attenuated using the inverse clamped distance model. - * - * Default: +inf - * Type: ALfloat - * Range: 0.0 - +inf - */ -#define AL_MAX_DISTANCE 0x1023 - -/** - * Sound samples: frequency, in units of Hertz [Hz]. - * This is the number of samples per second. Half of the - * sample frequency marks the maximum significant - * frequency component. - */ -#define AL_FREQUENCY 0x2001 -#define AL_BITS 0x2002 -#define AL_CHANNELS 0x2003 -#define AL_SIZE 0x2004 - -/** - * Buffer state. - * - * Not supported for public use (yet). - */ -#define AL_UNUSED 0x2010 -#define AL_PENDING 0x2011 -#define AL_PROCESSED 0x2012 - - -/** Errors: No Error. */ -#define AL_NO_ERROR AL_FALSE - -/** - * Invalid Name paramater passed to AL call. - */ -#define AL_INVALID_NAME 0xA001 - -/** - * Invalid parameter passed to AL call. - */ -#define AL_ILLEGAL_ENUM 0xA002 -#define AL_INVALID_ENUM 0xA002 - -/** - * Invalid enum parameter value. - */ -#define AL_INVALID_VALUE 0xA003 - -/** - * Illegal call. - */ -#define AL_ILLEGAL_COMMAND 0xA004 -#define AL_INVALID_OPERATION 0xA004 - - -/** - * No mojo. - */ -#define AL_OUT_OF_MEMORY 0xA005 - - -/** Context strings: Vendor Name. */ -#define AL_VENDOR 0xB001 -#define AL_VERSION 0xB002 -#define AL_RENDERER 0xB003 -#define AL_EXTENSIONS 0xB004 - -/** Global tweakage. */ - -/** - * Doppler scale. Default 1.0 - */ -#define AL_DOPPLER_FACTOR 0xC000 - -/** - * Tweaks speed of propagation. - */ -#define AL_DOPPLER_VELOCITY 0xC001 - -/** - * Speed of Sound in units per second - */ -#define AL_SPEED_OF_SOUND 0xC003 - -/** - * Distance models - * - * used in conjunction with DistanceModel - * - * implicit: NONE, which disances distance attenuation. - */ -#define AL_DISTANCE_MODEL 0xD000 -#define AL_INVERSE_DISTANCE 0xD001 -#define AL_INVERSE_DISTANCE_CLAMPED 0xD002 -#define AL_LINEAR_DISTANCE 0xD003 -#define AL_LINEAR_DISTANCE_CLAMPED 0xD004 -#define AL_EXPONENT_DISTANCE 0xD005 -#define AL_EXPONENT_DISTANCE_CLAMPED 0xD006 - - -#if !defined(AL_NO_PROTOTYPES) - -/* - * Renderer State management - */ -AL_API void AL_APIENTRY alEnable( ALenum capability ); - -AL_API void AL_APIENTRY alDisable( ALenum capability ); - -AL_API ALboolean AL_APIENTRY alIsEnabled( ALenum capability ); - - -/* - * State retrieval - */ -AL_API const ALchar* AL_APIENTRY alGetString( ALenum param ); - -AL_API void AL_APIENTRY alGetBooleanv( ALenum param, ALboolean* data ); - -AL_API void AL_APIENTRY alGetIntegerv( ALenum param, ALint* data ); - -AL_API void AL_APIENTRY alGetFloatv( ALenum param, ALfloat* data ); - -AL_API void AL_APIENTRY alGetDoublev( ALenum param, ALdouble* data ); - -AL_API ALboolean AL_APIENTRY alGetBoolean( ALenum param ); - -AL_API ALint AL_APIENTRY alGetInteger( ALenum param ); - -AL_API ALfloat AL_APIENTRY alGetFloat( ALenum param ); - -AL_API ALdouble AL_APIENTRY alGetDouble( ALenum param ); - - -/* - * Error support. - * Obtain the most recent error generated in the AL state machine. - */ -AL_API ALenum AL_APIENTRY alGetError( void ); - - -/* - * Extension support. - * Query for the presence of an extension, and obtain any appropriate - * function pointers and enum values. - */ -AL_API ALboolean AL_APIENTRY alIsExtensionPresent( const ALchar* extname ); - -AL_API void* AL_APIENTRY alGetProcAddress( const ALchar* fname ); - -AL_API ALenum AL_APIENTRY alGetEnumValue( const ALchar* ename ); - - -/* - * LISTENER - * Listener represents the location and orientation of the - * 'user' in 3D-space. - * - * Properties include: - - * - * Gain AL_GAIN ALfloat - * Position AL_POSITION ALfloat[3] - * Velocity AL_VELOCITY ALfloat[3] - * Orientation AL_ORIENTATION ALfloat[6] (Forward then Up vectors) -*/ - -/* - * Set Listener parameters - */ -AL_API void AL_APIENTRY alListenerf( ALenum param, ALfloat value ); - -AL_API void AL_APIENTRY alListener3f( ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); - -AL_API void AL_APIENTRY alListenerfv( ALenum param, const ALfloat* values ); - -AL_API void AL_APIENTRY alListeneri( ALenum param, ALint value ); - -AL_API void AL_APIENTRY alListener3i( ALenum param, ALint value1, ALint value2, ALint value3 ); - -AL_API void AL_APIENTRY alListeneriv( ALenum param, const ALint* values ); - -/* - * Get Listener parameters - */ -AL_API void AL_APIENTRY alGetListenerf( ALenum param, ALfloat* value ); - -AL_API void AL_APIENTRY alGetListener3f( ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3 ); - -AL_API void AL_APIENTRY alGetListenerfv( ALenum param, ALfloat* values ); - -AL_API void AL_APIENTRY alGetListeneri( ALenum param, ALint* value ); - -AL_API void AL_APIENTRY alGetListener3i( ALenum param, ALint *value1, ALint *value2, ALint *value3 ); - -AL_API void AL_APIENTRY alGetListeneriv( ALenum param, ALint* values ); - - -/** - * SOURCE - * Sources represent individual sound objects in 3D-space. - * Sources take the PCM data provided in the specified Buffer, - * apply Source-specific modifications, and then - * submit them to be mixed according to spatial arrangement etc. - * - * Properties include: - - * - * Gain AL_GAIN ALfloat - * Min Gain AL_MIN_GAIN ALfloat - * Max Gain AL_MAX_GAIN ALfloat - * Position AL_POSITION ALfloat[3] - * Velocity AL_VELOCITY ALfloat[3] - * Direction AL_DIRECTION ALfloat[3] - * Head Relative Mode AL_SOURCE_RELATIVE ALint (AL_TRUE or AL_FALSE) - * Reference Distance AL_REFERENCE_DISTANCE ALfloat - * Max Distance AL_MAX_DISTANCE ALfloat - * RollOff Factor AL_ROLLOFF_FACTOR ALfloat - * Inner Angle AL_CONE_INNER_ANGLE ALint or ALfloat - * Outer Angle AL_CONE_OUTER_ANGLE ALint or ALfloat - * Cone Outer Gain AL_CONE_OUTER_GAIN ALint or ALfloat - * Pitch AL_PITCH ALfloat - * Looping AL_LOOPING ALint (AL_TRUE or AL_FALSE) - * MS Offset AL_MSEC_OFFSET ALint or ALfloat - * Byte Offset AL_BYTE_OFFSET ALint or ALfloat - * Sample Offset AL_SAMPLE_OFFSET ALint or ALfloat - * Attached Buffer AL_BUFFER ALint - * State (Query only) AL_SOURCE_STATE ALint - * Buffers Queued (Query only) AL_BUFFERS_QUEUED ALint - * Buffers Processed (Query only) AL_BUFFERS_PROCESSED ALint - */ - -/* Create Source objects */ -AL_API void AL_APIENTRY alGenSources( ALsizei n, ALuint* sources ); - -/* Delete Source objects */ -AL_API void AL_APIENTRY alDeleteSources( ALsizei n, const ALuint* sources ); - -/* Verify a handle is a valid Source */ -AL_API ALboolean AL_APIENTRY alIsSource( ALuint sid ); - -/* - * Set Source parameters - */ -AL_API void AL_APIENTRY alSourcef( ALuint sid, ALenum param, ALfloat value ); - -AL_API void AL_APIENTRY alSource3f( ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); - -AL_API void AL_APIENTRY alSourcefv( ALuint sid, ALenum param, const ALfloat* values ); - -AL_API void AL_APIENTRY alSourcei( ALuint sid, ALenum param, ALint value ); - -AL_API void AL_APIENTRY alSource3i( ALuint sid, ALenum param, ALint value1, ALint value2, ALint value3 ); - -AL_API void AL_APIENTRY alSourceiv( ALuint sid, ALenum param, const ALint* values ); - -/* - * Get Source parameters - */ -AL_API void AL_APIENTRY alGetSourcef( ALuint sid, ALenum param, ALfloat* value ); - -AL_API void AL_APIENTRY alGetSource3f( ALuint sid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); - -AL_API void AL_APIENTRY alGetSourcefv( ALuint sid, ALenum param, ALfloat* values ); - -AL_API void AL_APIENTRY alGetSourcei( ALuint sid, ALenum param, ALint* value ); - -AL_API void AL_APIENTRY alGetSource3i( ALuint sid, ALenum param, ALint* value1, ALint* value2, ALint* value3); - -AL_API void AL_APIENTRY alGetSourceiv( ALuint sid, ALenum param, ALint* values ); - - -/* - * Source vector based playback calls - */ - -/* Play, replay, or resume (if paused) a list of Sources */ -AL_API void AL_APIENTRY alSourcePlayv( ALsizei ns, const ALuint *sids ); - -/* Stop a list of Sources */ -AL_API void AL_APIENTRY alSourceStopv( ALsizei ns, const ALuint *sids ); - -/* Rewind a list of Sources */ -AL_API void AL_APIENTRY alSourceRewindv( ALsizei ns, const ALuint *sids ); - -/* Pause a list of Sources */ -AL_API void AL_APIENTRY alSourcePausev( ALsizei ns, const ALuint *sids ); - -/* - * Source based playback calls - */ - -/* Play, replay, or resume a Source */ -AL_API void AL_APIENTRY alSourcePlay( ALuint sid ); - -/* Stop a Source */ -AL_API void AL_APIENTRY alSourceStop( ALuint sid ); - -/* Rewind a Source (set playback postiton to beginning) */ -AL_API void AL_APIENTRY alSourceRewind( ALuint sid ); - -/* Pause a Source */ -AL_API void AL_APIENTRY alSourcePause( ALuint sid ); - -/* - * Source Queuing - */ -AL_API void AL_APIENTRY alSourceQueueBuffers( ALuint sid, ALsizei numEntries, const ALuint *bids ); - -AL_API void AL_APIENTRY alSourceUnqueueBuffers( ALuint sid, ALsizei numEntries, ALuint *bids ); - - -/** - * BUFFER - * Buffer objects are storage space for sample data. - * Buffers are referred to by Sources. One Buffer can be used - * by multiple Sources. - * - * Properties include: - - * - * Frequency (Query only) AL_FREQUENCY ALint - * Size (Query only) AL_SIZE ALint - * Bits (Query only) AL_BITS ALint - * Channels (Query only) AL_CHANNELS ALint - */ - -/* Create Buffer objects */ -AL_API void AL_APIENTRY alGenBuffers( ALsizei n, ALuint* buffers ); - -/* Delete Buffer objects */ -AL_API void AL_APIENTRY alDeleteBuffers( ALsizei n, const ALuint* buffers ); - -/* Verify a handle is a valid Buffer */ -AL_API ALboolean AL_APIENTRY alIsBuffer( ALuint bid ); - -/* Specify the data to be copied into a buffer */ -AL_API void AL_APIENTRY alBufferData( ALuint bid, ALenum format, const ALvoid* data, ALsizei size, ALsizei freq ); - -/* - * Set Buffer parameters - */ -AL_API void AL_APIENTRY alBufferf( ALuint bid, ALenum param, ALfloat value ); - -AL_API void AL_APIENTRY alBuffer3f( ALuint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); - -AL_API void AL_APIENTRY alBufferfv( ALuint bid, ALenum param, const ALfloat* values ); - -AL_API void AL_APIENTRY alBufferi( ALuint bid, ALenum param, ALint value ); - -AL_API void AL_APIENTRY alBuffer3i( ALuint bid, ALenum param, ALint value1, ALint value2, ALint value3 ); - -AL_API void AL_APIENTRY alBufferiv( ALuint bid, ALenum param, const ALint* values ); - -/* - * Get Buffer parameters - */ -AL_API void AL_APIENTRY alGetBufferf( ALuint bid, ALenum param, ALfloat* value ); - -AL_API void AL_APIENTRY alGetBuffer3f( ALuint bid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); - -AL_API void AL_APIENTRY alGetBufferfv( ALuint bid, ALenum param, ALfloat* values ); - -AL_API void AL_APIENTRY alGetBufferi( ALuint bid, ALenum param, ALint* value ); - -AL_API void AL_APIENTRY alGetBuffer3i( ALuint bid, ALenum param, ALint* value1, ALint* value2, ALint* value3); - -AL_API void AL_APIENTRY alGetBufferiv( ALuint bid, ALenum param, ALint* values ); - - -/* - * Global Parameters - */ -AL_API void AL_APIENTRY alDopplerFactor( ALfloat value ); - -AL_API void AL_APIENTRY alDopplerVelocity( ALfloat value ); - -AL_API void AL_APIENTRY alSpeedOfSound( ALfloat value ); - -AL_API void AL_APIENTRY alDistanceModel( ALenum distanceModel ); - -#else /* AL_NO_PROTOTYPES */ - -typedef void (AL_APIENTRY *LPALENABLE)( ALenum capability ); -typedef void (AL_APIENTRY *LPALDISABLE)( ALenum capability ); -typedef ALboolean (AL_APIENTRY *LPALISENABLED)( ALenum capability ); -typedef const ALchar* (AL_APIENTRY *LPALGETSTRING)( ALenum param ); -typedef void (AL_APIENTRY *LPALGETBOOLEANV)( ALenum param, ALboolean* data ); -typedef void (AL_APIENTRY *LPALGETINTEGERV)( ALenum param, ALint* data ); -typedef void (AL_APIENTRY *LPALGETFLOATV)( ALenum param, ALfloat* data ); -typedef void (AL_APIENTRY *LPALGETDOUBLEV)( ALenum param, ALdouble* data ); -typedef ALboolean (AL_APIENTRY *LPALGETBOOLEAN)( ALenum param ); -typedef ALint (AL_APIENTRY *LPALGETINTEGER)( ALenum param ); -typedef ALfloat (AL_APIENTRY *LPALGETFLOAT)( ALenum param ); -typedef ALdouble (AL_APIENTRY *LPALGETDOUBLE)( ALenum param ); -typedef ALenum (AL_APIENTRY *LPALGETERROR)( void ); -typedef ALboolean (AL_APIENTRY *LPALISEXTENSIONPRESENT)(const ALchar* extname ); -typedef void* (AL_APIENTRY *LPALGETPROCADDRESS)( const ALchar* fname ); -typedef ALenum (AL_APIENTRY *LPALGETENUMVALUE)( const ALchar* ename ); -typedef void (AL_APIENTRY *LPALLISTENERF)( ALenum param, ALfloat value ); -typedef void (AL_APIENTRY *LPALLISTENER3F)( ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); -typedef void (AL_APIENTRY *LPALLISTENERFV)( ALenum param, const ALfloat* values ); -typedef void (AL_APIENTRY *LPALLISTENERI)( ALenum param, ALint value ); -typedef void (AL_APIENTRY *LPALLISTENER3I)( ALenum param, ALint value1, ALint value2, ALint value3 ); -typedef void (AL_APIENTRY *LPALLISTENERIV)( ALenum param, const ALint* values ); -typedef void (AL_APIENTRY *LPALGETLISTENERF)( ALenum param, ALfloat* value ); -typedef void (AL_APIENTRY *LPALGETLISTENER3F)( ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3 ); -typedef void (AL_APIENTRY *LPALGETLISTENERFV)( ALenum param, ALfloat* values ); -typedef void (AL_APIENTRY *LPALGETLISTENERI)( ALenum param, ALint* value ); -typedef void (AL_APIENTRY *LPALGETLISTENER3I)( ALenum param, ALint *value1, ALint *value2, ALint *value3 ); -typedef void (AL_APIENTRY *LPALGETLISTENERIV)( ALenum param, ALint* values ); -typedef void (AL_APIENTRY *LPALGENSOURCES)( ALsizei n, ALuint* sources ); -typedef void (AL_APIENTRY *LPALDELETESOURCES)( ALsizei n, const ALuint* sources ); -typedef ALboolean (AL_APIENTRY *LPALISSOURCE)( ALuint sid ); -typedef void (AL_APIENTRY *LPALSOURCEF)( ALuint sid, ALenum param, ALfloat value); -typedef void (AL_APIENTRY *LPALSOURCE3F)( ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); -typedef void (AL_APIENTRY *LPALSOURCEFV)( ALuint sid, ALenum param, const ALfloat* values ); -typedef void (AL_APIENTRY *LPALSOURCEI)( ALuint sid, ALenum param, ALint value); -typedef void (AL_APIENTRY *LPALSOURCE3I)( ALuint sid, ALenum param, ALint value1, ALint value2, ALint value3 ); -typedef void (AL_APIENTRY *LPALSOURCEIV)( ALuint sid, ALenum param, const ALint* values ); -typedef void (AL_APIENTRY *LPALGETSOURCEF)( ALuint sid, ALenum param, ALfloat* value ); -typedef void (AL_APIENTRY *LPALGETSOURCE3F)( ALuint sid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); -typedef void (AL_APIENTRY *LPALGETSOURCEFV)( ALuint sid, ALenum param, ALfloat* values ); -typedef void (AL_APIENTRY *LPALGETSOURCEI)( ALuint sid, ALenum param, ALint* value ); -typedef void (AL_APIENTRY *LPALGETSOURCE3I)( ALuint sid, ALenum param, ALint* value1, ALint* value2, ALint* value3); -typedef void (AL_APIENTRY *LPALGETSOURCEIV)( ALuint sid, ALenum param, ALint* values ); -typedef void (AL_APIENTRY *LPALSOURCEPLAYV)( ALsizei ns, const ALuint *sids ); -typedef void (AL_APIENTRY *LPALSOURCESTOPV)( ALsizei ns, const ALuint *sids ); -typedef void (AL_APIENTRY *LPALSOURCEREWINDV)( ALsizei ns, const ALuint *sids ); -typedef void (AL_APIENTRY *LPALSOURCEPAUSEV)( ALsizei ns, const ALuint *sids ); -typedef void (AL_APIENTRY *LPALSOURCEPLAY)( ALuint sid ); -typedef void (AL_APIENTRY *LPALSOURCESTOP)( ALuint sid ); -typedef void (AL_APIENTRY *LPALSOURCEREWIND)( ALuint sid ); -typedef void (AL_APIENTRY *LPALSOURCEPAUSE)( ALuint sid ); -typedef void (AL_APIENTRY *LPALSOURCEQUEUEBUFFERS)(ALuint sid, ALsizei numEntries, const ALuint *bids ); -typedef void (AL_APIENTRY *LPALSOURCEUNQUEUEBUFFERS)(ALuint sid, ALsizei numEntries, ALuint *bids ); -typedef void (AL_APIENTRY *LPALGENBUFFERS)( ALsizei n, ALuint* buffers ); -typedef void (AL_APIENTRY *LPALDELETEBUFFERS)( ALsizei n, const ALuint* buffers ); -typedef ALboolean (AL_APIENTRY *LPALISBUFFER)( ALuint bid ); -typedef void (AL_APIENTRY *LPALBUFFERDATA)( ALuint bid, ALenum format, const ALvoid* data, ALsizei size, ALsizei freq ); -typedef void (AL_APIENTRY *LPALBUFFERF)( ALuint bid, ALenum param, ALfloat value); -typedef void (AL_APIENTRY *LPALBUFFER3F)( ALuint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); -typedef void (AL_APIENTRY *LPALBUFFERFV)( ALuint bid, ALenum param, const ALfloat* values ); -typedef void (AL_APIENTRY *LPALBUFFERI)( ALuint bid, ALenum param, ALint value); -typedef void (AL_APIENTRY *LPALBUFFER3I)( ALuint bid, ALenum param, ALint value1, ALint value2, ALint value3 ); -typedef void (AL_APIENTRY *LPALBUFFERIV)( ALuint bid, ALenum param, const ALint* values ); -typedef void (AL_APIENTRY *LPALGETBUFFERF)( ALuint bid, ALenum param, ALfloat* value ); -typedef void (AL_APIENTRY *LPALGETBUFFER3F)( ALuint bid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); -typedef void (AL_APIENTRY *LPALGETBUFFERFV)( ALuint bid, ALenum param, ALfloat* values ); -typedef void (AL_APIENTRY *LPALGETBUFFERI)( ALuint bid, ALenum param, ALint* value ); -typedef void (AL_APIENTRY *LPALGETBUFFER3I)( ALuint bid, ALenum param, ALint* value1, ALint* value2, ALint* value3); -typedef void (AL_APIENTRY *LPALGETBUFFERIV)( ALuint bid, ALenum param, ALint* values ); -typedef void (AL_APIENTRY *LPALDOPPLERFACTOR)( ALfloat value ); -typedef void (AL_APIENTRY *LPALDOPPLERVELOCITY)( ALfloat value ); -typedef void (AL_APIENTRY *LPALSPEEDOFSOUND)( ALfloat value ); -typedef void (AL_APIENTRY *LPALDISTANCEMODEL)( ALenum distanceModel ); - -#endif /* AL_NO_PROTOTYPES */ - -#if TARGET_OS_MAC - #pragma export off -#endif - -#if defined(__cplusplus) -} /* extern "C" */ -#endif - -#endif /* AL_AL_H */ diff -Nru duration-0.0.4/addons/ofxTimeline/libs/openal/include/AL/alc.h duration-0.0.3/addons/ofxTimeline/libs/openal/include/AL/alc.h --- duration-0.0.4/addons/ofxTimeline/libs/openal/include/AL/alc.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/openal/include/AL/alc.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,281 +0,0 @@ -#ifndef AL_ALC_H -#define AL_ALC_H - -#if defined(__cplusplus) -extern "C" { -#endif - -#if defined(_WIN32) && !defined(_XBOX) - /* _OPENAL32LIB is deprecated */ - #if defined(AL_BUILD_LIBRARY) || defined (_OPENAL32LIB) - #define ALC_API __declspec(dllexport) - #else - #define ALC_API __declspec(dllimport) - #endif -#else - #if defined(AL_BUILD_LIBRARY) && defined(HAVE_GCC_VISIBILITY) - #define ALC_API __attribute__((visibility("default"))) - #else - #define ALC_API extern - #endif -#endif - -#if defined(_WIN32) - #define ALC_APIENTRY __cdecl -#else - #define ALC_APIENTRY -#endif - -#if defined(TARGET_OS_MAC) && TARGET_OS_MAC - #pragma export on -#endif - -/* - * The ALCAPI, ALCAPIENTRY, and ALC_INVALID macros are deprecated, but are - * included for applications porting code from AL 1.0 - */ -#define ALCAPI ALC_API -#define ALCAPIENTRY ALC_APIENTRY -#define ALC_INVALID 0 - - -#define ALC_VERSION_0_1 1 - -typedef struct ALCdevice_struct ALCdevice; -typedef struct ALCcontext_struct ALCcontext; - - -/** 8-bit boolean */ -typedef char ALCboolean; - -/** character */ -typedef char ALCchar; - -/** signed 8-bit 2's complement integer */ -typedef char ALCbyte; - -/** unsigned 8-bit integer */ -typedef unsigned char ALCubyte; - -/** signed 16-bit 2's complement integer */ -typedef short ALCshort; - -/** unsigned 16-bit integer */ -typedef unsigned short ALCushort; - -/** signed 32-bit 2's complement integer */ -typedef int ALCint; - -/** unsigned 32-bit integer */ -typedef unsigned int ALCuint; - -/** non-negative 32-bit binary integer size */ -typedef int ALCsizei; - -/** enumerated 32-bit value */ -typedef int ALCenum; - -/** 32-bit IEEE754 floating-point */ -typedef float ALCfloat; - -/** 64-bit IEEE754 floating-point */ -typedef double ALCdouble; - -/** void type (for opaque pointers only) */ -typedef void ALCvoid; - - -/* Enumerant values begin at column 50. No tabs. */ - -/* Boolean False. */ -#define ALC_FALSE 0 - -/* Boolean True. */ -#define ALC_TRUE 1 - -/** - * followed by Hz - */ -#define ALC_FREQUENCY 0x1007 - -/** - * followed by Hz - */ -#define ALC_REFRESH 0x1008 - -/** - * followed by AL_TRUE, AL_FALSE - */ -#define ALC_SYNC 0x1009 - -/** - * followed by Num of requested Mono (3D) Sources - */ -#define ALC_MONO_SOURCES 0x1010 - -/** - * followed by Num of requested Stereo Sources - */ -#define ALC_STEREO_SOURCES 0x1011 - -/** - * errors - */ - -/** - * No error - */ -#define ALC_NO_ERROR ALC_FALSE - -/** - * No device - */ -#define ALC_INVALID_DEVICE 0xA001 - -/** - * invalid context ID - */ -#define ALC_INVALID_CONTEXT 0xA002 - -/** - * bad enum - */ -#define ALC_INVALID_ENUM 0xA003 - -/** - * bad value - */ -#define ALC_INVALID_VALUE 0xA004 - -/** - * Out of memory. - */ -#define ALC_OUT_OF_MEMORY 0xA005 - - -/** - * The Specifier string for default device - */ -#define ALC_DEFAULT_DEVICE_SPECIFIER 0x1004 -#define ALC_DEVICE_SPECIFIER 0x1005 -#define ALC_EXTENSIONS 0x1006 - -#define ALC_MAJOR_VERSION 0x1000 -#define ALC_MINOR_VERSION 0x1001 - -#define ALC_ATTRIBUTES_SIZE 0x1002 -#define ALC_ALL_ATTRIBUTES 0x1003 - -/** - * ALC_ENUMERATE_ALL_EXT enums - */ -#define ALC_DEFAULT_ALL_DEVICES_SPECIFIER 0x1012 -#define ALC_ALL_DEVICES_SPECIFIER 0x1013 - -/** - * Capture extension - */ -#define ALC_CAPTURE_DEVICE_SPECIFIER 0x310 -#define ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER 0x311 -#define ALC_CAPTURE_SAMPLES 0x312 - - -/* - * Context Management - */ -ALC_API ALCcontext * ALC_APIENTRY alcCreateContext( ALCdevice *device, const ALCint* attrlist ); - -ALC_API ALCboolean ALC_APIENTRY alcMakeContextCurrent( ALCcontext *context ); - -ALC_API void ALC_APIENTRY alcProcessContext( ALCcontext *context ); - -ALC_API void ALC_APIENTRY alcSuspendContext( ALCcontext *context ); - -ALC_API void ALC_APIENTRY alcDestroyContext( ALCcontext *context ); - -ALC_API ALCcontext * ALC_APIENTRY alcGetCurrentContext( void ); - -ALC_API ALCdevice* ALC_APIENTRY alcGetContextsDevice( ALCcontext *context ); - - -/* - * Device Management - */ -ALC_API ALCdevice * ALC_APIENTRY alcOpenDevice( const ALCchar *devicename ); - -ALC_API ALCboolean ALC_APIENTRY alcCloseDevice( ALCdevice *device ); - - -/* - * Error support. - * Obtain the most recent Context error - */ -ALC_API ALCenum ALC_APIENTRY alcGetError( ALCdevice *device ); - - -/* - * Extension support. - * Query for the presence of an extension, and obtain any appropriate - * function pointers and enum values. - */ -ALC_API ALCboolean ALC_APIENTRY alcIsExtensionPresent( ALCdevice *device, const ALCchar *extname ); - -ALC_API void * ALC_APIENTRY alcGetProcAddress( ALCdevice *device, const ALCchar *funcname ); - -ALC_API ALCenum ALC_APIENTRY alcGetEnumValue( ALCdevice *device, const ALCchar *enumname ); - - -/* - * Query functions - */ -ALC_API const ALCchar * ALC_APIENTRY alcGetString( ALCdevice *device, ALCenum param ); - -ALC_API void ALC_APIENTRY alcGetIntegerv( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data ); - - -/* - * Capture functions - */ -ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize ); - -ALC_API ALCboolean ALC_APIENTRY alcCaptureCloseDevice( ALCdevice *device ); - -ALC_API void ALC_APIENTRY alcCaptureStart( ALCdevice *device ); - -ALC_API void ALC_APIENTRY alcCaptureStop( ALCdevice *device ); - -ALC_API void ALC_APIENTRY alcCaptureSamples( ALCdevice *device, ALCvoid *buffer, ALCsizei samples ); - -/* - * Pointer-to-function types, useful for dynamically getting ALC entry points. - */ -typedef ALCcontext * (ALC_APIENTRY *LPALCCREATECONTEXT) (ALCdevice *device, const ALCint *attrlist); -typedef ALCboolean (ALC_APIENTRY *LPALCMAKECONTEXTCURRENT)( ALCcontext *context ); -typedef void (ALC_APIENTRY *LPALCPROCESSCONTEXT)( ALCcontext *context ); -typedef void (ALC_APIENTRY *LPALCSUSPENDCONTEXT)( ALCcontext *context ); -typedef void (ALC_APIENTRY *LPALCDESTROYCONTEXT)( ALCcontext *context ); -typedef ALCcontext * (ALC_APIENTRY *LPALCGETCURRENTCONTEXT)( void ); -typedef ALCdevice * (ALC_APIENTRY *LPALCGETCONTEXTSDEVICE)( ALCcontext *context ); -typedef ALCdevice * (ALC_APIENTRY *LPALCOPENDEVICE)( const ALCchar *devicename ); -typedef ALCboolean (ALC_APIENTRY *LPALCCLOSEDEVICE)( ALCdevice *device ); -typedef ALCenum (ALC_APIENTRY *LPALCGETERROR)( ALCdevice *device ); -typedef ALCboolean (ALC_APIENTRY *LPALCISEXTENSIONPRESENT)( ALCdevice *device, const ALCchar *extname ); -typedef void * (ALC_APIENTRY *LPALCGETPROCADDRESS)(ALCdevice *device, const ALCchar *funcname ); -typedef ALCenum (ALC_APIENTRY *LPALCGETENUMVALUE)(ALCdevice *device, const ALCchar *enumname ); -typedef const ALCchar* (ALC_APIENTRY *LPALCGETSTRING)( ALCdevice *device, ALCenum param ); -typedef void (ALC_APIENTRY *LPALCGETINTEGERV)( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *dest ); -typedef ALCdevice * (ALC_APIENTRY *LPALCCAPTUREOPENDEVICE)( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize ); -typedef ALCboolean (ALC_APIENTRY *LPALCCAPTURECLOSEDEVICE)( ALCdevice *device ); -typedef void (ALC_APIENTRY *LPALCCAPTURESTART)( ALCdevice *device ); -typedef void (ALC_APIENTRY *LPALCCAPTURESTOP)( ALCdevice *device ); -typedef void (ALC_APIENTRY *LPALCCAPTURESAMPLES)( ALCdevice *device, ALCvoid *buffer, ALCsizei samples ); - -#if defined(TARGET_OS_MAC) && TARGET_OS_MAC - #pragma export off -#endif - -#if defined(__cplusplus) -} -#endif - -#endif /* AL_ALC_H */ diff -Nru duration-0.0.4/addons/ofxTimeline/libs/openal/include/AL/efx-creative.h duration-0.0.3/addons/ofxTimeline/libs/openal/include/AL/efx-creative.h --- duration-0.0.4/addons/ofxTimeline/libs/openal/include/AL/efx-creative.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/openal/include/AL/efx-creative.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,151 +0,0 @@ -#ifndef __efxcreative_h_ -#define __efxcreative_h_ - -/** - * efx-creative.h - Environmental Audio Extensions - * for OpenAL Effects Extension. - * - */ -#ifdef __cplusplus -extern "C" { -#endif - - -/** - * Effect object definitions to be used with alEffect functions. - * - * Effect parameter value definitions, ranges, and defaults - * appear farther down in this file. - */ - -/* AL EAXReverb effect parameters. */ -#define AL_EAXREVERB_DENSITY 0x0001 -#define AL_EAXREVERB_DIFFUSION 0x0002 -#define AL_EAXREVERB_GAIN 0x0003 -#define AL_EAXREVERB_GAINHF 0x0004 -#define AL_EAXREVERB_GAINLF 0x0005 -#define AL_EAXREVERB_DECAY_TIME 0x0006 -#define AL_EAXREVERB_DECAY_HFRATIO 0x0007 -#define AL_EAXREVERB_DECAY_LFRATIO 0x0008 -#define AL_EAXREVERB_REFLECTIONS_GAIN 0x0009 -#define AL_EAXREVERB_REFLECTIONS_DELAY 0x000A -#define AL_EAXREVERB_REFLECTIONS_PAN 0x000B -#define AL_EAXREVERB_LATE_REVERB_GAIN 0x000C -#define AL_EAXREVERB_LATE_REVERB_DELAY 0x000D -#define AL_EAXREVERB_LATE_REVERB_PAN 0x000E -#define AL_EAXREVERB_ECHO_TIME 0x000F -#define AL_EAXREVERB_ECHO_DEPTH 0x0010 -#define AL_EAXREVERB_MODULATION_TIME 0x0011 -#define AL_EAXREVERB_MODULATION_DEPTH 0x0012 -#define AL_EAXREVERB_AIR_ABSORPTION_GAINHF 0x0013 -#define AL_EAXREVERB_HFREFERENCE 0x0014 -#define AL_EAXREVERB_LFREFERENCE 0x0015 -#define AL_EAXREVERB_ROOM_ROLLOFF_FACTOR 0x0016 -#define AL_EAXREVERB_DECAY_HFLIMIT 0x0017 - -/* Effect type definitions to be used with AL_EFFECT_TYPE. */ -#define AL_EFFECT_EAXREVERB 0x8000 - - - - /********************************************************** - * Effect parameter structures, value definitions, ranges and defaults. - */ - -/** - * AL reverb effect parameter ranges and defaults - */ -#define AL_EAXREVERB_MIN_DENSITY 0.0f -#define AL_EAXREVERB_MAX_DENSITY 1.0f -#define AL_EAXREVERB_DEFAULT_DENSITY 1.0f - -#define AL_EAXREVERB_MIN_DIFFUSION 0.0f -#define AL_EAXREVERB_MAX_DIFFUSION 1.0f -#define AL_EAXREVERB_DEFAULT_DIFFUSION 1.0f - -#define AL_EAXREVERB_MIN_GAIN 0.0f -#define AL_EAXREVERB_MAX_GAIN 1.0f -#define AL_EAXREVERB_DEFAULT_GAIN 0.32f - -#define AL_EAXREVERB_MIN_GAINHF 0.0f -#define AL_EAXREVERB_MAX_GAINHF 1.0f -#define AL_EAXREVERB_DEFAULT_GAINHF 0.89f - -#define AL_EAXREVERB_MIN_GAINLF 0.0f -#define AL_EAXREVERB_MAX_GAINLF 1.0f -#define AL_EAXREVERB_DEFAULT_GAINLF 1.0f - -#define AL_EAXREVERB_MIN_DECAY_TIME 0.1f -#define AL_EAXREVERB_MAX_DECAY_TIME 20.0f -#define AL_EAXREVERB_DEFAULT_DECAY_TIME 1.49f - -#define AL_EAXREVERB_MIN_DECAY_HFRATIO 0.1f -#define AL_EAXREVERB_MAX_DECAY_HFRATIO 2.0f -#define AL_EAXREVERB_DEFAULT_DECAY_HFRATIO 0.83f - -#define AL_EAXREVERB_MIN_DECAY_LFRATIO 0.1f -#define AL_EAXREVERB_MAX_DECAY_LFRATIO 2.0f -#define AL_EAXREVERB_DEFAULT_DECAY_LFRATIO 1.0f - -#define AL_EAXREVERB_MIN_REFLECTIONS_GAIN 0.0f -#define AL_EAXREVERB_MAX_REFLECTIONS_GAIN 3.16f -#define AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN 0.05f - -#define AL_EAXREVERB_MIN_REFLECTIONS_DELAY 0.0f -#define AL_EAXREVERB_MAX_REFLECTIONS_DELAY 0.3f -#define AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY 0.007f - -#define AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN {0.0f, 0.0f, 0.0f} - -#define AL_EAXREVERB_MIN_LATE_REVERB_GAIN 0.0f -#define AL_EAXREVERB_MAX_LATE_REVERB_GAIN 10.0f -#define AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN 1.26f - -#define AL_EAXREVERB_MIN_LATE_REVERB_DELAY 0.0f -#define AL_EAXREVERB_MAX_LATE_REVERB_DELAY 0.1f -#define AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY 0.011f - -#define AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN {0.0f, 0.0f, 0.0f} - -#define AL_EAXREVERB_MIN_ECHO_TIME 0.075f -#define AL_EAXREVERB_MAX_ECHO_TIME 0.25f -#define AL_EAXREVERB_DEFAULT_ECHO_TIME 0.25f - -#define AL_EAXREVERB_MIN_ECHO_DEPTH 0.0f -#define AL_EAXREVERB_MAX_ECHO_DEPTH 1.0f -#define AL_EAXREVERB_DEFAULT_ECHO_DEPTH 0.0f - -#define AL_EAXREVERB_MIN_MODULATION_TIME 0.04f -#define AL_EAXREVERB_MAX_MODULATION_TIME 4.0f -#define AL_EAXREVERB_DEFAULT_MODULATION_TIME 0.25f - -#define AL_EAXREVERB_MIN_MODULATION_DEPTH 0.0f -#define AL_EAXREVERB_MAX_MODULATION_DEPTH 1.0f -#define AL_EAXREVERB_DEFAULT_MODULATION_DEPTH 0.0f - -#define AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF 0.892f -#define AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF 1.0f -#define AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF 0.994f - -#define AL_EAXREVERB_MIN_HFREFERENCE 1000.0f -#define AL_EAXREVERB_MAX_HFREFERENCE 20000.0f -#define AL_EAXREVERB_DEFAULT_HFREFERENCE 5000.0f - -#define AL_EAXREVERB_MIN_LFREFERENCE 20.0f -#define AL_EAXREVERB_MAX_LFREFERENCE 1000.0f -#define AL_EAXREVERB_DEFAULT_LFREFERENCE 250.0f - -#define AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR 0.0f -#define AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR 10.0f -#define AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR 0.0f - -#define AL_EAXREVERB_MIN_DECAY_HFLIMIT AL_FALSE -#define AL_EAXREVERB_MAX_DECAY_HFLIMIT AL_TRUE -#define AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE - - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __efxcreative_h_ */ diff -Nru duration-0.0.4/addons/ofxTimeline/libs/openal/include/AL/efx.h duration-0.0.3/addons/ofxTimeline/libs/openal/include/AL/efx.h --- duration-0.0.4/addons/ofxTimeline/libs/openal/include/AL/efx.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/openal/include/AL/efx.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,737 +0,0 @@ -#ifndef __efx_h_ -#define __efx_h_ - - -#ifdef __cplusplus -extern "C" { -#endif - -#define ALC_EXT_EFX_NAME "ALC_EXT_EFX" - -/** - * Context definitions to be used with alcCreateContext. - * These values must be unique and not conflict with other - * al context values. - */ -#define ALC_EFX_MAJOR_VERSION 0x20001 -#define ALC_EFX_MINOR_VERSION 0x20002 -#define ALC_MAX_AUXILIARY_SENDS 0x20003 - - - - -/** - * Listener definitions to be used with alListener functions. - * These values must be unique and not conflict with other - * al listener values. - */ -#define AL_METERS_PER_UNIT 0x20004 - - - - -/** - * Source definitions to be used with alSource functions. - * These values must be unique and not conflict with other - * al source values. - */ -#define AL_DIRECT_FILTER 0x20005 -#define AL_AUXILIARY_SEND_FILTER 0x20006 -#define AL_AIR_ABSORPTION_FACTOR 0x20007 -#define AL_ROOM_ROLLOFF_FACTOR 0x20008 -#define AL_CONE_OUTER_GAINHF 0x20009 -#define AL_DIRECT_FILTER_GAINHF_AUTO 0x2000A -#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO 0x2000B -#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO 0x2000C - - - - -/** - * Effect object definitions to be used with alEffect functions. - * - * Effect parameter value definitions, ranges, and defaults - * appear farther down in this file. - */ - -/* Reverb Parameters */ -#define AL_REVERB_DENSITY 0x0001 -#define AL_REVERB_DIFFUSION 0x0002 -#define AL_REVERB_GAIN 0x0003 -#define AL_REVERB_GAINHF 0x0004 -#define AL_REVERB_DECAY_TIME 0x0005 -#define AL_REVERB_DECAY_HFRATIO 0x0006 -#define AL_REVERB_REFLECTIONS_GAIN 0x0007 -#define AL_REVERB_REFLECTIONS_DELAY 0x0008 -#define AL_REVERB_LATE_REVERB_GAIN 0x0009 -#define AL_REVERB_LATE_REVERB_DELAY 0x000A -#define AL_REVERB_AIR_ABSORPTION_GAINHF 0x000B -#define AL_REVERB_ROOM_ROLLOFF_FACTOR 0x000C -#define AL_REVERB_DECAY_HFLIMIT 0x000D - -/* Chorus Parameters */ -#define AL_CHORUS_WAVEFORM 0x0001 -#define AL_CHORUS_PHASE 0x0002 -#define AL_CHORUS_RATE 0x0003 -#define AL_CHORUS_DEPTH 0x0004 -#define AL_CHORUS_FEEDBACK 0x0005 -#define AL_CHORUS_DELAY 0x0006 - -/* Distortion Parameters */ -#define AL_DISTORTION_EDGE 0x0001 -#define AL_DISTORTION_GAIN 0x0002 -#define AL_DISTORTION_LOWPASS_CUTOFF 0x0003 -#define AL_DISTORTION_EQCENTER 0x0004 -#define AL_DISTORTION_EQBANDWIDTH 0x0005 - -/* Echo Parameters */ -#define AL_ECHO_DELAY 0x0001 -#define AL_ECHO_LRDELAY 0x0002 -#define AL_ECHO_DAMPING 0x0003 -#define AL_ECHO_FEEDBACK 0x0004 -#define AL_ECHO_SPREAD 0x0005 - -/* Flanger Parameters */ -#define AL_FLANGER_WAVEFORM 0x0001 -#define AL_FLANGER_PHASE 0x0002 -#define AL_FLANGER_RATE 0x0003 -#define AL_FLANGER_DEPTH 0x0004 -#define AL_FLANGER_FEEDBACK 0x0005 -#define AL_FLANGER_DELAY 0x0006 - -/* Frequencyshifter Parameters */ -#define AL_FREQUENCY_SHIFTER_FREQUENCY 0x0001 -#define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION 0x0002 -#define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION 0x0003 - -/* Vocalmorpher Parameters */ -#define AL_VOCAL_MORPHER_PHONEMEA 0x0001 -#define AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING 0x0002 -#define AL_VOCAL_MORPHER_PHONEMEB 0x0003 -#define AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING 0x0004 -#define AL_VOCAL_MORPHER_WAVEFORM 0x0005 -#define AL_VOCAL_MORPHER_RATE 0x0006 - -/* Pitchshifter Parameters */ -#define AL_PITCH_SHIFTER_COARSE_TUNE 0x0001 -#define AL_PITCH_SHIFTER_FINE_TUNE 0x0002 - -/* Ringmodulator Parameters */ -#define AL_RING_MODULATOR_FREQUENCY 0x0001 -#define AL_RING_MODULATOR_HIGHPASS_CUTOFF 0x0002 -#define AL_RING_MODULATOR_WAVEFORM 0x0003 - -/* Autowah Parameters */ -#define AL_AUTOWAH_ATTACK_TIME 0x0001 -#define AL_AUTOWAH_RELEASE_TIME 0x0002 -#define AL_AUTOWAH_RESONANCE 0x0003 -#define AL_AUTOWAH_PEAK_GAIN 0x0004 - -/* Compressor Parameters */ -#define AL_COMPRESSOR_ONOFF 0x0001 - -/* Equalizer Parameters */ -#define AL_EQUALIZER_LOW_GAIN 0x0001 -#define AL_EQUALIZER_LOW_CUTOFF 0x0002 -#define AL_EQUALIZER_MID1_GAIN 0x0003 -#define AL_EQUALIZER_MID1_CENTER 0x0004 -#define AL_EQUALIZER_MID1_WIDTH 0x0005 -#define AL_EQUALIZER_MID2_GAIN 0x0006 -#define AL_EQUALIZER_MID2_CENTER 0x0007 -#define AL_EQUALIZER_MID2_WIDTH 0x0008 -#define AL_EQUALIZER_HIGH_GAIN 0x0009 -#define AL_EQUALIZER_HIGH_CUTOFF 0x000A - -/* Effect type */ -#define AL_EFFECT_FIRST_PARAMETER 0x0000 -#define AL_EFFECT_LAST_PARAMETER 0x8000 -#define AL_EFFECT_TYPE 0x8001 - -/* Effect type definitions to be used with AL_EFFECT_TYPE. */ -#define AL_EFFECT_NULL 0x0000 /* Can also be used as an Effect Object ID */ -#define AL_EFFECT_REVERB 0x0001 -#define AL_EFFECT_CHORUS 0x0002 -#define AL_EFFECT_DISTORTION 0x0003 -#define AL_EFFECT_ECHO 0x0004 -#define AL_EFFECT_FLANGER 0x0005 -#define AL_EFFECT_FREQUENCY_SHIFTER 0x0006 -#define AL_EFFECT_VOCAL_MORPHER 0x0007 -#define AL_EFFECT_PITCH_SHIFTER 0x0008 -#define AL_EFFECT_RING_MODULATOR 0x0009 -#define AL_EFFECT_AUTOWAH 0x000A -#define AL_EFFECT_COMPRESSOR 0x000B -#define AL_EFFECT_EQUALIZER 0x000C - -/** - * Auxiliary Slot object definitions to be used with alAuxiliaryEffectSlot functions. - */ -#define AL_EFFECTSLOT_EFFECT 0x0001 -#define AL_EFFECTSLOT_GAIN 0x0002 -#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003 - -/** - * Value to be used as an Auxiliary Slot ID to disable a source send.. - */ -#define AL_EFFECTSLOT_NULL 0x0000 - - - -/** - * Filter object definitions to be used with alFilter functions. - */ - -/* Lowpass parameters. */ -#define AL_LOWPASS_GAIN 0x0001 -#define AL_LOWPASS_GAINHF 0x0002 - -/* Highpass Parameters */ -#define AL_HIGHPASS_GAIN 0x0001 -#define AL_HIGHPASS_GAINLF 0x0002 - -/* Bandpass Parameters */ -#define AL_BANDPASS_GAIN 0x0001 -#define AL_BANDPASS_GAINLF 0x0002 -#define AL_BANDPASS_GAINHF 0x0003 - -/* Filter type */ -#define AL_FILTER_FIRST_PARAMETER 0x0000 -#define AL_FILTER_LAST_PARAMETER 0x8000 -#define AL_FILTER_TYPE 0x8001 - -/* Filter type definitions to be used with AL_FILTER_TYPE. */ -#define AL_FILTER_NULL 0x0000 /* Can also be used as a Filter Object ID */ -#define AL_FILTER_LOWPASS 0x0001 -#define AL_FILTER_HIGHPASS 0x0002 -#define AL_FILTER_BANDPASS 0x0003 - - -/** - * Effect object functions. - */ - -/* Create Effect objects. */ -typedef void (__cdecl *LPALGENEFFECTS)( ALsizei n, ALuint* effects ); - -/* Delete Effect objects. */ -typedef void (__cdecl *LPALDELETEEFFECTS)( ALsizei n, ALuint* effects ); - -/* Verify a handle is a valid Effect. */ -typedef ALboolean (__cdecl *LPALISEFFECT)( ALuint eid ); - -/* Set an integer parameter for an Effect object. */ -typedef void (__cdecl *LPALEFFECTI)( ALuint eid, ALenum param, ALint value); -typedef void (__cdecl *LPALEFFECTIV)( ALuint eid, ALenum param, ALint* values ); - -/* Set a floating point parameter for an Effect object. */ -typedef void (__cdecl *LPALEFFECTF)( ALuint eid, ALenum param, ALfloat value); -typedef void (__cdecl *LPALEFFECTFV)( ALuint eid, ALenum param, ALfloat* values ); - -/* Get an integer parameter for an Effect object. */ -typedef void (__cdecl *LPALGETEFFECTI)( ALuint eid, ALenum pname, ALint* value ); -typedef void (__cdecl *LPALGETEFFECTIV)( ALuint eid, ALenum pname, ALint* values ); - -/* Get a floating point parameter for an Effect object. */ -typedef void (__cdecl *LPALGETEFFECTF)( ALuint eid, ALenum pname, ALfloat* value ); -typedef void (__cdecl *LPALGETEFFECTFV)( ALuint eid, ALenum pname, ALfloat* values ); - - -/** - * Filter object functions - */ - -/* Create Filter objects. */ -typedef void (__cdecl *LPALGENFILTERS)( ALsizei n, ALuint* filters ); - -/* Delete Filter objects. */ -typedef void (__cdecl *LPALDELETEFILTERS)( ALsizei n, ALuint* filters ); - -/* Verify a handle is a valid Filter. */ -typedef ALboolean (__cdecl *LPALISFILTER)( ALuint fid ); - -/* Set an integer parameter for a Filter object. */ -typedef void (__cdecl *LPALFILTERI)( ALuint fid, ALenum param, ALint value ); -typedef void (__cdecl *LPALFILTERIV)( ALuint fid, ALenum param, ALint* values ); - -/* Set a floating point parameter for an Filter object. */ -typedef void (__cdecl *LPALFILTERF)( ALuint fid, ALenum param, ALfloat value); -typedef void (__cdecl *LPALFILTERFV)( ALuint fid, ALenum param, ALfloat* values ); - -/* Get an integer parameter for a Filter object. */ -typedef void (__cdecl *LPALGETFILTERI)( ALuint fid, ALenum pname, ALint* value ); -typedef void (__cdecl *LPALGETFILTERIV)( ALuint fid, ALenum pname, ALint* values ); - -/* Get a floating point parameter for a Filter object. */ -typedef void (__cdecl *LPALGETFILTERF)( ALuint fid, ALenum pname, ALfloat* value ); -typedef void (__cdecl *LPALGETFILTERFV)( ALuint fid, ALenum pname, ALfloat* values ); - - -/** - * Auxiliary Slot object functions - */ - -/* Create Auxiliary Slot objects. */ -typedef void (__cdecl *LPALGENAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots ); - -/* Delete Auxiliary Slot objects. */ -typedef void (__cdecl *LPALDELETEAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots ); - -/* Verify a handle is a valid Auxiliary Slot. */ -typedef ALboolean (__cdecl *LPALISAUXILIARYEFFECTSLOT)( ALuint slot ); - -/* Set an integer parameter for a Auxiliary Slot object. */ -typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum param, ALint value ); -typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum param, ALint* values ); - -/* Set a floating point parameter for an Auxiliary Slot object. */ -typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum param, ALfloat value ); -typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum param, ALfloat* values ); - -/* Get an integer parameter for a Auxiliary Slot object. */ -typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum pname, ALint* value ); -typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum pname, ALint* values ); - -/* Get a floating point parameter for a Auxiliary Slot object. */ -typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum pname, ALfloat* value ); -typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum pname, ALfloat* values ); - - - - -/********************************************************** - * Filter ranges and defaults. - */ - -/** - * Lowpass filter - */ - -#define LOWPASS_MIN_GAIN 0.0f -#define LOWPASS_MAX_GAIN 1.0f -#define LOWPASS_DEFAULT_GAIN 1.0f - -#define LOWPASS_MIN_GAINHF 0.0f -#define LOWPASS_MAX_GAINHF 1.0f -#define LOWPASS_DEFAULT_GAINHF 1.0f - -/** - * Highpass filter - */ - -#define HIGHPASS_MIN_GAIN 0.0f -#define HIGHPASS_MAX_GAIN 1.0f -#define HIGHPASS_DEFAULT_GAIN 1.0f - -#define HIGHPASS_MIN_GAINLF 0.0f -#define HIGHPASS_MAX_GAINLF 1.0f -#define HIGHPASS_DEFAULT_GAINLF 1.0f - -/** - * Bandpass filter - */ - -#define BANDPASS_MIN_GAIN 0.0f -#define BANDPASS_MAX_GAIN 1.0f -#define BANDPASS_DEFAULT_GAIN 1.0f - -#define BANDPASS_MIN_GAINHF 0.0f -#define BANDPASS_MAX_GAINHF 1.0f -#define BANDPASS_DEFAULT_GAINHF 1.0f - -#define BANDPASS_MIN_GAINLF 0.0f -#define BANDPASS_MAX_GAINLF 1.0f -#define BANDPASS_DEFAULT_GAINLF 1.0f - - - - - /********************************************************** - * Effect parameter structures, value definitions, ranges and defaults. - */ - -/** - * AL reverb effect parameter ranges and defaults - */ -#define AL_REVERB_MIN_DENSITY 0.0f -#define AL_REVERB_MAX_DENSITY 1.0f -#define AL_REVERB_DEFAULT_DENSITY 1.0f - -#define AL_REVERB_MIN_DIFFUSION 0.0f -#define AL_REVERB_MAX_DIFFUSION 1.0f -#define AL_REVERB_DEFAULT_DIFFUSION 1.0f - -#define AL_REVERB_MIN_GAIN 0.0f -#define AL_REVERB_MAX_GAIN 1.0f -#define AL_REVERB_DEFAULT_GAIN 0.32f - -#define AL_REVERB_MIN_GAINHF 0.0f -#define AL_REVERB_MAX_GAINHF 1.0f -#define AL_REVERB_DEFAULT_GAINHF 0.89f - -#define AL_REVERB_MIN_DECAY_TIME 0.1f -#define AL_REVERB_MAX_DECAY_TIME 20.0f -#define AL_REVERB_DEFAULT_DECAY_TIME 1.49f - -#define AL_REVERB_MIN_DECAY_HFRATIO 0.1f -#define AL_REVERB_MAX_DECAY_HFRATIO 2.0f -#define AL_REVERB_DEFAULT_DECAY_HFRATIO 0.83f - -#define AL_REVERB_MIN_REFLECTIONS_GAIN 0.0f -#define AL_REVERB_MAX_REFLECTIONS_GAIN 3.16f -#define AL_REVERB_DEFAULT_REFLECTIONS_GAIN 0.05f - -#define AL_REVERB_MIN_REFLECTIONS_DELAY 0.0f -#define AL_REVERB_MAX_REFLECTIONS_DELAY 0.3f -#define AL_REVERB_DEFAULT_REFLECTIONS_DELAY 0.007f - -#define AL_REVERB_MIN_LATE_REVERB_GAIN 0.0f -#define AL_REVERB_MAX_LATE_REVERB_GAIN 10.0f -#define AL_REVERB_DEFAULT_LATE_REVERB_GAIN 1.26f - -#define AL_REVERB_MIN_LATE_REVERB_DELAY 0.0f -#define AL_REVERB_MAX_LATE_REVERB_DELAY 0.1f -#define AL_REVERB_DEFAULT_LATE_REVERB_DELAY 0.011f - -#define AL_REVERB_MIN_AIR_ABSORPTION_GAINHF 0.892f -#define AL_REVERB_MAX_AIR_ABSORPTION_GAINHF 1.0f -#define AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF 0.994f - -#define AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR 0.0f -#define AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR 10.0f -#define AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR 0.0f - -#define AL_REVERB_MIN_DECAY_HFLIMIT AL_FALSE -#define AL_REVERB_MAX_DECAY_HFLIMIT AL_TRUE -#define AL_REVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE - -/** - * AL chorus effect parameter ranges and defaults - */ -#define AL_CHORUS_MIN_WAVEFORM 0 -#define AL_CHORUS_MAX_WAVEFORM 1 -#define AL_CHORUS_DEFAULT_WAVEFORM 1 - -#define AL_CHORUS_WAVEFORM_SINUSOID 0 -#define AL_CHORUS_WAVEFORM_TRIANGLE 1 - -#define AL_CHORUS_MIN_PHASE (-180) -#define AL_CHORUS_MAX_PHASE 180 -#define AL_CHORUS_DEFAULT_PHASE 90 - -#define AL_CHORUS_MIN_RATE 0.0f -#define AL_CHORUS_MAX_RATE 10.0f -#define AL_CHORUS_DEFAULT_RATE 1.1f - -#define AL_CHORUS_MIN_DEPTH 0.0f -#define AL_CHORUS_MAX_DEPTH 1.0f -#define AL_CHORUS_DEFAULT_DEPTH 0.1f - -#define AL_CHORUS_MIN_FEEDBACK (-1.0f) -#define AL_CHORUS_MAX_FEEDBACK 1.0f -#define AL_CHORUS_DEFAULT_FEEDBACK 0.25f - -#define AL_CHORUS_MIN_DELAY 0.0f -#define AL_CHORUS_MAX_DELAY 0.016f -#define AL_CHORUS_DEFAULT_DELAY 0.016f - -/** - * AL distortion effect parameter ranges and defaults - */ -#define AL_DISTORTION_MIN_EDGE 0.0f -#define AL_DISTORTION_MAX_EDGE 1.0f -#define AL_DISTORTION_DEFAULT_EDGE 0.2f - -#define AL_DISTORTION_MIN_GAIN 0.01f -#define AL_DISTORTION_MAX_GAIN 1.0f -#define AL_DISTORTION_DEFAULT_GAIN 0.05f - -#define AL_DISTORTION_MIN_LOWPASS_CUTOFF 80.0f -#define AL_DISTORTION_MAX_LOWPASS_CUTOFF 24000.0f -#define AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF 8000.0f - -#define AL_DISTORTION_MIN_EQCENTER 80.0f -#define AL_DISTORTION_MAX_EQCENTER 24000.0f -#define AL_DISTORTION_DEFAULT_EQCENTER 3600.0f - -#define AL_DISTORTION_MIN_EQBANDWIDTH 80.0f -#define AL_DISTORTION_MAX_EQBANDWIDTH 24000.0f -#define AL_DISTORTION_DEFAULT_EQBANDWIDTH 3600.0f - -/** - * AL echo effect parameter ranges and defaults - */ -#define AL_ECHO_MIN_DELAY 0.0f -#define AL_ECHO_MAX_DELAY 0.207f -#define AL_ECHO_DEFAULT_DELAY 0.1f - -#define AL_ECHO_MIN_LRDELAY 0.0f -#define AL_ECHO_MAX_LRDELAY 0.404f -#define AL_ECHO_DEFAULT_LRDELAY 0.1f - -#define AL_ECHO_MIN_DAMPING 0.0f -#define AL_ECHO_MAX_DAMPING 0.99f -#define AL_ECHO_DEFAULT_DAMPING 0.5f - -#define AL_ECHO_MIN_FEEDBACK 0.0f -#define AL_ECHO_MAX_FEEDBACK 1.0f -#define AL_ECHO_DEFAULT_FEEDBACK 0.5f - -#define AL_ECHO_MIN_SPREAD (-1.0f) -#define AL_ECHO_MAX_SPREAD 1.0f -#define AL_ECHO_DEFAULT_SPREAD (-1.0f) - -/** - * AL flanger effect parameter ranges and defaults - */ -#define AL_FLANGER_MIN_WAVEFORM 0 -#define AL_FLANGER_MAX_WAVEFORM 1 -#define AL_FLANGER_DEFAULT_WAVEFORM 1 - -#define AL_FLANGER_WAVEFORM_SINUSOID 0 -#define AL_FLANGER_WAVEFORM_TRIANGLE 1 - -#define AL_FLANGER_MIN_PHASE (-180) -#define AL_FLANGER_MAX_PHASE 180 -#define AL_FLANGER_DEFAULT_PHASE 0 - -#define AL_FLANGER_MIN_RATE 0.0f -#define AL_FLANGER_MAX_RATE 10.0f -#define AL_FLANGER_DEFAULT_RATE 0.27f - -#define AL_FLANGER_MIN_DEPTH 0.0f -#define AL_FLANGER_MAX_DEPTH 1.0f -#define AL_FLANGER_DEFAULT_DEPTH 1.0f - -#define AL_FLANGER_MIN_FEEDBACK (-1.0f) -#define AL_FLANGER_MAX_FEEDBACK 1.0f -#define AL_FLANGER_DEFAULT_FEEDBACK (-0.5f) - -#define AL_FLANGER_MIN_DELAY 0.0f -#define AL_FLANGER_MAX_DELAY 0.004f -#define AL_FLANGER_DEFAULT_DELAY 0.002f - -/** - * AL frequency shifter effect parameter ranges and defaults - */ -#define AL_FREQUENCY_SHIFTER_MIN_FREQUENCY 0.0f -#define AL_FREQUENCY_SHIFTER_MAX_FREQUENCY 24000.0f -#define AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY 0.0f - -#define AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION 0 -#define AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION 2 -#define AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION 0 - -#define AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION 0 -#define AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION 2 -#define AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION 0 - -#define AL_FREQUENCY_SHIFTER_DIRECTION_DOWN 0 -#define AL_FREQUENCY_SHIFTER_DIRECTION_UP 1 -#define AL_FREQUENCY_SHIFTER_DIRECTION_OFF 2 - -/** - * AL vocal morpher effect parameter ranges and defaults - */ -#define AL_VOCAL_MORPHER_MIN_PHONEMEA 0 -#define AL_VOCAL_MORPHER_MAX_PHONEMEA 29 -#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA 0 - -#define AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING (-24) -#define AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING 24 -#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING 0 - -#define AL_VOCAL_MORPHER_MIN_PHONEMEB 0 -#define AL_VOCAL_MORPHER_MAX_PHONEMEB 29 -#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB 10 - -#define AL_VOCAL_MORPHER_PHONEME_A 0 -#define AL_VOCAL_MORPHER_PHONEME_E 1 -#define AL_VOCAL_MORPHER_PHONEME_I 2 -#define AL_VOCAL_MORPHER_PHONEME_O 3 -#define AL_VOCAL_MORPHER_PHONEME_U 4 -#define AL_VOCAL_MORPHER_PHONEME_AA 5 -#define AL_VOCAL_MORPHER_PHONEME_AE 6 -#define AL_VOCAL_MORPHER_PHONEME_AH 7 -#define AL_VOCAL_MORPHER_PHONEME_AO 8 -#define AL_VOCAL_MORPHER_PHONEME_EH 9 -#define AL_VOCAL_MORPHER_PHONEME_ER 10 -#define AL_VOCAL_MORPHER_PHONEME_IH 11 -#define AL_VOCAL_MORPHER_PHONEME_IY 12 -#define AL_VOCAL_MORPHER_PHONEME_UH 13 -#define AL_VOCAL_MORPHER_PHONEME_UW 14 -#define AL_VOCAL_MORPHER_PHONEME_B 15 -#define AL_VOCAL_MORPHER_PHONEME_D 16 -#define AL_VOCAL_MORPHER_PHONEME_F 17 -#define AL_VOCAL_MORPHER_PHONEME_G 18 -#define AL_VOCAL_MORPHER_PHONEME_J 19 -#define AL_VOCAL_MORPHER_PHONEME_K 20 -#define AL_VOCAL_MORPHER_PHONEME_L 21 -#define AL_VOCAL_MORPHER_PHONEME_M 22 -#define AL_VOCAL_MORPHER_PHONEME_N 23 -#define AL_VOCAL_MORPHER_PHONEME_P 24 -#define AL_VOCAL_MORPHER_PHONEME_R 25 -#define AL_VOCAL_MORPHER_PHONEME_S 26 -#define AL_VOCAL_MORPHER_PHONEME_T 27 -#define AL_VOCAL_MORPHER_PHONEME_V 28 -#define AL_VOCAL_MORPHER_PHONEME_Z 29 - -#define AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING (-24) -#define AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING 24 -#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING 0 - -#define AL_VOCAL_MORPHER_MIN_WAVEFORM 0 -#define AL_VOCAL_MORPHER_MAX_WAVEFORM 2 -#define AL_VOCAL_MORPHER_DEFAULT_WAVEFORM 0 - -#define AL_VOCAL_MORPHER_WAVEFORM_SINUSOID 0 -#define AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE 1 -#define AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH 2 - -#define AL_VOCAL_MORPHER_MIN_RATE 0.0f -#define AL_VOCAL_MORPHER_MAX_RATE 10.0f -#define AL_VOCAL_MORPHER_DEFAULT_RATE 1.41f - -/** - * AL pitch shifter effect parameter ranges and defaults - */ -#define AL_PITCH_SHIFTER_MIN_COARSE_TUNE (-12) -#define AL_PITCH_SHIFTER_MAX_COARSE_TUNE 12 -#define AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE 12 - -#define AL_PITCH_SHIFTER_MIN_FINE_TUNE (-50) -#define AL_PITCH_SHIFTER_MAX_FINE_TUNE 50 -#define AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE 0 - -/** - * AL ring modulator effect parameter ranges and defaults - */ -#define AL_RING_MODULATOR_MIN_FREQUENCY 0.0f -#define AL_RING_MODULATOR_MAX_FREQUENCY 8000.0f -#define AL_RING_MODULATOR_DEFAULT_FREQUENCY 440.0f - -#define AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF 0.0f -#define AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF 24000.0f -#define AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF 800.0f - -#define AL_RING_MODULATOR_MIN_WAVEFORM 0 -#define AL_RING_MODULATOR_MAX_WAVEFORM 2 -#define AL_RING_MODULATOR_DEFAULT_WAVEFORM 0 - -#define AL_RING_MODULATOR_SINUSOID 0 -#define AL_RING_MODULATOR_SAWTOOTH 1 -#define AL_RING_MODULATOR_SQUARE 2 - -/** - * AL autowah effect parameter ranges and defaults - */ -#define AL_AUTOWAH_MIN_ATTACK_TIME 0.0001f -#define AL_AUTOWAH_MAX_ATTACK_TIME 1.0f -#define AL_AUTOWAH_DEFAULT_ATTACK_TIME 0.06f - -#define AL_AUTOWAH_MIN_RELEASE_TIME 0.0001f -#define AL_AUTOWAH_MAX_RELEASE_TIME 1.0f -#define AL_AUTOWAH_DEFAULT_RELEASE_TIME 0.06f - -#define AL_AUTOWAH_MIN_RESONANCE 2.0f -#define AL_AUTOWAH_MAX_RESONANCE 1000.0f -#define AL_AUTOWAH_DEFAULT_RESONANCE 1000.0f - -#define AL_AUTOWAH_MIN_PEAK_GAIN 0.00003f -#define AL_AUTOWAH_MAX_PEAK_GAIN 31621.0f -#define AL_AUTOWAH_DEFAULT_PEAK_GAIN 11.22f - -/** - * AL compressor effect parameter ranges and defaults - */ -#define AL_COMPRESSOR_MIN_ONOFF 0 -#define AL_COMPRESSOR_MAX_ONOFF 1 -#define AL_COMPRESSOR_DEFAULT_ONOFF 1 - -/** - * AL equalizer effect parameter ranges and defaults - */ -#define AL_EQUALIZER_MIN_LOW_GAIN 0.126f -#define AL_EQUALIZER_MAX_LOW_GAIN 7.943f -#define AL_EQUALIZER_DEFAULT_LOW_GAIN 1.0f - -#define AL_EQUALIZER_MIN_LOW_CUTOFF 50.0f -#define AL_EQUALIZER_MAX_LOW_CUTOFF 800.0f -#define AL_EQUALIZER_DEFAULT_LOW_CUTOFF 200.0f - -#define AL_EQUALIZER_MIN_MID1_GAIN 0.126f -#define AL_EQUALIZER_MAX_MID1_GAIN 7.943f -#define AL_EQUALIZER_DEFAULT_MID1_GAIN 1.0f - -#define AL_EQUALIZER_MIN_MID1_CENTER 200.0f -#define AL_EQUALIZER_MAX_MID1_CENTER 3000.0f -#define AL_EQUALIZER_DEFAULT_MID1_CENTER 500.0f - -#define AL_EQUALIZER_MIN_MID1_WIDTH 0.01f -#define AL_EQUALIZER_MAX_MID1_WIDTH 1.0f -#define AL_EQUALIZER_DEFAULT_MID1_WIDTH 1.0f - -#define AL_EQUALIZER_MIN_MID2_GAIN 0.126f -#define AL_EQUALIZER_MAX_MID2_GAIN 7.943f -#define AL_EQUALIZER_DEFAULT_MID2_GAIN 1.0f - -#define AL_EQUALIZER_MIN_MID2_CENTER 1000.0f -#define AL_EQUALIZER_MAX_MID2_CENTER 8000.0f -#define AL_EQUALIZER_DEFAULT_MID2_CENTER 3000.0f - -#define AL_EQUALIZER_MIN_MID2_WIDTH 0.01f -#define AL_EQUALIZER_MAX_MID2_WIDTH 1.0f -#define AL_EQUALIZER_DEFAULT_MID2_WIDTH 1.0f - -#define AL_EQUALIZER_MIN_HIGH_GAIN 0.126f -#define AL_EQUALIZER_MAX_HIGH_GAIN 7.943f -#define AL_EQUALIZER_DEFAULT_HIGH_GAIN 1.0f - -#define AL_EQUALIZER_MIN_HIGH_CUTOFF 4000.0f -#define AL_EQUALIZER_MAX_HIGH_CUTOFF 16000.0f -#define AL_EQUALIZER_DEFAULT_HIGH_CUTOFF 6000.0f - - - - -/********************************************************** - * Source parameter value definitions, ranges and defaults. - */ -#define AL_MIN_AIR_ABSORPTION_FACTOR 0.0f -#define AL_MAX_AIR_ABSORPTION_FACTOR 10.0f -#define AL_DEFAULT_AIR_ABSORPTION_FACTOR 0.0f - -#define AL_MIN_ROOM_ROLLOFF_FACTOR 0.0f -#define AL_MAX_ROOM_ROLLOFF_FACTOR 10.0f -#define AL_DEFAULT_ROOM_ROLLOFF_FACTOR 0.0f - -#define AL_MIN_CONE_OUTER_GAINHF 0.0f -#define AL_MAX_CONE_OUTER_GAINHF 1.0f -#define AL_DEFAULT_CONE_OUTER_GAINHF 1.0f - -#define AL_MIN_DIRECT_FILTER_GAINHF_AUTO AL_FALSE -#define AL_MAX_DIRECT_FILTER_GAINHF_AUTO AL_TRUE -#define AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO AL_TRUE - -#define AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_FALSE -#define AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE -#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE - -#define AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_FALSE -#define AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE -#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE - - - - -/********************************************************** - * Listener parameter value definitions, ranges and defaults. - */ -#define AL_MIN_METERS_PER_UNIT FLT_MIN -#define AL_MAX_METERS_PER_UNIT FLT_MAX -#define AL_DEFAULT_METERS_PER_UNIT 1.0f - - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __efx_h_ */ diff -Nru duration-0.0.4/addons/ofxTimeline/libs/openal/include/AL/xram.h duration-0.0.3/addons/ofxTimeline/libs/openal/include/AL/xram.h --- duration-0.0.4/addons/ofxTimeline/libs/openal/include/AL/xram.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/openal/include/AL/xram.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,94 +0,0 @@ -#include - -// X-RAM Function pointer definitions -typedef ALboolean (__cdecl *EAXSetBufferMode)(ALsizei n, ALuint *buffers, ALint value); -typedef ALenum (__cdecl *EAXGetBufferMode)(ALuint buffer, ALint *value); - -////////////////////////////////////////////////////////////////////////////// -// Query for X-RAM extension -// -// if (alIsExtensionPresent("EAX-RAM") == AL_TRUE) -// X-RAM Extension found -// -////////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////////// -// X-RAM enum names -// -// "AL_EAX_RAM_SIZE" -// "AL_EAX_RAM_FREE" -// "AL_STORAGE_AUTOMATIC" -// "AL_STORAGE_HARDWARE" -// "AL_STORAGE_ACCESSIBLE" -// -// Query enum values using alGetEnumValue, for example -// -// long lRamSizeEnum = alGetEnumValue("AL_EAX_RAM_SIZE") -// -////////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////////// -// Query total amount of X-RAM -// -// long lTotalSize = alGetInteger(alGetEnumValue("AL_EAX_RAM_SIZE") -// -////////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////////// -// Query free X-RAM available -// -// long lFreeSize = alGetInteger(alGetEnumValue("AL_EAX_RAM_FREE") -// -////////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////////// -// Query X-RAM Function pointers -// -// Use typedefs defined above to get the X-RAM function pointers using -// alGetProcAddress -// -// EAXSetBufferMode eaxSetBufferMode; -// EAXGetBufferMode eaxGetBufferMode; -// -// eaxSetBufferMode = (EAXSetBufferMode)alGetProcAddress("EAXSetBufferMode"); -// eaxGetBufferMode = (EAXGetBufferMode)alGetProcAddress("EAXGetBufferMode"); -// -////////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////////// -// Force an Open AL Buffer into X-RAM (good for non-streaming buffers) -// -// ALuint uiBuffer; -// alGenBuffers(1, &uiBuffer); -// eaxSetBufferMode(1, &uiBuffer, alGetEnumValue("AL_STORAGE_HARDWARE")); -// alBufferData(...); -// -////////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////////// -// Force an Open AL Buffer into 'accessible' (currently host) RAM (good for streaming buffers) -// -// ALuint uiBuffer; -// alGenBuffers(1, &uiBuffer); -// eaxSetBufferMode(1, &uiBuffer, alGetEnumValue("AL_STORAGE_ACCESSIBLE")); -// alBufferData(...); -// -////////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////////// -// Put an Open AL Buffer into X-RAM if memory is available, otherwise use -// host RAM. This is the default mode. -// -// ALuint uiBuffer; -// alGenBuffers(1, &uiBuffer); -// eaxSetBufferMode(1, &uiBuffer, alGetEnumValue("AL_STORAGE_AUTOMATIC")); -// alBufferData(...); -// -////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff -Nru duration-0.0.4/addons/ofxTimeline/libs/sndfile/include/sndfile.h duration-0.0.3/addons/ofxTimeline/libs/sndfile/include/sndfile.h --- duration-0.0.4/addons/ofxTimeline/libs/sndfile/include/sndfile.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/sndfile/include/sndfile.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,666 +0,0 @@ -/* -** Copyright (C) 1999-2011Erik de Castro Lopo -** -** This program is free software; you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation; either version 2.1 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU Lesser General Public License -** along with this program; if not, write to the Free Software -** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -/* -** sndfile.h -- system-wide definitions -** -** API documentation is in the doc/ directory of the source code tarball -** and at http://www.mega-nerd.com/libsndfile/api.html. -*/ - -#ifndef SNDFILE_H -#define SNDFILE_H - -/* This is the version 1.0.X header file. */ -#define SNDFILE_1 - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/* The following file types can be read and written. -** A file type would consist of a major type (ie SF_FORMAT_WAV) bitwise -** ORed with a minor type (ie SF_FORMAT_PCM). SF_FORMAT_TYPEMASK and -** SF_FORMAT_SUBMASK can be used to separate the major and minor file -** types. -*/ - -enum -{ /* Major formats. */ - SF_FORMAT_WAV = 0x010000, /* Microsoft WAV format (little endian default). */ - SF_FORMAT_AIFF = 0x020000, /* Apple/SGI AIFF format (big endian). */ - SF_FORMAT_AU = 0x030000, /* Sun/NeXT AU format (big endian). */ - SF_FORMAT_RAW = 0x040000, /* RAW PCM data. */ - SF_FORMAT_PAF = 0x050000, /* Ensoniq PARIS file format. */ - SF_FORMAT_SVX = 0x060000, /* Amiga IFF / SVX8 / SV16 format. */ - SF_FORMAT_NIST = 0x070000, /* Sphere NIST format. */ - SF_FORMAT_VOC = 0x080000, /* VOC files. */ - SF_FORMAT_IRCAM = 0x0A0000, /* Berkeley/IRCAM/CARL */ - SF_FORMAT_W64 = 0x0B0000, /* Sonic Foundry's 64 bit RIFF/WAV */ - SF_FORMAT_MAT4 = 0x0C0000, /* Matlab (tm) V4.2 / GNU Octave 2.0 */ - SF_FORMAT_MAT5 = 0x0D0000, /* Matlab (tm) V5.0 / GNU Octave 2.1 */ - SF_FORMAT_PVF = 0x0E0000, /* Portable Voice Format */ - SF_FORMAT_XI = 0x0F0000, /* Fasttracker 2 Extended Instrument */ - SF_FORMAT_HTK = 0x100000, /* HMM Tool Kit format */ - SF_FORMAT_SDS = 0x110000, /* Midi Sample Dump Standard */ - SF_FORMAT_AVR = 0x120000, /* Audio Visual Research */ - SF_FORMAT_WAVEX = 0x130000, /* MS WAVE with WAVEFORMATEX */ - SF_FORMAT_SD2 = 0x160000, /* Sound Designer 2 */ - SF_FORMAT_FLAC = 0x170000, /* FLAC lossless file format */ - SF_FORMAT_CAF = 0x180000, /* Core Audio File format */ - SF_FORMAT_WVE = 0x190000, /* Psion WVE format */ - SF_FORMAT_OGG = 0x200000, /* Xiph OGG container */ - SF_FORMAT_MPC2K = 0x210000, /* Akai MPC 2000 sampler */ - SF_FORMAT_RF64 = 0x220000, /* RF64 WAV file */ - - /* Subtypes from here on. */ - - SF_FORMAT_PCM_S8 = 0x0001, /* Signed 8 bit data */ - SF_FORMAT_PCM_16 = 0x0002, /* Signed 16 bit data */ - SF_FORMAT_PCM_24 = 0x0003, /* Signed 24 bit data */ - SF_FORMAT_PCM_32 = 0x0004, /* Signed 32 bit data */ - - SF_FORMAT_PCM_U8 = 0x0005, /* Unsigned 8 bit data (WAV and RAW only) */ - - SF_FORMAT_FLOAT = 0x0006, /* 32 bit float data */ - SF_FORMAT_DOUBLE = 0x0007, /* 64 bit float data */ - - SF_FORMAT_ULAW = 0x0010, /* U-Law encoded. */ - SF_FORMAT_ALAW = 0x0011, /* A-Law encoded. */ - SF_FORMAT_IMA_ADPCM = 0x0012, /* IMA ADPCM. */ - SF_FORMAT_MS_ADPCM = 0x0013, /* Microsoft ADPCM. */ - - SF_FORMAT_GSM610 = 0x0020, /* GSM 6.10 encoding. */ - SF_FORMAT_VOX_ADPCM = 0x0021, /* OKI / Dialogix ADPCM */ - - SF_FORMAT_G721_32 = 0x0030, /* 32kbs G721 ADPCM encoding. */ - SF_FORMAT_G723_24 = 0x0031, /* 24kbs G723 ADPCM encoding. */ - SF_FORMAT_G723_40 = 0x0032, /* 40kbs G723 ADPCM encoding. */ - - SF_FORMAT_DWVW_12 = 0x0040, /* 12 bit Delta Width Variable Word encoding. */ - SF_FORMAT_DWVW_16 = 0x0041, /* 16 bit Delta Width Variable Word encoding. */ - SF_FORMAT_DWVW_24 = 0x0042, /* 24 bit Delta Width Variable Word encoding. */ - SF_FORMAT_DWVW_N = 0x0043, /* N bit Delta Width Variable Word encoding. */ - - SF_FORMAT_DPCM_8 = 0x0050, /* 8 bit differential PCM (XI only) */ - SF_FORMAT_DPCM_16 = 0x0051, /* 16 bit differential PCM (XI only) */ - - SF_FORMAT_VORBIS = 0x0060, /* Xiph Vorbis encoding. */ - - /* Endian-ness options. */ - - SF_ENDIAN_FILE = 0x00000000, /* Default file endian-ness. */ - SF_ENDIAN_LITTLE = 0x10000000, /* Force little endian-ness. */ - SF_ENDIAN_BIG = 0x20000000, /* Force big endian-ness. */ - SF_ENDIAN_CPU = 0x30000000, /* Force CPU endian-ness. */ - - SF_FORMAT_SUBMASK = 0x0000FFFF, - SF_FORMAT_TYPEMASK = 0x0FFF0000, - SF_FORMAT_ENDMASK = 0x30000000 -} ; - -/* -** The following are the valid command numbers for the sf_command() -** interface. The use of these commands is documented in the file -** command.html in the doc directory of the source code distribution. -*/ - -enum -{ SFC_GET_LIB_VERSION = 0x1000, - SFC_GET_LOG_INFO = 0x1001, - SFC_GET_CURRENT_SF_INFO = 0x1002, - - - SFC_GET_NORM_DOUBLE = 0x1010, - SFC_GET_NORM_FLOAT = 0x1011, - SFC_SET_NORM_DOUBLE = 0x1012, - SFC_SET_NORM_FLOAT = 0x1013, - SFC_SET_SCALE_FLOAT_INT_READ = 0x1014, - SFC_SET_SCALE_INT_FLOAT_WRITE = 0x1015, - - SFC_GET_SIMPLE_FORMAT_COUNT = 0x1020, - SFC_GET_SIMPLE_FORMAT = 0x1021, - - SFC_GET_FORMAT_INFO = 0x1028, - - SFC_GET_FORMAT_MAJOR_COUNT = 0x1030, - SFC_GET_FORMAT_MAJOR = 0x1031, - SFC_GET_FORMAT_SUBTYPE_COUNT = 0x1032, - SFC_GET_FORMAT_SUBTYPE = 0x1033, - - SFC_CALC_SIGNAL_MAX = 0x1040, - SFC_CALC_NORM_SIGNAL_MAX = 0x1041, - SFC_CALC_MAX_ALL_CHANNELS = 0x1042, - SFC_CALC_NORM_MAX_ALL_CHANNELS = 0x1043, - SFC_GET_SIGNAL_MAX = 0x1044, - SFC_GET_MAX_ALL_CHANNELS = 0x1045, - - SFC_SET_ADD_PEAK_CHUNK = 0x1050, - SFC_SET_ADD_HEADER_PAD_CHUNK = 0x1051, - - SFC_UPDATE_HEADER_NOW = 0x1060, - SFC_SET_UPDATE_HEADER_AUTO = 0x1061, - - SFC_FILE_TRUNCATE = 0x1080, - - SFC_SET_RAW_START_OFFSET = 0x1090, - - SFC_SET_DITHER_ON_WRITE = 0x10A0, - SFC_SET_DITHER_ON_READ = 0x10A1, - - SFC_GET_DITHER_INFO_COUNT = 0x10A2, - SFC_GET_DITHER_INFO = 0x10A3, - - SFC_GET_EMBED_FILE_INFO = 0x10B0, - - SFC_SET_CLIPPING = 0x10C0, - SFC_GET_CLIPPING = 0x10C1, - - SFC_GET_INSTRUMENT = 0x10D0, - SFC_SET_INSTRUMENT = 0x10D1, - - SFC_GET_LOOP_INFO = 0x10E0, - - SFC_GET_BROADCAST_INFO = 0x10F0, - SFC_SET_BROADCAST_INFO = 0x10F1, - - SFC_GET_CHANNEL_MAP_INFO = 0x1100, - SFC_SET_CHANNEL_MAP_INFO = 0x1101, - - SFC_RAW_DATA_NEEDS_ENDSWAP = 0x1110, - - /* Support for Wavex Ambisonics Format */ - SFC_WAVEX_SET_AMBISONIC = 0x1200, - SFC_WAVEX_GET_AMBISONIC = 0x1201, - - SFC_SET_VBR_ENCODING_QUALITY = 0x1300, - - /* Following commands for testing only. */ - SFC_TEST_IEEE_FLOAT_REPLACE = 0x6001, - - /* - ** SFC_SET_ADD_* values are deprecated and will disappear at some - ** time in the future. They are guaranteed to be here up to and - ** including version 1.0.8 to avoid breakage of existng software. - ** They currently do nothing and will continue to do nothing. - */ - SFC_SET_ADD_DITHER_ON_WRITE = 0x1070, - SFC_SET_ADD_DITHER_ON_READ = 0x1071 -} ; - - -/* -** String types that can be set and read from files. Not all file types -** support this and even the file types which support one, may not support -** all string types. -*/ - -enum -{ SF_STR_TITLE = 0x01, - SF_STR_COPYRIGHT = 0x02, - SF_STR_SOFTWARE = 0x03, - SF_STR_ARTIST = 0x04, - SF_STR_COMMENT = 0x05, - SF_STR_DATE = 0x06, - SF_STR_ALBUM = 0x07, - SF_STR_LICENSE = 0x08, - SF_STR_TRACKNUMBER = 0x09, - SF_STR_GENRE = 0x10 -} ; - -/* -** Use the following as the start and end index when doing metadata -** transcoding. -*/ - -#define SF_STR_FIRST SF_STR_TITLE -#define SF_STR_LAST SF_STR_GENRE - -enum -{ /* True and false */ - SF_FALSE = 0, - SF_TRUE = 1, - - /* Modes for opening files. */ - SFM_READ = 0x10, - SFM_WRITE = 0x20, - SFM_RDWR = 0x30, - - SF_AMBISONIC_NONE = 0x40, - SF_AMBISONIC_B_FORMAT = 0x41 -} ; - -/* Public error values. These are guaranteed to remain unchanged for the duration -** of the library major version number. -** There are also a large number of private error numbers which are internal to -** the library which can change at any time. -*/ - -enum -{ SF_ERR_NO_ERROR = 0, - SF_ERR_UNRECOGNISED_FORMAT = 1, - SF_ERR_SYSTEM = 2, - SF_ERR_MALFORMED_FILE = 3, - SF_ERR_UNSUPPORTED_ENCODING = 4 -} ; - - -/* Channel map values (used with SFC_SET/GET_CHANNEL_MAP). -*/ - -enum -{ SF_CHANNEL_MAP_INVALID = 0, - SF_CHANNEL_MAP_MONO = 1, - SF_CHANNEL_MAP_LEFT, /* Apple calls this 'Left' */ - SF_CHANNEL_MAP_RIGHT, /* Apple calls this 'Right' */ - SF_CHANNEL_MAP_CENTER, /* Apple calls this 'Center' */ - SF_CHANNEL_MAP_FRONT_LEFT, - SF_CHANNEL_MAP_FRONT_RIGHT, - SF_CHANNEL_MAP_FRONT_CENTER, - SF_CHANNEL_MAP_REAR_CENTER, /* Apple calls this 'Center Surround', Msft calls this 'Back Center' */ - SF_CHANNEL_MAP_REAR_LEFT, /* Apple calls this 'Left Surround', Msft calls this 'Back Left' */ - SF_CHANNEL_MAP_REAR_RIGHT, /* Apple calls this 'Right Surround', Msft calls this 'Back Right' */ - SF_CHANNEL_MAP_LFE, /* Apple calls this 'LFEScreen', Msft calls this 'Low Frequency' */ - SF_CHANNEL_MAP_FRONT_LEFT_OF_CENTER, /* Apple calls this 'Left Center' */ - SF_CHANNEL_MAP_FRONT_RIGHT_OF_CENTER, /* Apple calls this 'Right Center */ - SF_CHANNEL_MAP_SIDE_LEFT, /* Apple calls this 'Left Surround Direct' */ - SF_CHANNEL_MAP_SIDE_RIGHT, /* Apple calls this 'Right Surround Direct' */ - SF_CHANNEL_MAP_TOP_CENTER, /* Apple calls this 'Top Center Surround' */ - SF_CHANNEL_MAP_TOP_FRONT_LEFT, /* Apple calls this 'Vertical Height Left' */ - SF_CHANNEL_MAP_TOP_FRONT_RIGHT, /* Apple calls this 'Vertical Height Right' */ - SF_CHANNEL_MAP_TOP_FRONT_CENTER, /* Apple calls this 'Vertical Height Center' */ - SF_CHANNEL_MAP_TOP_REAR_LEFT, /* Apple and MS call this 'Top Back Left' */ - SF_CHANNEL_MAP_TOP_REAR_RIGHT, /* Apple and MS call this 'Top Back Right' */ - SF_CHANNEL_MAP_TOP_REAR_CENTER, /* Apple and MS call this 'Top Back Center' */ - - SF_CHANNEL_MAP_AMBISONIC_B_W, - SF_CHANNEL_MAP_AMBISONIC_B_X, - SF_CHANNEL_MAP_AMBISONIC_B_Y, - SF_CHANNEL_MAP_AMBISONIC_B_Z, - - SF_CHANNEL_MAP_MAX -} ; - - -/* A SNDFILE* pointer can be passed around much like stdio.h's FILE* pointer. */ - -typedef struct SNDFILE_tag SNDFILE ; - -/* The following typedef is system specific and is defined when libsndfile is -** compiled. sf_count_t will be a 64 bit value when the underlying OS allows -** 64 bit file offsets. -** On windows, we need to allow the same header file to be compiler by both GCC -** and the Microsoft compiler. -*/ - -#if (defined (_MSCVER) || defined (_MSC_VER)) -typedef __int64 sf_count_t ; -#define SF_COUNT_MAX 0x7fffffffffffffffi64 -#else -typedef int64_t sf_count_t ; -#define SF_COUNT_MAX 0x7FFFFFFFFFFFFFFFLL -#endif - - -/* A pointer to a SF_INFO structure is passed to sf_open () and filled in. -** On write, the SF_INFO structure is filled in by the user and passed into -** sf_open (). -*/ - -struct SF_INFO -{ sf_count_t frames ; /* Used to be called samples. Changed to avoid confusion. */ - int samplerate ; - int channels ; - int format ; - int sections ; - int seekable ; -} ; - -typedef struct SF_INFO SF_INFO ; - -/* The SF_FORMAT_INFO struct is used to retrieve information about the sound -** file formats libsndfile supports using the sf_command () interface. -** -** Using this interface will allow applications to support new file formats -** and encoding types when libsndfile is upgraded, without requiring -** re-compilation of the application. -** -** Please consult the libsndfile documentation (particularly the information -** on the sf_command () interface) for examples of its use. -*/ - -typedef struct -{ int format ; - const char *name ; - const char *extension ; -} SF_FORMAT_INFO ; - -/* -** Enums and typedefs for adding dither on read and write. -** See the html documentation for sf_command(), SFC_SET_DITHER_ON_WRITE -** and SFC_SET_DITHER_ON_READ. -*/ - -enum -{ SFD_DEFAULT_LEVEL = 0, - SFD_CUSTOM_LEVEL = 0x40000000, - - SFD_NO_DITHER = 500, - SFD_WHITE = 501, - SFD_TRIANGULAR_PDF = 502 -} ; - -typedef struct -{ int type ; - double level ; - const char *name ; -} SF_DITHER_INFO ; - -/* Struct used to retrieve information about a file embedded within a -** larger file. See SFC_GET_EMBED_FILE_INFO. -*/ - -typedef struct -{ sf_count_t offset ; - sf_count_t length ; -} SF_EMBED_FILE_INFO ; - -/* -** Structs used to retrieve music sample information from a file. -*/ - -enum -{ /* - ** The loop mode field in SF_INSTRUMENT will be one of the following. - */ - SF_LOOP_NONE = 800, - SF_LOOP_FORWARD, - SF_LOOP_BACKWARD, - SF_LOOP_ALTERNATING -} ; - -typedef struct -{ int gain ; - char basenote, detune ; - char velocity_lo, velocity_hi ; - char key_lo, key_hi ; - int loop_count ; - - struct - { int mode ; - unsigned int start ; - unsigned int end ; - unsigned int count ; - } loops [16] ; /* make variable in a sensible way */ -} SF_INSTRUMENT ; - - - -/* Struct used to retrieve loop information from a file.*/ -typedef struct -{ - short time_sig_num ; /* any positive integer > 0 */ - short time_sig_den ; /* any positive power of 2 > 0 */ - int loop_mode ; /* see SF_LOOP enum */ - - int num_beats ; /* this is NOT the amount of quarter notes !!!*/ - /* a full bar of 4/4 is 4 beats */ - /* a full bar of 7/8 is 7 beats */ - - float bpm ; /* suggestion, as it can be calculated using other fields:*/ - /* file's lenght, file's sampleRate and our time_sig_den*/ - /* -> bpms are always the amount of _quarter notes_ per minute */ - - int root_key ; /* MIDI note, or -1 for None */ - int future [6] ; -} SF_LOOP_INFO ; - - -/* Struct used to retrieve broadcast (EBU) information from a file. -** Strongly (!) based on EBU "bext" chunk format used in Broadcast WAVE. -*/ -#define SF_BROADCAST_INFO_VAR(coding_hist_size) \ - struct \ - { char description [256] ; \ - char originator [32] ; \ - char originator_reference [32] ; \ - char origination_date [10] ; \ - char origination_time [8] ; \ - unsigned int time_reference_low ; \ - unsigned int time_reference_high ; \ - short version ; \ - char umid [64] ; \ - char reserved [190] ; \ - unsigned int coding_history_size ; \ - char coding_history [coding_hist_size] ; \ - } - -/* SF_BROADCAST_INFO is the above struct with coding_history field of 256 bytes. */ -typedef SF_BROADCAST_INFO_VAR (256) SF_BROADCAST_INFO ; - - -/* Virtual I/O functionality. */ - -typedef sf_count_t (*sf_vio_get_filelen) (void *user_data) ; -typedef sf_count_t (*sf_vio_seek) (sf_count_t offset, int whence, void *user_data) ; -typedef sf_count_t (*sf_vio_read) (void *ptr, sf_count_t count, void *user_data) ; -typedef sf_count_t (*sf_vio_write) (const void *ptr, sf_count_t count, void *user_data) ; -typedef sf_count_t (*sf_vio_tell) (void *user_data) ; - -struct SF_VIRTUAL_IO -{ sf_vio_get_filelen get_filelen ; - sf_vio_seek seek ; - sf_vio_read read ; - sf_vio_write write ; - sf_vio_tell tell ; -} ; - -typedef struct SF_VIRTUAL_IO SF_VIRTUAL_IO ; - - -/* Open the specified file for read, write or both. On error, this will -** return a NULL pointer. To find the error number, pass a NULL SNDFILE -** to sf_strerror (). -** All calls to sf_open() should be matched with a call to sf_close(). -*/ - -SNDFILE* sf_open (const char *path, int mode, SF_INFO *sfinfo) ; - - -/* Use the existing file descriptor to create a SNDFILE object. If close_desc -** is TRUE, the file descriptor will be closed when sf_close() is called. If -** it is FALSE, the descritor will not be closed. -** When passed a descriptor like this, the library will assume that the start -** of file header is at the current file offset. This allows sound files within -** larger container files to be read and/or written. -** On error, this will return a NULL pointer. To find the error number, pass a -** NULL SNDFILE to sf_strerror (). -** All calls to sf_open_fd() should be matched with a call to sf_close(). - -*/ - -SNDFILE* sf_open_fd (int fd, int mode, SF_INFO *sfinfo, int close_desc) ; - -SNDFILE* sf_open_virtual (SF_VIRTUAL_IO *sfvirtual, int mode, SF_INFO *sfinfo, void *user_data) ; - - -/* sf_error () returns a error number which can be translated to a text -** string using sf_error_number(). -*/ - -int sf_error (SNDFILE *sndfile) ; - - -/* sf_strerror () returns to the caller a pointer to the current error message for -** the given SNDFILE. -*/ - -const char* sf_strerror (SNDFILE *sndfile) ; - - -/* sf_error_number () allows the retrieval of the error string for each internal -** error number. -** -*/ - -const char* sf_error_number (int errnum) ; - - -/* The following two error functions are deprecated but they will remain in the -** library for the forseeable future. The function sf_strerror() should be used -** in their place. -*/ - -int sf_perror (SNDFILE *sndfile) ; -int sf_error_str (SNDFILE *sndfile, char* str, size_t len) ; - - -/* Return TRUE if fields of the SF_INFO struct are a valid combination of values. */ - -int sf_command (SNDFILE *sndfile, int command, void *data, int datasize) ; - - -/* Return TRUE if fields of the SF_INFO struct are a valid combination of values. */ - -int sf_format_check (const SF_INFO *info) ; - - -/* Seek within the waveform data chunk of the SNDFILE. sf_seek () uses -** the same values for whence (SEEK_SET, SEEK_CUR and SEEK_END) as -** stdio.h function fseek (). -** An offset of zero with whence set to SEEK_SET will position the -** read / write pointer to the first data sample. -** On success sf_seek returns the current position in (multi-channel) -** samples from the start of the file. -** Please see the libsndfile documentation for moving the read pointer -** separately from the write pointer on files open in mode SFM_RDWR. -** On error all of these functions return -1. -*/ - -sf_count_t sf_seek (SNDFILE *sndfile, sf_count_t frames, int whence) ; - - -/* Functions for retrieving and setting string data within sound files. -** Not all file types support this features; AIFF and WAV do. For both -** functions, the str_type parameter must be one of the SF_STR_* values -** defined above. -** On error, sf_set_string() returns non-zero while sf_get_string() -** returns NULL. -*/ - -int sf_set_string (SNDFILE *sndfile, int str_type, const char* str) ; - -const char* sf_get_string (SNDFILE *sndfile, int str_type) ; - - -/* Return the library version string. */ - -const char * sf_version_string (void) ; - - -/* Functions for reading/writing the waveform data of a sound file. -*/ - -sf_count_t sf_read_raw (SNDFILE *sndfile, void *ptr, sf_count_t bytes) ; -sf_count_t sf_write_raw (SNDFILE *sndfile, const void *ptr, sf_count_t bytes) ; - - -/* Functions for reading and writing the data chunk in terms of frames. -** The number of items actually read/written = frames * number of channels. -** sf_xxxx_raw read/writes the raw data bytes from/to the file -** sf_xxxx_short passes data in the native short format -** sf_xxxx_int passes data in the native int format -** sf_xxxx_float passes data in the native float format -** sf_xxxx_double passes data in the native double format -** All of these read/write function return number of frames read/written. -*/ - -sf_count_t sf_readf_short (SNDFILE *sndfile, short *ptr, sf_count_t frames) ; -sf_count_t sf_writef_short (SNDFILE *sndfile, const short *ptr, sf_count_t frames) ; - -sf_count_t sf_readf_int (SNDFILE *sndfile, int *ptr, sf_count_t frames) ; -sf_count_t sf_writef_int (SNDFILE *sndfile, const int *ptr, sf_count_t frames) ; - -sf_count_t sf_readf_float (SNDFILE *sndfile, float *ptr, sf_count_t frames) ; -sf_count_t sf_writef_float (SNDFILE *sndfile, const float *ptr, sf_count_t frames) ; - -sf_count_t sf_readf_double (SNDFILE *sndfile, double *ptr, sf_count_t frames) ; -sf_count_t sf_writef_double (SNDFILE *sndfile, const double *ptr, sf_count_t frames) ; - - -/* Functions for reading and writing the data chunk in terms of items. -** Otherwise similar to above. -** All of these read/write function return number of items read/written. -*/ - -sf_count_t sf_read_short (SNDFILE *sndfile, short *ptr, sf_count_t items) ; -sf_count_t sf_write_short (SNDFILE *sndfile, const short *ptr, sf_count_t items) ; - -sf_count_t sf_read_int (SNDFILE *sndfile, int *ptr, sf_count_t items) ; -sf_count_t sf_write_int (SNDFILE *sndfile, const int *ptr, sf_count_t items) ; - -sf_count_t sf_read_float (SNDFILE *sndfile, float *ptr, sf_count_t items) ; -sf_count_t sf_write_float (SNDFILE *sndfile, const float *ptr, sf_count_t items) ; - -sf_count_t sf_read_double (SNDFILE *sndfile, double *ptr, sf_count_t items) ; -sf_count_t sf_write_double (SNDFILE *sndfile, const double *ptr, sf_count_t items) ; - - -/* Close the SNDFILE and clean up all memory allocations associated with this -** file. -** Returns 0 on success, or an error number. -*/ - -int sf_close (SNDFILE *sndfile) ; - - -/* If the file is opened SFM_WRITE or SFM_RDWR, call fsync() on the file -** to force the writing of data to disk. If the file is opened SFM_READ -** no action is taken. -*/ - -void sf_write_sync (SNDFILE *sndfile) ; - - - -/* The function sf_wchar_open() is Windows Only! -** Open a file passing in a Windows Unicode filename. Otherwise, this is -** the same as sf_open(). -** -** In order for this to work, you need to do the following: -** -** #include -** #define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1 -** #including -*/ - -#if (defined (ENABLE_SNDFILE_WINDOWS_PROTOTYPES) && ENABLE_SNDFILE_WINDOWS_PROTOTYPES) -SNDFILE* sf_wchar_open (LPCWSTR wpath, int mode, SF_INFO *sfinfo) ; -#endif - - - -#ifdef __cplusplus -} /* extern "C" */ -#endif /* __cplusplus */ - -#endif /* SNDFILE_H */ - diff -Nru duration-0.0.4/addons/ofxTimeline/libs/sndfile/include/sndfile.hh duration-0.0.3/addons/ofxTimeline/libs/sndfile/include/sndfile.hh --- duration-0.0.4/addons/ofxTimeline/libs/sndfile/include/sndfile.hh 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/libs/sndfile/include/sndfile.hh 1970-01-01 00:00:00.000000000 +0000 @@ -1,422 +0,0 @@ -/* -** Copyright (C) 2005-2011 Erik de Castro Lopo -** -** All rights reserved. -** -** Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the author nor the names of any contributors may be used -** to endorse or promote products derived from this software without -** specific prior written permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -** TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -** PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -** EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -** PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -** OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -** WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -** OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -** ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/* -** The above modified BSD style license (GPL and LGPL compatible) applies to -** this file. It does not apply to libsndfile itself which is released under -** the GNU LGPL or the libsndfile test suite which is released under the GNU -** GPL. -** This means that this header file can be used under this modified BSD style -** license, but the LGPL still holds for the libsndfile library itself. -*/ - -/* -** sndfile.hh -- A lightweight C++ wrapper for the libsndfile API. -** -** All the methods are inlines and all functionality is contained in this -** file. There is no separate implementation file. -** -** API documentation is in the doc/ directory of the source code tarball -** and at http://www.mega-nerd.com/libsndfile/api.html. -*/ - -#ifndef SNDFILE_HH -#define SNDFILE_HH - -#include - -#include -#include // for std::nothrow - -class SndfileHandle -{ private : - struct SNDFILE_ref - { SNDFILE_ref (void) ; - ~SNDFILE_ref (void) ; - - SNDFILE *sf ; - SF_INFO sfinfo ; - int ref ; - } ; - - SNDFILE_ref *p ; - - public : - /* Default constructor */ - SndfileHandle (void) : p (NULL) {} ; - SndfileHandle (const char *path, int mode = SFM_READ, - int format = 0, int channels = 0, int samplerate = 0) ; - SndfileHandle (std::string const & path, int mode = SFM_READ, - int format = 0, int channels = 0, int samplerate = 0) ; - SndfileHandle (int fd, bool close_desc, int mode = SFM_READ, - int format = 0, int channels = 0, int samplerate = 0) ; - -#ifdef ENABLE_SNDFILE_WINDOWS_PROTOTYPES - SndfileHandle (LPCWSTR wpath, int mode = SFM_READ, - int format = 0, int channels = 0, int samplerate = 0) ; -#endif - - ~SndfileHandle (void) ; - - SndfileHandle (const SndfileHandle &orig) ; - SndfileHandle & operator = (const SndfileHandle &rhs) ; - - /* Mainly for debugging/testing. */ - int refCount (void) const { return (p == NULL) ? 0 : p->ref ; } - - operator bool () const { return (p != NULL) ; } - - bool operator == (const SndfileHandle &rhs) const { return (p == rhs.p) ; } - - sf_count_t frames (void) const { return p ? p->sfinfo.frames : 0 ; } - int format (void) const { return p ? p->sfinfo.format : 0 ; } - int channels (void) const { return p ? p->sfinfo.channels : 0 ; } - int samplerate (void) const { return p ? p->sfinfo.samplerate : 0 ; } - - int error (void) const ; - const char * strError (void) const ; - - int command (int cmd, void *data, int datasize) ; - - sf_count_t seek (sf_count_t frames, int whence) ; - - void writeSync (void) ; - - int setString (int str_type, const char* str) ; - - const char* getString (int str_type) const ; - - static int formatCheck (int format, int channels, int samplerate) ; - - sf_count_t read (short *ptr, sf_count_t items) ; - sf_count_t read (int *ptr, sf_count_t items) ; - sf_count_t read (float *ptr, sf_count_t items) ; - sf_count_t read (double *ptr, sf_count_t items) ; - - sf_count_t write (const short *ptr, sf_count_t items) ; - sf_count_t write (const int *ptr, sf_count_t items) ; - sf_count_t write (const float *ptr, sf_count_t items) ; - sf_count_t write (const double *ptr, sf_count_t items) ; - - sf_count_t readf (short *ptr, sf_count_t frames) ; - sf_count_t readf (int *ptr, sf_count_t frames) ; - sf_count_t readf (float *ptr, sf_count_t frames) ; - sf_count_t readf (double *ptr, sf_count_t frames) ; - - sf_count_t writef (const short *ptr, sf_count_t frames) ; - sf_count_t writef (const int *ptr, sf_count_t frames) ; - sf_count_t writef (const float *ptr, sf_count_t frames) ; - sf_count_t writef (const double *ptr, sf_count_t frames) ; - - sf_count_t readRaw (void *ptr, sf_count_t bytes) ; - sf_count_t writeRaw (const void *ptr, sf_count_t bytes) ; - - /**< Raw access to the handle. SndfileHandle keeps ownership. */ - SNDFILE * rawHandle (void) ; - - /**< Take ownership of handle, iff reference count is 1. */ - SNDFILE * takeOwnership (void) ; -} ; - -/*============================================================================== -** Nothing but implementation below. -*/ - -inline -SndfileHandle::SNDFILE_ref::SNDFILE_ref (void) -: ref (1) -{} - -inline -SndfileHandle::SNDFILE_ref::~SNDFILE_ref (void) -{ if (sf != NULL) sf_close (sf) ; } - -inline -SndfileHandle::SndfileHandle (const char *path, int mode, int fmt, int chans, int srate) -: p (NULL) -{ - p = new (std::nothrow) SNDFILE_ref () ; - - if (p != NULL) - { p->ref = 1 ; - - p->sfinfo.frames = 0 ; - p->sfinfo.channels = chans ; - p->sfinfo.format = fmt ; - p->sfinfo.samplerate = srate ; - p->sfinfo.sections = 0 ; - p->sfinfo.seekable = 0 ; - - p->sf = sf_open (path, mode, &p->sfinfo) ; - } ; - - return ; -} /* SndfileHandle const char * constructor */ - -inline -SndfileHandle::SndfileHandle (std::string const & path, int mode, int fmt, int chans, int srate) -: p (NULL) -{ - p = new (std::nothrow) SNDFILE_ref () ; - - if (p != NULL) - { p->ref = 1 ; - - p->sfinfo.frames = 0 ; - p->sfinfo.channels = chans ; - p->sfinfo.format = fmt ; - p->sfinfo.samplerate = srate ; - p->sfinfo.sections = 0 ; - p->sfinfo.seekable = 0 ; - - p->sf = sf_open (path.c_str (), mode, &p->sfinfo) ; - } ; - - return ; -} /* SndfileHandle std::string constructor */ - -inline -SndfileHandle::SndfileHandle (int fd, bool close_desc, int mode, int fmt, int chans, int srate) -: p (NULL) -{ - if (fd < 0) - return ; - - p = new (std::nothrow) SNDFILE_ref () ; - - if (p != NULL) - { p->ref = 1 ; - - p->sfinfo.frames = 0 ; - p->sfinfo.channels = chans ; - p->sfinfo.format = fmt ; - p->sfinfo.samplerate = srate ; - p->sfinfo.sections = 0 ; - p->sfinfo.seekable = 0 ; - - p->sf = sf_open_fd (fd, mode, &p->sfinfo, close_desc) ; - } ; - - return ; -} /* SndfileHandle fd constructor */ - -inline -SndfileHandle::~SndfileHandle (void) -{ if (p != NULL && --p->ref == 0) - delete p ; -} /* SndfileHandle destructor */ - - -inline -SndfileHandle::SndfileHandle (const SndfileHandle &orig) -: p (orig.p) -{ if (p != NULL) - ++p->ref ; -} /* SndfileHandle copy constructor */ - -inline SndfileHandle & -SndfileHandle::operator = (const SndfileHandle &rhs) -{ - if (&rhs == this) - return *this ; - if (p != NULL && --p->ref == 0) - delete p ; - - p = rhs.p ; - if (p != NULL) - ++p->ref ; - - return *this ; -} /* SndfileHandle assignment operator */ - -inline int -SndfileHandle::error (void) const -{ return sf_error (p->sf) ; } - -inline const char * -SndfileHandle::strError (void) const -{ return sf_strerror (p->sf) ; } - -inline int -SndfileHandle::command (int cmd, void *data, int datasize) -{ return sf_command (p->sf, cmd, data, datasize) ; } - -inline sf_count_t -SndfileHandle::seek (sf_count_t frame_count, int whence) -{ return sf_seek (p->sf, frame_count, whence) ; } - -inline void -SndfileHandle::writeSync (void) -{ sf_write_sync (p->sf) ; } - -inline int -SndfileHandle::setString (int str_type, const char* str) -{ return sf_set_string (p->sf, str_type, str) ; } - -inline const char* -SndfileHandle::getString (int str_type) const -{ return sf_get_string (p->sf, str_type) ; } - -inline int -SndfileHandle::formatCheck (int fmt, int chans, int srate) -{ - SF_INFO sfinfo ; - - sfinfo.frames = 0 ; - sfinfo.channels = chans ; - sfinfo.format = fmt ; - sfinfo.samplerate = srate ; - sfinfo.sections = 0 ; - sfinfo.seekable = 0 ; - - return sf_format_check (&sfinfo) ; -} - -/*---------------------------------------------------------------------*/ - -inline sf_count_t -SndfileHandle::read (short *ptr, sf_count_t items) -{ return sf_read_short (p->sf, ptr, items) ; } - -inline sf_count_t -SndfileHandle::read (int *ptr, sf_count_t items) -{ return sf_read_int (p->sf, ptr, items) ; } - -inline sf_count_t -SndfileHandle::read (float *ptr, sf_count_t items) -{ return sf_read_float (p->sf, ptr, items) ; } - -inline sf_count_t -SndfileHandle::read (double *ptr, sf_count_t items) -{ return sf_read_double (p->sf, ptr, items) ; } - -inline sf_count_t -SndfileHandle::write (const short *ptr, sf_count_t items) -{ return sf_write_short (p->sf, ptr, items) ; } - -inline sf_count_t -SndfileHandle::write (const int *ptr, sf_count_t items) -{ return sf_write_int (p->sf, ptr, items) ; } - -inline sf_count_t -SndfileHandle::write (const float *ptr, sf_count_t items) -{ return sf_write_float (p->sf, ptr, items) ; } - -inline sf_count_t -SndfileHandle::write (const double *ptr, sf_count_t items) -{ return sf_write_double (p->sf, ptr, items) ; } - -inline sf_count_t -SndfileHandle::readf (short *ptr, sf_count_t frame_count) -{ return sf_readf_short (p->sf, ptr, frame_count) ; } - -inline sf_count_t -SndfileHandle::readf (int *ptr, sf_count_t frame_count) -{ return sf_readf_int (p->sf, ptr, frame_count) ; } - -inline sf_count_t -SndfileHandle::readf (float *ptr, sf_count_t frame_count) -{ return sf_readf_float (p->sf, ptr, frame_count) ; } - -inline sf_count_t -SndfileHandle::readf (double *ptr, sf_count_t frame_count) -{ return sf_readf_double (p->sf, ptr, frame_count) ; } - -inline sf_count_t -SndfileHandle::writef (const short *ptr, sf_count_t frame_count) -{ return sf_writef_short (p->sf, ptr, frame_count) ; } - -inline sf_count_t -SndfileHandle::writef (const int *ptr, sf_count_t frame_count) -{ return sf_writef_int (p->sf, ptr, frame_count) ; } - -inline sf_count_t -SndfileHandle::writef (const float *ptr, sf_count_t frame_count) -{ return sf_writef_float (p->sf, ptr, frame_count) ; } - -inline sf_count_t -SndfileHandle::writef (const double *ptr, sf_count_t frame_count) -{ return sf_writef_double (p->sf, ptr, frame_count) ; } - -inline sf_count_t -SndfileHandle::readRaw (void *ptr, sf_count_t bytes) -{ return sf_read_raw (p->sf, ptr, bytes) ; } - -inline sf_count_t -SndfileHandle::writeRaw (const void *ptr, sf_count_t bytes) -{ return sf_write_raw (p->sf, ptr, bytes) ; } - -inline SNDFILE * -SndfileHandle::rawHandle (void) -{ return (p ? p->sf : NULL) ; } - -inline SNDFILE * -SndfileHandle::takeOwnership (void) -{ - if (p == NULL || (p->ref != 1)) - return NULL ; - - SNDFILE * sf = p->sf ; - p->sf = NULL ; - delete p ; - p = NULL ; - return sf ; -} - -#ifdef ENABLE_SNDFILE_WINDOWS_PROTOTYPES - -inline -SndfileHandle::SndfileHandle (LPCWSTR wpath, int mode, int fmt, int chans, int srate) -: p (NULL) -{ - p = new (std::nothrow) SNDFILE_ref () ; - - if (p != NULL) - { p->ref = 1 ; - - p->sfinfo.frames = 0 ; - p->sfinfo.channels = chans ; - p->sfinfo.format = fmt ; - p->sfinfo.samplerate = srate ; - p->sfinfo.sections = 0 ; - p->sfinfo.seekable = 0 ; - - p->sf = sf_wchar_open (wpath, mode, &p->sfinfo) ; - } ; - - return ; -} /* SndfileHandle const wchar_t * constructor */ - -#endif - -#endif /* SNDFILE_HH */ - diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLAudioTrack.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLAudioTrack.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLAudioTrack.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLAudioTrack.cpp 2013-02-03 00:29:07.000000000 +0000 @@ -79,25 +79,29 @@ ofxTLPlaybackEventArgs args = timeline->createPlaybackEvent(); ofNotifyEvent(events().playbackLooped, args); } - lastPercent = player.getPosition(); + lastPercent = player.getPosition(); + //currently only supports timelines with duration == duration of player if(lastPercent < timeline->getInOutRange().min){ - - player.setPosition( positionForSecond(timeline->getInTimeInSeconds())+.001 ); + //player.setPosition( timeline->getInOutRange().min ); + player.setPosition( positionForSecond(timeline->getInTimeInSeconds()) ); } else if(lastPercent > timeline->getInOutRange().max){ if(timeline->getLoopType() == OF_LOOP_NONE){ - player.setPosition( positionForSecond(timeline->getInTimeInSeconds())); +// player.setPosition(timeline->getInOutRange().max); + player.setPosition( positionForSecond(timeline->getInTimeInSeconds()) ); stop(); } else{ - player.setPosition( positionForSecond(timeline->getInTimeInSeconds())); +// player.setPosition(timeline->getInOutRange().min); + player.setPosition( positionForSecond(timeline->getOutTimeInSeconds()) ); } } timeline->setCurrentTimeSeconds(player.getPosition() * player.getDuration()); } } + //cout << "audio track " << player.getPosition() << " timeline " << timeline->getPercentComplete() << endl; } void ofxTLAudioTrack::draw(){ @@ -135,11 +139,23 @@ //will refresh fft bins for other calls too vector& bins = getFFT(); float binWidth = bounds.width / bins.size(); + //find max + float averagebin = 0 ; + float maxBinCurrentFrame = 0; + for(int i = 0; i < bins.size(); i++){ + maxBinCurrentFrame = MAX(maxBinCurrentFrame, bins[i]); + averagebin += bins[i]; + } +// maxBinReceived += (maxBinCurrentFrame - maxBinReceived) * .2; +// averagebin /= bins.size(); + maxBinReceived = .02; + //cout << maxBinCurrentFrame << endl; + ofFill(); ofSetColor(timeline->getColors().disabledColor, 120); for(int i = 0; i < bins.size(); i++){ - float height = MIN(bounds.height * bins[i], bounds.height); + float height = MIN(bounds.height * bins[i]/maxBinReceived, bounds.height); float y = bounds.y + bounds.height - height; ofRect(i*binWidth, y, binWidth, height); } @@ -170,12 +186,12 @@ for(int c = 0; c < numChannels; c++){ ofPolyline preview; int lastFrameIndex = 0; - preview.resize(bounds.width*2); //Why * 2? Because there are two points per pixel, center and outside. + preview.getVertices().resize(bounds.width*2); for(float i = bounds.x; i < bounds.x+bounds.width; i++){ float pointInTrack = screenXtoNormalizedX( i ) * normalizationRatio; //will scale the screenX into wave's 0-1.0 float trackCenter = bounds.y + trackHeight * (c+1); - ofPoint * vertex = & preview.getVertices()[ (i - bounds.x) * 2]; + ofPoint * vertex = & preview.getVertices()[i*2]; if(pointInTrack >= 0 && pointInTrack <= 1.0){ //draw sample at pointInTrack * waveDuration; @@ -203,19 +219,19 @@ if(losample != 0){ // preview.addVertex(i, trackCenter - losample * trackHeight); vertex->x = i; - vertex->y = trackCenter - losample * trackHeight*.5; + vertex->y = trackCenter - losample * trackHeight; vertex++; } if(hisample != 0){ //ofVertex(i, trackCenter - hisample * trackHeight); // preview.addVertex(i, trackCenter - hisample * trackHeight); vertex->x = i; - vertex->y = trackCenter - hisample * trackHeight*.5; + vertex->y = trackCenter - hisample * trackHeight; vertex++; } } - while (vertex < & preview.getVertices()[ (i - bounds.x) * 2] + 2) { + while (vertex < & preview.getVertices()[i*2] + 2) { *vertex = *(vertex-1); vertex++; } @@ -272,7 +288,7 @@ void ofxTLAudioTrack::play(){ if(!player.getIsPlaying()){ - + // lastPercent = MIN(timeline->getPercentComplete() * timeline->getDurationInSeconds() / player.getDuration(), 1.0); player.setLoop(timeline->getLoopType() == OF_LOOP_NORMAL); player.play(); @@ -280,9 +296,7 @@ if(player.getPosition() == 1.0 || timeline->getPercentComplete() > .99){ timeline->setCurrentTimeSeconds(0); } - player.setPosition(positionForSecond(timeline->getCurrentTime())); - //cout << " setting time to " << positionForSecond(timeline->getCurrentTime()) << " actual " << player.getPosition() << endl; ofxTLPlaybackEventArgs args = timeline->createPlaybackEvent(); ofNotifyEvent(events().playbackStarted, args); @@ -415,22 +429,10 @@ fftAverages[i] *= envelope[i]; } } - - float max = 0; - for(int i = 0; i < fftAverages.size(); i++){ - max = MAX(max, fftAverages[i]); - } - if(max != 0){ - for(int i = 0; i < fftAverages.size(); i++){ - fftAverages[i] = ofMap(fftAverages[i],0, max, 0, 1.0); - } - } - + for(int i = 0; i < averageSize; i++) { dampened[i] = (fftAverages[i] * dampening) + dampened[i]*(1-dampening); } - - //normalizer hack lastFFTPosition = fftPosition; } diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLAudioTrack.h duration-0.0.3/addons/ofxTimeline/src/ofxTLAudioTrack.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLAudioTrack.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLAudioTrack.h 2013-02-03 00:29:07.000000000 +0000 @@ -114,7 +114,7 @@ ofRange computedZoomBounds; float maxBinReceived; float dampening; - + void generateEnvelope(int size); int averageSize; bool useEnvelope; diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLBangs.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLBangs.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLBangs.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLBangs.cpp 2013-01-11 16:19:54.000000000 +0000 @@ -108,11 +108,7 @@ // if(isPlaying || timeline->getIsPlaying()){ long thisTimelinePoint = currentTrackTime(); for(int i = 0; i < keyframes.size(); i++){ - if(timeline->getInOutRangeMillis().contains(keyframes[i]->time) && - lastTimelinePoint <= keyframes[i]->time && - thisTimelinePoint >= keyframes[i]->time && - thisTimelinePoint != lastTimelinePoint) - { + if(timeline->getInOutRangeMillis().contains(keyframes[i]->time) && lastTimelinePoint < keyframes[i]->time && thisTimelinePoint >= keyframes[i]->time){ // ofLogNotice() << "fired bang with accuracy of " << (keyframes[i]->time - thisTimelinePoint) << endl; bangFired(keyframes[i]); lastBangTime = ofGetElapsedTimef(); diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLCameraTrack.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLCameraTrack.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLCameraTrack.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLCameraTrack.cpp 2013-01-11 16:19:28.000000000 +0000 @@ -156,10 +156,10 @@ ofPopStyle(); } - unsigned long long startMillis = screenXToMillis(bounds.x); - unsigned long long endMillis = screenXToMillis(bounds.getMaxX()); - unsigned long long step = (endMillis - startMillis)/100; - for(unsigned long long millis = startMillis; millis < endMillis; millis += step ){ + unsigned long startMillis = screenXToMillis(bounds.x); + unsigned long endMillis = screenXToMillis(bounds.getMaxX()); + unsigned long step = (endMillis - startMillis)/100; + for(unsigned long millis = startMillis; millis < endMillis; millis += step ){ setCameraFrameToTime(&interFrame, millis); n.setPosition(interFrame.position); n.setOrientation(interFrame.orientation); @@ -244,7 +244,6 @@ void ofxTLCameraTrack::update(ofEventArgs& args){ if(lockCameraToTrack){ -// cout << "moving camera " << timeline << " + " << timeline->getName() << endl; moveCameraToTime(timeline->getCurrentTimeMillis()); } } @@ -252,8 +251,8 @@ void ofxTLCameraTrack::setTimelineInOutToTrack(){ //TODO: timebased camera tracking if(keyframes.size() > 0){ - unsigned long long inTime = keyframes[0]->time; - unsigned long long outTime = keyframes[keyframes.size()-1]->time; + unsigned long inTime = keyframes[0]->time; + unsigned long outTime = keyframes[keyframes.size()-1]->time; // cout << " IN AND OUT SETTING " << inTime << " " << outTime << endl; timeline->setInOutRangeMillis(inTime, outTime); // timeline->setInPointAtMillis(keyframes[0]->time); @@ -387,7 +386,7 @@ return NULL; } -void ofxTLCameraTrack::moveCameraToTime(unsigned long long millis){ +void ofxTLCameraTrack::moveCameraToTime(unsigned long millis){ if(camera == NULL){ ofLogError("ofxCameraTrack -- can't modify a null camera!"); return; @@ -424,7 +423,7 @@ // cout << "set position to " << camera->getPosition() << endl; } -void ofxTLCameraTrack::setCameraFrameToTime(ofxTLCameraFrame* target, unsigned long long millis){ +void ofxTLCameraTrack::setCameraFrameToTime(ofxTLCameraFrame* target, unsigned long millis){ for(int i = 1; i < keyframes.size(); i++){ if(keyframes[i]->time > millis){ ofxTLCameraFrame* prev = (ofxTLCameraFrame*)(i > 2 ? keyframes[i-2] : keyframes[i-1]); @@ -462,7 +461,7 @@ ofxTLCameraFrame* prev, ofxTLCameraFrame* sample1, ofxTLCameraFrame* sample2, - ofxTLCameraFrame* next, unsigned long long millis) + ofxTLCameraFrame* next, unsigned long millis) { float alpha = 0; diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLCameraTrack.h duration-0.0.3/addons/ofxTimeline/src/ofxTLCameraTrack.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLCameraTrack.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLCameraTrack.h 2013-01-11 16:19:28.000000000 +0000 @@ -106,13 +106,13 @@ static CameraTrackEase getNextEase(CameraTrackEase ease); static CameraTrackEase getPreviousEase(CameraTrackEase ease); - void moveCameraToTime(unsigned long long millis); - void setCameraFrameToTime(ofxTLCameraFrame* target, unsigned long long millis); + void moveCameraToTime(unsigned long millis); + void setCameraFrameToTime(ofxTLCameraFrame* target, unsigned long millis); void interpolateBetween(ofxTLCameraFrame* target, ofxTLCameraFrame* prev, ofxTLCameraFrame* sample1, ofxTLCameraFrame* sample2, - ofxTLCameraFrame* next, unsigned long long millis); + ofxTLCameraFrame* next, unsigned long millis); float dampening; void moveCameraToPosition(ofxTLCameraFrame* target); diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLColorTrack.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLColorTrack.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLColorTrack.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLColorTrack.cpp 2012-11-28 02:59:28.000000000 +0000 @@ -32,7 +32,6 @@ #include "ofxTLColorTrack.h" #include "ofxTimeline.h" -#include "ofxHotKeys.h" ofxTLColorTrack::ofxTLColorTrack() : drawingColorWindow(false), @@ -221,7 +220,7 @@ return getColorAtMillis(pos * timeline->getDurationInMilliseconds()); } -ofColor ofxTLColorTrack::getColorAtMillis(unsigned long long millis){ +ofColor ofxTLColorTrack::getColorAtMillis(unsigned long millis){ if(keyframes.size() == 0){ return defaultColor; } @@ -310,7 +309,7 @@ void ofxTLColorTrack::mouseReleased(ofMouseEventArgs& args, long millis){ if(drawingColorWindow){ //if(args.button == 0 && !colorWindow.inside(args.x, args.y) ){ - if(args.button == 0 && !clickedInColorRect && !ofGetModifierControlPressed()){ + if(args.button == 0 && !clickedInColorRect){ ofxTLColorSample* selectedSample = (ofxTLColorSample*)selectedKeyframe; if(selectedSample->color != colorAtClickTime){ timeline->flagTrackModified(this); diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLColorTrack.h duration-0.0.3/addons/ofxTimeline/src/ofxTLColorTrack.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLColorTrack.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLColorTrack.h 2012-10-01 15:42:07.000000000 +0000 @@ -63,7 +63,7 @@ ofColor getColor(); ofColor getColorAtSecond(float second); - ofColor getColorAtMillis(unsigned long long millis); + ofColor getColorAtMillis(unsigned long millis); ofColor getColorAtPosition(float pos); virtual void setDefaultColor(ofColor color); diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLCurves.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLCurves.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLCurves.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLCurves.cpp 2013-01-11 16:19:54.000000000 +0000 @@ -32,7 +32,6 @@ #include "ofxTLCurves.h" #include "ofxTimeline.h" -#include "ofxHotKeys.h" ofxTLCurves::ofxTLCurves(){ initializeEasings(); @@ -40,7 +39,7 @@ drawingEasingWindow = false; } -float ofxTLCurves::interpolateValueForKeys(ofxTLKeyframe* start,ofxTLKeyframe* end, unsigned long long sampleTime){ +float ofxTLCurves::interpolateValueForKeys(ofxTLKeyframe* start,ofxTLKeyframe* end, unsigned long sampleTime){ ofxTLTweenKeyframe* tweenKeyStart = (ofxTLTweenKeyframe*)start; ofxTLTweenKeyframe* tweenKeyEnd = (ofxTLTweenKeyframe*)end; return ofxTween::map(sampleTime, tweenKeyStart->time, tweenKeyEnd->time, @@ -150,7 +149,7 @@ } void ofxTLCurves::mouseReleased(ofMouseEventArgs& args, long millis){ - if(drawingEasingWindow && (args.button == 0 && !ofGetModifierControlPressed()) ){ + if(drawingEasingWindow && args.button == 0){ drawingEasingWindow = false; timeline->dismissedModalContent(); ofVec2f screenpoint(args.x,args.y); @@ -297,7 +296,7 @@ } for(int i = 0; i < easingFunctions.size(); i++){ - easingFunctions[i]->bounds = ofRectangle(easingBoxWidth + tweenBoxWidth * (i/3), (i%3)*tweenBoxHeight, tweenBoxWidth, tweenBoxHeight); + easingFunctions[i]->bounds = ofRectangle(easingBoxWidth, i*tweenBoxHeight, tweenBoxWidth, tweenBoxHeight); easingFunctions[i]->id = i; //build preview for(int p = 1; p < tweenBoxWidth-1; p++){ diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLCurves.h duration-0.0.3/addons/ofxTimeline/src/ofxTLCurves.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLCurves.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLCurves.h 2012-10-01 15:42:07.000000000 +0000 @@ -83,7 +83,7 @@ virtual void storeKeyframe(ofxTLKeyframe* key, ofxXmlSettings& xmlStore); virtual void selectedKeySecondaryClick(ofMouseEventArgs& args); - virtual float interpolateValueForKeys(ofxTLKeyframe* start,ofxTLKeyframe* end, unsigned long long sampleTime); + virtual float interpolateValueForKeys(ofxTLKeyframe* start,ofxTLKeyframe* end, unsigned long sampleTime); //easing dialog stuff void initializeEasings(); diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLEmptyKeyframes.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLEmptyKeyframes.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLEmptyKeyframes.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLEmptyKeyframes.cpp 2013-01-11 16:19:54.000000000 +0000 @@ -80,7 +80,7 @@ return getColorAtTime(timeline->getCurrentTimeMillis()); } -ofColor ofxTLEmptyKeyframes::getColorAtTime(unsigned long long sampleTime){ +ofColor ofxTLEmptyKeyframes::getColorAtTime(unsigned long sampleTime){ //return black if there are no frames if(keyframes.size() == 0){ diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLEmptyKeyframes.h duration-0.0.3/addons/ofxTimeline/src/ofxTLEmptyKeyframes.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLEmptyKeyframes.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLEmptyKeyframes.h 2012-10-01 15:42:07.000000000 +0000 @@ -69,7 +69,7 @@ //how to get colors from our example, linearly interpolated RGB ofColor getCurrentColor(); - ofColor getColorAtTime(unsigned long long millis); + ofColor getColorAtTime(unsigned long millis); //time range contains MIN and MAX time in milliseconds //valueRange is 0 at the bottom of the track, and 1 at the top diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLEmptyTrack.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLEmptyTrack.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLEmptyTrack.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLEmptyTrack.cpp 2012-10-01 15:42:07.000000000 +0000 @@ -125,7 +125,7 @@ //if your track has some selectable elements you can interface with snapping //and selection/unselection here -void ofxTLEmptyTrack::getSnappingPoints(set& points){ +void ofxTLEmptyTrack::getSnappingPoints(set& points){ } void ofxTLEmptyTrack::regionSelected(ofLongRange timeRange, ofRange valueRange){ diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLEmptyTrack.h duration-0.0.3/addons/ofxTimeline/src/ofxTLEmptyTrack.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLEmptyTrack.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLEmptyTrack.h 2012-10-01 15:42:07.000000000 +0000 @@ -38,7 +38,7 @@ typedef struct { float value; - unsigned long long time; + unsigned long time; } ClickPoint; class ofxTLEmptyTrack : public ofxTLTrack { @@ -76,7 +76,7 @@ //if your track has some selectable elements you can interface with snapping //and selection/unselection here - virtual void getSnappingPoints(set& points); + virtual void getSnappingPoints(set& points); //time range contains MIN and MAX time in milliseconds //valueRange is 0 at the bottom of the track, and 1 at the top diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLEvents.h duration-0.0.3/addons/ofxTimeline/src/ofxTLEvents.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLEvents.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLEvents.h 2012-10-01 15:42:07.000000000 +0000 @@ -61,14 +61,6 @@ string oldPageName; }; -class ofxTLTrackEventArgs : public ofEventArgs { -public: - ofxTimeline* sender; - ofxTLTrack* track; - string name; - string displayName; -}; - class ofxTLBangEventArgs : public ofEventArgs { public: ofxTimeline* sender; @@ -82,8 +74,7 @@ class ofxTLSwitchEventArgs : public ofEventArgs { public: - ofxTimeline* sender; - ofxTLTrack* track; + ofxTimeline* sender; string switchName; bool on; }; @@ -104,9 +95,6 @@ ofEvent switched; ofEvent pageChanged; - - ofEvent trackGainedFocus; - ofEvent trackLostFocus; ofEvent viewWasResized; diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLFlags.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLFlags.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLFlags.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLFlags.cpp 2012-10-13 00:18:13.000000000 +0000 @@ -236,7 +236,7 @@ addFlagAtTime(key, timeline->getCurrentTimeMillis()); } -void ofxTLFlags::addFlagAtTime(string key, unsigned long long time){ +void ofxTLFlags::addFlagAtTime(string key, unsigned long time){ ofxTLKeyframe* keyFrame = newKeyframe(); ofxTLFlag* flag = (ofxTLFlag*)keyFrame; setKeyframeTime(keyFrame, time); @@ -246,13 +246,3 @@ timeline->flagTrackModified(this); } -ofxTLFlag* ofxTLFlags::getFlagWithKey(string key){ - for(int i = 0; i < keyframes.size(); i++){ - ofxTLFlag* flag = (ofxTLFlag*)keyframes[i]; - if( flag->textField.text == key ){ - return flag; - } - } - return NULL; -} - diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLFlags.h duration-0.0.3/addons/ofxTimeline/src/ofxTLFlags.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLFlags.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLFlags.h 2012-10-01 15:42:07.000000000 +0000 @@ -58,9 +58,8 @@ virtual string getTrackType(); virtual void addFlag(string key); - virtual void addFlagAtTime(string key, unsigned long long time); - virtual ofxTLFlag* getFlagWithKey(string key); - + virtual void addFlagAtTime(string key, unsigned long time); + protected: virtual ofxTLKeyframe* newKeyframe(); diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLInOut.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLInOut.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLInOut.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLInOut.cpp 2012-10-01 15:42:07.000000000 +0000 @@ -163,7 +163,7 @@ ofxXmlSettings settings; if(!settings.loadFile(xmlFileName)){ - ofLog(OF_LOG_VERBOSE, "ofxTLInOut -- couldn't load in/out settings file " + xmlFileName); + ofLog(OF_LOG_NOTICE, "ofxTLInOut -- couldn't load zoom settings file " + xmlFileName); timeline->setInOutRange(ofRange(0,1.0)); return; } diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLKeyframes.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLKeyframes.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLKeyframes.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLKeyframes.cpp 2013-02-03 00:29:07.000000000 +0000 @@ -235,11 +235,11 @@ return defaultValue; } -float ofxTLKeyframes::evaluateKeyframeAtTime(ofxTLKeyframe* key, unsigned long long sampleTime, bool firstKey){ +float ofxTLKeyframes::evaluateKeyframeAtTime(ofxTLKeyframe* key, unsigned long sampleTime, bool firstKey){ return key->value; } -float ofxTLKeyframes::interpolateValueForKeys(ofxTLKeyframe* start,ofxTLKeyframe* end, unsigned long long sampleTime){ +float ofxTLKeyframes::interpolateValueForKeys(ofxTLKeyframe* start,ofxTLKeyframe* end, unsigned long sampleTime){ return ofMap(sampleTime, start->time, end->time, start->value, end->value); } @@ -357,13 +357,13 @@ keysAreStretchable = ofGetModifierShiftPressed() && ofGetModifierControlPressed(); keysDidDrag = false; if(keysAreStretchable && timeline->getTotalSelectedItems() > 1){ - unsigned long long minSelected = timeline->getEarliestSelectedTime(); - unsigned long long maxSelected = timeline->getLatestSelectedTime(); + unsigned long minSelected = timeline->getEarliestSelectedTime(); + unsigned long maxSelected = timeline->getLatestSelectedTime(); if(minSelected == maxSelected){ keysAreStretchable = false; } else { - unsigned long long midSelection = (maxSelected-minSelected)/2 + minSelected; + unsigned long midSelection = (maxSelected-minSelected)/2 + minSelected; //the anchor is the selected key opposite to where we are stretching stretchAnchor = midSelection <= millis ? minSelected : maxSelected; // cout << "Min selected " << ofxTimecode::timecodeForMillis(minSelected) << " Mid Selected " << ofxTimecode::timecodeForMillis(midSelection) << " Max selected " << ofxTimecode::timecodeForMillis(maxSelected) << " anchor " << ofxTimecode::timecodeForMillis(stretchAnchor) << " millis down " << ofxTimecode::timecodeForMillis(millis) << endl; @@ -412,7 +412,6 @@ if(selectedKeyframe != NULL){ if(args.button == 0 && !ofGetModifierSelection() && !ofGetModifierControlPressed()){ - timeline->setDragTimeOffset(selectedKeyframe->grabTimeOffset); //move the playhead if(timeline->getMovePlayheadOnDrag()){ @@ -496,11 +495,9 @@ lastKeyframeIndex = 1; lastSampleTime = 0; if(keyframes.size() > 1){ - //modify duration to fit for(int i = 0; i < keyframes.size(); i++){ if(keyframes[i]->time > timeline->getDurationInMilliseconds()){ - //keyframes[i]->time = timeline->getDurationInMilliseconds(); - timeline->setDurationInMillis(keyframes[i]->time); + keyframes[i]->time = timeline->getDurationInMilliseconds(); } } @@ -544,12 +541,12 @@ createNewOnMouseup = false; } -void ofxTLKeyframes::setKeyframeTime(ofxTLKeyframe* key, unsigned long long newTime){ +void ofxTLKeyframes::setKeyframeTime(ofxTLKeyframe* key, unsigned long newTime){ key->previousTime = key->time; key->time = newTime; } -void ofxTLKeyframes::getSnappingPoints(set& points){ +void ofxTLKeyframes::getSnappingPoints(set& points){ for(int i = 0; i < keyframes.size(); i++){ if (isKeyframeIsInBounds(keyframes[i]) && !isKeyframeSelected(keyframes[i])) { points.insert(keyframes[i]->time); @@ -622,11 +619,11 @@ addKeyframeAtMillis(value, currentTrackTime()); } -void ofxTLKeyframes::addKeyframeAtMillis(unsigned long long millis){ +void ofxTLKeyframes::addKeyframeAtMillis(unsigned long millis){ addKeyframeAtMillis(defaultValue, millis); } -void ofxTLKeyframes::addKeyframeAtMillis(float value, unsigned long long millis){ +void ofxTLKeyframes::addKeyframeAtMillis(float value, unsigned long millis){ ofxTLKeyframe* key = newKeyframe(); key->time = key->previousTime = millis; key->value = ofMap(value, valueRange.min, valueRange.max, 0, 1.0, true); @@ -652,7 +649,7 @@ return selectedKeyframes.size(); } -unsigned long long ofxTLKeyframes::getEarliestTime(){ +unsigned long ofxTLKeyframes::getEarliestTime(){ if(keyframes.size() > 0){ return keyframes[0]->time; } @@ -661,7 +658,7 @@ } } -unsigned long long ofxTLKeyframes::getLatestTime(){ +unsigned long ofxTLKeyframes::getLatestTime(){ if(keyframes.size() > 0){ return keyframes[keyframes.size()-1]->time; } @@ -670,7 +667,7 @@ } } -unsigned long long ofxTLKeyframes::getEarliestSelectedTime(){ +unsigned long ofxTLKeyframes::getEarliestSelectedTime(){ if(selectedKeyframes.size() > 0){ return selectedKeyframes[0]->time; } @@ -679,7 +676,7 @@ } } -unsigned long long ofxTLKeyframes::getLatestSelectedTime(){ +unsigned long ofxTLKeyframes::getLatestSelectedTime(){ if(selectedKeyframes.size() > 0){ return selectedKeyframes[selectedKeyframes.size()-1]->time; } @@ -710,13 +707,13 @@ string filePath = ofFilePath::removeExt(xmlFileName) + ".bin"; int numKeys = keyframes.size(); - int keyBytes = sizeof(unsigned long long) + sizeof(float); //time + value + int keyBytes = sizeof(unsigned long) + sizeof(float); //time + value cout << "saving binary file " << filePath << " with # keys " << numKeys << endl; ofFile outfile(ofToDataPath(filePath), ofFile::WriteOnly, true); outfile.write((char*)&numKeys,sizeof(int)); outfile.write((char*)&keyBytes, sizeof(int)); for(int i = 0; i < keyframes.size(); i++){ - outfile.write( (char*)&keyframes[i]->time, sizeof(unsigned long long)); + outfile.write( (char*)&keyframes[i]->time, sizeof(unsigned long)); outfile.write( (char*)&keyframes[i]->value, sizeof(float)); } outfile.close(); @@ -739,7 +736,7 @@ cout << "# keys " << numKeys << " of size " << keyBytes << endl; for(int i = 0; i < numKeys; i++){ ofxTLKeyframe* k = newKeyframe(); - infile.read( (char*)&k->time, sizeof(unsigned long long) ); + infile.read( (char*)&k->time, sizeof(unsigned long) ); infile.read( (char*)&k->value, sizeof(float) ); keyframes.push_back(k); } @@ -845,7 +842,7 @@ bool ofxTLKeyframes::isKeyframeIsInBounds(ofxTLKeyframe* key){ if(zoomBounds.min == 0.0 && zoomBounds.max == 1.0) return true; - unsigned long long duration = timeline->getDurationInMilliseconds(); + unsigned long duration = timeline->getDurationInMilliseconds(); return key->time >= zoomBounds.min*duration && key->time <= zoomBounds.max*duration; } diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLKeyframes.h duration-0.0.3/addons/ofxTimeline/src/ofxTLKeyframes.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLKeyframes.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLKeyframes.h 2013-02-03 00:29:07.000000000 +0000 @@ -40,8 +40,8 @@ class ofxTLKeyframe { public: ofVec2f screenPosition; // cached screen position - unsigned long long previousTime; //for preventing overlap conflicts - unsigned long long time; //in millis + unsigned long previousTime; //for preventing overlap conflicts + unsigned long time; //in millis float value; //normalized long grabTimeOffset; float grabValueOffset; @@ -64,7 +64,7 @@ virtual void keyPressed(ofKeyEventArgs& args); - virtual void getSnappingPoints(set& points); + virtual void getSnappingPoints(set& points); virtual void save(); virtual void load(); @@ -73,8 +73,8 @@ virtual void addKeyframe(); virtual void addKeyframe(float value); - virtual void addKeyframeAtMillis(unsigned long long millis); - virtual void addKeyframeAtMillis(float value, unsigned long long millis); + virtual void addKeyframeAtMillis(unsigned long millis); + virtual void addKeyframeAtMillis(float value, unsigned long millis); vector& getKeyframes(); @@ -87,10 +87,10 @@ virtual int getSelectedItemCount(); - virtual unsigned long long getEarliestTime(); - virtual unsigned long long getLatestTime(); - virtual unsigned long long getEarliestSelectedTime(); - virtual unsigned long long getLatestSelectedTime(); + virtual unsigned long getEarliestTime(); + virtual unsigned long getLatestTime(); + virtual unsigned long getEarliestSelectedTime(); + virtual unsigned long getLatestSelectedTime(); //undo virtual string getXMLRepresentation(); @@ -132,15 +132,15 @@ virtual float sampleAtPercent(float percent); //less accurate than millis virtual float sampleAtTime(long sampleTime); - virtual float interpolateValueForKeys(ofxTLKeyframe* start,ofxTLKeyframe* end, unsigned long long sampleTime); - virtual float evaluateKeyframeAtTime(ofxTLKeyframe* key, unsigned long long sampleTime, bool firstKey = false); + virtual float interpolateValueForKeys(ofxTLKeyframe* start,ofxTLKeyframe* end, unsigned long sampleTime); + virtual float evaluateKeyframeAtTime(ofxTLKeyframe* key, unsigned long sampleTime, bool firstKey = false); ofRange valueRange; float defaultValue; //keep these stored for efficient search through the keyframe array int lastKeyframeIndex; - unsigned long long lastSampleTime; + unsigned long lastSampleTime; virtual ofxTLKeyframe* keyframeAtScreenpoint(ofVec2f p); bool isKeyframeIsInBounds(ofxTLKeyframe* key); @@ -162,10 +162,10 @@ int selectedKeyframeIndex; bool keysAreDraggable; bool keysAreStretchable; - unsigned long long stretchAnchor; - unsigned long long stretchSelectPoint; + unsigned long stretchAnchor; + unsigned long stretchSelectPoint; - virtual void setKeyframeTime(ofxTLKeyframe* key, unsigned long long newTime); + virtual void setKeyframeTime(ofxTLKeyframe* key, unsigned long newTime); virtual void updateKeyframeSort(); virtual void updateStretchOffsets(ofVec2f screenpoint, long grabMillis); virtual void updateDragOffsets(ofVec2f screenpoint, long grabMillis); diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLLFO.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLLFO.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLLFO.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLLFO.cpp 2013-01-11 16:19:55.000000000 +0000 @@ -174,7 +174,7 @@ ofPopStyle(); } -float ofxTLLFO::interpolateValueForKeys(ofxTLKeyframe* start, ofxTLKeyframe* end, unsigned long long sampleTime){ +float ofxTLLFO::interpolateValueForKeys(ofxTLKeyframe* start, ofxTLKeyframe* end, unsigned long sampleTime){ ofxTLLFOKey* prevKey = (ofxTLLFOKey*)start; // prevKey->samplePoint = (1./prevKey->frequency)*(prevKey->phaseShift + prevKey->time + sampleTime ); @@ -236,7 +236,7 @@ } //the beating heart -float ofxTLLFO::evaluateKeyframeAtTime(ofxTLKeyframe* key, unsigned long long sampleTime, bool firstKey){ +float ofxTLLFO::evaluateKeyframeAtTime(ofxTLKeyframe* key, unsigned long sampleTime, bool firstKey){ if(firstKey){ return ofMap(defaultValue, valueRange.min, valueRange.max, 0, 1.0); } diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLLFO.h duration-0.0.3/addons/ofxTimeline/src/ofxTLLFO.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLLFO.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLLFO.h 2013-01-11 16:19:55.000000000 +0000 @@ -92,8 +92,8 @@ protected: - virtual float interpolateValueForKeys(ofxTLKeyframe* start,ofxTLKeyframe* end, unsigned long long sampleTime); - virtual float evaluateKeyframeAtTime(ofxTLKeyframe* key, unsigned long long sampleTime, bool firstKey = false); + virtual float interpolateValueForKeys(ofxTLKeyframe* start,ofxTLKeyframe* end, unsigned long sampleTime); + virtual float evaluateKeyframeAtTime(ofxTLKeyframe* key, unsigned long sampleTime, bool firstKey = false); virtual ofxTLKeyframe* keyframeAtScreenpoint(ofVec2f p); diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLPage.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLPage.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLPage.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLPage.cpp 2012-11-28 02:59:28.000000000 +0000 @@ -91,23 +91,6 @@ } } -//given a folder the page will look for xml files to load within that -void ofxTLPage::saveTracksToFolder(string folderPath){ - for(int i = 0; i < headers.size(); i++){ - string filename = folderPath + tracks[headers[i]->name]->getXMLFileName(); - tracks[headers[i]->name]->setXMLFileName(filename); - tracks[headers[i]->name]->save(); - } -} - -void ofxTLPage::timelineChangedName(string newName, string oldName){ - for(int i = 0; i < headers.size(); i++){ - string filename = tracks[headers[i]->name]->getXMLFileName(); - ofStringReplace(filename, oldName+"_", newName+"_"); - tracks[headers[i]->name]->setXMLFileName(filename); - } -} - void ofxTLPage::setTicker(ofxTLTicker* t){ ticker = t; } @@ -128,7 +111,7 @@ if(!headerHasFocus && !footerIsDragging && draggingInside && snapPoints.size() > 0){ ofPushStyle(); ofSetColor(255,255,255,100); - set::iterator it; + set::iterator it; // for(int i = 0; i < snapPoints.size(); i++){ for(it = snapPoints.begin(); it != snapPoints.end(); it++){ ofLine(timeline->millisToScreenX(*it), trackContainerRect.y, @@ -266,7 +249,7 @@ if(snappingEnabled && snapPoints.size() > 0){ //hack to find snap distance in millseconds - set::iterator it; + set::iterator it; long snappingToleranceMillis = timeline->screenXToMillis(snappingTolerance) - timeline->screenXToMillis(0); long closestSnapDistance = snappingToleranceMillis; long closestSnapPoint; @@ -365,14 +348,14 @@ if(snapPoints.size() > 2){ long snappingToleranceMillis = timeline->screenXToMillis(snappingTolerance) - timeline->screenXToMillis(0); - set::iterator it = snapPoints.begin(); + set::iterator it = snapPoints.begin(); while(true){ - unsigned long long a = *(it++); + unsigned long a = *(it++); if(it == snapPoints.end()){ break; } - unsigned long long b = *(it); + unsigned long b = *(it); if(b - a < snappingToleranceMillis){ snapPoints.erase(it); it++; @@ -761,7 +744,7 @@ trackPositions.popTag(); } else{ - ofLogVerbose("ofxTLPage::loadTrackPositions") << "Couldn't load position file"; + ofLogNotice("ofxTLPage::loadTrackPositions") << "Couldn't load position file"; } } diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLPage.h duration-0.0.3/addons/ofxTimeline/src/ofxTLPage.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLPage.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLPage.h 2012-11-28 02:59:28.000000000 +0000 @@ -94,12 +94,8 @@ vector& getTracks(); //given a folder the page will look for xml files to load within that - void loadTracksFromFolder(string folderPath); - void saveTracksToFolder(string folderPath); - - //this will swap out the xml file names that have been set to default based on the timeline name - void timelineChangedName(string newName, string oldName); - + virtual void loadTracksFromFolder(string folderPath); + virtual void mousePressed(ofMouseEventArgs& args, long millis); virtual void mouseMoved(ofMouseEventArgs& args, long millis); virtual void mouseDragged(ofMouseEventArgs& args, long millis); @@ -151,7 +147,7 @@ bool footerIsDragging; bool snappingEnabled; - set snapPoints; //in millis + set snapPoints; //in millis float snappingTolerance; //in pixels virtual void zoomEnded(ofxTLZoomEventArgs& args); diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLSwitches.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLSwitches.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLSwitches.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLSwitches.cpp 2012-10-13 00:18:13.000000000 +0000 @@ -36,50 +36,12 @@ ofxTLSwitches::ofxTLSwitches(){ placingSwitch = NULL; - lastTimelinePoint = 0; - enteringText = false; - clickedTextField = NULL; } ofxTLSwitches::~ofxTLSwitches(){ } -void ofxTLSwitches::update(){ - long thisTimelinePoint = currentTrackTime(); - for(int i = 0; i < keyframes.size(); i++){ - ofxTLSwitch* switchKey = (ofxTLSwitch*)keyframes[i]; - - // switch turns on - if(timeline->getInOutRangeMillis().contains(switchKey->time) && - lastTimelinePoint <= switchKey->time && - thisTimelinePoint >= switchKey->time && - thisTimelinePoint != lastTimelinePoint) - { - switchStateChanged(keyframes[i]); - } - - // switch turns off - if(timeline->getInOutRangeMillis().contains(switchKey->timeRange.max) && - lastTimelinePoint <= switchKey->timeRange.max && - thisTimelinePoint >= switchKey->timeRange.max && - thisTimelinePoint != lastTimelinePoint) - { - switchStateChanged(keyframes[i]); - } - } - lastTimelinePoint = thisTimelinePoint; -} - -void ofxTLSwitches::switchStateChanged(ofxTLKeyframe* key){ - ofxTLSwitchEventArgs args; - args.sender = timeline; - args.track = this; - args.on = isOn(); - args.switchName = ((ofxTLSwitch*)key)->textField.text; - ofNotifyEvent(events().switched, args); -} - void ofxTLSwitches::draw(){ ofPushStyle(); @@ -166,28 +128,6 @@ } ofRect(switchKey->display); } - - ofFill(); - ofSetLineWidth(5); - for(int i = keyframes.size()-1; i >= 0; i--){ - ofxTLSwitch* switchKey = (ofxTLSwitch*)keyframes[i]; - if(isKeyframeIsInBounds(switchKey)){ - int screenX = millisToScreenX(switchKey->time); - - ofSetColor(timeline->getColors().backgroundColor); - int textHeight = bounds.y + 10 + ( (20*i) % int(MAX(bounds.height-15, 15))); - switchKey->textFieldDisplay = ofRectangle(MIN(screenX+3, bounds.getMaxX() - switchKey->textField.bounds.width), - textHeight-10, 100, 15); - ofRect(switchKey->textFieldDisplay); - - ofSetColor(timeline->getColors().textColor); - - switchKey->textField.bounds.x = switchKey->textFieldDisplay.x; - switchKey->textField.bounds.y = switchKey->textFieldDisplay.y; - switchKey->textField.draw(); - } - } - ofPopStyle(); } @@ -209,70 +149,13 @@ } bool ofxTLSwitches::isOnAtPercent(float percent){ - unsigned long long millis = percent*timeline->getDurationInMilliseconds(); + unsigned long millis = percent*timeline->getDurationInMilliseconds(); return isOnAtMillis(millis); } -ofxTLSwitch* ofxTLSwitches::getActiveSwitchAtMillis(long millis){ - for(int i = 0; i < keyframes.size(); i++){ - ofxTLSwitch* switchKey = (ofxTLSwitch*)keyframes[i]; - if(switchKey->timeRange.min > millis){ - break; - } - if(switchKey->timeRange.contains(millis)){ - return switchKey; - } - } - return NULL; -} - bool ofxTLSwitches::mousePressed(ofMouseEventArgs& args, long millis){ - clickedTextField = NULL; - //look at each element to see if a text field was clicked - for(int i = 0; i < keyframes.size(); i++){ - ofxTLSwitch* switchKey = (ofxTLSwitch*)keyframes[i]; - if(switchKey->textFieldDisplay.inside(args.x, args.y)){ - clickedTextField = switchKey; - break; - } - } - - //if so, select that text field and key and present modally - //so that keyboard input all goes to the text field. - //selection model is designed so that you can type into - //mulitple fields at once - if(clickedTextField != NULL){ - timeline->presentedModalContent(this); - if(!ofGetModifierSelection()){ - timeline->unselectAll(); - } - if(ofGetModifierSelection() && clickedTextField->textField.getIsEditing()){ - clickedTextField->textField.endEditing(); - } - else{ - clickedTextField->textField.beginEditing(); - enteringText = true; - //make sure this key is selected - selectKeyframe(clickedTextField); - } - return false; - } - else{ - if(enteringText && !isHovering()){ - for(int i = 0; i < selectedKeyframes.size(); i++){ - ((ofxTLSwitch*)selectedKeyframes[i])->textField.endEditing(); - } - enteringText = false; - timeline->dismissedModalContent(); - } - } - - if(enteringText) - return false; - - // --- - if(placingSwitch != NULL){ + if(placingSwitch != NULL){ if(isActive() && args.button == 0){ placingSwitch->timeRange.max = millis; updateTimeRanges(); @@ -371,7 +254,6 @@ for(int i = 0; i < keyframes.size(); i++){ ofxTLSwitch* switchKey = (ofxTLSwitch*)keyframes[i]; switchKey->startSelected = switchKey->endSelected = false; - switchKey->textField.disable(); } } @@ -388,9 +270,7 @@ } void ofxTLSwitches::mouseDragged(ofMouseEventArgs& args, long millis){ - if(enteringText) - return; - + //do the normal dragging behavior for selected keyframes ofxTLKeyframes::mouseDragged(args, millis); @@ -493,46 +373,7 @@ } void ofxTLSwitches::mouseReleased(ofMouseEventArgs& args, long millis){ - //if we didn't click on a text field and we are entering txt - //take off the typing mode. Hitting enter will also do this - if(enteringText){ - //if we clicked outside of the rect, definitely deslect everything - if(clickedTextField == NULL && !ofGetModifierSelection()){ - for(int i = 0; i < selectedKeyframes.size(); i++){ - ((ofxTLSwitch*)selectedKeyframes[i])->textField.endEditing(); - } - enteringText = false; - } - //otherwise check if still have a selection - else{ - enteringText = false; - for(int i = 0; i < selectedKeyframes.size(); i++){ - enteringText = enteringText || ((ofxTLSwitch*)selectedKeyframes[i])->textField.getIsEditing(); - } - } - - if(!enteringText){ - timeline->dismissedModalContent(); - timeline->flagTrackModified(this); - } - } else { - ofxTLKeyframes::mouseReleased(args, millis); - } -} - -void ofxTLSwitches::keyPressed(ofKeyEventArgs& args){ - - if(enteringText){ - //enter key submits the values - //This could be done be responding to the event from the text field itself... - if(args.key == OF_KEY_RETURN){ - enteringText = false; - timeline->dismissedModalContent(); - timeline->flagTrackModified(this); - } - } else { - ofxTLKeyframes::keyPressed(args); - } + ofxTLKeyframes::mouseReleased(args, millis); } void ofxTLSwitches::regionSelected(ofLongRange timeRange, ofRange valueRange){ @@ -544,7 +385,7 @@ } } -void ofxTLSwitches::getSnappingPoints(set& points){ +void ofxTLSwitches::getSnappingPoints(set& points){ for(int i = 0; i < keyframes.size(); i++){ ofxTLSwitch* switchKey = (ofxTLSwitch*)keyframes[i]; if (isKeyframeIsInBounds(switchKey) && !isKeyframeSelected(switchKey) && @@ -568,8 +409,6 @@ ofxTLKeyframe* ofxTLSwitches::newKeyframe(){ ofxTLSwitch* switchKey = new ofxTLSwitch(); - switchKey->textField.setFont(timeline->getFont()); - //in the case of a click, start at the mouse positiion //if this is being restored from XML, the next call to restore will override this with what is in the XML switchKey->timeRange.min = switchKey->timeRange.max = screenXToMillis(ofGetMouseX()); @@ -585,8 +424,6 @@ void ofxTLSwitches::restoreKeyframe(ofxTLKeyframe* key, ofxXmlSettings& xmlStore){ //pull the saved time into min, and our custom max value ofxTLSwitch* switchKey = (ofxTLSwitch*)key; - switchKey->textField.text = xmlStore.getValue("switchName", ""); - switchKey->timeRange.min = switchKey->time; // string timecode = xmlStore.getValue("max", "00:00:00:000"); @@ -606,20 +443,10 @@ void ofxTLSwitches::storeKeyframe(ofxTLKeyframe* key, ofxXmlSettings& xmlStore){ //push the time range into X/Y ofxTLSwitch* switchKey = (ofxTLSwitch* )key; - xmlStore.addValue("switchName", switchKey->textField.text); switchKey->time = switchKey->timeRange.min; xmlStore.addValue("max", timeline->getTimecode().timecodeForMillis(switchKey->timeRange.max)); } -void ofxTLSwitches::willDeleteKeyframe(ofxTLKeyframe* keyframe){ - ofxTLSwitch* switchKey = (ofxTLSwitch* )keyframe; - if(switchKey->textField.getIsEditing()){ - timeline->dismissedModalContent(); - timeline->flagTrackModified(this); - } - switchKey->textField.disable(); -} - ofxTLKeyframe* ofxTLSwitches::keyframeAtScreenpoint(ofVec2f p){ for(int i = 0; i < keyframes.size(); i++){ ofxTLSwitch* switchKey = (ofxTLSwitch*)keyframes[i]; diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLSwitches.h duration-0.0.3/addons/ofxTimeline/src/ofxTLSwitches.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLSwitches.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLSwitches.h 2012-10-01 15:42:07.000000000 +0000 @@ -32,7 +32,6 @@ #pragma once #include "ofxTLKeyframes.h" -#include "ofxTextInputField.h" class ofxTLSwitch : public ofxTLKeyframe { public: @@ -45,9 +44,6 @@ bool endSelected; long edgeDragOffset; ofRectangle display; - - ofxTextInputField textField; - ofRectangle textFieldDisplay; }; class ofxTLSwitches : public ofxTLKeyframes { @@ -61,16 +57,12 @@ virtual bool isOnAtMillis(long millis); virtual bool isOnAtPercent(float percent); - ofxTLSwitch* getActiveSwitchAtMillis(long millis); - virtual bool mousePressed(ofMouseEventArgs& args, long millis); virtual void mouseDragged(ofMouseEventArgs& args, long millis); virtual void mouseReleased(ofMouseEventArgs& args, long millis); virtual void mouseMoved(ofMouseEventArgs& args, long millis); - virtual void keyPressed(ofKeyEventArgs& args); - - virtual void getSnappingPoints(set& points); + virtual void getSnappingPoints(set& points); virtual void regionSelected(ofLongRange timeRange, ofRange valueRange); virtual void unselectAll(); @@ -79,10 +71,6 @@ virtual void pasteSent(string pasteboard); protected: - virtual void update(); - virtual void switchStateChanged(ofxTLKeyframe* key); - virtual void willDeleteKeyframe(ofxTLKeyframe* keyframe); - virtual ofxTLKeyframe* newKeyframe(); virtual void restoreKeyframe(ofxTLKeyframe* key, ofxXmlSettings& xmlStore); virtual void storeKeyframe(ofxTLKeyframe* key, ofxXmlSettings& xmlStore); @@ -94,12 +82,8 @@ //pushes any edits from keyframes superclass into the switches system virtual void updateTimeRanges(); - long lastTimelinePoint; bool startHover; bool endHover; ofxTLSwitch* placingSwitch; - ofxTLSwitch* clickedTextField; - bool enteringText; - }; \ No newline at end of file diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLTicker.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLTicker.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLTicker.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLTicker.cpp 2013-01-11 16:19:55.000000000 +0000 @@ -154,7 +154,7 @@ ofPopStyle(); } -void ofxTLTicker::setHoverTime(unsigned long long millis){ +void ofxTLTicker::setHoverTime(unsigned long millis){ hoverTime = millis; } @@ -170,7 +170,7 @@ //250 bpm = 250/60 beats per second //1 beat = 1/(250/60) seconds //1/2 beat = (1/(250/60))/2 seconds = 0.12 seconds -void ofxTLTicker::getSnappingPoints(set& points){ +void ofxTLTicker::getSnappingPoints(set& points){ if(!drawBPMGrid){ updateBPMPoints(); @@ -186,9 +186,9 @@ void ofxTLTicker::refreshTickMarks(){ tickerMarks.clear(); - unsigned long long startMillis = zoomBounds.min * timeline->getDurationInMilliseconds(); - unsigned long long endMillis = zoomBounds.max * timeline->getDurationInMilliseconds(); - unsigned long long durationInview = endMillis-startMillis; + unsigned long startMillis = zoomBounds.min * timeline->getDurationInMilliseconds(); + unsigned long endMillis = zoomBounds.max * timeline->getDurationInMilliseconds(); + unsigned long durationInview = endMillis-startMillis; float millisPerPixel = durationInview / bounds.width; //expand to days @@ -218,13 +218,13 @@ showMinutes = true; } - unsigned long long lastMillis = screenXToMillis(bounds.x); + unsigned long lastMillis = screenXToMillis(bounds.x); int lastSecond = lastMillis/1000; int lastMinute = lastSecond/60; int lastHour = lastMinute/60; for(int i = bounds.getMinX()+step; i < bounds.getMaxX(); i+=step){ int height = 0; - unsigned long long currentMillis = screenXToMillis(i); + unsigned long currentMillis = screenXToMillis(i); int currentSecond = currentMillis/1000; int currentMinute = currentSecond/60; int currentHour = currentMinute/60; @@ -320,10 +320,6 @@ } -bool ofxTLTicker::getIsScrubbing(){ - return playOnMouseReleased; -} - bool ofxTLTicker::getDrawBPMGrid(){ return drawBPMGrid; } diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLTicker.h duration-0.0.3/addons/ofxTimeline/src/ofxTLTicker.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLTicker.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLTicker.h 2013-01-11 16:19:55.000000000 +0000 @@ -37,7 +37,7 @@ typedef struct{ float screenX; - unsigned long long millis; + unsigned long millis; int weight; } ofxTLBPMPoint; @@ -47,7 +47,7 @@ ofxTLTicker(); ~ofxTLTicker(); - void draw(); + virtual void draw(); //set the draw rect for the whole keyframer interface virtual void setTotalDrawRect(ofRectangle drawRect); @@ -60,12 +60,10 @@ virtual float getBPM(); virtual void setBPM(float bpm); - virtual void getSnappingPoints(set& points); + virtual void getSnappingPoints(set& points); virtual bool getDrawBPMGrid(); virtual void setDrawBPMGrid(bool drawGrid); - virtual void setHoverTime(unsigned long long millis); - - bool getIsScrubbing(); + virtual void setHoverTime(unsigned long millis); protected: void updateTimelinePosition(); @@ -73,7 +71,7 @@ ofRectangle totalDrawRect; vector bpmScreenPoints; - unsigned long long hoverTime; + unsigned long hoverTime; bool hasBPM; float bpm; bool drawBPMGrid; diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLTrack.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLTrack.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLTrack.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLTrack.cpp 2012-11-28 02:59:28.000000000 +0000 @@ -149,7 +149,7 @@ viewIsDirty = false; } -unsigned long long ofxTLTrack::currentTrackTime(){ +unsigned long ofxTLTrack::currentTrackTime(){ if(isPlaying){ currentTime = timeline->getTimer().getAppTimeMillis() - playbackStartTime; checkLoop(); @@ -245,24 +245,10 @@ void ofxTLTrack::gainedFocus(){ focused = true; - - ofxTLTrackEventArgs args; - args.sender = timeline; - args.track = this; - args.name = name; - args.displayName = displayName; - ofNotifyEvent(events().trackGainedFocus, args); } void ofxTLTrack::lostFocus(){ focused = false; - - ofxTLTrackEventArgs args; - args.sender = timeline; - args.track = this; - args.name = name; - args.displayName = displayName; - ofNotifyEvent(events().trackLostFocus, args); } ofRectangle ofxTLTrack::getDrawRect(){ diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLTrack.h duration-0.0.3/addons/ofxTimeline/src/ofxTLTrack.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLTrack.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLTrack.h 2012-11-28 02:59:28.000000000 +0000 @@ -71,7 +71,7 @@ virtual void play(); virtual void stop(); virtual bool getIsPlaying(); - unsigned long long currentTrackTime(); + unsigned long currentTrackTime(); //returns the screenspace position of the elements bounds, not including header and footer virtual ofRectangle getDrawRect(); @@ -125,10 +125,10 @@ //returns the bounds at which something interesting happens on this track //used for finding min/max times on a timeline - virtual unsigned long long getEarliestTime(){ return LONG_MAX; }; - virtual unsigned long long getLatestTime(){ return 0; }; - virtual unsigned long long getEarliestSelectedTime(){ return LONG_MAX; }; - virtual unsigned long long getLatestSelectedTime(){ return 0; }; + virtual unsigned long getEarliestTime(){ return LONG_MAX; }; + virtual unsigned long getLatestTime(){ return 0; }; + virtual unsigned long getEarliestSelectedTime(){ return LONG_MAX; }; + virtual unsigned long getLatestSelectedTime(){ return 0; }; //returns the number of selected items //this used to determine two things: @@ -155,7 +155,7 @@ virtual void clear(){}; //add any points (in screenspace x) that should be snapped to - virtual void getSnappingPoints(std::set& points){}; + virtual void getSnappingPoints(std::set& points){}; ofxTimeline* getTimeline(); //set by the timeline it's self, no need to call this yourself @@ -209,8 +209,8 @@ bool createdByTimeline; //will be our internal time when playing solo, otherwise timeline time - unsigned long long playbackStartTime; - unsigned long long currentTime; + unsigned long playbackStartTime; + unsigned long currentTime; bool isPlaying; void checkLoop(); diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLVideoTrack.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLVideoTrack.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLVideoTrack.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLVideoTrack.cpp 2013-02-03 00:29:07.000000000 +0000 @@ -41,20 +41,14 @@ outFrame = -1; currentlyPlaying = false; drawVideoPreview = true; - playAlongToTimeline = true; - isSetup = false; } ofxTLVideoTrack::~ofxTLVideoTrack(){ - if(isSetup){ - disable(); - ofRemoveListener(ofEvents().exit, this, &ofxTLVideoTrack::exit); - } + } void ofxTLVideoTrack::setup(){ ofxTLImageTrack::setup(); - isSetup = true; ofAddListener(ofEvents().exit, this, &ofxTLVideoTrack::exit); startThread(); } @@ -109,10 +103,6 @@ } void ofxTLVideoTrack::stop(){ - if(!isLoaded()){ - return; - } - player->setSpeed(0); if(isLoaded() && getIsPlaying()){ // cout << "stopping playback" << endl; @@ -136,15 +126,6 @@ return isLoaded() && currentlyPlaying; } - -void ofxTLVideoTrack::setPlayAlongToTimeline(bool playAlong){ - this->playAlongToTimeline = playAlong; -} - -bool ofxTLVideoTrack::getPlayAlongToTimeline(){ - return playAlongToTimeline; -} - //void ofxTLVideoTrack::update(ofEventArgs& args){ void ofxTLVideoTrack::update(){ @@ -184,9 +165,7 @@ else { int loopFrame = timeline->getInFrame(); selectFrame(loopFrame); - if(playAlongToTimeline){ - player->play(); - } + player->play(); ofxTLPlaybackEventArgs args = timeline->createPlaybackEvent(); ofNotifyEvent(events().playbackLooped, args); } @@ -221,7 +200,7 @@ void ofxTLVideoTrack::playheadScrubbed(ofxTLPlaybackEventArgs& args){ - if(isLoaded() && !currentlyPlaying && playAlongToTimeline){ + if(isLoaded() && !currentlyPlaying){ selectFrame(args.currentFrame); // cout << "after scrub timeline time is " << timeline->getCurrentTime() << " frame is " << timeline->getCurrentFrame() << " and percent is " << timeline->getPercentComplete() << endl; // cout << "while video is " << player->getPosition()*player->getDuration() << " frame is " << player->getCurrentFrame() << " and percent is " << player->getPosition() << endl; @@ -237,20 +216,21 @@ void ofxTLVideoTrack::playbackStarted(ofxTLPlaybackEventArgs& args){ ofxTLTrack::playbackStarted(args); - if(isLoaded() && this != timeline->getTimecontrolTrack() && playAlongToTimeline){ + if(isLoaded() && this != timeline->getTimecontrolTrack()){ //player.setPosition(timeline->getPercentComplete()); float position = positionForSecond(timeline->getCurrentTime()); if(position < 1.0){ - player->setSpeed(1.0); + player->setSpeed(1.0); player->play(); currentlyPlaying = true; + //play(); } player->setPosition( position ); } } void ofxTLVideoTrack::playbackLooped(ofxTLPlaybackEventArgs& args){ - if(isLoaded() && this != timeline->getTimecontrolTrack() && playAlongToTimeline){ + if(isLoaded() && this != timeline->getTimecontrolTrack()){ if(!player->isPlaying()){ player->play(); } @@ -259,7 +239,7 @@ } void ofxTLVideoTrack::playbackEnded(ofxTLPlaybackEventArgs& args){ - if(isLoaded() && this != timeline->getTimecontrolTrack() && playAlongToTimeline){ + if(isLoaded() && this != timeline->getTimecontrolTrack()){ player->stop(); } } @@ -546,17 +526,13 @@ return player->getPosition() * player->getDuration(); } -float ofxTLVideoTrack::getDuration(){ - return player->getDuration(); -} - int ofxTLVideoTrack::getSelectedFrame(){ return selectedFrame + currentLoop * (outFrame-inFrame); } void ofxTLVideoTrack::exit(ofEventArgs& args){ -// stopThread(); - waitForThread(true); + stopThread(); +// waitForThread(true); } string ofxTLVideoTrack::getTrackType(){ diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLVideoTrack.h duration-0.0.3/addons/ofxTimeline/src/ofxTLVideoTrack.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTLVideoTrack.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLVideoTrack.h 2013-02-03 00:29:07.000000000 +0000 @@ -69,11 +69,10 @@ int getSelectedFrame(); int getCurrentFrame(); float getCurrentTime(); - float getDuration(); void setDrawVideoPreview(bool drawPreview); bool getDrawVideoPreview(); - + bool isLoaded(); int selectFrame(int frame); //returns the true selected frame in video void toggleThumbs(); @@ -86,12 +85,7 @@ virtual void play(); virtual void stop(); virtual bool getIsPlaying(); - - - //plays when timeline is played - void setPlayAlongToTimeline(bool playAlong); - bool getPlayAlongToTimeline(); - + virtual string getTrackType(); protected: @@ -99,8 +93,8 @@ int selectedFrame; int currentLoop; - bool isSetup; - +// bool thumbsEnabled; + int inFrame; int outFrame; @@ -108,8 +102,6 @@ bool canCalculateThumbs(); bool currentlyPlaying; - bool playAlongToTimeline; - //width and height of image elements float getContentWidth(); float getContentHeight(); @@ -125,4 +117,4 @@ void threadedFunction(); void exit(ofEventArgs& args); -}; +}; \ No newline at end of file diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTLZoomer.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTLZoomer.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTLZoomer.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTLZoomer.cpp 2012-11-28 02:59:28.000000000 +0000 @@ -105,7 +105,7 @@ ofxXmlSettings settings; if(!settings.loadFile(xmlFileName)){ - ofLog(OF_LOG_VERBOSE, "ofxTLZoomer -- couldn't load zoom settings file " + xmlFileName); + ofLog(OF_LOG_NOTICE, "ofxTLZoomer -- couldn't load zoom settings file " + xmlFileName); currentViewRange = ofRange(0., 1.0); return; } diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTimeline.cpp duration-0.0.3/addons/ofxTimeline/src/ofxTimeline.cpp --- duration-0.0.4/addons/ofxTimeline/src/ofxTimeline.cpp 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTimeline.cpp 2013-02-03 00:29:07.000000000 +0000 @@ -73,10 +73,6 @@ inoutRange(ofRange(0.0,1.0)), currentPage(NULL), modalTrack(NULL), - tabs(NULL), - inoutTrack(NULL), - ticker(NULL), - zoomer(NULL), timeControl(NULL), loopType(OF_LOOP_NONE), lockWidthToWindow(true), @@ -88,7 +84,7 @@ curvesUseBinary(false), headersAreEditable(false), minimalHeaders(false), - //copy from ofxTimeline/assets into bin/data/ + //copy from ofxTimeline/assets into bin/data/ defaultPalettePath("GUI/defaultColorPalette.png"), //TODO: should be able to use bitmap font if need be fontPath("GUI/NewMedia Fett.ttf"), @@ -99,9 +95,7 @@ ofxTimeline::~ofxTimeline(){ if(isSetup){ - - disable(); - + ofRemoveListener(timelineEvents.viewWasResized, this, &ofxTimeline::viewWasResized); ofRemoveListener(timelineEvents.pageChanged, this, &ofxTimeline::pageChanged); //TODO: move to shared pointers @@ -109,47 +103,34 @@ //there is no copy/assignment constructor reset(); - delete tabs; - delete inoutTrack; delete ticker; + delete tabs; delete zoomer; } } void ofxTimeline::setup(){ - //TODO: error if isSetup... - isSetup = true; width = ofGetWidth(); - if(tabs != NULL){ - delete tabs; - } + tabs = new ofxTLPageTabs(); tabs->setTimeline(this); tabs->setup(); tabs->setDrawRect(ofRectangle(offset.x, offset.y, width, TAB_HEIGHT)); - if(inoutTrack != NULL){ - delete inoutTrack; - } inoutTrack = new ofxTLInOut(); inoutTrack->setTimeline(this); inoutTrack->setDrawRect(ofRectangle(offset.x, tabs->getBottomEdge(), width, INOUT_HEIGHT)); - if(ticker != NULL){ - delete ticker; - } ticker = new ofxTLTicker(); ticker->setTimeline(this); //TODO: save ticker playhead position ticker->setup(); ticker->setDrawRect(ofRectangle(offset.x, inoutTrack->getBottomEdge(), width, TICKER_HEIGHT)); - if(zoomer != NULL){ - delete zoomer; - } + zoomer = new ofxTLZoomer(); zoomer->setTimeline(this); zoomer->setDrawRect(ofRectangle(offset.y, ticker->getBottomEdge(), width, ZOOMER_HEIGHT)); @@ -196,29 +177,16 @@ void ofxTimeline::setName(string newName){ if(newName != name){ - string oldName = name; + name = newName; if(isSetup){ -// setupStandardElements(); - string inoutTrackName = inoutTrack->getXMLFileName(); - ofStringReplace(inoutTrackName, oldName+"_", newName+"_"); - inoutTrack->setXMLFileName(inoutTrackName); - - string zoomerTrackName = zoomer->getXMLFileName(); - ofStringReplace(zoomerTrackName, oldName+"_", newName+"_"); - zoomer->setXMLFileName(zoomerTrackName); - - for(int i = 0; i < pages.size(); i++){ - pages[i]->timelineChangedName(newName, oldName); - } + setupStandardElements(); } } } void ofxTimeline::setupStandardElements(){ -// cout << "*****TL setting up standard path " << ofToDataPath(workingFolder + name + "_inout.xml") << endl; - inoutTrack->setXMLFileName( ofToDataPath(workingFolder + name + "_inout.xml") ); inoutTrack->setup(); @@ -233,11 +201,11 @@ } void ofxTimeline::setWorkingFolder(string folderPath){ - workingFolder = ofFilePath::addTrailingSlash(folderPath); - - if(isSetup){ - setupStandardElements(); - } + workingFolder = folderPath = ofFilePath::addTrailingSlash(folderPath); + inoutTrack->setXMLFileName( ofToDataPath(workingFolder + name + "_inout.xml") ); + inoutTrack->load(); + zoomer->setXMLFileName( ofToDataPath(workingFolder + name + "_zoomer.xml") ); + zoomer->load(); } string ofxTimeline::getWorkingFolder(){ @@ -248,30 +216,6 @@ for(int i = 0; i < pages.size(); i++){ pages[i]->loadTracksFromFolder(folderPath); } - -// cout << "*****TL " << name << " Loading tracks from " << folderPath << endl; - - setWorkingFolder(folderPath); -} - -void ofxTimeline::saveTracksToFolder(string folderPath){ - - ofDirectory targetDirectory = ofDirectory(folderPath); - if(!targetDirectory.exists()){ - targetDirectory.create(true); - } - for(int i = 0; i < pages.size(); i++){ - pages[i]->saveTracksToFolder(folderPath); - } - string filename = folderPath + zoomer->getXMLFileName(); - zoomer->setXMLFileName(filename); - zoomer->save(); - - filename = folderPath + inoutTrack->getXMLFileName(); - inoutTrack->setXMLFileName(filename); - inoutTrack->save(); - - setWorkingFolder(folderPath); } #pragma mark CONFIGURATION @@ -567,10 +511,8 @@ isPlaying = false; - if(!ticker->getIsScrubbing()){ //dont trigger event if we are just scrubbing - ofxTLPlaybackEventArgs args = createPlaybackEvent(); - ofNotifyEvent(timelineEvents.playbackEnded, args); - } + ofxTLPlaybackEventArgs args = createPlaybackEvent(); + ofNotifyEvent(timelineEvents.playbackEnded, args); } } @@ -606,7 +548,7 @@ return getIsPlaying(); } -bool ofxTimeline::getSpacebarTogglesPlay(){ +bool ofxTimeline::getSacebarTogglesPlay(){ return spacebarTogglesPlay; } @@ -618,7 +560,7 @@ return timeControl != NULL ? timeControl->getIsPlaying() : isPlaying; } -void ofxTimeline::setHoverTime(unsigned long long millisTime){ +void ofxTimeline::setHoverTime(unsigned long millisTime){ ticker->setHoverTime(millisTime); } @@ -638,7 +580,7 @@ currentTime = time; } -void ofxTimeline::setCurrentTimeMillis(unsigned long long millis){ +void ofxTimeline::setCurrentTimeMillis(unsigned long millis){ setCurrentTimeSeconds(millis/1000.); } @@ -674,10 +616,10 @@ return timecode.timecodeForSeconds(currentTime); } -long ofxTimeline::getQuantizedTime(unsigned long long time, unsigned long long step){ +long ofxTimeline::getQuantizedTime(unsigned long time, unsigned long step){ double oneMeasure = 1000/(getBPM()/240.); // in milliseconds step = oneMeasure / step; // convert step to milliseconds - unsigned long long base = time / step; + unsigned long base = time / step; base = time % step > (step * 0.5) ? base + 1 : base; // round up or down return base * step; } @@ -694,7 +636,7 @@ void ofxTimeline::setInPointAtFrame(int frame){ setInPointAtPercent(timecode.secondsForFrame(frame) / durationInSeconds); } -void ofxTimeline::setInPointAtMillis(unsigned long long millis){ +void ofxTimeline::setInPointAtMillis(unsigned long millis){ setInPointAtPercent(millis / (1000. * durationInSeconds) ); } void ofxTimeline::setInPointAtTimecode(string timecodeString){ @@ -713,7 +655,7 @@ void ofxTimeline::setOutPointAtSeconds(float time){ setOutPointAtPercent(time/durationInSeconds); } -void ofxTimeline::setOutPointAtMillis(unsigned long long millis){ +void ofxTimeline::setOutPointAtMillis(unsigned long millis){ setOutPointAtPercent(millis / (1000. * durationInSeconds) ); } void ofxTimeline::setOutPointAtTimecode(string timecodeString){ @@ -725,7 +667,7 @@ inoutRange = inoutPercentRange; } -void ofxTimeline::setInOutRangeMillis(unsigned long long min, unsigned long long max){ +void ofxTimeline::setInOutRangeMillis(unsigned long min, unsigned long max){ inoutRange = ofRange(min / (durationInSeconds*1000.), max / (durationInSeconds*1000.) ); // cout << "new range is " << inoutRange << endl; @@ -784,12 +726,7 @@ } bool ofxTimeline::toggleEnabled(){ - if(isEnabled){ - disable(); - } - else{ - enable(); - } + isEnabled = !isEnabled; return isEnabled; } @@ -808,10 +745,6 @@ } } -bool ofxTimeline::getIsEnabled(){ - return isEnabled; -} - //clears every element //TODO how should this work with Undo?? void ofxTimeline::clear(){ @@ -821,26 +754,16 @@ } void ofxTimeline::reset(){ //gets rid of everything - - if(!isSetup){ - return; - } - - - if(isOnThread){ waitForThread(true); } - - disable(); + stop(); undoStack.clear(); for(int i = 0; i < pages.size(); i++){ delete pages[i]; } - if(tabs != NULL){ - tabs->clear(); - } - + + tabs->clear(); setInOutRange(ofRange(0,1.0)); pages.clear(); trackNameToPage.clear(); @@ -848,14 +771,9 @@ modalTrack = NULL; timeControl = NULL; addPage("Page One", true); -// if(isOnThread){ -// startThread(); -// } - - ofRemoveListener(ofEvents().update, this, &ofxTimeline::update); -// ofRemoveListener(ofEvents().windowResized, this, &ofxTimeline::windowResized); - - isSetup = false; + if(isOnThread){ + startThread(); + } } @@ -864,32 +782,16 @@ } void ofxTimeline::setDurationInSeconds(float seconds){ - - bool updateInTime = inoutRange.min > 0.; - bool updateOutTime = inoutRange.max < 1.; - - float inTimeSeconds = getInTimeInSeconds(); - float outTimeSeconds = getOutTimeInSeconds(); - - if(seconds <= 0.){ - ofLogError("ofxTimeline::setDurationInSeconds") << " Duration must set a positive number"; + //TODO: verify no elements are being truncated + if(seconds <= 0.){ + ofLogError("ofxTimeline::setDurationInSeconds") << " duraiton must set a positive number"; return; } - //verify no elements are being truncated - durationInSeconds = MAX(seconds, getLatestTime()/1000.0); - - - if(updateInTime){ - setInPointAtSeconds(inTimeSeconds); - } - if(updateOutTime){ - setOutPointAtSeconds(outTimeSeconds); - } - + durationInSeconds = seconds; zoomer->setViewRange(zoomer->getSelectedRange()); } -void ofxTimeline::setDurationInMillis(unsigned long long millis){ +void ofxTimeline::setDurationInMillis(unsigned long millis){ setDurationInSeconds(millis/1000.); } @@ -1509,6 +1411,7 @@ } } +//void ofxTimeline::draw(ofEventArgs& args){ void ofxTimeline::draw(){ if(isSetup && isShowing){ @@ -1613,8 +1516,8 @@ return totalSelected; } -unsigned long long ofxTimeline::getEarliestTime(){ - unsigned long long earliestTime = LONG_MAX; +unsigned long ofxTimeline::getEarliestTime(){ + unsigned long earliestTime = LONG_MAX; for(int i = 0; i < pages.size(); i++){ for(int t = 0; t < pages[i]->getTracks().size(); t++){ earliestTime = MIN(earliestTime,pages[i]->getTracks()[t]->getEarliestTime()); @@ -1623,8 +1526,8 @@ return earliestTime; } -unsigned long long ofxTimeline::getLatestTime(){ - unsigned long long latestTime = 0; +unsigned long ofxTimeline::getLatestTime(){ + unsigned long latestTime = 0; for(int i = 0; i < pages.size(); i++){ for(int t = 0; t < pages[i]->getTracks().size(); t++){ latestTime = MAX(latestTime,pages[i]->getTracks()[t]->getLatestTime()); @@ -1633,8 +1536,8 @@ return latestTime; } -unsigned long long ofxTimeline::getEarliestSelectedTime(){ - unsigned long long earliestTime = LONG_MAX; +unsigned long ofxTimeline::getEarliestSelectedTime(){ + unsigned long earliestTime = LONG_MAX; for(int i = 0; i < pages.size(); i++){ for(int t = 0; t < pages[i]->getTracks().size(); t++){ earliestTime = MIN(earliestTime,pages[i]->getTracks()[t]->getEarliestSelectedTime()); @@ -1643,8 +1546,8 @@ return earliestTime; } -unsigned long long ofxTimeline::getLatestSelectedTime(){ - unsigned long long latestTime = 0; +unsigned long ofxTimeline::getLatestSelectedTime(){ + unsigned long latestTime = 0; for(int i = 0; i < pages.size(); i++){ for(int t = 0; t < pages[i]->getTracks().size(); t++){ latestTime = MAX(latestTime,pages[i]->getTracks()[t]->getLatestSelectedTime()); @@ -1662,10 +1565,6 @@ return modalTrack; } -void ofxTimeline::setTimecontrolTrack(string trackName){ - setTimecontrolTrack(getTrack(trackName)); -} - void ofxTimeline::setTimecontrolTrack(ofxTLTrack* track){ timeControl = track; } @@ -1681,7 +1580,7 @@ //can be used to add custom elements void ofxTimeline::addTrack(string trackName, ofxTLTrack* track){ if(trackNameToPage[trackName] != NULL){ - ofLogError("ofxTimeline::addTrack") << " Adding duplicate track name " << trackName; + ofLogError("ofxTimeline::addTrack") << " Adding dupliciate track name " << trackName; } track->setTimeline( this ); track->setName( trackName ); @@ -1756,15 +1655,6 @@ return trackNameToPage.find(trackName) != trackNameToPage.end(); } -bool ofxTimeline::hasPage(string pageName){ - for(vector::iterator it = pages.begin(); it != pages.end(); it++){ - if((*it)->getName() == pageName){ - return true; - } - } - return false; -} - ofxTLTrack* ofxTimeline::getTrack(string trackName){ if(!hasTrack(trackName)){ ofLogError("ofxTimeline -- Couldn't find track " + trackName); @@ -1773,19 +1663,6 @@ return trackNameToPage[trackName]->getTrack(trackName); } -ofxTLPage* ofxTimeline::getPage(string pageName){ - - for(vector::iterator it = pages.begin(); it != pages.end(); it++){ - if((*it)->getName() == pageName){ - return (*it); - } - } - - ofLogError("ofxTimeline -- Couldn't find page " + pageName); - return NULL; -} - - ofxTLSwitches* ofxTimeline::addSwitches(string trackName){ string uniqueName = confirmedUniqueName(trackName); return addSwitches(uniqueName, nameToXMLName(uniqueName)); @@ -1904,7 +1781,7 @@ return getColorAtMillis(trackName, second*1000); } -ofColor ofxTimeline::getColorAtMillis(string trackName, unsigned long long millis){ +ofColor ofxTimeline::getColorAtMillis(string trackName, unsigned long millis){ if(!hasTrack(trackName)){ ofLogError("ofxTimeline -- Couldn't find color track " + trackName); return ofColor(0,0,0); @@ -1986,35 +1863,10 @@ } return track->getPlayer(); } -#ifdef TIMELINE_AUDIO_INCLUDED -ofxTLAudioTrack* ofxTimeline::addAudioTrack(string trackName){ - return addAudioTrack(trackName, ""); -} - -ofxTLAudioTrack* ofxTimeline::addAudioTrackWithPath(string audioPath){ - return addAudioTrack("audio", audioPath); -} - -ofxTLAudioTrack* ofxTimeline::addAudioTrack(string trackName, string audioPath){ - ofxTLAudioTrack* audioTrack = new ofxTLAudioTrack(); - audioTrack->setCreatedByTimeline(true); - addTrack(confirmedUniqueName(trackName), audioTrack); - if(audioPath != ""){ - if(!audioTrack->loadSoundfile(audioPath)){ - ofLogError("ofxTimeline::addAudioTrack -- audio file " + audioPath + " failed to load. Use only WAV and AIFF files"); - } - } - return audioTrack; -} - -ofxTLAudioTrack* ofxTimeline::getAudioTrack(string audioTrackName){ - return (ofxTLAudioTrack*)getTrack(audioTrackName); -} ofxTLTrackHeader* ofxTimeline::getTrackHeader(string trackName){ return getTrackHeader(getTrack(name)); } -#endif ofxTLTrackHeader* ofxTimeline::getTrackHeader(ofxTLTrack* track){ return trackNameToPage[track->getName()]->getTrackHeader(track); @@ -2097,7 +1949,7 @@ return timecode.timecodeForSeconds(seconds); } -string ofxTimeline::formatTime(unsigned long long millis){ +string ofxTimeline::formatTime(unsigned long millis){ return timecode.timecodeForMillis(millis); } @@ -2120,7 +1972,9 @@ return uniqueName; } -void ofxTimeline::setDragTimeOffset(unsigned long long millisecondOffset){ + + +void ofxTimeline::setDragTimeOffset(unsigned long millisecondOffset){ dragMillsecondOffset = millisecondOffset; diff -Nru duration-0.0.4/addons/ofxTimeline/src/ofxTimeline.h duration-0.0.3/addons/ofxTimeline/src/ofxTimeline.h --- duration-0.0.4/addons/ofxTimeline/src/ofxTimeline.h 2013-12-27 13:39:56.000000000 +0000 +++ duration-0.0.3/addons/ofxTimeline/src/ofxTimeline.h 2013-02-03 00:29:07.000000000 +0000 @@ -66,12 +66,9 @@ #include "ofxTLSwitches.h" #include "ofxTLColorTrack.h" #include "ofxTLImageSequence.h" +#include "ofxTLVideoTrack.h" #include "ofxTLColors.h" #include "ofxTLLFO.h" -#include "ofxTLVideoTrack.h" -#ifdef TIMELINE_AUDIO_INCLUDED -#include "ofxTLAudioTrack.h" -#endif typedef struct { ofxTLTrack* track; @@ -98,13 +95,9 @@ virtual void removeFromThread(); bool toggleEnabled(); - void enable(); - void disable(); - bool getIsEnabled(); - - void enableEvents(); - void disableEvents(); - + virtual void enable(); + virtual void disable(); + virtual void clear(); //clears every track virtual void reset(); //gets rid of everything, sets back to one page @@ -119,7 +112,7 @@ virtual bool togglePlay(); virtual bool getIsPlaying(); - virtual bool getSpacebarTogglesPlay(); + virtual bool getSacebarTogglesPlay(); virtual void setSpacebarTogglePlay(bool spacebarPlays); virtual void playSelectedTrack(); @@ -157,15 +150,13 @@ //loads calls load on all tracks from the given folder //really useful for setting up 'project' directories - void loadTracksFromFolder(string folderPath); - void saveTracksToFolder(string folderPath); - - + virtual void loadTracksFromFolder(string folderPath); + //timing setup functions void setFrameRate(float fps); void setDurationInFrames(int frames); void setDurationInSeconds(float seconds); - void setDurationInMillis(unsigned long long millis); + void setDurationInMillis(unsigned long millis); void setDurationInTimecode(string timecode); int getDurationInFrames(); @@ -188,7 +179,7 @@ virtual void setCurrentFrame(int currentFrame); virtual void setCurrentTimeSeconds(float time); - virtual void setCurrentTimeMillis(unsigned long long millis); + virtual void setCurrentTimeMillis(unsigned long millis); virtual void setPercentComplete(float percent); virtual void setCurrentTimecode(string timecodeString); @@ -200,7 +191,7 @@ virtual long getCurrentTimeMillis(); virtual float getPercentComplete(); virtual string getCurrentTimecode(); - virtual long getQuantizedTime(unsigned long long time, unsigned long long step); + virtual long getQuantizedTime(unsigned long time, unsigned long step); //internal tracks call this when the value has changed slightly //so that views can know if they need to update @@ -215,14 +206,14 @@ virtual void setInPointAtPercent(float percent); void setInPointAtFrame(int frame); void setInPointAtSeconds(float time); - void setInPointAtMillis(unsigned long long millis); + void setInPointAtMillis(unsigned long millis); void setInPointAtTimecode(string timecode); void setInPointAtPlayhead(); virtual void setOutPointAtPercent(float percent); void setOutPointAtFrame(float frame); void setOutPointAtSeconds(float time); - void setOutPointAtMillis(unsigned long long millis); + void setOutPointAtMillis(unsigned long millis); void setOutPointAtTimecode(string timecode); void setOutPointAtPlayhead(); @@ -237,7 +228,7 @@ virtual bool areFootersHidden(); virtual void setInOutRange(ofRange inoutPercentRange); - virtual void setInOutRangeMillis(unsigned long long min, unsigned long long max); + virtual void setInOutRangeMillis(unsigned long min, unsigned long max); virtual void clearInOut(); ofRange getInOutRange(); @@ -320,18 +311,15 @@ // if 2 or more is selected, it just trigger an unselect all before // create any new items int getTotalSelectedItems(); - unsigned long long getEarliestTime(); - unsigned long long getLatestTime(); - unsigned long long getEarliestSelectedTime(); - unsigned long long getLatestSelectedTime(); + unsigned long getEarliestTime(); + unsigned long getLatestTime(); + unsigned long getEarliestSelectedTime(); + unsigned long getLatestSelectedTime(); bool hasTrack(string trackName); - bool hasPage(string pageName); - //type can be //Bangs, Switches, Flags, Colors, Curves, Audio or Video ofxTLTrack* getTrack(string name); - ofxTLPage* getPage(string pageName); //adding tracks always adds to the current page ofxTLCurves* addCurves(string name, ofRange valueRange = ofRange(0,1.0), float defaultValue = 0); @@ -367,7 +355,7 @@ ofColor getColor(string name); ofColor getColorAtPercent(string name, float percent); ofColor getColorAtSecond(string name, float second); - ofColor getColorAtMillis(string name, unsigned long long millis); + ofColor getColorAtMillis(string name, unsigned long millis); string getDefaultColorPalettePath(); //TODO: remove image sequence from the core? ... or fix it up. @@ -379,24 +367,15 @@ ofImage* getImage(string name, int atFrame); //*IMAGE SEQUENCE DOES NOT WORK* - ofxTLVideoTrack* addVideoTrack(string name); + ofxTLVideoTrack* addVideoTrack(string trackName); ofxTLVideoTrack* addVideoTrackWithPath(string videoPath); ofxTLVideoTrack* addVideoTrack(string name, string videoPath); ofxTLVideoTrack* getVideoTrack(string videoTrackName); ofPtr getVideoPlayer(string videoTrackName); - #ifdef TIMELINE_AUDIO_INCLUDED - //Audio tracks only work with PCM Wav or Aiff file - ofxTLAudioTrack* addAudioTrack(string trackName); - ofxTLAudioTrack* addAudioTrackWithPath(string audioPath); - ofxTLAudioTrack* addAudioTrack(string name, string audioPath); - ofxTLAudioTrack* getAudioTrack(string audioTrackName); - #endif - //used for audio and video. //we punt to the track to control time. //this can be a video or audio track - void setTimecontrolTrack(string trackName); void setTimecontrolTrack(ofxTLTrack* track); ofxTLTrack* getTimecontrolTrack(); @@ -436,13 +415,13 @@ //and the mouse. //TLTracks should call this on mousedown if one of their tracks is //should be snapped directly to snap lines - void setDragTimeOffset(unsigned long long millisecondOffset); + void setDragTimeOffset(unsigned long millisecondOffset); void cancelSnapping(); long getDragTimeOffset(); - void setHoverTime(unsigned long long millisTime); + void setHoverTime(unsigned long millisTime); string formatTime(float seconds); - string formatTime(unsigned long long millis); + string formatTime(unsigned long millis); string nameToXMLName(string name); string confirmedUniqueName(string name); @@ -539,6 +518,8 @@ virtual void checkLoop(); virtual void checkEvents(); + virtual void enableEvents(); + virtual void disableEvents(); virtual void viewWasResized(ofEventArgs& args); virtual void pageChanged(ofxTLPageEventArgs& args); Binary files /tmp/eIZc9kpHZz/duration-0.0.4/apps/Duration/Duration/Duration.icns and /tmp/QLVMTSwiuM/duration-0.0.3/apps/Duration/Duration/Duration.icns differ Binary files /tmp/eIZc9kpHZz/duration-0.0.4/apps/Duration/Duration/Duration.ico and /tmp/QLVMTSwiuM/duration-0.0.3/apps/Duration/Duration/Duration.ico differ diff -Nru duration-0.0.4/apps/Duration/Duration/Duration.rc duration-0.0.3/apps/Duration/Duration/Duration.rc --- duration-0.0.4/apps/Duration/Duration/Duration.rc 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/Duration/Duration.rc 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ - #include "src/Resources.h" - - IDI_MAIN_ICON ICON "Duration.ico" - GLUT_ICON ICON "Duration.ico" - IDI_ICON_BIG ICON "Duration.ico" - IDI_ICON_SMALL ICON "Duration.ico" \ No newline at end of file diff -Nru duration-0.0.4/apps/Duration/Duration/Duration.sln duration-0.0.3/apps/Duration/Duration/Duration.sln --- duration-0.0.4/apps/Duration/Duration/Duration.sln 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/Duration/Duration.sln 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Duration", "Duration.vcxproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openframeworksLib", "..\..\..\libs\openFrameworksCompiled\project\vs2010\openframeworksLib.vcxproj", "{5837595D-ACA9-485C-8E76-729040CE4B0B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.ActiveCfg = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.Build.0 = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.ActiveCfg = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff -Nru duration-0.0.4/apps/Duration/Duration/Duration.vcxproj duration-0.0.3/apps/Duration/Duration/Duration.vcxproj --- duration-0.0.4/apps/Duration/Duration/Duration.vcxproj 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/Duration/Duration.vcxproj 1970-01-01 00:00:00.000000000 +0000 @@ -1,340 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {7FD42DF7-442E-479A-BA76-D0022F99702A} - Duration - Win32Proj - - - - Application - Unicode - true - - - Application - Unicode - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - bin\ - obj\$(Configuration)\ - true - true - bin\ - obj\$(Configuration)\ - false - $(ProjectName)_debug - $(ProjectName) - - - - Disabled - true - EnableFastChecks - MultiThreadedDebugDLL - - Level3 - EditAndContinue - %(AdditionalIncludeDirectories);src;..\..\..\addons\ofxFTGL\libs;..\..\..\addons\ofxFTGL\src;..\..\..\addons\ofxFTGL\libs\FTGL;..\..\..\addons\ofxFTGL\libs\FTGL\include;..\..\..\addons\ofxFTGL\libs\FTGL\include\FTGL;..\..\..\addons\ofxFTGL\libs\FTGL\lib;..\..\..\addons\ofxFTGL\libs\FTGL\lib\vs2010;..\..\..\addons\ofxLocalization\libs;..\..\..\addons\ofxLocalization\src;..\..\..\addons\ofxMSATimer\libs;..\..\..\addons\ofxMSATimer\src;..\..\..\addons\ofxOsc\libs;..\..\..\addons\ofxOsc\src;..\..\..\addons\ofxOsc\libs\oscpack;..\..\..\addons\ofxOsc\libs\oscpack\src;..\..\..\addons\ofxOsc\libs\oscpack\src\ip;..\..\..\addons\ofxOsc\libs\oscpack\src\ip\posix;..\..\..\addons\ofxOsc\libs\oscpack\src\ip\win32;..\..\..\addons\ofxOsc\libs\oscpack\src\osc;..\..\..\addons\ofxRange\libs;..\..\..\addons\ofxRange\src;..\..\..\addons\ofxTextInputField\libs;..\..\..\addons\ofxTextInputField\src;..\..\..\addons\ofxTimecode\libs;..\..\..\addons\ofxTimecode\src;..\..\..\addons\ofxTimeline\src;..\..\..\addons\ofxTween\libs;..\..\..\addons\ofxTween\src;..\..\..\addons\ofxTween\src\Easings;..\..\..\addons\ofxUI\libs;..\..\..\addons\ofxUI\src;..\..\..\addons\ofxXmlSettings\libs;..\..\..\addons\ofxXmlSettings\src - - - $(OutDir)$(TargetName)$(TargetExt) - true - $(TargetDir)$(TargetName)_debugInfo.pdb - Console - false - - MachineX86 - %(AdditionalDependencies);ftgl_static.lib - %(AdditionalLibraryDirectories);..\..\..\addons\ofxFTGL\libs\FTGL\lib\vs2010 - - - - xcopy /e /i /y "$(ProjectDir)..\..\..\export\vs2010\*.dll" "$(ProjectDir)bin" & xcopy /e /i /y "$(ProjectDir)..\..\..\addons\ofxTimeline\libs\sndfile\redist\*.dll" "$(ProjectDir)bin" - - - - - false - %(PreprocessorDefinitions) - MultiThreadedDLL - - Level3 - - %(AdditionalIncludeDirectories);src;..\..\..\addons\ofxFTGL\libs;..\..\..\addons\ofxFTGL\src;..\..\..\addons\ofxFTGL\libs\FTGL;..\..\..\addons\ofxFTGL\libs\FTGL\include;..\..\..\addons\ofxFTGL\libs\FTGL\include\FTGL;..\..\..\addons\ofxFTGL\libs\FTGL\lib;..\..\..\addons\ofxFTGL\libs\FTGL\lib\vs2010;..\..\..\addons\ofxLocalization\libs;..\..\..\addons\ofxLocalization\src;..\..\..\addons\ofxMSATimer\libs;..\..\..\addons\ofxMSATimer\src;..\..\..\addons\ofxOsc\libs;..\..\..\addons\ofxOsc\src;..\..\..\addons\ofxOsc\libs\oscpack;..\..\..\addons\ofxOsc\libs\oscpack\src;..\..\..\addons\ofxOsc\libs\oscpack\src\ip;..\..\..\addons\ofxOsc\libs\oscpack\src\ip\posix;..\..\..\addons\ofxOsc\libs\oscpack\src\ip\win32;..\..\..\addons\ofxOsc\libs\oscpack\src\osc;..\..\..\addons\ofxRange\libs;..\..\..\addons\ofxRange\src;..\..\..\addons\ofxTextInputField\libs;..\..\..\addons\ofxTextInputField\src;..\..\..\addons\ofxTimecode\libs;..\..\..\addons\ofxTimecode\src;..\..\..\addons\ofxTimeline\src;..\..\..\addons\ofxTween\libs;..\..\..\addons\ofxTween\src;..\..\..\addons\ofxTween\src\Easings;..\..\..\addons\ofxUI\libs;..\..\..\addons\ofxUI\src;..\..\..\addons\ofxXmlSettings\libs;..\..\..\addons\ofxXmlSettings\src;..\..\..\addons\ofxTimeline\libs\kiss;..\..\..\addons\ofxTimeline\libs\kiss\src;..\..\..\addons\ofxTimeline\libs\kiss\include;..\..\..\addons\ofxTimeline\libs\ofOpenALSoundPlayer_TimelineAdditions\src;..\..\..\addons\ofxTimeline\libs\openal;..\..\..\addons\ofxTimeline\libs\openal\include;..\..\..\addons\ofxTimeline\libs\openal\libs;..\..\..\addons\ofxTimeline\libs\sndfile;..\..\..\addons\ofxTimeline\libs\sndfile\include - - - false - false - Windows - true - true - false - - MachineX86 - Default - %(AdditionalDependencies);ftgl_static.lib;OpenAL32.lib;libsndfile-1.lib - %(AdditionalLibraryDirectories);..\..\..\addons\ofxFTGL\libs\FTGL\lib\vs2010;..\..\..\addons\ofxTimeline\libs\openal\libs\vs2010;..\..\..\addons\ofxTimeline\libs\sndfile\lib\vs2010 - - - - - - xcopy /e /i /y "$(ProjectDir)..\..\..\export\vs2010\*.dll" "$(ProjectDir)bin" & xcopy /e /i /y "$(ProjectDir)..\..\..\addons\ofxTimeline\libs\sndfile\redist\*.dll" "$(ProjectDir)bin" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {5837595d-aca9-485c-8e76-729040ce4b0b} - - - - - - - - - - - \ No newline at end of file diff -Nru duration-0.0.4/apps/Duration/Duration/Duration.vcxproj.filters duration-0.0.3/apps/Duration/Duration/Duration.vcxproj.filters --- duration-0.0.4/apps/Duration/Duration/Duration.vcxproj.filters 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/Duration/Duration.vcxproj.filters 1970-01-01 00:00:00.000000000 +0000 @@ -1,797 +0,0 @@ - - - - - src - - - src - - - src - - - src - - - src - - - src - - - addons\ofxFTGL\src - - - addons\ofxLocalization\src - - - addons\ofxMSATimer\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip\posix - - - addons\ofxOsc\libs\oscpack\src\ip\posix - - - addons\ofxOsc\libs\oscpack\src\ip\win32 - - - addons\ofxOsc\libs\oscpack\src\ip\win32 - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxTextInputField\src - - - addons\ofxTimecode\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src - - - addons\ofxXmlSettings\src - - - addons\ofxXmlSettings\libs - - - addons\ofxXmlSettings\libs - - - addons\ofxXmlSettings\libs - - - addons\ofxTimeline\libs\ofOpenALSoundPlayer - - - addons\ofxTimeline\libs\kiss - - - addons\ofxTimeline\libs\kiss - - - addons\ofxTimeline\src - - - - - {d8376475-7454-4a24-b08a-aac121d3ad6f} - - - {71834f65-f3a9-211e-73b8-dc8563776aec} - - - {57563682-f5c8-32f7-8507-391bc1f1894f} - - - {dab99e66-bff9-d8fc-4903-714c828d436c} - - - {a27be0c5-eba8-b296-a7fc-2d5d0a2aca0c} - - - {a1802bb1-f112-3ed7-7aa3-2dc0935bd9fb} - - - {193cbacb-1aee-e0f8-a1b8-adc6019848e6} - - - {c73df1b7-81e5-1b03-29a4-6b8f3cd35731} - - - {24c83c2b-09ad-deb6-81fc-86bf00215e49} - - - {f48681dd-b9a4-9ae0-562f-429a7fb7340f} - - - {fa2c7f81-95ad-913a-95ee-6d674205f1e6} - - - {21227b69-34ba-dc94-65c0-e08097e60473} - - - {d91dca33-6e5d-4481-2aec-9fbb1b7355db} - - - {b9dd339a-d93d-92a1-0a2f-4b41d690f257} - - - {99eca1d9-873f-4622-8fc0-fc7b46b76347} - - - {d3a98534-1602-4fef-57a6-659374ee9b23} - - - {bfb5bb47-98c8-bbcb-3066-1046a8b06581} - - - {5a029128-eb41-95c5-cbc0-cded454d99e6} - - - {354c95cf-a234-0360-c6bc-af410d70c032} - - - {79dfdfe2-400b-8654-3675-01a3f46a2e7e} - - - {edacb89c-9768-9551-4d41-b59015925509} - - - {c5cf358f-f6d6-0f61-5433-25f14c446730} - - - {afee1af4-3be7-35e2-f89c-feb8f18a60fd} - - - {a4b02712-30e4-b504-c110-2c93e13629d3} - - - {b67afc83-af32-6fe3-281f-ac212c044641} - - - {1b5cd1f2-714c-1a5f-97d0-2f9712f8476a} - - - {1e8626d6-b6a0-d240-f534-c5e88dad08e8} - - - {b6cb78c7-bc44-ad08-8e43-896c4501b36d} - - - {ac132e01-0f0d-5ff9-8d64-8dada9b5aa38} - - - {8a8810e8-a79d-7a1d-2f0a-7203302f4656} - - - {40ac4b42-6a5a-9537-eb82-d1b80d647dfc} - - - {ef0f6a8b-b04f-e782-21ef-d4ba278d3ee5} - - - {b492c5b0-ff91-9c5a-638a-31420f9e8d66} - - - {a00c2d23-6c11-bc86-3993-2cf0e345f895} - - - {877f005d-13e6-0592-1d97-f2e39d804d43} - - - {ccb2ac63-49d2-977c-cfe8-aeadb8be6a99} - - - {687714a8-1662-fa1c-261f-50f068335398} - - - {a4a1d45d-4e59-48be-96d0-58fb960293c7} - - - {061403eb-4a1e-4564-a5d0-6ad985b58cc3} - - - {3dadc12c-647e-44f6-bf32-d70ff444bd78} - - - {3c1f09fb-2ae4-47b7-b00b-c845a8e57dd3} - - - {cbebcfa0-2003-416f-9e67-34a912883465} - - - - - src - - - src - - - src - - - src - - - addons\ofxFTGL\src - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxFTGL\libs\FTGL\include\FTGL - - - addons\ofxLocalization\src - - - addons\ofxMSATimer\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxRange\src - - - addons\ofxTextInputField\src - - - addons\ofxTimecode\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTimeline\src - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src\Easings - - - addons\ofxTween\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxXmlSettings\src - - - addons\ofxXmlSettings\libs - - - src - - - addons\ofxTimeline\libs\ofOpenALSoundPlayer - - - addons\ofxTimeline\libs\AL - - - addons\ofxTimeline\libs\AL - - - addons\ofxTimeline\libs\AL - - - addons\ofxTimeline\libs\AL - - - addons\ofxTimeline\libs\AL - - - addons\ofxTimeline\libs\AL - - - addons\ofxTimeline\libs\kiss - - - addons\ofxTimeline\libs\kiss - - - addons\ofxTimeline\libs\kiss - - - addons\ofxTimeline\libs\sndfile - - - addons\ofxTimeline\src - - - - - - - - addons\ofxTimeline\libs\sndfile - - - \ No newline at end of file diff -Nru duration-0.0.4/apps/Duration/Duration/Duration.vcxproj.user duration-0.0.3/apps/Duration/Duration/Duration.vcxproj.user --- duration-0.0.4/apps/Duration/Duration/Duration.vcxproj.user 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/Duration/Duration.vcxproj.user 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ - - - - $(TargetDir) - WindowsLocalDebugger - - - $(TargetDir) - WindowsLocalDebugger - - \ No newline at end of file diff -Nru duration-0.0.4/apps/Duration/Duration/Project.xcconfig duration-0.0.3/apps/Duration/Duration/Project.xcconfig --- duration-0.0.4/apps/Duration/Duration/Project.xcconfig 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/Duration/Project.xcconfig 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. -//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED -OF_PATH = ../../.. - -//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE -#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" - - -OTHER_LDFLAGS = $(OF_CORE_LIBS) -HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff -Nru duration-0.0.4/apps/Duration/Duration/bin/data/languageFile.csv duration-0.0.3/apps/Duration/Duration/bin/data/languageFile.csv --- duration-0.0.4/apps/Duration/Duration/bin/data/languageFile.csv 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/Duration/bin/data/languageFile.csv 2013-02-02 04:35:22.000000000 +0000 @@ -1,40 +1,39 @@ -KEY,ENGLISH,JAPANESE,FRENCH,ITALIAN,GERMAN -bangs,BANGS,バン,bangs,bangs,Schlag -flags,FLAGS,フラグ,flags,flags,Nachricht -switches,SWITCHES,スイッチ,switches,interruttori,Schalter -curves,CURVES,カーブ,courbes,curve,Kurve -colors,COLORS,カラー,couleurs,colori,Farbe -audio,AUDIO,オーディオ,audio,audio,Audio -lfo,LFO,LFO,lfo,lfo,LFO -bins,bins,bins,bins,bins,bins -new project...,new project...,新規プロジェクト,nouveau projet,nuovo progetto,neues Projekt -open project...,open project...,プロジェクトを開く,ouvrir projet,apri progetto,Projekt öffnen -BPM,BPM,BPM,BPM,BPM,BPM -OSC IN,OSC IN,OSC受信,OSC IN, OSC IN,OSC EIN -OSC OUT,OSC OUT,OSC送信,OSC OUT, OSC OUT,OSC OUT AUS -ADD TRACK,ADD TRACK,トラック追加,AJOUTER PISTE,AGGIUNGI TRACCIA,Spur hinzufügen -record,record,レコード,enregistrer,registra,Aufnahme -switch project,switch project,プロジェクトの切り替え,changer de projet,cambia progetto,Projekt wechseln -send osc,send osc,OSC送信,envoyer osc,invia osc,OSC senden -sure?,sure?,ok?,ok ?,ok ?,Sicher? -delete,delete,削除,supprimer,cancella,Entfernen -reset,reset,リセット,remettre,reset,Neustart -save,save,保存,save,salva,Speichern -play,play,再生,lecture,play,Start -pause,pause,一時停止,pause,pausa,Pause -edit duration,edit duration,プロジェクトの長さ,Èditer la durÈe,modifica durata,Dauer bearbeiten -current time,current time,再生位置の時間,temps,tempo, aktuelle Zeit -stop,stop,停止,stop,stop,Stop -toggle loop,toggle loop,ループ,mode loop,modo ripetizione,Loop umstellen -snap to measures,snap to measures,スナップ,ajuster par mesure,snap alla battuta,An Werten anheften -set beats per minute,set beats per minute,BPM設定,ajuster bpm,imposta bpm,BPM setzen -enable incoming OSC,enable incoming OSC,OSC受信のON/OFF,Activer OSC entrant,Attiva OSC in ingresso,OSC Eingang aktivieren -incoming OSC port,incoming OSC port,OSC受信Port,port OSC entrant,porta OSC in ingresso,OSC Porteingang -enable outgoing OSC,enable outgoing OSC,OSC送信のON/OFF,Activer OSC sortant,Attiva OSC in uscita,OSC Ausgang aktivieren -remote IP,remote IP,送信先のIP,IP de destination,IP di destinazione,Ziel IP -remote port,remote port,送信先のPort,port de destination,porta di destinazione,Ziel Port -receive osc,receive osc,OSC受信,recevoir OSC,ricevi OSC,OSC empfangen -change palette,change palette,パレットの変更,changer la palette,cambiare la tavolozza,Palette ändern -select audio,select audio,オーディオを選択,Selectionner audio,Seleziona audio,Audio auswählen -Error creating new project. The folder could not be created.,Error creating new project. The folder could not be created.,新規プロジェクトを作成できませんでした。フォルダーを作成できません。,Erreur de crÈation de projet. Le rÈpertoire n'a pu etre crÈÈ.,Errore nella creazione di un nuovo progetto. Impossibile creare la cartella.,Fehler beim erstellen des neuen Projektes. Der Ordner konnte nicht ertellt werden. -Error creating new project. The folder already exists.,Error creating new project. The folder already exists.,新規プロジェクトを作成できませんでした。同名のフォルダーが既に存在しています。,Erreur de crÈation de projet. Le rÈpertoire existe dÈja.,Errore nella creazione di un nuovo progetto. Cartella esistente.,Fehler beim erstellen des neuen Projektes. Der Ordner existiert bereits. \ No newline at end of file +KEY,ENGLISH,JAPANESE,FRENCH,ITALIAN +bangs,BANGS,バン,bangs,bangs +flags,FLAGS,フラグ,flags,flags +switches,SWITCHES,スイッチ,switches,interruttori +curves,CURVES,カーブ,courbes,curve +colors,COLORS,カラー,couleurs,colori +audio,AUDIO,オーディオ,audio,audio +lfo,LFO,LFO,lfo,lfo +bins,bins,bins,bins,bins +new project...,new project...,新規プロジェクト,nouveau projet,nuovo progetto +open project...,open project...,プロジェクトを開く,ouvrir projet,apri progetto +BPM,BPM,BPM,BPM,BPM +OSC IN,OSC IN,OSC受信,OSC IN, OSC IN +OSC OUT,OSC OUT,OSC送信,OSC OUT, OSC OUT +ADD TRACK,ADD TRACK,トラック追加,AJOUTER PISTE,AGGIUNGI TRACCIA +record,record,レコード,enregistrer,registra +switch project,switch project,プロジェクトの切り替え,changer de projet,cambia progetto +send osc,send osc,OSC送信,envoyer osc,invia osc +sure?,sure?,ok?,ok ?,ok ? +delete,delete,削除,supprimer,cancella +save,save,保存,save,salva +play,play,再生,lecture,play +pause,pause,一時停止,pause,pausa +edit duration,edit duration,プロジェクトの長さ,Èditer la durÈe,modifica durata +current time,current time,再生位置の時間,temps,tempo +stop,stop,停止,stop,stop +toggle loop,toggle loop,ループ,mode loop,modo ripetizione +snap to measures,snap to measures,スナップ,ajuster par mesure,snap alla battuta +set beats per minute,set beats per minute,BPM設定,ajuster bpm,imposta bpm +enable incoming OSC,enable incoming OSC,OSC受信のON/OFF,Activer OSC entrant,Attiva OSC in ingresso +incoming OSC port,incoming OSC port,OSC受信Port,port OSC entrant,porta OSC in ingresso +enable outgoing OSC,enable outgoing OSC,OSC送信のON/OFF,Activer OSC sortant,Attiva OSC in uscita +remote IP,remote IP,送信先のIP,IP de destination,IP di destinazione +remote port,remote port,送信先のPort,port de destination,porta di destinazione +receive osc,receive osc,OSC受信,recevoir OSC,ricevi OSC +change palette,change palette,パレットの変更,changer la palette,cambiare la tavolozza +select audio,select audio,オーディオを選択,Selectionner audio,Seleziona audio +Error creating new project. The folder could not be created.,Error creating new project. The folder could not be created.,新規プロジェクトを作成できませんでした。フォルダーを作成できません。,Erreur de crÈation de projet. Le rÈpertoire n'a pu etre crÈÈ.,Errore nella creazione di un nuovo progetto. Impossibile creare la cartella. +Error creating new project. The folder already exists.,Error creating new project. The folder already exists.,新規プロジェクトを作成できませんでした。同名のフォルダーが既に存在しています。,Erreur de crÈation de projet. Le rÈpertoire existe dÈja.,Errore nella creazione di un nuovo progetto. Cartella esistente. diff -Nru duration-0.0.4/apps/Duration/Duration/openFrameworks-Info.plist duration-0.0.3/apps/Duration/Duration/openFrameworks-Info.plist --- duration-0.0.4/apps/Duration/Duration/openFrameworks-Info.plist 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/Duration/openFrameworks-Info.plist 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - Duration.icns - CFBundleIdentifier - cc.duration.Duration - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleShortVersionString - 004 - CFBundleSignature - ???? - - diff -Nru duration-0.0.4/apps/Duration/DurationRemote/DurationRemote.sln duration-0.0.3/apps/Duration/DurationRemote/DurationRemote.sln --- duration-0.0.4/apps/Duration/DurationRemote/DurationRemote.sln 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/DurationRemote/DurationRemote.sln 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DurationRemote", "DurationRemote.vcxproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openframeworksLib", "..\..\..\libs\openFrameworksCompiled\project\vs2010\openframeworksLib.vcxproj", "{5837595D-ACA9-485C-8E76-729040CE4B0B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.ActiveCfg = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.Build.0 = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.ActiveCfg = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff -Nru duration-0.0.4/apps/Duration/DurationRemote/DurationRemote.vcxproj duration-0.0.3/apps/Duration/DurationRemote/DurationRemote.vcxproj --- duration-0.0.4/apps/Duration/DurationRemote/DurationRemote.vcxproj 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/DurationRemote/DurationRemote.vcxproj 1970-01-01 00:00:00.000000000 +0000 @@ -1,192 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {7FD42DF7-442E-479A-BA76-D0022F99702A} - DurationRemote - Win32Proj - - - - Application - Unicode - true - - - Application - Unicode - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - bin\ - obj\$(Configuration)\ - true - true - bin\ - obj\$(Configuration)\ - false - $(ProjectName)_debug - $(ProjectName) - - - - Disabled - true - EnableFastChecks - MultiThreadedDebugDLL - - Level3 - EditAndContinue - %(AdditionalIncludeDirectories);src;..\..\..\addons\ofxOsc\libs;..\..\..\addons\ofxOsc\src;..\..\..\addons\ofxOsc\libs\oscpack;..\..\..\addons\ofxOsc\libs\oscpack\src;..\..\..\addons\ofxOsc\libs\oscpack\src\ip;..\..\..\addons\ofxOsc\libs\oscpack\src\ip\posix;..\..\..\addons\ofxOsc\libs\oscpack\src\ip\win32;..\..\..\addons\ofxOsc\libs\oscpack\src\osc;..\..\..\addons\ofxUI\libs;..\..\..\addons\ofxUI\src;..\..\..\addons\ofxXmlSettings\libs;..\..\..\addons\ofxXmlSettings\src - - - $(OutDir)$(TargetName)$(TargetExt) - true - $(TargetDir)$(TargetName)_debugInfo.pdb - Console - false - - MachineX86 - %(AdditionalDependencies) - %(AdditionalLibraryDirectories) - - - - - - false - %(PreprocessorDefinitions) - MultiThreadedDLL - - Level3 - - %(AdditionalIncludeDirectories);src;..\..\..\addons\ofxOsc\libs;..\..\..\addons\ofxOsc\src;..\..\..\addons\ofxOsc\libs\oscpack;..\..\..\addons\ofxOsc\libs\oscpack\src;..\..\..\addons\ofxOsc\libs\oscpack\src\ip;..\..\..\addons\ofxOsc\libs\oscpack\src\ip\posix;..\..\..\addons\ofxOsc\libs\oscpack\src\ip\win32;..\..\..\addons\ofxOsc\libs\oscpack\src\osc;..\..\..\addons\ofxUI\libs;..\..\..\addons\ofxUI\src;..\..\..\addons\ofxXmlSettings\libs;..\..\..\addons\ofxXmlSettings\src - - - false - false - Console - true - true - false - - MachineX86 - Default - %(AdditionalDependencies) - %(AdditionalLibraryDirectories) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {5837595d-aca9-485c-8e76-729040ce4b0b} - - - - - diff -Nru duration-0.0.4/apps/Duration/DurationRemote/DurationRemote.vcxproj.filters duration-0.0.3/apps/Duration/DurationRemote/DurationRemote.vcxproj.filters --- duration-0.0.4/apps/Duration/DurationRemote/DurationRemote.vcxproj.filters 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/DurationRemote/DurationRemote.vcxproj.filters 1970-01-01 00:00:00.000000000 +0000 @@ -1,309 +0,0 @@ - - - - - src - - - src - - - src - - - src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip\posix - - - addons\ofxOsc\libs\oscpack\src\ip\posix - - - addons\ofxOsc\libs\oscpack\src\ip\win32 - - - addons\ofxOsc\libs\oscpack\src\ip\win32 - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxXmlSettings\src - - - addons\ofxXmlSettings\libs - - - addons\ofxXmlSettings\libs - - - addons\ofxXmlSettings\libs - - - - - {d8376475-7454-4a24-b08a-aac121d3ad6f} - - - {71834f65-f3a9-211e-73b8-dc8563776aec} - - - {d91dca33-6e5d-4481-2aec-9fbb1b7355db} - - - {b9dd339a-d93d-92a1-0a2f-4b41d690f257} - - - {99eca1d9-873f-4622-8fc0-fc7b46b76347} - - - {d3a98534-1602-4fef-57a6-659374ee9b23} - - - {bfb5bb47-98c8-bbcb-3066-1046a8b06581} - - - {5a029128-eb41-95c5-cbc0-cded454d99e6} - - - {354c95cf-a234-0360-c6bc-af410d70c032} - - - {79dfdfe2-400b-8654-3675-01a3f46a2e7e} - - - {edacb89c-9768-9551-4d41-b59015925509} - - - {b492c5b0-ff91-9c5a-638a-31420f9e8d66} - - - {a00c2d23-6c11-bc86-3993-2cf0e345f895} - - - {877f005d-13e6-0592-1d97-f2e39d804d43} - - - {ccb2ac63-49d2-977c-cfe8-aeadb8be6a99} - - - {687714a8-1662-fa1c-261f-50f068335398} - - - - - src - - - src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxUI\src - - - addons\ofxXmlSettings\src - - - addons\ofxXmlSettings\libs - - - diff -Nru duration-0.0.4/apps/Duration/DurationRemote/DurationRemote.vcxproj.user duration-0.0.3/apps/Duration/DurationRemote/DurationRemote.vcxproj.user --- duration-0.0.4/apps/Duration/DurationRemote/DurationRemote.vcxproj.user 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/DurationRemote/DurationRemote.vcxproj.user 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ - - - - $(TargetDir) - WindowsLocalDebugger - - - $(TargetDir) - WindowsLocalDebugger - - \ No newline at end of file diff -Nru duration-0.0.4/apps/Duration/DurationRemote/Project.xcconfig duration-0.0.3/apps/Duration/DurationRemote/Project.xcconfig --- duration-0.0.4/apps/Duration/DurationRemote/Project.xcconfig 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/DurationRemote/Project.xcconfig 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. -//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED -OF_PATH = ../../.. - -//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE -#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" - -OTHER_LDFLAGS = $(OF_CORE_LIBS) -HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff -Nru duration-0.0.4/apps/Duration/DurationRemote/bin/data/GUI/guiSettings.xml duration-0.0.3/apps/Duration/DurationRemote/bin/data/GUI/guiSettings.xml --- duration-0.0.4/apps/Duration/DurationRemote/bin/data/GUI/guiSettings.xml 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/DurationRemote/bin/data/GUI/guiSettings.xml 2013-02-03 00:22:14.000000000 +0000 @@ -1,70 +1,70 @@ - - 12 - IP - localhost - - - 12 - PORT - 12346 - - - 12 - COMMAND - /duration/seektoposition - - - 12 - ARG1 - 0.2550 - - - 12 - ARG2 - - - - 12 - ARG3 - - - - 12 - TRACK NAME - newCurves - - - 17 - bangs - 0 - - - 17 - flags - 0 - - - 17 - switches - 1 - - - 17 - curves - 0 - - - 17 - colors - 0 - - - 17 - audio - 0 - - - 12 - TRACK FILEPATH - track filepath [optiona - + + 12 + IP + localhost + + + 12 + PORT + 12346 + + + 12 + COMMAND + /duration/addtrack + + + 12 + ARG1 + switches + + + 12 + ARG2 + newCurves + + + 12 + ARG3 + + + + 12 + TRACK NAME + newCurves + + + 17 + bangs + 0 + + + 17 + flags + 0 + + + 17 + switches + 1 + + + 17 + curves + 0 + + + 17 + colors + 0 + + + 17 + audio + 0 + + + 12 + TRACK FILEPATH + track filepath [optional] + diff -Nru duration-0.0.4/apps/Duration/DurationRemote/openFrameworks-Info.plist duration-0.0.3/apps/Duration/DurationRemote/openFrameworks-Info.plist --- duration-0.0.4/apps/Duration/DurationRemote/openFrameworks-Info.plist 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/DurationRemote/openFrameworks-Info.plist 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - cc.duration.DurationRemote - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleShortVersionString - 003 - CFBundleSignature - ???? - - diff -Nru duration-0.0.4/apps/Duration/README.md duration-0.0.3/apps/Duration/README.md --- duration-0.0.4/apps/Duration/README.md 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/README.md 2013-02-03 00:22:14.000000000 +0000 @@ -1,9 +1,11 @@ -# [Duration](http://duration.cc) +# Duration ## Timeline for creative code Duration controls change over time. With a simple one window approach, the cross platform stand alone application manages lists of tracks to compose changing data over a fixed duration. +[Duration official website](http://duration.cc) + The application sends values over OSC and can be configured through OSC messages. ![DurationInterface](http://www.duration.cc/assets/images/duration_screen.png) @@ -14,22 +16,20 @@ Download Duration: -[Mac OS X 10.6+](http://www.duration.cc/downloads/Duration_004_OSX.zip) - -[Windows XP and 7](http://www.duration.cc/downloads/Duration_004_Windows.zip) +[Mac OS X 10.6+](http://www.duration.cc/downloads/Duration_003_OSX.zip) -[Linux 64bit](http://www.duration.cc/downloads/Duration_003_Linux64.zip) +[Windows XP and 7](http://www.duration.cc/downloads/Duration_003_Windows.zip) -Thanks to [Philip Whitfield](http://underdoeg.com/) for the Linux build. +[Linux](http://www.duration.cc/downloads/Duration_Linux_002_preRelease.zip) -[Source for all platforms](http://www.duration.cc/downloads/DurationSource_003.zip) +[Source for Windows (VC2010) and Mac (Xcode 4.5)](http://www.duration.cc/downloads/Duration_preRelease_002_Source_MacWndows.zip) -For Windows, you may need to install the [MSVC++ Runtime](http://www.microsoft.com/en-us/download/details.aspx?id=5555) and [OpenAL](http://connect.creativelabs.com/developer/Wiki/OpenAL%20Installer%20for%20Windows.aspx) +For Windows, you may need to install the [MSVC++ Runtime](http://www.microsoft.com/en-us/download/details.aspx?id=5555) ## Demo video Readme TL;DR? The latest walk through video is here: -https://vimeo.com/59654979 +https://vimeo.com/47504220 password: duration ## License @@ -427,7 +427,6 @@ This will configure all necessary dependencies into openFrameworks/addons/ and the project should compile ## Version History - - Alpha 004 released February 26th 2013 - Alpha 003 released February 2nd 2013 - Alpha 002 released September 23nd 2012 - Alpha 001 released August 15th 2012 diff -Nru duration-0.0.4/apps/Duration/README_JP.md duration-0.0.3/apps/Duration/README_JP.md --- duration-0.0.4/apps/Duration/README_JP.md 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/README_JP.md 2013-02-03 00:22:14.000000000 +0000 @@ -1,61 +1,40 @@ -# [Duration](http://duration.cc) +# このプロジェクトは現在まだ未公開の状態です。 -## クリエイティブコーディングのためのタイムライン +このプロジェクトを自由にお使いいただく、もしくはお知り合いの方々に送っていただいても大丈夫です。ただし、2月8日までの間は大々的な公開をするのはお控えいただけますよう、お願いいたします。 + +# Duration + +## 万能のタイムライン Durationはタイムラインに沿って、値の変化をコントロールします。シンプルな1画面のインターフェースを備えたクロスプラットフォームのスタンドアローンアプリケーションで、複数のトラックを使ってタイムライン編集をする事ができます。 このアプリケーションによるタイムラインからの値はOSCによって送信されます。また、外部からのOSCメッセージで、アプリケーションを操作する事も可能です。 -![Durationのインターフェース](http://www.duration.cc/assets/images/duration_screen.png) - -Durationはオープンソースで公開されています。ご自分のアート作品制作や、リサーチ活動、またコマーシャルなプロジェクトにおいても完全にフリーで使うことが出来ます。このプロジェクトは[openFrameworks](http://www.openframeworks.cc)を使用して作られており、そのシェアに関しての考え方を引き継いでいます。 +![Durationのインターフェース](http://www.duration.cc/duration_preview.png) -Duration is a project by [James George](http://www.jamesgeorge.org), co-developed by [YCAMInterLab](http://interlab.ycam.jp/en/) during the [Guest Research Project v.2](http://interlab.ycam.jp/en/projects/guestresearch/vol2) +Durationはオープンソースで公開されています。ご自分のアート作品制作や、リサーチ活動、またコマーシャルなプロジェクトにおいても完全にフリーで使うことが出来ます。このプロジェクトは[openFrameworks](http://www.openframeworks.cc)を使用して作られており、そのライセンスの形体やシェアに関しての考え方を引き継いでいます。 ## ダウンロード Durationをダウンロードする: -[Mac OS X 10.6+](http://www.duration.cc/downloads/Duration_003_OSX.zip) +Mac OS X 10.6+ +https://github.com/downloads/YCAMInterlab/Duration/Duration_OSX_002_preRelease.zip -[Windows XP and 7](http://www.duration.cc/downloads/Duration_003_Windows.zip) +Windows XP and 7 +https://github.com/downloads/YCAMInterlab/Duration/Duration_Windows_002_preRelease.zip -[Linux 64bit](http://www.duration.cc/downloads/Duration_003_Linux64.zip) -Thanks to [Philip Whitfield](http://underdoeg.com/) for the Linux build. +Windows用ソースコード(VC2010)と、Mac用ソースコード(XCode 4.4) +https://github.com/downloads/YCAMInterlab/Duration/Duration_preRelease_002_Source_MacWndows.zip -[全プラットフォーム用のソースコード](http://www.duration.cc/downloads/DurationSource_003.zip) +Windowsユーザーの方はMSVC++ Runtimeのインストールが必要になる場合があります。  +http://www.microsoft.com/en-us/download/details.aspx?id=5555 -Windowsユーザーの方は[MSVC++ Runtime](http://www.microsoft.com/en-us/download/details.aspx?id=5555)と[OpenAL](http://connect.creativelabs.com/developer/Wiki/OpenAL%20Installer%20for%20Windows.aspx)のインストールが必要になる場合があります。 ## デモビデオ -Readmeを読む時間がありませんか?最新の紹介映像がここにあります。 -https://vimeo.com/59654979 - -## ライセンス - - Copyright 2012-2013 James George and YCAMInterLab - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -## デフォルトの言語を変更する - -Durationは現在、英語、日本語、フランス語、イタリア語で使用する事ができます。 - -言語を変更するには、Duration/data/settings.mxlを開き、languageタグを変更してDurationを再起動します。 - -Joanie LeMercier, Takayuki Ito, Francesco Fantoni、翻訳のご協力ありがとうございました。もし、他の言語の翻訳を提供してもよいと思われる方がいらっしゃいましたら、languagefile.csvを開き、翻訳を追加していただいたあと、私にpullリクエストを使って、もしくはemailで送ってください。次のリリース時に追加します! +Readmeを読む時間がありませんか?最新の紹介映像がここにあります。 +https://vimeo.com/47504220 password: duration ## Durationのインターフェースを使用する @@ -91,17 +70,15 @@ カーブを使うと、指定した最小値と最大値の間で値をスムーズに変化させる事が出来ます。キーフレームを右クリックするとメニューが表示され、キーフレーム間の補完方法を指定する事が出来ます。 -#### LFOs - -アニメーションの制作等用に、ローフリークエンシーオシレーターによるサイン波とノイズを使用する事が出来ます。 - #### カラー/Color カラートラックでは、色のサンプルパレットとして画像を使用し、時間の経過に従ってスムーズに色を変化させる事が出来ます。各キーフレームでは画像パレット中の、色をサンプルする位置を指定します。キーフレーム間では、画像パレット内で色のサンプル位置が移動していくことで、滑らかに色が変化します。 #### オーディオ/Audio -オーディオトラックを使用すると、トラック内への音の波形表示、サウンドの再生、またFFTの結果をOSC経由で送信する事が出来ます。現状、一つのプロジェクト内では一つのオーディオトラックのみが使用可能です。また、プロジェクトの全長はオーディオトラックの長さと同じである必要があります。 +(実験段階の機能で、OSXのみをサポートしています) + +オーディオトラックを使用すると、トラック内に音の波形を表示し、他のトラックと同期してオーディオを再生する事が可能です。現状、一つのプロジェクト内では一つのオーディオトラックのみが使用可能です。また、プロジェクトの全長はオーディオトラックの長さと同じである必要があります。 ### プロジェクトの長さの設定 @@ -210,7 +187,7 @@ 1つのInt32の値。1/0の値をとり、それぞれON/OFFを表します。 - カーブ/Curve and LFO + カーブ/Curves 再生ヘッド上のカーブの値として、1つのFloatの値。値は設定した最大値と最小値の間になります。 @@ -403,7 +380,7 @@ ## Durationをハッキングする -Durationはオープンソースかつ無償で提供されます。タイムラインは非常に多くの状況で使用されるため、一つのアプリケーションでその全ての目的を満たす方法はありません。そういった状況を考え、Durationは解体出来るように作られています。いくつかの方法でDurationをカスタマイズする事が出来ます。 +Durationはオープンソースかつフリーで、どのようなプロジェクトにも使う事が出来ます。タイムラインは非常に多くの状況で使用されるため、一つのアプリケーションでその全ての目的を満たす方法はありません。そういった状況を踏まえて、Durationは解体出来る様に作られています。いくつかの方法でDurationをカスタマイズする事が出来ます。 ### ソースコードをダウンロードする @@ -423,15 +400,12 @@ これで、必要な全ての依存ファイルがopenFrameworks/addons/にダウンロードされ、プロジェクトのコンパイルが出来る様になるはずです。 ## Version History - - Alpha 004 released February 26th 2013 - - Alpha 003 released February 2nd 2013 - - Alpha 002 released September 23rd 2012 - - Alpha 001 released August 15th 2012 + - Alpha 002 released September 23nd + - Alpha 001 released August 15th ## Supported By ## -Duration is a project by [James George](http://www.jamesgeorge.org), co-developed by [YCAMInterLab](http://interlab.ycam.jp/en/) during the [Guest Research Project v.2](http://interlab.ycam.jp/en/projects/guestresearch/vol2) - +Duration was developed as part of the [Guest Research Projector vol.2 at YCAM Interlab](http://interlab.ycam.jp/en/projects/guestresearch/vol2) by [James George](http://www.jamesgeorge.org) at the [YCAMInterLab](http://interlab.ycam.jp/en/)

diff -Nru duration-0.0.4/apps/Duration/RecordingDataGenerator/Project.xcconfig duration-0.0.3/apps/Duration/RecordingDataGenerator/Project.xcconfig --- duration-0.0.4/apps/Duration/RecordingDataGenerator/Project.xcconfig 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/RecordingDataGenerator/Project.xcconfig 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. -//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED -OF_PATH = ../../.. - -//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE -#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" - -OTHER_LDFLAGS = $(OF_CORE_LIBS) -HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff -Nru duration-0.0.4/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.sln duration-0.0.3/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.sln --- duration-0.0.4/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.sln 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.sln 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RecordingDataGenerator", "RecordingDataGenerator.vcxproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openframeworksLib", "..\..\..\libs\openFrameworksCompiled\project\vs2010\openframeworksLib.vcxproj", "{5837595D-ACA9-485C-8E76-729040CE4B0B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.ActiveCfg = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.Build.0 = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.ActiveCfg = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff -Nru duration-0.0.4/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.vcxproj duration-0.0.3/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.vcxproj --- duration-0.0.4/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.vcxproj 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.vcxproj 1970-01-01 00:00:00.000000000 +0000 @@ -1,146 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {7FD42DF7-442E-479A-BA76-D0022F99702A} - RecordingDataGenerator - Win32Proj - - - - Application - Unicode - true - - - Application - Unicode - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - bin\ - obj\$(Configuration)\ - true - true - bin\ - obj\$(Configuration)\ - false - $(ProjectName)_debug - $(ProjectName) - - - - Disabled - true - EnableFastChecks - MultiThreadedDebugDLL - - Level3 - EditAndContinue - %(AdditionalIncludeDirectories);src;..\..\..\addons\ofxOsc\libs;..\..\..\addons\ofxOsc\src;..\..\..\addons\ofxOsc\libs\oscpack;..\..\..\addons\ofxOsc\libs\oscpack\src;..\..\..\addons\ofxOsc\libs\oscpack\src\ip;..\..\..\addons\ofxOsc\libs\oscpack\src\ip\posix;..\..\..\addons\ofxOsc\libs\oscpack\src\ip\win32;..\..\..\addons\ofxOsc\libs\oscpack\src\osc - - - $(OutDir)$(TargetName)$(TargetExt) - true - $(TargetDir)$(TargetName)_debugInfo.pdb - Console - false - - MachineX86 - %(AdditionalDependencies) - %(AdditionalLibraryDirectories) - - - - - - false - %(PreprocessorDefinitions) - MultiThreadedDLL - - Level3 - - %(AdditionalIncludeDirectories);src;..\..\..\addons\ofxOsc\libs;..\..\..\addons\ofxOsc\src;..\..\..\addons\ofxOsc\libs\oscpack;..\..\..\addons\ofxOsc\libs\oscpack\src;..\..\..\addons\ofxOsc\libs\oscpack\src\ip;..\..\..\addons\ofxOsc\libs\oscpack\src\ip\posix;..\..\..\addons\ofxOsc\libs\oscpack\src\ip\win32;..\..\..\addons\ofxOsc\libs\oscpack\src\osc - - - false - false - Console - true - true - false - - MachineX86 - Default - %(AdditionalDependencies) - %(AdditionalLibraryDirectories) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {5837595d-aca9-485c-8e76-729040ce4b0b} - - - - - diff -Nru duration-0.0.4/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.vcxproj.filters duration-0.0.3/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.vcxproj.filters --- duration-0.0.4/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.vcxproj.filters 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.vcxproj.filters 1970-01-01 00:00:00.000000000 +0000 @@ -1,156 +0,0 @@ - - - - - src - - - src - - - src - - - src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip\posix - - - addons\ofxOsc\libs\oscpack\src\ip\posix - - - addons\ofxOsc\libs\oscpack\src\ip\win32 - - - addons\ofxOsc\libs\oscpack\src\ip\win32 - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - - - {d8376475-7454-4a24-b08a-aac121d3ad6f} - - - {71834f65-f3a9-211e-73b8-dc8563776aec} - - - {d91dca33-6e5d-4481-2aec-9fbb1b7355db} - - - {b9dd339a-d93d-92a1-0a2f-4b41d690f257} - - - {99eca1d9-873f-4622-8fc0-fc7b46b76347} - - - {d3a98534-1602-4fef-57a6-659374ee9b23} - - - {bfb5bb47-98c8-bbcb-3066-1046a8b06581} - - - {5a029128-eb41-95c5-cbc0-cded454d99e6} - - - {354c95cf-a234-0360-c6bc-af410d70c032} - - - {79dfdfe2-400b-8654-3675-01a3f46a2e7e} - - - {edacb89c-9768-9551-4d41-b59015925509} - - - - - src - - - src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\src - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\ip - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - addons\ofxOsc\libs\oscpack\src\osc - - - diff -Nru duration-0.0.4/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.vcxproj.user duration-0.0.3/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.vcxproj.user --- duration-0.0.4/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.vcxproj.user 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/RecordingDataGenerator/RecordingDataGenerator.vcxproj.user 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ - - - - $(TargetDir) - WindowsLocalDebugger - - - $(TargetDir) - WindowsLocalDebugger - - \ No newline at end of file diff -Nru duration-0.0.4/apps/Duration/RecordingDataGenerator/openFrameworks-Info.plist duration-0.0.3/apps/Duration/RecordingDataGenerator/openFrameworks-Info.plist --- duration-0.0.4/apps/Duration/RecordingDataGenerator/openFrameworks-Info.plist 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/RecordingDataGenerator/openFrameworks-Info.plist 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - cc.duration.RecordingDataGenerator - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleShortVersionString - 003 - CFBundleSignature - ???? - - diff -Nru duration-0.0.4/apps/Duration/changelog.txt duration-0.0.3/apps/Duration/changelog.txt --- duration-0.0.4/apps/Duration/changelog.txt 2013-12-27 13:35:32.000000000 +0000 +++ duration-0.0.3/apps/Duration/changelog.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -Duration Change Log - -Version 004 --- Added German language --- Fixed audio looping bug --- Fixed FFT Normalization - -Version 003 - -- First Public Release \ No newline at end of file diff -Nru duration-0.0.4/debian/changelog duration-0.0.3/debian/changelog --- duration-0.0.4/debian/changelog 2013-12-28 02:24:19.000000000 +0000 +++ duration-0.0.3/debian/changelog 2013-12-28 05:53:19.000000000 +0000 @@ -1,5 +1,5 @@ -duration (0.0.4-0kxstudio1.3) lucid; urgency=low +duration (0.0.3-1~kxstudio1) lucid; urgency=low * Initial release - -- falkTX Tue, 15 May 2012 01:49:53 +0100 + -- falkTX Sat, 28 Dec 2013 05:53:10 +0000 diff -Nru duration-0.0.4/debian/control duration-0.0.3/debian/control --- duration-0.0.4/debian/control 2013-12-28 01:47:36.000000000 +0000 +++ duration-0.0.3/debian/control 2013-12-28 05:25:33.000000000 +0000 @@ -3,18 +3,18 @@ Priority: extra Maintainer: falkTX Build-Depends: debhelper (>= 7), dh-autoreconf, -# gl glew glu - libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | libglu-dev, libglew1.5-dev | libglew-dev, libglut3-dev | libglut-dev, +# gl glew glu [glut] + libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | libglu-dev, libglew1.6-dev | libglew1.5-dev, libglew-dev, libglut3-dev | freeglut3-dev, # gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev, -# libudev (cairo) - libudev-dev, -# jack (zlib) -lasound -lopenal (-lsndfile) (-lvorbis) (-lFLAC) (-logg) -lfreeimage -lportaudio -lfreetype - libjack-dev, libasound2-dev, libopenal-dev, libfreeimage-dev, portaudio19-dev, libfreetype6-dev, -# static things? - libcairo2-dev, libsndfile1-dev, zlib1g-dev -# cairo-static, libsndfile-static, zlib-static -# NOT USED: gtk+-2.0, libmpg123 +# libudev cairo + libudev-dev, libcairo2-dev, +# jack zlib + libjack-dev, zlib1g-dev, +# -lasound -lopenal -lsndfile (-lvorbis) (-lFLAC) (-logg) -lfreeimage -lportaudio -lfreetype + libasound2-dev, libopenal-dev, libsndfile1-dev, libfreeimage-dev, portaudio19-dev, libfreetype6-dev, +# other + libgtk2.0-dev, libmpg123-dev, libftgl-dev Standards-Version: 3.8.4 Package: duration diff -Nru duration-0.0.4/debian/extra/Duration duration-0.0.3/debian/extra/Duration --- duration-0.0.4/debian/extra/Duration 2013-12-27 14:49:33.000000000 +0000 +++ duration-0.0.3/debian/extra/Duration 2013-12-28 05:05:53.000000000 +0000 @@ -1 +1,4 @@ - +#!/bin/bash + +cd /opt/Duration +exec ./Duration diff -Nru duration-0.0.4/debian/extra/DurationRemote duration-0.0.3/debian/extra/DurationRemote --- duration-0.0.4/debian/extra/DurationRemote 2013-12-27 14:49:45.000000000 +0000 +++ duration-0.0.3/debian/extra/DurationRemote 2013-12-28 05:06:29.000000000 +0000 @@ -1 +1,4 @@ - +#!/bin/bash + +cd /opt/DurationRemote +exec ./DurationRemote diff -Nru duration-0.0.4/debian/extra/RecordingDataGenerator duration-0.0.3/debian/extra/RecordingDataGenerator --- duration-0.0.4/debian/extra/RecordingDataGenerator 2013-12-27 14:49:51.000000000 +0000 +++ duration-0.0.3/debian/extra/RecordingDataGenerator 2013-12-28 05:06:38.000000000 +0000 @@ -1 +1,4 @@ - +#!/bin/bash + +cd /opt/RecordingDataGenerator +exec ./RecordingDataGenerator diff -Nru duration-0.0.4/debian/rules duration-0.0.3/debian/rules --- duration-0.0.4/debian/rules 2013-12-28 02:24:06.000000000 +0000 +++ duration-0.0.3/debian/rules 2013-12-28 05:27:37.000000000 +0000 @@ -1,26 +1,27 @@ #!/usr/bin/make -f -# export PATH:=/opt/kxstudio/bin:$(PATH) -# export PKG_CONFIG_PATH=/opt/kxstudio/lib/pkgconfig/ - APP_FLAGS = "-mtune=generic -Os" -OF_FLAGS = "-mtune=generic -Os -finline-functions -funroll-all-loops" -# -I/opt/kxstudio/include -I/opt/kxstudio/include/cairo" +OF_FLAGS = "-mtune=generic -Os -finline-functions -funroll-all-loops $(shell pkg-config --cflags cairo)" export COMPILER_OPTIMIZATION=$(OF_FLAGS) export LINUX_COMPILER_OPTIMIZATION=$(APP_FLAGS) override_dh_auto_build: $(MAKE) -C libs/openFrameworksCompiled/project/linux64/ COMPILER_OPTIMIZATION=$(OF_FLAGS) - $(MAKE) -C apps/Duration/Duration/ LINUX_COMPILER_OPTIMIZATION=$(APP_FLAGS) + $(MAKE) -C apps/Duration/Duration/ LINUX_COMPILER_OPTIMIZATION=$(APP_FLAGS) USER_CFLAGS="$(shell pkg-config --cflags ftgl)" USER_LDFLAGS="$(shell pkg-config --libs ftgl)" $(MAKE) -C apps/Duration/DurationRemote/ LINUX_COMPILER_OPTIMIZATION=$(APP_FLAGS) $(MAKE) -C apps/Duration/RecordingDataGenerator/ LINUX_COMPILER_OPTIMIZATION=$(APP_FLAGS) override_dh_auto_clean: -# $(MAKE) clean -C libs/openFrameworksCompiled/project/linux64/ -# $(MAKE) clean -C apps/Duration/Duration/ -# $(MAKE) clean -C apps/Duration/DurationRemote/ -# $(MAKE) clean -C apps/Duration/RecordingDataGenerator/ + rm -rf $(CURDIR)/libs/openFrameworksCompiled/project/linux64/obj/ + rm -rf $(CURDIR)/apps/Duration/Duration/obj/ + rm -rf $(CURDIR)/apps/Duration/DurationRemote/obj/ + rm -rf $(CURDIR)/apps/Duration/RecordingDataGenerator/obj/ + + rm -f $(CURDIR)/libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a + rm -f $(CURDIR)/apps/Duration/Duration/bin/Duration + rm -f $(CURDIR)/apps/Duration/DurationRemote/bin/DurationRemote + rm -f $(CURDIR)/apps/Duration/RecordingDataGenerator/bin/RecordingDataGenerator %: dh $@ Binary files /tmp/eIZc9kpHZz/duration-0.0.4/libs/.DS_Store and /tmp/QLVMTSwiuM/duration-0.0.3/libs/.DS_Store differ diff -Nru duration-0.0.4/libs/.project duration-0.0.3/libs/.project --- duration-0.0.4/libs/.project 2011-11-20 16:30:15.000000000 +0000 +++ duration-0.0.3/libs/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ - - - libs - - - - - - - - Binary files /tmp/eIZc9kpHZz/duration-0.0.4/libs/openFrameworks/.DS_Store and /tmp/QLVMTSwiuM/duration-0.0.3/libs/openFrameworks/.DS_Store differ diff -Nru duration-0.0.4/libs/openFrameworks/.cproject duration-0.0.3/libs/openFrameworks/.cproject --- duration-0.0.4/libs/openFrameworks/.cproject 2012-12-19 02:47:10.000000000 +0000 +++ duration-0.0.3/libs/openFrameworks/.cproject 1970-01-01 00:00:00.000000000 +0000 @@ -1,107 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru duration-0.0.4/libs/openFrameworks/.project duration-0.0.3/libs/openFrameworks/.project --- duration-0.0.4/libs/openFrameworks/.project 2012-12-19 02:47:10.000000000 +0000 +++ duration-0.0.3/libs/openFrameworks/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,88 +0,0 @@ - - - openFrameworks - - - addons - libs - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - -C ../openFrameworksCompiled/project/linux64 -j - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - false - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.core.ccnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - - project - 2 - $%7BPARENT-1-PROJECT_LOC%7D/openFrameworksCompiled/project - - - Binary files /tmp/eIZc9kpHZz/duration-0.0.4/libs/openFrameworksCompiled/.DS_Store and /tmp/QLVMTSwiuM/duration-0.0.3/libs/openFrameworksCompiled/.DS_Store differ diff -Nru duration-0.0.4/libs/openFrameworksCompiled/lib/linux/.gitignore duration-0.0.3/libs/openFrameworksCompiled/lib/linux/.gitignore --- duration-0.0.4/libs/openFrameworksCompiled/lib/linux/.gitignore 2011-11-20 16:30:21.000000000 +0000 +++ duration-0.0.3/libs/openFrameworksCompiled/lib/linux/.gitignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -# Ignore everything in here apart from the .gitignore file -* -!.gitignore \ No newline at end of file diff -Nru duration-0.0.4/libs/openFrameworksCompiled/lib/linux64/.gitignore duration-0.0.3/libs/openFrameworksCompiled/lib/linux64/.gitignore --- duration-0.0.4/libs/openFrameworksCompiled/lib/linux64/.gitignore 2011-11-20 16:30:21.000000000 +0000 +++ duration-0.0.3/libs/openFrameworksCompiled/lib/linux64/.gitignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -# Ignore everything in here apart from the .gitignore file -* -!.gitignore \ No newline at end of file Binary files /tmp/eIZc9kpHZz/duration-0.0.4/libs/openFrameworksCompiled/project/.DS_Store and /tmp/QLVMTSwiuM/duration-0.0.3/libs/openFrameworksCompiled/project/.DS_Store differ diff -Nru duration-0.0.4/libs/openFrameworksCompiled/project/linux/libopenFrameworks.cbp duration-0.0.3/libs/openFrameworksCompiled/project/linux/libopenFrameworks.cbp --- duration-0.0.4/libs/openFrameworksCompiled/project/linux/libopenFrameworks.cbp 2012-12-19 02:47:12.000000000 +0000 +++ duration-0.0.3/libs/openFrameworksCompiled/project/linux/libopenFrameworks.cbp 1970-01-01 00:00:00.000000000 +0000 @@ -1,404 +0,0 @@ - - - - - - diff -Nru duration-0.0.4/libs/openFrameworksCompiled/project/linux64/libopenFrameworks.cbp duration-0.0.3/libs/openFrameworksCompiled/project/linux64/libopenFrameworks.cbp --- duration-0.0.4/libs/openFrameworksCompiled/project/linux64/libopenFrameworks.cbp 2012-12-19 02:47:12.000000000 +0000 +++ duration-0.0.3/libs/openFrameworksCompiled/project/linux64/libopenFrameworks.cbp 1970-01-01 00:00:00.000000000 +0000 @@ -1,396 +0,0 @@ - - - - - - diff -Nru duration-0.0.4/readme.md duration-0.0.3/readme.md --- duration-0.0.4/readme.md 1970-01-01 00:00:00.000000000 +0000 +++ duration-0.0.3/readme.md 2012-12-19 02:47:22.000000000 +0000 @@ -0,0 +1,11 @@ +# [openFrameworks](http://openframeworks.cc/) is a C++ toolkit for creative coding + +To grab a copy of openFrameworks for your platform, check the [download page](http://openframeworks.cc/download) on the main site. The `master` branch of this repository corresponds to the most recent release, with a few differences: + +1. The release includes a simple openFrameworks project generator. +2. This GitHub repository contains code and libs for all the platforms, but the releases are done on a per-platform basis. +3. This GitHub repository has no project files for the different examples. They are generated automatically for each release using a tool in `apps/devApps/projectGenerator/`. + +If you want to work with the openFrameworks GitHub repository, you should use the project generator to create project files for all the code in `examples/`. + +For per-platform readmes, see `readme.osx`, `readme.linux`, etc. \ No newline at end of file