New Session dialog TODO
The ok button must not be sensitive until a session name has been entered in the session name text box.
The advanced section should be hidden when the new session dialog is first instanciated.
Remove help button until a help 'framework' is in place.
The session location folder chooser button should contain a users preferred session directories.
clear button should be renamed to reset, which should reset dialog to the default values which are
- session name field is empty
- session location is the users home directory? or a preferred session directory but which one?
- session template is none
Only allow master and control channel counts between 1 and some sane number and not zero like it allows currently.
Insert into template file chooser dialog both the system template path and the users ~/.ardour/template path.
Bookmarks added to a file chooser dialog are seen across both file chooser dialogs, possibly all file chooser dialogs, can we avoid this and do we want to. For instance I probably don't want to see the template bookmarks when I am choosing a location for the session to be created.
None of the logic for determining which widgets should be sensitive based on the state of other widgets has been implemented. I was avoiding it because ultimately the session needs this logic too so I was thinking it should be implemented in one place and then the new session dialog can just modify the widgets state using signals that are emitted by this other object that contains the logic etc. For instance I can modify the channel count of the master channel even if the "create master channel" checkbox is unchecked and similarily if the "create master channel" checkbox is unchecked I can still select in the connection options "connect to Master Bus" even though I've indicated that one shouldn't be created.
When 'OK' is pressed if for some reason a new session couldn't be created then a contextual error message should be displayed, in which case the new session dialog should not be hidden so that the user can try and correct the cause of the error. For example if a user selected a session location and name that resulted in a path that already existed, then the error message should be something like "New session could not be created as there appears to be an existing session with that name in that location, please try a different session name or location." and then the user can immediately try again rather than having to re-open the new session dialog.
The layout could do with some work, thankfully glade makes this really easy and it can pretty much be done by anybody so as long as the dialog is functional and "bug free" I consider it a low priority.
In the advanced expander section there is what I see as two sections, a section that for things that because of the current design seemingly must be done at session creation time, which are creating master and control busses and a section for things that can also be done while session is loaded, which at this point just contains the track/bus connection options.
Currently the connection options section is contained within the new session dialog glade file, but they could be contained in a separate file in case they were to be re-used in some other dialog.