Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Do all paginated calls inside PaginatedList

This was already the case for Legacy.PaginatedList.

Doing it in PaginatedList.PaginatedList reduces the amount of
repeated code and will allow a generic solution for issue #77
  • Loading branch information...
commit ef403a15947f3fd5176fa97e6a2f2b0e7dfa6913 1 parent 25a7696
@jacquev6 jacquev6 authored
Showing with 200 additions and 553 deletions.
  1. +28 −112 github/AuthenticatedUser.py
  2. +4 −16 github/Commit.py
  3. +2 −8 github/Gist.py
  4. +2 −3 github/Github.py
  5. +6 −24 github/Issue.py
  6. +1 −2  github/Legacy.py
  7. +2 −8 github/Milestone.py
  8. +24 −96 github/NamedUser.py
  9. +10 −40 github/Organization.py
  10. +8 −7 github/PaginatedList.py
  11. +8 −32 github/PullRequest.py
  12. +46 −184 github/Repository.py
  13. +4 −16 github/Team.py
  14. +5 −0 test/ReplayData/Github.testLegacySearchReposExplicitPagination.txt
  15. +5 −0 test/ReplayData/Github.testLegacySearchUsersExplicitPagination.txt
  16. +0 −5 test/ReplayData/PaginatedList.setUp.txt
  17. +5 −0 test/ReplayData/PaginatedList.testIntIndexingAfterIteration.txt
  18. +5 −0 test/ReplayData/PaginatedList.testIntIndexingInFirstPage.txt
  19. +5 −0 test/ReplayData/PaginatedList.testIntIndexingInThirdPage.txt
  20. +5 −0 test/ReplayData/PaginatedList.testInterruptedIteration.txt
  21. +5 −0 test/ReplayData/PaginatedList.testInterruptedIterationInSlice.txt
  22. +5 −0 test/ReplayData/PaginatedList.testIteration.txt
  23. +5 −0 test/ReplayData/PaginatedList.testSliceIndexingInFirstPage.txt
  24. +5 −0 test/ReplayData/PaginatedList.testSliceIndexingUntilEnd.txt
  25. +5 −0 test/ReplayData/PaginatedList.testSliceIndexingUntilFourthPage.txt
