Vamiga: Rethinking the Preferences panel

Created on 15 Apr 2020  ·  3Comments  ·  Source: dirkwhoffmann/vAmiga

In my opinion vAmiga will soon be stable enough to move from alpha testing to beta testing (first beta will be versioned v0.9). Because of that I’ve started to test stuff that I usually don’t use. Among this is running multiple emulator instances in parallel. By doing so, I’ve stumbled across a fundamental inconsistency about the handling of preferences items.

Right now, there are six different panels:

  • Roms
  • Hardware
  • Compatibility
  • Video
  • Emulator
  • Devices

The first three panels contain items that belong to the document level, meaning they are emulator specific and vary between emulator instances. The latter two contain items that belong to the application level, meaning they should apply to all instances. One can argue about the role of the Video items. Video settings could be seen as emulator specific or global (application level).

The problem is that vAmiga stores all preferences items in the document controller which means that all items are treated as document-level items. I think this should be changed, because it can create strange effects when running multiple emulator instances in parallel. E.g., there is an option called „Pause emulation while in background“. If this options had different values in different emulator instances, the effects would be pretty strange.

I think it might be best to split the Preferences panel into two separate panels. The first one will be accessible through the Application menu and comprise all application-level items. The second one will be accessible through the File menu and comprise all document-level items. I think it’s best to consider the Video pref items as application-level items. If we did this, the document-based items would precisely match the items that are stored in a snapshot. (Video settings are not part of a snapshot, because the core emulator doesn’t know anything about them.)

Summary:
The application preferences would comprise the following three panels:

  • General (old „Emulator“ panel)
  • Video
  • Input devices (old „Devices“ panel)

The emulator preferences would comprise the following three panels:

  • Roms
  • Hardware
  • Compatibility

When clicking the pref icon in the toolbar, the document-level preferences would open up (still as a sheet). The application-level preferences must be opened via the Application menu (or by pressing the usual key combo CTRL+,). They would open as a normal window (not as a sheet), because they are not bound to a specific emulator instance.

Makes sense 🤓? No 😲?

Info Question

Most helpful comment

because they already see the doc level prefs icon which might make them think that this is all they change

Yes, you're right. That's gonna happen.

It might be more convenient and transparent for the user to have a split toolbar button then 🤔:

Left icon: Wheel icon -> Brings up global application preferences window.
Right icon: Symbolized chip symbol -> Brings up the document-level emulator settings.

Once the pref icons have been split, the remaining document-level icons are exactly the hardware-related items. In other words: The document-level items are the hardware-configuration of the virtual machine (hence the HW icon in the toolbar).

All 3 comments

Huh a bit complicated have to take time and review this in detail ... I am heading to the settings panels now ... argh mac mini computer is not free harry potter movie is running ... does not work on old 2007 macbook pro (no metal) ... have to wait until harry finishes its first school year 🙄

.. look now hermine meets harry and ron the first time ...

Video pref items as application-level items

👍🏻

Summary:
The application preferences would comprise the following three panels:

    General (old „Emulator“ panel)
    Video
    Input devices (old „Devices“ panel)

The emulator preferences would comprise the following three panels:

    Roms
    Hardware
    Compatibility

👍🏾

When clicking the pref icon in the toolbar, the document-level preferences would open up (still as a sheet).

👍🏿

The application-level preferences must be opened via the Application menu (or by pressing the usual key combo CTRL+,). They would open as a normal window (not as a sheet), because they are not bound to a specific emulator instance.

👍🏿

Makes sense 🤓? No 😲?

absolutely.

But I fear a bit that people which are new to it might not looking for the app level prefs, because they already see the doc level prefs icon which might make them think that this is all they change. I thinked about it and one solution might be to place a link button in the doc level prefs pane which leads to the app level window, no ?

because they already see the doc level prefs icon which might make them think that this is all they change

Yes, you're right. That's gonna happen.

It might be more convenient and transparent for the user to have a split toolbar button then 🤔:

Left icon: Wheel icon -> Brings up global application preferences window.
Right icon: Symbolized chip symbol -> Brings up the document-level emulator settings.

Once the pref icons have been split, the remaining document-level icons are exactly the hardware-related items. In other words: The document-level items are the hardware-configuration of the virtual machine (hence the HW icon in the toolbar).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dirkwhoffmann picture dirkwhoffmann  ·  3Comments

dirkwhoffmann picture dirkwhoffmann  ·  4Comments

dirkwhoffmann picture dirkwhoffmann  ·  4Comments

dirkwhoffmann picture dirkwhoffmann  ·  3Comments

dirkwhoffmann picture dirkwhoffmann  ·  4Comments