Skip to content
This repository
Browse code

PaginatedList.get_page (issue #77)

  • Loading branch information...
commit 6aec5d886004f892dfe6f95e9e826da51ceb5f8b 1 parent 70c875f
Vincent Jacques authored September 12, 2012
19  github/PaginatedList.py
@@ -65,12 +65,14 @@ def __finished( self, index ):
65 65
             return self.__stop is not None and index >= self.__stop
66 66
 
67 67
 class PaginatedList( PaginatedListBase ):
68  
-    def __init__( self, contentClass, requester, nextUrl, nextParams ):
  68
+    def __init__( self, contentClass, requester, firstUrl, firstParams ):
69 69
         PaginatedListBase.__init__( self )
70 70
         self.__requester = requester
71 71
         self.__contentClass = contentClass
72  
-        self.__nextUrl = nextUrl
73  
-        self.__nextParams = nextParams
  72
+        self.__firstUrl = firstUrl
  73
+        self.__firstParams = firstParams
  74
+        self.__nextUrl = firstUrl
  75
+        self.__nextParams = firstParams
74 76
 
75 77
     def _couldGrow( self ):
76 78
         return self.__nextUrl is not None
@@ -100,3 +102,14 @@ def __parseLinkHeader( self, headers ):
100 102
                 rel = rel[ 5 : -1 ]
101 103
                 links[ rel ] = url
102 104
         return links
  105
+
  106
+    def get_page( self, page ):
  107
+        params = dict( self.__firstParams )
  108
+        if page != 0:
  109
+            params[ "page" ] = page + 1
  110
+        headers, data = self.__requester.requestAndCheck( "GET", self.__firstUrl, params, None )
  111
+
  112
+        return [
  113
+            self.__contentClass( self.__requester, element, completed = False )
  114
+            for element in data
  115
+        ]
6  test/PaginatedList.py
@@ -35,6 +35,12 @@ def testIntIndexingInThirdPage( self ):
35 35
         self.assertEqual( self.list[ 50 ].id, 3911629 )
36 36
         self.assertEqual( self.list[ 74 ].id, 3605277 )
37 37
 
  38
+    def testGetFirstPage( self ):
  39
+        self.assertListKeyEqual( self.list.get_page( 0 ), lambda i: i.id, [ 4772349, 4767675, 4758608, 4700182, 4662873, 4608132, 4604661, 4588997, 4557803, 4554058, 4539985, 4507572, 4507492, 4507416, 4447561, 4406584, 4384548, 4383465, 4373361, 4373201, 4370619, 4356530, 4352401, 4317009, 4286936 ] )
  40
+
  41
+    def testGetThirdPage( self ):
  42
+        self.assertListKeyEqual( self.list.get_page( 2 ), lambda i: i.id, [ 3911629, 3911537, 3910580, 3910555, 3910549, 3897090, 3883598, 3856005, 3850655, 3825582, 3813852, 3812318, 3812275, 3807459, 3799872, 3799653, 3795495, 3754055, 3710293, 3662214, 3647640, 3631618, 3627067, 3614231, 3605277 ] )
  43
+
38 44
     def testIntIndexingAfterIteration( self ):
39 45
         self.assertEqual( len( list( self.list ) ), 333 )
40 46
         self.assertEqual( self.list[ 11 ].id, 4507572 )
5  test/ReplayData/PaginatedList.testGetFirstPage.txt
... ...
@@ -0,0 +1,5 @@
  1
+https GET api.github.com None /repos/openframeworks/openFrameworks/issues {'Authorization': 'Basic login_and_password_removed'} null
  2
+200
  3
+[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '<https://api.github.com/repos/openframeworks/openFrameworks/issues?page=2>; rel="next", <https://api.github.com/repos/openframeworks/openFrameworks/issues?page=14>; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')]
  4
