{"action":"created","issue":{"url":"https://api.github.com/repos/Azimer/AziAudio/issues/24","labels_url":"https://api.github.com/repos/Azimer/AziAudio/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/Azimer/AziAudio/issues/24/comments","events_url":"https://api.github.com/repos/Azimer/AziAudio/issues/24/events","html_url":"https://github.com/Azimer/AziAudio/issues/24","id":73047679,"number":24,"title":"ABI HLE restructuring","user":{"login":"Azimer","id":12119720,"avatar_url":"https://avatars.githubusercontent.com/u/12119720?v=3","gravatar_id":"","url":"https://api.github.com/users/Azimer","html_url":"https://github.com/Azimer","followers_url":"https://api.github.com/users/Azimer/followers","following_url":"https://api.github.com/users/Azimer/following{/other_user}","gists_url":"https://api.github.com/users/Azimer/gists{/gist_id}","starred_url":"https://api.github.com/users/Azimer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azimer/subscriptions","organizations_url":"https://api.github.com/users/Azimer/orgs","repos_url":"https://api.github.com/users/Azimer/repos","events_url":"https://api.github.com/users/Azimer/events{/privacy}","received_events_url":"https://api.github.com/users/Azimer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-05-04T15:16:21Z","updated_at":"2015-05-04T16:11:52Z","closed_at":null,"body":"I am thinking we'll want to separate out the commands from ABI1-ABI3.cpp into seperate command files envmixer.cpp, mixer.cpp, adpcm.cpp so it's easier to take out what's in common.  ABI1-ABI3.cpp should strictly be for defining the commands awhile the command source files contain the commands for all 3 implementations.  It will have smaller source files and less change of collisions in a collaborative environment.  It will allow us to take out what's in common between all three \"ABI\"s and allow reuse among them.  I also believe it will be more readable / maintainable."},"comment":{"url":"https://api.github.com/repos/Azimer/AziAudio/issues/comments/98769262","html_url":"https://github.com/Azimer/AziAudio/issues/24#issuecomment-98769262","issue_url":"https://api.github.com/repos/Azimer/AziAudio/issues/24","id":98769262,"user":{"login":"cxd4","id":1396303,"avatar_url":"https://avatars.githubusercontent.com/u/1396303?v=3","gravatar_id":"","url":"https://api.github.com/users/cxd4","html_url":"https://github.com/cxd4","followers_url":"https://api.github.com/users/cxd4/followers","following_url":"https://api.github.com/users/cxd4/following{/other_user}","gists_url":"https://api.github.com/users/cxd4/gists{/gist_id}","starred_url":"https://api.github.com/users/cxd4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cxd4/subscriptions","organizations_url":"https://api.github.com/users/cxd4/orgs","repos_url":"https://api.github.com/users/cxd4/repos","events_url":"https://api.github.com/users/cxd4/events{/privacy}","received_events_url":"https://api.github.com/users/cxd4/received_events","type":"User","site_admin":false},"created_at":"2015-05-04T16:11:52Z","updated_at":"2015-05-04T16:11:52Z","body":"I agree against defining the functions common to ABI1/2/3 within ABI1/2/3 themselves, though I didn't think about the possibility of having new .cpp files like mixer.cpp, adpcm.cpp etc.  So far I just put the pack_signed and RSP clamping stuff in the central `HLEMain.cpp`, though I guess only so much can go in there until it becomes more than about, well, \"HLE main\". :P\r\n\r\nSo I liked this commit:\r\nhttps://github.com/samuelyuan/AziAudio/commit/354ddd2ca12a59b87d0546bc4bac602904b60eca\r\n\r\nBut as said, better to either make a new .c file out of it or have it in HLEmain.  The only reason I wouldn't want to make a new .c file out of these common ABI functions is just if the only thing in them is that single function--if there are multiple ADPCM-related functions for example I would much rather have all that stuff in a new file adpcm.cpp.  But if it boils down to a single small function with just a loop in it like samuelyuan's commit above, eh idk, seemed like it could have gone maybe in HLEMain."}}