Disko Forum logo Login  |  Register  |  Lost Password
<< Start < Prev 1 2 Next > End >>
Pls elaborate MMSSwitcher role!

alanz
Posts: 21
graphgraph

Pls elaborate MMSSwitcher role! 6 Years, 1 Month ago  
Hi,

Could someone elaborate MMSSwitcher role in DISKO? There are many elements inside it.

Best regards,
Alan
 
  The administrator has disabled public write access.
Pls elaborate MMSSwitcher role!

Jens
Admin
Posts: 12
graphgraph

Re:Pls elaborate MMSSwitcher role! 6 Years, 1 Month ago  
Hi Alan,

I have tried to describe it.

Please take a look at
http://diskohq.org/index.php/tutorials/fsid/16-fsid-chapter-10

Please let me know, if you have further questions.

Best regards,
Jens
 
  The administrator has disabled public write access.
Pls elaborate MMSSwitcher role!

alanz
Admin
Posts: 21
graphgraph

Re:Pls elaborate MMSSwitcher role! 6 Years, 1 Month ago  
Hi, Jens,

After preliminary analysis on Morphine.TV and Disko, I have the following questions :

1. From the process logic, I can see that Switcher in Morphine.TV handle the titleBar, InfoBar, and menuBar refresh. So any plugins which involve infoBar (At least, I can see at this moment in Music Plugin), it will transfer its local infoBar object to Switcher to handle its manipulation. Could you elaborate the total process associated with the components maintained by Switcher on creation, register, switching, forward events and etc.? For example, Music Play Plugin create a infoBar instance, how register this Music Plugin local inst to Switcher, and how Switcher to show this infoBar at the proper time, how forward events to Music Plugin to handle?

2. Inside a plugin, there exist several windows such as previewWindow, mainWindow, errorWindow, menuBar, detailWindow etc.,some of them are instantiated by Switcher, or by local dm, or by local dmError. I know why Switcher involves, but why exist dm and dmError but not only dm? Could you elaborate the flow control from MVC perspective for a plugin component in running/active state?

Best regards and thank you very much!

Alan
 
  The administrator has disabled public write access.
Pls elaborate MMSSwitcher role!

Jens
Admin
Posts: 12
graphgraph

Re:Pls elaborate MMSSwitcher role! 6 Years, 1 Month ago  
Hi Alan,

okay, you mean the Switcher in Morphine.TV and not the default MMSSwitcher in Disko.

This is historical grown

The first Switcher was implemented in Morphine.TV because it was the first application based on Disko framework. Later we have implemented the mmsInit() and registerSwitcher() in the mmscore lib to make it a lot easier to initialize an application.

In the next release of Morphine.TV we should change to mmsInit() and registerSwitcher(). This is not a question about the functionality of the Switcher. It is only a question about to use the right API.

Under http://diskohq.org/index.php/tutorials/fsid/16-fsid-chapter-10 i have added an chapter 10.5.


To your questions about the Morphine.TV switcher:

With loadPreviewDialog() and loadInfoBarDialog() you can set one or more plugin-specific dialogs to the switcher. It is recommended to have at least one preview dialog window. A plugin-specific infobar window is not required.
This preview and infobar windows are child windows within the Switcher windows.

The Switcher does not show()/hide() the plugin-specific windows. This is the task of each plugin within its context. But inside the loadPreviewDialog() and loadInfoBarDialog() methods, the Switcher connects different callbacks to the loaded child windows. So the Switcher will be informed if a plugin is calling show()/hide() to such windows. So the Switcher can react.

OSD and Central plugins have a showPreview() and show() method. This both methods will be called by the Switcher.
If showPreview() is called (if user changes the selection in the switcher menu), the plugin should show() one of its preview windows and return true. If it returns false, the Switcher will display an error preview window.
If show() is called (if user is choosing a plugin), the plugin should show() one of its Main or Root windows or can show() another preview window (see Weather Plugin). If it returns false, the Switcher will be informed that it cannot switch to the plugin.

The switcher does not send events to a plugin. The event interface is designed to send events between different plugins using onEvent() plugin interface method. E.g. a Backend plugin will inform a Central plugin that something is happend in the system (DVD inserted...).

XML dialogs will be loaded with use of MMSDialogManager. One dialog manager is working for one window.
What informations do you need for this matter?

Best regards
Jens
 
  The administrator has disabled public write access.
Pls elaborate MMSSwitcher role!

alanz
Admin
Posts: 21
graphgraph

Pls elaborate the processing flow of MMSEvent*! 6 Years ago  
Hi, Jens,

I attach the Class Diagram associated with MMSEvent, MMSEventSignupManager, MMSEventDispatcher and etc. Could you explain the Event processing flow inside Disko? And how about the input events from DirectFB?

Best regards,
Alan Zhang
 
  The administrator has disabled public write access.
Pls elaborate MMSSwitcher role!

Jens
Admin
Posts: 12
graphgraph

Re:Pls elaborate the processing flow of MMSEvent*! 6 Years ago  
Hi Alan,

i cannot see any class diagram .
Where is it?

Best regards
Jens
 
  The administrator has disabled public write access.
<< Start < Prev 1 2 Next > End >>
Powered by FireBoard
get the latest posts directly to your desktop