Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| wiki:user:emrum:jack_session_2_draft [2011/07/10 19:02] – updated emrum | wiki:user:emrum:jack_session_2_draft [2011/07/20 17:58] (current) – emrum | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Jack-Session v2.0 - brainstorm ====== | ||
| + | ===== jack-session v1.0 ===== | ||
| - | ===== Jack-Session v2.0 - brainstorm ===== | + | Links and references to the current 1.0 API. |
| - | \\ | + | * [[http:// |
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | ===== Brainstorm ===== | ||
| Be welcome, to add your opinion and idea below. | Be welcome, to add your opinion and idea below. | ||
| Line 24: | Line 33: | ||
| \\ | \\ | ||
| - | === proposal jack-session v2.0 === | + | ===== Introduce new events ===== |
| <code C> | <code C> | ||
| Line 31: | Line 40: | ||
| enum JackSessionEventType { | enum JackSessionEventType { | ||
| ... | ... | ||
| - | JackSessionCloseAndLoadNew = 4, | + | JackSessionCloseAndLoadNew = 4, // load a new session, without quitting applications (if possible) |
| - | JackSessionCloseWithoutQuit = 5 | + | JackSessionCloseWithoutQuit = 5, // close session-document without quitting applications |
| + | JackSessionCloseWithQuit = 6 // close the session and quit everything | ||
| } | } | ||
| Line 60: | Line 70: | ||
| + | ===== Replace the command_line with an appID (cross-platform) ===== | ||
| - **saving a command line with the session is a very bad idea.** | - **saving a command line with the session is a very bad idea.** | ||
| Line 140: | Line 151: | ||
| \\ | \\ | ||
| - | === Jack-Session - Best Practice Section === | + | ===== (Multi) Session Handling ===== |
| + | \\ | ||
| + | |||
| + | \\ | ||
| + | Can multi-session handling work reliably ? \\ | ||
| + | Is it too complicated ? \\ | ||
| + | Can a single-session be open multiple times ? \\ | ||
| + | \\ | ||
| + | The current behavior, to me, feels strange and unexpected: | ||
| + | Opening a running session (twice) opens another set of windows. | ||
| + | What's that ? Do I have a " | ||
| + | It is very opaque, unclear, which window belongs to which session. | ||
| + | Is that how it should be, is that what we'd want ? | ||
| + | \\ | ||
| + | \\ | ||
| + | An idea:\\ | ||
| + | Add a sessionID. \\ | ||
| + | The client would allow selecting the session it belongs to (with a drop-down-box). This would allow multiple sessions to be open. | ||
| + | Every session should have an associated color (light, water-color) and a short description string (user-assigned), | ||
| + | \\ | ||
| + | For example I could have a " | ||
| + | \\ | ||
| + | In qjackctl, there would be an option " | ||
| + | |||
| + | \\ | ||
| + | \\ | ||
| + | **Store connections: | ||
| + | \\ | ||
| + | * Every saved sessions stores all connections currently active (when hitting save). | ||
| + | \\ | ||
| + | **Restoration of connections** in a multi-session environment. | ||
| + | \\ | ||
| + | * Start with no connections, | ||
| + | * Load first session | ||
| + | * Load a second session => the same | ||
| + | * __Restore additionally__ saved connections __if the user requests__, from an already loaded session. | ||
| + | \\ | ||
| + | Every app has a drop-down-box, | ||
| + | \\ | ||
| + | \\ | ||
| + | |||
| + | ===== Jack-Session - Best Practice Section | ||
| \\ | \\ | ||
| Line 151: | Line 203: | ||
| * don't use single character parameters in the command_line | * don't use single character parameters in the command_line | ||
| \\ | \\ | ||
| - | * apps are not allowed to auto-connect jack-ports | + | * with the session, applications should **restore their window position** and state (maximized, curled up, minimized, etc.) |
| \\ | \\ | ||
| * apps are not allowed to auto-connect jack-ports, when using jack-session (user option) | * apps are not allowed to auto-connect jack-ports, when using jack-session (user option) | ||
| Line 160: | Line 212: | ||
| \\ | \\ | ||
| - | === Comments and additional ideas === | + | ===== Comments and additional ideas ===== |
