view edtlobj.cpp @ 397:9993873ff655

More work towards editor.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 19 Oct 2012 07:22:09 +0300
parents 05e85401480a
children 2fdf440ea66a
line wrap: on
line source

//
// Wrapper class for DMTimeline data
// (C) Copyright 2012 Matti 'ccr' Hämäläinen <ccr@tnsp.org>
//
#include "edtlobj.h"
#include "dmres.h"


TimelineObject::TimelineObject()
{
    dmTimelineNew(&tl, "Demo");
    changed = 0;
}


TimelineObject::TimelineObject(TimelineObject *obj)
{
    changed = 0;
    filename = obj->filename;
    dmCopyTimeline(obj->tl, &tl);
}


TimelineObject::~TimelineObject()
{
    dmFreeTimeline(tl);
}


int TimelineObject::load(QString mfilename)
{
    QByteArray fnba = mfilename.toUtf8();
    DMResource *res;
    if ((res = dmf_create_stdio(fnba.data(), "rb")) == NULL)
        return DMERR_FOPEN;

    dmFreeTimeline(tl);
    int err = dmLoadTimeline(res, &tl);
    changed = 0;

    dmf_close(res);
    filename = mfilename;
    return err;
}


int TimelineObject::save(QString mfilename)
{
    QByteArray fnba = mfilename.toUtf8();
    DMResource *res;
    if ((res = dmf_create_stdio(fnba.data(), "wb")) == NULL)
        return DMERR_FOPEN;

    int err = dmSaveTimeline(res, tl);
    changed = 0;

    dmf_close(res);
    return err;
}