{"action":"created","issue":{"url":"https://api.github.com/repos/marl/jams/issues/28","repository_url":"https://api.github.com/repos/marl/jams","labels_url":"https://api.github.com/repos/marl/jams/issues/28/labels{/name}","comments_url":"https://api.github.com/repos/marl/jams/issues/28/comments","events_url":"https://api.github.com/repos/marl/jams/issues/28/events","html_url":"https://github.com/marl/jams/issues/28","id":78203037,"number":28,"title":"Namespace converters","user":{"login":"bmcfee","id":1190540,"avatar_url":"https://avatars.githubusercontent.com/u/1190540?v=3","gravatar_id":"","url":"https://api.github.com/users/bmcfee","html_url":"https://github.com/bmcfee","followers_url":"https://api.github.com/users/bmcfee/followers","following_url":"https://api.github.com/users/bmcfee/following{/other_user}","gists_url":"https://api.github.com/users/bmcfee/gists{/gist_id}","starred_url":"https://api.github.com/users/bmcfee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bmcfee/subscriptions","organizations_url":"https://api.github.com/users/bmcfee/orgs","repos_url":"https://api.github.com/users/bmcfee/repos","events_url":"https://api.github.com/users/bmcfee/events{/privacy}","received_events_url":"https://api.github.com/users/bmcfee/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/marl/jams/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/marl/jams/labels/pyjams","name":"pyjams","color":"bfe5bf"}],"state":"open","locked":false,"assignee":{"login":"bmcfee","id":1190540,"avatar_url":"https://avatars.githubusercontent.com/u/1190540?v=3","gravatar_id":"","url":"https://api.github.com/users/bmcfee","html_url":"https://github.com/bmcfee","followers_url":"https://api.github.com/users/bmcfee/followers","following_url":"https://api.github.com/users/bmcfee/following{/other_user}","gists_url":"https://api.github.com/users/bmcfee/gists{/gist_id}","starred_url":"https://api.github.com/users/bmcfee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bmcfee/subscriptions","organizations_url":"https://api.github.com/users/bmcfee/orgs","repos_url":"https://api.github.com/users/bmcfee/repos","events_url":"https://api.github.com/users/bmcfee/events{/privacy}","received_events_url":"https://api.github.com/users/bmcfee/received_events","type":"User","site_admin":false},"milestone":null,"comments":5,"created_at":"2015-05-19T18:36:24Z","updated_at":"2016-02-16T18:48:39Z","closed_at":null,"body":"Wherever it makes sense, we should have converter scripts to move between namespaces.\r\n\r\nThis could get pretty messy.\r\n\r\nFrom the current set, the following seem feasible:\r\n\r\n- [ ] `beat_position` -> `beat`\r\n- [ ] `tag_*` -> `tag_open`\r\n- [ ] `segment_*` -> `segment_label_open`\r\n- [ ] `pitch_hz` <-> `pitch_midi`\r\n- [ ] `pitch_class` -> `pitch_midi`, `pitch_hz`\r\n- [ ] `chord_roman` -> `chord_harte` (?)\r\n\r\n(I'm not sure about that last one; is it possible?)\r\n\r\nThere are some issues to hammer out with regards to additional parameters of the conversion.  For instance, `pitch_class_to_midi` would probably require an octave indicator, unless we just make everything start at C4 or something.\r\n\r\nOf course, all of this is up for discussion."},"comment":{"url":"https://api.github.com/repos/marl/jams/issues/comments/184823428","html_url":"https://github.com/marl/jams/issues/28#issuecomment-184823428","issue_url":"https://api.github.com/repos/marl/jams/issues/28","id":184823428,"user":{"login":"justinsalamon","id":3009670,"avatar_url":"https://avatars.githubusercontent.com/u/3009670?v=3","gravatar_id":"","url":"https://api.github.com/users/justinsalamon","html_url":"https://github.com/justinsalamon","followers_url":"https://api.github.com/users/justinsalamon/followers","following_url":"https://api.github.com/users/justinsalamon/following{/other_user}","gists_url":"https://api.github.com/users/justinsalamon/gists{/gist_id}","starred_url":"https://api.github.com/users/justinsalamon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinsalamon/subscriptions","organizations_url":"https://api.github.com/users/justinsalamon/orgs","repos_url":"https://api.github.com/users/justinsalamon/repos","events_url":"https://api.github.com/users/justinsalamon/events{/privacy}","received_events_url":"https://api.github.com/users/justinsalamon/received_events","type":"User","site_admin":false},"created_at":"2016-02-16T18:48:39Z","updated_at":"2016-02-16T18:48:39Z","body":"Well, it would be cool if based on the namespace of an Annotation it would make the relevant conversion functions available. For example, a ``pitch_hz`` annotation would have ``to_pitch_midi``, and vice versa. That said, I don't have a strong opinion about this, and I'd be happy to have something a la ``jams.convert(my_ann, 'pitch_midi')``. I just need it now, so feel free to make an executive call on this.\r\n\r\nAs for routing logic, not sure I know what you're referring too :walking: "}}