[MPlayer-G2-dev] Re: G2 CLI/GUI and config API again - a little request.

Andriy N. Gritsenko andrej at lucky.net
Tue May 13 12:06:40 CEST 2003


    Hi, Arpi!

Sometime (on Tuesday, May 13 at 11:29) I've received something...
>>     Get rid of your bad spirit - join a party, go to the nature, see the
>> nice movie, etc. - do what you want. :)  It's bad to be in bad mood. :)

>you're right...

    So go for it! :)

>>     BTW, I already tired of all that - you're saying your thought, I'm
>> trying to do it, asking for details, you're aborting what you said before
>> - if that will keep forever, I'll just give up. I really tired, sorry. :(

>instead of running to implement every sentence i said, we should first
>discuss the goals and the possible ways of implementation, then select the
>one that everyone accepts. this way no complaints later, or they can be
>silently ignored ;)

>i'm thinking about several things, i'll collect and write down it here at
>afternoon, after work.

>the problem was(is) that i don't really see what an UI/GUI needs, but you
>and others already help a lot by telling these, and posisble problems which
>may arrise if we go for my way of implementations.

    BTW, I've already spent enough the time to understand concept of UI
there. UI (being it commandline parser, streaming server, text ui or gui)
is one of the most valuable parts of any application. I'll attempt to
describe what I mean.
    When we start application, it does:
1) prepare context;
2) setup all configuration:
  - check availability of components (list of codecs/modules/etc.);
  - load config variables if available;
3) main loop:
  - run parser/UI, get what you want to do;
  - run play/encode/etc. - in depent what command was get by parser/UI;
  - continue;

    You can easily check out it's what MPlayer or MEncoder (or something
else in the future) exactly does. And it's conceptual (may be for any
application in the world at all too:) - so parser/UI _always_ is first
and execution (play/encode/start/stop/exit) is second stage of the main
loop. So any application has to have appropriate input parser (I've even
called it control before) and it is integral part of that application.
For example, MPlayer has two parsers - config and commandline, gui-driven
player has also two - config and Gui, some tools may have one or three or
even more. So don't forget about that - we _really_ need a strong API for
that, it have to get context of main loop to pass it to second stage
after parsing and that context has to have own configuration (since that
application may have more than one main loop). Also note that owner of
context is main loop, first stage will change all in it, second stage
will apply the changes. It's the main concept of applications we get
before, now, and further. I hope I've helped you again. :)

    With best wishes.
    Andriy.



More information about the MPlayer-G2-dev mailing list