{"action":"created","issue":{"url":"https://api.github.com/repos/Syncplay/syncplay/issues/202","repository_url":"https://api.github.com/repos/Syncplay/syncplay","labels_url":"https://api.github.com/repos/Syncplay/syncplay/issues/202/labels{/name}","comments_url":"https://api.github.com/repos/Syncplay/syncplay/issues/202/comments","events_url":"https://api.github.com/repos/Syncplay/syncplay/issues/202/events","html_url":"https://github.com/Syncplay/syncplay/issues/202","id":358752713,"node_id":"MDU6SXNzdWUzNTg3NTI3MTM=","number":202,"title":"Feature request: generic event hook system (a la acpid)","user":{"login":"alxpettit","id":28266167,"node_id":"MDQ6VXNlcjI4MjY2MTY3","avatar_url":"https://avatars3.githubusercontent.com/u/28266167?v=4","gravatar_id":"","url":"https://api.github.com/users/alxpettit","html_url":"https://github.com/alxpettit","followers_url":"https://api.github.com/users/alxpettit/followers","following_url":"https://api.github.com/users/alxpettit/following{/other_user}","gists_url":"https://api.github.com/users/alxpettit/gists{/gist_id}","starred_url":"https://api.github.com/users/alxpettit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alxpettit/subscriptions","organizations_url":"https://api.github.com/users/alxpettit/orgs","repos_url":"https://api.github.com/users/alxpettit/repos","events_url":"https://api.github.com/users/alxpettit/events{/privacy}","received_events_url":"https://api.github.com/users/alxpettit/received_events","type":"User","site_admin":false},"labels":[{"id":7462200,"node_id":"MDU6TGFiZWw3NDYyMjAw","url":"https://api.github.com/repos/Syncplay/syncplay/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-09-10T19:03:00Z","updated_at":"2018-12-09T16:59:13Z","closed_at":null,"author_association":"NONE","body":"So, the point of this suggestion is to cover as many use cases as possible to prevent feature creep in the base code and the amount of load on the base code devs, while still getting extra features that cover minority use cases.\r\n\r\nIn my case, I'm very interested in the potential of Syncplay for study groups. Khan Academy has a gamification system that lets you keep track of your study activity and rewards you with Meaningless Internet Points (TM), which are fun to receive, despite being mostly meaningless. :P \r\n\r\nI saw that Khan Academy seems to have decent API documentation, which should be a breeze to use from Python -- so it totally has potential. A hook system would allow for these sorts of solutions to be built for all sorts of obscure needs. I'd be willing to develop the integration hooks myself if the hook system was easy enough to figure out! And of course release it under some FOSS license because I like FOSS. :3 \r\n\r\nOff the top of my head, the hook system could also be used for lots of other things as separate projects, including:\r\n* Optional audio notifications of events (In several instances, I had accidentally pressed `m` in MPV previously, and wasn't aware someone had started the video)\r\n* Optional toaster or other GUI notifications (In other instances, I had my whole pulseaudio system muted because I'm a dork, or was otherwise unable to hear laptop audio due to a glitch with my bluetooth headset -- so these notifications would be great for me)\r\n* Integration with other learning platforms (e.g., Moodle)\r\n* If some hacker somewhere wants to make their raspberry pi controlled coffee maker start brewing coffee whenever a video is queued, they can totally do it without forking the base code. (And catch-all for any other obscure scripting use case I'm not imagining.)\r\n\r\nLet me know what you think!"},"comment":{"url":"https://api.github.com/repos/Syncplay/syncplay/issues/comments/445553578","html_url":"https://github.com/Syncplay/syncplay/issues/202#issuecomment-445553578","issue_url":"https://api.github.com/repos/Syncplay/syncplay/issues/202","id":445553578,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NTU1MzU3OA==","user":{"login":"Et0h","id":2389316,"node_id":"MDQ6VXNlcjIzODkzMTY=","avatar_url":"https://avatars2.githubusercontent.com/u/2389316?v=4","gravatar_id":"","url":"https://api.github.com/users/Et0h","html_url":"https://github.com/Et0h","followers_url":"https://api.github.com/users/Et0h/followers","following_url":"https://api.github.com/users/Et0h/following{/other_user}","gists_url":"https://api.github.com/users/Et0h/gists{/gist_id}","starred_url":"https://api.github.com/users/Et0h/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Et0h/subscriptions","organizations_url":"https://api.github.com/users/Et0h/orgs","repos_url":"https://api.github.com/users/Et0h/repos","events_url":"https://api.github.com/users/Et0h/events{/privacy}","received_events_url":"https://api.github.com/users/Et0h/received_events","type":"User","site_admin":false},"created_at":"2018-12-09T16:59:13Z","updated_at":"2018-12-09T16:59:13Z","author_association":"CONTRIBUTOR","body":"@alxpettit Ah yes, I should have said syncplayintf.lua: https://github.com/Syncplay/syncplay/blob/master/resources/syncplayintf.lua"}}
{"actor":{"display_login":"Et0h"}}