{"action":"created","issue":{"url":"https://api.github.com/repos/spatialaudio/jackclient-python/issues/14","labels_url":"https://api.github.com/repos/spatialaudio/jackclient-python/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/spatialaudio/jackclient-python/issues/14/comments","events_url":"https://api.github.com/repos/spatialaudio/jackclient-python/issues/14/events","html_url":"https://github.com/spatialaudio/jackclient-python/pull/14","id":78962471,"number":14,"title":"Add set_timebase_callback()","user":{"login":"Vampouille","id":7067560,"avatar_url":"https://avatars.githubusercontent.com/u/7067560?v=3","gravatar_id":"","url":"https://api.github.com/users/Vampouille","html_url":"https://github.com/Vampouille","followers_url":"https://api.github.com/users/Vampouille/followers","following_url":"https://api.github.com/users/Vampouille/following{/other_user}","gists_url":"https://api.github.com/users/Vampouille/gists{/gist_id}","starred_url":"https://api.github.com/users/Vampouille/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vampouille/subscriptions","organizations_url":"https://api.github.com/users/Vampouille/orgs","repos_url":"https://api.github.com/users/Vampouille/repos","events_url":"https://api.github.com/users/Vampouille/events{/privacy}","received_events_url":"https://api.github.com/users/Vampouille/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-05-21T11:55:39Z","updated_at":"2015-05-23T08:49:16Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/spatialaudio/jackclient-python/pulls/14","html_url":"https://github.com/spatialaudio/jackclient-python/pull/14","diff_url":"https://github.com/spatialaudio/jackclient-python/pull/14.diff","patch_url":"https://github.com/spatialaudio/jackclient-python/pull/14.patch"},"body":"I add set_timebase_callback() method and set jack_transport_reposition() as TODO"},"comment":{"url":"https://api.github.com/repos/spatialaudio/jackclient-python/issues/comments/104868979","html_url":"https://github.com/spatialaudio/jackclient-python/pull/14#issuecomment-104868979","issue_url":"https://api.github.com/repos/spatialaudio/jackclient-python/issues/14","id":104868979,"user":{"login":"Vampouille","id":7067560,"avatar_url":"https://avatars.githubusercontent.com/u/7067560?v=3","gravatar_id":"","url":"https://api.github.com/users/Vampouille","html_url":"https://github.com/Vampouille","followers_url":"https://api.github.com/users/Vampouille/followers","following_url":"https://api.github.com/users/Vampouille/following{/other_user}","gists_url":"https://api.github.com/users/Vampouille/gists{/gist_id}","starred_url":"https://api.github.com/users/Vampouille/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vampouille/subscriptions","organizations_url":"https://api.github.com/users/Vampouille/orgs","repos_url":"https://api.github.com/users/Vampouille/repos","events_url":"https://api.github.com/users/Vampouille/events{/privacy}","received_events_url":"https://api.github.com/users/Vampouille/received_events","type":"User","site_admin":false},"created_at":"2015-05-23T08:49:16Z","updated_at":"2015-05-23T08:49:16Z","body":"This callback is used to set bpm and bbt (and bbt_offset) : position in bar beat ticks. Server only fill 'frame' field of position struct. Then callback have to set BPM and then compute bar, beat, ticks fields according to current bpm and frame count.\r\nhttps://github.com/Vampouille/superboucle/blob/master/gui.py at the end of this file, you can see an implementation of timebase callback.\r\nIn this callback, I use QSpinBox to get BPM from gui, then I set BPM (beat per bar, ticks per beats, ...) and finally I compute bar, beat, ticks from bpm and frame count.\r\n\r\nIn the original version of jack-Client jack_transport_reposition() was *not* declared as 'TODO' but was not implemented, so I just turn declaration into 'TODO'.\r\n\r\nIn my application, I have feature to jump to a specified position in song in 'bar' (and change tempo). My first idea was to use jack_transport_reposition() function to change position or to change bpm. But this is not the way to do in jack because bpm will be overwritten on next process cycle by timebasemaster. For jumping in song I use transport_locate() function. I use timebase_callback to change bpm.\r\n\r\nFor me jack_transport_reposition() is useless.\r\n\r\nAre you interesting in testing my app ? I'm looking for tester... and maybe my app can be useful for you."}}