View
140 github/AuthenticatedUser.py
@@ -332,17 +332,11 @@ def get_authorization( self, id ):
return Authorization.Authorization( self._requester, data, completed = True )
def get_authorizations( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/authorizations",
- None,
- None
- )
return PaginatedList.PaginatedList(
Authorization.Authorization,
self._requester,
- headers,
- data
+ "/authorizations",
+ None
)
def get_emails( self ):
@@ -355,73 +349,43 @@ def get_emails( self ):
return data
def get_events( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/events",
- None,
- None
- )
return PaginatedList.PaginatedList(
Event.Event,
self._requester,
- headers,
- data
+ "/events",
+ None
)
def get_followers( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/user/followers",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser.NamedUser,
self._requester,
- headers,
- data
+ "/user/followers",
+ None
)
def get_following( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/user/following",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser.NamedUser,
self._requester,
- headers,
- data
+ "/user/following",
+ None
)
def get_gists( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/gists",
- None,
- None
- )
return PaginatedList.PaginatedList(
Gist.Gist,
self._requester,
- headers,
- data
+ "/gists",
+ None
)
def get_issues( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/issues",
- None,
- None
- )
return PaginatedList.PaginatedList(
Issue.Issue,
self._requester,
- headers,
- data
+ "/issues",
+ None
)
def get_key( self, id ):
@@ -435,46 +399,28 @@ def get_key( self, id ):
return UserKey.UserKey( self._requester, data, completed = True )
def get_keys( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/user/keys",
- None,
- None
- )
return PaginatedList.PaginatedList(
UserKey.UserKey,
self._requester,
- headers,
- data
+ "/user/keys",
+ None
)
def get_organization_events( self, org ):
assert isinstance( org, Organization.Organization ), org
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/users/" + self.login + "/events/orgs/" + org.login,
- None,
- None
- )
return PaginatedList.PaginatedList(
Event.Event,
self._requester,
- headers,
- data
+ "/users/" + self.login + "/events/orgs/" + org.login,
+ None
)
def get_orgs( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/user/orgs",
- None,
- None
- )
return PaginatedList.PaginatedList(
Organization.Organization,
self._requester,
- headers,
- data
+ "/user/orgs",
+ None
)
def get_repo( self, name ):
@@ -498,73 +444,43 @@ def get_repos( self, type = GithubObject.NotSet, sort = GithubObject.NotSet, dir
url_parameters[ "sort" ] = sort
if direction is not GithubObject.NotSet:
url_parameters[ "direction" ] = direction
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/user/repos",
- url_parameters,
- None
- )
return PaginatedList.PaginatedList(
Repository.Repository,
self._requester,
- headers,
- data
+ "/user/repos",
+ url_parameters
)
def get_starred( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/user/starred",
- None,
- None
- )
return PaginatedList.PaginatedList(
Repository.Repository,
self._requester,
- headers,
- data
+ "/user/starred",
+ None
)
def get_starred_gists( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/gists/starred",
- None,
- None
- )
return PaginatedList.PaginatedList(
Gist.Gist,
self._requester,
- headers,
- data
+ "/gists/starred",
+ None
)
def get_subscriptions( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/user/subscriptions",
- None,
- None
- )
return PaginatedList.PaginatedList(
Repository.Repository,
self._requester,
- headers,
- data
+ "/user/subscriptions",
+ None
)
def get_watched( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/user/watched",
- None,
- None
- )
return PaginatedList.PaginatedList(
Repository.Repository,
self._requester,
- headers,
- data
+ "/user/watched",
+ None
)
def has_in_following( self, following ):
View
20 github/Commit.py
@@ -105,31 +105,19 @@ def create_status( self, state, target_url = GithubObject.NotSet, description =
return CommitStatus.CommitStatus( self._requester, data, completed = True )
def get_comments( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/comments",
- None,
- None
- )
return PaginatedList.PaginatedList(
CommitComment.CommitComment,
self._requester,
- headers,
- data
+ self.url + "/comments",
+ None
)
def get_statuses( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self._parentUrl( self._parentUrl( self.url ) ) + "/statuses/" + self.sha,
- None,
- None
- )
return PaginatedList.PaginatedList(
CommitStatus.CommitStatus,
self._requester,
- headers,
- data
+ self._parentUrl( self._parentUrl( self.url ) ) + "/statuses/" + self.sha,
+ None
)
@property
View
10 github/Gist.py
@@ -154,17 +154,11 @@ def get_comment( self, id ):
return GistComment.GistComment( self._requester, data, completed = True )
def get_comments( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/comments",
- None,
- None
- )
return PaginatedList.PaginatedList(
GistComment.GistComment,
self._requester,
- headers,
- data
+ self.url + "/comments",
+ None
)
def is_starred( self ):
View
5 github/Github.py
@@ -69,12 +69,11 @@ def get_gist( self, id ):
return Gist.Gist( self.__requester, data, completed = True )
def get_gists( self ):
- headers, data = self.__requester.requestAndCheck( "GET", "/gists/public", None, None )
return PaginatedList.PaginatedList(
Gist.Gist,
self.__requester,
- headers,
- data
+ "/gists/public",
+ None
)
def legacy_search_repos( self, keyword, language = GithubObject.NotSet ):
View
30 github/Issue.py
@@ -183,45 +183,27 @@ def get_comment( self, id ):
return IssueComment.IssueComment( self._requester, data, completed = True )
def get_comments( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/comments",
- None,
- None
- )
return PaginatedList.PaginatedList(
IssueComment.IssueComment,
self._requester,
- headers,
- data
+ self.url + "/comments",
+ None
)
def get_events( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/events",
- None,
- None
- )
return PaginatedList.PaginatedList(
IssueEvent.IssueEvent,
self._requester,
- headers,
- data
+ self.url + "/events",
+ None
)
def get_labels( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/labels",
- None,
- None
- )
return PaginatedList.PaginatedList(
Label.Label,
self._requester,
- headers,
- data
+ self.url + "/labels",
+ None
)
def remove_from_labels( self, label ):
View
3  github/Legacy.py
@@ -15,7 +15,7 @@
class PaginatedList( PaginatedListBase ):
def __init__( self, url, args, requester, key, convert, contentClass ):
- PaginatedListBase.__init__( self, list() )
+ PaginatedListBase.__init__( self )
self.__url = url
self.__args = args
self.__requester = requester
@@ -24,7 +24,6 @@ def __init__( self, url, args, requester, key, convert, contentClass ):
self.__contentClass = contentClass
self.__nextPage = 1
self.__continue = True
- self.__elements = list()
def _couldGrow( self ):
return self.__continue
View
10 github/Milestone.py
@@ -106,17 +106,11 @@ def edit( self, title, state = GithubObject.NotSet, description = GithubObject.N
self._useAttributes( data )
def get_labels( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/labels",
- None,
- None
- )
return PaginatedList.PaginatedList(
Label.Label,
self._requester,
- headers,
- data
+ self.url + "/labels",
+ None
)
@property
View
120 github/NamedUser.py
@@ -172,115 +172,67 @@ def create_gist( self, public, files, description = GithubObject.NotSet ):
return Gist.Gist( self._requester, data, completed = True )
def get_events( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/events",
- None,
- None
- )
return PaginatedList.PaginatedList(
Event.Event,
self._requester,
- headers,
- data
+ self.url + "/events",
+ None
)
def get_followers( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/followers",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser,
self._requester,
- headers,
- data
+ self.url + "/followers",
+ None
)
def get_following( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/following",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser,
self._requester,
- headers,
- data
+ self.url + "/following",
+ None
)
def get_gists( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/gists",
- None,
- None
- )
return PaginatedList.PaginatedList(
Gist.Gist,
self._requester,
- headers,
- data
+ self.url + "/gists",
+ None
)
def get_orgs( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/orgs",
- None,
- None
- )
return PaginatedList.PaginatedList(
Organization.Organization,
self._requester,
- headers,
- data
+ self.url + "/orgs",
+ None
)
def get_public_events( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/events/public",
- None,
- None
- )
return PaginatedList.PaginatedList(
Event.Event,
self._requester,
- headers,
- data
+ self.url + "/events/public",
+ None
)
def get_public_received_events( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/received_events/public",
- None,
- None
- )
return PaginatedList.PaginatedList(
Event.Event,
self._requester,
- headers,
- data
+ self.url + "/received_events/public",
+ None
)
def get_received_events( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/received_events",
- None,
- None
- )
return PaginatedList.PaginatedList(
Event.Event,
self._requester,
- headers,
- data
+ self.url + "/received_events",
+ None
)
def get_repo( self, name ):
@@ -298,59 +250,35 @@ def get_repos( self, type = GithubObject.NotSet ):
url_parameters = dict()
if type is not GithubObject.NotSet:
url_parameters[ "type" ] = type
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/repos",
- url_parameters,
- None
- )
return PaginatedList.PaginatedList(
Repository.Repository,
self._requester,
- headers,
- data
+ self.url + "/repos",
+ url_parameters
)
def get_starred( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/starred",
- None,
- None
- )
return PaginatedList.PaginatedList(
Repository.Repository,
self._requester,
- headers,
- data
+ self.url + "/starred",
+ None
)
def get_subscriptions( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/subscriptions",
- None,
- None
- )
return PaginatedList.PaginatedList(
Repository.Repository,
self._requester,
- headers,
- data
+ self.url + "/subscriptions",
+ None
)
def get_watched( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/watched",
- None,
- None
- )
return PaginatedList.PaginatedList(
Repository.Repository,
self._requester,
- headers,
- data
+ self.url + "/watched",
+ None
)
@property
View
50 github/Organization.py
@@ -245,45 +245,27 @@ def edit( self, billing_email = GithubObject.NotSet, blog = GithubObject.NotSet,
self._useAttributes( data )
def get_events( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/events",
- None,
- None
- )
return PaginatedList.PaginatedList(
Event.Event,
self._requester,
- headers,
- data
+ self.url + "/events",
+ None
)
def get_members( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/members",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser.NamedUser,
self._requester,
- headers,
- data
+ self.url + "/members",
+ None
)
def get_public_members( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/public_members",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser.NamedUser,
self._requester,
- headers,
- data
+ self.url + "/public_members",
+ None
)
def get_repo( self, name ):
@@ -301,17 +283,11 @@ def get_repos( self, type = GithubObject.NotSet ):
url_parameters = dict()
if type is not GithubObject.NotSet:
url_parameters[ "type" ] = type
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/repos",
- url_parameters,
- None
- )
return PaginatedList.PaginatedList(
Repository.Repository,
self._requester,
- headers,
- data
+ self.url + "/repos",
+ url_parameters
)
def get_team( self, id ):
@@ -325,17 +301,11 @@ def get_team( self, id ):
return Team.Team( self._requester, data, completed = True )
def get_teams( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/teams",
- None,
- None
- )
return PaginatedList.PaginatedList(
Team.Team,
self._requester,
- headers,
- data
+ self.url + "/teams",
+ None
)
def has_in_members( self, member ):
View
15 github/PaginatedList.py
@@ -14,8 +14,8 @@
import GithubObject
class PaginatedListBase:
- def __init__( self, firstElements ):
- self.__elements = firstElements
+ def __init__( self ):
+ self.__elements = list()
def __getitem__( self, index ):
assert isinstance( index, ( int, slice ) )
@@ -65,24 +65,25 @@ def __finished( self, index ):
return self.__stop is not None and index >= self.__stop
class PaginatedList( PaginatedListBase ):
- def __init__( self, contentClass, requester, headers, data ):
+ def __init__( self, contentClass, requester, nextUrl, nextParams ):
+ PaginatedListBase.__init__( self )
self.__requester = requester
self.__contentClass = contentClass
- PaginatedListBase.__init__( self, self.__extractNewElements( headers, data ) )
+ self.__nextUrl = nextUrl
+ self.__nextParams = nextParams
def _couldGrow( self ):
return self.__nextUrl is not None
def _fetchNextPage( self ):
- headers, data = self.__requester.requestAndCheck( "GET", self.__nextUrl, None, None )
- return self.__extractNewElements( headers, data )
+ headers, data = self.__requester.requestAndCheck( "GET", self.__nextUrl, self.__nextParams, None )
- def __extractNewElements( self, headers, data ):
links = self.__parseLinkHeader( headers )
if len( data ) > 0 and "next" in links:
self.__nextUrl = links[ "next" ]
else:
self.__nextUrl = None
+ self.__nextParams = None
return [
self.__contentClass( self.__requester, element, completed = False )
View
40 github/PullRequest.py
@@ -224,45 +224,27 @@ def get_comments( self ):
return self.get_review_comments()
def get_review_comments( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/comments",
- None,
- None
- )
return PaginatedList.PaginatedList(
PullRequestComment.PullRequestComment,
self._requester,
- headers,
- data
+ self.url + "/comments",
+ None
)
def get_commits( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/commits",
- None,
- None
- )
return PaginatedList.PaginatedList(
Commit.Commit,
self._requester,
- headers,
- data
+ self.url + "/commits",
+ None
)
def get_files( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/files",
- None,
- None
- )
return PaginatedList.PaginatedList(
File.File,
self._requester,
- headers,
- data
+ self.url + "/files",
+ None
)
def get_issue_comment( self, id ):
@@ -276,17 +258,11 @@ def get_issue_comment( self, id ):
return IssueComment.IssueComment( self._requester, data, completed = True )
def get_issue_comments( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self._parentUrl( self._parentUrl( self.url ) ) + "/issues/" + str( self.number ) + "/comments",
- None,
- None
- )
return PaginatedList.PaginatedList(
IssueComment.IssueComment,
self._requester,
- headers,
- data
+ self._parentUrl( self._parentUrl( self.url ) ) + "/issues/" + str( self.number ) + "/comments",
+ None
)
def is_merged( self ):
View
230 github/Repository.py
@@ -510,17 +510,11 @@ def get_archive_link( self, archive_format, ref = GithubObject.NotSet ):
return headers[ "location" ]
def get_assignees( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/assignees",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser.NamedUser,
self._requester,
- headers,
- data
+ self.url + "/assignees",
+ None
)
def get_branch( self, branch ):
@@ -534,31 +528,19 @@ def get_branch( self, branch ):
return Branch.Branch( self._requester, data, completed = True )
def get_branches( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/branches",
- None,
- None
- )
return PaginatedList.PaginatedList(
Branch.Branch,
self._requester,
- headers,
- data
+ self.url + "/branches",
+ None
)
def get_collaborators( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/collaborators",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser.NamedUser,
self._requester,
- headers,
- data
+ self.url + "/collaborators",
+ None
)
def get_comment( self, id ):
@@ -572,17 +554,11 @@ def get_comment( self, id ):
return CommitComment.CommitComment( self._requester, data, completed = True )
def get_comments( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/comments",
- None,
- None
- )
return PaginatedList.PaginatedList(
CommitComment.CommitComment,
self._requester,
- headers,
- data
+ self.url + "/comments",
+ None
)
def get_commit( self, sha ):
@@ -603,17 +579,11 @@ def get_commits( self, sha = GithubObject.NotSet, path = GithubObject.NotSet ):
url_parameters[ "sha" ] = sha
if path is not GithubObject.NotSet:
url_parameters[ "path" ] = path
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/commits",
- url_parameters,
- None
- )
return PaginatedList.PaginatedList(
Commit.Commit,
self._requester,
- headers,
- data
+ self.url + "/commits",
+ url_parameters
)
def get_contents( self, path ):
@@ -627,17 +597,11 @@ def get_contents( self, path ):
return ContentFile.ContentFile( self._requester, data, completed = True )
def get_contributors( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/contributors",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser.NamedUser,
self._requester,
- headers,
- data
+ self.url + "/contributors",
+ None
)
def get_download( self, id ):
@@ -651,45 +615,27 @@ def get_download( self, id ):
return Download.Download( self._requester, data, completed = True )
def get_downloads( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/downloads",
- None,
- None
- )
return PaginatedList.PaginatedList(
Download.Download,
self._requester,
- headers,
- data
+ self.url + "/downloads",
+ None
)
def get_events( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/events",
- None,
- None
- )
return PaginatedList.PaginatedList(
Event.Event,
self._requester,
- headers,
- data
+ self.url + "/events",
+ None
)
def get_forks( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/forks",
- None,
- None
- )
return PaginatedList.PaginatedList(
Repository,
self._requester,
- headers,
- data
+ self.url + "/forks",
+ None
)
def get_git_blob( self, sha ):
@@ -723,17 +669,11 @@ def get_git_ref( self, ref ):
return GitRef.GitRef( self._requester, data, completed = True )
def get_git_refs( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/git/refs",
- None,
- None
- )
return PaginatedList.PaginatedList(
GitRef.GitRef,
self._requester,
- headers,
- data
+ self.url + "/git/refs",
+ None
)
def get_git_tag( self, sha ):
@@ -771,17 +711,11 @@ def get_hook( self, id ):
return Hook.Hook( self._requester, data, completed = True )
def get_hooks( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/hooks",
- None,
- None
- )
return PaginatedList.PaginatedList(
Hook.Hook,
self._requester,
- headers,
- data
+ self.url + "/hooks",
+ None
)
def get_issue( self, number ):
@@ -826,17 +760,11 @@ def get_issues( self, milestone = GithubObject.NotSet, state = GithubObject.NotS
url_parameters[ "direction" ] = direction
if since is not GithubObject.NotSet:
url_parameters[ "since" ] = since.strftime( "%Y-%m-%dT%H:%M:%SZ" )
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/issues",
- url_parameters,
- None
- )
return PaginatedList.PaginatedList(
Issue.Issue,
self._requester,
- headers,
- data
+ self.url + "/issues",
+ url_parameters
)
def get_issues_event( self, id ):
@@ -850,17 +778,11 @@ def get_issues_event( self, id ):
return IssueEvent.IssueEvent( self._requester, data, completed = True )
def get_issues_events( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/issues/events",
- None,
- None
- )
return PaginatedList.PaginatedList(
IssueEvent.IssueEvent,
self._requester,
- headers,
- data
+ self.url + "/issues/events",
+ None
)
def get_key( self, id ):
@@ -874,17 +796,11 @@ def get_key( self, id ):
return RepositoryKey.RepositoryKey( self._requester, data, completed = True, repoUrl = self._url )
def get_keys( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/keys",
- None,
- None
- )
return PaginatedList.PaginatedList(
lambda requester, data, completed: RepositoryKey.RepositoryKey( requester, data, completed, repoUrl = self._url ),
self._requester,
- headers,
- data
+ self.url + "/keys",
+ None
)
def get_label( self, name ):
@@ -898,17 +814,11 @@ def get_label( self, name ):
return Label.Label( self._requester, data, completed = True )
def get_labels( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/labels",
- None,
- None
- )
return PaginatedList.PaginatedList(
Label.Label,
self._requester,
- headers,
- data
+ self.url + "/labels",
+ None
)
def get_languages( self ):
@@ -941,31 +851,19 @@ def get_milestones( self, state = GithubObject.NotSet, sort = GithubObject.NotSe
url_parameters[ "sort" ] = sort
if direction is not GithubObject.NotSet:
url_parameters[ "direction" ] = direction
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/milestones",
- url_parameters,
- None
- )
return PaginatedList.PaginatedList(
Milestone.Milestone,
self._requester,
- headers,
- data
+ self.url + "/milestones",
+ url_parameters
)
def get_network_events( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- "/networks/" + self.owner.login + "/" + self.name + "/events",
- None,
- None
- )
return PaginatedList.PaginatedList(
Event.Event,
self._requester,
- headers,
- data
+ "/networks/" + self.owner.login + "/" + self.name + "/events",
+ None
)
def get_pull( self, number ):
@@ -983,17 +881,11 @@ def get_pulls( self, state = GithubObject.NotSet ):
url_parameters = dict()
if state is not GithubObject.NotSet:
url_parameters[ "state" ] = state
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/pulls",
- url_parameters,
- None
- )
return PaginatedList.PaginatedList(
PullRequest.PullRequest,
self._requester,
- headers,
- data
+ self.url + "/pulls",
+ url_parameters
)
def get_readme( self ):
@@ -1006,73 +898,43 @@ def get_readme( self ):
return ContentFile.ContentFile( self._requester, data, completed = True )
def get_stargazers( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/stargazers",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser.NamedUser,
self._requester,
- headers,
- data
+ self.url + "/stargazers",
+ None
)
def get_subscribers( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/subscribers",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser.NamedUser,
self._requester,
- headers,
- data
+ self.url + "/subscribers",
+ None
)
def get_tags( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/tags",
- None,
- None
- )
return PaginatedList.PaginatedList(
Tag.Tag,
self._requester,
- headers,
- data
+ self.url + "/tags",
+ None
)
def get_teams( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/teams",
- None,
- None
- )
return PaginatedList.PaginatedList(
Team.Team,
self._requester,
- headers,
- data
+ self.url + "/teams",
+ None
)
def get_watchers( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/watchers",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser.NamedUser,
self._requester,
- headers,
- data
+ self.url + "/watchers",
+ None
)
def has_in_assignees( self, assignee ):
View
20 github/Team.py
@@ -91,31 +91,19 @@ def edit( self, name, permission = GithubObject.NotSet ):
self._useAttributes( data )
def get_members( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/members",
- None,
- None
- )
return PaginatedList.PaginatedList(
NamedUser.NamedUser,
self._requester,
- headers,
- data
+ self.url + "/members",
+ None
)
def get_repos( self ):
- headers, data = self._requester.requestAndCheck(
- "GET",
- self.url + "/repos",
- None,
- None
- )
return PaginatedList.PaginatedList(
Repository.Repository,
self._requester,
- headers,
- data
+ self.url + "/repos",
+ None
)
def has_in_members( self, member ):
View
5 test/ReplayData/Github.testLegacySearchReposExplicitPagination.txt
@@ -0,0 +1,5 @@
+https GET api.github.com None /legacy/repos/search/python?start_page=5 {'Authorization': 'Basic login_and_password_removed'} null
+200
+[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('content-length', '40758'), ('server', 'nginx'), ('connection', 'keep-alive'), ('etag', '"55a485e08fb00f1ed4304534fbbf0cb0"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Tue, 11 Sep 2012 21:27:18 GMT'), ('content-type', 'application/json; charset=utf-8')]
+{"repositories":[{"type":"repo","forks":183,"owner":"kriswallsmith","pushed":"2012-09-07T10:40:33-07:00","username":"kriswallsmith","description":"Asset Management for PHP","created_at":"2011-01-10T09:47:13-08:00","watchers":1171,"followers":1171,"fork":false,"size":752,"created":"2011-01-10T09:47:13-08:00","name":"assetic","private":false,"pushed_at":"2012-09-07T10:40:33-07:00","language":"PHP"},{"type":"repo","forks":28,"owner":"Vizzuality","pushed":"2012-09-11T13:59:46-07:00","username":"Vizzuality","description":"Geospatial database for the cloud","created_at":"2011-01-12T07:25:41-08:00","watchers":238,"followers":238,"fork":false,"size":352,"created":"2011-01-12T07:25:41-08:00","name":"cartodb","private":false,"pushed_at":"2012-09-11T13:59:46-07:00","language":"JavaScript"},{"type":"repo","forks":73,"owner":"sebastien","pushed":"2012-09-11T12:10:16-07:00","username":"sebastien","description":"Chef-like functionality for Fabric","created_at":"2011-02-28T12:26:37-08:00","watchers":515,"followers":515,"fork":false,"size":236,"created":"2011-02-28T12:26:37-08:00","name":"cuisine","private":false,"pushed_at":"2012-09-11T12:10:16-07:00","language":"Python"},{"type":"repo","forks":26,"owner":"dound","pushed":"2011-12-19T12:52:24-08:00","username":"dound","description":"Fast, lightweight Sessions middleware for Google App Engine (secure cookies, memcache, or datastore)","created_at":"2010-04-07T02:30:31-07:00","watchers":231,"followers":231,"fork":false,"size":272,"created":"2010-04-07T02:30:31-07:00","name":"gae-sessions","private":false,"pushed_at":"2011-12-19T12:52:24-08:00","language":"Python"},{"type":"repo","forks":2,"owner":"geoalchemy","pushed":"2012-09-11T10:16:06-07:00","username":"geoalchemy","description":"GeoAlchemy 2","created_at":"2012-09-01T03:00:24-07:00","watchers":2,"followers":2,"fork":false,"size":228,"created":"2012-09-01T03:00:24-07:00","name":"geoalchemy2","private":false,"pushed_at":"2012-09-11T10:16:06-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"SimonSapin","pushed":"2012-09-11T12:15:38-07:00","username":"SimonSapin","description":"Data Access Library","created_at":"2011-07-03T10:32:42-07:00","watchers":2,"followers":2,"fork":true,"size":232,"created":"2011-07-03T10:32:42-07:00","name":"Multicorn","private":false,"pushed_at":"2012-09-11T12:15:38-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"JeanFred","pushed":"2012-09-11T13:08:53-07:00","username":"JeanFred","description":"A WmFr timeline","created_at":"2012-08-07T12:38:19-07:00","watchers":0,"followers":0,"fork":false,"size":336,"created":"2012-08-07T12:38:19-07:00","name":"wmfr-timeline","private":false,"pushed_at":"2012-09-11T13:08:53-07:00","language":"Python"},{"type":"repo","forks":12,"owner":"sripathikrishnan","pushed":"2012-08-02T08:16:15-07:00","username":"sripathikrishnan","description":"Parse Redis dump.rdb files, Analyze Memory, and Export Data to JSON","created_at":"2012-03-10T03:09:12-08:00","watchers":108,"followers":108,"fork":false,"size":132,"created":"2012-03-10T03:09:12-08:00","name":"redis-rdb-tools","private":false,"pushed_at":"2012-08-02T08:16:15-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"Ilastik","pushed":"2012-09-11T10:02:43-07:00","username":"Ilastik","description":"ilastik-shell, applets, and workflows to string them together.","created_at":"2012-05-08T08:59:36-07:00","watchers":1,"followers":1,"fork":false,"size":296,"created":"2012-05-08T08:59:36-07:00","name":"applet-workflows","private":false,"pushed_at":"2012-09-11T10:02:43-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"agoebel","pushed":"2012-09-11T10:19:08-07:00","username":"agoebel","description":"a micro command line tool that posts delayed tweets (like Buffer)","created_at":"2012-09-11T10:18:41-07:00","watchers":0,"followers":0,"fork":false,"size":92,"created":"2012-09-11T10:18:41-07:00","name":"TweetBuff","private":false,"pushed_at":"2012-09-11T10:19:08-07:00","language":"Python"},{"type":"repo","forks":77,"owner":"groovy","pushed":"2012-09-11T10:24:22-07:00","username":"groovy","description":"Groovy language Git repository","created_at":"2011-09-19T00:41:42-07:00","watchers":227,"followers":227,"fork":false,"size":928,"created":"2011-09-19T00:41:42-07:00","name":"groovy-core","private":false,"pushed_at":"2012-09-11T10:24:22-07:00","language":"Java"},{"type":"repo","forks":0,"owner":"RazvanB","pushed":"2012-09-11T10:34:54-07:00","username":"RazvanB","description":"","created_at":"2012-09-06T10:53:50-07:00","watchers":0,"followers":0,"fork":false,"size":220,"created":"2012-09-06T10:53:50-07:00","name":"StarTrekGame","private":false,"pushed_at":"2012-09-11T10:34:54-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"Ugrt","pushed":"2012-09-11T11:19:36-07:00","username":"Ugrt","description":"Un nuevo repositorio","created_at":"2012-09-11T11:12:55-07:00","watchers":0,"followers":0,"fork":false,"size":92,"created":"2012-09-11T11:12:55-07:00","name":"Nuevo","private":false,"pushed_at":"2012-09-11T11:19:36-07:00","language":"Python"},{"type":"repo","forks":2,"owner":"andrewfiorillo","pushed":"2012-08-02T14:07:38-07:00","username":"andrewfiorillo","description":"Cupid color scheme for Sublime Text 2 and Textmate","created_at":"2012-05-29T07:05:33-07:00","watchers":3,"followers":3,"fork":false,"size":136,"created":"2012-05-29T07:05:33-07:00","name":"Cupid","private":false,"pushed_at":"2012-08-02T14:07:38-07:00","language":null},{"type":"repo","forks":25,"owner":"WindowsAzure","pushed":"2012-08-30T14:23:42-07:00","username":"WindowsAzure","description":"","created_at":"2012-03-02T08:35:36-08:00","watchers":175,"followers":175,"fork":false,"size":168,"created":"2012-03-02T08:35:36-08:00","name":"node-sqlserver","private":false,"pushed_at":"2012-08-30T14:23:42-07:00","language":"C++"},{"type":"repo","forks":6,"owner":"danfolkes","pushed":"2012-09-09T18:39:17-07:00","username":"danfolkes","description":"This will convert a magnet link into a .torrent file","created_at":"2012-04-19T07:31:02-07:00","watchers":17,"followers":17,"fork":false,"size":128,"created":"2012-04-19T07:31:02-07:00","name":"Magnet2Torrent","private":false,"pushed_at":"2012-09-09T18:39:17-07:00","language":"Python"},{"type":"repo","forks":18,"owner":"mattt","pushed":"2012-09-06T08:06:47-07:00","username":"mattt","description":"Remote configuration for iOS","created_at":"2012-08-31T16:13:59-07:00","watchers":308,"followers":308,"fork":false,"size":136,"created":"2012-08-31T16:13:59-07:00","name":"GroundControl","private":false,"pushed_at":"2012-09-06T08:06:47-07:00","language":"Objective-C"},{"type":"repo","forks":5,"owner":"dcramer","pushed":"2012-08-16T12:45:29-07:00","username":"dcramer","description":"","created_at":"2012-02-06T13:39:47-08:00","watchers":33,"followers":33,"fork":false,"size":132,"created":"2012-02-06T13:39:47-08:00","name":"mock-django","private":false,"pushed_at":"2012-08-16T12:45:29-07:00","language":"Python"},{"type":"repo","forks":16,"owner":"ciembor","pushed":"2012-09-07T10:18:30-07:00","username":"ciembor","description":"Terminal Color Scheme Designer","created_at":"2012-08-20T11:36:25-07:00","watchers":164,"followers":164,"fork":false,"size":208,"created":"2012-08-20T11:36:25-07:00","name":"4bit","private":false,"pushed_at":"2012-09-07T10:18:30-07:00","language":"JavaScript"},{"type":"repo","forks":0,"owner":"hexsprite","pushed":"2012-09-11T12:12:32-07:00","username":"hexsprite","description":"","created_at":"2012-09-11T12:05:15-07:00","watchers":0,"followers":0,"fork":true,"size":112,"created":"2012-09-11T12:05:15-07:00","name":"mock-django","private":false,"pushed_at":"2012-09-11T12:12:32-07:00","language":"Python"},{"type":"repo","forks":39,"owner":"gcollazo","pushed":"2012-08-08T09:06:13-07:00","username":"gcollazo","description":"Deploy django apps to Amazon EC2 with ONE command","created_at":"2011-06-26T13:27:07-07:00","watchers":383,"followers":383,"fork":false,"size":136,"created":"2011-06-26T13:27:07-07:00","name":"Fabulous","private":false,"pushed_at":"2012-08-08T09:06:13-07:00","language":"Python"},{"type":"repo","forks":78,"owner":"LaurentGomila","pushed":"2012-09-01T14:23:07-07:00","username":"LaurentGomila","description":"Simple and Fast Multimedia Library","created_at":"2011-03-25T01:05:25-07:00","watchers":637,"followers":637,"fork":false,"size":796,"created":"2011-03-25T01:05:25-07:00","name":"SFML","private":false,"pushed_at":"2012-09-01T14:23:07-07:00","language":"C"},{"type":"repo","forks":0,"owner":"fabiocerqueira","pushed":"2012-09-11T12:39:14-07:00","username":"fabiocerqueira","description":"Página pessoal: http://cerqueira.me","created_at":"2012-09-11T12:38:06-07:00","watchers":0,"followers":0,"fork":false,"size":316,"created":"2012-09-11T12:38:06-07:00","name":"pydicas","private":false,"pushed_at":"2012-09-11T12:39:14-07:00","language":"JavaScript"},{"type":"repo","forks":139,"owner":"AdamAtomic","pushed":"2011-10-16T12:30:21-07:00","username":"AdamAtomic","description":"flixel is a free Actionscript (Flash) library that I distilled from a variety of Flash games that I've worked on over the last couple years, including Gravity Hook, Fathom and Canabalt. It's primary function is to provide some useful base classes that you can extend to make your own game objects.","created_at":"2009-10-18T16:14:40-07:00","watchers":916,"followers":916,"fork":false,"size":284,"created":"2009-10-18T16:14:40-07:00","name":"flixel","private":false,"pushed_at":"2011-10-16T12:30:21-07:00","language":"ActionScript"},{"type":"repo","forks":0,"owner":"joehewitt","pushed":"2012-09-11T01:08:28-07:00","username":"joehewitt","description":"It's a programming language.","created_at":"2012-08-04T23:56:03-07:00","watchers":19,"followers":19,"fork":false,"size":3376,"created":"2012-08-04T23:56:03-07:00","name":"up","private":false,"pushed_at":"2012-09-11T01:08:28-07:00","language":"C"},{"type":"repo","forks":71,"owner":"zedshaw","pushed":"2012-09-01T11:24:16-07:00","username":"zedshaw","description":"The Mongrel2 Web Server Project","created_at":"2011-05-21T10:04:11-07:00","watchers":760,"followers":760,"fork":false,"size":264,"created":"2011-05-21T10:04:11-07:00","name":"mongrel2","private":false,"pushed_at":"2012-09-01T11:24:16-07:00","language":"C"},{"type":"repo","forks":0,"owner":"fabriceleal","pushed":"2012-09-11T13:43:09-07:00","username":"fabriceleal","description":"A static page server in node.js","created_at":"2012-09-10T14:38:34-07:00","watchers":1,"followers":1,"fork":false,"size":120,"created":"2012-09-10T14:38:34-07:00","name":"SimpleHTTPServerJs","private":false,"pushed_at":"2012-09-11T13:43:09-07:00","language":"JavaScript"},{"type":"repo","forks":0,"owner":"djrahl","pushed":"2012-09-11T13:48:10-07:00","username":"djrahl","description":"a crpg in the spirit of ultima v","created_at":"2012-09-11T13:38:24-07:00","watchers":0,"followers":0,"fork":false,"size":92,"created":"2012-09-11T13:38:24-07:00","name":"ultimos","private":false,"pushed_at":"2012-09-11T13:48:10-07:00","language":null},{"type":"repo","forks":45,"owner":"ArchipelProject","pushed":"2012-09-11T13:51:51-07:00","username":"ArchipelProject","description":"XMPP Based Orchestrator","created_at":"2010-09-25T08:03:52-07:00","watchers":298,"followers":298,"fork":false,"size":416,"created":"2010-09-25T08:03:52-07:00","name":"Archipel","private":false,"pushed_at":"2012-09-11T13:51:51-07:00","language":"Objective-J"},{"type":"repo","forks":32,"owner":"revolunet","pushed":"2012-08-27T09:22:58-07:00","username":"revolunet","description":"Open source javascript books compilation","created_at":"2012-07-31T01:03:56-07:00","watchers":153,"followers":153,"fork":false,"size":184,"created":"2012-07-31T01:03:56-07:00","name":"JSbooks","private":false,"pushed_at":"2012-08-27T09:22:58-07:00","language":"JavaScript"},{"type":"repo","forks":345,"owner":"openstack","pushed":"2012-09-11T14:17:33-07:00","username":"openstack","description":"OpenStack Compute (Nova)","created_at":"2010-07-21T19:04:27-07:00","watchers":630,"followers":630,"fork":false,"size":7912,"created":"2010-07-21T19:04:27-07:00","name":"nova","private":false,"pushed_at":"2012-09-11T14:17:33-07:00","language":"Python"},{"type":"repo","forks":9,"owner":"nodebox","pushed":"2012-09-11T14:18:01-07:00","username":"nodebox","description":"Interactive, hackable graphic design application ","created_at":"2009-02-10T08:28:47-08:00","watchers":160,"followers":160,"fork":false,"size":452568,"created":"2009-02-10T08:28:47-08:00","name":"nodebox","private":false,"pushed_at":"2012-09-11T14:18:01-07:00","language":"Java"},{"type":"repo","forks":24,"owner":"bitly","pushed":"2012-09-11T14:24:12-07:00","username":"bitly","description":"a family of libraries and daemons for building scalable web infrastructure","created_at":"2010-12-16T14:13:56-08:00","watchers":143,"followers":143,"fork":false,"size":193,"created":"2010-12-16T14:13:56-08:00","name":"simplehttp","private":false,"pushed_at":"2012-09-11T14:24:12-07:00","language":"C"},{"type":"repo","forks":23,"owner":"bitly","pushed":"2012-09-04T10:07:19-07:00","username":"bitly","description":"scaling, counting, bloom filter library","created_at":"2012-07-25T11:41:03-07:00","watchers":326,"followers":326,"fork":false,"size":356,"created":"2012-07-25T11:41:03-07:00","name":"dablooms","private":false,"pushed_at":"2012-09-04T10:07:19-07:00","language":"C"},{"type":"repo","forks":362,"owner":"altercation","pushed":"2012-08-26T22:50:52-07:00","username":"altercation","description":"precision color scheme for multiple applications (terminal, vim, etc.) with both dark/light modes","created_at":"2011-02-17T21:18:27-08:00","watchers":2918,"followers":2918,"fork":false,"size":388,"created":"2011-02-17T21:18:27-08:00","name":"solarized","private":false,"pushed_at":"2012-08-26T22:50:52-07:00","language":"Perl"},{"type":"repo","forks":132,"owner":"adamzap","pushed":"2012-09-06T21:24:25-07:00","username":"adamzap","description":"Generate a slideshow using the slides that power the html5-slides presentation","created_at":"2010-05-11T21:34:16-07:00","watchers":693,"followers":693,"fork":false,"size":176,"created":"2010-05-11T21:34:16-07:00","name":"landslide","private":false,"pushed_at":"2012-09-06T21:24:25-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"i2bizpl","pushed":"2012-09-05T21:11:49-07:00","username":"i2bizpl","description":"File Upload widget with multiple file selection, drag&drop support, progress bars and preview images for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.","created_at":"2012-09-11T10:22:38-07:00","watchers":0,"followers":0,"fork":true,"size":316,"created":"2012-09-11T10:22:38-07:00","name":"jQuery-File-Upload","private":false,"pushed_at":"2012-09-05T21:11:49-07:00","language":"JavaScript"},{"type":"repo","forks":3,"owner":"swhitley","pushed":"2012-05-18T21:06:33-07:00","username":"swhitley","description":"File Upload widget with multiple file selection, drag&drop support, progress bars and preview images for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.","created_at":"2012-05-18T15:15:11-07:00","watchers":5,"followers":5,"fork":true,"size":116,"created":"2012-05-18T15:15:11-07:00","name":"jQuery-File-Upload","private":false,"pushed_at":"2012-05-18T21:06:33-07:00","language":"JavaScript"},{"type":"repo","forks":3,"owner":"timabell","pushed":"2012-03-21T09:32:35-07:00","username":"timabell","description":"File Upload widget with multiple file selection, drag&drop support, progress bars and preview images for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.","created_at":"2012-03-21T09:12:48-07:00","watchers":7,"followers":7,"fork":true,"size":612,"created":"2012-03-21T09:12:48-07:00","name":"jQuery-File-Upload","private":false,"pushed_at":"2012-03-21T09:32:35-07:00","language":"JavaScript"},{"type":"repo","forks":0,"owner":"MisterY","pushed":"2012-09-11T14:11:50-07:00","username":"MisterY","description":"Clipperz Community Edition is a web-based password manager. It allows you to host on your own server a web service identical to the well-known Clipperz online password manager. It supports multiple backends (PHP/MySQL, Python/AppEngine, …) and you can contribute your own. Local encryption within the browser guarantees that no one except you can read your data.","created_at":"2012-09-08T11:10:24-07:00","watchers":0,"followers":0,"fork":true,"size":156,"created":"2012-09-08T11:10:24-07:00","name":"password-manager","private":false,"pushed_at":"2012-09-11T14:11:50-07:00","language":"JavaScript"},{"type":"repo","forks":7,"owner":"spesmilo","pushed":"2012-09-11T12:02:13-07:00","username":"spesmilo","description":"Electrum; Bitcoin thin client","created_at":"2012-08-02T09:24:30-07:00","watchers":19,"followers":19,"fork":false,"size":552,"created":"2012-08-02T09:24:30-07:00","name":"electrum","private":false,"pushed_at":"2012-09-11T12:02:13-07:00","language":"Python"},{"type":"repo","forks":8,"owner":"aritter","pushed":"2012-06-28T20:57:20-07:00","username":"aritter","description":"UW Twitter NLP Tools","created_at":"2011-07-16T13:24:35-07:00","watchers":54,"followers":54,"fork":false,"size":1272,"created":"2011-07-16T13:24:35-07:00","name":"twitter_nlp","private":false,"pushed_at":"2012-06-28T20:57:20-07:00","language":"Java"},{"type":"repo","forks":12,"owner":"af","pushed":"2012-05-06T20:38:22-07:00","username":"af","description":"Makes it easy for Django backends to talk to Backbone.js.","created_at":"2011-11-26T13:33:53-08:00","watchers":122,"followers":122,"fork":false,"size":128,"created":"2011-11-26T13:33:53-08:00","name":"djangbone","private":false,"pushed_at":"2012-05-06T20:38:22-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"vchahun","pushed":"2012-09-11T10:47:11-07:00","username":"vchahun","description":"Cython XFST bindings","created_at":"2012-09-11T10:46:18-07:00","watchers":0,"followers":0,"fork":false,"size":112,"created":"2012-09-11T10:46:18-07:00","name":"pyxfst","private":false,"pushed_at":"2012-09-11T10:47:11-07:00","language":"C"},{"type":"repo","forks":17,"owner":"TooTallNate","pushed":"2012-09-07T11:08:32-07:00","username":"TooTallNate","description":"Node.js native addon build tool","created_at":"2012-02-02T21:50:50-08:00","watchers":170,"followers":170,"fork":false,"size":1184,"created":"2012-02-02T21:50:50-08:00","name":"node-gyp","private":false,"pushed_at":"2012-09-07T11:08:32-07:00","language":"Python"},{"type":"repo","forks":63,"owner":"clintbellanger","pushed":"2012-09-11T11:27:46-07:00","username":"clintbellanger","description":"Free Libre Action Roleplaying Engine","created_at":"2011-06-03T19:53:27-07:00","watchers":178,"followers":178,"fork":false,"size":258771,"created":"2011-06-03T19:53:27-07:00","name":"flare","private":false,"pushed_at":"2012-09-11T11:27:46-07:00","language":"C++"},{"type":"repo","forks":21,"owner":"whit537","pushed":"2012-09-11T11:48:51-07:00","username":"whit537","description":"Gittip is a personal funding platform.","created_at":"2012-06-01T09:01:02-07:00","watchers":148,"followers":148,"fork":false,"size":764,"created":"2012-06-01T09:01:02-07:00","name":"www.gittip.com","private":false,"pushed_at":"2012-09-11T11:48:51-07:00","language":"Python"},{"type":"repo","forks":57,"owner":"wymeditor","pushed":"2012-08-24T07:33:42-07:00","username":"wymeditor","description":"Pure js cross-browser WYSIWYM editor with a focus on the clean separation of content and styling.","created_at":"2010-01-22T02:50:59-08:00","watchers":336,"followers":336,"fork":false,"size":1464,"created":"2010-01-22T02:50:59-08:00","name":"wymeditor","private":false,"pushed_at":"2012-08-24T07:33:42-07:00","language":"JavaScript"},{"type":"repo","forks":1,"owner":"Kokothekoala","pushed":"2012-09-11T13:10:34-07:00","username":"Kokothekoala","description":"","created_at":"2012-06-29T01:30:02-07:00","watchers":1,"followers":1,"fork":false,"size":2452,"created":"2012-06-29T01:30:02-07:00","name":"Kokobox","private":false,"pushed_at":"2012-09-11T13:10:34-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"practo","pushed":"2012-08-01T15:35:10-07:00","username":"practo","description":"MyCQ is a simple website written in Flask to give MCQ test","created_at":"2012-07-29T08:51:31-07:00","watchers":2,"followers":2,"fork":false,"size":240,"created":"2012-07-29T08:51:31-07:00","name":"MyCQ","private":false,"pushed_at":"2012-08-01T15:35:10-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"mhsundstrom","pushed":"2012-09-11T13:14:23-07:00","username":"mhsundstrom","description":"data analysis of race and workout runwalks","created_at":"2012-08-03T09:33:43-07:00","watchers":1,"followers":1,"fork":false,"size":272,"created":"2012-08-03T09:33:43-07:00","name":"runwalk","private":false,"pushed_at":"2012-09-11T13:14:23-07:00","language":"JavaScript"},{"type":"repo","forks":7,"owner":"arc90","pushed":"2012-04-23T07:38:20-07:00","username":"arc90","description":"A command-line tool that helps you clean up Git branches that have been merged into master.","created_at":"2012-03-16T06:58:07-07:00","watchers":114,"followers":114,"fork":false,"size":172,"created":"2012-03-16T06:58:07-07:00","name":"git-sweep","private":false,"pushed_at":"2012-04-23T07:38:20-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"aterrel","pushed":"2012-09-11T14:07:51-07:00","username":"aterrel","description":"","created_at":"2012-09-05T12:44:32-07:00","watchers":1,"followers":1,"fork":false,"size":1712,"created":"2012-09-05T12:44:32-07:00","name":"HPCPythonSC2012","private":false,"pushed_at":"2012-09-11T14:07:51-07:00","language":null},{"type":"repo","forks":73,"owner":"vmg","pushed":"2012-08-01T16:27:07-07:00","username":"vmg","description":"Standards compliant, fast, secure markdown processing library in C","created_at":"2011-04-15T01:38:13-07:00","watchers":566,"followers":566,"fork":false,"size":192,"created":"2011-04-15T01:38:13-07:00","name":"sundown","private":false,"pushed_at":"2012-08-01T16:27:07-07:00","language":"C"},{"type":"repo","forks":59,"owner":"Instagram","pushed":"2012-06-13T10:47:46-07:00","username":"Instagram","description":"","created_at":"2012-02-17T00:21:51-08:00","watchers":613,"followers":613,"fork":false,"size":136,"created":"2012-02-17T00:21:51-08:00","name":"node2dm","private":false,"pushed_at":"2012-06-13T10:47:46-07:00","language":"JavaScript"},{"type":"repo","forks":1,"owner":"MeirKriheli","pushed":"2012-09-11T10:34:46-07:00","username":"MeirKriheli","description":"Multilingual static site and blog generator","created_at":"2011-04-27T11:47:17-07:00","watchers":1,"followers":1,"fork":false,"size":324,"created":"2011-04-27T11:47:17-07:00","name":"statirator","private":false,"pushed_at":"2012-09-11T10:34:46-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"orzubalsky","pushed":"2012-09-11T11:12:18-07:00","username":"orzubalsky","description":"","created_at":"2012-08-22T07:24:46-07:00","watchers":0,"followers":0,"fork":false,"size":7176,"created":"2012-08-22T07:24:46-07:00","name":"fantastic-futures","private":false,"pushed_at":"2012-09-11T11:12:18-07:00","language":"JavaScript"},{"type":"repo","forks":1,"owner":"blahed","pushed":"2012-09-04T15:52:24-07:00","username":"blahed","description":"","created_at":"2012-08-30T11:56:14-07:00","watchers":138,"followers":138,"fork":false,"size":624,"created":"2012-08-30T11:56:14-07:00","name":"chainsaw","private":false,"pushed_at":"2012-09-04T15:52:24-07:00","language":"Ruby"},{"type":"repo","forks":1,"owner":"lucasmcastro","pushed":"2012-02-11T12:54:37-08:00","username":"lucasmcastro","description":"Gerenciador Tarefas IT Cursos","created_at":"2012-02-04T06:05:58-08:00","watchers":1,"followers":1,"fork":false,"size":136,"created":"2012-02-04T06:05:58-08:00","name":"itcursos-gerenciador-tarefas","private":false,"pushed_at":"2012-02-11T12:54:37-08:00","language":"Python"},{"type":"repo","forks":25,"owner":"TideSDK","pushed":"2012-09-07T21:49:37-07:00","username":"TideSDK","description":"Create multi-platform desktop apps with HTML5, CSS3 and JavaScript. TideSDK formerly known as Titanium Desktop is the best way to create beautiful, unique desktop apps using your web development skills.","created_at":"2012-03-06T05:53:47-08:00","watchers":174,"followers":174,"fork":true,"size":155104,"created":"2012-03-06T05:53:47-08:00","name":"TideSDK","private":false,"pushed_at":"2012-09-07T21:49:37-07:00","language":"C++"},{"type":"repo","forks":1,"owner":"KpaBap","pushed":"2012-09-11T12:18:52-07:00","username":"KpaBap","description":"Simple IRC Channel bot","created_at":"2012-06-21T09:20:27-07:00","watchers":3,"followers":3,"fork":true,"size":456,"created":"2012-06-21T09:20:27-07:00","name":"genmaybot","private":false,"pushed_at":"2012-09-11T12:18:52-07:00","language":"Python"},{"type":"repo","forks":83,"owner":"milkypostman","pushed":"2012-09-10T13:33:00-07:00","username":"milkypostman","description":"Scripts for building Emacs packages from Version Control","created_at":"2011-10-04T22:50:47-07:00","watchers":130,"followers":130,"fork":false,"size":564,"created":"2011-10-04T22:50:47-07:00","name":"melpa","private":false,"pushed_at":"2012-09-10T13:33:00-07:00","language":"JavaScript"},{"type":"repo","forks":0,"owner":"mjcuva","pushed":"2012-09-11T12:43:02-07:00","username":"mjcuva","description":null,"created_at":"2012-08-23T13:21:24-07:00","watchers":0,"followers":0,"fork":false,"size":1996,"created":"2012-08-23T13:21:24-07:00","name":"ConnectedWire","private":false,"pushed_at":"2012-09-11T12:43:02-07:00","language":"Python"},{"type":"repo","forks":13,"owner":"mailru","pushed":"2012-09-11T13:07:39-07:00","username":"mailru","description":"efficient in-memory storage","created_at":"2010-09-15T00:59:26-07:00","watchers":122,"followers":122,"fork":false,"size":560,"created":"2010-09-15T00:59:26-07:00","name":"tarantool","private":false,"pushed_at":"2012-09-11T13:07:39-07:00","language":"C"},{"type":"repo","forks":0,"owner":"agodbehere","pushed":"2012-09-11T13:20:51-07:00","username":"agodbehere","description":"experimental db alpha internal","created_at":"2012-09-10T12:33:32-07:00","watchers":0,"followers":0,"fork":false,"size":308,"created":"2012-09-10T12:33:32-07:00","name":"anserindicus_sn","private":false,"pushed_at":"2012-09-11T13:20:51-07:00","language":"Python"},{"type":"repo","forks":61,"owner":"luvit","pushed":"2012-09-11T13:24:05-07:00","username":"luvit","description":"Lua + libUV + jIT = pure awesomesauce","created_at":"2011-09-10T15:54:00-07:00","watchers":742,"followers":742,"fork":false,"size":936,"created":"2011-09-10T15:54:00-07:00","name":"luvit","private":false,"pushed_at":"2012-09-11T13:24:05-07:00","language":"C"},{"type":"repo","forks":131,"owner":"overviewer","pushed":"2012-09-11T13:42:15-07:00","username":"overviewer","description":"Render high-resolution maps of a Minecraft world with a Google Maps powered interface","created_at":"2010-08-28T14:44:16-07:00","watchers":646,"followers":646,"fork":false,"size":45878,"created":"2010-08-28T14:44:16-07:00","name":"Minecraft-Overviewer","private":false,"pushed_at":"2012-09-11T13:42:15-07:00","language":"Python"},{"type":"repo","forks":117,"owner":"somerandomdude","pushed":"2012-07-10T14:04:49-07:00","username":"somerandomdude","description":"A minimal set of icons in raster, vector and font formats — free for public use.","created_at":"2011-09-21T19:11:09-07:00","watchers":932,"followers":932,"fork":false,"size":10490,"created":"2011-09-21T19:11:09-07:00","name":"Iconic","private":false,"pushed_at":"2012-07-10T14:04:49-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"cihann","pushed":"2012-09-11T14:23:44-07:00","username":"cihann","description":"","created_at":"2012-05-20T11:15:16-07:00","watchers":1,"followers":1,"fork":true,"size":132,"created":"2012-05-20T11:15:16-07:00","name":"pyist.net","private":false,"pushed_at":"2012-09-11T14:23:44-07:00","language":"JavaScript"},{"type":"repo","forks":0,"owner":"objarni","pushed":"2012-09-11T14:25:26-07:00","username":"objarni","description":"motargumentwikis bokskaparscript","created_at":"2012-09-10T23:42:49-07:00","watchers":0,"followers":0,"fork":false,"size":776,"created":"2012-09-10T23:42:49-07:00","name":"wikibok","private":false,"pushed_at":"2012-09-11T14:25:26-07:00","language":null},{"type":"repo","forks":0,"owner":"mguillech","pushed":"2012-09-11T11:25:14-07:00","username":"mguillech","description":"Scraper for Mejorenvo.com","created_at":"2012-09-09T08:39:24-07:00","watchers":0,"followers":0,"fork":false,"size":168,"created":"2012-09-09T08:39:24-07:00","name":"mejorenvo-scraper","private":false,"pushed_at":"2012-09-11T11:25:14-07:00","language":"Python"},{"type":"repo","forks":79,"owner":"samuelclay","pushed":"2012-09-11T13:43:15-07:00","username":"samuelclay","description":"NewsBlur is a social news reader with intelligence. A new sound of an old instrument.","created_at":"2009-01-05T06:00:43-08:00","watchers":705,"followers":705,"fork":false,"size":1944,"created":"2009-01-05T06:00:43-08:00","name":"NewsBlur","private":false,"pushed_at":"2012-09-11T13:43:15-07:00","language":"Objective-C"},{"type":"repo","forks":78,"owner":"square","pushed":"2012-08-30T19:07:53-07:00","username":"square","description":"A conforming Objective-C WebSocket client library.","created_at":"2012-01-29T16:21:34-08:00","watchers":868,"followers":868,"fork":false,"size":1148,"created":"2012-01-29T16:21:34-08:00","name":"SocketRocket","private":false,"pushed_at":"2012-08-30T19:07:53-07:00","language":"Python"},{"type":"repo","forks":299,"owner":"spf13","pushed":"2012-09-10T10:58:47-07:00","username":"spf13","description":"The ultimate vim distribution","created_at":"2010-04-20T09:20:16-07:00","watchers":1081,"followers":1081,"fork":false,"size":196,"created":"2010-04-20T09:20:16-07:00","name":"spf13-vim","private":false,"pushed_at":"2012-09-10T10:58:47-07:00","language":"VimL"},{"type":"repo","forks":153,"owner":"globocom","pushed":"2012-08-23T15:41:05-07:00","username":"globocom","description":"Você é web dev? Quer trabalhar no maior portal da América Latina? Esse repositório é pra você","created_at":"2011-05-26T09:54:51-07:00","watchers":211,"followers":211,"fork":false,"size":204,"created":"2011-05-26T09:54:51-07:00","name":"IWantToWorkAtGloboCom","private":false,"pushed_at":"2012-08-23T15:41:05-07:00","language":null},{"type":"repo","forks":309,"owner":"bbatsov","pushed":"2012-09-10T23:01:24-07:00","username":"bbatsov","description":"A community-driven Ruby coding style guide","created_at":"2011-09-12T06:03:05-07:00","watchers":1945,"followers":1945,"fork":false,"size":144,"created":"2011-09-12T06:03:05-07:00","name":"ruby-style-guide","private":false,"pushed_at":"2012-09-10T23:01:24-07:00","language":"Ruby"},{"type":"repo","forks":1,"owner":"aery32","pushed":"2012-09-11T12:40:20-07:00","username":"aery32","description":"Reference Guide for the Aery32 Software Framework","created_at":"2012-05-12T10:33:06-07:00","watchers":1,"followers":1,"fork":false,"size":3760,"created":"2012-05-12T10:33:06-07:00","name":"aery32-refguide","private":false,"pushed_at":"2012-09-11T12:40:20-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"ana-balica","pushed":"2012-09-11T10:46:22-07:00","username":"ana-balica","description":"Anglophone Department Website","created_at":"2012-07-26T02:15:53-07:00","watchers":6,"followers":6,"fork":false,"size":3440,"created":"2012-07-26T02:15:53-07:00","name":"fafsite","private":false,"pushed_at":"2012-09-11T10:46:22-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"miketrumpis","pushed":"2010-12-14T11:41:32-08:00","username":"miketrumpis","description":"","created_at":"2010-12-13T08:08:46-08:00","watchers":3,"followers":3,"fork":false,"size":1388,"created":"2010-12-13T08:08:46-08:00","name":"compsense_demo","private":false,"pushed_at":"2010-12-14T11:41:32-08:00","language":"C"},{"type":"repo","forks":17,"owner":"enthought","pushed":"2012-09-11T14:02:49-07:00","username":"enthought","description":"","created_at":"2011-08-05T08:02:07-07:00","watchers":65,"followers":65,"fork":false,"size":828,"created":"2011-08-05T08:02:07-07:00","name":"enaml","private":false,"pushed_at":"2012-09-11T14:02:49-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"erdc-cm","pushed":"2012-09-11T10:07:34-07:00","username":"erdc-cm","description":"","created_at":"2012-01-26T10:07:04-08:00","watchers":1,"followers":1,"fork":false,"size":7400,"created":"2012-01-26T10:07:04-08:00","name":"mpi4py","private":false,"pushed_at":"2012-09-11T10:07:34-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"python-finland","pushed":"2012-09-11T10:35:47-07:00","username":"python-finland","description":"PyCon Finland website","created_at":"2011-07-16T11:38:08-07:00","watchers":5,"followers":5,"fork":false,"size":280,"created":"2011-07-16T11:38:08-07:00","name":"fi.pycon.org","private":false,"pushed_at":"2012-09-11T10:35:47-07:00","language":"JavaScript"},{"type":"repo","forks":1,"owner":"stefanv","pushed":"2012-09-11T11:53:01-07:00","username":"stefanv","description":"Image Processing SciKit (Toolbox for SciPy)","created_at":"2011-09-17T10:42:44-07:00","watchers":1,"followers":1,"fork":true,"size":180,"created":"2011-09-17T10:42:44-07:00","name":"scikits-image","private":false,"pushed_at":"2012-09-11T11:53:01-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"ahojnnes","pushed":"2012-09-11T13:02:36-07:00","username":"ahojnnes","description":"Image Processing SciKit (Toolbox for SciPy)","created_at":"2012-04-14T04:42:47-07:00","watchers":1,"followers":1,"fork":true,"size":452,"created":"2012-04-14T04:42:47-07:00","name":"scikits-image","private":false,"pushed_at":"2012-09-11T13:02:36-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"lanticezdd","pushed":"2012-09-11T10:03:18-07:00","username":"lanticezdd","description":"","created_at":"2012-06-28T13:20:42-07:00","watchers":1,"followers":1,"fork":false,"size":1208,"created":"2012-06-28T13:20:42-07:00","name":"uni","private":false,"pushed_at":"2012-09-11T10:03:18-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"vim-scripts","pushed":"2010-10-18T17:05:20-07:00","username":"vim-scripts","description":"Adds mako support to vim","created_at":"2010-10-18T17:05:04-07:00","watchers":1,"followers":1,"fork":false,"size":200,"created":"2010-10-18T17:05:04-07:00","name":"mako.vim","private":false,"pushed_at":"2010-10-18T17:05:20-07:00","language":"VimL"},{"type":"repo","forks":0,"owner":"lambacck","pushed":"2010-10-18T17:05:20-07:00","username":"lambacck","description":"Adds mako support to vim","created_at":"2012-09-11T10:27:26-07:00","watchers":0,"followers":0,"fork":true,"size":200,"created":"2012-09-11T10:27:26-07:00","name":"mako.vim","private":false,"pushed_at":"2010-10-18T17:05:20-07:00","language":"VimL"},{"type":"repo","forks":0,"owner":"squirly","pushed":"2012-09-11T10:30:04-07:00","username":"squirly","description":"A library that makes consuming a RESTful API easier and more convenient","created_at":"2012-09-06T16:41:58-07:00","watchers":0,"followers":0,"fork":true,"size":120,"created":"2012-09-06T16:41:58-07:00","name":"slumber","private":false,"pushed_at":"2012-09-11T10:30:04-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"triposorbust","pushed":"2012-09-11T10:32:17-07:00","username":"triposorbust","description":"\"All you need is love!\", but for now I'll settle for a bit of linear prediction...","created_at":"2012-08-09T17:53:28-07:00","watchers":1,"followers":1,"fork":false,"size":312,"created":"2012-08-09T17:53:28-07:00","name":"de-composer","private":false,"pushed_at":"2012-09-11T10:32:17-07:00","language":"Python"},{"type":"repo","forks":117,"owner":"creationix","pushed":"2012-08-22T11:32:50-07:00","username":"creationix","description":"Node Version Manager - Simple bash script to manage multiple active node.js versions","created_at":"2010-04-15T10:47:47-07:00","watchers":991,"followers":991,"fork":false,"size":148,"created":"2010-04-15T10:47:47-07:00","name":"nvm","private":false,"pushed_at":"2012-08-22T11:32:50-07:00","language":"Shell"},{"type":"repo","forks":0,"owner":"anandrjoshi","pushed":"2012-09-11T10:49:20-07:00","username":"anandrjoshi","description":"","created_at":"2012-09-10T15:00:18-07:00","watchers":0,"followers":0,"fork":true,"size":120,"created":"2012-09-10T15:00:18-07:00","name":"helloshopply","private":false,"pushed_at":"2012-09-11T10:49:20-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"diegofer","pushed":"2012-09-11T10:58:29-07:00","username":"diegofer","description":"Repositorio de la Alianza en Colombia","created_at":"2012-06-30T23:30:36-07:00","watchers":1,"followers":1,"fork":false,"size":11080,"created":"2012-06-30T23:30:36-07:00","name":"Alianza","private":false,"pushed_at":"2012-09-11T10:58:29-07:00","language":"JavaScript"},{"type":"repo","forks":1,"owner":"julionc","pushed":"2012-09-11T11:00:51-07:00","username":"julionc","description":"My ~/.vim configuration files","created_at":"2011-11-01T15:31:38-07:00","watchers":3,"followers":3,"fork":false,"size":1612,"created":"2011-11-01T15:31:38-07:00","name":"vimfiles","private":false,"pushed_at":"2012-09-11T11:00:51-07:00","language":"VimL"},{"type":"repo","forks":11,"owner":"mozilla","pushed":"2012-09-11T11:31:45-07:00","username":"mozilla","description":"crash-stats.m.o web UI using playdoh (Mozilla's django-based framework)","created_at":"2012-05-10T18:30:29-07:00","watchers":12,"followers":12,"fork":false,"size":376,"created":"2012-05-10T18:30:29-07:00","name":"socorro-crashstats","private":false,"pushed_at":"2012-09-11T11:31:45-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"tinawen","pushed":"2012-09-11T11:32:49-07:00","username":"tinawen","description":"","created_at":"2012-08-19T01:57:40-07:00","watchers":0,"followers":0,"fork":false,"size":1604,"created":"2012-08-19T01:57:40-07:00","name":"menu","private":false,"pushed_at":"2012-09-11T11:32:49-07:00","language":"Python"},{"type":"repo","forks":3,"owner":"Khan","pushed":"2012-09-11T11:42:11-07:00","username":"Khan","description":"Tools to analyze KA logs and other data","created_at":"2012-05-15T16:38:46-07:00","watchers":7,"followers":7,"fork":false,"size":492,"created":"2012-05-15T16:38:46-07:00","name":"analytics","private":false,"pushed_at":"2012-09-11T11:42:11-07:00","language":"Python"},{"type":"repo","forks":141,"owner":"Studio-42","pushed":"2012-09-11T11:54:59-07:00","username":"Studio-42","description":"Open-source file manager for web, written in JavaScript using jQuery and jQuery UI","created_at":"2010-11-19T10:05:06-08:00","watchers":620,"followers":620,"fork":false,"size":1009,"created":"2010-11-19T10:05:06-08:00","name":"elFinder","private":false,"pushed_at":"2012-09-11T11:54:59-07:00","language":"JavaScript"},{"type":"repo","forks":89,"owner":"basho","pushed":"2012-09-11T10:40:59-07:00","username":"basho","description":"Riak Wiki","created_at":"2010-12-27T09:42:36-08:00","watchers":155,"followers":155,"fork":false,"size":712,"created":"2010-12-27T09:42:36-08:00","name":"riak_wiki","private":false,"pushed_at":"2012-09-11T10:40:59-07:00","language":"JavaScript"},{"type":"repo","forks":5,"owner":"chrippa","pushed":"2012-09-11T12:02:30-07:00","username":"chrippa","description":"Livestreamer is a CLI program that launches streams from various streaming services (Twitch.tv, Own3d.tv etc) in a custom video player (VLC, mplayer etc)","created_at":"2011-08-14T19:38:37-07:00","watchers":48,"followers":48,"fork":false,"size":220,"created":"2011-08-14T19:38:37-07:00","name":"livestreamer","private":false,"pushed_at":"2012-09-11T12:02:30-07:00","language":"Python"},{"type":"repo","forks":6,"owner":"nowells","pushed":"2012-04-02T18:21:11-07:00","username":"nowells","description":"A series of GIT utilities to streamline working with remote branches and reviewing code. git-goggles can be thought of as \"git branch -a\" on steroids. You can install with \"[pip install | easy_install] git-goggles\" and then run \"git goggles\".","created_at":"2010-01-15T08:09:35-08:00","watchers":129,"followers":129,"fork":false,"size":128,"created":"2010-01-15T08:09:35-08:00","name":"git-goggles","private":false,"pushed_at":"2012-04-02T18:21:11-07:00","language":"Python"}]}
+
View
5 test/ReplayData/Github.testLegacySearchUsersExplicitPagination.txt
@@ -0,0 +1,5 @@
+https GET api.github.com None /legacy/user/search/Lucy?start_page=2 {'Authorization': 'Basic login_and_password_removed'} null
+200
+[('status', '200 OK'), ('x-ratelimit-remaining', '4946'), ('x-ratelimit-limit', '5000'), ('content-length', '17711'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"2276a70e7cb32c70ab3018105c9dcb22"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 29 Jun 2012 12:30:45 GMT'), ('content-type', 'application/json; charset=utf-8')]
+{"users":[{"fullname":"","created_at":"2010-08-08T23:52:29Z","followers":0,"pushed":"2010-08-09T00:15:09.022Z","gravatar_id":"6d7d3334458d9b82a5c5e22409ed043b","followers_count":0,"name":"","username":"lucievh","login":"lucievh","repos":0,"created":"2010-08-08T23:52:29Z","language":"","record":null,"id":"user-358057","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2010-09-22T05:31:14Z","followers":0,"pushed":"2010-09-22T06:15:13.692Z","gravatar_id":"f753f69213bbfc3b80607ee48a488d6e","followers_count":0,"name":"","username":"lucyim","login":"lucyim","repos":0,"created":"2010-09-22T05:31:14Z","language":"","record":null,"id":"user-410994","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-04-24T20:45:24Z","followers":0,"pushed":"2011-04-24T21:15:12.163Z","gravatar_id":"f1e19ca48feb1e62ee3149d28c11e911","followers_count":0,"name":"","username":"Lucief","login":"Lucief","repos":0,"created":"2011-04-24T20:45:24Z","language":"","record":null,"id":"user-749248","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-05-30T09:55:59Z","followers":0,"pushed":"2011-05-30T11:15:20.068Z","gravatar_id":"2da8ca4713c1b1e42a4a17323e4e8dae","followers_count":0,"name":"","username":"RevolverUpstairs","login":"RevolverUpstairs","repos":0,"created":"2011-05-30T09:55:59Z","language":"","record":null,"id":"user-818408","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-07-22T13:27:38Z","followers":0,"pushed":"2011-07-22T15:15:23.693Z","gravatar_id":"3686834b80a859db93c76e78df9a5a64","followers_count":0,"name":"","username":"seriousprogramming","login":"seriousprogramming","repos":0,"created":"2011-07-22T13:27:38Z","language":"","record":null,"id":"user-932499","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-06T09:47:48Z","followers":0,"pushed":"2011-08-06T10:15:31.758Z","gravatar_id":"69eafce84a5e4a9b26bc337a58ca72bc","followers_count":0,"name":"","username":"reicul","login":"reicul","repos":0,"created":"2011-08-06T09:47:48Z","language":"","record":null,"id":"user-962793","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-07T11:56:47Z","followers":0,"pushed":"2011-08-07T12:15:14.482Z","gravatar_id":"8896a319762ed30fea086e8213003809","followers_count":0,"name":"","username":"davincidubai","login":"davincidubai","repos":0,"created":"2011-08-07T11:56:47Z","language":"","record":null,"id":"user-964372","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-14T23:19:20Z","followers":0,"pushed":"2011-08-15T00:15:17.005Z","gravatar_id":"c464112ee895455ebc7e4395455cc3b4","followers_count":0,"name":"","username":"LucianaNascimentodoPrado","login":"LucianaNascimentodoPrado","repos":0,"created":"2011-08-14T23:19:20Z","language":"","record":null,"id":"user-979924","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-20T03:41:59Z","followers":0,"pushed":"2011-08-20T04:15:15.688Z","gravatar_id":"89b16b399fef7f5cf0f09aa52eb1f982","followers_count":0,"name":"","username":"lucia-huenchunao","login":"lucia-huenchunao","repos":0,"created":"2011-08-20T03:41:59Z","language":"","record":null,"id":"user-992290","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-30T06:35:07Z","followers":0,"pushed":"2011-08-30T07:15:40.964Z","gravatar_id":"15e9c23dc4ff8309d32759ebbc12f136","followers_count":0,"name":"","username":"kraji20","login":"kraji20","repos":0,"created":"2011-08-30T06:35:07Z","language":"","record":null,"id":"user-1013732","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-16T16:00:13Z","followers":0,"pushed":"2011-09-16T16:15:31.791Z","gravatar_id":"29b7278765b2513f6b1770acffd6e76c","followers_count":0,"name":"","username":"Lucywolo","login":"Lucywolo","repos":0,"created":"2011-09-16T16:00:13Z","language":"","record":null,"id":"user-1056415","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-20T08:49:42Z","followers":0,"pushed":"2011-09-20T09:15:39.554Z","gravatar_id":"272574bc4ad24eb6ca99e0ff63181708","followers_count":0,"name":"","username":"Luciel","login":"Luciel","repos":0,"created":"2011-09-20T08:49:42Z","language":"","record":null,"id":"user-1064456","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-26T00:34:00Z","followers":0,"pushed":"2011-09-26T01:15:19.861Z","gravatar_id":"88afbca53168e171337cd236ebf861eb","followers_count":0,"name":"","username":"sunnysummer","login":"sunnysummer","repos":0,"created":"2011-09-26T00:34:00Z","language":"","record":null,"location":"","id":"user-1079184","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-10-12T18:56:57Z","followers":0,"pushed":"2011-10-12T19:15:46.788Z","gravatar_id":"2d2bbcf8fc6ba08acad9d0120f7e877f","followers_count":0,"name":"","username":"elush","login":"elush","repos":0,"created":"2011-10-12T18:56:57Z","language":"","record":null,"id":"user-1123389","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-11-08T13:10:02Z","followers":0,"pushed":"2011-11-08T13:15:29.919Z","gravatar_id":"e47379a7fb647bcfe9cb35b313c6681d","followers_count":0,"name":"","username":"oprealuci","login":"oprealuci","repos":0,"created":"2011-11-08T13:10:02Z","language":"","record":null,"id":"user-1180621","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-11-30T12:50:11Z","followers":0,"pushed":"2012-01-06T20:15:31.201Z","followers_count":0,"name":"","username":"Flika","login":"Flika","repos":0,"created":"2011-11-30T12:50:11Z","language":"","record":null,"id":"user-1230733","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-01-16T13:52:04Z","followers":0,"pushed":"2012-01-16T14:15:26.544Z","gravatar_id":"93a807008d0335f8cfa7630905a3731a","followers_count":0,"name":"","username":"lsher","login":"lsher","created":"2012-01-16T13:52:04Z","repos":0,"language":"","record":null,"id":"user-1333790","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-02-14T12:45:55Z","followers":0,"pushed":"2012-02-14T13:15:21.421Z","gravatar_id":"48c680a1435659586d2b5fa88978bf2f","followers_count":0,"name":"","username":"datadrivenjournalism","login":"datadrivenjournalism","created":"2012-02-14T12:45:55Z","repos":0,"language":"","record":null,"id":"user-1436639","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-05T19:25:13Z","followers":0,"pushed":"2012-03-07T21:16:16.829Z","gravatar_id":"f85bd730cad7f29b2a6ffcb877ca9049","followers_count":0,"name":"","username":"nill2020","login":"nill2020","repos":0,"created":"2011-09-05T19:25:13Z","language":"","record":null,"id":"user-1028199","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-12T09:34:25Z","followers":0,"pushed":"2012-03-12T10:15:30.499Z","followers_count":0,"name":"","username":"doobi","login":"doobi","created":"2012-03-12T09:34:25Z","repos":0,"language":"","record":null,"id":"user-1528155","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-15T05:39:16Z","followers":0,"pushed":"2012-03-15T06:15:26.409Z","gravatar_id":"6e1dffbbee01406ca6362a476406e311","followers_count":0,"name":"","username":"lucilu","login":"lucilu","repos":0,"created":"2012-03-15T05:39:16Z","language":"","record":null,"id":"user-1539233","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-21T15:37:52Z","followers":0,"pushed":"2012-03-21T16:15:24.866Z","gravatar_id":"de5a284da24ca18274e389e172269cfa","followers_count":0,"name":"","username":"deldeldel","login":"deldeldel","repos":0,"created":"2012-03-21T15:37:52Z","language":"","record":null,"id":"user-1561401","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-27T13:06:55Z","followers":0,"pushed":"2012-03-27T13:15:45.802Z","gravatar_id":"b004de54d6f13d701ae5050809bdd091","followers_count":0,"name":"","username":"lucianacocca","login":"lucianacocca","repos":0,"created":"2012-03-27T13:06:55Z","language":"","record":null,"id":"user-1579740","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-27T23:18:49Z","followers":0,"pushed":"2012-04-27T02:15:22.503Z","gravatar_id":"6692a18a892458d7c4ab139f2c442277","followers_count":0,"name":"","username":"lucyli-sfdc","login":"lucyli-sfdc","repos":0,"created":"2011-09-27T23:18:49Z","language":"","record":null,"id":"user-1085374","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-01T10:05:02Z","followers":0,"pushed":"2012-05-01T12:15:23.517Z","gravatar_id":"9786861913ce64448699dba1ee27a7a6","followers_count":0,"name":"","username":"lucysatchell","login":"lucysatchell","repos":0,"created":"2012-05-01T10:05:02Z","language":"","record":null,"id":"user-1695084","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-01T12:11:30Z","followers":0,"pushed":"2012-06-01T19:16:17.478Z","gravatar_id":"c0228bc603e6802f3ee5e8299474587b","followers_count":0,"name":"","username":"UBM","login":"UBM","repos":0,"created":"2012-05-01T12:11:30Z","language":"","record":null,"id":"user-1695284","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-30T16:12:12Z","followers":0,"pushed":"2012-06-06T19:16:09.64Z","gravatar_id":"1652e06df5d348d1a575a36e2f7e5f72","followers_count":0,"name":"","username":"kolousek","login":"kolousek","created":"2012-05-30T16:12:12Z","repos":0,"language":"","record":null,"id":"user-1794308","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2010-05-04T01:08:54Z","followers":0,"pushed":"2012-06-13T20:15:11.55Z","gravatar_id":"f8ec680ef4321558d220391d96dfb797","followers_count":0,"name":"","username":"lucyzhang","login":"lucyzhang","created":"2010-05-04T01:08:54Z","repos":0,"language":"","record":null,"id":"user-263828","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-07-20T17:01:35Z","followers":0,"pushed":"2012-06-28T00:15:22.237Z","gravatar_id":"772de244d454a467439f0cdb6f4a1e4e","followers_count":0,"name":"","username":"lmegia","login":"lmegia","repos":0,"created":"2011-07-20T17:01:35Z","language":"","record":null,"id":"user-928346","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"Luis Olivo","created_at":"2012-03-07T21:32:50Z","followers":1,"pushed":"2012-06-02T18:15:15.477Z","gravatar_id":"4141a3f99023b16642e8a33d155947b6","followers_count":1,"name":"Luis Olivo","username":"luisolivo","login":"luisolivo","repos":1,"created":"2012-03-07T21:32:50Z","language":"Ruby","record":null,"id":"user-1513356","location":"Port Saint Lucie, Florida","score":2.791304,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2011-08-31T03:50:47Z","followers":0,"pushed":"2011-08-31T04:15:23.388Z","gravatar_id":"331ecd4d2e53187e0287d9a1af51a7cd","followers_count":0,"name":"","username":"Lucyzhen","login":"Lucyzhen","repos":1,"created":"2011-08-31T03:50:47Z","language":"C#","record":null,"id":"user-1016061","location":"","score":2.7240717,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2012-04-28T11:04:47Z","followers":0,"pushed":"2012-04-28T11:15:41.657Z","gravatar_id":"10cdf0c816a67a79461e672dd47c46de","followers_count":0,"name":"","username":"Luhzinha","login":"Luhzinha","repos":1,"created":"2012-04-28T11:04:47Z","language":"","record":null,"id":"user-1687701","location":"","score":2.7240717,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2009-09-18T00:12:07Z","followers":0,"pushed":"2010-05-25T02:17:49.827Z","gravatar_id":"7766d61aa4bee478cd29d01653f99a27","followers_count":0,"name":"","username":"beautifly","login":"beautifly","repos":0,"created":"2009-09-18T00:12:07Z","language":"","record":null,"id":"user-128333","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-30T20:31:27Z","followers":0,"pushed":"2011-09-30T21:15:27.445Z","gravatar_id":"2421514bb391ad0e4009b441f35a8cfd","followers_count":0,"name":"","username":"lucybm96","login":"lucybm96","repos":0,"created":"2011-09-30T20:31:27Z","language":"","record":null,"id":"user-1093675","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-08T21:10:18Z","followers":0,"pushed":"2011-10-19T16:15:28.01Z","gravatar_id":"bc63269a11f7ce4a1ba817d7b598a4ec","followers_count":0,"name":"","username":"BuonocoreL","login":"BuonocoreL","repos":0,"created":"2011-08-08T21:10:18Z","language":"","record":null,"id":"user-967470","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-10-25T13:59:15Z","followers":0,"pushed":"2011-10-25T14:15:35.825Z","gravatar_id":"336abbd9e4151ae169e30e7e6679c7b7","followers_count":0,"name":"","username":"lucywilliams","login":"lucywilliams","repos":0,"created":"2011-10-25T13:59:15Z","language":"","record":null,"id":"user-1150845","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-02-05T19:08:43Z","followers":0,"pushed":"2012-02-05T19:15:26.112Z","gravatar_id":"710af9c67bfc63c7911801c960153551","followers_count":0,"name":"","username":"ZxOxZ","login":"ZxOxZ","created":"2012-02-05T19:08:43Z","repos":0,"language":"","record":null,"id":"user-1410529","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-02-22T12:38:07Z","followers":0,"pushed":"2012-02-22T13:15:21.033Z","gravatar_id":"4e34174ab98cfb31d27783a15edd65ff","followers_count":0,"name":"","username":"Motwinb","login":"Motwinb","repos":0,"created":"2012-02-22T12:38:07Z","language":"","record":null,"id":"user-1461109","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-05T06:41:31Z","followers":0,"pushed":"2012-03-05T07:15:17.415Z","gravatar_id":"3fd43be5de5bc0394cbb2f02fd5f8e55","followers_count":0,"name":"","username":"johnlucy","login":"johnlucy","repos":0,"created":"2012-03-05T06:41:31Z","language":"","record":null,"id":"user-1501671","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-05T16:24:11Z","followers":0,"pushed":"2012-03-05T17:15:18.016Z","gravatar_id":"c4c7f39ce80796afe054742ecebebd68","followers_count":0,"name":"","username":"Aquanimation","login":"Aquanimation","repos":0,"created":"2012-03-05T16:24:11Z","language":"","record":null,"id":"user-1503528","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-25T22:54:59Z","followers":0,"pushed":"2012-03-25T23:15:19.92Z","gravatar_id":"941783cf5e9908c1c1539f52063bfa83","followers_count":0,"name":"","username":"alaltaieri","login":"alaltaieri","repos":0,"created":"2012-03-25T22:54:59Z","language":"","record":null,"id":"user-1574456","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-04-02T14:04:23Z","followers":0,"pushed":"2012-04-02T14:15:39.659Z","gravatar_id":"b6dd2523be99cb65f67549fb3397038f","followers_count":0,"name":"","username":"lucylin","login":"lucylin","created":"2012-04-02T14:04:23Z","repos":0,"language":"","record":null,"id":"user-1598365","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-06T12:13:13Z","followers":0,"pushed":"2012-06-12T16:15:31.304Z","gravatar_id":"24b955ee4add1de5b71d892ba6bd52ac","followers_count":0,"name":"","username":"lucychambers","login":"lucychambers","created":"2011-09-06T12:13:13Z","repos":0,"language":"","record":null,"id":"user-1029861","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"Juan M Sesma","created_at":"2011-04-14T18:29:44Z","followers":0,"pushed":"2011-07-25T16:15:21.323Z","gravatar_id":"9aa303ceb9eece6fe6af228fe5d992f6","followers_count":0,"name":"Juan M Sesma","username":"JuanSesma","login":"JuanSesma","repos":1,"created":"2011-04-14T18:29:44Z","language":"Ruby","record":null,"id":"user-729951","location":"Port St Lucie","score":2.6404455,"type":"user","public_repo_count":1},{"fullname":"Carl","created_at":"2012-03-17T22:30:00Z","followers":0,"pushed":"2012-03-19T04:15:12.148Z","gravatar_id":"f9e3fc4d72e3199a38ea641ccafbb844","followers_count":0,"name":"Carl","username":"cdwwebware","login":"cdwwebware","repos":0,"created":"2012-03-17T22:30:00Z","language":"","record":null,"id":"user-1548384","location":"Port Saint Lucie, Florida","score":2.5901594,"type":"user","public_repo_count":0},{"fullname":"Zachary Wills","created_at":"2012-03-07T00:29:36Z","followers":0,"pushed":"2012-06-20T16:15:50.039Z","gravatar_id":"31decf5c3bc6f0006c8152eb778203c1","followers_count":0,"name":"Zachary Wills","username":"ZachWills","login":"ZachWills","repos":0,"created":"2012-03-07T00:29:36Z","language":"","record":null,"id":"user-1509438","location":"Port St. Lucie, FL","score":2.5901594,"type":"user","public_repo_count":0}]}
+
View
5 test/ReplayData/PaginatedList.setUp.txt
@@ -8,8 +8,3 @@ https GET api.github.com None /repos/openframeworks/openFrameworks {'Authorizati
[('status', '200 OK'), ('x-ratelimit-remaining', '4928'), ('content-length', '1253'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e7459f63683768d5b53fc4b246d13a10"'), ('date', 'Tue, 29 May 2012 19:36:56 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"clone_url":"https://github.com/openframeworks/openFrameworks.git","has_downloads":true,"watchers":1745,"updated_at":"2012-05-29T19:23:07Z","permissions":{"pull":true,"admin":false,"push":false},"homepage":"http://openframeworks.cc","url":"https://api.github.com/repos/openframeworks/openFrameworks","html_url":"https://github.com/openframeworks/openFrameworks","has_wiki":true,"has_issues":true,"fork":false,"forks":349,"size":4232,"git_url":"git://github.com/openframeworks/openFrameworks.git","private":false,"open_issues":333,"svn_url":"https://github.com/openframeworks/openFrameworks","owner":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"name":"openFrameworks","mirror_url":null,"language":"C","description":"OpenFrameworks is a cross platform open source toolkit for creative coding in C++.","ssh_url":"git@github.com:openframeworks/openFrameworks.git","pushed_at":"2012-05-29T19:23:07Z","created_at":"2009-10-21T21:55:54Z","id":345337,"full_name":"openframeworks/openFrameworks"}
-https GET api.github.com None /repos/openframeworks/openFrameworks/issues {'Authorization': 'Basic login_and_password_removed'} null
-200
-[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '<https://api.github.com/repos/openframeworks/openFrameworks/issues?page=2>; rel="next", <https://api.github.com/repos/openframeworks/openFrameworks/issues?page=14>; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')]
-[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t<AdditionalDependencies>%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib</AdditionalDependencies>\n\t\t\t\t<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010</AdditionalLibraryDirectories>\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t<AdditionalDependencies>%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib</AdditionalDependencies>\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize<TCP_MAX_MSG_SIZE) {\n\t\t\t\t\t// null terminate!!\n\t\t\t\t\ttmpBuff[messageSize] = 0;\n\t\t\t}\n\t\t\t return tmpBuff;\n\t}\n\nThere is also need to check the other parts.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1249","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1249,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1249","assignee":null,"title":"string ofxTCPClient::receiveRaw() in ofxTCPClient.cpp ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":null,"created_at":"2012-05-10T06:23:23Z","state":"open","user":{"url":"https://api.github.com/users/YeongJoo-Kim","gravatar_id":"e3805241b205e8ed57f8c83ea850e6e3","avatar_url":"https://secure.gravatar.com/avatar/e3805241b205e8ed57f8c83ea850e6e3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"YeongJoo-Kim","id":604111},"id":4507416,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:55:19Z","body":"Updated Codeblocks wizard for Linux to work with Project Generator.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1245","comments":5,"milestone":null,"number":1245,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1245","assignee":null,"title":"Cbwizard","labels":[],"closed_at":null,"created_at":"2012-05-07T00:31:17Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"pierrep","id":392160},"id":4447561,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1245.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1245","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1245.patch"}},{"updated_at":"2012-05-29T18:12:46Z","body":"The way ofThread's destructor worked was causing cleanup code at the end of threadedFunction to be skipped, sometimes leaving shared resources in an unusable state. This patch makes sure that the ofThread destructor waits until the thread has properly exited. \r\n\r\nIMO this patch is critical, but it should be treated with caution, as this has the possibility to cause deadlocks in code with multiple threads where the cleanup order is not clearly defined.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239","comments":12,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1239,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1239","assignee":null,"title":"Fix ofThread destructor behaviour","labels":[],"closed_at":null,"created_at":"2012-05-03T14:54:46Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4406584,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1239.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1239","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1239.patch"}},{"updated_at":"2012-05-16T09:42:24Z","body":"I was trying to load a file in a subclass. I'm used to doing that in a constructor, but after an hour of debugging I found out that I can only do this if I make some kind of setup function. Because otherwise it's called before openframeworks is initialized. \r\n\r\nWhy not initialize openframeworks before ofRunApp or in the constructor ofBaseApp? \r\n\r\nTo reproduce put the following code in a constructor of a class and in a setup function that you call from the testapp setup. \r\nofFile f(\"DroidSans.ttf\");\r\ncout << f.getAbsolutePath() << endl;\r\n\r\nDifference is that when you load a file from the constructor the absolute url becomes:\r\n/Developer/openFrameworks/007/apps/data/DroidSans.ttf\r\nFrom a setup function that I call in the setup function of TestApp:\r\n/Developer/openFrameworks/007/apps/experiments/FindingFont2/bin/data/DroidSans.ttf","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236","comments":3,"milestone":null,"number":1236,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1236","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"title":"init openframeworks before constructor of testapp is called?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-02T13:24:49Z","state":"open","user":{"url":"https://api.github.com/users/peteruithoven","gravatar_id":"f39b1485b28be1dc2b98f269235218bc","avatar_url":"https://secure.gravatar.com/avatar/f39b1485b28be1dc2b98f269235218bc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"peteruithoven","id":523210},"id":4384548,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T12:51:38Z","body":"Right now (007), how do you get a volume of a sample? a float sample.volume?\r\n\r\nhttp://www.openframeworks.cc/documentation/sound/ofSoundPlayer.html#volume\r\n\r\nBut if you look at ofSoundPlayer or ofBaseSoundPlayer there is no variable volume, or length, or pan, or speed. This brings up a compile error in Xcode saying:\r\n\r\nNo member named 'volume' in 'ofSoundPlayer'\r\n\r\nSo here are the variables:\r\n\r\nbool bLoop\r\nbool bLoadedOk\r\nbool bPaused\r\nfloat pan\r\nfloat volume\r\nfloat speed\r\nunsigned int length\r\n\r\nHere are the set methods:\r\n\r\nsetVolume(...)\r\nsetPan(...)\r\nsetSpeed(...)\r\nsetPaused(...)\r\nsetLoop(...)\r\nsetMultiPlay(...)\r\nsetPosition(...)\r\n\r\nHere are the gets:\r\n\r\ngetPosition()\r\ngetIsPlaying()\r\ngetSpeed()\r\ngetPan()\r\nsetPlayer(...)\r\ngetPlayer()\r\nsetPositionMS(...)\r\ngetPositionMS()\r\n\r\nWhat is missing?\r\n\r\ngetVolume()\r\ngetPaused()\r\ngetLoop()\r\n\r\nOr has this already been fixed?\r\n\r\nCheers\r\n\r\n\r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235","comments":1,"milestone":null,"number":1235,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1235","assignee":null,"title":"no get methods for ofSoundPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-02T12:06:15Z","state":"open","user":{"url":"https://api.github.com/users/chrisoshea","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"chrisoshea","id":104786},"id":4383465,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-03T08:19:23Z","body":"It would be great if the PG could get an option to generate the examples of non-core addons which the user has downloaded and placed in `OF/addons/`. This would really be useful to quickly look at/work with an addon.\r\n\r\nThe PG already knows about these addons. It would scan for folders in am addon's root directory with `example` in the name somewhere, and probably check the requisite structure (`src` folder, `addons.make` in place, etc), then generate the project file just the way it would if the example were in `OF/examples/addons/someExample`. Folder depth is the same, so I hope this is just a matter of adjusting the root folder for the example generation process - `addons` instead of `examples`.\r\n\r\nThoughts? Feedback?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1234,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1234","assignee":null,"title":"PG should generate examples in non-core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-01T20:24:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4373361,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-04T03:31:24Z","body":"This idea I had came up during the latest devmeet: \r\n\r\n*Proposal*\r\n\r\nI think it would be great if the PG would in the future offer automated downloading of addons. This would lower the barrier for people getting addons they want/need. Additionally, it would take away/reduce the need/desire to include popular addons in the OF core repo and/or release download, if addons are so easy to get, as part of a workflow we already envision the users to follow in the future (i.e. the PG)\r\n\r\n*Behaviour as it is now/soon:*\r\n\r\nAlice has an idea for a new project. She needs a couple addons for realising her project, and knows which ones. \r\nShe opens a browser to go to ofxaddons.com and/or github to download the addons if she doesn't have them yet and places them into `OF/addons/`. Alice starts the PG. The PG knows about the addons, and allows her to select them for inclusion. She creates a project and starts coding.\r\n\r\n*Desired/envisioned behaviour:*\r\n\r\nBob has an idea for a new project. He needs a couple addons for realising his project, and knows which ones. \r\nBob uses the new version of the PG to create a project. Beside the list of installed addons, the PG offers a dropdown list to select addons to download and place into the proper place. It lets Bob select if he prefers a plain download (to just use the addon), or a cloned git repo (to stay up-to-date and/or propose improvements to the addon author). Bob selects the desired addons to download, waits a while until PG reports that they're in place, and chooses all needed addons from the newly expanded list. He creates a project, and start coding the Next Big Thing, without even needing the browser! Awesome, right?\r\n\r\n*Analysis:*\r\n\r\nAlthough I realize that this is no trivial feature, I think much of what we need is already in place. \r\nPG knows about the repo structure, which addons are already there, etc., and has most of the file-manipulation logic already I think. \r\nofxaddons.com maintains a list of available addons and their locations, so I hope it's rather easy to present this in some machine-readable way for PG consumption (@obviousjim, thoughts?). \r\nWget/curl/git could take care of the download. \r\nofxGUI would have to be extended with a dropdown list, or some other way of (space)efficiently presenting the huge list of addons available.\r\n\r\nPossible issues: \r\nCross-platform way of downloading/git cloning without pulling to many dependencies (Elliot brought this up I think). Maybe have a fallback chain of mechanisms?\r\nAddon structure may not comply to what is expected (for old addons e.g.), so the project wouldn't work in the beginning. The same issue would appear on manual download, though.\r\n\r\n\r\nThoughts and Feedback, please. :-)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233","comments":2,"milestone":null,"number":1233,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1233","assignee":null,"title":"PG should offer addons download","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-01T20:15:17Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4373201,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T16:11:13Z","body":"should result in a gray circle, instead its white \r\n\r\n\tofColor c(255, 0, 0);\r\n\tc.setSaturation(0);\t\r\n\tofSetColor(c);\r\n\tofFill();\t\r\n\tofCircle(100,400,50);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1232","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1232,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1232","assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"title":"bug/feature in ofColor::setSaturation ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-05-01T17:40:08Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4370619,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T06:35:54Z","body":"How do you feel about passing matrices to ofShader as a uniform?\r\n\r\nsomething like:\r\n\r\n\tvoid ofShader::setUniformMatrix4fv(const char* name, ofMatrix& matrix ) {\r\n\t\tif(bLoaded)\r\n\t\t\tglUniformMatrix4fv(getUniformLocation(name), 1, GL_FALSE, matrix.getPtr());\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1229","comments":1,"milestone":null,"number":1229,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1229","assignee":null,"title":"pass matrices as uniforms with ofShader ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-30T19:49:38Z","state":"open","user":{"url":"https://api.github.com/users/Larsberg","gravatar_id":"bb9a4f7c510339e9d7a447347dc263ba","avatar_url":"https://secure.gravatar.com/avatar/bb9a4f7c510339e9d7a447347dc263ba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Larsberg","id":346072},"id":4356530,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-04T12:43:13Z","body":"@julapy do we need to add resources that are in bin/data/ to the xcode project for them to get copied to the device? \r\nat the moment the project generator doesn't add bin/data/ files but the simulator seems to be able to find them okay.\r\n\r\nin the past we needed to add the files to the xcode project so that they would be copied to the device. \r\n\r\nI can make the changes to make this happen but don't want to do it if its not needed. \r\n\r\nthanks!\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1228","comments":1,"milestone":null,"number":1228,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1228","assignee":null,"title":"ios - question. PG not adding bin/data/ files to xcode project","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"}],"closed_at":null,"created_at":"2012-04-30T15:42:23Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4352401,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:50:40Z","body":"I find that I'm using rectangles with rounded corners quiet often and seems like a fairly simple addition.\r\nAn example of using this is as follows:\r\n\r\n ofSetPolyMode(OF_POLY_WINDING_ODD);\r\n ofSetLineWidth(1.5);\r\n ofEnableSmoothing();\r\n ofNoFill();\r\n ofSetHexColor(0x000000);\r\n ofRoundedRect(630,520,80,60,9);\r\n ofDisableSmoothing();\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1223","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1223,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1223","assignee":null,"title":"Feature of rounded rect","labels":[],"closed_at":null,"created_at":"2012-04-27T06:35:58Z","state":"open","user":{"url":"https://api.github.com/users/lawarner","gravatar_id":"030dc27a9e68781f8c0090d2adc5312e","avatar_url":"https://secure.gravatar.com/avatar/030dc27a9e68781f8c0090d2adc5312e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"lawarner","id":1479237},"id":4317009,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1223.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1223","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1223.patch"}},{"updated_at":"2012-05-16T09:27:12Z","body":"Updated ofQuickTimePlayer to properly handle videos with an alpha channel. This uses the setPixelFormat() method, so all you need to do is:\r\n```\r\nmyVideoPlayer.setPixelFormat(OF_PIXELS_RGBA);\r\nmyVideoPlayer.loadMovie(\"path/to/movie.mov\");\t\r\nmyVideoPlayer.play();\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1218","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1218,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1218","assignee":null,"title":"ofQuickTimePlayer with alpha","labels":[],"closed_at":null,"created_at":"2012-04-25T18:48:41Z","state":"open","user":{"url":"https://api.github.com/users/prisonerjohn","gravatar_id":"b52cabeecffe4497699db813a715456f","avatar_url":"https://secure.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"prisonerjohn","id":119702},"id":4286936,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1218.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1218","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1218.patch"}}]
-
View
5 test/ReplayData/PaginatedList.testIntIndexingAfterIteration.txt
@@ -1,3 +1,8 @@
+https GET api.github.com None /repos/openframeworks/openFrameworks/issues {'Authorization': 'Basic login_and_password_removed'} null
+200
+[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '<https://api.github.com/repos/openframeworks/openFrameworks/issues?page=2>; rel="next", <https://api.github.com/repos/openframeworks/openFrameworks/issues?page=14>; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')]
+[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t<AdditionalDependencies>%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib</AdditionalDependencies>\n\t\t\t\t<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010</AdditionalLibraryDirectories>\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t<AdditionalDependencies>%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib</AdditionalDependencies>\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize<TCP_MAX_MSG_SIZE) {\n\t\t\t\t\t// null terminate!!\n\t\t\t\t\ttmpBuff[messageSize] = 0;\n\t\t\t}\n\t\t\t return tmpBuff;\n\t}\n\nThere is also need to check the other parts.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1249","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1249,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1249","assignee":null,"title":"string ofxTCPClient::receiveRaw() in ofxTCPClient.cpp ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":null,"created_at":"2012-05-10T06:23:23Z","state":"open","user":{"url":"https://api.github.com/users/YeongJoo-Kim","gravatar_id":"e3805241b205e8ed57f8c83ea850e6e3","avatar_url":"https://secure.gravatar.com/avatar/e3805241b205e8ed57f8c83ea850e6e3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"YeongJoo-Kim","id":604111},"id":4507416,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:55:19Z","body":"Updated Codeblocks wizard for Linux to work with Project Generator.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1245","comments":5,"milestone":null,"number":1245,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1245","assignee":null,"title":"Cbwizard","labels":[],"closed_at":null,"created_at":"2012-05-07T00:31:17Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"pierrep","id":392160},"id":4447561,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1245.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1245","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1245.patch"}},{"updated_at":"2012-05-29T18:12:46Z","body":"The way ofThread's destructor worked was causing cleanup code at the end of threadedFunction to be skipped, sometimes leaving shared resources in an unusable state. This patch makes sure that the ofThread destructor waits until the thread has properly exited. \r\n\r\nIMO this patch is critical, but it should be treated with caution, as this has the possibility to cause deadlocks in code with multiple threads where the cleanup order is not clearly defined.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239","comments":12,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1239,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1239","assignee":null,"title":"Fix ofThread destructor behaviour","labels":[],"closed_at":null,"created_at":"2012-05-03T14:54:46Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4406584,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1239.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1239","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1239.patch"}},{"updated_at":"2012-05-16T09:42:24Z","body":"I was trying to load a file in a subclass. I'm used to doing that in a constructor, but after an hour of debugging I found out that I can only do this if I make some kind of setup function. Because otherwise it's called before openframeworks is initialized. \r\n\r\nWhy not initialize openframeworks before ofRunApp or in the constructor ofBaseApp? \r\n\r\nTo reproduce put the following code in a constructor of a class and in a setup function that you call from the testapp setup. \r\nofFile f(\"DroidSans.ttf\");\r\ncout << f.getAbsolutePath() << endl;\r\n\r\nDifference is that when you load a file from the constructor the absolute url becomes:\r\n/Developer/openFrameworks/007/apps/data/DroidSans.ttf\r\nFrom a setup function that I call in the setup function of TestApp:\r\n/Developer/openFrameworks/007/apps/experiments/FindingFont2/bin/data/DroidSans.ttf","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236","comments":3,"milestone":null,"number":1236,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1236","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"title":"init openframeworks before constructor of testapp is called?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-02T13:24:49Z","state":"open","user":{"url":"https://api.github.com/users/peteruithoven","gravatar_id":"f39b1485b28be1dc2b98f269235218bc","avatar_url":"https://secure.gravatar.com/avatar/f39b1485b28be1dc2b98f269235218bc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"peteruithoven","id":523210},"id":4384548,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T12:51:38Z","body":"Right now (007), how do you get a volume of a sample? a float sample.volume?\r\n\r\nhttp://www.openframeworks.cc/documentation/sound/ofSoundPlayer.html#volume\r\n\r\nBut if you look at ofSoundPlayer or ofBaseSoundPlayer there is no variable volume, or length, or pan, or speed. This brings up a compile error in Xcode saying:\r\n\r\nNo member named 'volume' in 'ofSoundPlayer'\r\n\r\nSo here are the variables:\r\n\r\nbool bLoop\r\nbool bLoadedOk\r\nbool bPaused\r\nfloat pan\r\nfloat volume\r\nfloat speed\r\nunsigned int length\r\n\r\nHere are the set methods:\r\n\r\nsetVolume(...)\r\nsetPan(...)\r\nsetSpeed(...)\r\nsetPaused(...)\r\nsetLoop(...)\r\nsetMultiPlay(...)\r\nsetPosition(...)\r\n\r\nHere are the gets:\r\n\r\ngetPosition()\r\ngetIsPlaying()\r\ngetSpeed()\r\ngetPan()\r\nsetPlayer(...)\r\ngetPlayer()\r\nsetPositionMS(...)\r\ngetPositionMS()\r\n\r\nWhat is missing?\r\n\r\ngetVolume()\r\ngetPaused()\r\ngetLoop()\r\n\r\nOr has this already been fixed?\r\n\r\nCheers\r\n\r\n\r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235","comments":1,"milestone":null,"number":1235,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1235","assignee":null,"title":"no get methods for ofSoundPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-02T12:06:15Z","state":"open","user":{"url":"https://api.github.com/users/chrisoshea","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"chrisoshea","id":104786},"id":4383465,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-03T08:19:23Z","body":"It would be great if the PG could get an option to generate the examples of non-core addons which the user has downloaded and placed in `OF/addons/`. This would really be useful to quickly look at/work with an addon.\r\n\r\nThe PG already knows about these addons. It would scan for folders in am addon's root directory with `example` in the name somewhere, and probably check the requisite structure (`src` folder, `addons.make` in place, etc), then generate the project file just the way it would if the example were in `OF/examples/addons/someExample`. Folder depth is the same, so I hope this is just a matter of adjusting the root folder for the example generation process - `addons` instead of `examples`.\r\n\r\nThoughts? Feedback?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1234,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1234","assignee":null,"title":"PG should generate examples in non-core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-01T20:24:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4373361,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-04T03:31:24Z","body":"This idea I had came up during the latest devmeet: \r\n\r\n*Proposal*\r\n\r\nI think it would be great if the PG would in the future offer automated downloading of addons. This would lower the barrier for people getting addons they want/need. Additionally, it would take away/reduce the need/desire to include popular addons in the OF core repo and/or release download, if addons are so easy to get, as part of a workflow we already envision the users to follow in the future (i.e. the PG)\r\n\r\n*Behaviour as it is now/soon:*\r\n\r\nAlice has an idea for a new project. She needs a couple addons for realising her project, and knows which ones. \r\nShe opens a browser to go to ofxaddons.com and/or github to download the addons if she doesn't have them yet and places them into `OF/addons/`. Alice starts the PG. The PG knows about the addons, and allows her to select them for inclusion. She creates a project and starts coding.\r\n\r\n*Desired/envisioned behaviour:*\r\n\r\nBob has an idea for a new project. He needs a couple addons for realising his project, and knows which ones. \r\nBob uses the new version of the PG to create a project. Beside the list of installed addons, the PG offers a dropdown list to select addons to download and place into the proper place. It lets Bob select if he prefers a plain download (to just use the addon), or a cloned git repo (to stay up-to-date and/or propose improvements to the addon author). Bob selects the desired addons to download, waits a while until PG reports that they're in place, and chooses all needed addons from the newly expanded list. He creates a project, and start coding the Next Big Thing, without even needing the browser! Awesome, right?\r\n\r\n*Analysis:*\r\n\r\nAlthough I realize that this is no trivial feature, I think much of what we need is already in place. \r\nPG knows about the repo structure, which addons are already there, etc., and has most of the file-manipulation logic already I think. \r\nofxaddons.com maintains a list of available addons and their locations, so I hope it's rather easy to present this in some machine-readable way for PG consumption (@obviousjim, thoughts?). \r\nWget/curl/git could take care of the download. \r\nofxGUI would have to be extended with a dropdown list, or some other way of (space)efficiently presenting the huge list of addons available.\r\n\r\nPossible issues: \r\nCross-platform way of downloading/git cloning without pulling to many dependencies (Elliot brought this up I think). Maybe have a fallback chain of mechanisms?\r\nAddon structure may not comply to what is expected (for old addons e.g.), so the project wouldn't work in the beginning. The same issue would appear on manual download, though.\r\n\r\n\r\nThoughts and Feedback, please. :-)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233","comments":2,"milestone":null,"number":1233,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1233","assignee":null,"title":"PG should offer addons download","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-01T20:15:17Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4373201,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T16:11:13Z","body":"should result in a gray circle, instead its white \r\n\r\n\tofColor c(255, 0, 0);\r\n\tc.setSaturation(0);\t\r\n\tofSetColor(c);\r\n\tofFill();\t\r\n\tofCircle(100,400,50);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1232","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1232,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1232","assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"title":"bug/feature in ofColor::setSaturation ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-05-01T17:40:08Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4370619,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T06:35:54Z","body":"How do you feel about passing matrices to ofShader as a uniform?\r\n\r\nsomething like:\r\n\r\n\tvoid ofShader::setUniformMatrix4fv(const char* name, ofMatrix& matrix ) {\r\n\t\tif(bLoaded)\r\n\t\t\tglUniformMatrix4fv(getUniformLocation(name), 1, GL_FALSE, matrix.getPtr());\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1229","comments":1,"milestone":null,"number":1229,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1229","assignee":null,"title":"pass matrices as uniforms with ofShader ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-30T19:49:38Z","state":"open","user":{"url":"https://api.github.com/users/Larsberg","gravatar_id":"bb9a4f7c510339e9d7a447347dc263ba","avatar_url":"https://secure.gravatar.com/avatar/bb9a4f7c510339e9d7a447347dc263ba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Larsberg","id":346072},"id":4356530,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-04T12:43:13Z","body":"@julapy do we need to add resources that are in bin/data/ to the xcode project for them to get copied to the device? \r\nat the moment the project generator doesn't add bin/data/ files but the simulator seems to be able to find them okay.\r\n\r\nin the past we needed to add the files to the xcode project so that they would be copied to the device. \r\n\r\nI can make the changes to make this happen but don't want to do it if its not needed. \r\n\r\nthanks!\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1228","comments":1,"milestone":null,"number":1228,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1228","assignee":null,"title":"ios - question. PG not adding bin/data/ files to xcode project","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"}],"closed_at":null,"created_at":"2012-04-30T15:42:23Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4352401,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:50:40Z","body":"I find that I'm using rectangles with rounded corners quiet often and seems like a fairly simple addition.\r\nAn example of using this is as follows:\r\n\r\n ofSetPolyMode(OF_POLY_WINDING_ODD);\r\n ofSetLineWidth(1.5);\r\n ofEnableSmoothing();\r\n ofNoFill();\r\n ofSetHexColor(0x000000);\r\n ofRoundedRect(630,520,80,60,9);\r\n ofDisableSmoothing();\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1223","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1223,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1223","assignee":null,"title":"Feature of rounded rect","labels":[],"closed_at":null,"created_at":"2012-04-27T06:35:58Z","state":"open","user":{"url":"https://api.github.com/users/lawarner","gravatar_id":"030dc27a9e68781f8c0090d2adc5312e","avatar_url":"https://secure.gravatar.com/avatar/030dc27a9e68781f8c0090d2adc5312e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"lawarner","id":1479237},"id":4317009,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1223.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1223","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1223.patch"}},{"updated_at":"2012-05-16T09:27:12Z","body":"Updated ofQuickTimePlayer to properly handle videos with an alpha channel. This uses the setPixelFormat() method, so all you need to do is:\r\n```\r\nmyVideoPlayer.setPixelFormat(OF_PIXELS_RGBA);\r\nmyVideoPlayer.loadMovie(\"path/to/movie.mov\");\t\r\nmyVideoPlayer.play();\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1218","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1218,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1218","assignee":null,"title":"ofQuickTimePlayer with alpha","labels":[],"closed_at":null,"created_at":"2012-04-25T18:48:41Z","state":"open","user":{"url":"https://api.github.com/users/prisonerjohn","gravatar_id":"b52cabeecffe4497699db813a715456f","avatar_url":"https://secure.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"prisonerjohn","id":119702},"id":4286936,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1218.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1218","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1218.patch"}}]
+
https GET api.github.com None /repos/openframeworks/openFrameworks/issues?page=2 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4942'), ('content-length', '49679'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '<https://api.github.com/repos/openframeworks/openFrameworks/issues?page=3>; rel="next", <https://api.github.com/repos/openframeworks/openFrameworks/issues?page=14>; rel="last", <https://api.github.com/repos/openframeworks/openFrameworks/issues?page=1>; rel="first", <https://api.github.com/repos/openframeworks/openFrameworks/issues?page=1>; rel="prev"'), ('etag', '"cf9ec647fbc78faae05cb2d11598f79c"'), ('date', 'Tue, 29 May 2012 19:27:10 GMT'), ('content-type', 'application/json; charset=utf-8')]
View
5 test/ReplayData/PaginatedList.testIntIndexingInFirstPage.txt
@@ -0,0 +1,5 @@
+https GET api.github.com None /repos/openframeworks/openFrameworks/issues {'Authorization': 'Basic login_and_password_removed'} null
+200
+[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '<https://api.github.com/repos/openframeworks/openFrameworks/issues?page=2>; rel="next", <https://api.github.com/repos/openframeworks/openFrameworks/issues?page=14>; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')]
+[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t<AdditionalDependencies>%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib</AdditionalDependencies>\n\t\t\t\t<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010</AdditionalLibraryDirectories>\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t<AdditionalDependencies>%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib</AdditionalDependencies>\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize<TCP_MAX_MSG_SIZE) {\n\t\t\t\t\t// null terminate!!\n\t\t\t\t\ttmpBuff[messageSize] = 0;\n\t\t\t}\n\t\t\t return tmpBuff;\n\t}\n\nThere is also need to check the other parts.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1249","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1249,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1249","assignee":null,"title":"string ofxTCPClient::receiveRaw() in ofxTCPClient.cpp ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":null,"created_at":"2012-05-10T06:23:23Z","state":"open","user":{"url":"https://api.github.com/users/YeongJoo-Kim","gravatar_id":"e3805241b205e8ed57f8c83ea850e6e3","avatar_url":"https://secure.gravatar.com/avatar/e3805241b205e8ed57f8c83ea850e6e3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"YeongJoo-Kim","id":604111},"id":4507416,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:55:19Z","body":"Updated Codeblocks wizard for Linux to work with Project Generator.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1245","comments":5,"milestone":null,"number":1245,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1245","assignee":null,"title":"Cbwizard","labels":[],"closed_at":null,"created_at":"2012-05-07T00:31:17Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"pierrep","id":392160},"id":4447561,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1245.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1245","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1245.patch"}},{"updated_at":"2012-05-29T18:12:46Z","body":"The way ofThread's destructor worked was causing cleanup code at the end of threadedFunction to be skipped, sometimes leaving shared resources in an unusable state. This patch makes sure that the ofThread destructor waits until the thread has properly exited. \r\n\r\nIMO this patch is critical, but it should be treated with caution, as this has the possibility to cause deadlocks in code with multiple threads where the cleanup order is not clearly defined.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239","comments":12,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1239,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1239","assignee":null,"title":"Fix ofThread destructor behaviour","labels":[],"closed_at":null,"created_at":"2012-05-03T14:54:46Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4406584,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1239.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1239","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1239.patch"}},{"updated_at":"2012-05-16T09:42:24Z","body":"I was trying to load a file in a subclass. I'm used to doing that in a constructor, but after an hour of debugging I found out that I can only do this if I make some kind of setup function. Because otherwise it's called before openframeworks is initialized. \r\n\r\nWhy not initialize openframeworks before ofRunApp or in the constructor ofBaseApp? \r\n\r\nTo reproduce put the following code in a constructor of a class and in a setup function that you call from the testapp setup. \r\nofFile f(\"DroidSans.ttf\");\r\ncout << f.getAbsolutePath() << endl;\r\n\r\nDifference is that when you load a file from the constructor the absolute url becomes:\r\n/Developer/openFrameworks/007/apps/data/DroidSans.ttf\r\nFrom a setup function that I call in the setup function of TestApp:\r\n/Developer/openFrameworks/007/apps/experiments/FindingFont2/bin/data/DroidSans.ttf","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236","comments":3,"milestone":null,"number":1236,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1236","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"title":"init openframeworks before constructor of testapp is called?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-02T13:24:49Z","state":"open","user":{"url":"https://api.github.com/users/peteruithoven","gravatar_id":"f39b1485b28be1dc2b98f269235218bc","avatar_url":"https://secure.gravatar.com/avatar/f39b1485b28be1dc2b98f269235218bc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"peteruithoven","id":523210},"id":4384548,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T12:51:38Z","body":"Right now (007), how do you get a volume of a sample? a float sample.volume?\r\n\r\nhttp://www.openframeworks.cc/documentation/sound/ofSoundPlayer.html#volume\r\n\r\nBut if you look at ofSoundPlayer or ofBaseSoundPlayer there is no variable volume, or length, or pan, or speed. This brings up a compile error in Xcode saying:\r\n\r\nNo member named 'volume' in 'ofSoundPlayer'\r\n\r\nSo here are the variables:\r\n\r\nbool bLoop\r\nbool bLoadedOk\r\nbool bPaused\r\nfloat pan\r\nfloat volume\r\nfloat speed\r\nunsigned int length\r\n\r\nHere are the set methods:\r\n\r\nsetVolume(...)\r\nsetPan(...)\r\nsetSpeed(...)\r\nsetPaused(...)\r\nsetLoop(...)\r\nsetMultiPlay(...)\r\nsetPosition(...)\r\n\r\nHere are the gets:\r\n\r\ngetPosition()\r\ngetIsPlaying()\r\ngetSpeed()\r\ngetPan()\r\nsetPlayer(...)\r\ngetPlayer()\r\nsetPositionMS(...)\r\ngetPositionMS()\r\n\r\nWhat is missing?\r\n\r\ngetVolume()\r\ngetPaused()\r\ngetLoop()\r\n\r\nOr has this already been fixed?\r\n\r\nCheers\r\n\r\n\r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235","comments":1,"milestone":null,"number":1235,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1235","assignee":null,"title":"no get methods for ofSoundPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-02T12:06:15Z","state":"open","user":{"url":"https://api.github.com/users/chrisoshea","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"chrisoshea","id":104786},"id":4383465,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-03T08:19:23Z","body":"It would be great if the PG could get an option to generate the examples of non-core addons which the user has downloaded and placed in `OF/addons/`. This would really be useful to quickly look at/work with an addon.\r\n\r\nThe PG already knows about these addons. It would scan for folders in am addon's root directory with `example` in the name somewhere, and probably check the requisite structure (`src` folder, `addons.make` in place, etc), then generate the project file just the way it would if the example were in `OF/examples/addons/someExample`. Folder depth is the same, so I hope this is just a matter of adjusting the root folder for the example generation process - `addons` instead of `examples`.\r\n\r\nThoughts? Feedback?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1234,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1234","assignee":null,"title":"PG should generate examples in non-core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-01T20:24:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4373361,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-04T03:31:24Z","body":"This idea I had came up during the latest devmeet: \r\n\r\n*Proposal*\r\n\r\nI think it would be great if the PG would in the future offer automated downloading of addons. This would lower the barrier for people getting addons they want/need. Additionally, it would take away/reduce the need/desire to include popular addons in the OF core repo and/or release download, if addons are so easy to get, as part of a workflow we already envision the users to follow in the future (i.e. the PG)\r\n\r\n*Behaviour as it is now/soon:*\r\n\r\nAlice has an idea for a new project. She needs a couple addons for realising her project, and knows which ones. \r\nShe opens a browser to go to ofxaddons.com and/or github to download the addons if she doesn't have them yet and places them into `OF/addons/`. Alice starts the PG. The PG knows about the addons, and allows her to select them for inclusion. She creates a project and starts coding.\r\n\r\n*Desired/envisioned behaviour:*\r\n\r\nBob has an idea for a new project. He needs a couple addons for realising his project, and knows which ones. \r\nBob uses the new version of the PG to create a project. Beside the list of installed addons, the PG offers a dropdown list to select addons to download and place into the proper place. It lets Bob select if he prefers a plain download (to just use the addon), or a cloned git repo (to stay up-to-date and/or propose improvements to the addon author). Bob selects the desired addons to download, waits a while until PG reports that they're in place, and chooses all needed addons from the newly expanded list. He creates a project, and start coding the Next Big Thing, without even needing the browser! Awesome, right?\r\n\r\n*Analysis:*\r\n\r\nAlthough I realize that this is no trivial feature, I think much of what we need is already in place. \r\nPG knows about the repo structure, which addons are already there, etc., and has most of the file-manipulation logic already I think. \r\nofxaddons.com maintains a list of available addons and their locations, so I hope it's rather easy to present this in some machine-readable way for PG consumption (@obviousjim, thoughts?). \r\nWget/curl/git could take care of the download. \r\nofxGUI would have to be extended with a dropdown list, or some other way of (space)efficiently presenting the huge list of addons available.\r\n\r\nPossible issues: \r\nCross-platform way of downloading/git cloning without pulling to many dependencies (Elliot brought this up I think). Maybe have a fallback chain of mechanisms?\r\nAddon structure may not comply to what is expected (for old addons e.g.), so the project wouldn't work in the beginning. The same issue would appear on manual download, though.\r\n\r\n\r\nThoughts and Feedback, please. :-)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233","comments":2,"milestone":null,"number":1233,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1233","assignee":null,"title":"PG should offer addons download","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-01T20:15:17Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4373201,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T16:11:13Z","body":"should result in a gray circle, instead its white \r\n\r\n\tofColor c(255, 0, 0);\r\n\tc.setSaturation(0);\t\r\n\tofSetColor(c);\r\n\tofFill();\t\r\n\tofCircle(100,400,50);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1232","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1232,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1232","assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"title":"bug/feature in ofColor::setSaturation ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-05-01T17:40:08Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4370619,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T06:35:54Z","body":"How do you feel about passing matrices to ofShader as a uniform?\r\n\r\nsomething like:\r\n\r\n\tvoid ofShader::setUniformMatrix4fv(const char* name, ofMatrix& matrix ) {\r\n\t\tif(bLoaded)\r\n\t\t\tglUniformMatrix4fv(getUniformLocation(name), 1, GL_FALSE, matrix.getPtr());\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1229","comments":1,"milestone":null,"number":1229,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1229","assignee":null,"title":"pass matrices as uniforms with ofShader ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-30T19:49:38Z","state":"open","user":{"url":"https://api.github.com/users/Larsberg","gravatar_id":"bb9a4f7c510339e9d7a447347dc263ba","avatar_url":"https://secure.gravatar.com/avatar/bb9a4f7c510339e9d7a447347dc263ba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Larsberg","id":346072},"id":4356530,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-04T12:43:13Z","body":"@julapy do we need to add resources that are in bin/data/ to the xcode project for them to get copied to the device? \r\nat the moment the project generator doesn't add bin/data/ files but the simulator seems to be able to find them okay.\r\n\r\nin the past we needed to add the files to the xcode project so that they would be copied to the device. \r\n\r\nI can make the changes to make this happen but don't want to do it if its not needed. \r\n\r\nthanks!\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1228","comments":1,"milestone":null,"number":1228,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1228","assignee":null,"title":"ios - question. PG not adding bin/data/ files to xcode project","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"}],"closed_at":null,"created_at":"2012-04-30T15:42:23Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4352401,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:50:40Z","body":"I find that I'm using rectangles with rounded corners quiet often and seems like a fairly simple addition.\r\nAn example of using this is as follows:\r\n\r\n ofSetPolyMode(OF_POLY_WINDING_ODD);\r\n ofSetLineWidth(1.5);\r\n ofEnableSmoothing();\r\n ofNoFill();\r\n ofSetHexColor(0x000000);\r\n ofRoundedRect(630,520,80,60,9);\r\n ofDisableSmoothing();\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1223","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1223,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1223","assignee":null,"title":"Feature of rounded rect","labels":[],"closed_at":null,"created_at":"2012-04-27T06:35:58Z","state":"open","user":{"url":"https://api.github.com/users/lawarner","gravatar_id":"030dc27a9e68781f8c0090d2adc5312e","avatar_url":"https://secure.gravatar.com/avatar/030dc27a9e68781f8c0090d2adc5312e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"lawarner","id":1479237},"id":4317009,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1223.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1223","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1223.patch"}},{"updated_at":"2012-05-16T09:27:12Z","body":"Updated ofQuickTimePlayer to properly handle videos with an alpha channel. This uses the setPixelFormat() method, so all you need to do is:\r\n```\r\nmyVideoPlayer.setPixelFormat(OF_PIXELS_RGBA);\r\nmyVideoPlayer.loadMovie(\"path/to/movie.mov\");\t\r\nmyVideoPlayer.play();\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1218","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1218,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1218","assignee":null,"title":"ofQuickTimePlayer with alpha","labels":[],"closed_at":null,"created_at":"2012-04-25T18:48:41Z","state":"open","user":{"url":"https://api.github.com/users/prisonerjohn","gravatar_id":"b52cabeecffe4497699db813a715456f","avatar_url":"https://secure.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"prisonerjohn","id":119702},"id":4286936,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1218.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1218","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1218.patch"}}]
+
View
5 test/ReplayData/PaginatedList.testIntIndexingInThirdPage.txt
@@ -1,3 +1,8 @@
+https GET api.github.com None /repos/openframeworks/openFrameworks/issues {'Authorization': 'Basic login_and_password_removed'} null
+200
+[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '<https://api.github.com/repos/openframeworks/openFrameworks/issues?page=2>; rel="next", <https://api.github.com/repos/openframeworks/openFrameworks/issues?page=14>; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')]
+[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t<AdditionalDependencies>%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib</AdditionalDependencies>\n\t\t\t\t<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010</AdditionalLibraryDirectories>\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t<AdditionalDependencies>%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib</AdditionalDependencies>\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize<TCP_MAX_MSG_SIZE) {\n\t\t\t\t\t// null terminate!!\n\t\t\t\t\ttmpBuff[messageSize] = 0;\n\t\t\t}\n\t\t\t return tmpBuff;\n\t}\n\nThere is also need to check the other parts.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1249","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1249,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1249","assignee":null,"title":"string ofxTCPClient::receiveRaw() in ofxTCPClient.cpp ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":null,"created_at":"2012-05-10T06:23:23Z","state":"open","user":{"url":"https://api.github.com/users/YeongJoo-Kim","gravatar_id":"e3805241b205e8ed57f8c83ea850e6e3","avatar_url":"https://secure.gravatar.com/avatar/e3805241b205e8ed57f8c83ea850e6e3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"YeongJoo-Kim","id":604111},"id":4507416,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:55:19Z","body":"Updated Codeblocks wizard for Linux to work with Project Generator.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1245","comments":5,"milestone":null,"number":1245,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1245","assignee":null,"title":"Cbwizard","labels":[],"closed_at":null,"created_at":"2012-05-07T00:31:17Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"pierrep","id":392160},"id":4447561,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1245.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1245","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1245.patch"}},{"updated_at":"2012-05-29T18:12:46Z","body":"The way ofThread's destructor worked was causing cleanup code at the end of threadedFunction to be skipped, sometimes leaving shared resources in an unusable state. This patch makes sure that the ofThread destructor waits until the thread has properly exited. \r\n\r\nIMO this patch is critical, but it should be treated with caution, as this has the possibility to cause deadlocks in code with multiple threads where the cleanup order is not clearly defined.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239","comments":12,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1239,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1239","assignee":null,"title":"Fix ofThread destructor behaviour","labels":[],"closed_at":null,"created_at":"2012-05-03T14:54:46Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4406584,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1239.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1239","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1239.patch"}},{"updated_at":"2012-05-16T09:42:24Z","body":"I was trying to load a file in a subclass. I'm used to doing that in a constructor, but after an hour of debugging I found out that I can only do this if I make some kind of setup function. Because otherwise it's called before openframeworks is initialized. \r\n\r\nWhy not initialize openframeworks before ofRunApp or in the constructor ofBaseApp? \r\n\r\nTo reproduce put the following code in a constructor of a class and in a setup function that you call from the testapp setup. \r\nofFile f(\"DroidSans.ttf\");\r\ncout << f.getAbsolutePath() << endl;\r\n\r\nDifference is that when you load a file from the constructor the absolute url becomes:\r\n/Developer/openFrameworks/007/apps/data/DroidSans.ttf\r\nFrom a setup function that I call in the setup function of TestApp:\r\n/Developer/openFrameworks/007/apps/experiments/FindingFont2/bin/data/DroidSans.ttf","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236","comments":3,"milestone":null,"number":1236,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1236","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"title":"init openframeworks before constructor of testapp is called?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-02T13:24:49Z","state":"open","user":{"url":"https://api.github.com/users/peteruithoven","gravatar_id":"f39b1485b28be1dc2b98f269235218bc","avatar_url":"https://secure.gravatar.com/avatar/f39b1485b28be1dc2b98f269235218bc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"peteruithoven","id":523210},"id":4384548,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T12:51:38Z","body":"Right now (007), how do you get a volume of a sample? a float sample.volume?\r\n\r\nhttp://www.openframeworks.cc/documentation/sound/ofSoundPlayer.html#volume\r\n\r\nBut if you look at ofSoundPlayer or ofBaseSoundPlayer there is no variable volume, or length, or pan, or speed. This brings up a compile error in Xcode saying:\r\n\r\nNo member named 'volume' in 'ofSoundPlayer'\r\n\r\nSo here are the variables:\r\n\r\nbool bLoop\r\nbool bLoadedOk\r\nbool bPaused\r\nfloat pan\r\nfloat volume\r\nfloat speed\r\nunsigned int length\r\n\r\nHere are the set methods:\r\n\r\nsetVolume(...)\r\nsetPan(...)\r\nsetSpeed(...)\r\nsetPaused(...)\r\nsetLoop(...)\r\nsetMultiPlay(...)\r\nsetPosition(...)\r\n\r\nHere are the gets:\r\n\r\ngetPosition()\r\ngetIsPlaying()\r\ngetSpeed()\r\ngetPan()\r\nsetPlayer(...)\r\ngetPlayer()\r\nsetPositionMS(...)\r\ngetPositionMS()\r\n\r\nWhat is missing?\r\n\r\ngetVolume()\r\ngetPaused()\r\ngetLoop()\r\n\r\nOr has this already been fixed?\r\n\r\nCheers\r\n\r\n\r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235","comments":1,"milestone":null,"number":1235,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1235","assignee":null,"title":"no get methods for ofSoundPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-02T12:06:15Z","state":"open","user":{"url":"https://api.github.com/users/chrisoshea","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"chrisoshea","id":104786},"id":4383465,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-03T08:19:23Z","body":"It would be great if the PG could get an option to generate the examples of non-core addons which the user has downloaded and placed in `OF/addons/`. This would really be useful to quickly look at/work with an addon.\r\n\r\nThe PG already knows about these addons. It would scan for folders in am addon's root directory with `example` in the name somewhere, and probably check the requisite structure (`src` folder, `addons.make` in place, etc), then generate the project file just the way it would if the example were in `OF/examples/addons/someExample`. Folder depth is the same, so I hope this is just a matter of adjusting the root folder for the example generation process - `addons` instead of `examples`.\r\n\r\nThoughts? Feedback?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1234,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1234","assignee":null,"title":"PG should generate examples in non-core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-01T20:24:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4373361,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-04T03:31:24Z","body":"This idea I had came up during the latest devmeet: \r\n\r\n*Proposal*\r\n\r\nI think it would be great if the PG would in the future offer automated downloading of addons. This would lower the barrier for people getting addons they want/need. Additionally, it would take away/reduce the need/desire to include popular addons in the OF core repo and/or release download, if addons are so easy to get, as part of a workflow we already envision the users to follow in the future (i.e. the PG)\r\n\r\n*Behaviour as it is now/soon:*\r\n\r\nAlice has an idea for a new project. She needs a couple addons for realising her project, and knows which ones. \r\nShe opens a browser to go to ofxaddons.com and/or github to download the addons if she doesn't have them yet and places them into `OF/addons/`. Alice starts the PG. The PG knows about the addons, and allows her to select them for inclusion. She creates a project and starts coding.\r\n\r\n*Desired/envisioned behaviour:*\r\n\r\nBob has an idea for a new project. He needs a couple addons for realising his project, and knows which ones. \r\nBob uses the new version of the PG to create a project. Beside the list of installed addons, the PG offers a dropdown list to select addons to download and place into the proper place. It lets Bob select if he prefers a plain download (to just use the addon), or a cloned git repo (to stay up-to-date and/or propose improvements to the addon author). Bob selects the desired addons to download, waits a while until PG reports that they're in place, and chooses all needed addons from the newly expanded list. He creates a project, and start coding the Next Big Thing, without even needing the browser! Awesome, right?\r\n\r\n*Analysis:*\r\n\r\nAlthough I realize that this is no trivial feature, I think much of what we need is already in place. \r\nPG knows about the repo structure, which addons are already there, etc., and has most of the file-manipulation logic already I think. \r\nofxaddons.com maintains a list of available addons and their locations, so I hope it's rather easy to present this in some machine-readable way for PG consumption (@obviousjim, thoughts?). \r\nWget/curl/git could take care of the download. \r\nofxGUI would have to be extended with a dropdown list, or some other way of (space)efficiently presenting the huge list of addons available.\r\n\r\nPossible issues: \r\nCross-platform way of downloading/git cloning without pulling to many dependencies (Elliot brought this up I think). Maybe have a fallback chain of mechanisms?\r\nAddon structure may not comply to what is expected (for old addons e.g.), so the project wouldn't work in the beginning. The same issue would appear on manual download, though.\r\n\r\n\r\nThoughts and Feedback, please. :-)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233","comments":2,"milestone":null,"number":1233,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1233","assignee":null,"title":"PG should offer addons download","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-01T20:15:17Z","state":"open","