{"action":"created","issue":{"url":"https://api.github.com/repos/mixxxdj/mixxx/issues/1856","repository_url":"https://api.github.com/repos/mixxxdj/mixxx","labels_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/1856/labels{/name}","comments_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/1856/comments","events_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/1856/events","html_url":"https://github.com/mixxxdj/mixxx/pull/1856","id":372259559,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI0NTA1NzE0","number":1856,"title":"Change midi preset file handler to use a map so the output is consistent","user":{"login":"ywwg","id":888940,"node_id":"MDQ6VXNlcjg4ODk0MA==","avatar_url":"https://avatars3.githubusercontent.com/u/888940?v=4","gravatar_id":"","url":"https://api.github.com/users/ywwg","html_url":"https://github.com/ywwg","followers_url":"https://api.github.com/users/ywwg/followers","following_url":"https://api.github.com/users/ywwg/following{/other_user}","gists_url":"https://api.github.com/users/ywwg/gists{/gist_id}","starred_url":"https://api.github.com/users/ywwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ywwg/subscriptions","organizations_url":"https://api.github.com/users/ywwg/orgs","repos_url":"https://api.github.com/users/ywwg/repos","events_url":"https://api.github.com/users/ywwg/events{/privacy}","received_events_url":"https://api.github.com/users/ywwg/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"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":29,"closed_issues":5,"state":"open","created_at":"2018-04-19T13:09:05Z","updated_at":"2018-10-20T22:43:02Z","due_on":"2019-04-02T07:00:00Z","closed_at":null},"comments":2,"created_at":"2018-10-20T22:41:24Z","updated_at":"2018-10-21T00:15:51Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/1856","html_url":"https://github.com/mixxxdj/mixxx/pull/1856","diff_url":"https://github.com/mixxxdj/mixxx/pull/1856.diff","patch_url":"https://github.com/mixxxdj/mixxx/pull/1856.patch"},"body":"XML files are currently extremely hard to diff because the order of configkeys is not stable on save, and the files are saved every launch of Mixxx. By using a QMap instead, output will always be sorted by configkey.\r\n\r\nI changed as many calls as possible to **auto** to reduce the number of times the type is written.  Elsewhere the java-style iterator is used explicitly, so I left them in to reduce the amount of changes I'd have to make.\r\n\r\nPerformance is not a concern here so QHash doesn't gain us anything.  I confirmed that after this change, xml output is consistent.\r\n"},"comment":{"url":"https://api.github.com/repos/mixxxdj/mixxx/issues/comments/431627987","html_url":"https://github.com/mixxxdj/mixxx/pull/1856#issuecomment-431627987","issue_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/1856","id":431627987,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMTYyNzk4Nw==","user":{"login":"ywwg","id":888940,"node_id":"MDQ6VXNlcjg4ODk0MA==","avatar_url":"https://avatars3.githubusercontent.com/u/888940?v=4","gravatar_id":"","url":"https://api.github.com/users/ywwg","html_url":"https://github.com/ywwg","followers_url":"https://api.github.com/users/ywwg/followers","following_url":"https://api.github.com/users/ywwg/following{/other_user}","gists_url":"https://api.github.com/users/ywwg/gists{/gist_id}","starred_url":"https://api.github.com/users/ywwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ywwg/subscriptions","organizations_url":"https://api.github.com/users/ywwg/orgs","repos_url":"https://api.github.com/users/ywwg/repos","events_url":"https://api.github.com/users/ywwg/events{/privacy}","received_events_url":"https://api.github.com/users/ywwg/received_events","type":"User","site_admin":false},"created_at":"2018-10-21T00:15:51Z","updated_at":"2018-10-21T00:15:51Z","author_association":"MEMBER","body":"> Regarding performance, don't we do lookups on the QHash every time a controller is manipulated? If so, it would seem the best option is to convert to a QMap only before exporting to XML.\r\n\r\nEven if someone is really cranking their controller the rate of lookups will be at most \"tens per second\", and at that rate the difference in performance is going to be indistinguishable (O(logn) vs O(1) (http://doc.qt.io/qt-5/containers.html#algorithmic-complexity)).  If this were a multi-megabyte data store being hammered thousands of times per second... then maybe there'd be a difference.  I don't see a compelling reason to add the complexity needed to duplicate the data before output. \r\n\r\n"}}
{"actor":{"display_login":"ywwg"}}