11 #ifndef HAS_LIBLIVES_H
12 #define HAS_LIBLIVES_H
17 #define LIVES_VERSION_MAJOR 2
22 #define LIVES_VERSION_MINOR 4
27 #define LIVES_VERSION_MICRO 1
32 #define LIVES_CHECK_VERSION(major, minor, micro) (major > LIVES_VERSION_MAJOR || (major == LIVES_VERSION_MAJOR && (minor > LIVES_VERSION_MINOR || (minor == LIVES_VERSION_MINOR && micro >= LIVES_VERSION_MICRO))))
107 LIVES_CALLBACK_PRIVATE = 32768
126 #define LIVES_CHAR_ENCODING_DEFAULT LIVES_CHAR_ENCODING_UTF8
175 LIVES_INSERT_MODE_NORMAL
209 #include <inttypes.h>
221 void binding_cb (
lives_callback_t cb_type,
const char *msgstring, uint64_t
id);
312 std::string(str, pos, len) {}
316 template <
class InputIterator>
317 livesString (InputIterator first, InputIterator last,
344 typedef void *(*callback_f)(
void *);
354 typedef list<closure *> closureList;
355 typedef list<closure *>::iterator closureListIterator;
381 typedef bool (*private_callback_f)(_privateInfo *,
void *);
447 bool isValid()
const;
453 bool isReady()
const;
460 bool isPlaying()
const;
475 const player& getPlayer();
487 bool removeCallback(
ulong id)
const;
560 clip openFile(
livesString fname,
bool with_audio=
true,
double stime=0.,
int frames=0,
bool deinterlace=
false);
603 bool setInteractive(
bool setting);
618 bool deinterlaceOption();
656 closureList& closures();
658 void setClosures(closureList cl);
660 bool setPref(
int prefidx,
bool val)
const;
661 bool setPref(
int prefidx,
int val)
const;
662 bool setPref(
int prefidx,
int bitfield,
bool val)
const;
671 closureList m_closures;
682 void init(
int argc,
char *argv[]);
720 bool isValid()
const;
763 double playbackFPS();
791 int playbackAudioRate();
807 int audioSampleSize();
829 double audioLength();
837 int selectionStart();
862 bool setSelectionStart(
unsigned int start);
871 bool setSelectionEnd(
unsigned int end);
890 bool setIsBackground();
896 return other.m_uid == m_uid && m_lives == other.m_lives;
911 typedef vector<ulong> clipList;
912 typedef vector<ulong>::iterator clipListIterator;
933 bool isValid()
const;
965 bool save(
livesString name,
bool force_append=
false)
const;
980 unsigned int numClips()
const;
988 clip nthClip(
unsigned int n)
const;
997 int indexOf(
clip c)
const;
1010 return other.m_lives == m_lives;
1021 void update_clip_list(
void);
1045 bool isValid()
const;
1050 bool isPlaying()
const;
1056 bool isRecording()
const;
1066 void setSepWin(
bool setting)
const;
1072 bool sepWin()
const;
1080 void setFullScreen(
bool setting)
const;
1086 bool fullScreen()
const;
1096 void setFS(
bool setting)
const;
1121 bool setForegroundClip(
clip c)
const;
1130 clip foregroundClip()
const;
1141 bool setBackgroundClip(
clip c)
const;
1150 clip backgroundClip()
const;
1166 double setPlaybackStartTime(
double time)
const;
1180 int setVideoPlaybackFrame(
int frame,
bool background=
false)
const;
1197 double videoPlaybackTime(
bool background=
false)
const;
1210 double setAudioPlaybackTime(
double time)
const;
1225 double audioPlaybackTime()
const;
1235 double elapsedTime()
const;
1248 double setCurrentFPS(
double fps)
const;
1258 double currentFPS()
const;
1268 int currentAudioRate()
const;
1297 bool setPingPong(
bool setting)
const;
1308 bool pingPong()
const;
1317 bool resyncFPS()
const;
1324 return other.m_lives == m_lives;
1358 bool isValid()
const;
1384 int numMappedModes();
1395 int setCurrentMode(
int mode);
1413 bool setEnabled(
bool setting);
1431 int appendMapping(
effect e);
1444 bool removeMapping(
int mode);
1458 return other.m_key == m_key && m_lives == other.m_lives;
1487 bool isValid()
const;
1513 size_t size()
const;
1519 return other.m_lives == m_lives;
1589 bool isValid()
const;
1595 return other.m_idx == m_idx && m_lives == other.m_lives;
1626 bool isValid()
const;
1690 bool moveTo(
int track,
double time);
1725 bool isValid()
const;
1731 bool isActive()
const;
1740 bool setCurrentTrack(
int track)
const;
1750 int currentTrack()
const;
1762 double setCurrentTime(
double time)
const;
1774 double currentTime()
const;
1837 int addVideoTrack(
bool in_front)
const;
1845 int numVideoTracks()
const;
1852 int numAudioTracks()
const;
1886 block insertBlock(
clip c,
bool ignore_selection_limits=
false,
bool without_audio=
false)
const;
1973 clip render(
bool render_audio=
true,
bool normalise_audio=
true)
const;
1983 effect autoTransition()
const;
1992 bool disableAutoTransition()
const;
2004 bool setAutoTransition(
effect autotrans)
const;
2010 return m_lives == other.
m_lives;
2181 #endif // __cplusplus
2183 #endif //HAS_LIBLIVES_H
class multitrack multitrack
typedef
Definition: liblives.hpp:280
livesString currentAudioDir(const livesApp &lives)
Definition: liblives.cpp:2248
application is processing, commands will be ignored
Definition: liblives.hpp:65
Abort button clicked.
Definition: liblives.hpp:137
livesString tmpDir(const livesApp &lives)
Despite the name, this is the working directory for the LiVES application.
Definition: liblives.cpp:2253
lives_audio_source_t
Audio sources.
Definition: liblives.hpp:150
Reset button clicked.
Definition: liblives.hpp:138
8 bit locale file encoding
Definition: liblives.hpp:118
class "livesApp".
Definition: liblives.hpp:413
bool sepWinSticky(const livesApp &lives)
Definition: liblives.cpp:2329
No button clicked.
Definition: liblives.hpp:143
application is playing, only player commands will be responded to
Definition: liblives.hpp:64
sent when interface mode changes
Definition: liblives.hpp:102
class "player".
Definition: liblives.hpp:1035
sent when livesApp object is deleted
Definition: liblives.hpp:104
multitrack mode
Definition: liblives.hpp:53
bool audioFollowsVideoChanges(const livesApp &lives)
Definition: liblives.cpp:2309
bool(* appQuit_callback_f)(livesApp *, appQuitInfo *, void *)
Type of callback function for LIVES_CALLBACK_APP_QUIT.
Definition: liblives.hpp:396
bool operator==(const effect &other)
Definition: liblives.hpp:1594
lives_interface_mode_t mode
mode changed to
Definition: liblives.hpp:362
file chooser options for single video or audio file
Definition: liblives.hpp:41
bool setMtExitRender(const livesApp &lives, bool setting)
Definition: liblives.cpp:2344
bool operator==(const player &other) const
Definition: liblives.hpp:1323
lives_filechooser_t
Filechooser hinting types.
Definition: liblives.hpp:40
Audio source is external to LiVES.
Definition: liblives.hpp:153
bool operator==(const clip &other)
Definition: liblives.hpp:895
class "multitrack".
Definition: liblives.hpp:1714
sent when app quits
Definition: liblives.hpp:93
clip editor mode
Definition: liblives.hpp:52
Unknown / invalid.
Definition: liblives.hpp:161
lives_endian_t
Endian values.
Definition: liblives.hpp:73
Audio playback is through PulseAudio.
Definition: liblives.hpp:162
lives_insert_mode_t
Multitrack insert modes.
Definition: liblives.hpp:174
bool operator==(const effectKey &other)
Definition: liblives.hpp:1457
livesString currentVideoLoadDir(const livesApp &lives)
Definition: liblives.cpp:2243
livesApp instance is invalid
Definition: liblives.hpp:61
class block block
typedef
Definition: liblives.hpp:286
bool(* modeChanged_callback_f)(livesApp *, modeChangedInfo *, void *)
Type of callback function for LIVES_CALLBACK_MODE_CHANGED.
Definition: liblives.hpp:389
double maxFPS(const livesApp &lives)
Definition: liblives.cpp:2304
bool setAudioFollowsFPSChanges(const livesApp &lives, bool setting)
Definition: liblives.cpp:2324
int signum
signal which caused the app to exit, or 0 if the user or script quit normally.
Definition: liblives.hpp:370
file system encoding (UTF-8 on windows, local8bit on others)
Definition: liblives.hpp:119
int audioPlayerRate(const livesApp &lives)
Returns the audio rate for the player.
Definition: liblives.cpp:2278
Audio source is internal to LiVES.
Definition: liblives.hpp:152
class player player
typedef
Definition: liblives.hpp:274
sent when a frame is displayed
Definition: liblives.hpp:83
class "effectKey".
Definition: liblives.hpp:1344
Struct passed to appQuit callback.
Definition: liblives.hpp:369
lives_loop_mode_t
Player looping modes (bitmap)
Definition: liblives.hpp:194
class set set
typedef
Definition: liblives.hpp:248
list< livesString > livesStringList
typedef
Definition: liblives.hpp:298
lives_audio_player_t
Audio players.
Definition: liblives.hpp:160
Audio playback is through mplayer2.
Definition: liblives.hpp:166
sent after a clip is opened
Definition: liblives.hpp:95
class clip clip
typedef
Definition: liblives.hpp:253
Audio playback is through mplayer.
Definition: liblives.hpp:165
class "block".
Definition: liblives.hpp:1615
Yes button clicked.
Definition: liblives.hpp:142
application is ready for commands
Definition: liblives.hpp:63
class livesString livesString
typedef
Definition: liblives.hpp:292
inserted blocks gravitate to the left
Definition: liblives.hpp:185
sent after a clip set is opened
Definition: liblives.hpp:99
UTF-8 char encoding.
Definition: liblives.hpp:117
sent when a/v playback ends and there is recorded data for rendering/previewing
Definition: liblives.hpp:88
lives_dialog_response_t
Dialog response values.
Definition: liblives.hpp:131
#define LIVES_CHAR_ENCODING_DEFAULT
Default character encoding.
Definition: liblives.hpp:126
no looping
Definition: liblives.hpp:195
livesApp * m_lives
The linked LiVES application.
Definition: liblives.hpp:2020
user is previewing an operation, commands will be ignored
Definition: liblives.hpp:66
Unknown / invalid.
Definition: liblives.hpp:151
OK button clicked.
Definition: liblives.hpp:135
both video and audio loop continuously
Definition: liblives.hpp:196
Accept button clicked.
Definition: liblives.hpp:141
lives_callback_t
Callback types.
Definition: liblives.hpp:82
sent after a clip is closed
Definition: liblives.hpp:96
sent after a clip set is closed
Definition: liblives.hpp:100
class "set".
Definition: liblives.hpp:923
bool operator==(const set &other) const
Definition: liblives.hpp:1009
file chooser options for single audio file
Definition: liblives.hpp:42
bool isRealtimeAudioPlayer(lives_audio_player_t player_type)
Definition: liblives.cpp:2289
lives_char_encoding_t
Character encoding types.
Definition: liblives.hpp:116
livesApp instance is invalid
Definition: liblives.hpp:51
video keeps looping until audio playback finishes
Definition: liblives.hpp:197
bool audioFollowsFPSChanges(const livesApp &lives)
Definition: liblives.cpp:2314
class effect effect
typedef
Definition: liblives.hpp:268
bool operator==(const multitrack &other) const
Definition: liblives.hpp:2009
sent when record starts (TODO)
Definition: liblives.hpp:90
int rteKeysVirtual(const livesApp &lives)
Definition: liblives.cpp:2299
sent when a/v playback starts or clip is switched
Definition: liblives.hpp:84
lives_interface_mode_t
LiVES operation mode.
Definition: liblives.hpp:50
Retry button clicked.
Definition: liblives.hpp:136
class "clip".
Definition: liblives.hpp:700
unsigned long ulong
typedef
Definition: liblives.hpp:216
bool mtExitRender(const livesApp &lives)
Definition: liblives.cpp:2339
sent when record stops (TODO)
Definition: liblives.hpp:91
class "effectKeyMap".
Definition: liblives.hpp:1478
class effectKey effectKey
typedef
Definition: liblives.hpp:258
lives_status_t
LiVES operational status.
Definition: liblives.hpp:60
class "effect".
Definition: liblives.hpp:1546
Audio playback is through Sox.
Definition: liblives.hpp:164
lives_audio_source_t audioSource(const livesApp &lives)
Definition: liblives.cpp:2258
application is starting up; not ready
Definition: liblives.hpp:62
sent when a/v playback ends
Definition: liblives.hpp:85
class "livesString".
Definition: liblives.hpp:308
bool setAudioSource(const livesApp &lives, lives_audio_source_t asrc)
Set the audio source.
Definition: liblives.cpp:2264
bool operator==(const effectKeyMap &other) const
Definition: liblives.hpp:1518
class effectKeyMap effectKeyMap
typedef
Definition: liblives.hpp:263
Cancel button clicked.
Definition: liblives.hpp:140
Response not obtained.
Definition: liblives.hpp:134
Audio playback is thorugh Jack.
Definition: liblives.hpp:163
inserted blocks gravitate to the right
Definition: liblives.hpp:186
bool setSepWinSticky(const livesApp &lives, bool setting)
Definition: liblives.cpp:2334
bool(* objectDestroyed_callback_f)(livesApp *, void *)
Type of callback function for LIVES_CALLBACK_OBJECT_DESTROYED.
Definition: liblives.hpp:404
class livesApp livesApp
typedef
Definition: liblives.hpp:243
lives_audio_player_t audioPlayer(const livesApp &lives)
Definition: liblives.cpp:2269
Show details button clicked.
Definition: liblives.hpp:139
Struct passed to modeChanged callback.
Definition: liblives.hpp:361
lives_gravity_t
Multitrack gravity.
Definition: liblives.hpp:183
no gravity
Definition: liblives.hpp:184
INVALID response.
Definition: liblives.hpp:133
bool setAudioFollowsVideoChanges(const livesApp &lives, bool setting)
Definition: liblives.cpp:2319