Table of ContentsPost-Thorn Refactoring JobsWe're leaving a lot of messy things behind in the interest of getting the job done. These items (at least the items I have in mind as I'm creating this list) are pretty ugly in code terms, but don't affect end users much, if at all, and they require more fiddling than clean code justifies in the short term. Deprecated Parameter Area Layout ModesAn astronomer once went to Chile, never to be heard from again. Before he left his country of origin (America, I think), he submitted a patch to give RosegardenParameterArea the ability to switch between Classic and Tabbed layout modes. The tabbed mode put each of the SPB, TPB and IPB on different tabs, rather than stacking them vertically. This allowed each parameter box to have more vertical space without resorting to the use of scrollbars. The underlying purpose of this alternate arrangement was to make it possible to show more than n controllers at the same time in the IPB. This astronomer had need of a large number of MIDI controllers, and had no way to make them all available at the same time. This alternate arrangement was never popular, but it was necessary for a few. In Thorn, it is no longer necessary at all, because:
The Tabbed arrangement has never been re-implemented, and the guts of making it work again are commented out. It is time to remove all of that cruft and simplify all of this code back to something similar to what it was before all of this layout fiddling began. However, the layout switching code is deeply entrenched in a cascade of errors originating in RosegardenParameterArea. Going in to just remove all of this cruft is going to be a touchy job that requires some real thought to avoid subtle breakage. The “classic” layout mode that is currently the only functional mode is intact and working in spite of all this unused cruft, and I think it is wise to ignore this dusty closet full of junk until after Thorn. After that, I'd really like to see it cleaned up, and all the bugs hunted out of patching code across this empty cavity. "Mapped Studio"There's a whole big mapped objects and connections paradigm going on in the sequencer which we really don't use in the way it was (probably) originally intended and which complicates the code enormously, especially for plugin management. Replace it with something simple. And?I lost my train of thought for the other one I was going to throw in here. Oh well. |