{"push_id":729896913,"size":14,"distinct_size":1,"ref":"refs/heads/master","head":"c70cfdfc0fe40eeb2fabe8f96b832853bf0ef8a2","before":"14678594584aada9ef75b774658e503bf4871ae3","commits":[{"sha":"ad0ec0a9dca6a95baeecb53a38b4e3b7d15c43cd","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"Introduce a planner, responsible for planning out how to execute nodes.","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/ad0ec0a9dca6a95baeecb53a38b4e3b7d15c43cd"},{"sha":"6d40a16f064004dc0bc293770cbbcbd2bfe49935","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"Remove some of the function objects involved in executing plans.","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/6d40a16f064004dc0bc293770cbbcbd2bfe49935"},{"sha":"48ceaf4bfb1c23ebc32015a357e64c1d88cb2f3c","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"Use the new dependency overriding logic to avoid the requirement that sources are always playing.","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/48ceaf4bfb1c23ebc32015a357e64c1d88cb2f3c"},{"sha":"a037c271cac7298b1691d26eb8c8cde63c0c847e","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"No-op invalidatePlan functions.","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/a037c271cac7298b1691d26eb8c8cde63c0c847e"},{"sha":"a940a966131fee1e4fffaacf7efc28d72d1b664d","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"Call invalidatePlan in (most of?) the appropriate places.","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/a940a966131fee1e4fffaacf7efc28d72d1b664d"},{"sha":"a33a3a46ce5cb6dbda5334c979d179e7022abf1d","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"Greatly optimize the planner:\n\n- Use references for the function objects.\n- Override visitDependencies to avoid temporary sets.\n- Convert to using is_recorded boolean flags instead of an intermediate seen set.\n- Convert to using a comparer and tagger function over lambda expressions where possible.\n- Predicates for visiting take references to shared pointers.","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/a33a3a46ce5cb6dbda5334c979d179e7022abf1d"},{"sha":"278c6cb64c066c297c74c29ff0938078a443c3a4","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"The new planner guarantees that we can't have duplicate ticks; remove redundant checks.","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/278c6cb64c066c297c74c29ff0938078a443c3a4"},{"sha":"90b28a9c55a354fe93c32b313d04ee070a172aae","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"Rewrite doesEdgePreserveAcyclicity to use visitDependencies.","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/90b28a9c55a354fe93c32b313d04ee070a172aae"},{"sha":"2ef3322cbfc4c2c19d417dc2f65ef8db575fe449","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"Kill now-redundant getDependencies.","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/2ef3322cbfc4c2c19d417dc2f65ef8db575fe449"},{"sha":"9b0c81d7138621192cd0311905a328f9a9f356a4","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"Cache the plan, making it as fast as the old method of recursive functions.","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/9b0c81d7138621192cd0311905a328f9a9f356a4"},{"sha":"83bd43755e7d4a26be6361f6304c069b2a08b474","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"Merge branch 'master' into new_scheduler\n\nConflicts:\n\tinclude/libaudioverse/3d/source.hpp\n\tsrc/libaudioverse/3d/environment.cpp","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/83bd43755e7d4a26be6361f6304c069b2a08b474"},{"sha":"f897feb41d6693e9de2418f85b7606363953fe26","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"Merge branch 'master' into new_scheduler\n\nConflicts:\n\tsrc/libaudioverse/node.cpp","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/f897feb41d6693e9de2418f85b7606363953fe26"},{"sha":"0cf77cf80a4bb7b9989fe0d1d160251a3e788914","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"Merge branch 'master' into new_scheduler\n\nConflicts:\n\tinclude/libaudioverse/3d/environment.hpp","distinct":false,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/0cf77cf80a4bb7b9989fe0d1d160251a3e788914"},{"sha":"c70cfdfc0fe40eeb2fabe8f96b832853bf0ef8a2","author":{"email":"2802a3f4159b69bff3bf0edf77c33b74db4c3669@gmail.com","name":"Austin Hicks"},"message":"New scheduler, making node processing separate from the nodes themselves.\n\nThis is half the battle of multicore.","distinct":true,"url":"https://api.github.com/repos/camlorn/libaudioverse/commits/c70cfdfc0fe40eeb2fabe8f96b832853bf0ef8a2"}]}