{"action":"created","issue":{"url":"https://api.github.com/repos/BlaXpirit/crsfml/issues/9","labels_url":"https://api.github.com/repos/BlaXpirit/crsfml/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/BlaXpirit/crsfml/issues/9/comments","events_url":"https://api.github.com/repos/BlaXpirit/crsfml/issues/9/events","html_url":"https://github.com/BlaXpirit/crsfml/pull/9","id":103862044,"number":9,"title":"[WIP] Feature/restructured architecture","user":{"login":"paulgoetze","id":1781347,"avatar_url":"https://avatars.githubusercontent.com/u/1781347?v=3","gravatar_id":"","url":"https://api.github.com/users/paulgoetze","html_url":"https://github.com/paulgoetze","followers_url":"https://api.github.com/users/paulgoetze/followers","following_url":"https://api.github.com/users/paulgoetze/following{/other_user}","gists_url":"https://api.github.com/users/paulgoetze/gists{/gist_id}","starred_url":"https://api.github.com/users/paulgoetze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paulgoetze/subscriptions","organizations_url":"https://api.github.com/users/paulgoetze/orgs","repos_url":"https://api.github.com/users/paulgoetze/repos","events_url":"https://api.github.com/users/paulgoetze/events{/privacy}","received_events_url":"https://api.github.com/users/paulgoetze/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-08-29T16:32:05Z","updated_at":"2015-08-29T18:22:05Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/BlaXpirit/crsfml/pulls/9","html_url":"https://github.com/BlaXpirit/crsfml/pull/9","diff_url":"https://github.com/BlaXpirit/crsfml/pull/9.diff","patch_url":"https://github.com/BlaXpirit/crsfml/pull/9.patch"},"body":"I thought it might be good, if the generated code is a bit more tidied up.\r\n\r\nMy proposal is to move the lib files into their own `lib/csfml/` directory and to give them simpler names, like `MODULE.cr`(without the `_lib`).\r\n\r\nWe could do the same with the `obj` files (move them into sth. like `/objects` maybe), so that all in all the generated files have their own directories and it's easier to change the other not generated files.\r\n\r\nI also made sure that no whitespace is generated.\r\n\r\nAll changes are of cause applied through the generator. What do you think?\r\n\r\n## Tasklist:\r\n- [x] Allow generating files from custom header directory: `./generate.sh <your/custom/path/to/headers>` \r\n- [x] Generate lib files into `/src/lib/csfml` directory and simplify names\r\n- [x] Remove whitespace in generated files\r\n- [ ] Generate obj files into `/src/objects` directory\r\n"},"comment":{"url":"https://api.github.com/repos/BlaXpirit/crsfml/issues/comments/136021606","html_url":"https://github.com/BlaXpirit/crsfml/pull/9#issuecomment-136021606","issue_url":"https://api.github.com/repos/BlaXpirit/crsfml/issues/9","id":136021606,"user":{"login":"paulgoetze","id":1781347,"avatar_url":"https://avatars.githubusercontent.com/u/1781347?v=3","gravatar_id":"","url":"https://api.github.com/users/paulgoetze","html_url":"https://github.com/paulgoetze","followers_url":"https://api.github.com/users/paulgoetze/followers","following_url":"https://api.github.com/users/paulgoetze/following{/other_user}","gists_url":"https://api.github.com/users/paulgoetze/gists{/gist_id}","starred_url":"https://api.github.com/users/paulgoetze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paulgoetze/subscriptions","organizations_url":"https://api.github.com/users/paulgoetze/orgs","repos_url":"https://api.github.com/users/paulgoetze/repos","events_url":"https://api.github.com/users/paulgoetze/events{/privacy}","received_events_url":"https://api.github.com/users/paulgoetze/received_events","type":"User","site_admin":false},"created_at":"2015-08-29T18:22:05Z","updated_at":"2015-08-29T18:22:05Z","body":"No problem - that's why it is only a proposal.\r\n\r\nI must admit I'm not too familiar with the python coding style and conventions, so my changes intended to make the code at least a bit more readable. Anyway, coding style shouldn't be too hard to fix.\r\n\r\nI can see your point with the same naming of files. With moving the files I tried to come closer to a usual crystal project structure, where the external lib wrappers are in a separated directory. Still,  separation of automatically generated and human written code makes totally sense for me maintenance-wise. I also like to structure my code in different namespaces (i.e. directories, I assume that Crystal uses a similar project structure to Ruby projects?) which is kind of hard to do here, because the audio, graphic etc. functionality should be available under the `SF` namespace. \r\nIt might still be possible to combine e.g. the graphics things under a `Graphics` namespace/module and include and alias the classes afterwards in the `SF` module. Could you explain how you think this would break compatibility?\r\n\r\nHowever, I can't really see the advantages of using whitespace. In my point of view whitespace is always a potential source of unnecessary changes if you remove or add them unintentionally. But I guess whitespace is something one could argue about :)\r\n\r\nAnyway - thanks for the quick response and thumbs-up for the project!"}}