-/*
- * mlt_multitrack.h -- multitrack service class
- * Copyright (C) 2003-2004 Ushodaya Enterprises Limited
- * Author: Charles Yates <charles.yates@pandora.be>
+/**
+ * \file mlt_multitrack.h
+ * \brief multitrack service class
+ * \see mlt_multitrack_s
+ *
+ * Copyright (C) 2003-2009 Ushodaya Enterprises Limited
+ * \author Charles Yates <charles.yates@pandora.be>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#include "mlt_producer.h"
-/** Private definition.
-*/
+/** \brief Track class used by mlt_multitrack_s
+ */
struct mlt_track_s
{
typedef struct mlt_track_s *mlt_track;
+/** \brief Multitrack class
+ *
+ * A multitrack is a parallel container of producers that acts a single producer.
+ *
+ * \extends mlt_producer_s
+ * \properties \em log_id not currently used, but sets it to "mulitrack"
+ */
+
struct mlt_multitrack_s
{
- /* We're extending producer here */
+ /** We're extending producer here */
struct mlt_producer_s parent;
mlt_track *list;
int size;
int count;
};
-/** Public final methods
-*/
-
#define MLT_MULTITRACK_PRODUCER( multitrack ) ( &( multitrack )->parent )
#define MLT_MULTITRACK_SERVICE( multitrack ) MLT_PRODUCER_SERVICE( MLT_MULTITRACK_PRODUCER( multitrack ) )
#define MLT_MULTITRACK_PROPERTIES( multitrack ) MLT_SERVICE_PROPERTIES( MLT_MULTITRACK_SERVICE( multitrack ) )