← Back to team overview

openshot.developers team mailing list archive

Re: Preferences/settings

 

Good question.  OpenShot uses many custom python classes to represent a
video project.  This is what OpenShot uses to iterate through tracks, clips,
etc...  When a project is "saved" (i.e. osp file), I serialize the Python
objects into a binary file.  When you "open" a video project, I re-inflate
the binary file back into Python objects.

When ever I need to render video to the screen or to a file, I generate MLT
XML from my Python objects, and then load that XML into the MLT object
model.  And thus... we get video!

-Jonathan


On Mon, Sep 21, 2009 at 3:22 PM, Olivier Girard <eolinwen@xxxxxxxxx> wrote:

> Hello Jonathan
>
> i don't understand something.
> Where is the entire schema of a video project. In the XML 's Mlt or in the
> binary serialized structure ?
> And how is it created ?
> Olivier
>
> 2009/9/21 Andy Finch <we.rocked.in79@xxxxxxxxxxxxxx>
>
> Yes, at this point I don't think I'd like to go near video project schema!
>>
>> Andy.
>>
>> 2009/9/21 Jonathan Thomas <jonathan.oomph@xxxxxxxxx>
>>
>> Hi Andy!  I agree with the idea of putting the config file in the
>>> ~/.openshot folder.  That makes perfect sense.  However, I wanted to point
>>> out that this config file is in no way related to the overall data structure
>>> of OpenShot.   XML is a good format for this config file, but it's only
>>> going to store "config" settings... not the entire schema of a video
>>> project.
>>>
>>> That should be a separate conversation . =)
>>>
>>> MLT has it's own XML specification that OpenShot complies to.  Also, the
>>> internal project structure in OpenShot is a binary serialized structure (for
>>> better or for worse).  Although, we can convert this into a ASCII-based file
>>> if needed.
>>>
>>> The MLT XML that OpenShot generates is ideal for transforming into other
>>> formats, reports, etc...  However, no work has been done on that front yet.
>>>
>>> Thanks,
>>> -Jonathan
>>>
>>>
>>>
>>> On Mon, Sep 21, 2009 at 1:52 PM, Helen McCall <
>>> wildnfree@xxxxxxxxxxxxxxxx> wrote:
>>>
>>>> Hello,
>>>>
>>>> I agree with TJ about putting the config in ~/.openshot for the
>>>> following reasons:
>>>>
>>>>  ~/.config is confined to only holding config files
>>>>  ~/.<app-name> is the conventional place to store configs and user data
>>>>            (typified by the use of ~/.evolution and ~/.mozilla)
>>>>
>>>>  As OpenShot matures, there will be a future need for a place to store
>>>>  user data such as user defined filters, transitions, masks, profiles,
>>>>  templates, etc. The logical place for this would be in ~/.openshot
>>>>
>>>> I agree with TJ about using a formal XML Schema for all OpenShot config
>>>> and project definitions.
>>>>
>>>> Apart from the obvious benefit of having a well structured and ordered
>>>> dataset, with standardised methods of accessing it (important for future
>>>> developers on OpenShot), There are a whole host of other benefits from
>>>> using an established XML library and our own XML Schema.
>>>>
>>>> One benefit will be to make it easier in future to exchange data with
>>>> other apps (maybe Blender).This use is central to the ethos of XML.
>>>>
>>>> Another benefit will be to make it easier to develop future plugins such
>>>> as the StoryBoard system I would like to design when we have got
>>>> OpenShot to full release.
>>>>
>>>> Another would be to improve the useability for prosumer users by
>>>> enabling them to generate production reports for clients.
>>>>
>>>> Many many more benefits can come from using XML.
>>>>
>>>> If I work with Andy to develop a formal XML Schema for OpenShot, it will
>>>> give me some much needed additional practice in designing and using XML
>>>> Schemas. I have, as TJ mentions, been studying the subject and started
>>>> developing Schemas for another project related to the aims and
>>>> objectives I have for the circus company.
>>>>
>>>> Best wishes, Helen
>>>>
>>>>
>>>>
>>>>
>>>> On Mon, 2009-09-21 at 12:53 +0100, TJ wrote:
>>>> > On Mon, 2009-09-21 at 10:15 +0100, Andy Finch wrote:
>>>> > > I'm looking to start work on implementing the first lot of
>>>> preferences
>>>> > > into Openshot. There seems to be 2 ways to go - either use GCONF, or
>>>> > > follow the freedesktop.org recommendation and use a config file in
>>>> > > ~/.config/openshot, with XDG being able to pick up the location of
>>>> the
>>>> > > settings file.
>>>> >
>>>> > I'd suggest going the XDG route since gconf is so gnome-centric. Id
>>>> also
>>>> > suggest using an XML schema and an xml library to read/write it.
>>>> >
>>>> > There are already far too many arbitrary text and binary
>>>> > configuration-file layouts and it would be a shame to add another to
>>>> the
>>>> > stew :)
>>>> >
>>>> > Helen's getting some experience of designing XML schemas so it might
>>>> be
>>>> > something she can define.
>>>> >
>>>> > There are no packaging issues unless there is an intention to ship
>>>> > package-default settings.
>>>> >
>>>> > In that case they should be installed to "/usr/share/openshot/config/"
>>>> > or similar (by the package) and the application should copy from there
>>>> > into the user's home directory if, when it starts, the file is not
>>>> > there. I'd suggest putting it in "~/.openshot/".
>>>> >
>>>> >
>>>> > _______________________________________________
>>>> > Mailing list: https://launchpad.net/~openshot.developers<https://launchpad.net/%7Eopenshot.developers>
>>>> > Post to     : openshot.developers@xxxxxxxxxxxxxxxxxxx
>>>> > Unsubscribe : https://launchpad.net/~openshot.developers<https://launchpad.net/%7Eopenshot.developers>
>>>> > More help   : https://help.launchpad.net/ListHelp
>>>> >
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~openshot.developers<https://launchpad.net/%7Eopenshot.developers>
>>>> Post to     : openshot.developers@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~openshot.developers<https://launchpad.net/%7Eopenshot.developers>
>>>> More help   : https://help.launchpad.net/ListHelp
>>>>
>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~openshot.developers<https://launchpad.net/%7Eopenshot.developers>
>>> Post to     : openshot.developers@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~openshot.developers<https://launchpad.net/%7Eopenshot.developers>
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~openshot.developers<https://launchpad.net/%7Eopenshot.developers>
>> Post to     : openshot.developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~openshot.developers<https://launchpad.net/%7Eopenshot.developers>
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
>
> --
> Cenwen un elfe sur la banquise/ an elve on the ice
> Mon blog perso :
>

References