{"action":"created","comment":{"url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/comments/48141481","id":48141481,"diff_hunk":"@@ -428,6 +428,10 @@ enum {\n     DB_EV_TRACKFOCUSCURRENT = 1006, // user wants to highlight/find the current playing track\n #endif\n \n+#if (DDB_API_LEVEL >= 9)\n+    DB_EV_CURSOR_MOVED = 1007, // for synchronising listviews, p1 = playlist iter sending the message","path":"deadbeef.h","position":5,"original_position":5,"commit_id":"fcdb129e30e39b19b80b8c14bee4f8ab9bf7793e","original_commit_id":"fcdb129e30e39b19b80b8c14bee4f8ab9bf7793e","user":{"login":"Alexey-Yakovenko","id":1895698,"avatar_url":"https://avatars.githubusercontent.com/u/1895698?v=3","gravatar_id":"","url":"https://api.github.com/users/Alexey-Yakovenko","html_url":"https://github.com/Alexey-Yakovenko","followers_url":"https://api.github.com/users/Alexey-Yakovenko/followers","following_url":"https://api.github.com/users/Alexey-Yakovenko/following{/other_user}","gists_url":"https://api.github.com/users/Alexey-Yakovenko/gists{/gist_id}","starred_url":"https://api.github.com/users/Alexey-Yakovenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Alexey-Yakovenko/subscriptions","organizations_url":"https://api.github.com/users/Alexey-Yakovenko/orgs","repos_url":"https://api.github.com/users/Alexey-Yakovenko/repos","events_url":"https://api.github.com/users/Alexey-Yakovenko/events{/privacy}","received_events_url":"https://api.github.com/users/Alexey-Yakovenko/received_events","type":"User","site_admin":false},"body":"Please change the comment to this:\r\n`used for syncing playlists, p1 = PL_MAIN or PL_SEARCH, ctx is a ddb_event_track_t, containing the new track under cursor`","created_at":"2015-12-21T12:32:55Z","updated_at":"2015-12-21T12:32:55Z","html_url":"https://github.com/Alexey-Yakovenko/deadbeef/pull/1410#discussion_r48141481","pull_request_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/1410","_links":{"self":{"href":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/comments/48141481"},"html":{"href":"https://github.com/Alexey-Yakovenko/deadbeef/pull/1410#discussion_r48141481"},"pull_request":{"href":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/1410"}}},"pull_request":{"url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/1410","id":54202774,"html_url":"https://github.com/Alexey-Yakovenko/deadbeef/pull/1410","diff_url":"https://github.com/Alexey-Yakovenko/deadbeef/pull/1410.diff","patch_url":"https://github.com/Alexey-Yakovenko/deadbeef/pull/1410.patch","issue_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1410","number":1410,"state":"open","locked":false,"title":"gtkui: make DB_EV_FOCUS_SELECTION work properly again, fix some cursor and scroll edge cases","user":{"login":"Lithopsian","id":7702742,"avatar_url":"https://avatars.githubusercontent.com/u/7702742?v=3","gravatar_id":"","url":"https://api.github.com/users/Lithopsian","html_url":"https://github.com/Lithopsian","followers_url":"https://api.github.com/users/Lithopsian/followers","following_url":"https://api.github.com/users/Lithopsian/following{/other_user}","gists_url":"https://api.github.com/users/Lithopsian/gists{/gist_id}","starred_url":"https://api.github.com/users/Lithopsian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Lithopsian/subscriptions","organizations_url":"https://api.github.com/users/Lithopsian/orgs","repos_url":"https://api.github.com/users/Lithopsian/repos","events_url":"https://api.github.com/users/Lithopsian/events{/privacy}","received_events_url":"https://api.github.com/users/Lithopsian/received_events","type":"User","site_admin":false},"body":"I gave up trying to hack everything onto the DB_EV_FOCUS_SELECTION message.  Now this does what it used to, move the cursor and scroll to the first selected item in the current playlist in all listviews.  There is a new structured message for precisely setting the cursor to synchronise between the main and search listviews.  The first selected item is not always the one that should receive the cursor.\r\n\r\nPlayback following should now work in all cases, including in a background tab where playback stops, moves to a different tab, or the preferences are changed, and jump to track where there is no main playlist widget.  Playback following is done in gtkui.c for background tabs and if there is no listview widget to do it.  Otherwise all messages are acted on independently by the main and search listviews, the only synchronisation is for GUI actions on one or the other.\r\n\r\nPlayback following no longer occurs in the current playlist if it is being selected or dragged, basically the whole time between the left mouse button being pressed on a listview and released.","created_at":"2015-12-20T16:34:25Z","updated_at":"2015-12-21T12:32:55Z","closed_at":null,"merged_at":null,"merge_commit_sha":"38ff1d3a49ccedeaca993cf79384eaa9beca8a1f","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/1410/commits","review_comments_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/1410/comments","review_comment_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1410/comments","statuses_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/statuses/fcdb129e30e39b19b80b8c14bee4f8ab9bf7793e","head":{"label":"Lithopsian:follow","ref":"follow","sha":"fcdb129e30e39b19b80b8c14bee4f8ab9bf7793e","user":{"login":"Lithopsian","id":7702742,"avatar_url":"https://avatars.githubusercontent.com/u/7702742?v=3","gravatar_id":"","url":"https://api.github.com/users/Lithopsian","html_url":"https://github.com/Lithopsian","followers_url":"https://api.github.com/users/Lithopsian/followers","following_url":"https://api.github.com/users/Lithopsian/following{/other_user}","gists_url":"https://api.github.com/users/Lithopsian/gists{/gist_id}","starred_url":"https://api.github.com/users/Lithopsian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Lithopsian/subscriptions","organizations_url":"https://api.github.com/users/Lithopsian/orgs","repos_url":"https://api.github.com/users/Lithopsian/repos","events_url":"https://api.github.com/users/Lithopsian/events{/privacy}","received_events_url":"https://api.github.com/users/Lithopsian/received_events","type":"User","site_admin":false},"repo":{"id":43242051,"name":"deadbeef","full_name":"Lithopsian/deadbeef","owner":{"login":"Lithopsian","id":7702742,"avatar_url":"https://avatars.githubusercontent.com/u/7702742?v=3","gravatar_id":"","url":"https://api.github.com/users/Lithopsian","html_url":"https://github.com/Lithopsian","followers_url":"https://api.github.com/users/Lithopsian/followers","following_url":"https://api.github.com/users/Lithopsian/following{/other_user}","gists_url":"https://api.github.com/users/Lithopsian/gists{/gist_id}","starred_url":"https://api.github.com/users/Lithopsian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Lithopsian/subscriptions","organizations_url":"https://api.github.com/users/Lithopsian/orgs","repos_url":"https://api.github.com/users/Lithopsian/repos","events_url":"https://api.github.com/users/Lithopsian/events{/privacy}","received_events_url":"https://api.github.com/users/Lithopsian/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Lithopsian/deadbeef","description":"DeaDBeeF Player","fork":true,"url":"https://api.github.com/repos/Lithopsian/deadbeef","forks_url":"https://api.github.com/repos/Lithopsian/deadbeef/forks","keys_url":"https://api.github.com/repos/Lithopsian/deadbeef/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Lithopsian/deadbeef/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Lithopsian/deadbeef/teams","hooks_url":"https://api.github.com/repos/Lithopsian/deadbeef/hooks","issue_events_url":"https://api.github.com/repos/Lithopsian/deadbeef/issues/events{/number}","events_url":"https://api.github.com/repos/Lithopsian/deadbeef/events","assignees_url":"https://api.github.com/repos/Lithopsian/deadbeef/assignees{/user}","branches_url":"https://api.github.com/repos/Lithopsian/deadbeef/branches{/branch}","tags_url":"https://api.github.com/repos/Lithopsian/deadbeef/tags","blobs_url":"https://api.github.com/repos/Lithopsian/deadbeef/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Lithopsian/deadbeef/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Lithopsian/deadbeef/git/refs{/sha}","trees_url":"https://api.github.com/repos/Lithopsian/deadbeef/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Lithopsian/deadbeef/statuses/{sha}","languages_url":"https://api.github.com/repos/Lithopsian/deadbeef/languages","stargazers_url":"https://api.github.com/repos/Lithopsian/deadbeef/stargazers","contributors_url":"https://api.github.com/repos/Lithopsian/deadbeef/contributors","subscribers_url":"https://api.github.com/repos/Lithopsian/deadbeef/subscribers","subscription_url":"https://api.github.com/repos/Lithopsian/deadbeef/subscription","commits_url":"https://api.github.com/repos/Lithopsian/deadbeef/commits{/sha}","git_commits_url":"https://api.github.com/repos/Lithopsian/deadbeef/git/commits{/sha}","comments_url":"https://api.github.com/repos/Lithopsian/deadbeef/comments{/number}","issue_comment_url":"https://api.github.com/repos/Lithopsian/deadbeef/issues/comments{/number}","contents_url":"https://api.github.com/repos/Lithopsian/deadbeef/contents/{+path}","compare_url":"https://api.github.com/repos/Lithopsian/deadbeef/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Lithopsian/deadbeef/merges","archive_url":"https://api.github.com/repos/Lithopsian/deadbeef/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Lithopsian/deadbeef/downloads","issues_url":"https://api.github.com/repos/Lithopsian/deadbeef/issues{/number}","pulls_url":"https://api.github.com/repos/Lithopsian/deadbeef/pulls{/number}","milestones_url":"https://api.github.com/repos/Lithopsian/deadbeef/milestones{/number}","notifications_url":"https://api.github.com/repos/Lithopsian/deadbeef/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Lithopsian/deadbeef/labels{/name}","releases_url":"https://api.github.com/repos/Lithopsian/deadbeef/releases{/id}","created_at":"2015-09-27T10:04:54Z","updated_at":"2015-12-11T15:41:00Z","pushed_at":"2015-12-19T23:53:12Z","git_url":"git://github.com/Lithopsian/deadbeef.git","ssh_url":"git@github.com:Lithopsian/deadbeef.git","clone_url":"https://github.com/Lithopsian/deadbeef.git","svn_url":"https://github.com/Lithopsian/deadbeef","homepage":"http://deadbeef.sf.net","size":51477,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":true,"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":"Alexey-Yakovenko:master","ref":"master","sha":"b953b88a0be0f8449b8854cc2dfdf76b809e842d","user":{"login":"Alexey-Yakovenko","id":1895698,"avatar_url":"https://avatars.githubusercontent.com/u/1895698?v=3","gravatar_id":"","url":"https://api.github.com/users/Alexey-Yakovenko","html_url":"https://github.com/Alexey-Yakovenko","followers_url":"https://api.github.com/users/Alexey-Yakovenko/followers","following_url":"https://api.github.com/users/Alexey-Yakovenko/following{/other_user}","gists_url":"https://api.github.com/users/Alexey-Yakovenko/gists{/gist_id}","starred_url":"https://api.github.com/users/Alexey-Yakovenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Alexey-Yakovenko/subscriptions","organizations_url":"https://api.github.com/users/Alexey-Yakovenko/orgs","repos_url":"https://api.github.com/users/Alexey-Yakovenko/repos","events_url":"https://api.github.com/users/Alexey-Yakovenko/events{/privacy}","received_events_url":"https://api.github.com/users/Alexey-Yakovenko/received_events","type":"User","site_admin":false},"repo":{"id":15237541,"name":"deadbeef","full_name":"Alexey-Yakovenko/deadbeef","owner":{"login":"Alexey-Yakovenko","id":1895698,"avatar_url":"https://avatars.githubusercontent.com/u/1895698?v=3","gravatar_id":"","url":"https://api.github.com/users/Alexey-Yakovenko","html_url":"https://github.com/Alexey-Yakovenko","followers_url":"https://api.github.com/users/Alexey-Yakovenko/followers","following_url":"https://api.github.com/users/Alexey-Yakovenko/following{/other_user}","gists_url":"https://api.github.com/users/Alexey-Yakovenko/gists{/gist_id}","starred_url":"https://api.github.com/users/Alexey-Yakovenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Alexey-Yakovenko/subscriptions","organizations_url":"https://api.github.com/users/Alexey-Yakovenko/orgs","repos_url":"https://api.github.com/users/Alexey-Yakovenko/repos","events_url":"https://api.github.com/users/Alexey-Yakovenko/events{/privacy}","received_events_url":"https://api.github.com/users/Alexey-Yakovenko/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Alexey-Yakovenko/deadbeef","description":"DeaDBeeF Player","fork":false,"url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef","forks_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/forks","keys_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/teams","hooks_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/hooks","issue_events_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/events{/number}","events_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/events","assignees_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/assignees{/user}","branches_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/branches{/branch}","tags_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/tags","blobs_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/git/refs{/sha}","trees_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/statuses/{sha}","languages_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/languages","stargazers_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/stargazers","contributors_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/contributors","subscribers_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/subscribers","subscription_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/subscription","commits_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/commits{/sha}","git_commits_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/git/commits{/sha}","comments_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/comments{/number}","issue_comment_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/comments{/number}","contents_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/contents/{+path}","compare_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/merges","archive_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/downloads","issues_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues{/number}","pulls_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls{/number}","milestones_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/milestones{/number}","notifications_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/labels{/name}","releases_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/releases{/id}","created_at":"2013-12-16T21:21:05Z","updated_at":"2015-12-21T01:58:48Z","pushed_at":"2015-12-21T12:31:22Z","git_url":"git://github.com/Alexey-Yakovenko/deadbeef.git","ssh_url":"git@github.com:Alexey-Yakovenko/deadbeef.git","clone_url":"https://github.com/Alexey-Yakovenko/deadbeef.git","svn_url":"https://github.com/Alexey-Yakovenko/deadbeef","homepage":"http://deadbeef.sf.net","size":69879,"stargazers_count":253,"watchers_count":253,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":42,"mirror_url":null,"open_issues_count":286,"forks":42,"open_issues":286,"watchers":253,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/1410"},"html":{"href":"https://github.com/Alexey-Yakovenko/deadbeef/pull/1410"},"issue":{"href":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1410"},"comments":{"href":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1410/comments"},"review_comments":{"href":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/1410/comments"},"review_comment":{"href":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/1410/commits"},"statuses":{"href":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/statuses/fcdb129e30e39b19b80b8c14bee4f8ab9bf7793e"}}}}