[openbeos] Re: [glasselevator] ShowImage Bloat?
- From: "Andrew Bachmann" <shatty@xxxxxxxxxxxxx>
- To: glasselevator-talk@xxxxxxxxxxxxx
- Date: Mon, 12 Jan 2004 20:47:57 -0800 PST
Hello all,
I feel that I want to apologize since I feel that this continued issue in
ShowImage could be
addressed by something that I have been working on for some time but have not
yet completed.
I wanted to wait to bring it up when I had a nice comprehensive proposal, but
perhaps now is
the right time instead. Please send all replies to the glass elevator list as
this is an R2 design
issue.
First a bit of motivation: there are a number of applications that incorporate
some sort of a list of
files to process, these include: slideshow apps, media apps. A quick short
list would include:
SoundPlay, Cl-Amp, VideoLAN Client, ImageShow, etc., and now OBOS ShowImage.
Each of these applications provides its own method for constructing and
manipulating the list of
files. Some methods, such as SoundPlay are quite comprehensive, with sorting,
randomizing, drag
and drop editing, and saving the list as its own file. Others are less
comprehensive, such as the
OBOS ShowImage or the VideoLAN Client playlist.
This is unfortunate from a number of perspectives: that of the app coder, the
end user, user
interface design, and an independent aesthetic perspective. (at least according
to my aesthetic)
My thought for addressing this was to have a scripting suite (a la
"suite/vnd.Be-application",
"suite/vnd.Be-looper") and an associated "playlist" edit application. The edit
application would
be able to manipulate the list without starting the application, and all lists
would have a
common mimetype. The playlist could be targeted to any application that
handled files of the
types that were on the playlist. The playlist application would support a
variety of
manipulations (a la SoundPlay/CL-Amp). It would also support various criteria
for advancing
through the playlist. (play for 5 seconds, play until "complete", random order,
sequential order,
etc.)
The playlist application would use the scripting suite to control and
communicate with the
target application. The burden on the application developer to support this
scripting suite
would be kept minimal. It would likely include a very small set of operations
such as:
1. set/clear a flag to mark whether files should be opened in their preferred
settings (dimensions,
for example) or in the current application settings.
2. accept a new file to replace the current file
3. notify the playlist application when the file is "completed"
4. show/hide application controls/menus
BApplication, BLooper, BHandler all provide their own suites and we could
potentially use a
new class to make implementing the suite easier for an application developer.
I do not have
much experience with suites so I have no concrete proposal related to this.
My goal was to have OBOS MediaPlayer be the first example of an application
implementing
this scripting api. To this end I made a version of a nplay interface some
time ago that
supported being controlled by an independent playlist application. It simply
used messaging
though and not the scripting api. I think the scripting api would have been a
more correct
choice.
Unfortunately, I still don't have the time to flush this out as I have taken on
other priorities. I
invite those who think that the approach may be promising to try to flush out
the details and
possible make a more concrete proposal or implementation. I think that I've
written most of
what I had worked out so far, but if someone has a question about this they can
feel free to ask
and if I left something out I'll try to clarify. As I stated in the beginning,
this isn't meant to be a
finished proposal by any means, and I am sure there are issues that need to be
addressed.
Andrew
- References:
- [openbeos] Re: Build Farm
- From: Eike Dehling
Other related posts:
- » [openbeos] Re: [glasselevator] ShowImage Bloat?
- [openbeos] Re: Build Farm
- From: Eike Dehling