+[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000  (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n     OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif(  fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine.  probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t<AdditionalDependencies>%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib</AdditionalDependencies>\n\t\t\t\t<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010</AdditionalLibraryDirectories>\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t<AdditionalDependencies>%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib</AdditionalDependencies>\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz  @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n    #pragma once  \n    #include \"ofMain.h\"  \n      \n    class Dot  {      \n    public:  \n        ofVec2f location;  \n      \n        Dot(){  \n            location.set(0,0);  \n        }  \n          \n        ~Dot(){}  \n    };  \n      \n    class testApp : public ofBaseApp{      \n    public:  \n        void setup();  \n        void update();  \n        void draw();  \n      \n        int w,h;  \n          \n        ofTexture particleTexture;  \n        ofShortPixels * rgbPixels;  \n          \n        ofShortColor&  paint(ofShortColor &);  \n          \n        Dot aDot;  \n          \n          \n    };  \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n    #include \"testApp.h\"  \n    //--------------------------------------------------------------  \n    void testApp::setup(){  \n        ofSetFrameRate(30);  \n        ofSetBackgroundAuto(TRUE);  \n        ofBackground(0, 0, 0);  \n        w = ofGetWidth();  \n        h = ofGetHeight();  \n          \n        particleTexture.allocate(w,h,GL_RGB);  \n        rgbPixels = new ofShortPixels;  \n        rgbPixels->allocate(w, h, 3);  \n        aDot.location.set(0, h/4);  \n    }  \n      \n    //--------------------------------------------------------------  \n    void testApp::update(){  \n        ofShortColor pixelColor;  \n        ofShortColor newPixelColor;  \n        for(int i = 0; i<10; i++){  \n            pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y);  \n              \n            newPixelColor = paint(pixelColor);  \n      \n            rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor);  \n      \n        }  \n        particleTexture.loadData(* rgbPixels);  \n    }  \n      \n    //--------------------------------------------------------------  \n    void testApp::draw(){  \n        particleTexture.draw(0, 0, w, h);  \n    }  \n      \n    ofShortColor &  testApp::paint(ofShortColor & _c){  \n          \n        _c.r += 10;  \n        _c.g += 2;  \n        _c.b += 3;  \n      \n        _c.set(_c.r, _c.g, _c.b);  \n        _c.clamp();  \n          \n        return _c;  \n    }  ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize<TCP_MAX_MSG_SIZE) {\n\t\t\t\t\t// null terminate!!\n\t\t\t\t\ttmpBuff[messageSize] = 0;\n\t\t\t}\n\t\t\t return tmpBuff;\n\t}\n\nThere is also need to check the other parts.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1249","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1249,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1249","assignee":null,"title":"string ofxTCPClient::receiveRaw() in ofxTCPClient.cpp ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":null,"created_at":"2012-05-10T06:23:23Z","state":"open","user":{"url":"https://api.github.com/users/YeongJoo-Kim","gravatar_id":"e3805241b205e8ed57f8c83ea850e6e3","avatar_url":"https://secure.gravatar.com/avatar/e3805241b205e8ed57f8c83ea850e6e3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"YeongJoo-Kim","id":604111},"id":4507416,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:55:19Z","body":"Updated Codeblocks wizard for Linux to work with Project Generator.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1245","comments":5,"milestone":null,"number":1245,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1245","assignee":null,"title":"Cbwizard","labels":[],"closed_at":null,"created_at":"2012-05-07T00:31:17Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"pierrep","id":392160},"id":4447561,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1245.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1245","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1245.patch"}},{"updated_at":"2012-05-29T18:12:46Z","body":"The way ofThread's destructor worked was causing cleanup code at the end of threadedFunction to be skipped, sometimes leaving shared resources in an unusable state. This patch makes sure that the ofThread destructor waits until the thread has properly exited. \r\n\r\nIMO this patch is critical, but it should be treated with caution, as this has the possibility to cause deadlocks in code with multiple threads where the cleanup order is not clearly defined.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239","comments":12,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1239,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1239","assignee":null,"title":"Fix ofThread destructor behaviour","labels":[],"closed_at":null,"created_at":"2012-05-03T14:54:46Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4406584,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1239.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1239","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1239.patch"}},{"updated_at":"2012-05-16T09:42:24Z","body":"I was trying to load a file in a subclass. I'm used to doing that in a constructor, but after an hour of debugging I found out that I can only do this if I make some kind of setup function. Because otherwise it's called before openframeworks is initialized. \r\n\r\nWhy not initialize openframeworks before ofRunApp or in the constructor ofBaseApp? \r\n\r\nTo reproduce put the following code in a constructor of a class and in a setup function that you call from the testapp setup.  \r\nofFile f(\"DroidSans.ttf\");\r\ncout << f.getAbsolutePath() << endl;\r\n\r\nDifference is that when you load a file from the constructor the absolute url becomes:\r\n/Developer/openFrameworks/007/apps/data/DroidSans.ttf\r\nFrom a setup function that I call in the setup function of TestApp:\r\n/Developer/openFrameworks/007/apps/experiments/FindingFont2/bin/data/DroidSans.ttf","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236","comments":3,"milestone":null,"number":1236,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1236","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"title":"init openframeworks before constructor of testapp is called?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-02T13:24:49Z","state":"open","user":{"url":"https://api.github.com/users/peteruithoven","gravatar_id":"f39b1485b28be1dc2b98f269235218bc","avatar_url":"https://secure.gravatar.com/avatar/f39b1485b28be1dc2b98f269235218bc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"peteruithoven","id":523210},"id":4384548,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T12:51:38Z","body":"Right now (007), how do you get a volume of a sample? a float sample.volume?\r\n\r\nhttp://www.openframeworks.cc/documentation/sound/ofSoundPlayer.html#volume\r\n\r\nBut if you look at ofSoundPlayer or ofBaseSoundPlayer there is no variable volume, or length, or pan, or speed. This brings up a compile error in Xcode saying:\r\n\r\nNo member named 'volume' in 'ofSoundPlayer'\r\n\r\nSo here are the variables:\r\n\r\nbool bLoop\r\nbool bLoadedOk\r\nbool bPaused\r\nfloat pan\r\nfloat volume\r\nfloat speed\r\nunsigned int length\r\n\r\nHere are the set methods:\r\n\r\nsetVolume(...)\r\nsetPan(...)\r\nsetSpeed(...)\r\nsetPaused(...)\r\nsetLoop(...)\r\nsetMultiPlay(...)\r\nsetPosition(...)\r\n\r\nHere are the gets:\r\n\r\ngetPosition()\r\ngetIsPlaying()\r\ngetSpeed()\r\ngetPan()\r\nsetPlayer(...)\r\ngetPlayer()\r\nsetPositionMS(...)\r\ngetPositionMS()\r\n\r\nWhat is missing?\r\n\r\ngetVolume()\r\ngetPaused()\r\ngetLoop()\r\n\r\nOr has this already been fixed?\r\n\r\nCheers\r\n\r\n\r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235","comments":1,"milestone":null,"number":1235,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1235","assignee":null,"title":"no get methods for ofSoundPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-02T12:06:15Z","state":"open","user":{"url":"https://api.github.com/users/chrisoshea","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"chrisoshea","id":104786},"id":4383465,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-03T08:19:23Z","body":"It would be great if the PG could get an option to generate the examples of non-core addons which the user has downloaded and placed in `OF/addons/`. This would really be useful to quickly look at/work with an addon.\r\n\r\nThe PG already knows about these addons. It would scan for folders in am addon's root directory with `example` in the name somewhere, and probably check the requisite structure (`src` folder, `addons.make` in place, etc), then generate the project file just the way it would if the example were in `OF/examples/addons/someExample`. Folder depth is the same, so I hope this is just a matter of adjusting the root folder for the example generation process - `addons` instead of `examples`.\r\n\r\nThoughts? Feedback?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1234,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1234","assignee":null,"title":"PG should generate examples in non-core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-01T20:24:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4373361,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-04T03:31:24Z","body":"This idea I had came up during the latest devmeet: \r\n\r\n*Proposal*\r\n\r\nI think it would be great if the PG would in the future offer automated downloading of addons. This would lower the barrier for people getting addons they want/need. Additionally, it would take away/reduce the need/desire to include popular addons in the OF core repo and/or release download, if addons are so easy to get, as part of a workflow we already envision the users to follow in the future (i.e. the PG)\r\n\r\n*Behaviour as it is now/soon:*\r\n\r\nAlice has an idea for a new project. She needs a couple addons for realising her project, and knows which ones. \r\nShe opens a browser to go to ofxaddons.com and/or github to download the addons if she doesn't have them yet and places them into `OF/addons/`. Alice starts the PG. The PG knows about the addons, and allows her to select them for inclusion. She creates a project and starts coding.\r\n\r\n*Desired/envisioned behaviour:*\r\n\r\nBob has an idea for a new project. He needs a couple addons for realising his project, and knows which ones. \r\nBob uses the new version of the PG to create a project. Beside the list of installed addons, the PG offers a dropdown list to select addons to download and place into the proper place. It lets Bob select if he prefers a plain download (to just use the addon), or a cloned git repo (to stay up-to-date and/or propose improvements to the addon author). Bob selects the desired addons to download, waits a while until PG reports that they're in place, and chooses all needed addons from the newly expanded list. He creates a project, and start coding the Next Big Thing, without even needing the browser! Awesome, right?\r\n\r\n*Analysis:*\r\n\r\nAlthough I realize that this is no trivial feature, I think much of what we need is already in place. \r\nPG knows about the repo structure, which addons are already there, etc., and has most of the file-manipulation logic already I think. \r\nofxaddons.com maintains a list of available addons and their locations, so I hope it's rather easy to present this in some machine-readable way for PG consumption (@obviousjim, thoughts?). \r\nWget/curl/git could take care of the download. \r\nofxGUI would have to be extended with a dropdown list, or some other way of (space)efficiently presenting the huge list of addons available.\r\n\r\nPossible issues: \r\nCross-platform way of downloading/git cloning without pulling to many dependencies (Elliot brought this up I think). Maybe have a fallback chain of mechanisms?\r\nAddon structure may not comply to what is expected (for old addons e.g.), so the project wouldn't work in the beginning. The same issue would appear on manual download, though.\r\n\r\n\r\nThoughts and Feedback, please. :-)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233","comments":2,"milestone":null,"number":1233,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1233","assignee":null,"title":"PG should offer addons download","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-01T20:15:17Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4373201,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T16:11:13Z","body":"should result in a gray circle, instead its white \r\n\r\n\tofColor c(255, 0, 0);\r\n\tc.setSaturation(0);\t\r\n\tofSetColor(c);\r\n\tofFill();\t\r\n\tofCircle(100,400,50);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1232","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1232,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1232","assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"title":"bug/feature in ofColor::setSaturation ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-05-01T17:40:08Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4370619,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T06:35:54Z","body":"How do you feel about passing matrices to ofShader as a uniform?\r\n\r\nsomething like:\r\n\r\n\tvoid ofShader::setUniformMatrix4fv(const char* name, ofMatrix& matrix ) {\r\n\t\tif(bLoaded)\r\n\t\t\tglUniformMatrix4fv(getUniformLocation(name), 1, GL_FALSE, matrix.getPtr());\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1229","comments":1,"milestone":null,"number":1229,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1229","assignee":null,"title":"pass matrices as uniforms with ofShader ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-30T19:49:38Z","state":"open","user":{"url":"https://api.github.com/users/Larsberg","gravatar_id":"bb9a4f7c510339e9d7a447347dc263ba","avatar_url":"https://secure.gravatar.com/avatar/bb9a4f7c510339e9d7a447347dc263ba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Larsberg","id":346072},"id":4356530,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-04T12:43:13Z","body":"@julapy do we need to add resources that are in bin/data/ to the xcode project for them to get copied to the device? \r\nat the moment the project generator doesn't add bin/data/ files but the simulator seems to be able to find them okay.\r\n\r\nin the past we needed to add the files to the xcode project so that they would be copied to the device. \r\n\r\nI can make the changes to make this happen but don't want to do it if its not needed. \r\n\r\nthanks!\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1228","comments":1,"milestone":null,"number":1228,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1228","assignee":null,"title":"ios - question. PG not adding bin/data/ files to xcode project","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"}],"closed_at":null,"created_at":"2012-04-30T15:42:23Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4352401,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:50:40Z","body":"I find that I'm using rectangles with rounded corners quiet often and seems like a fairly simple addition.\r\nAn example of using this is as follows:\r\n\r\n    ofSetPolyMode(OF_POLY_WINDING_ODD);\r\n    ofSetLineWidth(1.5);\r\n    ofEnableSmoothing();\r\n    ofNoFill();\r\n    ofSetHexColor(0x000000);\r\n    ofRoundedRect(630,520,80,60,9);\r\n    ofDisableSmoothing();\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1223","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1223,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1223","assignee":null,"title":"Feature of rounded rect","labels":[],"closed_at":null,"created_at":"2012-04-27T06:35:58Z","state":"open","user":{"url":"https://api.github.com/users/lawarner","gravatar_id":"030dc27a9e68781f8c0090d2adc5312e","avatar_url":"https://secure.gravatar.com/avatar/030dc27a9e68781f8c0090d2adc5312e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"lawarner","id":1479237},"id":4317009,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1223.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1223","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1223.patch"}},{"updated_at":"2012-05-16T09:27:12Z","body":"Updated ofQuickTimePlayer to properly handle videos with an alpha channel. This uses the setPixelFormat() method, so all you need to do is:\r\n```\r\nmyVideoPlayer.setPixelFormat(OF_PIXELS_RGBA);\r\nmyVideoPlayer.loadMovie(\"path/to/movie.mov\");\t\r\nmyVideoPlayer.play();\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1218","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1218,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1218","assignee":null,"title":"ofQuickTimePlayer with alpha","labels":[],"closed_at":null,"created_at":"2012-04-25T18:48:41Z","state":"open","user":{"url":"https://api.github.com/users/prisonerjohn","gravatar_id":"b52cabeecffe4497699db813a715456f","avatar_url":"https://secure.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"prisonerjohn","id":119702},"id":4286936,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1218.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1218","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1218.patch"}}]
  5
+
5  test/ReplayData/PaginatedList.testGetThirdPage.txt
... ...
@@ -0,0 +1,5 @@
  1
+https GET api.github.com None /repos/openframeworks/openFrameworks/issues?page=3 {'Authorization': 'Basic login_and_password_removed'} null
  2
+200
  3
+[('status', '200 OK'), ('x-ratelimit-remaining', '4925'), ('content-length', '55518'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '<https://api.github.com/repos/openframeworks/openFrameworks/issues?page=4>; rel="next", <https://api.github.com/repos/openframeworks/openFrameworks/issues?page=14>; rel="last", <https://api.github.com/repos/openframeworks/openFrameworks/issues?page=1>; rel="first", <https://api.github.com/repos/openframeworks/openFrameworks/issues?page=2>; rel="prev"'), ('etag', '"b3b3a8bd17d4ed7557040a218c1db573"'), ('date', 'Tue, 29 May 2012 19:36:59 GMT'), ('content-type', 'application/json; charset=utf-8')]
  4
+[{"milestone":null,"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofStringUtils:: feature discussion","html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","comments":6,"assignee":null,"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\")       //returns bool\r\n\tofString::starts(str, \"The\")           //returns bool\r\n\tofString::ends(str, \".\")               //returns bool\r\n\tofString::count(str, \"apples\")         //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \");     //this is currently ofJoinString\r\n\tofString::split(someText, \".\");        //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\");   //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200);        //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","number":1132,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":3911629,"closed_at":null,"created_at":"2012-03-31T17:52:48Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofTTF feature discussion","html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","comments":25,"assignee":null,"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","number":1131,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography"}],"id":3911537,"closed_at":null,"created_at":"2012-03-31T17:36:25Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Define standard header for examples.","html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","comments":0,"assignee":null,"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","number":1130,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","labels":[{"color":"d1af26","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"cccc29","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":3910580,"closed_at":null,"created_at":"2012-03-31T14:44:01Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","html_url":"https://github.com/openframeworks/openFrameworks/issues/1129","comments":5,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time.  I tried to fix this, but we should make sure it's done right.  the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it.   Overall, it would be great to have projects work smoothly on xcode 4...\r\n","number":1129,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"993e7a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"444444","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator"}],"id":3910555,"closed_at":null,"created_at":"2012-03-31T14:39:04Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"upgrade scripts","html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","comments":1,"assignee":null,"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","number":1128,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals"}],"id":3910549,"closed_at":null,"created_at":"2012-03-31T14:38:19Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"PG Feature request: Clean examples folder","html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","comments":0,"assignee":null,"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","number":1126,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","labels":[{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"444444","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator"}],"id":3897090,"closed_at":null,"created_at":"2012-03-30T12:51:30Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","url":"https://api.github.com/users/jesusgollonet","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","comments":0,"assignee":null,"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","number":1124,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals"}],"id":3883598,"closed_at":null,"created_at":"2012-03-29T16:47:29Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"7398ab0bbd07832d0289f26773e65077","url":"https://api.github.com/users/imanhp","login":"imanhp","id":1216228,"avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","comments":2,"assignee":null,"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","number":1120,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":3856005,"closed_at":null,"created_at":"2012-03-28T16:21:45Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Default paths.make for Android","html_url":"https://github.com/openframeworks/openFrameworks/issues/1118","comments":0,"assignee":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `<your-path-here>` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","number":1118,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"2bc4ad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android"}],"id":3850655,"closed_at":null,"created_at":"2012-03-28T12:19:39Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","url":"https://api.github.com/users/armadillu","login":"armadillu","id":167057,"avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Can't retrieve desired frame rate once set","html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","comments":0,"assignee":null,"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored.  \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","number":1117,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":3825582,"closed_at":null,"created_at":"2012-03-27T11:48:00Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"37aca214d4875cd90af9d67072c82642","url":"https://api.github.com/users/vade","login":"vade","id":65011,"avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVBO updateIndexData incorrect buffer type.","html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","comments":5,"assignee":null,"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","number":1116,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D"}],"id":3813852,"closed_at":null,"created_at":"2012-03-26T18:26:05Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","url":"https://api.github.com/users/colormotor","login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"optimization level in xcode projects","html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","comments":3,"assignee":null,"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","number":1115,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","labels":[{"color":"993e7a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode"}],"id":3812318,"closed_at":null,"created_at":"2012-03-26T17:05:14Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","url":"https://api.github.com/users/colormotor","login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"macros in ofArduino","html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","comments":1,"assignee":{"gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","url":"https://api.github.com/users/joshuajnoble","login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n  ...\r\n  SHIFT = 0x05,\r\n  etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","number":1114,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":3812275,"closed_at":null,"created_at":"2012-03-26T17:02:21Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","url":"https://api.github.com/users/OlexandrStepanov","login":"OlexandrStepanov","id":971079,"avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Issue with QtKitMovieGrabberExample in apps/devapps","html_url":"https://github.com/openframeworks/openFrameworks/issues/1112","comments":9,"assignee":null,"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n    cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n    setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n    /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","number":1112,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":3807459,"closed_at":null,"created_at":"2012-03-26T12:11:44Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"add a simple regex function like ofSplitString()","html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","comments":1,"assignee":null,"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ?    for sure, more string utility functions are helpful, and for basic text parsing, this is great.  Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc.    Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n    \r\n\t    vector < string > results;\r\n\t    RegularExpression regEx(regex);\r\n\t    RegularExpression::Match match;\r\n    \r\n\t    while(regEx.match(contents, match) != 0) {\r\n        \r\n\t        // we get the sub string from the content\r\n\t        // and then trim the content so that we\r\n\t        // can continue to search \r\n\t        string foundStr = contents.substr(match.offset, match.length);\r\n\t        contents = contents.substr(match.offset + match.length);\r\n        \r\n\t        results.push_back(foundStr);\r\n        \r\n\t    }\r\n\t    return results;\r\n\t}","number":1110,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":3799872,"closed_at":null,"created_at":"2012-03-25T18:56:37Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"mac paths don't seem right until you call \"ofToDataPath()\"","html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","comments":3,"assignee":null,"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n    system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n     system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n    cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath().  a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp().   Or should it happen even earlier?","number":1109,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"993e7a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"65a300","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":3799653,"closed_at":null,"created_at":"2012-03-25T18:18:28Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","url":"https://api.github.com/users/roymacdonald","login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"easyCam weird behavior when target changed","html_url":"https://github.com/openframeworks/openFrameworks/issues/1108","comments":7,"assignee":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","number":1108,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D"}],"id":3795495,"closed_at":null,"created_at":"2012-03-25T00:01:54Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"PG feature request: Generate makefile-only projects","html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","comments":1,"assignee":null,"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","number":1103,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","labels":[{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"444444","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator"}],"id":3754055,"closed_at":null,"created_at":"2012-03-21T21:43:34Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"feature / bug - #pragma omp critical(ofLog)","html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","comments":3,"assignee":null,"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in  ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","number":1098,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals"}],"id":3710293,"closed_at":null,"created_at":"2012-03-19T14:04:51Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","comments":2,"assignee":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","number":1075,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals"}],"id":3662214,"closed_at":null,"created_at":"2012-03-15T07:54:55Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"c1ec5161b69b4a990436deafb1170d64","url":"https://api.github.com/users/manuelgeoffray","login":"manuelgeoffray","id":808090,"avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Alpha movies in GStreamer","html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","comments":6,"assignee":null,"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","number":1070,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":3647640,"closed_at":null,"created_at":"2012-03-14T13:02:41Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"390ea42c23c2c383f973abdafa24bb07","url":"https://api.github.com/users/gabrielstuff","login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Continuous integration","html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","comments":10,"assignee":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","number":1068,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":3631618,"closed_at":null,"created_at":"2012-03-13T15:49:23Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"390ea42c23c2c383f973abdafa24bb07","url":"https://api.github.com/users/gabrielstuff","login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Automatic installer + dependencies handler","html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","comments":7,"assignee":null,"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n  \"name\": \"node-example\",\r\n  \"version\": \"0.0.1\",\r\n  \"dependencies\": {\r\n    \"express\": \"2.2.0\"\r\n  }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n  \"name\": \"ofxJSONsettings\",\r\n  \"version\": \"0.0.1\",\r\n  \"dependencies\": [{\r\n    \"jsoncpp\": \"0.6.0-rc2\"\r\n    \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n    \"protocol\":\"svn\"\r\n     }\r\n  ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n  \"name\": \"ofxMitsubaRenderer\",\r\n  \"version\": \"0.0.1\",\r\n  \"dependencies\": [{\r\n    \"mitsuba\": \"0.1\"\r\n    \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n    \"protocol\":\"hg\"\r\n     }\r\n  ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","number":1063,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":3627067,"closed_at":null,"created_at":"2012-03-13T10:44:57Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"regularize code for math addons","html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","comments":4,"assignee":null,"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","number":1062,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":3614231,"closed_at":null,"created_at":"2012-03-12T16:33:06Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVertexes?? ofCurveVertexes","html_url":"https://github.com/openframeworks/openFrameworks/issues/1055","comments":18,"assignee":null,"updated_at":"2012-03-13T13:07:11Z","body":"Just saw this is the documentation.\r\nVertexes is incorrect (wrong plural)\r\nVertices","number":1055,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1055","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":3605277,"closed_at":null,"created_at":"2012-03-12T01:50:19Z"}]
  5
+

0 notes on commit 6aec5d8

Please sign in to comment.
Something went wrong with that request. Please try again.