+/** \brief Track class used by mlt_multitrack_s
+ */
+
+struct mlt_track_s
+{
+ mlt_producer producer;
+ mlt_event event;
+};
+
+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 */
+ struct mlt_producer_s parent;
+ mlt_track *list;
+ int size;
+ int count;
+};
+
+#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 ) )