{"action":"created","issue":{"url":"https://api.github.com/repos/audiolux/pixel-mapping-library/issues/7","repository_url":"https://api.github.com/repos/audiolux/pixel-mapping-library","labels_url":"https://api.github.com/repos/audiolux/pixel-mapping-library/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/audiolux/pixel-mapping-library/issues/7/comments","events_url":"https://api.github.com/repos/audiolux/pixel-mapping-library/issues/7/events","html_url":"https://github.com/audiolux/pixel-mapping-library/issues/7","id":157569698,"number":7,"title":"Develop the structure of the Audiolux library","user":{"login":"MWGriffin","id":1414868,"avatar_url":"https://avatars.githubusercontent.com/u/1414868?v=3","gravatar_id":"","url":"https://api.github.com/users/MWGriffin","html_url":"https://github.com/MWGriffin","followers_url":"https://api.github.com/users/MWGriffin/followers","following_url":"https://api.github.com/users/MWGriffin/following{/other_user}","gists_url":"https://api.github.com/users/MWGriffin/gists{/gist_id}","starred_url":"https://api.github.com/users/MWGriffin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MWGriffin/subscriptions","organizations_url":"https://api.github.com/users/MWGriffin/orgs","repos_url":"https://api.github.com/users/MWGriffin/repos","events_url":"https://api.github.com/users/MWGriffin/events{/privacy}","received_events_url":"https://api.github.com/users/MWGriffin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-05-31T00:30:28Z","updated_at":"2016-06-02T00:39:37Z","closed_at":null,"body":"In order to develop a flexible and modular library we need to begin to create a unified API.\r\n\r\nThis interface will be used when the user wants to use specific methods and access and set defined variables. Writing code in this manner requires developers to define interfaces in .h (header) files, and implementation in .c or .cpp files. This ensures three things: exposing a simple interface, hiding the implementation of that interface, and ensuring that methods can be used anywhere in the implementation as they have already been declared.\r\n\r\nThe main methods defined in the library will cover the following functionality:\r\n\r\n- Input \r\n- Input analysis\r\n- Pixel mapping\r\n- Animation\r\n\r\nAny global variables and constants that are used in the library will also have to be defined in this file. This also applies to structures or other data types that are used to configure functionality within the methods. These structures could be used in configuring animations, defining pixel mapping sizes, orientations etc, and will provide a simple and clear way for developers to use the library.\r\n\r\nModular functionality, like different animation types, will be defined in their own header/implementation files to be included in the main library implementation file. This will ensure that developers can work on their own animations, frequency analysis types, pixel mapping strategies, individually, without touching the main implementation of the library. This allows for molecularity, flexibility, and interchangeability.\r\n\r\nCommon functionality to a specific group of modules will try to be abstracted in the main methods to a simplistic protocol. This ensures that the user can achieve a high level of functionality with a relatively simplistic interface, while still being able to specify more complex functionality in module specific configuration structures."},"comment":{"url":"https://api.github.com/repos/audiolux/pixel-mapping-library/issues/comments/223165963","html_url":"https://github.com/audiolux/pixel-mapping-library/issues/7#issuecomment-223165963","issue_url":"https://api.github.com/repos/audiolux/pixel-mapping-library/issues/7","id":223165963,"user":{"login":"CymaSpace","id":7018464,"avatar_url":"https://avatars.githubusercontent.com/u/7018464?v=3","gravatar_id":"","url":"https://api.github.com/users/CymaSpace","html_url":"https://github.com/CymaSpace","followers_url":"https://api.github.com/users/CymaSpace/followers","following_url":"https://api.github.com/users/CymaSpace/following{/other_user}","gists_url":"https://api.github.com/users/CymaSpace/gists{/gist_id}","starred_url":"https://api.github.com/users/CymaSpace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CymaSpace/subscriptions","organizations_url":"https://api.github.com/users/CymaSpace/orgs","repos_url":"https://api.github.com/users/CymaSpace/repos","events_url":"https://api.github.com/users/CymaSpace/events{/privacy}","received_events_url":"https://api.github.com/users/CymaSpace/received_events","type":"User","site_admin":false},"created_at":"2016-06-02T00:39:37Z","updated_at":"2016-06-02T00:39:37Z","body":"@Mwgriffin great intro write up that should provide clear guidelines for all collaborative coders. If it's okay wth you, I'll move this into a milestone to group issues together. "}}
{"actor":{"display_login":"CymaSpace"}}