From: Florian J. <flo...@we...> - 2011-07-30 17:44:38
|
Hi i've commited a first POC to the newly created ^/branches/mdi-proofofconcept branch. (you probably should create the build directory from scratch, even if svn-switching; you anyway need to recompile almost everything because i changed app.h and cobject.h, and from my experience you're experiencing very strange bugs otherwise) it's hacked together in a really short time and thus quite buggy. however it already shows how the "dynamic toolbar/menu" stuff will work. try opening muse, creating some part in the arranger, opening a ScoreEdit and after that a PianoRoll (in that order!). Then arrange the windows so you can see and access both, and switch between them around. You will see that parts of the menu bar, and also the toolbars will change. I'm planning to make the toolbars remember their state (hidden or not, position) on a per-window-class basis, and to somehow make the menus more similar (that is, the menu bar itself won't change when changing windows, only the menus change). The arranger will be a dedicated window (then it will regain its controls again ;) ). There is a bug, making muse show the "Marker window"'s controls when no other window is selected. also, i'd prefer if "defocus the muse main window" would NOT mean "defocus the active child" as well; atm, if you defocus muse, the menu gets much smaller. other bugs are that you only can resize most windows on the top or left edge or topleft corner, that the pianoroll doesn't show the controls when started (it does, however, when switching to another window and back). then, when switching between windows, the toolbar's height changes; i'll maybe make the toolbar's height fixed (which however would waste a bit space, but not much), optionally of course. then i'll add window arrangement functions like "Cascade", "Tile" etc. for finding out the advantage of this concept over muse's current sdi concept, try the following: create MIDI two tracks and one part for each track think of the first track as "melody", of the second as "harmony"; now, given that you already have some harmony, but now need a melody, and given that you prefer reading notes in a score, but want to enter new notes in a pianoroll (which is most convenient to me) in new muse, you can open the harmony part in a score editor, and the melody part in a pianoroll editor. now you hide the arranger (which will be a window later), and arrange the windows in a 1x2-grid (menu->arrange->some menu entry will do that soon). you now have always your harmonics in view, and can easily edit your melody; and in case you need to change your harmony at some location, you simply go to the score edit window, change the harmony, and go on. in old muse, you'd have to arrange the two created toplevel windows by hand, because your window manager doesn't know which windows you need and which not. after arranging them, you will waste valueable space, because you have one unnecessary menu bar and probably (on my screen) two unneccessary toolbars in the score edit (that's almost one stave's height!) of course, you could make the pianoroll window bigger so it overlaps the score window, hiding these unneccessary controls. but this is a) inconvenient (compared to menu->arrange windows->foo) and b) makes it harder to quickly edit your harmony, because you have to select the score window by clicking right into it (remember, you've hidden menu, tool- and titlebar), having to hope that you don't destroy some note. if you prefer to work in a fullscreen window, and always worked in a fullscreen window with old muse, new muse can do exactly that even more comfortable. you simply open the editor you need and maximize it. this will provide you *exactly* the same interface as with old muse, except that you have an additional "File", "Settings" and "Help" menu. these don't take away space, but are useful when you quickly want to save, for example. in old muse, you'd have to switch back and forth until you found the main window, in new muse that's one click. once i've done the "fixed menus" stuff, there will be an additional advantage: you don't have to remember five different menu layouts for five different editors, but menu is always aligned in the same way on the top of the screen if you then decide that you don't need muse right now, because you want to check your mails, or set up some external synthesizer, you can simply minimize ONE window. in old muse, you have to minimize all windows you've opened. also, your task bar looks nicer with only one muse instance and not so scattered, which makes it easier to find the non-muse-window you want. switching back to muse is also easier, because you don't have to guess which of the five muse windows is your current working window, but simply click on the one muse main window, which still has your working window active. i hope you see the advantages of this concept. i think we really should add it permanently to muse, maybe even as only interface (if a two-i.face-solution gets too complicated), because everything possible with old muse is possible with new muse plus some extra goodies ;) please tell me what you think, give tips for improving if you have an idea for a two-i.face-solution, please tell me... my current ideas aren't quite well-engineered greetings flo |