{"action":"created","issue":{"url":"https://api.github.com/repos/vapoursynth/vapoursynth/issues/386","repository_url":"https://api.github.com/repos/vapoursynth/vapoursynth","labels_url":"https://api.github.com/repos/vapoursynth/vapoursynth/issues/386/labels{/name}","comments_url":"https://api.github.com/repos/vapoursynth/vapoursynth/issues/386/comments","events_url":"https://api.github.com/repos/vapoursynth/vapoursynth/issues/386/events","html_url":"https://github.com/vapoursynth/vapoursynth/issues/386","id":318540795,"number":386,"title":"Make vsscript dlopen() vapoursynth and the python code","user":{"login":"wm4","id":1387750,"avatar_url":"https://avatars0.githubusercontent.com/u/1387750?v=4","gravatar_id":"","url":"https://api.github.com/users/wm4","html_url":"https://github.com/wm4","followers_url":"https://api.github.com/users/wm4/followers","following_url":"https://api.github.com/users/wm4/following{/other_user}","gists_url":"https://api.github.com/users/wm4/gists{/gist_id}","starred_url":"https://api.github.com/users/wm4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wm4/subscriptions","organizations_url":"https://api.github.com/users/wm4/orgs","repos_url":"https://api.github.com/users/wm4/repos","events_url":"https://api.github.com/users/wm4/events{/privacy}","received_events_url":"https://api.github.com/users/wm4/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-04-27T20:31:57Z","updated_at":"2018-04-28T11:30:02Z","closed_at":null,"author_association":"NONE","body":"Currently, using vsscript exports a bunch of API functions. If you link to them, you'll also have a hard dependency on Python. This becomes hard to distribute (for example you can't just tell users to download vapoursynth DLLs separately, and your build setup has to handle both). You could dlopen() it, but it's kind of a bother.\r\n\r\nI propose that vsscript should be a thin wrapper that transparently dlopen()s the actual vs/python libs.\r\n\r\nAlternatively, vsscript could use the same concept as VSAPI, and expose only 1 API function, that returns a struct with the actual API as function pointers.\r\n\r\nIn both cases, the user binary's dependencies would be minimal.\r\n\r\nIf this requires API changes or a new API, this change could also do the following things on top of it:\r\n- hide vsscript_init/finalize from the user (is there any reason not to?)\r\n- include a mechanism to support other scripting backends\r\n"},"comment":{"url":"https://api.github.com/repos/vapoursynth/vapoursynth/issues/comments/385168003","html_url":"https://github.com/vapoursynth/vapoursynth/issues/386#issuecomment-385168003","issue_url":"https://api.github.com/repos/vapoursynth/vapoursynth/issues/386","id":385168003,"user":{"login":"wm4","id":1387750,"avatar_url":"https://avatars0.githubusercontent.com/u/1387750?v=4","gravatar_id":"","url":"https://api.github.com/users/wm4","html_url":"https://github.com/wm4","followers_url":"https://api.github.com/users/wm4/followers","following_url":"https://api.github.com/users/wm4/following{/other_user}","gists_url":"https://api.github.com/users/wm4/gists{/gist_id}","starred_url":"https://api.github.com/users/wm4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wm4/subscriptions","organizations_url":"https://api.github.com/users/wm4/orgs","repos_url":"https://api.github.com/users/wm4/repos","events_url":"https://api.github.com/users/wm4/events{/privacy}","received_events_url":"https://api.github.com/users/wm4/received_events","type":"User","site_admin":false},"created_at":"2018-04-28T11:30:02Z","updated_at":"2018-04-28T11:30:02Z","author_association":"NONE","body":"No, just build effort and package size. I'm mostly thinking about mpv windows packages, which don't have VS I think. Also mpv has a really dumb Lua VS backend for this reason."}}
{"actor":{"display_login":"wm4"}}