{"action":"created","comment":{"url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/comments/35926313","id":35926313,"diff_hunk":"@@ -0,0 +1,888 @@\n+var PioneerDDJSB = function () {};\n+\n+/*\n+    Latest code at https://github.com/jardiacaj/mixxx).\n+\n+    This mapping for the Pioneer DDJ-SB was made by Joan Ardiaca Jové (joan.ardiaca@gmail.com)\n+    basing on the work of wingcom (wwingcomm@gmail.com, https://github.com/wingcom/Mixxx-Pioneer-DDJ-SB).\n+    which in turn was based on the work of Hilton Rudham (https://github.com/hrudham/Mixxx-Pioneer-DDJ-SR).\n+\n+    Just as wingcom's and Rudham's work, this mapping is pusblished under the MIT license.\n+ */\n+\n+///////////////////////////////////////////////////////////////\n+//                       USER OPTIONS                        //\n+///////////////////////////////////////////////////////////////\n+\n+// If true the sync button blinks with the beat, if false led is lit when sync is enabled.\n+PioneerDDJSB.blinkingSync = false;\n+\n+// It true, the vinyl button activates slip. Vinyl mode is then activated by using shift.\n+// Allows toggling slip faster, but is counterintuitive.\n+PioneerDDJSB.invertVinylSlipButton = false;\n+\n+// Sets the jogwheels sensivity. 1 is default, 2 is twice as sensitive, 0.5 is half as sensitive.\n+PioneerDDJSB.jogwheelSensivity = 1.0;\n+\n+// Sets how much more sensitive the jogwheels get when holding shift.\n+// Set to 1 to disable jogwheel sensitivity increase when holding shift.\n+PioneerDDJSB.jogwheelShiftMultiplier = 20;\n+\n+///////////////////////////////////////////////////////////////\n+//                      INIT & SHUTDOWN                      //\n+///////////////////////////////////////////////////////////////\n+\n+\n+PioneerDDJSB.init = function (id) {\n+    PioneerDDJSB.scratchSettings = {\n+        'alpha': 1.0 / 8,\n+        'beta': 1.0 / 8 / 32,\n+        'jogResolution': 720,\n+        'vinylSpeed': 33 + 1/3,\n+        'safeScratchTimeout': 20\n+    };\n+\n+    PioneerDDJSB.channelGroups = {\n+        '[Channel1]': 0x00,\n+        '[Channel2]': 0x01,\n+        '[Channel3]': 0x02,\n+        '[Channel4]': 0x03\n+    };\n+\n+    PioneerDDJSB.samplerGroups = {\n+        '[Sampler1]': 0x00,\n+        '[Sampler2]': 0x01,\n+        '[Sampler3]': 0x02,\n+        '[Sampler4]': 0x03\n+    };\n+\n+    PioneerDDJSB.fxGroups = {\n+        '[EffectRack1_EffectUnit1]': 0x00,\n+        '[EffectRack1_EffectUnit2]': 0x01\n+    };\n+\n+    PioneerDDJSB.fxControls = {\n+        'group_[Channel1]_enable': 0x00,\n+        'group_[Channel2]_enable': 0x01,\n+        'group_[Headphone]_enable': 0x02,\n+        'group_[Channel3]_enable': 0x03,\n+        'group_[Channel4]_enable': 0x04\n+    };\n+\n+    PioneerDDJSB.fxButtonPressed = [\n+        [false, false, false],\n+        [false, false, false]\n+    ];\n+\n+    // used for soft takeover workaround\n+    PioneerDDJSB.fxParamsActiveValues = [\n+        [0, 0, 0, 0],\n+        [0, 0, 0, 0]\n+    ];\n+\n+    PioneerDDJSB.scratchMode = [false, false, false, false];\n+\n+    PioneerDDJSB.ledGroups = {\n+        'hotCue': 0x00,\n+        'autoLoop': 0x10,\n+        'manualLoop': 0x20,\n+        'sampler': 0x30\n+    };\n+\n+    PioneerDDJSB.nonPadLeds = {\n+        'headphoneCue': 0x54,\n+        'shiftHeadphoneCue': 0x68,\n+        'cue': 0x0C,\n+        'shiftCue': 0x48,\n+        'keyLock': 0x1A,\n+        'shiftKeyLock': 0x60,\n+        'play': 0x0B,\n+        'shiftPlay': 0x47,\n+        'vinyl': 0x17,\n+        'shiftVinyl': 0x4E,\n+        'shiftSync': 0x5C,\n+        'sync': 0x58\n+    };\n+\n+    PioneerDDJSB.loopIntervals = [1, 2, 4, 8, 16, 32, 64];\n+\n+    PioneerDDJSB.looprollIntervals = [0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8];\n+\n+    PioneerDDJSB.setAllSoftTakeover(false);\n+    PioneerDDJSB.bindNonDeckControlConnections(false);\n+    PioneerDDJSB.initDeck('[Channel1]', true);\n+    PioneerDDJSB.initDeck('[Channel2]', true);\n+};\n+\n+PioneerDDJSB.shutdown = function () {\n+    PioneerDDJSB.bindAllControlConnections(true);\n+    PioneerDDJSB.setAllSoftTakeover(true);\n+    PioneerDDJSB.bindDeckControlConnections('[Channel3]', true);\n+    PioneerDDJSB.bindDeckControlConnections('[Channel4]', true);\n+};\n+\n+\n+///////////////////////////////////////////////////////////////\n+//                      CONTROL BINDING                      //\n+///////////////////////////////////////////////////////////////\n+\n+PioneerDDJSB.bulkBindControlConnections = function (group, controlsToFunctions, remove) {","path":"res/controllers/Pioneer-DDJ-SB-scripts.js","position":129,"original_position":129,"commit_id":"0bd5be3375bf916e02d34972c6b20d7051f13254","original_commit_id":"0bd5be3375bf916e02d34972c6b20d7051f13254","user":{"login":"Be-ing","id":9455094,"avatar_url":"https://avatars.githubusercontent.com/u/9455094?v=3","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":"Good idea to make this its own function. I'll make use of that in my mapping.","created_at":"2015-07-30T22:00:37Z","updated_at":"2015-07-30T22:00:37Z","html_url":"https://github.com/mixxxdj/mixxx/pull/663#discussion_r35926313","pull_request_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/663","_links":{"self":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/comments/35926313"},"html":{"href":"https://github.com/mixxxdj/mixxx/pull/663#discussion_r35926313"},"pull_request":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/663"}}},"pull_request":{"url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/663","id":41254110,"html_url":"https://github.com/mixxxdj/mixxx/pull/663","diff_url":"https://github.com/mixxxdj/mixxx/pull/663.diff","patch_url":"https://github.com/mixxxdj/mixxx/pull/663.patch","issue_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/663","number":663,"state":"open","locked":false,"title":"Pioneer DDJ-SB mapping","user":{"login":"jardiacaj","id":6051055,"avatar_url":"https://avatars.githubusercontent.com/u/6051055?v=3","gravatar_id":"","url":"https://api.github.com/users/jardiacaj","html_url":"https://github.com/jardiacaj","followers_url":"https://api.github.com/users/jardiacaj/followers","following_url":"https://api.github.com/users/jardiacaj/following{/other_user}","gists_url":"https://api.github.com/users/jardiacaj/gists{/gist_id}","starred_url":"https://api.github.com/users/jardiacaj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jardiacaj/subscriptions","organizations_url":"https://api.github.com/users/jardiacaj/orgs","repos_url":"https://api.github.com/users/jardiacaj/repos","events_url":"https://api.github.com/users/jardiacaj/events{/privacy}","received_events_url":"https://api.github.com/users/jardiacaj/received_events","type":"User","site_admin":false},"body":"I continued my work on the Pioneer DDJ-SB mapping. You can read the forum topic on this, including in page 3 a draft for the corresponding wiki page, here:\r\n\r\nhttp://mixxx.org/forums/viewtopic.php?f=7&t=6886&sid=bab2d5720d8eb823a973cfca92cf5506\r\n\r\nThis mapping supports all the controller's features, including features blocked in Serato DJ Intro (which is bundled with the controller) and 4 deck control. I found no issues in the latest version of the mapping.","created_at":"2015-07-30T16:28:52Z","updated_at":"2015-07-30T22:00:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"eb45c2bb5d6998efdea1f8ce089b0a31e05d3c5b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/663/commits","review_comments_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/663/comments","review_comment_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/663/comments","statuses_url":"https://api.github.com/repos/mixxxdj/mixxx/statuses/0bd5be3375bf916e02d34972c6b20d7051f13254","head":{"label":"jardiacaj:1.12","ref":"1.12","sha":"0bd5be3375bf916e02d34972c6b20d7051f13254","user":{"login":"jardiacaj","id":6051055,"avatar_url":"https://avatars.githubusercontent.com/u/6051055?v=3","gravatar_id":"","url":"https://api.github.com/users/jardiacaj","html_url":"https://github.com/jardiacaj","followers_url":"https://api.github.com/users/jardiacaj/followers","following_url":"https://api.github.com/users/jardiacaj/following{/other_user}","gists_url":"https://api.github.com/users/jardiacaj/gists{/gist_id}","starred_url":"https://api.github.com/users/jardiacaj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jardiacaj/subscriptions","organizations_url":"https://api.github.com/users/jardiacaj/orgs","repos_url":"https://api.github.com/users/jardiacaj/repos","events_url":"https://api.github.com/users/jardiacaj/events{/privacy}","received_events_url":"https://api.github.com/users/jardiacaj/received_events","type":"User","site_admin":false},"repo":{"id":27893769,"name":"mixxx","full_name":"jardiacaj/mixxx","owner":{"login":"jardiacaj","id":6051055,"avatar_url":"https://avatars.githubusercontent.com/u/6051055?v=3","gravatar_id":"","url":"https://api.github.com/users/jardiacaj","html_url":"https://github.com/jardiacaj","followers_url":"https://api.github.com/users/jardiacaj/followers","following_url":"https://api.github.com/users/jardiacaj/following{/other_user}","gists_url":"https://api.github.com/users/jardiacaj/gists{/gist_id}","starred_url":"https://api.github.com/users/jardiacaj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jardiacaj/subscriptions","organizations_url":"https://api.github.com/users/jardiacaj/orgs","repos_url":"https://api.github.com/users/jardiacaj/repos","events_url":"https://api.github.com/users/jardiacaj/events{/privacy}","received_events_url":"https://api.github.com/users/jardiacaj/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jardiacaj/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/jardiacaj/mixxx","forks_url":"https://api.github.com/repos/jardiacaj/mixxx/forks","keys_url":"https://api.github.com/repos/jardiacaj/mixxx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jardiacaj/mixxx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jardiacaj/mixxx/teams","hooks_url":"https://api.github.com/repos/jardiacaj/mixxx/hooks","issue_events_url":"https://api.github.com/repos/jardiacaj/mixxx/issues/events{/number}","events_url":"https://api.github.com/repos/jardiacaj/mixxx/events","assignees_url":"https://api.github.com/repos/jardiacaj/mixxx/assignees{/user}","branches_url":"https://api.github.com/repos/jardiacaj/mixxx/branches{/branch}","tags_url":"https://api.github.com/repos/jardiacaj/mixxx/tags","blobs_url":"https://api.github.com/repos/jardiacaj/mixxx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jardiacaj/mixxx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jardiacaj/mixxx/git/refs{/sha}","trees_url":"https://api.github.com/repos/jardiacaj/mixxx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jardiacaj/mixxx/statuses/{sha}","languages_url":"https://api.github.com/repos/jardiacaj/mixxx/languages","stargazers_url":"https://api.github.com/repos/jardiacaj/mixxx/stargazers","contributors_url":"https://api.github.com/repos/jardiacaj/mixxx/contributors","subscribers_url":"https://api.github.com/repos/jardiacaj/mixxx/subscribers","subscription_url":"https://api.github.com/repos/jardiacaj/mixxx/subscription","commits_url":"https://api.github.com/repos/jardiacaj/mixxx/commits{/sha}","git_commits_url":"https://api.github.com/repos/jardiacaj/mixxx/git/commits{/sha}","comments_url":"https://api.github.com/repos/jardiacaj/mixxx/comments{/number}","issue_comment_url":"https://api.github.com/repos/jardiacaj/mixxx/issues/comments{/number}","contents_url":"https://api.github.com/repos/jardiacaj/mixxx/contents/{+path}","compare_url":"https://api.github.com/repos/jardiacaj/mixxx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jardiacaj/mixxx/merges","archive_url":"https://api.github.com/repos/jardiacaj/mixxx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jardiacaj/mixxx/downloads","issues_url":"https://api.github.com/repos/jardiacaj/mixxx/issues{/number}","pulls_url":"https://api.github.com/repos/jardiacaj/mixxx/pulls{/number}","milestones_url":"https://api.github.com/repos/jardiacaj/mixxx/milestones{/number}","notifications_url":"https://api.github.com/repos/jardiacaj/mixxx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jardiacaj/mixxx/labels{/name}","releases_url":"https://api.github.com/repos/jardiacaj/mixxx/releases{/id}","created_at":"2014-12-11T22:05:10Z","updated_at":"2015-07-27T14:30:20Z","pushed_at":"2015-07-29T20:55:53Z","git_url":"git://github.com/jardiacaj/mixxx.git","ssh_url":"git@github.com:jardiacaj/mixxx.git","clone_url":"https://github.com/jardiacaj/mixxx.git","svn_url":"https://github.com/jardiacaj/mixxx","homepage":"http://mixxx.org","size":250235,"stargazers_count":1,"watchers_count":1,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"mixxxdj:1.12","ref":"1.12","sha":"e903b6dfe9e728b40ed01a15204db8d8a7b56c0a","user":{"login":"mixxxdj","id":1743769,"avatar_url":"https://avatars.githubusercontent.com/u/1743769?v=3","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,"name":"mixxx","full_name":"mixxxdj/mixxx","owner":{"login":"mixxxdj","id":1743769,"avatar_url":"https://avatars.githubusercontent.com/u/1743769?v=3","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}","created_at":"2013-05-17T15:14:38Z","updated_at":"2015-07-29T17:27:51Z","pushed_at":"2015-07-30T20:34: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":327804,"stargazers_count":335,"watchers_count":335,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":227,"mirror_url":null,"open_issues_count":59,"forks":227,"open_issues":59,"watchers":335,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/663"},"html":{"href":"https://github.com/mixxxdj/mixxx/pull/663"},"issue":{"href":"https://api.github.com/repos/mixxxdj/mixxx/issues/663"},"comments":{"href":"https://api.github.com/repos/mixxxdj/mixxx/issues/663/comments"},"review_comments":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/663/comments"},"review_comment":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/663/commits"},"statuses":{"href":"https://api.github.com/repos/mixxxdj/mixxx/statuses/0bd5be3375bf916e02d34972c6b20d7051f13254"}}}}