{"action":"created","comment":{"url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/comments/199597526","pull_request_review_id":133748552,"id":199597526,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5OTU5NzUyNg==","diff_hunk":"@@ -0,0 +1,197 @@\n+#include \"effects/specialeffectchainslots.h\"\n+\n+#include \"effects/effectchainslot.h\"\n+\n+\n+StandardEffectChainSlot::StandardEffectChainSlot(unsigned int iChainNumber,\n+                                                 EffectsManager* pEffectsManager,\n+                                                 const QString& id)\n+        : EffectChainSlot(formatEffectChainSlotGroupString(iChainNumber),\n+                          iChainNumber, pEffectsManager,\n+                          SignalProcessingStage::Postfader, false,\n+                          formatEffectChainSlotGroupString(iChainNumber)) {\n+    for (int i = 0; i < kNumEffectsPerUnit; ++i) {\n+        addEffectSlot(formatEffectSlotGroup(iChainNumber, i));\n+    }\n+}\n+\n+QString StandardEffectChainSlot::formatEffectChainSlotGroup(const QString& group) {\n+    return QString(\"[EffectRack1_EffectUnit%1]\").arg(group);\n+}\n+\n+QString StandardEffectChainSlot::formatEffectChainSlotGroupString(const int iChainNumber) {\n+    return QString(\"[EffectRack1_EffectUnit%1]\")\n+                   .arg(QString::number(iChainNumber + 1));\n+}\n+\n+QString StandardEffectChainSlot::formatEffectSlotGroup(const int iChainSlotNumber,\n+                                                       const int iEffectSlotNumber) {\n+    return QString(\"[EffectRack1_EffectUnit%1_Effect%2]\")\n+                   .arg(QString::number(iChainSlotNumber + 1))\n+                   .arg(QString::number(iEffectSlotNumber + 1));\n+}\n+\n+\n+OutputEffectChainSlot::OutputEffectChainSlot(EffectsManager* pEffectsManager)\n+        : EffectChainSlot(formatEffectChainSlotGroup(\"[Master]\"),\n+                          0, pEffectsManager,\n+                          SignalProcessingStage::Postfader, true,\n+                          formatEffectChainSlotGroup(\"[Master]\")) {\n+    addEffectSlot(\"[OutputEffectRack_[Master]_Effect1]\");\n+\n+    // Register the master channel\n+    const ChannelHandleAndGroup* masterHandleAndGroup = nullptr;\n+\n+    // TODO(Be): Remove this hideous hack to get the ChannelHandleAndGroup\n+    const QSet<ChannelHandleAndGroup>& registeredChannels =\n+            m_pEffectsManager->registeredInputChannels();\n+    for (const ChannelHandleAndGroup& handle_group : registeredChannels) {\n+        if (handle_group.name() == \"[MasterOutput]\") {\n+            masterHandleAndGroup = &handle_group;\n+            break;\n+        }\n+    }\n+    DEBUG_ASSERT(masterHandleAndGroup != nullptr);\n+\n+    registerInputChannel(*masterHandleAndGroup);\n+    enableForInputChannel(*masterHandleAndGroup);\n+    m_pControlChainMix->set(1.0);\n+    sendParameterUpdate();\n+}\n+\n+QString OutputEffectChainSlot::formatEffectChainSlotGroup(const QString& group) {\n+    return QString(\"[OutputEffectRack_%1]\").arg(group);\n+}\n+\n+\n+PerGroupEffectChainSlot::PerGroupEffectChainSlot(const QString& group,\n+                                                 const QString& chainSlotGroup,\n+                                                 unsigned int iChainNumber,\n+                                                 EffectsManager* pEffectsManager)\n+        : EffectChainSlot(chainSlotGroup, iChainNumber, pEffectsManager,\n+                          SignalProcessingStage::Prefader, false,\n+                          chainSlotGroup) {\n+    // Set the chain to be fully wet.\n+    m_pControlChainMix->set(1.0);\n+    sendParameterUpdate();\n+\n+    // TODO(rryan): remove.\n+    const ChannelHandleAndGroup* handleAndGroup = nullptr;\n+    for (const ChannelHandleAndGroup& handle_group :\n+             m_pEffectsManager->registeredInputChannels()) {\n+        if (handle_group.name() == group) {\n+            handleAndGroup = &handle_group;\n+            break;\n+        }\n+    }\n+    DEBUG_ASSERT(handleAndGroup != nullptr);\n+\n+    // Register this channel alone with the chain slot.\n+    registerInputChannel(*handleAndGroup);\n+    enableForInputChannel(*handleAndGroup);\n+\n+    // Add a single effect slot\n+    addEffectSlot(chainSlotGroup);\n+    // DlgPrefEq loads the Effect with loadEffectToGroup\n+}\n+\n+\n+QuickEffectChainSlot::QuickEffectChainSlot(const QString& group,\n+                                           unsigned int iChainNumber,\n+                                           EffectsManager* pEffectsManager)\n+        : PerGroupEffectChainSlot(group, formatEffectChainSlotGroup(group),\n+                                  iChainNumber, pEffectsManager) {\n+    configureForGroup(group);\n+}\n+\n+QString QuickEffectChainSlot::formatEffectChainSlotGroup(const QString& group) {\n+    return formatEffectChainSlotGroupString(group);\n+}\n+\n+QString QuickEffectChainSlot::formatEffectChainSlotGroupString(const QString& group) {\n+    return QString(\"[QuickEffectRack1_%1]\").arg(group);\n+}\n+\n+void QuickEffectChainSlot::configureForGroup(const QString& group) {\n+    // Set the parameter default value to 0.5 (neutral).\n+    setSuperParameter(0.5);\n+    setSuperParameterDefaultValue(0.5);\n+}\n+\n+QString QuickEffectChainSlot::formatEffectSlotGroup(const QString& group) {\n+        return QString(\"[QuickEffectRack1_%1_Effect1]\")\n+                .arg(group);\n+}\n+\n+QString QuickEffectChainSlot::formatEffectSlotGroupString(const QString& group) {\n+        return formatEffectSlotGroup(group);\n+}\n+\n+\n+EqualizerEffectChainSlot::EqualizerEffectChainSlot(const QString& group,\n+                                                   unsigned int iChainNumber,\n+                                                   EffectsManager* pEffectsManager)\n+        : PerGroupEffectChainSlot(group, formatEffectChainSlotGroup(group),\n+                                  iChainNumber, pEffectsManager) {\n+    configureForGroup(group);\n+}\n+\n+QString EqualizerEffectChainSlot::formatEffectChainSlotGroup(const QString& group) {\n+    return formatEffectChainSlotGroupString(group);","path":"src/effects/specialeffectchainslots.cpp","position":150,"original_position":140,"commit_id":"d8a0b7c8c7dbd0f3b32d7c57241d2dfaf9ff68d0","original_commit_id":"b304e7d77e2ef012440a01426c4155854425791c","user":{"login":"Be-ing","id":9455094,"node_id":"MDQ6VXNlcjk0NTUwOTQ=","avatar_url":"https://avatars3.githubusercontent.com/u/9455094?v=4","gravatar_id":"","url":"https://api.github.com/users/Be-ing","html_url":"https://github.com/Be-ing","followers_url":"https://api.github.com/users/Be-ing/followers","following_url":"https://api.github.com/users/Be-ing/following{/other_user}","gists_url":"https://api.github.com/users/Be-ing/gists{/gist_id}","starred_url":"https://api.github.com/users/Be-ing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Be-ing/subscriptions","organizations_url":"https://api.github.com/users/Be-ing/orgs","repos_url":"https://api.github.com/users/Be-ing/repos","events_url":"https://api.github.com/users/Be-ing/events{/privacy}","received_events_url":"https://api.github.com/users/Be-ing/received_events","type":"User","site_admin":false},"body":"Oh I see, some of the static functions are used by ControlPickerMenu... :/ Hmm... there must be a better way to organize this...","created_at":"2018-07-02T19:26:19Z","updated_at":"2018-07-02T19:26:19Z","html_url":"https://github.com/mixxxdj/mixxx/pull/1705#discussion_r199597526","pull_request_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/1705","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/comments/199597526"},"html":{"href":"https://github.com/mixxxdj/mixxx/pull/1705#discussion_r199597526"},"pull_request":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/1705"}},"in_reply_to_id":199562451},"pull_request":{"url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/1705","id":193181909,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkzMTgxOTA5","html_url":"https://github.com/mixxxdj/mixxx/pull/1705","diff_url":"https://github.com/mixxxdj/mixxx/pull/1705.diff","patch_url":"https://github.com/mixxxdj/mixxx/pull/1705.patch","issue_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/1705","number":1705,"state":"open","locked":false,"title":"[WIP] Effects Refactoring","user":{"login":"kshitij98","id":12982388,"node_id":"MDQ6VXNlcjEyOTgyMzg4","avatar_url":"https://avatars0.githubusercontent.com/u/12982388?v=4","gravatar_id":"","url":"https://api.github.com/users/kshitij98","html_url":"https://github.com/kshitij98","followers_url":"https://api.github.com/users/kshitij98/followers","following_url":"https://api.github.com/users/kshitij98/following{/other_user}","gists_url":"https://api.github.com/users/kshitij98/gists{/gist_id}","starred_url":"https://api.github.com/users/kshitij98/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kshitij98/subscriptions","organizations_url":"https://api.github.com/users/kshitij98/orgs","repos_url":"https://api.github.com/users/kshitij98/repos","events_url":"https://api.github.com/users/kshitij98/events{/privacy}","received_events_url":"https://api.github.com/users/kshitij98/received_events","type":"User","site_admin":false},"body":"The pull request is at a very initial stage and a lot of work still needs to be done on it.\r\n\r\nThe current scope of this PR is:\r\n- [x] Consolidate `EffectChain` and `EffectChainSlot` class\r\n- [x] Remove EffectChainManager\r\n- [x] Remove EngineEffectRack\r\n- [ ] Remove EffectRack\r\n- [ ] Consolidate Effect/EffectSlot\r\n- [ ] Consolidate EffectParameter/EffectParameterSlot\r\n- [ ] Reimplement saving/loading from XML with new EffectChainPreset & EffectPreset classes.\r\n\r\n\r\n<br/>\r\n\r\nThere is some confusion with the current naming of classes. The newly proposed class names are:\r\n- [ ] EffectState -> EffectProcessorState\r\n- [ ] EffectChain/EffectChainSlot -> EffectRack\r\n- [ ] EngineEffectChain -> EngineEffectRack (loaded using EffectRackPreset)\r\n- [ ] Effect/EffectSlot -> EffectSlot\r\n- [ ] EngineEffect -> EngineEffectSlot (loaded using EffectPreset)\r\n- [ ] EffectProcessor -> EffectProcessor\r\n\r\n<i><b>NOTE</b>: XML loading and saving has been commented out and will be re-implemented with the new `Preset` classes</i>\r\n\r\n","created_at":"2018-06-07T01:33:04Z","updated_at":"2018-07-02T19:26:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"91f656e12a613cb6b01aca8fad25180aecc44be2","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":519656126,"node_id":"MDU6TGFiZWw1MTk2NTYxMjY=","url":"https://api.github.com/repos/mixxxdj/mixxx/labels/effects","name":"effects","color":"fbca04","default":false}],"milestone":{"url":"https://api.github.com/repos/mixxxdj/mixxx/milestones/8","html_url":"https://github.com/mixxxdj/mixxx/milestone/8","labels_url":"https://api.github.com/repos/mixxxdj/mixxx/milestones/8/labels","id":3280972,"node_id":"MDk6TWlsZXN0b25lMzI4MDk3Mg==","number":8,"title":"2.3.0","description":"","creator":{"login":"Be-ing","id":9455094,"node_id":"MDQ6VXNlcjk0NTUwOTQ=","avatar_url":"https://avatars3.githubusercontent.com/u/9455094?v=4","gravatar_id":"","url":"https://api.github.com/users/Be-ing","html_url":"https://github.com/Be-ing","followers_url":"https://api.github.com/users/Be-ing/followers","following_url":"https://api.github.com/users/Be-ing/following{/other_user}","gists_url":"https://api.github.com/users/Be-ing/gists{/gist_id}","starred_url":"https://api.github.com/users/Be-ing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Be-ing/subscriptions","organizations_url":"https://api.github.com/users/Be-ing/orgs","repos_url":"https://api.github.com/users/Be-ing/repos","events_url":"https://api.github.com/users/Be-ing/events{/privacy}","received_events_url":"https://api.github.com/users/Be-ing/received_events","type":"User","site_admin":false},"open_issues":19,"closed_issues":1,"state":"open","created_at":"2018-04-19T13:09:05Z","updated_at":"2018-07-01T04:26:04Z","due_on":"2019-04-02T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/1705/commits","review_comments_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/1705/comments","review_comment_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/1705/comments","statuses_url":"https://api.github.com/repos/mixxxdj/mixxx/statuses/d8a0b7c8c7dbd0f3b32d7c57241d2dfaf9ff68d0","head":{"label":"kshitij98:effects_refactoring","ref":"effects_refactoring","sha":"d8a0b7c8c7dbd0f3b32d7c57241d2dfaf9ff68d0","user":{"login":"kshitij98","id":12982388,"node_id":"MDQ6VXNlcjEyOTgyMzg4","avatar_url":"https://avatars0.githubusercontent.com/u/12982388?v=4","gravatar_id":"","url":"https://api.github.com/users/kshitij98","html_url":"https://github.com/kshitij98","followers_url":"https://api.github.com/users/kshitij98/followers","following_url":"https://api.github.com/users/kshitij98/following{/other_user}","gists_url":"https://api.github.com/users/kshitij98/gists{/gist_id}","starred_url":"https://api.github.com/users/kshitij98/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kshitij98/subscriptions","organizations_url":"https://api.github.com/users/kshitij98/orgs","repos_url":"https://api.github.com/users/kshitij98/repos","events_url":"https://api.github.com/users/kshitij98/events{/privacy}","received_events_url":"https://api.github.com/users/kshitij98/received_events","type":"User","site_admin":false},"repo":{"id":116240129,"node_id":"MDEwOlJlcG9zaXRvcnkxMTYyNDAxMjk=","name":"mixxx","full_name":"kshitij98/mixxx","owner":{"login":"kshitij98","id":12982388,"node_id":"MDQ6VXNlcjEyOTgyMzg4","avatar_url":"https://avatars0.githubusercontent.com/u/12982388?v=4","gravatar_id":"","url":"https://api.github.com/users/kshitij98","html_url":"https://github.com/kshitij98","followers_url":"https://api.github.com/users/kshitij98/followers","following_url":"https://api.github.com/users/kshitij98/following{/other_user}","gists_url":"https://api.github.com/users/kshitij98/gists{/gist_id}","starred_url":"https://api.github.com/users/kshitij98/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kshitij98/subscriptions","organizations_url":"https://api.github.com/users/kshitij98/orgs","repos_url":"https://api.github.com/users/kshitij98/repos","events_url":"https://api.github.com/users/kshitij98/events{/privacy}","received_events_url":"https://api.github.com/users/kshitij98/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kshitij98/mixxx","description":"Mixxx is Free DJ software that gives you everything you need to perform live mixes.","fork":true,"url":"https://api.github.com/repos/kshitij98/mixxx","forks_url":"https://api.github.com/repos/kshitij98/mixxx/forks","keys_url":"https://api.github.com/repos/kshitij98/mixxx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kshitij98/mixxx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kshitij98/mixxx/teams","hooks_url":"https://api.github.com/repos/kshitij98/mixxx/hooks","issue_events_url":"https://api.github.com/repos/kshitij98/mixxx/issues/events{/number}","events_url":"https://api.github.com/repos/kshitij98/mixxx/events","assignees_url":"https://api.github.com/repos/kshitij98/mixxx/assignees{/user}","branches_url":"https://api.github.com/repos/kshitij98/mixxx/branches{/branch}","tags_url":"https://api.github.com/repos/kshitij98/mixxx/tags","blobs_url":"https://api.github.com/repos/kshitij98/mixxx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kshitij98/mixxx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kshitij98/mixxx/git/refs{/sha}","trees_url":"https://api.github.com/repos/kshitij98/mixxx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kshitij98/mixxx/statuses/{sha}","languages_url":"https://api.github.com/repos/kshitij98/mixxx/languages","stargazers_url":"https://api.github.com/repos/kshitij98/mixxx/stargazers","contributors_url":"https://api.github.com/repos/kshitij98/mixxx/contributors","subscribers_url":"https://api.github.com/repos/kshitij98/mixxx/subscribers","subscription_url":"https://api.github.com/repos/kshitij98/mixxx/subscription","commits_url":"https://api.github.com/repos/kshitij98/mixxx/commits{/sha}","git_commits_url":"https://api.github.com/repos/kshitij98/mixxx/git/commits{/sha}","comments_url":"https://api.github.com/repos/kshitij98/mixxx/comments{/number}","issue_comment_url":"https://api.github.com/repos/kshitij98/mixxx/issues/comments{/number}","contents_url":"https://api.github.com/repos/kshitij98/mixxx/contents/{+path}","compare_url":"https://api.github.com/repos/kshitij98/mixxx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kshitij98/mixxx/merges","archive_url":"https://api.github.com/repos/kshitij98/mixxx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kshitij98/mixxx/downloads","issues_url":"https://api.github.com/repos/kshitij98/mixxx/issues{/number}","pulls_url":"https://api.github.com/repos/kshitij98/mixxx/pulls{/number}","milestones_url":"https://api.github.com/repos/kshitij98/mixxx/milestones{/number}","notifications_url":"https://api.github.com/repos/kshitij98/mixxx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kshitij98/mixxx/labels{/name}","releases_url":"https://api.github.com/repos/kshitij98/mixxx/releases{/id}","deployments_url":"https://api.github.com/repos/kshitij98/mixxx/deployments","created_at":"2018-01-04T09:20:11Z","updated_at":"2018-06-18T10:51:51Z","pushed_at":"2018-07-02T19:00:28Z","git_url":"git://github.com/kshitij98/mixxx.git","ssh_url":"git@github.com:kshitij98/mixxx.git","clone_url":"https://github.com/kshitij98/mixxx.git","svn_url":"https://github.com/kshitij98/mixxx","homepage":"http://mixxx.org","size":290387,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mixxxdj:master","ref":"master","sha":"955f98047fc691385c47cdf5861e299f063ef70d","user":{"login":"mixxxdj","id":1743769,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3NDM3Njk=","avatar_url":"https://avatars3.githubusercontent.com/u/1743769?v=4","gravatar_id":"","url":"https://api.github.com/users/mixxxdj","html_url":"https://github.com/mixxxdj","followers_url":"https://api.github.com/users/mixxxdj/followers","following_url":"https://api.github.com/users/mixxxdj/following{/other_user}","gists_url":"https://api.github.com/users/mixxxdj/gists{/gist_id}","starred_url":"https://api.github.com/users/mixxxdj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mixxxdj/subscriptions","organizations_url":"https://api.github.com/users/mixxxdj/orgs","repos_url":"https://api.github.com/users/mixxxdj/repos","events_url":"https://api.github.com/users/mixxxdj/events{/privacy}","received_events_url":"https://api.github.com/users/mixxxdj/received_events","type":"Organization","site_admin":false},"repo":{"id":10126031,"node_id":"MDEwOlJlcG9zaXRvcnkxMDEyNjAzMQ==","name":"mixxx","full_name":"mixxxdj/mixxx","owner":{"login":"mixxxdj","id":1743769,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3NDM3Njk=","avatar_url":"https://avatars3.githubusercontent.com/u/1743769?v=4","gravatar_id":"","url":"https://api.github.com/users/mixxxdj","html_url":"https://github.com/mixxxdj","followers_url":"https://api.github.com/users/mixxxdj/followers","following_url":"https://api.github.com/users/mixxxdj/following{/other_user}","gists_url":"https://api.github.com/users/mixxxdj/gists{/gist_id}","starred_url":"https://api.github.com/users/mixxxdj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mixxxdj/subscriptions","organizations_url":"https://api.github.com/users/mixxxdj/orgs","repos_url":"https://api.github.com/users/mixxxdj/repos","events_url":"https://api.github.com/users/mixxxdj/events{/privacy}","received_events_url":"https://api.github.com/users/mixxxdj/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mixxxdj/mixxx","description":"Mixxx is Free DJ software that gives you everything you need to perform live mixes.","fork":false,"url":"https://api.github.com/repos/mixxxdj/mixxx","forks_url":"https://api.github.com/repos/mixxxdj/mixxx/forks","keys_url":"https://api.github.com/repos/mixxxdj/mixxx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mixxxdj/mixxx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mixxxdj/mixxx/teams","hooks_url":"https://api.github.com/repos/mixxxdj/mixxx/hooks","issue_events_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/events{/number}","events_url":"https://api.github.com/repos/mixxxdj/mixxx/events","assignees_url":"https://api.github.com/repos/mixxxdj/mixxx/assignees{/user}","branches_url":"https://api.github.com/repos/mixxxdj/mixxx/branches{/branch}","tags_url":"https://api.github.com/repos/mixxxdj/mixxx/tags","blobs_url":"https://api.github.com/repos/mixxxdj/mixxx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mixxxdj/mixxx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mixxxdj/mixxx/git/refs{/sha}","trees_url":"https://api.github.com/repos/mixxxdj/mixxx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mixxxdj/mixxx/statuses/{sha}","languages_url":"https://api.github.com/repos/mixxxdj/mixxx/languages","stargazers_url":"https://api.github.com/repos/mixxxdj/mixxx/stargazers","contributors_url":"https://api.github.com/repos/mixxxdj/mixxx/contributors","subscribers_url":"https://api.github.com/repos/mixxxdj/mixxx/subscribers","subscription_url":"https://api.github.com/repos/mixxxdj/mixxx/subscription","commits_url":"https://api.github.com/repos/mixxxdj/mixxx/commits{/sha}","git_commits_url":"https://api.github.com/repos/mixxxdj/mixxx/git/commits{/sha}","comments_url":"https://api.github.com/repos/mixxxdj/mixxx/comments{/number}","issue_comment_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/comments{/number}","contents_url":"https://api.github.com/repos/mixxxdj/mixxx/contents/{+path}","compare_url":"https://api.github.com/repos/mixxxdj/mixxx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mixxxdj/mixxx/merges","archive_url":"https://api.github.com/repos/mixxxdj/mixxx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mixxxdj/mixxx/downloads","issues_url":"https://api.github.com/repos/mixxxdj/mixxx/issues{/number}","pulls_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls{/number}","milestones_url":"https://api.github.com/repos/mixxxdj/mixxx/milestones{/number}","notifications_url":"https://api.github.com/repos/mixxxdj/mixxx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mixxxdj/mixxx/labels{/name}","releases_url":"https://api.github.com/repos/mixxxdj/mixxx/releases{/id}","deployments_url":"https://api.github.com/repos/mixxxdj/mixxx/deployments","created_at":"2013-05-17T15:14:38Z","updated_at":"2018-07-01T18:01:35Z","pushed_at":"2018-07-02T19:00:32Z","git_url":"git://github.com/mixxxdj/mixxx.git","ssh_url":"git@github.com:mixxxdj/mixxx.git","clone_url":"https://github.com/mixxxdj/mixxx.git","svn_url":"https://github.com/mixxxdj/mixxx","homepage":"http://mixxx.org","size":290916,"stargazers_count":1055,"watchers_count":1055,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":514,"mirror_url":null,"archived":false,"open_issues_count":71,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":514,"open_issues":71,"watchers":1055,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/1705"},"html":{"href":"https://github.com/mixxxdj/mixxx/pull/1705"},"issue":{"href":"https://api.github.com/repos/mixxxdj/mixxx/issues/1705"},"comments":{"href":"https://api.github.com/repos/mixxxdj/mixxx/issues/1705/comments"},"review_comments":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/1705/comments"},"review_comment":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/1705/commits"},"statuses":{"href":"https://api.github.com/repos/mixxxdj/mixxx/statuses/d8a0b7c8c7dbd0f3b32d7c57241d2dfaf9ff68d0"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"Be-ing"}}