{"push_id":2997871405,"size":17,"distinct_size":17,"ref":"refs/heads/master","head":"c0e7aef3195879f4d37f156b6b3008e23d4d18ee","before":"0d53b72504518fcc1747402614f1d975cbac3d8e","commits":[{"sha":"044599ece7e7bc9a75bfe5ea314b5f62f5ab392f","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"During population of song nodes from cached information, removed a branch of code that can never execute.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/044599ece7e7bc9a75bfe5ea314b5f62f5ab392f"},{"sha":"70e8c41a9f56cb4c98b17536cde4911b9b80ab4d","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Popup Menus which generate dynamic text after initialization no longer crash when doing so after having the managed resources released once.\n\nTo perform some one-time text texture generation the popup menu was (and is) allocating its private font during initialization. Later in its lifecycle it would release the private font object during the managed object release phase. However, if the object was re-activated and re-used, the private font was not being re-created. The code now does so conditionally. On first activation after initialization it will just use the font already created during initialization. On subsequent activation after deactivation (which disposes the private font object,) it will re-create the private font object.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/70e8c41a9f56cb4c98b17536cde4911b9b80ab4d"},{"sha":"4f30ccb7f597e60cc3ed725d7328e7c51bbb6728","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Added sort on path. Stopped sorting the random, back, and box nodes. Display genre titles and backgrounds regardless of sort.\n\nSecondary sort level is needed, but is best implemented by migrating the existing sort code to IComparer<T> implementations (so that upon a tie the primary sort comparer can delegate to a secondary sort comparer.) To keep the work safe I'll save that for subsequent commits.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/4f30ccb7f597e60cc3ed725d7328e7c51bbb6728"},{"sha":"7aee2ac01eae9a8a1a56f6d3aa753986c570f782","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Stopped passing unused information (re: level of currently-selected course) into the AC8-14/AC15 genre sort operation.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/7aee2ac01eae9a8a1a56f6d3aa753986c570f782"},{"sha":"584a3802ddaa74f020dc20d200a015ebee7d1bd1","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Migrated path, title, genre (AC8-14 vs AC15) sort code to IComparer<T> implementations.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/584a3802ddaa74f020dc20d200a015ebee7d1bd1"},{"sha":"6e1888d2729b286e5756b4a86c93bf1061c1c668","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Removed SetDef-related code as its associated song node fields, as it must only have been populated in the days before taiko.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/6e1888d2729b286e5756b4a86c93bf1061c1c668"},{"sha":"bc40fb30a660cb25182c7e82d0fa881029e55e26","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Extracted the \"common\" sort (which is actually grouping more than sorting) to a comparer to which the original method now delegates.\n\nThis is in prep for building a comparer with a fallback structure so as to give the genre sort a fallback on path, as people like to name their folders to control sort order, we're currently falling back on title, the path comparison is more complex, and embedding it would be silly.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/bc40fb30a660cb25182c7e82d0fa881029e55e26"},{"sha":"325e852930f866e05250dabdfb56e97fab9ec8dc","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Path sort is now implemented via a fallback comparer with the node type grouping comparer as primary and the path comparer as secondary.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/325e852930f866e05250dabdfb56e97fab9ec8dc"},{"sha":"a156d51c0f99f4aa4ce5f8a50be6d18f1eb6da09","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Title sort is now implemented via a fallback comparer with the node type grouping comparer as primary and the title comparer as secondary.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/a156d51c0f99f4aa4ce5f8a50be6d18f1eb6da09"},{"sha":"84ae8181c92f4fd7ded1df929ad4e5ad2dad9ffb","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Genre (AC8-14 vs AC15) sort is now implemented via a fallback comparer with the node type grouping comparer as primary and the title comparer as secondary.\n\nIts fallback support will be addressed next.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/84ae8181c92f4fd7ded1df929ad4e5ad2dad9ffb"},{"sha":"064607883ad6d0275b919aff2c582e7e3008ff03","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Converted the delegating comparer (which took two comparers) to a comparer chain which can take any number of comparers.\n\nThis is in prep for removing the fallbacks built into the existing comparers and replacing them with other chained comparers.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/064607883ad6d0275b919aff2c582e7e3008ff03"},{"sha":"7f391a6dfe66843f4c49f12505eb54e07884c239","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"All sorts now fall back on path and then on title, except for title sort which just falls back on path.\n\n(Path sort, of course, just falls back on title.)","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/7f391a6dfe66843f4c49f12505eb54e07884c239"},{"sha":"bced4ce5192b979c7e97328731ddf678ec859ee5","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Cleaned up the using statements in a number of files changed while working on this branch.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/bced4ce5192b979c7e97328731ddf678ec859ee5"},{"sha":"40929a885765922f35f1f0251ee15d57161dd986","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Factored the new Comparers out into their own namespace and individual class files.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/40929a885765922f35f1f0251ee15d57161dd986"},{"sha":"f35898265f114a542cf1972e4a6e47abbeb38668","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Marked the out-commented sort functions as static to make their dependencies clear (and their Feature Envy code smell obvious.)","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/f35898265f114a542cf1972e4a6e47abbeb38668"},{"sha":"3e125dafef140660ec468c51a6f24e4e9398184c","author":{"name":"twopointzero","email":"b3f594e10a9edcf5413cf1190121d45078c62290@jeremygray.ca"},"message":"Added a workaround for an apparent bug whereby song select is asked to draw itself after being told to release its managed resources. To avoid the resulting crash for now (at least for one possible source of the crash, we now dispose song title and subtitle font objects during uninitialization instead of managed resource release.","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/3e125dafef140660ec468c51a6f24e4e9398184c"},{"sha":"c0e7aef3195879f4d37f156b6b3008e23d4d18ee","author":{"name":"AioiLight","email":"59bd0a3ff43b32849b319e645d4798d8a5d1e889@aioilight.space"},"message":"Merge pull request #194 from twopointzero/feature/song-sort-fixes\n\nFix song sort crash and properly sort songs within genres, but don't sort RANDOM or BACK","distinct":true,"url":"https://api.github.com/repos/AioiLight/TJAPlayer3/commits/c0e7aef3195879f4d37f156b6b3008e23d4d18ee"}]}
{"actor":{"display_login":"AioiLight"}}