Repository: PyGithub/PyGithub

Issue:
PaginatedList reversed property loses http headers
In reversed(), 'headers' parameter is not passed to PaginatedList(). It makes some APIs not reversible. For example, get_stargazers_with_dates() which requires "Accept: application/vnd.github.v3.star+json" header in the API call.


Discussion:
Makes sense. PR welcome.

Resolving patch:
diff --git a/github/PaginatedList.py b/github/PaginatedList.py
--- a/github/PaginatedList.py
+++ b/github/PaginatedList.py
@@ -175,7 +175,7 @@ def _getLastPageUrl(self):
 
     @property
     def reversed(self):
-        r = PaginatedList(self.__contentClass, self.__requester, self.__firstUrl, self.__firstParams)
+        r = PaginatedList(self.__contentClass, self.__requester, self.__firstUrl, self.__firstParams, self.__headers, self.__list_item)
         r.__reverse()
         return r
 


Test patch:
diff --git a/github/tests/AllTests.py b/github/tests/AllTests.py
--- a/github/tests/AllTests.py
+++ b/github/tests/AllTests.py
@@ -122,3 +122,4 @@
 from Issue494 import *
 from Issue572 import *
 from Issue937 import *
+from Issue945 import *
diff --git a/github/tests/Issue945.py b/github/tests/Issue945.py
new file mode 100644
--- /dev/null
+++ b/github/tests/Issue945.py
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+
+############################ Copyrights and license ############################
+#                                                                              #
+# Copyright 2018 Kelvin Wong (https://github.com/netsgnut)                     #
+#                                                                              #
+# This file is part of PyGithub.                                               #
+# http://pygithub.readthedocs.io/                                              #
+#                                                                              #
+# PyGithub is free software: you can redistribute it and/or modify it under    #
+# the terms of the GNU Lesser General Public License as published by the Free  #
+# Software Foundation, either version 3 of the License, or (at your option)    #
+# any later version.                                                           #
+#                                                                              #
+# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY  #
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS    #
+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #
+# details.                                                                     #
+#                                                                              #
+# You should have received a copy of the GNU Lesser General Public License     #
+# along with PyGithub. If not, see <http://www.gnu.org/licenses/>.             #
+#                                                                              #
+################################################################################
+
+import Framework
+
+import github
+
+
+class Issue945(Framework.TestCase):  # https://github.com/PyGithub/PyGithub/issues/945
+    def setUp(self):
+        Framework.TestCase.setUp(self)
+        self.repo = self.g.get_user("openframeworks").get_repo("openFrameworks")
+        self.list = self.repo.get_issues()
+        self.list_with_headers = self.repo.get_stargazers_with_dates()
+
+    def testReservedPaginatedListAttributePreservation(self):
+        r1 = self.list.reversed
+        self.assertEqual(self.list._PaginatedList__contentClass, r1._PaginatedList__contentClass)
+        self.assertEqual(self.list._PaginatedList__requester, r1._PaginatedList__requester)
+        self.assertEqual(self.list._PaginatedList__firstUrl, r1._PaginatedList__firstUrl)
+        self.assertEqual(self.list._PaginatedList__firstParams, r1._PaginatedList__firstParams)
+        self.assertEqual(self.list._PaginatedList__headers, r1._PaginatedList__headers)
+        self.assertEqual(self.list._PaginatedList__list_item, r1._PaginatedList__list_item)
+
+        self.assertTrue(self.list_with_headers._PaginatedList__headers is not None)
+        r2 = self.list_with_headers.reversed
+        self.assertEqual(self.list_with_headers._PaginatedList__contentClass, r2._PaginatedList__contentClass)
+        self.assertEqual(self.list_with_headers._PaginatedList__requester, r2._PaginatedList__requester)
+        self.assertEqual(self.list_with_headers._PaginatedList__firstUrl, r2._PaginatedList__firstUrl)
+        self.assertEqual(self.list_with_headers._PaginatedList__firstParams, r2._PaginatedList__firstParams)
+        self.assertEqual(self.list_with_headers._PaginatedList__headers, r2._PaginatedList__headers)
+        self.assertEqual(self.list_with_headers._PaginatedList__list_item, r2._PaginatedList__list_item)
diff --git a/github/tests/ReplayData/Issue945.setUp.txt b/github/tests/ReplayData/Issue945.setUp.txt
new file mode 100644
--- /dev/null
+++ b/github/tests/ReplayData/Issue945.setUp.txt
@@ -0,0 +1,22 @@
+https
+GET
+api.github.com
+None
+/users/openframeworks
+{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
+None
+200
+[('Server', 'GitHub.com'), ('Date', 'Fri, 26 Oct 2018 06:02:39 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4973'), ('X-RateLimit-Reset', '1540536267'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP'), ('ETag', 'W/"490a721bce7bb5817a38a53711404075"'), ('Last-Modified', 'Wed, 18 Nov 2015 16:33:25 GMT'), ('X-OAuth-Scopes', 'repo'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'ED32:235D:2CFA30:625A06:5BD2ADFE')]
+{"login":"openframeworks","id":142866,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0Mjg2Ng==","avatar_url":"https://avatars2.githubusercontent.com/u/142866?v=4","gravatar_id":"","url":"https://api.github.com/users/openframeworks","html_url":"https://github.com/openframeworks","followers_url":"https://api.github.com/users/openframeworks/followers","following_url":"https://api.github.com/users/openframeworks/following{/other_user}","gists_url":"https://api.github.com/users/openframeworks/gists{/gist_id}","starred_url":"https://api.github.com/users/openframeworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openframeworks/subscriptions","organizations_url":"https://api.github.com/users/openframeworks/orgs","repos_url":"https://api.github.com/users/openframeworks/repos","events_url":"https://api.github.com/users/openframeworks/events{/privacy}","received_events_url":"https://api.github.com/users/openframeworks/received_events","type":"Organization","site_admin":false,"name":"openFrameworks","company":null,"blog":"http://openframeworks.cc/","location":null,"email":null,"hireable":null,"bio":null,"public_repos":9,"public_gists":0,"followers":0,"following":0,"created_at":"2009-10-21T21:54:37Z","updated_at":"2015-11-18T16:33:25Z"}
+
+https
+GET
+api.github.com
+None
+/repos/openframeworks/openFrameworks
+{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
+None
+200
+[('Server', 'GitHub.com'), ('Date', 'Fri, 26 Oct 2018 06:02:40 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4972'), ('X-RateLimit-Reset', '1540536267'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP'), ('ETag', 'W/"501068d9a3e67fb624ce5e83e1270d41"'), ('Last-Modified', 'Fri, 26 Oct 2018 04:18:01 GMT'), ('X-OAuth-Scopes', 'repo'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'ACCA:235E:3C0006:7729D5:5BD2ADFF')]
+{"id":345337,"node_id":"MDEwOlJlcG9zaXRvcnkzNDUzMzc=","name":"openFrameworks","full_name":"openframeworks/openFrameworks","private":false,"owner":{"login":"openframeworks","id":142866,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0Mjg2Ng==","avatar_url":"https://avatars2.githubusercontent.com/u/142866?v=4","gravatar_id":"","url":"https://api.github.com/users/openframeworks","html_url":"https://github.com/openframeworks","followers_url":"https://api.github.com/users/openframeworks/followers","following_url":"https://api.github.com/users/openframeworks/following{/other_user}","gists_url":"https://api.github.com/users/openframeworks/gists{/gist_id}","starred_url":"https://api.github.com/users/openframeworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openframeworks/subscriptions","organizations_url":"https://api.github.com/users/openframeworks/orgs","repos_url":"https://api.github.com/users/openframeworks/repos","events_url":"https://api.github.com/users/openframeworks/events{/privacy}","received_events_url":"https://api.github.com/users/openframeworks/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/openframeworks/openFrameworks","description":"openFrameworks is a community-developed cross platform toolkit for creative coding in C++.","fork":false,"url":"https://api.github.com/repos/openframeworks/openFrameworks","forks_url":"https://api.github.com/repos/openframeworks/openFrameworks/forks","keys_url":"https://api.github.com/repos/openframeworks/openFrameworks/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openframeworks/openFrameworks/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openframeworks/openFrameworks/teams","hooks_url":"https://api.github.com/repos/openframeworks/openFrameworks/hooks","issue_events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/events{/number}","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/events","assignees_url":"https://api.github.com/repos/openframeworks/openFrameworks/assignees{/user}","branches_url":"https://api.github.com/repos/openframeworks/openFrameworks/branches{/branch}","tags_url":"https://api.github.com/repos/openframeworks/openFrameworks/tags","blobs_url":"https://api.github.com/repos/openframeworks/openFrameworks/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openframeworks/openFrameworks/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openframeworks/openFrameworks/git/refs{/sha}","trees_url":"https://api.github.com/repos/openframeworks/openFrameworks/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openframeworks/openFrameworks/statuses/{sha}","languages_url":"https://api.github.com/repos/openframeworks/openFrameworks/languages","stargazers_url":"https://api.github.com/repos/openframeworks/openFrameworks/stargazers","contributors_url":"https://api.github.com/repos/openframeworks/openFrameworks/contributors","subscribers_url":"https://api.github.com/repos/openframeworks/openFrameworks/subscribers","subscription_url":"https://api.github.com/repos/openframeworks/openFrameworks/subscription","commits_url":"https://api.github.com/repos/openframeworks/openFrameworks/commits{/sha}","git_commits_url":"https://api.github.com/repos/openframeworks/openFrameworks/git/commits{/sha}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/comments{/number}","issue_comment_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/comments{/number}","contents_url":"https://api.github.com/repos/openframeworks/openFrameworks/contents/{+path}","compare_url":"https://api.github.com/repos/openframeworks/openFrameworks/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openframeworks/openFrameworks/merges","archive_url":"https://api.github.com/repos/openframeworks/openFrameworks/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openframeworks/openFrameworks/downloads","issues_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues{/number}","pulls_url":"https://api.github.com/repos/openframeworks/openFrameworks/pulls{/number}","milestones_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones{/number}","notifications_url":"https://api.github.com/repos/openframeworks/openFrameworks/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/labels{/name}","releases_url":"https://api.github.com/repos/openframeworks/openFrameworks/releases{/id}","deployments_url":"https://api.github.com/repos/openframeworks/openFrameworks/deployments","created_at":"2009-10-21T21:55:54Z","updated_at":"2018-10-26T04:18:01Z","pushed_at":"2018-10-18T15:56:59Z","git_url":"git://github.com/openframeworks/openFrameworks.git","ssh_url":"git@github.com:openframeworks/openFrameworks.git","clone_url":"https://github.com/openframeworks/openFrameworks.git","svn_url":"https://github.com/openframeworks/openFrameworks","homepage":"http://openframeworks.cc","size":1997625,"stargazers_count":6453,"watchers_count":6453,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2143,"mirror_url":null,"archived":false,"open_issues_count":874,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":2143,"open_issues":874,"watchers":6453,"default_branch":"patch-release","permissions":{"admin":false,"push":false,"pull":true},"organization":{"login":"openframeworks","id":142866,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0Mjg2Ng==","avatar_url":"https://avatars2.githubusercontent.com/u/142866?v=4","gravatar_id":"","url":"https://api.github.com/users/openframeworks","html_url":"https://github.com/openframeworks","followers_url":"https://api.github.com/users/openframeworks/followers","following_url":"https://api.github.com/users/openframeworks/following{/other_user}","gists_url":"https://api.github.com/users/openframeworks/gists{/gist_id}","starred_url":"https://api.github.com/users/openframeworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openframeworks/subscriptions","organizations_url":"https://api.github.com/users/openframeworks/orgs","repos_url":"https://api.github.com/users/openframeworks/repos","events_url":"https://api.github.com/users/openframeworks/events{/privacy}","received_events_url":"https://api.github.com/users/openframeworks/received_events","type":"Organization","site_admin":false},"network_count":2143,"subscribers_count":514}
+
diff --git a/github/tests/ReplayData/Issue945.testReservedPaginatedListAttributePreservation.txt b/github/tests/ReplayData/Issue945.testReservedPaginatedListAttributePreservation.txt
new file mode 100644
--- /dev/null
+++ b/github/tests/ReplayData/Issue945.testReservedPaginatedListAttributePreservation.txt
@@ -0,0 +1,22 @@
+https
+GET
+api.github.com
+None
+/repos/openframeworks/openFrameworks/issues
+{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
+None
+200
+[('Server', 'GitHub.com'), ('Date', 'Fri, 26 Oct 2018 06:02:41 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4971'), ('X-RateLimit-Reset', '1540536267'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP'), ('ETag', 'W/"77d135814a1f98b76a3f0c1819433035"'), ('X-OAuth-Scopes', 'repo'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Link', '<https://api.github.com/repositories/345337/issues?page=2>; rel="next", <https://api.github.com/repositories/345337/issues?page=30>; rel="last"'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'ACEC:235E:3C0061:772AA8:5BD2AE00')]
+[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6158","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6158/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6158/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6158/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6158","id":372772260,"node_id":"MDU6SXNzdWUzNzI3NzIyNjA=","number":6158,"title":"Compiling libraries msys2 error: \"This package doesn’t support your platform\" ","user":{"login":"invisiblesignal","id":44383181,"node_id":"MDQ6VXNlcjQ0MzgzMTgx","avatar_url":"https://avatars0.githubusercontent.com/u/44383181?v=4","gravatar_id":"","url":"https://api.github.com/users/invisiblesignal","html_url":"https://github.com/invisiblesignal","followers_url":"https://api.github.com/users/invisiblesignal/followers","following_url":"https://api.github.com/users/invisiblesignal/following{/other_user}","gists_url":"https://api.github.com/users/invisiblesignal/gists{/gist_id}","starred_url":"https://api.github.com/users/invisiblesignal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/invisiblesignal/subscriptions","organizations_url":"https://api.github.com/users/invisiblesignal/orgs","repos_url":"https://api.github.com/users/invisiblesignal/repos","events_url":"https://api.github.com/users/invisiblesignal/events{/privacy}","received_events_url":"https://api.github.com/users/invisiblesignal/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-23T01:58:47Z","updated_at":"2018-10-23T01:58:47Z","closed_at":null,"author_association":"NONE","body":"New user trying to install v0.10.0 Windows Qt Creator/msys2.  I'm following setup guide here (https://openframeworks.cc/setup/msys2/) and have problem compiling oF libraries... in MINGW32 shell after typing \"make\" I get the following error:  “HOST_OS=MINGW32_NT-10.0\r\nmakefileCommon/config.shared.mk:207: *** This package doesn’t support your platform, probably you downloaded the wrong package?. Stop.”\r\n\r\nI tried both v0.10.0_msys2_release as well as the v20181009_msys2_nightly, get same error in both cases.\r\n\r\nAny advice?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6157","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6157/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6157/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6157/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6157","id":372373003,"node_id":"MDU6SXNzdWUzNzIzNzMwMDM=","number":6157,"title":"suggestion of improvement : ofRectangle operator","user":{"login":"dimitre","id":58289,"node_id":"MDQ6VXNlcjU4Mjg5","avatar_url":"https://avatars1.githubusercontent.com/u/58289?v=4","gravatar_id":"","url":"https://api.github.com/users/dimitre","html_url":"https://github.com/dimitre","followers_url":"https://api.github.com/users/dimitre/followers","following_url":"https://api.github.com/users/dimitre/following{/other_user}","gists_url":"https://api.github.com/users/dimitre/gists{/gist_id}","starred_url":"https://api.github.com/users/dimitre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dimitre/subscriptions","organizations_url":"https://api.github.com/users/dimitre/orgs","repos_url":"https://api.github.com/users/dimitre/repos","events_url":"https://api.github.com/users/dimitre/events{/privacy}","received_events_url":"https://api.github.com/users/dimitre/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-22T01:11:21Z","updated_at":"2018-10-22T01:11:21Z","closed_at":null,"author_association":"NONE","body":"it would be great to be able to multiply an ofRectangle by and int or float, as in GLSL or glm.\r\n\r\nexample: \r\n```c++\r\nfloat scale = 2.0;\r\nfbo.draw(rect * scale);\r\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6156","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6156/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6156/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6156/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6156","id":372300625,"node_id":"MDU6SXNzdWUzNzIzMDA2MjU=","number":6156,"title":"ofSoundBuffer::getChannel() causes exception","user":{"login":"hugoymh","id":34024260,"node_id":"MDQ6VXNlcjM0MDI0MjYw","avatar_url":"https://avatars2.githubusercontent.com/u/34024260?v=4","gravatar_id":"","url":"https://api.github.com/users/hugoymh","html_url":"https://github.com/hugoymh","followers_url":"https://api.github.com/users/hugoymh/followers","following_url":"https://api.github.com/users/hugoymh/following{/other_user}","gists_url":"https://api.github.com/users/hugoymh/gists{/gist_id}","starred_url":"https://api.github.com/users/hugoymh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hugoymh/subscriptions","organizations_url":"https://api.github.com/users/hugoymh/orgs","repos_url":"https://api.github.com/users/hugoymh/repos","events_url":"https://api.github.com/users/hugoymh/events{/privacy}","received_events_url":"https://api.github.com/users/hugoymh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-21T10:34:30Z","updated_at":"2018-10-21T10:36:45Z","closed_at":null,"author_association":"NONE","body":"On MacOS, Xcode 9.4.1\r\n\r\n```\r\nvoid ofSoundBuffer::getChannel(ofSoundBuffer & targetBuffer, std::size_t sourceChannel) const {\r\n//...\r\n\tif(channels == 1){\r\n                //third argument is zero\r\n\t\tcopyTo(targetBuffer, getNumFrames(), 0, 0);\r\n\t}\r\n//...\r\n}\r\n```\r\n```\r\nvoid ofSoundBuffer::copyTo(ofSoundBuffer & soundBuffer, std::size_t nFrames, std::size_t outChannels,std::size_t fromFrame,bool loop) const{\r\n\tsoundBuffer.resize(nFrames*outChannels);\r\n\tsoundBuffer.setNumChannels(outChannels);\r\n\tsoundBuffer.setSampleRate(samplerate);\r\n//third argument (outChannels) passed as zero\r\n\tcopyTo(&soundBuffer[0], nFrames, outChannels, fromFrame, loop);\r\n}\r\n\r\n```\r\n```\r\nvoid ofSoundBuffer::setNumChannels(int channels){\r\n//this line assigns this->channels to zero\t\r\nthis->channels = channels;\r\n\tcheckSizeAndChannelsConsistency(\"setNumChannels\");\r\n}\r\n```\r\n```\r\nbool ofSoundBuffer::checkSizeAndChannelsConsistency(const std::string& _function ) {\r\n\tstd::string function = _function;\r\n\r\n\tif ( function.size()!= 0 ){\r\n\t\tfunction += \": \";\r\n\t}\r\n//if statement results in division by zero, causing exception\r\n\tif ( (size()%channels) != 0 ){\r\n\t\tofLogWarning(\"ofSoundBuffer\") << function << \"channel count \" << channels << \" is not consistent with sample count \" << size() << \" (non-zero remainder)\";\r\n\t\treturn false;\r\n\t}\r\n\treturn true;\r\n}\r\n```\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6155","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6155/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6155/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6155/events","html_url":"https://github.com/openframeworks/openFrameworks/pull/6155","id":371599846,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI0MDExMTQ0","number":6155,"title":"Make ofSystemTextBoxDialog return empty string on cancel.","user":{"login":"ShadowMitia","id":3752363,"node_id":"MDQ6VXNlcjM3NTIzNjM=","avatar_url":"https://avatars1.githubusercontent.com/u/3752363?v=4","gravatar_id":"","url":"https://api.github.com/users/ShadowMitia","html_url":"https://github.com/ShadowMitia","followers_url":"https://api.github.com/users/ShadowMitia/followers","following_url":"https://api.github.com/users/ShadowMitia/following{/other_user}","gists_url":"https://api.github.com/users/ShadowMitia/gists{/gist_id}","starred_url":"https://api.github.com/users/ShadowMitia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ShadowMitia/subscriptions","organizations_url":"https://api.github.com/users/ShadowMitia/orgs","repos_url":"https://api.github.com/users/ShadowMitia/repos","events_url":"https://api.github.com/users/ShadowMitia/events{/privacy}","received_events_url":"https://api.github.com/users/ShadowMitia/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-18T15:56:58Z","updated_at":"2018-10-18T15:56:58Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/pulls/6155","html_url":"https://github.com/openframeworks/openFrameworks/pull/6155","diff_url":"https://github.com/openframeworks/openFrameworks/pull/6155.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/6155.patch"},"body":"See issue #4945.\r\n\r\nI've made changes for macOS as suggested in the thread and adapted it for Linux and Windows.\r\n\r\nI've only been able to test on Linux right now, I believe it should work fine on macOS, but I'm really unsure on the windows side.\r\n\r\nI haven't looked at the parts of the code that deal with android and emscripten."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6154","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6154/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6154/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6154/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6154","id":371527272,"node_id":"MDU6SXNzdWUzNzE1MjcyNzI=","number":6154,"title":"ofSoundPlayer load() hangs on linux when streaming is true","user":{"login":"davidemania","id":6617948,"node_id":"MDQ6VXNlcjY2MTc5NDg=","avatar_url":"https://avatars1.githubusercontent.com/u/6617948?v=4","gravatar_id":"","url":"https://api.github.com/users/davidemania","html_url":"https://github.com/davidemania","followers_url":"https://api.github.com/users/davidemania/followers","following_url":"https://api.github.com/users/davidemania/following{/other_user}","gists_url":"https://api.github.com/users/davidemania/gists{/gist_id}","starred_url":"https://api.github.com/users/davidemania/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidemania/subscriptions","organizations_url":"https://api.github.com/users/davidemania/orgs","repos_url":"https://api.github.com/users/davidemania/repos","events_url":"https://api.github.com/users/davidemania/events{/privacy}","received_events_url":"https://api.github.com/users/davidemania/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-18T13:20:43Z","updated_at":"2018-10-18T13:22:40Z","closed_at":null,"author_association":"NONE","body":"If the ofSoundPlayer::load() method is called with streaming == false (the default) everything works as expected, but setting the streaming option to true causes the application to hang badly, it stops responding and has to be killed.\r\n\r\nThe issue can be reproduced easily with the soundPlayerExample in examples directory, just adding “, true” to the load call in setup()\r\n\r\nTest conditions: OS is Ubuntu 18.04, OF version 0.10.0"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6153","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6153/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6153/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6153/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6153","id":371353361,"node_id":"MDU6SXNzdWUzNzEzNTMzNjE=","number":6153,"title":"Android Studio for all of CPP files: This File is not part of the project...","user":{"login":"whyameye","id":1716966,"node_id":"MDQ6VXNlcjE3MTY5NjY=","avatar_url":"https://avatars0.githubusercontent.com/u/1716966?v=4","gravatar_id":"","url":"https://api.github.com/users/whyameye","html_url":"https://github.com/whyameye","followers_url":"https://api.github.com/users/whyameye/followers","following_url":"https://api.github.com/users/whyameye/following{/other_user}","gists_url":"https://api.github.com/users/whyameye/gists{/gist_id}","starred_url":"https://api.github.com/users/whyameye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whyameye/subscriptions","organizations_url":"https://api.github.com/users/whyameye/orgs","repos_url":"https://api.github.com/users/whyameye/repos","events_url":"https://api.github.com/users/whyameye/events{/privacy}","received_events_url":"https://api.github.com/users/whyameye/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-10-18T04:04:17Z","updated_at":"2018-10-18T13:02:12Z","closed_at":null,"author_association":"NONE","body":"After trying the latest release of oF I switched to the master branch and am still having the same problem:\r\nUsing the project generator I convert an Android example to Android Studio. Then loading into Android Studio I get for all oF cpp files: \"This file is not part of the project. Please include it in the appropriate build file...\" I'm not an Android Studio expert and it is not obvious to me how to move forward as CMakelists.txt doesn't exist etc.\r\n\r\nAndroid Studio compiles the code fine but practically every line is marked as an error in the IDE as all the references are broken."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6152","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6152/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6152/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6152/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6152","id":369295799,"node_id":"MDU6SXNzdWUzNjkyOTU3OTk=","number":6152,"title":"Proposed change: expose alpha flags for ofAppEGLWindow","user":{"login":"jvcleave","id":150037,"node_id":"MDQ6VXNlcjE1MDAzNw==","avatar_url":"https://avatars0.githubusercontent.com/u/150037?v=4","gravatar_id":"","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following{/other_user}","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User","site_admin":false},"labels":[{"id":28684,"node_id":"MDU6TGFiZWwyODY4NA==","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-11T20:38:47Z","updated_at":"2018-10-11T20:38:47Z","closed_at":null,"author_association":"MEMBER","body":"Currently the default alpha flag set for a RPi window is `DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS`\r\n\r\nOther options are:\r\n\r\n```\r\nDISPMANX_FLAGS_ALPHA_FROM_SOURCE\r\nDISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS \r\nDISPMANX_FLAGS_ALPHA_FIXED_NON_ZERO \r\nDISPMANX_FLAGS_ALPHA_FIXED_EXCEED_0X07\r\nDISPMANX_FLAGS_ALPHA_PREMULT\r\nDISPMANX_FLAGS_ALPHA_MIX \r\n```\r\n\r\n`DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS` sets all alpha values to the value of `settings.eglWindowOpacity` (default 255). For example, if `settings.eglWindowOpacity` is set to 128 and I draw a rectangle with an alpha value of 255 the alpha value will not exceed 128.\r\n\r\nThe most interesting is `DISPMANX_FLAGS_ALPHA_FROM_SOURCE`.  With `settings.eglWindowOpacity` set to 0, this allows a totally transparent window but elements drawn retain their alpha values. This enables multiple layers of OF apps or OF apps overlaying other apps\r\n\r\n\r\nExample code:\r\n\r\n```\r\n#include \"ofMain.h\"\r\n#include \"ofAppEGLWindow.h\"\r\n\r\nclass ofApp : public ofBaseApp{\r\npublic:\r\n\r\n    void draw()\r\n    {\r\n        //Set background to alpha 0\r\n        ofColor bgColor(ofColor::black, 0);\r\n        ofBackground(bgColor);\r\n        \r\n        int alpha = ofGetFrameNum()%255;\r\n\r\n        ofPushStyle();\r\n            ofColor orangeBG(ofColor::orange, alpha);\r\n            ofSetColor(orangeBG);            \r\n            ofDrawRectangle(0, 0, 500, 500);\r\n        ofPopStyle();\r\n    }\r\n};\r\n\r\n\r\nint main( )\r\n{\r\n    ofGLESWindowSettings windowSettings;\r\n    windowSettings.setSize(1024, 768);\r\n    \r\n    ofAppEGLWindow::Settings settings(windowSettings);\r\n    \r\n    settings.eglWindowOpacity = 0;\r\n    settings.alphaFlags = DISPMANX_FLAGS_ALPHA_FROM_SOURCE; //proposed change\r\n    settings.layer = 2;\r\n    \r\n    ofCreateWindow(settings);\r\n    ofRunApp(new ofApp());\r\n    \r\n}\r\n\r\n```\r\n\r\nWith the above code you could start another app (e.g. omxplayer, another OF app) and an orange box would be drawn on top with transparency retained.\r\n\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6151","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6151/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6151/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6151/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6151","id":369254388,"node_id":"MDU6SXNzdWUzNjkyNTQzODg=","number":6151,"title":"soundExample crahsed with `raspberry pi B+` X `raspbian stretch`","user":{"login":"icq4ever","id":530796,"node_id":"MDQ6VXNlcjUzMDc5Ng==","avatar_url":"https://avatars0.githubusercontent.com/u/530796?v=4","gravatar_id":"","url":"https://api.github.com/users/icq4ever","html_url":"https://github.com/icq4ever","followers_url":"https://api.github.com/users/icq4ever/followers","following_url":"https://api.github.com/users/icq4ever/following{/other_user}","gists_url":"https://api.github.com/users/icq4ever/gists{/gist_id}","starred_url":"https://api.github.com/users/icq4ever/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/icq4ever/subscriptions","organizations_url":"https://api.github.com/users/icq4ever/orgs","repos_url":"https://api.github.com/users/icq4ever/repos","events_url":"https://api.github.com/users/icq4ever/events{/privacy}","received_events_url":"https://api.github.com/users/icq4ever/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-11T18:41:47Z","updated_at":"2018-10-11T20:57:45Z","closed_at":null,"author_association":"NONE","body":"soundPlayerFFTExample and soundPlayerExample is crashed with openframeworks 0.10.0 with clean setup raspbian stretch x raspberry pi B+(old one). it looks like something related with alsa. launching app is ok unless any play sound (ie. click to play).\r\n\r\nI can see error message `Illegal Instruction`\r\n\r\nalsa is working. I can confim with command :\r\n`speaker-test -t wave -c`\r\n\r\n---\r\nby the way, there's no issue on raspberry pi 3 b+."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6149","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6149/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6149/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6149/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6149","id":367529586,"node_id":"MDU6SXNzdWUzNjc1Mjk1ODY=","number":6149,"title":"General issue for other problems with xcode 10 / macos 10.14","user":{"login":"arturoc","id":48240,"node_id":"MDQ6VXNlcjQ4MjQw","avatar_url":"https://avatars0.githubusercontent.com/u/48240?v=4","gravatar_id":"","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2018-10-07T07:34:50Z","updated_at":"2018-10-23T17:22:12Z","closed_at":null,"author_association":"MEMBER","body":"Opening this since more stuff comes up and not sure it even belongs on a new issue or it's all related:\r\n\r\nhttps://forum.openframeworks.cc/t/ofimage-issue-in-xcode/30628"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6148","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6148/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6148/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6148/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6148","id":367486070,"node_id":"MDU6SXNzdWUzNjc0ODYwNzA=","number":6148,"title":"can't access Resources/ inside main()","user":{"login":"kylemcdonald","id":157106,"node_id":"MDQ6VXNlcjE1NzEwNg==","avatar_url":"https://avatars3.githubusercontent.com/u/157106?v=4","gravatar_id":"","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-10-06T19:04:06Z","updated_at":"2018-10-07T07:39:09Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"I have an app that needs to do some things (like decide whether to decorate the window) before the app is run. This needs to be configured by a file inside the Resources/ folder. Usually [the solution](http://nickhardeman.com/591/preparing-an-openframeworks-application-for-the-mac-app-store/) is to add `ofSetDataPathRoot(\"../Resources\");` but that doesn't work inside `main()`:\r\n\r\n```c++\r\n#include \"ofMain.h\"\r\nint main() {\r\n    ofSetDataPathRoot(\"../Resources\");\r\n    ofLog() << ofToDataPath(\".\", true);\r\n}\r\n```\r\n\r\n```\r\n[notice ] /Users/kyle/Documents/openFrameworks/apps/Project/App/bin/../Resources/.\r\n```\r\n\r\nI also tried adding `ofRestoreWorkingDirectoryToDefault()`, `ofSetDataPathRoot(\".\")` and `ofToDataPath(\".\")` before `ofSetDataPathRoot()`.\r\n\r\nThe only solution I found is to imitate the code inside `defaultDataPath()`:\r\n\r\n`ofSetDataPathRoot(ofFilePath::join(ofFilePath::getCurrentExeDir(),  \"../Resources\"));`"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6147","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6147/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6147/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6147/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6147","id":367451026,"node_id":"MDU6SXNzdWUzNjc0NTEwMjY=","number":6147,"title":"Rendering completely broken on macos 10.14","user":{"login":"arturoc","id":48240,"node_id":"MDQ6VXNlcjQ4MjQw","avatar_url":"https://avatars0.githubusercontent.com/u/48240?v=4","gravatar_id":"","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-10-06T12:03:12Z","updated_at":"2018-10-06T16:04:25Z","closed_at":null,"author_association":"MEMBER","body":"https://forum.openframeworks.cc/t/no-rendering-initially-in-mojave/30624"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6146","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6146/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6146/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6146/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6146","id":367409282,"node_id":"MDU6SXNzdWUzNjc0MDkyODI=","number":6146,"title":"ofVerticalSync(true) broken on macOS 10.14 + XCode 10.0","user":{"login":"kylemcdonald","id":157106,"node_id":"MDQ6VXNlcjE1NzEwNg==","avatar_url":"https://avatars3.githubusercontent.com/u/157106?v=4","gravatar_id":"","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-10-06T01:02:51Z","updated_at":"2018-10-18T14:02:49Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Using the latest OF from Github.\r\n\r\nI don't know which version of XCode, OF, or macOS created this problem.\r\n\r\nHere's a simple example that should take 4 seconds for a line to walk across the screen from left to right:\r\n\r\n```c++\r\n#include \"ofMain.h\"\r\n\r\nclass ofApp : public ofBaseApp {\r\npublic:\r\n    void setup() {\r\n        ofSetVerticalSync(true);\r\n        ofBackground(0);\r\n    }\r\n    void update() {\r\n    }\r\n    void draw() {\r\n        ofDrawRectangle(ofGetFrameNum() % 240, 0, 1, 240);\r\n    }\r\n};\r\n\r\nint main() {\r\n    ofSetupOpenGL(240, 240, OF_WINDOW);\r\n    ofRunApp(new ofApp());\r\n}\r\n```\r\n\r\nInstead, it runs much faster, similar to how apps would run without a framerate limit when they are in the background/not in focus."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6145","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6145/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6145/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6145/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6145","id":366997350,"node_id":"MDU6SXNzdWUzNjY5OTczNTA=","number":6145,"title":"Possible memory leak in ofxGui","user":{"login":"roymacdonald","id":974878,"node_id":"MDQ6VXNlcjk3NDg3OA==","avatar_url":"https://avatars0.githubusercontent.com/u/974878?v=4","gravatar_id":"","url":"https://api.github.com/users/roymacdonald","html_url":"https://github.com/roymacdonald","followers_url":"https://api.github.com/users/roymacdonald/followers","following_url":"https://api.github.com/users/roymacdonald/following{/other_user}","gists_url":"https://api.github.com/users/roymacdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/roymacdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roymacdonald/subscriptions","organizations_url":"https://api.github.com/users/roymacdonald/orgs","repos_url":"https://api.github.com/users/roymacdonald/repos","events_url":"https://api.github.com/users/roymacdonald/events{/privacy}","received_events_url":"https://api.github.com/users/roymacdonald/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-10-04T22:42:51Z","updated_at":"2018-10-05T15:06:50Z","closed_at":null,"author_association":"MEMBER","body":"I just noticed that in ofxGuiGroup all the `add(ofParameter<T> & parameter)` functions call new as you can see [here](https://github.com/openframeworks/openFrameworks/blob/master/addons/ofxGui/src/ofxGuiGroup.cpp#L178-L229), thus creating the gui object needed. but these newly created objects never get deleted even after the `ofGuiGroup` is destroyed. In a lot of cases this might not be a problem as a lot of times the the `ofxGuiGroup` or `ofxPanel` object exists for the whole runtime of the app, but in scenarios where the gui is created and destroyed dynamically this is a problem.\r\n\r\nThe following code is a proof of this.\r\n````cpp\r\n#include \"ofMain.h\"\r\n#include \"ofxGui.h\"\r\n\r\nclass ofApp : public ofBaseApp\r\n{\r\npublic:\r\n\t//----------------------------------------------------------------\r\n\tvoid setup(){\t\t\r\n\t\tgui = new ofxPanel();\r\n\t\tgui->setup();\r\n\t\tgui->add(param.set(\"param\", 0, 0, 255));\r\n\t\tsliderPtr = &(gui->getFloatSlider(\"param\"));\r\n\t\t\r\n\t};\r\n\t//----------------------------------------------------------------\r\n\tvoid draw(){\r\n\t\t\r\n\t\tofBackground(param, 0, 0);\r\n\t\t\r\n\t\tif (displayGui){\r\n\t\t\tif(gui){\r\n\t\t\t\tgui->draw();\r\n\t\t\t}else if (sliderPtr){\r\n\t\t\t\tsliderPtr->draw();\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tstringstream ss;\r\n\t\t\r\n\t\tif(sliderPtr){\r\n\t\t\tss << \"sliderPtr  \" << sliderPtr << endl;\t\r\n\t\t}else{\r\n\t\t\tss << \"sliderPtr  is null\" << endl;\r\n\t\t}\r\n\t\tif(gui){\r\n\t\t\tss << \"gui  \" << gui << endl;\t\r\n\t\t}else{\r\n\t\t\tss << \"gui is null\" << endl;\r\n\t\t}\r\n\t\tofDrawBitmapStringHighlight(ss.str(), 20, ofGetHeight() - 50);\r\n\t\t\r\n\t};\r\n\t//----------------------------------------------------------------\r\n\tvoid keyPressed(int key)\r\n\t{\r\n\t\tif(key == ' '){\r\n\t\t\tdisplayGui = !displayGui;\r\n\t\t}else if(key == 'd'){\r\n\t\t\tdelete gui;\r\n\t\t\tgui = nullptr;\r\n\t\t}\r\n\t}\r\n\t//----------------------------------------------------------------\r\n\tofxPanel* gui= nullptr;\r\n\tofParameter<float> param;\r\n\tofxFloatSlider* sliderPtr = nullptr;\r\n\tbool displayGui = true;\r\n};\r\n\r\nint main( )\r\n{\r\n\tofSetupOpenGL(400,200,OF_WINDOW);\r\n\tofRunApp(new ofApp());\r\n}\r\n\r\n````\r\n\r\nMaybe moving all the pointers used into smart pointer can be a good idea. What do you think @arturoc  @bakercp @ofZach ?\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6144","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6144/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6144/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6144/events","html_url":"https://github.com/openframeworks/openFrameworks/pull/6144","id":366994113,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIwNTM2MDY4","number":6144,"title":"Fix ofx gui slider scrolling","user":{"login":"roymacdonald","id":974878,"node_id":"MDQ6VXNlcjk3NDg3OA==","avatar_url":"https://avatars0.githubusercontent.com/u/974878?v=4","gravatar_id":"","url":"https://api.github.com/users/roymacdonald","html_url":"https://github.com/roymacdonald","followers_url":"https://api.github.com/users/roymacdonald/followers","following_url":"https://api.github.com/users/roymacdonald/following{/other_user}","gists_url":"https://api.github.com/users/roymacdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/roymacdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roymacdonald/subscriptions","organizations_url":"https://api.github.com/users/roymacdonald/orgs","repos_url":"https://api.github.com/users/roymacdonald/repos","events_url":"https://api.github.com/users/roymacdonald/events{/privacy}","received_events_url":"https://api.github.com/users/roymacdonald/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-04T22:28:00Z","updated_at":"2018-10-17T02:20:40Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/pulls/6144","html_url":"https://github.com/openframeworks/openFrameworks/pull/6144","diff_url":"https://github.com/openframeworks/openFrameworks/pull/6144.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/6144.patch"},"body":"Fix for this issue https://github.com/openframeworks/openFrameworks/issues/6133\r\n\r\nThe scrolling was still being handled when the gui was not being drawn both in ofxSlider and ofxInputField. \r\n\r\nTested using the code provided in the mentioned issue.\r\n\r\nAlso, \r\nthere is some redundant code in ofxSlider.cpp and ofxInputField.cpp. Both have a function called `toRange(...)` which is identical in both. When the scroll callback is called this function  is called. Can't we move this function to the ofxBaseGui for instance? Also, the code used in the scroll callback in both ofxSlider and ofxInputField is quite similar, maybe moving this to ofxBaseGui might be better too. \r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6143","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6143/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6143/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6143/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6143","id":366546777,"node_id":"MDU6SXNzdWUzNjY1NDY3Nzc=","number":6143,"title":"Missing support for non 2D texture types in ofTexture","user":{"login":"m1keall1son","id":2464817,"node_id":"MDQ6VXNlcjI0NjQ4MTc=","avatar_url":"https://avatars2.githubusercontent.com/u/2464817?v=4","gravatar_id":"","url":"https://api.github.com/users/m1keall1son","html_url":"https://github.com/m1keall1son","followers_url":"https://api.github.com/users/m1keall1son/followers","following_url":"https://api.github.com/users/m1keall1son/following{/other_user}","gists_url":"https://api.github.com/users/m1keall1son/gists{/gist_id}","starred_url":"https://api.github.com/users/m1keall1son/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/m1keall1son/subscriptions","organizations_url":"https://api.github.com/users/m1keall1son/orgs","repos_url":"https://api.github.com/users/m1keall1son/repos","events_url":"https://api.github.com/users/m1keall1son/events{/privacy}","received_events_url":"https://api.github.com/users/m1keall1son/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-10-03T22:00:11Z","updated_at":"2018-10-05T11:29:52Z","closed_at":null,"author_association":"NONE","body":"Unless i'm mistaken, I can't find any support for non-2D texture types. \r\n\r\nmissing:\r\n`GL_TEXTURE_2D_ARRAY`,\r\n`GL_TEXTURE_3D`,\r\n`GL_TEXTURE_1D`,\r\n`GL_TEXTURE_1D_ARRAY`,\r\n`GL_TEXTURE_CUBE_MAP`,\r\n`GL_TEXTURE_CUBE_MAP_ARRAY`,\r\n\r\nIt would make most sense to separate out the common functionality into an `ofTextureBase` base class and derive into something like `ofTexture1D`, `ofTexture2D`, `ofTexture3D` and `ofTextureCubeMap`.  For backwards compatibility alias `ofTexture2D` to `ofTexture`."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6142","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6142/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6142/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6142/events","html_url":"https://github.com/openframeworks/openFrameworks/pull/6142","id":366403137,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIwMDg1NTE1","number":6142,"title":"fixes xcode template to not have OF as a dependcy but as a pre-build …","user":{"login":"ofTheo","id":144000,"node_id":"MDQ6VXNlcjE0NDAwMA==","avatar_url":"https://avatars3.githubusercontent.com/u/144000?v=4","gravatar_id":"","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-10-03T15:41:06Z","updated_at":"2018-10-06T14:51:37Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/pulls/6142","html_url":"https://github.com/openframeworks/openFrameworks/pull/6142","diff_url":"https://github.com/openframeworks/openFrameworks/pull/6142.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/6142.patch"},"body":"…script. related to #6139"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6141","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6141/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6141/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6141/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6141","id":365257952,"node_id":"MDU6SXNzdWUzNjUyNTc5NTI=","number":6141,"title":"OF_RECTMODE_CENTER doesn't work on ofDrawRectRounded","user":{"login":"Nedelstein","id":41701865,"node_id":"MDQ6VXNlcjQxNzAxODY1","avatar_url":"https://avatars2.githubusercontent.com/u/41701865?v=4","gravatar_id":"","url":"https://api.github.com/users/Nedelstein","html_url":"https://github.com/Nedelstein","followers_url":"https://api.github.com/users/Nedelstein/followers","following_url":"https://api.github.com/users/Nedelstein/following{/other_user}","gists_url":"https://api.github.com/users/Nedelstein/gists{/gist_id}","starred_url":"https://api.github.com/users/Nedelstein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nedelstein/subscriptions","organizations_url":"https://api.github.com/users/Nedelstein/orgs","repos_url":"https://api.github.com/users/Nedelstein/repos","events_url":"https://api.github.com/users/Nedelstein/events{/privacy}","received_events_url":"https://api.github.com/users/Nedelstein/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-30T20:22:36Z","updated_at":"2018-09-30T20:22:36Z","closed_at":null,"author_association":"NONE","body":"Not the biggest deal, but thought it was worth mentioning. You can't seem to change the rectmode when using ofDrawRectRounded.\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6140","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6140/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6140/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6140/events","html_url":"https://github.com/openframeworks/openFrameworks/pull/6140","id":365198033,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE5MTg4NTUz","number":6140,"title":"add ofSystemConfirmDialog for confirming actions","user":{"login":"s-ol","id":1731279,"node_id":"MDQ6VXNlcjE3MzEyNzk=","avatar_url":"https://avatars1.githubusercontent.com/u/1731279?v=4","gravatar_id":"","url":"https://api.github.com/users/s-ol","html_url":"https://github.com/s-ol","followers_url":"https://api.github.com/users/s-ol/followers","following_url":"https://api.github.com/users/s-ol/following{/other_user}","gists_url":"https://api.github.com/users/s-ol/gists{/gist_id}","starred_url":"https://api.github.com/users/s-ol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/s-ol/subscriptions","organizations_url":"https://api.github.com/users/s-ol/orgs","repos_url":"https://api.github.com/users/s-ol/repos","events_url":"https://api.github.com/users/s-ol/events{/privacy}","received_events_url":"https://api.github.com/users/s-ol/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-09-30T06:44:10Z","updated_at":"2018-10-12T07:28:24Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/pulls/6140","html_url":"https://github.com/openframeworks/openFrameworks/pull/6140","diff_url":"https://github.com/openframeworks/openFrameworks/pull/6140.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/6140.patch"},"body":"This PR supersedes #3228 (ofSystemChoiceDialog).\r\n\r\nI have another cleanup commit ready (b90df914359e7eccde1de5dbb600278d1bf77538) but didn't attach it to this branch so the diff is clean for now.\r\n\r\nStatus:\r\n\r\n|                      | implemented | tested |\r\n| ----------------- | ---| -----|\r\n| Linux (GTK) | yes | yes |\r\n| Windows      | yes | no |\r\n| OS X            | yes | yes |\r\n| Android        | no | - |\r\n\r\nPlease help with testing!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6139","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6139/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6139/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6139/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6139","id":365180966,"node_id":"MDU6SXNzdWUzNjUxODA5NjY=","number":6139,"title":"mojave + xcode 10 issues","user":{"login":"ofZach","id":142897,"node_id":"MDQ6VXNlcjE0Mjg5Nw==","avatar_url":"https://avatars3.githubusercontent.com/u/142897?v=4","gravatar_id":"","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-09-30T01:17:56Z","updated_at":"2018-10-01T07:46:46Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"\r\nI'm looking at OF on Mojave and Xcode 10 which is kind of painful now -- \r\n\r\nsome notes (cc @ofTheo) \r\n\r\na) 32 bit needs to be removed (this has already been done in master...) \r\n\r\nb) on mojave apps need permission set as a plist for camera, microphone, and any other thing we might need to do that requires permissions (ala iPhone).  I feel like the easiest is we just add these to the template plist so that they are already set. \r\n\r\nc) there's something not right about the overall OF sub project, at the moment you can't open more than one OF project at the same time and build them (before you used to get an integrity warning but now it seems there is more of an error so you actually just can't build more than one project at once...  it's super weird) \r\n\r\nd) openframeworks library always gets rebuilt for each project :(  \r\n\r\n(maybe looking at this issue which this reminded me of -- https://github.com/openframeworks/openFrameworks/issues/5895) \r\n\r\nI'm looking into b/c/d at the moment...    "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6137","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6137/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6137/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6137/events","html_url":"https://github.com/openframeworks/openFrameworks/pull/6137","id":364358354,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE4NTY0Mzgx","number":6137,"title":"Add PUT request to ofURLFileLoader","user":{"login":"chriship","id":4815637,"node_id":"MDQ6VXNlcjQ4MTU2Mzc=","avatar_url":"https://avatars2.githubusercontent.com/u/4815637?v=4","gravatar_id":"","url":"https://api.github.com/users/chriship","html_url":"https://github.com/chriship","followers_url":"https://api.github.com/users/chriship/followers","following_url":"https://api.github.com/users/chriship/following{/other_user}","gists_url":"https://api.github.com/users/chriship/gists{/gist_id}","starred_url":"https://api.github.com/users/chriship/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriship/subscriptions","organizations_url":"https://api.github.com/users/chriship/orgs","repos_url":"https://api.github.com/users/chriship/repos","events_url":"https://api.github.com/users/chriship/events{/privacy}","received_events_url":"https://api.github.com/users/chriship/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-09-27T08:25:12Z","updated_at":"2018-09-27T15:58:42Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/pulls/6137","html_url":"https://github.com/openframeworks/openFrameworks/pull/6137","diff_url":"https://github.com/openframeworks/openFrameworks/pull/6137.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/6137.patch"},"body":"Add the ability to do a PUT request with ofHttpRequest"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6136","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6136/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6136/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6136/events","html_url":"https://github.com/openframeworks/openFrameworks/pull/6136","id":364357220,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE4NTYzNTMy","number":6136,"title":"Fix kerning issues in ofTrueTypeFont","user":{"login":"chriship","id":4815637,"node_id":"MDQ6VXNlcjQ4MTU2Mzc=","avatar_url":"https://avatars2.githubusercontent.com/u/4815637?v=4","gravatar_id":"","url":"https://api.github.com/users/chriship","html_url":"https://github.com/chriship","followers_url":"https://api.github.com/users/chriship/followers","following_url":"https://api.github.com/users/chriship/following{/other_user}","gists_url":"https://api.github.com/users/chriship/gists{/gist_id}","starred_url":"https://api.github.com/users/chriship/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriship/subscriptions","organizations_url":"https://api.github.com/users/chriship/orgs","repos_url":"https://api.github.com/users/chriship/repos","events_url":"https://api.github.com/users/chriship/events{/privacy}","received_events_url":"https://api.github.com/users/chriship/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-09-27T08:22:04Z","updated_at":"2018-10-08T19:19:41Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/pulls/6136","html_url":"https://github.com/openframeworks/openFrameworks/pull/6136","diff_url":"https://github.com/openframeworks/openFrameworks/pull/6136.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/6136.patch"},"body":"Freetype uses fixed point number for font calculation (26.6).\r\n\r\nIt means 26 bit integer and 6 bit decimal.\r\n\r\nSo we can not simply use the value of `FT_Get_Kerning` because we need to account for the .6\r\n\r\nHow to calculate?\r\nWe do bit shift to the right.\r\n\r\n`pen_x += delta.x >> 6;`\r\n\r\nThis is same calculation as dividing by 64 (2^6=64).\r\n\r\nSee Simple Text Rendering: Kerning and Centering sesction in this page. https://www.freetype.org/freetype2/docs/tutorial/step2.html#section-4\r\n\r\nThanks to @hiroMTB for figuring this out.\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6133","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6133/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6133/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6133/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6133","id":363073568,"node_id":"MDU6SXNzdWUzNjMwNzM1Njg=","number":6133,"title":"ofxGui scroll is active when it shouldn't be","user":{"login":"samubence","id":241047,"node_id":"MDQ6VXNlcjI0MTA0Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/241047?v=4","gravatar_id":"","url":"https://api.github.com/users/samubence","html_url":"https://github.com/samubence","followers_url":"https://api.github.com/users/samubence/followers","following_url":"https://api.github.com/users/samubence/following{/other_user}","gists_url":"https://api.github.com/users/samubence/gists{/gist_id}","starred_url":"https://api.github.com/users/samubence/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samubence/subscriptions","organizations_url":"https://api.github.com/users/samubence/orgs","repos_url":"https://api.github.com/users/samubence/repos","events_url":"https://api.github.com/users/samubence/events{/privacy}","received_events_url":"https://api.github.com/users/samubence/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-09-24T09:38:21Z","updated_at":"2018-10-04T22:28:29Z","closed_at":null,"author_association":"NONE","body":"You can change the value of a parameter e.g ofxSlider using the mouse scroll... which is a great feature.\r\nBut it still happens when the group is minimised and the cursor is not over the element. (it is very weird that in this case the slider only goes up and much faster than is was maximised)\r\nThe same happens when we don't display the panel, scroll still active.\r\nThis is a minimal code to demonstrate the behaviour. \r\n\r\nI'm using of_0.10.0 on macOS, xcode 10.0\r\n\r\n```\r\n#include \"ofMain.h\"\r\n#include \"ofxGui.h\"\r\n\r\nclass ofApp : public ofBaseApp\r\n{\r\npublic:\r\n    void setup()\r\n    {\r\n        gui.setDefaultWidth(400);\r\n        gui.setup();\r\n        gui.setPosition(0, 0);\r\n        group.setName(\"GROUP\");\r\n        group.add(param.set(\"param\", 0, 0, 255));\r\n        gui.add(group);\r\n        displayGui = true;\r\n    };\r\n    \r\n    void draw()\r\n    {\r\n        ofBackground(param, 0, 0);\r\n        \r\n        if (displayGui)\r\n        {\r\n            gui.draw();\r\n        }\r\n    };\r\n    \r\n    void keyPressed(int key)\r\n    {\r\n        displayGui = !displayGui;\r\n    }\r\n    \r\n    ofxPanel gui;\r\n    ofParameterGroup group;\r\n    ofParameter<float> param;\r\n    bool displayGui;\r\n};\r\n\r\nint main( )\r\n{\r\n\tofSetupOpenGL(400,100,OF_WINDOW);\r\n\tofRunApp(new ofApp());\r\n}\r\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6132","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6132/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6132/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6132/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6132","id":362785091,"node_id":"MDU6SXNzdWUzNjI3ODUwOTE=","number":6132,"title":"freeimage.dll not found (Windows 10, OF 0.10.0)","user":{"login":"k2msmith","id":41271669,"node_id":"MDQ6VXNlcjQxMjcxNjY5","avatar_url":"https://avatars3.githubusercontent.com/u/41271669?v=4","gravatar_id":"","url":"https://api.github.com/users/k2msmith","html_url":"https://github.com/k2msmith","followers_url":"https://api.github.com/users/k2msmith/followers","following_url":"https://api.github.com/users/k2msmith/following{/other_user}","gists_url":"https://api.github.com/users/k2msmith/gists{/gist_id}","starred_url":"https://api.github.com/users/k2msmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k2msmith/subscriptions","organizations_url":"https://api.github.com/users/k2msmith/orgs","repos_url":"https://api.github.com/users/k2msmith/repos","events_url":"https://api.github.com/users/k2msmith/events{/privacy}","received_events_url":"https://api.github.com/users/k2msmith/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-21T21:48:33Z","updated_at":"2018-09-21T21:48:33Z","closed_at":null,"author_association":"NONE","body":"On Windows 10 Pro and version 0.10.0 OF.  On some machines OF VS build/ link doesn’t find the freeimage.dll. This is puzzling because it appears that OF has a copy of the library in it’s release tree. So, why would I need to install another copy of the library on Windows ? I have reinstalled the library, but eventually the problem comes back. I am guessing that a windows update may have stomped on it and removed it again.   The problem only occurs for me on w32 but not x64.   On googling around, it appears other OF users have encountered the same problem (so it's just not my installation)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6129","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6129/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6129/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6129/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6129","id":361464541,"node_id":"MDU6SXNzdWUzNjE0NjQ1NDE=","number":6129,"title":"ofDirectory::sort() is slow! ","user":{"login":"ofTheo","id":144000,"node_id":"MDQ6VXNlcjE0NDAwMA==","avatar_url":"https://avatars3.githubusercontent.com/u/144000?v=4","gravatar_id":"","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User","site_admin":false},"labels":[{"id":14818,"node_id":"MDU6TGFiZWwxNDgxOA==","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f","default":false}],"state":"open","locked":false,"assignee":{"login":"ofTheo","id":144000,"node_id":"MDQ6VXNlcjE0NDAwMA==","avatar_url":"https://avatars3.githubusercontent.com/u/144000?v=4","gravatar_id":"","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User","site_admin":false},"assignees":[{"login":"ofTheo","id":144000,"node_id":"MDQ6VXNlcjE0NDAwMA==","avatar_url":"https://avatars3.githubusercontent.com/u/144000?v=4","gravatar_id":"","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/21","html_url":"https://github.com/openframeworks/openFrameworks/milestone/21","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/21/labels","id":902324,"node_id":"MDk6TWlsZXN0b25lOTAyMzI0","number":21,"title":"0.10.1","description":"","creator":{"login":"kylemcdonald","id":157106,"node_id":"MDQ6VXNlcjE1NzEwNg==","avatar_url":"https://avatars3.githubusercontent.com/u/157106?v=4","gravatar_id":"","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User","site_admin":false},"open_issues":31,"closed_issues":6,"state":"open","created_at":"2014-12-12T22:37:18Z","updated_at":"2018-09-18T20:11:58Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2018-09-18T20:11:58Z","updated_at":"2018-10-22T08:44:25Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"I noticed that with old projects which have a lot of png sequences that a project that used to take 20-30 seconds to load are now taking 15+ minutes. \r\n\r\nAll I did was add sort() after calls to listDir() ( due to the non-sorted directories Apple lovingly introduced #5852 ) \r\n\r\nTaking the current dirListExample, calling sort() with listDir() makes a directory listing takes more than 10x longer than not calling sort(), but then getting randomly ordered results. \r\n\r\nI noticed that if I sort the files first as strings instead of as a vector ofFile::References it is almost as fast as not sorting at all. \r\n\r\nI think this might be due to the extra overhead of having files loaded into memory ( even as references ). \r\n\r\nI need to put together a PR for this, the main issue I see is that I am sorting inside of listDir before even creating the files vector. The plus side is you get sorted results by default without having to call sort(); But calling sort() will still be slow.  I could prob get the fix to work in sort() too without losing the performance improvement. It might just need to rebuild the file list which is doable. \r\n\r\nThis is a comparison for sorting 110 files. \r\n```\r\nDebug\r\n time diff for file list with current sort: 0.349263 seconds \r\n time diff for file list with string based sort: 0.0325761 seconds \r\n\r\n= 10.7x faster with string based sort \r\n\r\nRelease\r\n time diff for file list with current sort: 0.339156 seconds \r\n time diff for file list with string based sort: 0.0316965 seconds \r\n\r\n= 10.7x faster with string based sort \r\n ```\r\n\r\nFor 792 files:\r\n\r\n```\r\nRelease:\r\n time diff for file list with current sort: 4.0761 seconds \r\n time diff for file list with string based sort: 0.180382 seconds \r\n\r\n= 21x faster with string based sort\r\n```\r\n\r\nGoing to post some more thoughts to this thread. \r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6128","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6128/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6128/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6128/events","html_url":"https://github.com/openframeworks/openFrameworks/pull/6128","id":361122717,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE2MTczNDIz","number":6128,"title":"Issue when  saving jpg","user":{"login":"cyrstem","id":2263696,"node_id":"MDQ6VXNlcjIyNjM2OTY=","avatar_url":"https://avatars0.githubusercontent.com/u/2263696?v=4","gravatar_id":"","url":"https://api.github.com/users/cyrstem","html_url":"https://github.com/cyrstem","followers_url":"https://api.github.com/users/cyrstem/followers","following_url":"https://api.github.com/users/cyrstem/following{/other_user}","gists_url":"https://api.github.com/users/cyrstem/gists{/gist_id}","starred_url":"https://api.github.com/users/cyrstem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cyrstem/subscriptions","organizations_url":"https://api.github.com/users/cyrstem/orgs","repos_url":"https://api.github.com/users/cyrstem/repos","events_url":"https://api.github.com/users/cyrstem/events{/privacy}","received_events_url":"https://api.github.com/users/cyrstem/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-09-18T03:33:39Z","updated_at":"2018-10-05T03:35:54Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/pulls/6128","html_url":"https://github.com/openframeworks/openFrameworks/pull/6128","diff_url":"https://github.com/openframeworks/openFrameworks/pull/6128.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/6128.patch"},"body":"changed from auto pixelFormat = OF_PIXELS_BGRA;\r\nto  auto pixelFormat = OF_PIXELS_RGBA;\r\ndon/t know if  ALPHA channel should stay but this fix  an issue saving images  with grabScreen"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6127","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6127/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6127/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6127/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6127","id":361033985,"node_id":"MDU6SXNzdWUzNjEwMzM5ODU=","number":6127,"title":"ofxPoco Problem Android Studio","user":{"login":"dottoremad","id":11161510,"node_id":"MDQ6VXNlcjExMTYxNTEw","avatar_url":"https://avatars3.githubusercontent.com/u/11161510?v=4","gravatar_id":"","url":"https://api.github.com/users/dottoremad","html_url":"https://github.com/dottoremad","followers_url":"https://api.github.com/users/dottoremad/followers","following_url":"https://api.github.com/users/dottoremad/following{/other_user}","gists_url":"https://api.github.com/users/dottoremad/gists{/gist_id}","starred_url":"https://api.github.com/users/dottoremad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dottoremad/subscriptions","organizations_url":"https://api.github.com/users/dottoremad/orgs","repos_url":"https://api.github.com/users/dottoremad/repos","events_url":"https://api.github.com/users/dottoremad/events{/privacy}","received_events_url":"https://api.github.com/users/dottoremad/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-17T20:37:28Z","updated_at":"2018-09-17T20:37:28Z","closed_at":null,"author_association":"NONE","body":"I am working on a project using ofxPoco and ofxHttpUtils.\r\nEverything works fine in Visual Studio on Windows and in Xcode on MacOS.\r\n\r\nIn Android Studio (Windows v 3.1.2 and MacOS v 3.1.4) using OF 0.10.0, the includes regarding Poco (addons\\ofxPoco\\libs\\poco\\include\\Poco) are not found, as for example\r\n#include <Poco/DOM/Document.h> at line 9 of ofxPoco/src/ofxXmlPoco.h\r\n\r\nTo reproduce the problem copy paste the empty example and add ofxPoco using the project generator, then open from Android Studio and build it."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6126","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6126/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6126/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6126/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6126","id":360902537,"node_id":"MDU6SXNzdWUzNjA5MDI1Mzc=","number":6126,"title":"emscripten emrun missing functions","user":{"login":"Mach1Studios","id":13720381,"node_id":"MDQ6VXNlcjEzNzIwMzgx","avatar_url":"https://avatars1.githubusercontent.com/u/13720381?v=4","gravatar_id":"","url":"https://api.github.com/users/Mach1Studios","html_url":"https://github.com/Mach1Studios","followers_url":"https://api.github.com/users/Mach1Studios/followers","following_url":"https://api.github.com/users/Mach1Studios/following{/other_user}","gists_url":"https://api.github.com/users/Mach1Studios/gists{/gist_id}","starred_url":"https://api.github.com/users/Mach1Studios/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mach1Studios/subscriptions","organizations_url":"https://api.github.com/users/Mach1Studios/orgs","repos_url":"https://api.github.com/users/Mach1Studios/repos","events_url":"https://api.github.com/users/Mach1Studios/events{/privacy}","received_events_url":"https://api.github.com/users/Mach1Studios/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-17T14:42:49Z","updated_at":"2018-09-17T14:42:49Z","closed_at":null,"author_association":"NONE","body":"After going through all the build instructions below with the latest, I am unable to run any example or project, i have tried several combinations and used `emcc --clear-cache` and `emmake make clean` throughout rebuilds with no success.\r\n\r\n```\r\n./emsdk update\r\n./emsdk install latest\r\n./emsdk activate latest\r\nsource ./emsdk_env.sh\r\ngit clone --depth=1 https://github.com/openFrameworks/openFrameworks.git\r\ncd openFrameworks\r\nscripts/emscripten/./download_libs.sh\r\ncd examples/3d/3DPrimitivesExample\r\ncp ../../../scripts/templates/emscripten/Makefile .\r\nemmake make\r\n```\r\nI have even added \r\n`cp ../../../scripts/templates/emscripten/config.make .`\r\nwhich did not help either\r\n\r\nthis is the result is always along the lines of:\r\n`$ emrun --browser chrome bin/3DPrimitivesExample.html`           \r\n```\r\nExecuting /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --incognito --enable-nacl --enable-pnacl --disable-restore-session-state --enable-webgl --no-default-browser-check --no-first-run --allow-file-access-from-files http://localhost:6931/3DPrimitivesExample.html\r\nCreated new window in existing browser session.\r\nmissing function: _Znwj\r\n-1\r\n-1\r\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6125","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6125/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6125/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6125/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6125","id":359925364,"node_id":"MDU6SXNzdWUzNTk5MjUzNjQ=","number":6125,"title":"ofAbstractParameter::isType<ParameterType>()","user":{"login":"eduardfrigola","id":7095844,"node_id":"MDQ6VXNlcjcwOTU4NDQ=","avatar_url":"https://avatars2.githubusercontent.com/u/7095844?v=4","gravatar_id":"","url":"https://api.github.com/users/eduardfrigola","html_url":"https://github.com/eduardfrigola","followers_url":"https://api.github.com/users/eduardfrigola/followers","following_url":"https://api.github.com/users/eduardfrigola/following{/other_user}","gists_url":"https://api.github.com/users/eduardfrigola/gists{/gist_id}","starred_url":"https://api.github.com/users/eduardfrigola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eduardfrigola/subscriptions","organizations_url":"https://api.github.com/users/eduardfrigola/orgs","repos_url":"https://api.github.com/users/eduardfrigola/repos","events_url":"https://api.github.com/users/eduardfrigola/events{/privacy}","received_events_url":"https://api.github.com/users/eduardfrigola/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-13T14:37:31Z","updated_at":"2018-09-13T14:37:31Z","closed_at":null,"author_association":"NONE","body":"I have been working with ofParameter a lot recently, and, despite trying to use templates as much as I can, somewhere I end up checking the type of a parameter. \r\n\r\n```cpp\r\nif(p.type() == typeid(ofParameter<float>).name()){\r\n    auto &cast = p.cast<float>();\r\n}\r\nelse if(p.type() == typeid(ofParameter<int>).name()){\r\n    auto &cast = p.cast<int>();\r\n}\r\nelse if(p.type() == typeid(ofParameter<bool>).name()){\r\n    auto &cast = p.cast<bool>();\r\n}\r\nelse if(p.type() == typeid(ofParameter<ofColor>).name()){\r\n    auto &cast = p.cast<ofColor>();\r\n}\r\nelse if(p.type() == typeid(ofParameter<string>).name()){\r\n    auto &cast = p.cast<string>();\r\n}\r\n```\r\n\r\n\r\nI thing it will be nice to add a function to ```ofAbstractParameter``` class to be able to check the parameter type with less code, and something more readable. Something as:\r\n\r\n```cpp\r\ntemplate<typename ParameterType>\r\nbool isType(){\r\n\treturn type() == typeid(ofParameter<ParameterType>).name();\r\n}\r\n```\r\n\r\nThe old code with the new function:\r\n```cpp\r\nif(p.isType<float>()){\r\n    auto &cast = p.cast<float>();\r\n}\r\nelse if(p.isType<int>()){\r\n    auto &cast = p.cast<int>();\r\n}\r\nelse if(p.isType<bool>()){\r\n    auto &cast = p.cast<bool>();\r\n}\r\nelse if(p.isType<ofColor>()){\r\n    auto &cast = p.cast<ofColor>();\r\n}\r\nelse if(p.isType<string>()){\r\n    auto &cast = p.cast<string>();\r\n}\r\n```\r\n\r\n\r\nDoes this make sense? \r\nIt makes ```type()``` unclear?\r\nDoes the name ```isType()``` is the correct one to use?\r\n\r\nEduard\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6124","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6124/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6124/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6124/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6124","id":358370579,"node_id":"MDU6SXNzdWUzNTgzNzA1Nzk=","number":6124,"title":"ofVideoPlayer in emscripten doesn't support urls","user":{"login":"arturoc","id":48240,"node_id":"MDQ6VXNlcjQ4MjQw","avatar_url":"https://avatars0.githubusercontent.com/u/48240?v=4","gravatar_id":"","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2018-09-09T11:22:14Z","updated_at":"2018-09-11T07:55:25Z","closed_at":null,"author_association":"MEMBER","body":"we should check if the passed path is an url and not try to open a file in that case"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6119","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6119/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6119/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6119/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/6119","id":356742467,"node_id":"MDU6SXNzdWUzNTY3NDI0Njc=","number":6119,"title":"support ofFastEvent in ofParameter","user":{"login":"sphaero","id":832465,"node_id":"MDQ6VXNlcjgzMjQ2NQ==","avatar_url":"https://avatars1.githubusercontent.com/u/832465?v=4","gravatar_id":"","url":"https://api.github.com/users/sphaero","html_url":"https://github.com/sphaero","followers_url":"https://api.github.com/users/sphaero/followers","following_url":"https://api.github.com/users/sphaero/following{/other_user}","gists_url":"https://api.github.com/users/sphaero/gists{/gist_id}","starred_url":"https://api.github.com/users/sphaero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sphaero/subscriptions","organizations_url":"https://api.github.com/users/sphaero/orgs","repos_url":"https://api.github.com/users/sphaero/repos","events_url":"https://api.github.com/users/sphaero/events{/privacy}","received_events_url":"https://api.github.com/users/sphaero/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-04T10:12:42Z","updated_at":"2018-09-04T10:12:42Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"As discussed here: https://forum.openframeworks.cc/t/ofparametergroup-and-custom-inherited-ofparameter-class/30237/12\r\n\r\ni.e. add an extra optional parameter to ofParameter which enabled ofFastEvent instead of the default ofEvent"}]
+
+https
+GET
+api.github.com
+None
+/repos/openframeworks/openFrameworks/stargazers
+{'Accept': 'application/vnd.github.v3.star+json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
+None
+200
+[('Server', 'GitHub.com'), ('Date', 'Fri, 26 Oct 2018 06:02:42 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4970'), ('X-RateLimit-Reset', '1540536267'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP'), ('ETag', 'W/"3ffd69d4f4e7383eae948812b1eb72e5"'), ('X-OAuth-Scopes', 'repo'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; param=star; format=json'), ('Link', '<https://api.github.com/repositories/345337/stargazers?page=2>; rel="next", <https://api.github.com/repositories/345337/stargazers?page=216>; rel="last"'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'F9D6:235E:3C00DD:772BC6:5BD2AE02')]
+[{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"atduskgreg","id":165,"node_id":"MDQ6VXNlcjE2NQ==","avatar_url":"https://avatars1.githubusercontent.com/u/165?v=4","gravatar_id":"","url":"https://api.github.com/users/atduskgreg","html_url":"https://github.com/atduskgreg","followers_url":"https://api.github.com/users/atduskgreg/followers","following_url":"https://api.github.com/users/atduskgreg/following{/other_user}","gists_url":"https://api.github.com/users/atduskgreg/gists{/gist_id}","starred_url":"https://api.github.com/users/atduskgreg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atduskgreg/subscriptions","organizations_url":"https://api.github.com/users/atduskgreg/orgs","repos_url":"https://api.github.com/users/atduskgreg/repos","events_url":"https://api.github.com/users/atduskgreg/events{/privacy}","received_events_url":"https://api.github.com/users/atduskgreg/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"DocSavage","id":185,"node_id":"MDQ6VXNlcjE4NQ==","avatar_url":"https://avatars1.githubusercontent.com/u/185?v=4","gravatar_id":"","url":"https://api.github.com/users/DocSavage","html_url":"https://github.com/DocSavage","followers_url":"https://api.github.com/users/DocSavage/followers","following_url":"https://api.github.com/users/DocSavage/following{/other_user}","gists_url":"https://api.github.com/users/DocSavage/gists{/gist_id}","starred_url":"https://api.github.com/users/DocSavage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DocSavage/subscriptions","organizations_url":"https://api.github.com/users/DocSavage/orgs","repos_url":"https://api.github.com/users/DocSavage/repos","events_url":"https://api.github.com/users/DocSavage/events{/privacy}","received_events_url":"https://api.github.com/users/DocSavage/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"dfl","id":282,"node_id":"MDQ6VXNlcjI4Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/282?v=4","gravatar_id":"","url":"https://api.github.com/users/dfl","html_url":"https://github.com/dfl","followers_url":"https://api.github.com/users/dfl/followers","following_url":"https://api.github.com/users/dfl/following{/other_user}","gists_url":"https://api.github.com/users/dfl/gists{/gist_id}","starred_url":"https://api.github.com/users/dfl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dfl/subscriptions","organizations_url":"https://api.github.com/users/dfl/orgs","repos_url":"https://api.github.com/users/dfl/repos","events_url":"https://api.github.com/users/dfl/events{/privacy}","received_events_url":"https://api.github.com/users/dfl/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"norio","id":307,"node_id":"MDQ6VXNlcjMwNw==","avatar_url":"https://avatars1.githubusercontent.com/u/307?v=4","gravatar_id":"","url":"https://api.github.com/users/norio","html_url":"https://github.com/norio","followers_url":"https://api.github.com/users/norio/followers","following_url":"https://api.github.com/users/norio/following{/other_user}","gists_url":"https://api.github.com/users/norio/gists{/gist_id}","starred_url":"https://api.github.com/users/norio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/norio/subscriptions","organizations_url":"https://api.github.com/users/norio/orgs","repos_url":"https://api.github.com/users/norio/repos","events_url":"https://api.github.com/users/norio/events{/privacy}","received_events_url":"https://api.github.com/users/norio/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"auser","id":529,"node_id":"MDQ6VXNlcjUyOQ==","avatar_url":"https://avatars1.githubusercontent.com/u/529?v=4","gravatar_id":"","url":"https://api.github.com/users/auser","html_url":"https://github.com/auser","followers_url":"https://api.github.com/users/auser/followers","following_url":"https://api.github.com/users/auser/following{/other_user}","gists_url":"https://api.github.com/users/auser/gists{/gist_id}","starred_url":"https://api.github.com/users/auser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/auser/subscriptions","organizations_url":"https://api.github.com/users/auser/orgs","repos_url":"https://api.github.com/users/auser/repos","events_url":"https://api.github.com/users/auser/events{/privacy}","received_events_url":"https://api.github.com/users/auser/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"keeran","id":848,"node_id":"MDQ6VXNlcjg0OA==","avatar_url":"https://avatars0.githubusercontent.com/u/848?v=4","gravatar_id":"","url":"https://api.github.com/users/keeran","html_url":"https://github.com/keeran","followers_url":"https://api.github.com/users/keeran/followers","following_url":"https://api.github.com/users/keeran/following{/other_user}","gists_url":"https://api.github.com/users/keeran/gists{/gist_id}","starred_url":"https://api.github.com/users/keeran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keeran/subscriptions","organizations_url":"https://api.github.com/users/keeran/orgs","repos_url":"https://api.github.com/users/keeran/repos","events_url":"https://api.github.com/users/keeran/events{/privacy}","received_events_url":"https://api.github.com/users/keeran/received_events","type":"User","site_admin":true}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"antramm","id":917,"node_id":"MDQ6VXNlcjkxNw==","avatar_url":"https://avatars2.githubusercontent.com/u/917?v=4","gravatar_id":"","url":"https://api.github.com/users/antramm","html_url":"https://github.com/antramm","followers_url":"https://api.github.com/users/antramm/followers","following_url":"https://api.github.com/users/antramm/following{/other_user}","gists_url":"https://api.github.com/users/antramm/gists{/gist_id}","starred_url":"https://api.github.com/users/antramm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antramm/subscriptions","organizations_url":"https://api.github.com/users/antramm/orgs","repos_url":"https://api.github.com/users/antramm/repos","events_url":"https://api.github.com/users/antramm/events{/privacy}","received_events_url":"https://api.github.com/users/antramm/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"ludwig","id":1056,"node_id":"MDQ6VXNlcjEwNTY=","avatar_url":"https://avatars0.githubusercontent.com/u/1056?v=4","gravatar_id":"","url":"https://api.github.com/users/ludwig","html_url":"https://github.com/ludwig","followers_url":"https://api.github.com/users/ludwig/followers","following_url":"https://api.github.com/users/ludwig/following{/other_user}","gists_url":"https://api.github.com/users/ludwig/gists{/gist_id}","starred_url":"https://api.github.com/users/ludwig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ludwig/subscriptions","organizations_url":"https://api.github.com/users/ludwig/orgs","repos_url":"https://api.github.com/users/ludwig/repos","events_url":"https://api.github.com/users/ludwig/events{/privacy}","received_events_url":"https://api.github.com/users/ludwig/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"mk","id":1187,"node_id":"MDQ6VXNlcjExODc=","avatar_url":"https://avatars2.githubusercontent.com/u/1187?v=4","gravatar_id":"","url":"https://api.github.com/users/mk","html_url":"https://github.com/mk","followers_url":"https://api.github.com/users/mk/followers","following_url":"https://api.github.com/users/mk/following{/other_user}","gists_url":"https://api.github.com/users/mk/gists{/gist_id}","starred_url":"https://api.github.com/users/mk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mk/subscriptions","organizations_url":"https://api.github.com/users/mk/orgs","repos_url":"https://api.github.com/users/mk/repos","events_url":"https://api.github.com/users/mk/events{/privacy}","received_events_url":"https://api.github.com/users/mk/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"reedlaw","id":1344,"node_id":"MDQ6VXNlcjEzNDQ=","avatar_url":"https://avatars0.githubusercontent.com/u/1344?v=4","gravatar_id":"","url":"https://api.github.com/users/reedlaw","html_url":"https://github.com/reedlaw","followers_url":"https://api.github.com/users/reedlaw/followers","following_url":"https://api.github.com/users/reedlaw/following{/other_user}","gists_url":"https://api.github.com/users/reedlaw/gists{/gist_id}","starred_url":"https://api.github.com/users/reedlaw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reedlaw/subscriptions","organizations_url":"https://api.github.com/users/reedlaw/orgs","repos_url":"https://api.github.com/users/reedlaw/repos","events_url":"https://api.github.com/users/reedlaw/events{/privacy}","received_events_url":"https://api.github.com/users/reedlaw/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"esiegel","id":1390,"node_id":"MDQ6VXNlcjEzOTA=","avatar_url":"https://avatars2.githubusercontent.com/u/1390?v=4","gravatar_id":"","url":"https://api.github.com/users/esiegel","html_url":"https://github.com/esiegel","followers_url":"https://api.github.com/users/esiegel/followers","following_url":"https://api.github.com/users/esiegel/following{/other_user}","gists_url":"https://api.github.com/users/esiegel/gists{/gist_id}","starred_url":"https://api.github.com/users/esiegel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/esiegel/subscriptions","organizations_url":"https://api.github.com/users/esiegel/orgs","repos_url":"https://api.github.com/users/esiegel/repos","events_url":"https://api.github.com/users/esiegel/events{/privacy}","received_events_url":"https://api.github.com/users/esiegel/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"gaubert","id":1482,"node_id":"MDQ6VXNlcjE0ODI=","avatar_url":"https://avatars1.githubusercontent.com/u/1482?v=4","gravatar_id":"","url":"https://api.github.com/users/gaubert","html_url":"https://github.com/gaubert","followers_url":"https://api.github.com/users/gaubert/followers","following_url":"https://api.github.com/users/gaubert/following{/other_user}","gists_url":"https://api.github.com/users/gaubert/gists{/gist_id}","starred_url":"https://api.github.com/users/gaubert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gaubert/subscriptions","organizations_url":"https://api.github.com/users/gaubert/orgs","repos_url":"https://api.github.com/users/gaubert/repos","events_url":"https://api.github.com/users/gaubert/events{/privacy}","received_events_url":"https://api.github.com/users/gaubert/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"pushkar","id":1484,"node_id":"MDQ6VXNlcjE0ODQ=","avatar_url":"https://avatars1.githubusercontent.com/u/1484?v=4","gravatar_id":"","url":"https://api.github.com/users/pushkar","html_url":"https://github.com/pushkar","followers_url":"https://api.github.com/users/pushkar/followers","following_url":"https://api.github.com/users/pushkar/following{/other_user}","gists_url":"https://api.github.com/users/pushkar/gists{/gist_id}","starred_url":"https://api.github.com/users/pushkar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pushkar/subscriptions","organizations_url":"https://api.github.com/users/pushkar/orgs","repos_url":"https://api.github.com/users/pushkar/repos","events_url":"https://api.github.com/users/pushkar/events{/privacy}","received_events_url":"https://api.github.com/users/pushkar/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"edwardgeorge","id":1572,"node_id":"MDQ6VXNlcjE1NzI=","avatar_url":"https://avatars0.githubusercontent.com/u/1572?v=4","gravatar_id":"","url":"https://api.github.com/users/edwardgeorge","html_url":"https://github.com/edwardgeorge","followers_url":"https://api.github.com/users/edwardgeorge/followers","following_url":"https://api.github.com/users/edwardgeorge/following{/other_user}","gists_url":"https://api.github.com/users/edwardgeorge/gists{/gist_id}","starred_url":"https://api.github.com/users/edwardgeorge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edwardgeorge/subscriptions","organizations_url":"https://api.github.com/users/edwardgeorge/orgs","repos_url":"https://api.github.com/users/edwardgeorge/repos","events_url":"https://api.github.com/users/edwardgeorge/events{/privacy}","received_events_url":"https://api.github.com/users/edwardgeorge/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"jonbro","id":1597,"node_id":"MDQ6VXNlcjE1OTc=","avatar_url":"https://avatars0.githubusercontent.com/u/1597?v=4","gravatar_id":"","url":"https://api.github.com/users/jonbro","html_url":"https://github.com/jonbro","followers_url":"https://api.github.com/users/jonbro/followers","following_url":"https://api.github.com/users/jonbro/following{/other_user}","gists_url":"https://api.github.com/users/jonbro/gists{/gist_id}","starred_url":"https://api.github.com/users/jonbro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonbro/subscriptions","organizations_url":"https://api.github.com/users/jonbro/orgs","repos_url":"https://api.github.com/users/jonbro/repos","events_url":"https://api.github.com/users/jonbro/events{/privacy}","received_events_url":"https://api.github.com/users/jonbro/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"lrtitze","id":1818,"node_id":"MDQ6VXNlcjE4MTg=","avatar_url":"https://avatars0.githubusercontent.com/u/1818?v=4","gravatar_id":"","url":"https://api.github.com/users/lrtitze","html_url":"https://github.com/lrtitze","followers_url":"https://api.github.com/users/lrtitze/followers","following_url":"https://api.github.com/users/lrtitze/following{/other_user}","gists_url":"https://api.github.com/users/lrtitze/gists{/gist_id}","starred_url":"https://api.github.com/users/lrtitze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lrtitze/subscriptions","organizations_url":"https://api.github.com/users/lrtitze/orgs","repos_url":"https://api.github.com/users/lrtitze/repos","events_url":"https://api.github.com/users/lrtitze/events{/privacy}","received_events_url":"https://api.github.com/users/lrtitze/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"sroske","id":2015,"node_id":"MDQ6VXNlcjIwMTU=","avatar_url":"https://avatars1.githubusercontent.com/u/2015?v=4","gravatar_id":"","url":"https://api.github.com/users/sroske","html_url":"https://github.com/sroske","followers_url":"https://api.github.com/users/sroske/followers","following_url":"https://api.github.com/users/sroske/following{/other_user}","gists_url":"https://api.github.com/users/sroske/gists{/gist_id}","starred_url":"https://api.github.com/users/sroske/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sroske/subscriptions","organizations_url":"https://api.github.com/users/sroske/orgs","repos_url":"https://api.github.com/users/sroske/repos","events_url":"https://api.github.com/users/sroske/events{/privacy}","received_events_url":"https://api.github.com/users/sroske/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"doubledare","id":2166,"node_id":"MDQ6VXNlcjIxNjY=","avatar_url":"https://avatars1.githubusercontent.com/u/2166?v=4","gravatar_id":"","url":"https://api.github.com/users/doubledare","html_url":"https://github.com/doubledare","followers_url":"https://api.github.com/users/doubledare/followers","following_url":"https://api.github.com/users/doubledare/following{/other_user}","gists_url":"https://api.github.com/users/doubledare/gists{/gist_id}","starred_url":"https://api.github.com/users/doubledare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/doubledare/subscriptions","organizations_url":"https://api.github.com/users/doubledare/orgs","repos_url":"https://api.github.com/users/doubledare/repos","events_url":"https://api.github.com/users/doubledare/events{/privacy}","received_events_url":"https://api.github.com/users/doubledare/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"JamesHarrison","id":2263,"node_id":"MDQ6VXNlcjIyNjM=","avatar_url":"https://avatars0.githubusercontent.com/u/2263?v=4","gravatar_id":"","url":"https://api.github.com/users/JamesHarrison","html_url":"https://github.com/JamesHarrison","followers_url":"https://api.github.com/users/JamesHarrison/followers","following_url":"https://api.github.com/users/JamesHarrison/following{/other_user}","gists_url":"https://api.github.com/users/JamesHarrison/gists{/gist_id}","starred_url":"https://api.github.com/users/JamesHarrison/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JamesHarrison/subscriptions","organizations_url":"https://api.github.com/users/JamesHarrison/orgs","repos_url":"https://api.github.com/users/JamesHarrison/repos","events_url":"https://api.github.com/users/JamesHarrison/events{/privacy}","received_events_url":"https://api.github.com/users/JamesHarrison/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"zemariamm","id":2427,"node_id":"MDQ6VXNlcjI0Mjc=","avatar_url":"https://avatars0.githubusercontent.com/u/2427?v=4","gravatar_id":"","url":"https://api.github.com/users/zemariamm","html_url":"https://github.com/zemariamm","followers_url":"https://api.github.com/users/zemariamm/followers","following_url":"https://api.github.com/users/zemariamm/following{/other_user}","gists_url":"https://api.github.com/users/zemariamm/gists{/gist_id}","starred_url":"https://api.github.com/users/zemariamm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zemariamm/subscriptions","organizations_url":"https://api.github.com/users/zemariamm/orgs","repos_url":"https://api.github.com/users/zemariamm/repos","events_url":"https://api.github.com/users/zemariamm/events{/privacy}","received_events_url":"https://api.github.com/users/zemariamm/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"tgittos","id":2472,"node_id":"MDQ6VXNlcjI0NzI=","avatar_url":"https://avatars3.githubusercontent.com/u/2472?v=4","gravatar_id":"","url":"https://api.github.com/users/tgittos","html_url":"https://github.com/tgittos","followers_url":"https://api.github.com/users/tgittos/followers","following_url":"https://api.github.com/users/tgittos/following{/other_user}","gists_url":"https://api.github.com/users/tgittos/gists{/gist_id}","starred_url":"https://api.github.com/users/tgittos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgittos/subscriptions","organizations_url":"https://api.github.com/users/tgittos/orgs","repos_url":"https://api.github.com/users/tgittos/repos","events_url":"https://api.github.com/users/tgittos/events{/privacy}","received_events_url":"https://api.github.com/users/tgittos/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"lhl","id":2581,"node_id":"MDQ6VXNlcjI1ODE=","avatar_url":"https://avatars2.githubusercontent.com/u/2581?v=4","gravatar_id":"","url":"https://api.github.com/users/lhl","html_url":"https://github.com/lhl","followers_url":"https://api.github.com/users/lhl/followers","following_url":"https://api.github.com/users/lhl/following{/other_user}","gists_url":"https://api.github.com/users/lhl/gists{/gist_id}","starred_url":"https://api.github.com/users/lhl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lhl/subscriptions","organizations_url":"https://api.github.com/users/lhl/orgs","repos_url":"https://api.github.com/users/lhl/repos","events_url":"https://api.github.com/users/lhl/events{/privacy}","received_events_url":"https://api.github.com/users/lhl/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"gabriel","id":2669,"node_id":"MDQ6VXNlcjI2Njk=","avatar_url":"https://avatars2.githubusercontent.com/u/2669?v=4","gravatar_id":"","url":"https://api.github.com/users/gabriel","html_url":"https://github.com/gabriel","followers_url":"https://api.github.com/users/gabriel/followers","following_url":"https://api.github.com/users/gabriel/following{/other_user}","gists_url":"https://api.github.com/users/gabriel/gists{/gist_id}","starred_url":"https://api.github.com/users/gabriel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gabriel/subscriptions","organizations_url":"https://api.github.com/users/gabriel/orgs","repos_url":"https://api.github.com/users/gabriel/repos","events_url":"https://api.github.com/users/gabriel/events{/privacy}","received_events_url":"https://api.github.com/users/gabriel/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"paulreimer","id":2677,"node_id":"MDQ6VXNlcjI2Nzc=","avatar_url":"https://avatars2.githubusercontent.com/u/2677?v=4","gravatar_id":"","url":"https://api.github.com/users/paulreimer","html_url":"https://github.com/paulreimer","followers_url":"https://api.github.com/users/paulreimer/followers","following_url":"https://api.github.com/users/paulreimer/following{/other_user}","gists_url":"https://api.github.com/users/paulreimer/gists{/gist_id}","starred_url":"https://api.github.com/users/paulreimer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paulreimer/subscriptions","organizations_url":"https://api.github.com/users/paulreimer/orgs","repos_url":"https://api.github.com/users/paulreimer/repos","events_url":"https://api.github.com/users/paulreimer/events{/privacy}","received_events_url":"https://api.github.com/users/paulreimer/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"kevinchiu","id":2712,"node_id":"MDQ6VXNlcjI3MTI=","avatar_url":"https://avatars3.githubusercontent.com/u/2712?v=4","gravatar_id":"","url":"https://api.github.com/users/kevinchiu","html_url":"https://github.com/kevinchiu","followers_url":"https://api.github.com/users/kevinchiu/followers","following_url":"https://api.github.com/users/kevinchiu/following{/other_user}","gists_url":"https://api.github.com/users/kevinchiu/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinchiu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinchiu/subscriptions","organizations_url":"https://api.github.com/users/kevinchiu/orgs","repos_url":"https://api.github.com/users/kevinchiu/repos","events_url":"https://api.github.com/users/kevinchiu/events{/privacy}","received_events_url":"https://api.github.com/users/kevinchiu/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"kumekay","id":2738,"node_id":"MDQ6VXNlcjI3Mzg=","avatar_url":"https://avatars1.githubusercontent.com/u/2738?v=4","gravatar_id":"","url":"https://api.github.com/users/kumekay","html_url":"https://github.com/kumekay","followers_url":"https://api.github.com/users/kumekay/followers","following_url":"https://api.github.com/users/kumekay/following{/other_user}","gists_url":"https://api.github.com/users/kumekay/gists{/gist_id}","starred_url":"https://api.github.com/users/kumekay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kumekay/subscriptions","organizations_url":"https://api.github.com/users/kumekay/orgs","repos_url":"https://api.github.com/users/kumekay/repos","events_url":"https://api.github.com/users/kumekay/events{/privacy}","received_events_url":"https://api.github.com/users/kumekay/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"peej","id":2858,"node_id":"MDQ6VXNlcjI4NTg=","avatar_url":"https://avatars1.githubusercontent.com/u/2858?v=4","gravatar_id":"","url":"https://api.github.com/users/peej","html_url":"https://github.com/peej","followers_url":"https://api.github.com/users/peej/followers","following_url":"https://api.github.com/users/peej/following{/other_user}","gists_url":"https://api.github.com/users/peej/gists{/gist_id}","starred_url":"https://api.github.com/users/peej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peej/subscriptions","organizations_url":"https://api.github.com/users/peej/orgs","repos_url":"https://api.github.com/users/peej/repos","events_url":"https://api.github.com/users/peej/events{/privacy}","received_events_url":"https://api.github.com/users/peej/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"stinie","id":3000,"node_id":"MDQ6VXNlcjMwMDA=","avatar_url":"https://avatars2.githubusercontent.com/u/3000?v=4","gravatar_id":"","url":"https://api.github.com/users/stinie","html_url":"https://github.com/stinie","followers_url":"https://api.github.com/users/stinie/followers","following_url":"https://api.github.com/users/stinie/following{/other_user}","gists_url":"https://api.github.com/users/stinie/gists{/gist_id}","starred_url":"https://api.github.com/users/stinie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stinie/subscriptions","organizations_url":"https://api.github.com/users/stinie/orgs","repos_url":"https://api.github.com/users/stinie/repos","events_url":"https://api.github.com/users/stinie/events{/privacy}","received_events_url":"https://api.github.com/users/stinie/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"subblue","id":3010,"node_id":"MDQ6VXNlcjMwMTA=","avatar_url":"https://avatars3.githubusercontent.com/u/3010?v=4","gravatar_id":"","url":"https://api.github.com/users/subblue","html_url":"https://github.com/subblue","followers_url":"https://api.github.com/users/subblue/followers","following_url":"https://api.github.com/users/subblue/following{/other_user}","gists_url":"https://api.github.com/users/subblue/gists{/gist_id}","starred_url":"https://api.github.com/users/subblue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/subblue/subscriptions","organizations_url":"https://api.github.com/users/subblue/orgs","repos_url":"https://api.github.com/users/subblue/repos","events_url":"https://api.github.com/users/subblue/events{/privacy}","received_events_url":"https://api.github.com/users/subblue/received_events","type":"User","site_admin":false}},{"starred_at":"2009-10-21T21:55:54Z","user":{"login":"mineiro","id":3123,"node_id":"MDQ6VXNlcjMxMjM=","avatar_url":"https://avatars1.githubusercontent.com/u/3123?v=4","gravatar_id":"","url":"https://api.github.com/users/mineiro","html_url":"https://github.com/mineiro","followers_url":"https://api.github.com/users/mineiro/followers","following_url":"https://api.github.com/users/mineiro/following{/other_user}","gists_url":"https://api.github.com/users/mineiro/gists{/gist_id}","starred_url":"https://api.github.com/users/mineiro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mineiro/subscriptions","organizations_url":"https://api.github.com/users/mineiro/orgs","repos_url":"https://api.github.com/users/mineiro/repos","events_url":"https://api.github.com/users/mineiro/events{/privacy}","received_events_url":"https://api.github.com/users/mineiro/received_events","type":"User","site_admin":false}}]
+