{"action":"created","issue":{"url":"https://api.github.com/repos/mixxxdj/mixxx/issues/1242","repository_url":"https://api.github.com/repos/mixxxdj/mixxx","labels_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/1242/labels{/name}","comments_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/1242/comments","events_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/1242/events","html_url":"https://github.com/mixxxdj/mixxx/pull/1242","id":223976890,"node_id":"MDExOlB1bGxSZXF1ZXN0MTE3Mzc2MzM1","number":1242,"title":"[WIP] AutoDJ cues and silence detection","user":{"login":"ninomp","id":6146632,"node_id":"MDQ6VXNlcjYxNDY2MzI=","avatar_url":"https://avatars1.githubusercontent.com/u/6146632?v=4","gravatar_id":"","url":"https://api.github.com/users/ninomp","html_url":"https://github.com/ninomp","followers_url":"https://api.github.com/users/ninomp/followers","following_url":"https://api.github.com/users/ninomp/following{/other_user}","gists_url":"https://api.github.com/users/ninomp/gists{/gist_id}","starred_url":"https://api.github.com/users/ninomp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ninomp/subscriptions","organizations_url":"https://api.github.com/users/ninomp/orgs","repos_url":"https://api.github.com/users/ninomp/repos","events_url":"https://api.github.com/users/ninomp/events{/privacy}","received_events_url":"https://api.github.com/users/ninomp/received_events","type":"User","site_admin":false},"labels":[{"id":789121410,"node_id":"MDU6TGFiZWw3ODkxMjE0MTA=","url":"https://api.github.com/repos/mixxxdj/mixxx/labels/autodj","name":"autodj","color":"7241e2","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/mixxxdj/mixxx/milestones/3","html_url":"https://github.com/mixxxdj/mixxx/milestone/3","labels_url":"https://api.github.com/repos/mixxxdj/mixxx/milestones/3/labels","id":2936538,"node_id":"MDk6TWlsZXN0b25lMjkzNjUzOA==","number":3,"title":"2.2.0","description":"","creator":{"login":"uklotzde","id":1474154,"node_id":"MDQ6VXNlcjE0NzQxNTQ=","avatar_url":"https://avatars1.githubusercontent.com/u/1474154?v=4","gravatar_id":"","url":"https://api.github.com/users/uklotzde","html_url":"https://github.com/uklotzde","followers_url":"https://api.github.com/users/uklotzde/followers","following_url":"https://api.github.com/users/uklotzde/following{/other_user}","gists_url":"https://api.github.com/users/uklotzde/gists{/gist_id}","starred_url":"https://api.github.com/users/uklotzde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/uklotzde/subscriptions","organizations_url":"https://api.github.com/users/uklotzde/orgs","repos_url":"https://api.github.com/users/uklotzde/repos","events_url":"https://api.github.com/users/uklotzde/events{/privacy}","received_events_url":"https://api.github.com/users/uklotzde/received_events","type":"User","site_admin":false},"open_issues":31,"closed_issues":23,"state":"open","created_at":"2017-11-25T09:20:16Z","updated_at":"2018-06-13T04:58:58Z","due_on":"2018-09-30T07:00:00Z","closed_at":null},"comments":44,"created_at":"2017-04-24T23:12:51Z","updated_at":"2018-06-13T11:13:28Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/1242","html_url":"https://github.com/mixxxdj/mixxx/pull/1242","diff_url":"https://github.com/mixxxdj/mixxx/pull/1242.diff","patch_url":"https://github.com/mixxxdj/mixxx/pull/1242.patch"},"body":"This PR introduces simple threshold-based silence detection\r\n\r\nhttps://bugs.launchpad.net/mixxx/+bug/673515\r\nhttps://bugs.launchpad.net/mixxx/+bug/1106813\r\n\r\nWork items:\r\n- [x] Implement silence detector that places special cue points on tracks\r\n- [x] Allow user to edit these cue points\r\n- [x] Tweak AutoDJ to make use of these cues\r\n- [x] Place the main cue point to nearest beat to the detected begin point\r\n- [x] CO for clearing main cue point\r\n- [x] Visualize cue source (tells whether cue point was adjusted/corrected by user)\r\n- [ ] Add unit tests for new functionalities:\r\n  - [x] AnalyzerSilence\r\n  - [ ] AutoDJProcessor\r\n  - [ ] CueControl\r\n- [x] Modify skins:\r\n  - [x] Display AutoDJ start/end markers on waveforms and overviews\r\n  - [x] Add buttons for setting AutoDJ start/end markers\r\n\r\nIdeas:\r\n- Introduce fade out cue point for AutoDJ\r\n- Adjust silence detection threshold using the computed replay gain\r\n- Allow user to adjust detection threshold and to disable silence detection\r\n"},"comment":{"url":"https://api.github.com/repos/mixxxdj/mixxx/issues/comments/396901468","html_url":"https://github.com/mixxxdj/mixxx/pull/1242#issuecomment-396901468","issue_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/1242","id":396901468,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NjkwMTQ2OA==","user":{"login":"ninomp","id":6146632,"node_id":"MDQ6VXNlcjYxNDY2MzI=","avatar_url":"https://avatars1.githubusercontent.com/u/6146632?v=4","gravatar_id":"","url":"https://api.github.com/users/ninomp","html_url":"https://github.com/ninomp","followers_url":"https://api.github.com/users/ninomp/followers","following_url":"https://api.github.com/users/ninomp/following{/other_user}","gists_url":"https://api.github.com/users/ninomp/gists{/gist_id}","starred_url":"https://api.github.com/users/ninomp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ninomp/subscriptions","organizations_url":"https://api.github.com/users/ninomp/orgs","repos_url":"https://api.github.com/users/ninomp/repos","events_url":"https://api.github.com/users/ninomp/events{/privacy}","received_events_url":"https://api.github.com/users/ninomp/received_events","type":"User","site_admin":false},"created_at":"2018-06-13T11:13:28Z","updated_at":"2018-06-13T11:13:28Z","author_association":"CONTRIBUTOR","body":"I hit a roadblock. Current state of this PR is that AutoDJ start cue is not respected when playing tracks in AutoDJ mode. This is because it is currently CueControl's responsibility to seek track to the main cue point if `CueRecall` is enabled. I tried to solve this in two ways:\r\n\r\n1. Make CueControl seek track to AutoDJ start cue when AutoDJ is enabled: I tried using ControlProxy to `[AutoDJ],enabled` CO in CueControl, but this didn't work because this CO gets created after CueControl.\r\n2. Make AutoDJProcessor seek track to AutoDJ start cue on track load: This didn't work because seeking from AutoDJProcessor was interfering/conflicting with seeking from CueControl, which means that again CueControl needs to know if AutoDJ is enabled.\r\n\r\nNote that I implemented *main cue following* in CueControl: if track is on main cue point and main cue point is moved, track is seeked to the new position. IMO the same thing needs to be done for AutoDJ start cue.\r\n\r\nI have considered reordering initialization of Library (owns AutoDJProcessor) and PlayerManager (owns CueControl), but that wouldn't solve the problem because AutoDJProcessor is using ControlProxys to access COs from CueControl, so that is out of the question.\r\n\r\nFrom what I see, there are two options:\r\n\r\n1. Introduce/invent a new way to pass `[AutoDJ],enabled` to CueControl.\r\n2. Make AutoDJProcessor seek to AutoDJ start cue just before starting to play. We are doing something similar for pause transition. This would avoid the problem, but it would degrade UX.\r\n\r\nWhat do you think? Am I missing something?\r\n"}}
{"actor":{"display_login":"ninomp"}}