Big modification - switch to macros for parent class access
[melted] / src / framework / mlt_playlist.h
index 419bdc5..d9e974c 100644 (file)
@@ -42,9 +42,28 @@ typedef struct
 }
 mlt_playlist_clip_info;
 
+/** Private definition.
+*/
+
+typedef struct playlist_entry_s playlist_entry;
+
+struct mlt_playlist_s
+{
+       struct mlt_producer_s parent;
+       struct mlt_producer_s blank;
+
+       int size;
+       int count;
+       playlist_entry **list;
+};
+
 /** Public final methods
 */
 
+#define MLT_PLAYLIST_PRODUCER( playlist )      ( &( playlist )->parent )
+#define MLT_PLAYLIST_SERVICE( playlist )       MLT_PRODUCER_SERVICE( MLT_PLAYLIST_PRODUCER( playlist ) )
+#define MLT_PLAYLIST_PROPERTIES( playlist )    MLT_SERVICE_PROPERTIES( MLT_PLAYLIST_SERVICE( playlist ) )
+
 extern mlt_playlist mlt_playlist_init( );
 extern mlt_producer mlt_playlist_producer( mlt_playlist self );
 extern mlt_service mlt_playlist_service( mlt_playlist self );