Hi everyone!
Disclaimer: Firstly I must confess that I haven't read a single line of MP's source code so forgive me if this proves to be a moot point.
I've been thinking about adding an LCD and some accompanying navigational buttons to my HTPC. Having read the LCD thread it seems like implementing support for LCDs (and other devices) isn't quite straightforward.
Then a thought popped up! Have you, the developers of MP, considered using the Model-View-Controller (MVC) design pattern for MP's GUI? Using MVC would facilitate implementing support for several input devices and output devices. An output device can be provided with one default view and several, possibly user defined, alternative views.
Examples of input devices:
- Keyboard
- Remote control
- (case) Buttons
Examples of output devices:
- Screen
- LCD
- LEDs
An Excel spreadsheet for example has underlying data (the model) and several views (editing grid, bar graphs etc.). Updates made to the underlying data is automatically reflected in all open views. I'm not saying that Excel implements MVC (have no clue really!) but the principle is the same.
It is my belief that implementing MVC would ease the tasks of implementing new input/output devices as well as enabling user customization of MP's GUI.
For a primer on MVC visit http://ootips.org/mvc-pattern.html.
Regards,
Nils.
Disclaimer: Firstly I must confess that I haven't read a single line of MP's source code so forgive me if this proves to be a moot point.
I've been thinking about adding an LCD and some accompanying navigational buttons to my HTPC. Having read the LCD thread it seems like implementing support for LCDs (and other devices) isn't quite straightforward.
Then a thought popped up! Have you, the developers of MP, considered using the Model-View-Controller (MVC) design pattern for MP's GUI? Using MVC would facilitate implementing support for several input devices and output devices. An output device can be provided with one default view and several, possibly user defined, alternative views.
Examples of input devices:
- Keyboard
- Remote control
- (case) Buttons
Examples of output devices:
- Screen
- LCD
- LEDs
An Excel spreadsheet for example has underlying data (the model) and several views (editing grid, bar graphs etc.). Updates made to the underlying data is automatically reflected in all open views. I'm not saying that Excel implements MVC (have no clue really!) but the principle is the same.
It is my belief that implementing MVC would ease the tasks of implementing new input/output devices as well as enabling user customization of MP's GUI.
For a primer on MVC visit http://ootips.org/mvc-pattern.html.
Regards,
Nils.