MLT 7.40.0
Multimedia Framework
MltPlaylist.h
Go to the documentation of this file.
1
20#ifndef MLTPP_PLAYLIST_H
21#define MLTPP_PLAYLIST_H
22
23#include "MltConfig.h"
24
25#include <framework/mlt.h>
26
27#include "MltProducer.h"
28
29namespace Mlt {
30class Producer;
31class Service;
32class Playlist;
33class Transition;
34class Profile;
35
42{
43public:
44 ClipInfo();
46 ~ClipInfo();
47 void update(mlt_playlist_clip_info *info);
48 int clip;
51 int start;
52 char *resource;
56 int length;
57 float fps;
58 int repeat;
59};
60
71{
72private:
74
75public:
76 Playlist();
77 Playlist(Profile &profile);
78 Playlist(Service &playlist);
79 Playlist(Playlist &playlist);
81 Playlist(mlt_playlist playlist);
82 virtual ~Playlist();
83 virtual mlt_playlist get_playlist();
84 mlt_producer get_producer() override;
86 int count();
88 int clear();
90 int append(Producer &producer, int in = -1, int out = -1);
92 int blank(int out);
94 int blank(const char *length);
95 int clip(mlt_whence whence, int index);
97 int current_clip();
99 Producer *current();
102 ClipInfo *clip_info(int index, ClipInfo *info = NULL);
103 static void delete_clip_info(ClipInfo *info);
105 int insert(Producer &producer, int where, int in = -1, int out = -1);
107 int remove(int where);
109 int move(int from, int to);
111 int reorder(const int *indices);
113 int resize_clip(int clip, int in, int out);
115 int split(int clip, int position);
117 int split_at(int position, bool left = true);
119 int join(int clip, int count = 1, int merge = 1);
121 int mix(int clip, int length, Transition *transition = NULL);
122 int mix_in(int clip, int length);
123 int mix_out(int clip, int length);
125 int mix_add(int clip, Transition *transition);
127 int repeat(int clip, int count);
129 Producer *get_clip(int clip);
131 Producer *get_clip_at(int position);
133 int get_clip_index_at(int position);
135 bool is_mix(int clip);
137 bool is_blank(int clip);
139 bool is_blank_at(int position);
141 void consolidate_blanks(int keep_length = 0);
143 Producer *replace_with_blank(int clip);
144 void insert_blank(int clip, int out);
145 void pad_blanks(int position, int length, int find = 0);
147 int insert_at(int position, Producer *producer, int mode = 0);
148 int insert_at(int position, Producer &producer, int mode = 0);
150 int clip_start(int clip);
151 int clip_length(int clip);
152 int blanks_from(int clip, int bounded = 0);
153 int remove_region(int position, int length);
154};
155} // namespace Mlt
156
157#endif
#define MLTPP_DECLSPEC
MltConfig.h - Convenience header file for all mlt++ objects Copyright (C) 2004-2026 Meltytech,...
Definition MltConfig.h:33
Metadata for a single clip within a Playlist.
Definition MltPlaylist.h:42
Producer * cut
Definition MltPlaylist.h:50
int repeat
Definition MltPlaylist.h:58
float fps
Definition MltPlaylist.h:57
char * resource
Definition MltPlaylist.h:52
int clip
Definition MltPlaylist.h:48
int start
Definition MltPlaylist.h:51
int length
Definition MltPlaylist.h:56
int frame_out
Definition MltPlaylist.h:54
int frame_count
Definition MltPlaylist.h:55
int frame_in
Definition MltPlaylist.h:53
Producer * producer
Definition MltPlaylist.h:49
C++ wrapper for mlt_playlist — a sequential list of clips.
Definition MltPlaylist.h:71
mlt_playlist instance
Definition MltPlaylist.h:73
C++ wrapper for mlt_producer — origin of audio/video data.
Definition MltProducer.h:46
C++ wrapper for mlt_profile — video format parameters.
Definition MltProfile.h:45
C++ wrapper for mlt_service — abstract base for all MLT services.
Definition MltService.h:47
C++ wrapper for mlt_transition — blends two tracks together.
Definition MltTransition.h:45
header file for lazy client and implementation code :-)
mlt_whence
The relative time qualifiers.
Definition mlt_types.h:224
MLT C++ wrapper Copyright (C) 2015-2026 Meltytech, LLC.
Definition MltAnimation.h:27
structure for returning clip information from a playlist entry
Definition mlt_playlist.h:33
Playlist class.
Definition mlt_playlist.h:73
Producer abstract service class.
Definition mlt_producer.h:71