{"action":"created","comment":{"url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/comments/47992675","id":47992675,"diff_hunk":"@@ -0,0 +1,622 @@\n+////////////////////////////////////////////////////////////////////////\n+// JSHint configuration                                               //\n+////////////////////////////////////////////////////////////////////////\n+/* global engine                                                      */\n+/* global script                                                      */\n+/* global print                                                       */\n+/* global midi                                                        */\n+//////////////////////////////////////////////////////////////////////// \n+//=====================================================\n+//___ Hercules DJ Console 4-Mx scripts by josepma. ____\n+//___________ Based partially on the Mk4 script _______\n+//=====================================================\n+// Version 2015-12-12: Initial version.\n+//\n+// Usage:\n+// ------\n+// Variables on Hercules4Mx.userSettings can be modified by users to suit their preferences.\n+// \n+// This mapping and script supports 4 deck mode, jog wheel, scrathing, the whole mixer,\n+// an improved method of navigation and loops, hotcues and effects. It also has flashing sync button\n+// following the beats of the song.\n+// Some options have been modified to do things different than what they were designed for.\n+//\n+// Things you should know:\n+// \n+// 1) Navigation:\n+//   .Clicking on Files or Folders switches between the library sidebar and the main list.\n+//   .Clicking on Folders when it is already on folders opens/closes the tree branch.\n+//   .Press up or down to navigate. If you keep the button pressed, it will continue in that direction\n+//   .If you press up or down, keep the button pressed and move any of the jog wheels, the navigation\n+//    will follow your wheel movements. You can navigate this way until releasing the up or down key.\n+// 2) AutoDJ:\n+//   .The \"Auto\" button is set to work with AutoDJ. In a future release it should be possible to implement\n+//    the auto-crossfade feature that it does in virtualDJ, but it didn't seem necessary for now.\n+//   .If the application is not in autoDJ mode, pressing the Auto button activates the autoDJ mode.\n+//   .If autoDJ mode is activated, Auto button is lit.\n+//   .If you press the AutoDJ button when it is in AutoDJ mode, it starts a fade to next song and button will flash.\n+//   .If in autoDJ mode and pressing the Files button (and already at \"Files\"), it will skip the next song.\n+//   .AutoDJ mode is deactivated by stopping decks one and two.\n+// 3) Scratching:\n+//   .In order to be able to scratch, you need to be in scratch mode. That's what the \"scratch\" button is for.\n+//   .If scratch mode, when moving the jog wheels without pressure it will act normally, and when moved with pressure\n+//    they will scratch.\n+// 4) Song reproduction:\n+//   .When a song is loaded on a deck and the \"autoHeadcueOnLoad\" option is set to true, the headphone cue (PFL) will\n+//    automatically switch to that deck, like what Virtual DJ does. This is disabled on AutoDJ.\n+//   .If none of the headphone cue buttons (PFL) is active and autoHeadMix is set to true, the cue/Mix knob\n+//    will be set to full mix so that the mix is heard on headphones.\n+//   .The jog wheels act as usual: when song is stopped they allow fast seeking and when song is playing the speed up or slow down.\n+//   .Pitch sliders act the way it is configured in Mixxx (range and direction)\n+//   .Sync button will be flashing following the beats of the song, like it does in virtualDJ. In a future release this could be optional.\n+//   .Pitch bend buttons sped up or slow down temporarily as configured in Mixxx.\n+//   .Pitch range buttons act as key modifiers.\n+//   .Pitch reset (pressing both pitch range buttons) resets the key.\n+//   .Pitch reset led is lit when key lock is active. In a future version this might change to indicate\n+//    that the key is playing at a different pitch than original, which is what i think Virtual DJ does.\n+//   .Cue and play work as configured in Mixxx.\n+//   .Several controls have the \"softtakeover\" option enabled, which means that the control will not move in \n+//    the application if the hardware control is far from the position in the application.\n+// 5) Effects\n+//   .The FX knob in the controller moves the \"Fast effect\" knob, which is the knob present in the Deck section and\n+//    configurable in the \"Equalizer\" preferences in Mixxx. In a future version, it could also control the \"Superknob\"\n+//    of the active effect.\n+//   .If you keep the \"shift\" button pressed while moving the knob, it will move slowly (more precision).\n+//   .There are 12 effects, 6 with Shift disabled and 6 with Shift enabled.\n+//   .The first four effects are configured to beatloop loops of size 0.5, 1, 2 and 4. They act like the corresponding buttons in Mixxx.\n+//   .If you keep the shift key pressed and press effects 1 and 2, they will set a 0.125 and 0.25th beatloops.\n+//   .When a loop is set that isn't one of these four cases, buttons 3 and 4 will be lit to indicate a loop is present.\n+//   .If you keep the shift key pressed and press either effects 3 or 4, It will act like pressing the loop end/reloop button.\n+//   .The fifth and sixth effects are for reverse play, and reverse and roll.\n+//   .From seventh to tenth, they are the first four hotcues, and act like the buttons in Mixxx (if not set, set. if set, play it)\n+//   .If you keep the shift key pressed and press either of the four hotcue buttons, the hotcue will get cleared.\n+//   .Eleventh and twelveth effects activate the Effects rack 1 and 2 for the specific deck.\n+//\n+//_____________________________________________________\n+var Hercules4Mx = function() {};\n+\n+Hercules4Mx.userSettings = {\n+    // --- DJ Console 4MX tray-icon configuration ---","path":"res/controllers/Hercules-DJ-Console-4-Mx-scripts.js","position":79,"original_position":79,"commit_id":"532052bfe22804783e04d6145bb3fb1722de00c2","original_commit_id":"532052bfe22804783e04d6145bb3fb1722de00c2","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":"Tray icon configuration? Is this something provided by the Windows driver?","created_at":"2015-12-18T04:00:03Z","updated_at":"2015-12-18T04:00:03Z","html_url":"https://github.com/mixxxdj/mixxx/pull/810#discussion_r47992675","pull_request_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/810","_links":{"self":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/comments/47992675"},"html":{"href":"https://github.com/mixxxdj/mixxx/pull/810#discussion_r47992675"},"pull_request":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/810"}}},"pull_request":{"url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/810","id":53506844,"html_url":"https://github.com/mixxxdj/mixxx/pull/810","diff_url":"https://github.com/mixxxdj/mixxx/pull/810.diff","patch_url":"https://github.com/mixxxdj/mixxx/pull/810.patch","issue_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/810","number":810,"state":"closed","locked":false,"title":"Controller mapping update for 4-mx","user":{"login":"JosepMaJAZ","id":9913727,"avatar_url":"https://avatars.githubusercontent.com/u/9913727?v=3","gravatar_id":"","url":"https://api.github.com/users/JosepMaJAZ","html_url":"https://github.com/JosepMaJAZ","followers_url":"https://api.github.com/users/JosepMaJAZ/followers","following_url":"https://api.github.com/users/JosepMaJAZ/following{/other_user}","gists_url":"https://api.github.com/users/JosepMaJAZ/gists{/gist_id}","starred_url":"https://api.github.com/users/JosepMaJAZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JosepMaJAZ/subscriptions","organizations_url":"https://api.github.com/users/JosepMaJAZ/orgs","repos_url":"https://api.github.com/users/JosepMaJAZ/repos","events_url":"https://api.github.com/users/JosepMaJAZ/events{/privacy}","received_events_url":"https://api.github.com/users/JosepMaJAZ/received_events","type":"User","site_admin":false},"body":"Controller mapping update for 4-mx","created_at":"2015-12-13T19:07:32Z","updated_at":"2015-12-18T04:00:03Z","closed_at":"2015-12-17T01:43:45Z","merged_at":"2015-12-17T01:43:45Z","merge_commit_sha":"b1435e8fef74dbcc6cbb371fcdd42410fc821451","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/810/commits","review_comments_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/810/comments","review_comment_url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/810/comments","statuses_url":"https://api.github.com/repos/mixxxdj/mixxx/statuses/532052bfe22804783e04d6145bb3fb1722de00c2","head":{"label":"JosepMaJAZ:1.12","ref":"1.12","sha":"532052bfe22804783e04d6145bb3fb1722de00c2","user":{"login":"JosepMaJAZ","id":9913727,"avatar_url":"https://avatars.githubusercontent.com/u/9913727?v=3","gravatar_id":"","url":"https://api.github.com/users/JosepMaJAZ","html_url":"https://github.com/JosepMaJAZ","followers_url":"https://api.github.com/users/JosepMaJAZ/followers","following_url":"https://api.github.com/users/JosepMaJAZ/following{/other_user}","gists_url":"https://api.github.com/users/JosepMaJAZ/gists{/gist_id}","starred_url":"https://api.github.com/users/JosepMaJAZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JosepMaJAZ/subscriptions","organizations_url":"https://api.github.com/users/JosepMaJAZ/orgs","repos_url":"https://api.github.com/users/JosepMaJAZ/repos","events_url":"https://api.github.com/users/JosepMaJAZ/events{/privacy}","received_events_url":"https://api.github.com/users/JosepMaJAZ/received_events","type":"User","site_admin":false},"repo":{"id":47928817,"name":"mixxx","full_name":"JosepMaJAZ/mixxx","owner":{"login":"JosepMaJAZ","id":9913727,"avatar_url":"https://avatars.githubusercontent.com/u/9913727?v=3","gravatar_id":"","url":"https://api.github.com/users/JosepMaJAZ","html_url":"https://github.com/JosepMaJAZ","followers_url":"https://api.github.com/users/JosepMaJAZ/followers","following_url":"https://api.github.com/users/JosepMaJAZ/following{/other_user}","gists_url":"https://api.github.com/users/JosepMaJAZ/gists{/gist_id}","starred_url":"https://api.github.com/users/JosepMaJAZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JosepMaJAZ/subscriptions","organizations_url":"https://api.github.com/users/JosepMaJAZ/orgs","repos_url":"https://api.github.com/users/JosepMaJAZ/repos","events_url":"https://api.github.com/users/JosepMaJAZ/events{/privacy}","received_events_url":"https://api.github.com/users/JosepMaJAZ/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/JosepMaJAZ/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/JosepMaJAZ/mixxx","forks_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/forks","keys_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/teams","hooks_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/hooks","issue_events_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/issues/events{/number}","events_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/events","assignees_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/assignees{/user}","branches_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/branches{/branch}","tags_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/tags","blobs_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/git/refs{/sha}","trees_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/statuses/{sha}","languages_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/languages","stargazers_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/stargazers","contributors_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/contributors","subscribers_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/subscribers","subscription_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/subscription","commits_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/commits{/sha}","git_commits_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/git/commits{/sha}","comments_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/comments{/number}","issue_comment_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/issues/comments{/number}","contents_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/contents/{+path}","compare_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/merges","archive_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/downloads","issues_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/issues{/number}","pulls_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/pulls{/number}","milestones_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/milestones{/number}","notifications_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/labels{/name}","releases_url":"https://api.github.com/repos/JosepMaJAZ/mixxx/releases{/id}","created_at":"2015-12-13T17:20:51Z","updated_at":"2015-12-13T17:21:01Z","pushed_at":"2015-12-13T21:20:39Z","git_url":"git://github.com/JosepMaJAZ/mixxx.git","ssh_url":"git@github.com:JosepMaJAZ/mixxx.git","clone_url":"https://github.com/JosepMaJAZ/mixxx.git","svn_url":"https://github.com/JosepMaJAZ/mixxx","homepage":"http://mixxx.org","size":256959,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"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":0,"default_branch":"master"}},"base":{"label":"mixxxdj:1.12","ref":"1.12","sha":"67c4a248073ee9089c48ba02843e22d739056001","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-12-15T11:08:03Z","pushed_at":"2015-12-18T00:27:47Z","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":264013,"stargazers_count":408,"watchers_count":408,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":270,"mirror_url":null,"open_issues_count":69,"forks":270,"open_issues":69,"watchers":408,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/810"},"html":{"href":"https://github.com/mixxxdj/mixxx/pull/810"},"issue":{"href":"https://api.github.com/repos/mixxxdj/mixxx/issues/810"},"comments":{"href":"https://api.github.com/repos/mixxxdj/mixxx/issues/810/comments"},"review_comments":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/810/comments"},"review_comment":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mixxxdj/mixxx/pulls/810/commits"},"statuses":{"href":"https://api.github.com/repos/mixxxdj/mixxx/statuses/532052bfe22804783e04d6145bb3fb1722de00c2"}}}}