MLT  7.38.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 
29 namespace Mlt {
30 class Producer;
31 class Service;
32 class Playlist;
33 class Transition;
34 class Profile;
35 
42 {
43 public:
44  ClipInfo();
46  ~ClipInfo();
47  void update(mlt_playlist_clip_info *info);
48  int clip;
51  int start;
52  char *resource;
53  int frame_in;
54  int frame_out;
56  int length;
57  float fps;
58  int repeat;
59 };
60 
71 {
72 private:
74 
75 public:
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