diff --git a/.gitignore b/.gitignore index ecf6a8536..d70139df6 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,4 @@ Makefile .qmake.stash effects/frei0r ts/*.qm - +docs diff --git a/README.md b/README.md index e866ce9ce..26468ee41 100644 --- a/README.md +++ b/README.md @@ -9,3 +9,5 @@ Please consider supporting Olive: [![Become a Patron](https://olivevideoeditor.org/img/become_a_patron_button.png)](https://www.patreon.com/olivevideoeditor) Compiling instructions for Windows, macOS, and Linux can be found [on the main site](https://olivevideoeditor.org/compile.php). + +Olive has Doxygen-compatible documentation. Just run `doxygen` in the source root directory to generate it. diff --git a/debug.cpp b/debug.cpp index 768e1ebe1..e948b5e51 100644 --- a/debug.cpp +++ b/debug.cpp @@ -88,8 +88,11 @@ void debug_message_handler(QtMsgType type, const QMessageLogContext &context, co break; }//switch - fprintf(stderr, "%s [%s] %s (%s:%u, %s)\n", timeRepr.data(), msgTag.toLocal8Bit().constData(), localMsg.data(), - context.file, context.line, context.function); + /*fprintf(stderr, "%s [%s] %s (%s:%u, %s)\n", timeRepr.data(), msgTag.toLocal8Bit().constData(), localMsg.data(), + context.file, context.line, context.function);*/ + + fprintf(stderr, "%s [%s] %s\n", timeRepr.data(), msgTag.toLocal8Bit().constData(), localMsg.data()); + if (debug_file.isOpen()) { debug_stream << QString("[%1] %2 (%3:%4, %5)\n") .arg(msgTag, localMsg, context.file, QString::number(context.line), context.function); diff --git a/debug.h b/debug.h index 5ec5d7755..791a12cc6 100644 --- a/debug.h +++ b/debug.h @@ -28,6 +28,4 @@ const QString& get_debug_str(); void open_debug_file(); void close_debug_file(); -#define dout qDebug() - #endif // DEBUG_H diff --git a/dialogs/exportdialog.cpp b/dialogs/exportdialog.cpp index 28ac87e90..fde7cdc26 100644 --- a/dialogs/exportdialog.cpp +++ b/dialogs/exportdialog.cpp @@ -34,725 +34,725 @@ #include "dialogs/advancedvideodialog.h" #include "panels/panels.h" #include "ui/viewerwidget.h" +#include "rendering/renderfunctions.h" #include "io/exportthread.h" -#include "playback/playback.h" #include "mainwindow.h" extern "C" { - #include +#include } enum ExportFormats { - FORMAT_3GPP, - FORMAT_AIFF, - FORMAT_APNG, - FORMAT_AVI, - FORMAT_DNXHD, - FORMAT_AC3, - FORMAT_FLV, - FORMAT_GIF, - FORMAT_IMG, - FORMAT_MP2, - FORMAT_MP3, - FORMAT_MPEG1, - FORMAT_MPEG2, - FORMAT_MPEG4, - FORMAT_MPEGTS, - FORMAT_MKV, - FORMAT_OGG, - FORMAT_MOV, - FORMAT_WAV, - FORMAT_WEBM, - FORMAT_WMV, - FORMAT_SIZE + FORMAT_3GPP, + FORMAT_AIFF, + FORMAT_APNG, + FORMAT_AVI, + FORMAT_DNXHD, + FORMAT_AC3, + FORMAT_FLV, + FORMAT_GIF, + FORMAT_IMG, + FORMAT_MP2, + FORMAT_MP3, + FORMAT_MPEG1, + FORMAT_MPEG2, + FORMAT_MPEG4, + FORMAT_MPEGTS, + FORMAT_MKV, + FORMAT_OGG, + FORMAT_MOV, + FORMAT_WAV, + FORMAT_WEBM, + FORMAT_WMV, + FORMAT_SIZE }; ExportDialog::ExportDialog(QWidget *parent) : - QDialog(parent) + QDialog(parent) { - setWindowTitle(tr("Export \"%1\"").arg(olive::ActiveSequence->name)); - setup_ui(); + setWindowTitle(tr("Export \"%1\"").arg(olive::ActiveSequence->name)); + setup_ui(); - rangeCombobox->setCurrentIndex(0); - if (olive::ActiveSequence->using_workarea) { - rangeCombobox->setEnabled(true); - rangeCombobox->setCurrentIndex(1); - } + rangeCombobox->setCurrentIndex(0); + if (olive::ActiveSequence->using_workarea) { + rangeCombobox->setEnabled(true); + rangeCombobox->setCurrentIndex(1); + } - format_strings.resize(FORMAT_SIZE); - format_strings[FORMAT_3GPP] = "3GPP"; - format_strings[FORMAT_AIFF] = "AIFF"; - format_strings[FORMAT_APNG] = "Animated PNG"; - format_strings[FORMAT_AVI] = "AVI"; - format_strings[FORMAT_DNXHD] = "DNxHD"; - format_strings[FORMAT_AC3] = "Dolby Digital (AC3)"; - format_strings[FORMAT_FLV] = "FLV"; - format_strings[FORMAT_GIF] = "GIF"; - format_strings[FORMAT_IMG] = "Image Sequence"; - format_strings[FORMAT_MP2] = "MP2 Audio"; - format_strings[FORMAT_MP3] = "MP3 Audio"; - format_strings[FORMAT_MPEG1] = "MPEG-1 Video"; - format_strings[FORMAT_MPEG2] = "MPEG-2 Video"; - format_strings[FORMAT_MPEG4] = "MPEG-4 Video"; - format_strings[FORMAT_MPEGTS] = "MPEG-TS"; - format_strings[FORMAT_MKV] = "Matroska MKV"; - format_strings[FORMAT_OGG] = "Ogg"; - format_strings[FORMAT_MOV] = "QuickTime MOV"; - format_strings[FORMAT_WAV] = "WAVE Audio"; - format_strings[FORMAT_WEBM] = "WebM"; - format_strings[FORMAT_WMV] = "Windows Media"; + format_strings.resize(FORMAT_SIZE); + format_strings[FORMAT_3GPP] = "3GPP"; + format_strings[FORMAT_AIFF] = "AIFF"; + format_strings[FORMAT_APNG] = "Animated PNG"; + format_strings[FORMAT_AVI] = "AVI"; + format_strings[FORMAT_DNXHD] = "DNxHD"; + format_strings[FORMAT_AC3] = "Dolby Digital (AC3)"; + format_strings[FORMAT_FLV] = "FLV"; + format_strings[FORMAT_GIF] = "GIF"; + format_strings[FORMAT_IMG] = "Image Sequence"; + format_strings[FORMAT_MP2] = "MP2 Audio"; + format_strings[FORMAT_MP3] = "MP3 Audio"; + format_strings[FORMAT_MPEG1] = "MPEG-1 Video"; + format_strings[FORMAT_MPEG2] = "MPEG-2 Video"; + format_strings[FORMAT_MPEG4] = "MPEG-4 Video"; + format_strings[FORMAT_MPEGTS] = "MPEG-TS"; + format_strings[FORMAT_MKV] = "Matroska MKV"; + format_strings[FORMAT_OGG] = "Ogg"; + format_strings[FORMAT_MOV] = "QuickTime MOV"; + format_strings[FORMAT_WAV] = "WAVE Audio"; + format_strings[FORMAT_WEBM] = "WebM"; + format_strings[FORMAT_WMV] = "Windows Media"; - for (int i=0;iaddItem(format_strings[i]); - } - formatCombobox->setCurrentIndex(FORMAT_MPEG4); + for (int i=0;iaddItem(format_strings[i]); + } + formatCombobox->setCurrentIndex(FORMAT_MPEG4); - widthSpinbox->setValue(olive::ActiveSequence->width); - heightSpinbox->setValue(olive::ActiveSequence->height); - samplingRateSpinbox->setValue(olive::ActiveSequence->audio_frequency); - framerateSpinbox->setValue(olive::ActiveSequence->frame_rate); + widthSpinbox->setValue(olive::ActiveSequence->width); + heightSpinbox->setValue(olive::ActiveSequence->height); + samplingRateSpinbox->setValue(olive::ActiveSequence->audio_frequency); + framerateSpinbox->setValue(olive::ActiveSequence->frame_rate); } ExportDialog::~ExportDialog() {} void ExportDialog::add_codec_to_combobox(QComboBox* box, enum AVCodecID codec) { - QString codec_name; + QString codec_name; - AVCodec* codec_info = avcodec_find_encoder(codec); + AVCodec* codec_info = avcodec_find_encoder(codec); - if (codec_info == nullptr) { - codec_name = tr("Unknown codec name %1").arg(static_cast(codec)); - } else { - codec_name = codec_info->long_name; - } + if (codec_info == nullptr) { + codec_name = tr("Unknown codec name %1").arg(static_cast(codec)); + } else { + codec_name = codec_info->long_name; + } - box->addItem(codec_name, codec); + box->addItem(codec_name, codec); } void ExportDialog::format_changed(int index) { - vcodecCombobox->clear(); - acodecCombobox->clear(); + vcodecCombobox->clear(); + acodecCombobox->clear(); - int default_vcodec = 0; - int default_acodec = 0; + int default_vcodec = 0; + int default_acodec = 0; - switch (index) { - case FORMAT_3GPP: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG4); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_H264); + switch (index) { + case FORMAT_3GPP: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG4); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_H264); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AAC); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AAC); - default_vcodec = 1; - break; - case FORMAT_AIFF: - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); - break; - case FORMAT_APNG: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_APNG); - break; - case FORMAT_AVI: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_H264); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG4); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MJPEG); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MSVIDEO1); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_RAWVIDEO); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_HUFFYUV); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_DVVIDEO); + default_vcodec = 1; + break; + case FORMAT_AIFF: + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); + break; + case FORMAT_APNG: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_APNG); + break; + case FORMAT_AVI: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_H264); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG4); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MJPEG); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MSVIDEO1); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_RAWVIDEO); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_HUFFYUV); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_DVVIDEO); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AAC); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_FLAC); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AAC); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_FLAC); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); - default_vcodec = 3; - default_acodec = 5; - break; - case FORMAT_DNXHD: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_DNXHD); + default_vcodec = 3; + default_acodec = 5; + break; + case FORMAT_DNXHD: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_DNXHD); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); - break; - case FORMAT_AC3: - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_EAC3); - break; - case FORMAT_FLV: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_FLV1); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); + break; + case FORMAT_AC3: + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_EAC3); + break; + case FORMAT_FLV: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_FLV1); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); - break; - case FORMAT_GIF: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_GIF); - break; - case FORMAT_IMG: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_BMP); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MJPEG); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_JPEG2000); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_PSD); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_PNG); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_TIFF); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); + break; + case FORMAT_GIF: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_GIF); + break; + case FORMAT_IMG: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_BMP); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MJPEG); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_JPEG2000); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_PSD); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_PNG); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_TIFF); - default_vcodec = 4; - break; - case FORMAT_MP2: - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); - break; - case FORMAT_MP3: - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); - break; - case FORMAT_MPEG1: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG1VIDEO); + default_vcodec = 4; + break; + case FORMAT_MP2: + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); + break; + case FORMAT_MP3: + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); + break; + case FORMAT_MPEG1: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG1VIDEO); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); - default_acodec = 1; - break; - case FORMAT_MPEG2: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG2VIDEO); + default_acodec = 1; + break; + case FORMAT_MPEG2: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG2VIDEO); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); - default_acodec = 1; - break; - case FORMAT_MPEG4: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG4); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_H264); + default_acodec = 1; + break; + case FORMAT_MPEG4: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG4); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_H264); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AAC); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AAC); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); - default_vcodec = 1; - break; - case FORMAT_MPEGTS: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG2VIDEO); + default_vcodec = 1; + break; + case FORMAT_MPEGTS: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG2VIDEO); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AAC); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AAC); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); - default_acodec = 2; - break; - case FORMAT_MKV: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG4); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_H264); + default_acodec = 2; + break; + case FORMAT_MKV: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG4); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_H264); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AAC); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_EAC3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_FLAC); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_OPUS); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_VORBIS); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_WAVPACK); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_WMAV1); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_WMAV2); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AAC); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_EAC3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_FLAC); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_OPUS); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_VORBIS); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_WAVPACK); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_WMAV1); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_WMAV2); - default_vcodec = 1; - break; - case FORMAT_OGG: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_THEORA); + default_vcodec = 1; + break; + case FORMAT_OGG: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_THEORA); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_OPUS); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_VORBIS); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_OPUS); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_VORBIS); - default_acodec = 1; - break; - case FORMAT_MOV: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_QTRLE); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG4); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_H264); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MJPEG); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_PRORES); + default_acodec = 1; + break; + case FORMAT_MOV: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_QTRLE); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MPEG4); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_H264); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_MJPEG); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_PRORES); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AAC); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AAC); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_AC3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP2); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_MP3); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); - default_vcodec = 2; - break; - case FORMAT_WAV: - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); - break; - case FORMAT_WEBM: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_VP8); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_VP9); + default_vcodec = 2; + break; + case FORMAT_WAV: + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_PCM_S16LE); + break; + case FORMAT_WEBM: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_VP8); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_VP9); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_OPUS); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_VORBIS); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_OPUS); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_VORBIS); - default_vcodec = 1; - break; - case FORMAT_WMV: - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_WMV1); - add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_WMV2); + default_vcodec = 1; + break; + case FORMAT_WMV: + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_WMV1); + add_codec_to_combobox(vcodecCombobox, AV_CODEC_ID_WMV2); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_WMAV1); - add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_WMAV2); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_WMAV1); + add_codec_to_combobox(acodecCombobox, AV_CODEC_ID_WMAV2); - default_vcodec = 1; - default_acodec = 1; - break; - default: - qCritical() << "Invalid format selection - this is a bug, please inform the developers"; - } + default_vcodec = 1; + default_acodec = 1; + break; + default: + qCritical() << "Invalid format selection - this is a bug, please inform the developers"; + } - vcodecCombobox->setCurrentIndex(default_vcodec); - acodecCombobox->setCurrentIndex(default_acodec); + vcodecCombobox->setCurrentIndex(default_vcodec); + acodecCombobox->setCurrentIndex(default_acodec); - bool video_enabled = vcodecCombobox->count() != 0; - bool audio_enabled = acodecCombobox->count() != 0; - videoGroupbox->setChecked(video_enabled); - audioGroupbox->setChecked(audio_enabled); - videoGroupbox->setEnabled(video_enabled); - audioGroupbox->setEnabled(audio_enabled); + bool video_enabled = vcodecCombobox->count() != 0; + bool audio_enabled = acodecCombobox->count() != 0; + videoGroupbox->setChecked(video_enabled); + audioGroupbox->setChecked(audio_enabled); + videoGroupbox->setEnabled(video_enabled); + audioGroupbox->setEnabled(audio_enabled); } void ExportDialog::render_thread_finished() { - if (progressBar->value() < 100 && !cancelled) { - QMessageBox::critical( - this, - tr("Export Failed"), - tr("Export failed - %1").arg(export_error), - QMessageBox::Ok - ); - } - prep_ui_for_render(false); - panel_sequence_viewer->viewer_widget->makeCurrent(); - panel_sequence_viewer->viewer_widget->initializeGL(); - update_ui(false); - et->deleteLater(); - if (progressBar->value() == 100) accept(); + if (progressBar->value() < 100 && !cancelled) { + QMessageBox::critical( + this, + tr("Export Failed"), + tr("Export failed - %1").arg(export_error), + QMessageBox::Ok + ); + } + prep_ui_for_render(false); + panel_sequence_viewer->viewer_widget->makeCurrent(); + panel_sequence_viewer->viewer_widget->initializeGL(); + update_ui(false); + et->deleteLater(); + if (progressBar->value() == 100) accept(); } void ExportDialog::prep_ui_for_render(bool r) { - export_button->setEnabled(!r); - cancel_button->setEnabled(!r); - renderCancel->setEnabled(r); + export_button->setEnabled(!r); + cancel_button->setEnabled(!r); + renderCancel->setEnabled(r); } void ExportDialog::export_action() { - if (widthSpinbox->value()%2 == 1 || heightSpinbox->value()%2 == 1) { - QMessageBox::critical( - this, - tr("Invalid dimensions"), - tr("Export width and height must both be even numbers/divisible by 2."), - QMessageBox::Ok - ); - return; - } + if (widthSpinbox->value()%2 == 1 || heightSpinbox->value()%2 == 1) { + QMessageBox::critical( + this, + tr("Invalid dimensions"), + tr("Export width and height must both be even numbers/divisible by 2."), + QMessageBox::Ok + ); + return; + } - QString ext; - switch (formatCombobox->currentIndex()) { - case FORMAT_3GPP: - ext = "3gp"; - break; - case FORMAT_AIFF: - ext = "aiff"; - break; - case FORMAT_APNG: - ext = "apng"; - break; - case FORMAT_AVI: - ext = "avi"; - break; - case FORMAT_DNXHD: - ext = "mxf"; - break; - case FORMAT_AC3: - ext = "ac3"; - break; - case FORMAT_FLV: - ext = "flv"; - break; - case FORMAT_GIF: - ext = "gif"; - break; - case FORMAT_IMG: - switch (vcodecCombobox->currentData().toInt()) { - case AV_CODEC_ID_BMP: - ext = "bmp"; - break; - case AV_CODEC_ID_MJPEG: - ext = "jpg"; - break; - case AV_CODEC_ID_JPEG2000: - ext = "jp2"; - break; - case AV_CODEC_ID_PSD: - ext = "psd"; - break; - case AV_CODEC_ID_PNG: - ext = "png"; - break; - case AV_CODEC_ID_TIFF: - ext = "tif"; - break; - default: - qCritical() << "Invalid codec selection for an image sequence"; - QMessageBox::critical( - this, - tr("Invalid codec"), - tr("Couldn't determine output parameters for the selected codec. This is a bug, please contact the developers."), - QMessageBox::Ok - ); - return; - } - break; - case FORMAT_MP3: - ext = "mp3"; - break; - case FORMAT_MPEG1: - if (videoGroupbox->isChecked() && !audioGroupbox->isChecked()) { - ext = "m1v"; - } else if (!videoGroupbox->isChecked() && audioGroupbox->isChecked()) { - ext = "m1a"; - } else { - ext = "mpg"; - } - break; - case FORMAT_MPEG2: - if (videoGroupbox->isChecked() && !audioGroupbox->isChecked()) { - ext = "m2v"; - } else if (!videoGroupbox->isChecked() && audioGroupbox->isChecked()) { - ext = "m2a"; - } else { - ext = "mpg"; - } - break; - case FORMAT_MPEG4: - if (videoGroupbox->isChecked() && !audioGroupbox->isChecked()) { - ext = "m4v"; - } else if (!videoGroupbox->isChecked() && audioGroupbox->isChecked()) { - ext = "m4a"; - } else { - ext = "mp4"; - } - break; - case FORMAT_MPEGTS: - ext = "ts"; - break; - case FORMAT_MKV: - if (!videoGroupbox->isChecked()) { - ext = "mka"; - } else { - ext = "mkv"; - } - break; - case FORMAT_OGG: - ext = "ogg"; - break; - case FORMAT_MOV: - ext = "mov"; - break; - case FORMAT_WAV: - ext = "wav"; - break; - case FORMAT_WEBM: - ext = "webm"; - break; - case FORMAT_WMV: - if (videoGroupbox->isChecked()) { - ext = "wmv"; - } else { - ext = "wma"; - } - break; - default: - qCritical() << "Invalid format - this is a bug, please inform the developers"; - QMessageBox::critical( - this, - tr("Invalid format"), - tr("Couldn't determine output format. This is a bug, please contact the developers."), - QMessageBox::Ok - ); - return; - } - QString filename = QFileDialog::getSaveFileName( - this, - tr("Export Media"), - "", - format_strings[formatCombobox->currentIndex()] + " (*." + ext + ")" - ); - if (!filename.isEmpty()) { - if (!filename.endsWith("." + ext, Qt::CaseInsensitive)) { - filename += "." + ext; - } + QString ext; + switch (formatCombobox->currentIndex()) { + case FORMAT_3GPP: + ext = "3gp"; + break; + case FORMAT_AIFF: + ext = "aiff"; + break; + case FORMAT_APNG: + ext = "apng"; + break; + case FORMAT_AVI: + ext = "avi"; + break; + case FORMAT_DNXHD: + ext = "mxf"; + break; + case FORMAT_AC3: + ext = "ac3"; + break; + case FORMAT_FLV: + ext = "flv"; + break; + case FORMAT_GIF: + ext = "gif"; + break; + case FORMAT_IMG: + switch (vcodecCombobox->currentData().toInt()) { + case AV_CODEC_ID_BMP: + ext = "bmp"; + break; + case AV_CODEC_ID_MJPEG: + ext = "jpg"; + break; + case AV_CODEC_ID_JPEG2000: + ext = "jp2"; + break; + case AV_CODEC_ID_PSD: + ext = "psd"; + break; + case AV_CODEC_ID_PNG: + ext = "png"; + break; + case AV_CODEC_ID_TIFF: + ext = "tif"; + break; + default: + qCritical() << "Invalid codec selection for an image sequence"; + QMessageBox::critical( + this, + tr("Invalid codec"), + tr("Couldn't determine output parameters for the selected codec. This is a bug, please contact the developers."), + QMessageBox::Ok + ); + return; + } + break; + case FORMAT_MP3: + ext = "mp3"; + break; + case FORMAT_MPEG1: + if (videoGroupbox->isChecked() && !audioGroupbox->isChecked()) { + ext = "m1v"; + } else if (!videoGroupbox->isChecked() && audioGroupbox->isChecked()) { + ext = "m1a"; + } else { + ext = "mpg"; + } + break; + case FORMAT_MPEG2: + if (videoGroupbox->isChecked() && !audioGroupbox->isChecked()) { + ext = "m2v"; + } else if (!videoGroupbox->isChecked() && audioGroupbox->isChecked()) { + ext = "m2a"; + } else { + ext = "mpg"; + } + break; + case FORMAT_MPEG4: + if (videoGroupbox->isChecked() && !audioGroupbox->isChecked()) { + ext = "m4v"; + } else if (!videoGroupbox->isChecked() && audioGroupbox->isChecked()) { + ext = "m4a"; + } else { + ext = "mp4"; + } + break; + case FORMAT_MPEGTS: + ext = "ts"; + break; + case FORMAT_MKV: + if (!videoGroupbox->isChecked()) { + ext = "mka"; + } else { + ext = "mkv"; + } + break; + case FORMAT_OGG: + ext = "ogg"; + break; + case FORMAT_MOV: + ext = "mov"; + break; + case FORMAT_WAV: + ext = "wav"; + break; + case FORMAT_WEBM: + ext = "webm"; + break; + case FORMAT_WMV: + if (videoGroupbox->isChecked()) { + ext = "wmv"; + } else { + ext = "wma"; + } + break; + default: + qCritical() << "Invalid format - this is a bug, please inform the developers"; + QMessageBox::critical( + this, + tr("Invalid format"), + tr("Couldn't determine output format. This is a bug, please contact the developers."), + QMessageBox::Ok + ); + return; + } + QString filename = QFileDialog::getSaveFileName( + this, + tr("Export Media"), + "", + format_strings[formatCombobox->currentIndex()] + " (*." + ext + ")" + ); + if (!filename.isEmpty()) { + if (!filename.endsWith("." + ext, Qt::CaseInsensitive)) { + filename += "." + ext; + } - if (formatCombobox->currentIndex() == FORMAT_IMG) { - int ext_location = filename.lastIndexOf('.'); - if (ext_location > filename.lastIndexOf('/')) { - filename.insert(ext_location, 'd'); - filename.insert(ext_location, '5'); - filename.insert(ext_location, '0'); - filename.insert(ext_location, '%'); - } - } + if (formatCombobox->currentIndex() == FORMAT_IMG) { + int ext_location = filename.lastIndexOf('.'); + if (ext_location > filename.lastIndexOf('/')) { + filename.insert(ext_location, 'd'); + filename.insert(ext_location, '5'); + filename.insert(ext_location, '0'); + filename.insert(ext_location, '%'); + } + } - ExportParams params; - params.filename = filename; - params.video_enabled = videoGroupbox->isChecked(); - if (params.video_enabled) { - params.video_codec = vcodecCombobox->currentData().toInt(); - params.video_width = widthSpinbox->value(); - params.video_height = heightSpinbox->value(); - params.video_frame_rate = framerateSpinbox->value(); - params.video_compression_type = compressionTypeCombobox->currentData().toInt(); - params.video_bitrate = videobitrateSpinbox->value(); - } - params.audio_enabled = audioGroupbox->isChecked(); - if (params.audio_enabled) { - params.audio_codec = acodecCombobox->currentData().toInt(); - params.audio_sampling_rate = samplingRateSpinbox->value(); - params.audio_bitrate = audiobitrateSpinbox->value(); - } + ExportParams params; + params.filename = filename; + params.video_enabled = videoGroupbox->isChecked(); + if (params.video_enabled) { + params.video_codec = vcodecCombobox->currentData().toInt(); + params.video_width = widthSpinbox->value(); + params.video_height = heightSpinbox->value(); + params.video_frame_rate = framerateSpinbox->value(); + params.video_compression_type = compressionTypeCombobox->currentData().toInt(); + params.video_bitrate = videobitrateSpinbox->value(); + } + params.audio_enabled = audioGroupbox->isChecked(); + if (params.audio_enabled) { + params.audio_codec = acodecCombobox->currentData().toInt(); + params.audio_sampling_rate = samplingRateSpinbox->value(); + params.audio_bitrate = audiobitrateSpinbox->value(); + } - params.start_frame = 0; - params.end_frame = olive::ActiveSequence->getEndFrame(); // entire sequence - if (rangeCombobox->currentIndex() == 1) { - params.start_frame = qMax(olive::ActiveSequence->workarea_in, params.start_frame); - params.end_frame = qMin(olive::ActiveSequence->workarea_out, params.end_frame); - } + params.start_frame = 0; + params.end_frame = olive::ActiveSequence->getEndFrame(); // entire sequence + if (rangeCombobox->currentIndex() == 1) { + params.start_frame = qMax(olive::ActiveSequence->workarea_in, params.start_frame); + params.end_frame = qMin(olive::ActiveSequence->workarea_out, params.end_frame); + } - et = new ExportThread(params, vcodec_params, this); + et = new ExportThread(params, vcodec_params, this); - connect(et, SIGNAL(finished()), this, SLOT(render_thread_finished())); - connect(et, SIGNAL(progress_changed(int, qint64)), this, SLOT(update_progress_bar(int, qint64))); + connect(et, SIGNAL(finished()), this, SLOT(render_thread_finished())); + connect(et, SIGNAL(progress_changed(int, qint64)), this, SLOT(update_progress_bar(int, qint64))); - closeActiveClips(olive::ActiveSequence); + close_active_clips(olive::ActiveSequence); - olive::Global->set_rendering_state(true); + olive::Global->set_rendering_state(true); - olive::Global->save_autorecovery_file(); + olive::Global->save_autorecovery_file(); - prep_ui_for_render(true); + prep_ui_for_render(true); - cancelled = false; + cancelled = false; - et->start(); - } + et->start(); + } } void ExportDialog::update_progress_bar(int value, qint64 remaining_ms) { - // convert ms to H:MM:SS - int seconds = qFloor(remaining_ms*0.001)%60; - int minutes = qFloor(remaining_ms/60000)%60; - int hours = qFloor(remaining_ms/3600000); - progressBar->setFormat("%p% (ETA: " + QString::number(hours) + ":" + QString::number(minutes).rightJustified(2, '0') + ":" + QString::number(seconds).rightJustified(2, '0') + ")"); + // convert ms to H:MM:SS + int seconds = qFloor(remaining_ms*0.001)%60; + int minutes = qFloor(remaining_ms/60000)%60; + int hours = qFloor(remaining_ms/3600000); + progressBar->setFormat("%p% (ETA: " + QString::number(hours) + ":" + QString::number(minutes).rightJustified(2, '0') + ":" + QString::number(seconds).rightJustified(2, '0') + ")"); - progressBar->setValue(value); + progressBar->setValue(value); } void ExportDialog::cancel_render() { - et->continueEncode = false; - cancelled = true; - et->wake(); + et->continueEncode = false; + cancelled = true; + et->wake(); } void ExportDialog::vcodec_changed(int index) { - compressionTypeCombobox->clear(); + compressionTypeCombobox->clear(); - if (vcodecCombobox->count() > 0) { - if (vcodecCombobox->itemData(index) == AV_CODEC_ID_H264) { - compressionTypeCombobox->setEnabled(true); - compressionTypeCombobox->addItem(tr("Quality-based (Constant Rate Factor)"), COMPRESSION_TYPE_CFR); - // compressionTypeCombobox->addItem("File size-based (Two-Pass)", COMPRESSION_TYPE_TARGETSIZE); - // compressionTypeCombobox->addItem("Average bitrate (Two-Pass)", COMPRESSION_TYPE_TARGETBR); - } else { - compressionTypeCombobox->addItem(tr("Constant Bitrate"), COMPRESSION_TYPE_CBR); - compressionTypeCombobox->setCurrentIndex(0); - compressionTypeCombobox->setEnabled(false); - } - - // set default pix_fmt for this codec - AVCodec* codec_info = avcodec_find_encoder(static_cast(vcodecCombobox->itemData(index).toInt())); - if (codec_info == nullptr) { - QMessageBox::critical(this, - tr("Invalid Codec"), - tr("Failed to find a suitable encoder for this codec. Export will likely fail.")); - } else { - vcodec_params.pix_fmt = codec_info->pix_fmts[0]; - if (vcodec_params.pix_fmt == -1) { - QMessageBox::critical(this, - tr("Invalid Codec"), - tr("Failed to find pixel format for this encoder. Export will likely fail.")); - } - } + if (vcodecCombobox->count() > 0) { + if (vcodecCombobox->itemData(index) == AV_CODEC_ID_H264) { + compressionTypeCombobox->setEnabled(true); + compressionTypeCombobox->addItem(tr("Quality-based (Constant Rate Factor)"), COMPRESSION_TYPE_CFR); + // compressionTypeCombobox->addItem("File size-based (Two-Pass)", COMPRESSION_TYPE_TARGETSIZE); + // compressionTypeCombobox->addItem("Average bitrate (Two-Pass)", COMPRESSION_TYPE_TARGETBR); + } else { + compressionTypeCombobox->addItem(tr("Constant Bitrate"), COMPRESSION_TYPE_CBR); + compressionTypeCombobox->setCurrentIndex(0); + compressionTypeCombobox->setEnabled(false); } + + // set default pix_fmt for this codec + AVCodec* codec_info = avcodec_find_encoder(static_cast(vcodecCombobox->itemData(index).toInt())); + if (codec_info == nullptr) { + QMessageBox::critical(this, + tr("Invalid Codec"), + tr("Failed to find a suitable encoder for this codec. Export will likely fail.")); + } else { + vcodec_params.pix_fmt = codec_info->pix_fmts[0]; + if (vcodec_params.pix_fmt == -1) { + QMessageBox::critical(this, + tr("Invalid Codec"), + tr("Failed to find pixel format for this encoder. Export will likely fail.")); + } + } + } } void ExportDialog::comp_type_changed(int) { - videobitrateSpinbox->setToolTip(""); - videobitrateSpinbox->setMinimum(0); - videobitrateSpinbox->setMaximum(99.99); - switch (compressionTypeCombobox->currentData().toInt()) { - case COMPRESSION_TYPE_CBR: - case COMPRESSION_TYPE_TARGETBR: - videoBitrateLabel->setText(tr("Bitrate (Mbps):")); - videobitrateSpinbox->setValue(qMax(0.5, (double) qRound((0.01528 * olive::ActiveSequence->height) - 4.5))); - break; - case COMPRESSION_TYPE_CFR: - videoBitrateLabel->setText(tr("Quality (CRF):")); - videobitrateSpinbox->setValue(36); - videobitrateSpinbox->setMaximum(51); - videobitrateSpinbox->setToolTip(tr("Quality Factor:\n\n0 = lossless\n17-18 = visually lossless (compressed, but unnoticeable)\n23 = high quality\n51 = lowest quality possible")); - break; - case COMPRESSION_TYPE_TARGETSIZE: - videoBitrateLabel->setText(tr("Target File Size (MB):")); - videobitrateSpinbox->setValue(100); - break; - } + videobitrateSpinbox->setToolTip(""); + videobitrateSpinbox->setMinimum(0); + videobitrateSpinbox->setMaximum(99.99); + switch (compressionTypeCombobox->currentData().toInt()) { + case COMPRESSION_TYPE_CBR: + case COMPRESSION_TYPE_TARGETBR: + videoBitrateLabel->setText(tr("Bitrate (Mbps):")); + videobitrateSpinbox->setValue(qMax(0.5, (double) qRound((0.01528 * olive::ActiveSequence->height) - 4.5))); + break; + case COMPRESSION_TYPE_CFR: + videoBitrateLabel->setText(tr("Quality (CRF):")); + videobitrateSpinbox->setValue(36); + videobitrateSpinbox->setMaximum(51); + videobitrateSpinbox->setToolTip(tr("Quality Factor:\n\n0 = lossless\n17-18 = visually lossless (compressed, but unnoticeable)\n23 = high quality\n51 = lowest quality possible")); + break; + case COMPRESSION_TYPE_TARGETSIZE: + videoBitrateLabel->setText(tr("Target File Size (MB):")); + videobitrateSpinbox->setValue(100); + break; + } } void ExportDialog::open_advanced_video_dialog() { - AdvancedVideoDialog avd(this, vcodecCombobox->currentData().toInt(), vcodec_params); - avd.exec(); + AdvancedVideoDialog avd(this, vcodecCombobox->currentData().toInt(), vcodec_params); + avd.exec(); } void ExportDialog::setup_ui() { - QVBoxLayout* verticalLayout = new QVBoxLayout(this); + QVBoxLayout* verticalLayout = new QVBoxLayout(this); - QHBoxLayout* format_layout = new QHBoxLayout(); + QHBoxLayout* format_layout = new QHBoxLayout(); - format_layout->addWidget(new QLabel(tr("Format:"), this)); + format_layout->addWidget(new QLabel(tr("Format:"), this)); - formatCombobox = new QComboBox(); - format_layout->addWidget(formatCombobox); + formatCombobox = new QComboBox(); + format_layout->addWidget(formatCombobox); - verticalLayout->addLayout(format_layout); + verticalLayout->addLayout(format_layout); - QHBoxLayout* range_layout = new QHBoxLayout(); + QHBoxLayout* range_layout = new QHBoxLayout(); - range_layout->addWidget(new QLabel(tr("Range:"), this)); + range_layout->addWidget(new QLabel(tr("Range:"), this)); - rangeCombobox = new QComboBox(this); - rangeCombobox->addItem(tr("Entire Sequence")); - rangeCombobox->addItem(tr("In to Out")); + rangeCombobox = new QComboBox(this); + rangeCombobox->addItem(tr("Entire Sequence")); + rangeCombobox->addItem(tr("In to Out")); - range_layout->addWidget(rangeCombobox); + range_layout->addWidget(rangeCombobox); - verticalLayout->addLayout(range_layout); + verticalLayout->addLayout(range_layout); - videoGroupbox = new QGroupBox(this); - videoGroupbox->setTitle(tr("Video")); - videoGroupbox->setFlat(false); - videoGroupbox->setCheckable(true); + videoGroupbox = new QGroupBox(this); + videoGroupbox->setTitle(tr("Video")); + videoGroupbox->setFlat(false); + videoGroupbox->setCheckable(true); - QGridLayout* videoGridLayout = new QGridLayout(videoGroupbox); + QGridLayout* videoGridLayout = new QGridLayout(videoGroupbox); - videoGridLayout->addWidget(new QLabel(tr("Codec:"), this), 0, 0, 1, 1); - vcodecCombobox = new QComboBox(videoGroupbox); - videoGridLayout->addWidget(vcodecCombobox, 0, 1, 1, 1); + videoGridLayout->addWidget(new QLabel(tr("Codec:"), this), 0, 0, 1, 1); + vcodecCombobox = new QComboBox(videoGroupbox); + videoGridLayout->addWidget(vcodecCombobox, 0, 1, 1, 1); - videoGridLayout->addWidget(new QLabel(tr("Width:"), this), 1, 0, 1, 1); - widthSpinbox = new QSpinBox(videoGroupbox); - widthSpinbox->setMaximum(16777216); - videoGridLayout->addWidget(widthSpinbox, 1, 1, 1, 1); + videoGridLayout->addWidget(new QLabel(tr("Width:"), this), 1, 0, 1, 1); + widthSpinbox = new QSpinBox(videoGroupbox); + widthSpinbox->setMaximum(16777216); + videoGridLayout->addWidget(widthSpinbox, 1, 1, 1, 1); - videoGridLayout->addWidget(new QLabel(tr("Height:"), this), 2, 0, 1, 1); - heightSpinbox = new QSpinBox(videoGroupbox); - heightSpinbox->setMaximum(16777216); - videoGridLayout->addWidget(heightSpinbox, 2, 1, 1, 1); + videoGridLayout->addWidget(new QLabel(tr("Height:"), this), 2, 0, 1, 1); + heightSpinbox = new QSpinBox(videoGroupbox); + heightSpinbox->setMaximum(16777216); + videoGridLayout->addWidget(heightSpinbox, 2, 1, 1, 1); - videoGridLayout->addWidget(new QLabel(tr("Frame Rate:"), this), 3, 0, 1, 1); - framerateSpinbox = new QDoubleSpinBox(videoGroupbox); - framerateSpinbox->setMaximum(60); - framerateSpinbox->setValue(0); - videoGridLayout->addWidget(framerateSpinbox, 3, 1, 1, 1); + videoGridLayout->addWidget(new QLabel(tr("Frame Rate:"), this), 3, 0, 1, 1); + framerateSpinbox = new QDoubleSpinBox(videoGroupbox); + framerateSpinbox->setMaximum(60); + framerateSpinbox->setValue(0); + videoGridLayout->addWidget(framerateSpinbox, 3, 1, 1, 1); - videoGridLayout->addWidget(new QLabel(tr("Compression Type:"), this), 4, 0, 1, 1); - compressionTypeCombobox = new QComboBox(videoGroupbox); - videoGridLayout->addWidget(compressionTypeCombobox, 4, 1, 1, 1); + videoGridLayout->addWidget(new QLabel(tr("Compression Type:"), this), 4, 0, 1, 1); + compressionTypeCombobox = new QComboBox(videoGroupbox); + videoGridLayout->addWidget(compressionTypeCombobox, 4, 1, 1, 1); - videoBitrateLabel = new QLabel(videoGroupbox); - videoGridLayout->addWidget(videoBitrateLabel, 5, 0, 1, 1); - videobitrateSpinbox = new QDoubleSpinBox(videoGroupbox); - videobitrateSpinbox->setMaximum(100); - videobitrateSpinbox->setValue(2); - videoGridLayout->addWidget(videobitrateSpinbox, 5, 1, 1, 1); + videoBitrateLabel = new QLabel(videoGroupbox); + videoGridLayout->addWidget(videoBitrateLabel, 5, 0, 1, 1); + videobitrateSpinbox = new QDoubleSpinBox(videoGroupbox); + videobitrateSpinbox->setMaximum(100); + videobitrateSpinbox->setValue(2); + videoGridLayout->addWidget(videobitrateSpinbox, 5, 1, 1, 1); - QPushButton* advanced_video_button = new QPushButton(tr("Advanced")); - connect(advanced_video_button, SIGNAL(clicked(bool)), this, SLOT(open_advanced_video_dialog())); - videoGridLayout->addWidget(advanced_video_button, 6, 1); + QPushButton* advanced_video_button = new QPushButton(tr("Advanced")); + connect(advanced_video_button, SIGNAL(clicked(bool)), this, SLOT(open_advanced_video_dialog())); + videoGridLayout->addWidget(advanced_video_button, 6, 1); - verticalLayout->addWidget(videoGroupbox); + verticalLayout->addWidget(videoGroupbox); - audioGroupbox = new QGroupBox(this); - audioGroupbox->setTitle(tr("Audio")); - audioGroupbox->setCheckable(true); + audioGroupbox = new QGroupBox(this); + audioGroupbox->setTitle(tr("Audio")); + audioGroupbox->setCheckable(true); - QGridLayout* audioGridLayout = new QGridLayout(audioGroupbox); + QGridLayout* audioGridLayout = new QGridLayout(audioGroupbox); - audioGridLayout->addWidget(new QLabel(tr("Codec:"), this), 0, 0, 1, 1); - acodecCombobox = new QComboBox(audioGroupbox); - audioGridLayout->addWidget(acodecCombobox, 0, 1, 1, 1); + audioGridLayout->addWidget(new QLabel(tr("Codec:"), this), 0, 0, 1, 1); + acodecCombobox = new QComboBox(audioGroupbox); + audioGridLayout->addWidget(acodecCombobox, 0, 1, 1, 1); - audioGridLayout->addWidget(new QLabel(tr("Sampling Rate:"), this), 1, 0, 1, 1); - samplingRateSpinbox = new QSpinBox(audioGroupbox); - samplingRateSpinbox->setMaximum(96000); - samplingRateSpinbox->setValue(0); - audioGridLayout->addWidget(samplingRateSpinbox, 1, 1, 1, 1); + audioGridLayout->addWidget(new QLabel(tr("Sampling Rate:"), this), 1, 0, 1, 1); + samplingRateSpinbox = new QSpinBox(audioGroupbox); + samplingRateSpinbox->setMaximum(96000); + samplingRateSpinbox->setValue(0); + audioGridLayout->addWidget(samplingRateSpinbox, 1, 1, 1, 1); - audioGridLayout->addWidget(new QLabel(tr("Bitrate (Kbps/CBR):"), this), 3, 0, 1, 1); - audiobitrateSpinbox = new QSpinBox(audioGroupbox); - audiobitrateSpinbox->setMaximum(320); - audiobitrateSpinbox->setValue(256); - audioGridLayout->addWidget(audiobitrateSpinbox, 3, 1, 1, 1); + audioGridLayout->addWidget(new QLabel(tr("Bitrate (Kbps/CBR):"), this), 3, 0, 1, 1); + audiobitrateSpinbox = new QSpinBox(audioGroupbox); + audiobitrateSpinbox->setMaximum(320); + audiobitrateSpinbox->setValue(256); + audioGridLayout->addWidget(audiobitrateSpinbox, 3, 1, 1, 1); - verticalLayout->addWidget(audioGroupbox); + verticalLayout->addWidget(audioGroupbox); - QHBoxLayout* progressLayout = new QHBoxLayout(); - progressBar = new QProgressBar(this); - progressBar->setFormat("%p% (ETA: 0:00:00)"); - progressBar->setEnabled(false); - progressBar->setValue(0); - progressLayout->addWidget(progressBar); + QHBoxLayout* progressLayout = new QHBoxLayout(); + progressBar = new QProgressBar(this); + progressBar->setFormat("%p% (ETA: 0:00:00)"); + progressBar->setEnabled(false); + progressBar->setValue(0); + progressLayout->addWidget(progressBar); - renderCancel = new QPushButton(this); - renderCancel->setText("x"); - renderCancel->setEnabled(false); - renderCancel->setMaximumSize(QSize(20, 16777215)); - connect(renderCancel, SIGNAL(clicked(bool)), this, SLOT(cancel_render())); - progressLayout->addWidget(renderCancel); + renderCancel = new QPushButton(this); + renderCancel->setText("x"); + renderCancel->setEnabled(false); + renderCancel->setMaximumSize(QSize(20, 16777215)); + connect(renderCancel, SIGNAL(clicked(bool)), this, SLOT(cancel_render())); + progressLayout->addWidget(renderCancel); - verticalLayout->addLayout(progressLayout); + verticalLayout->addLayout(progressLayout); - QHBoxLayout* buttonLayout = new QHBoxLayout(); - buttonLayout->addStretch(); + QHBoxLayout* buttonLayout = new QHBoxLayout(); + buttonLayout->addStretch(); - export_button = new QPushButton(this); - export_button->setText("Export"); - connect(export_button, SIGNAL(clicked(bool)), this, SLOT(export_action())); + export_button = new QPushButton(this); + export_button->setText("Export"); + connect(export_button, SIGNAL(clicked(bool)), this, SLOT(export_action())); - buttonLayout->addWidget(export_button); + buttonLayout->addWidget(export_button); - cancel_button = new QPushButton(this); - cancel_button->setText("Cancel"); - connect(cancel_button, SIGNAL(clicked(bool)), this, SLOT(reject())); + cancel_button = new QPushButton(this); + cancel_button->setText("Cancel"); + connect(cancel_button, SIGNAL(clicked(bool)), this, SLOT(reject())); - buttonLayout->addWidget(cancel_button); + buttonLayout->addWidget(cancel_button); - buttonLayout->addStretch(); + buttonLayout->addStretch(); - verticalLayout->addLayout(buttonLayout); + verticalLayout->addLayout(buttonLayout); - connect(formatCombobox, SIGNAL(currentIndexChanged(int)), this, SLOT(format_changed(int))); - connect(compressionTypeCombobox, SIGNAL(currentIndexChanged(int)), this, SLOT(comp_type_changed(int))); - connect(vcodecCombobox, SIGNAL(currentIndexChanged(int)), this, SLOT(vcodec_changed(int))); + connect(formatCombobox, SIGNAL(currentIndexChanged(int)), this, SLOT(format_changed(int))); + connect(compressionTypeCombobox, SIGNAL(currentIndexChanged(int)), this, SLOT(comp_type_changed(int))); + connect(vcodecCombobox, SIGNAL(currentIndexChanged(int)), this, SLOT(vcodec_changed(int))); } diff --git a/dialogs/loaddialog.cpp b/dialogs/loaddialog.cpp index bd1d8ff6f..923d5a8c3 100644 --- a/dialogs/loaddialog.cpp +++ b/dialogs/loaddialog.cpp @@ -28,7 +28,6 @@ #include "panels/panels.h" -#include "playback/playback.h" #include "ui/sourcetable.h" #include "mainwindow.h" diff --git a/dialogs/newsequencedialog.cpp b/dialogs/newsequencedialog.cpp index 19ce423ac..0186b6ce0 100644 --- a/dialogs/newsequencedialog.cpp +++ b/dialogs/newsequencedialog.cpp @@ -26,9 +26,8 @@ #include "project/undo.h" #include "project/clip.h" #include "panels/timeline.h" -#include "playback/playback.h" #include "project/media.h" -#include "playback/audio.h" +#include "rendering/audio.h" #include #include diff --git a/dialogs/preferencesdialog.cpp b/dialogs/preferencesdialog.cpp index c3f711e69..78312b4c2 100644 --- a/dialogs/preferencesdialog.cpp +++ b/dialogs/preferencesdialog.cpp @@ -23,7 +23,7 @@ #include "oliveglobal.h" #include "io/config.h" #include "io/path.h" -#include "playback/audio.h" +#include "rendering/audio.h" #include "mainwindow.h" #include diff --git a/dialogs/proxydialog.cpp b/dialogs/proxydialog.cpp index 033ee7256..9043c9f1e 100644 --- a/dialogs/proxydialog.cpp +++ b/dialogs/proxydialog.cpp @@ -32,142 +32,152 @@ #include "project/footage.h" #include "mainwindow.h" -ProxyDialog::ProxyDialog(QWidget *parent, const QVector &footage) : - QDialog(parent), - selected_footage(footage) +ProxyDialog::ProxyDialog(QWidget *parent, const QVector &media) : + QDialog(parent), + selected_media(media) { - // set dialog title - setWindowTitle(tr("Create Proxy")); + // set dialog title + setWindowTitle(tr("Create Proxy")); - // set proxy folder name to "Proxy", depending on the user's language - proxy_folder_name = tr("Proxy"); + // set proxy folder name to "Proxy", depending on the user's language + proxy_folder_name = tr("Proxy"); - // set up dialog's layout - QGridLayout* layout = new QGridLayout(this); + // set up dialog's layout + QGridLayout* layout = new QGridLayout(this); - // set the video dimensions of the proxy - layout->addWidget(new QLabel(tr("Dimensions:"), this), 0, 0); + // set the video dimensions of the proxy + layout->addWidget(new QLabel(tr("Dimensions:"), this), 0, 0); - size_combobox = new QComboBox(this); - size_combobox->addItem(tr("Same Size as Source"), 1.0); - size_combobox->addItem(tr("Half Resolution (1/2)"), 0.5); - size_combobox->addItem(tr("Quarter Resolution (1/4)"), 0.25); - size_combobox->addItem(tr("Eighth Resolution (1/8)"), 0.125); - size_combobox->addItem(tr("Sixteenth Resolution (1/16)"), 0.0625); - layout->addWidget(size_combobox, 0, 1); + size_combobox = new QComboBox(this); + size_combobox->addItem(tr("Same Size as Source"), 1.0); + size_combobox->addItem(tr("Half Resolution (1/2)"), 0.5); + size_combobox->addItem(tr("Quarter Resolution (1/4)"), 0.25); + size_combobox->addItem(tr("Eighth Resolution (1/8)"), 0.125); + size_combobox->addItem(tr("Sixteenth Resolution (1/16)"), 0.0625); + layout->addWidget(size_combobox, 0, 1); - // set the desired format of the proxy to create - layout->addWidget(new QLabel(tr("Format:"), this), 1, 0); + // set the desired format of the proxy to create + layout->addWidget(new QLabel(tr("Format:"), this), 1, 0); - format_combobox = new QComboBox(this); - format_combobox->addItem(tr("ProRes HQ")); -// format_combobox->addItem(tr("ProRes SQ")); -// format_combobox->addItem(tr("ProRes LT")); -// format_combobox->addItem(tr("DNxHD")); -// format_combobox->addItem(tr("H.264")); - layout->addWidget(format_combobox, 1, 1); + format_combobox = new QComboBox(this); + format_combobox->addItem(tr("ProRes HQ")); + // format_combobox->addItem(tr("ProRes SQ")); + // format_combobox->addItem(tr("ProRes LT")); + // format_combobox->addItem(tr("DNxHD")); + // format_combobox->addItem(tr("H.264")); + layout->addWidget(format_combobox, 1, 1); - // set the location to place the proxies - layout->addWidget(new QLabel(tr("Location:"), this), 2, 0); + // set the location to place the proxies + layout->addWidget(new QLabel(tr("Location:"), this), 2, 0); - location_combobox = new QComboBox(this); - location_combobox->addItem(tr("Same as Source (in \"%1\" folder)").arg(proxy_folder_name)); - location_combobox->addItem(""); - connect(location_combobox, SIGNAL(currentIndexChanged(int)), this, SLOT(location_changed(int))); - layout->addWidget(location_combobox, 2, 1); + location_combobox = new QComboBox(this); + location_combobox->addItem(tr("Same as Source (in \"%1\" folder)").arg(proxy_folder_name)); + location_combobox->addItem(""); + connect(location_combobox, SIGNAL(currentIndexChanged(int)), this, SLOT(location_changed(int))); + layout->addWidget(location_combobox, 2, 1); - // location_changed will set the default "location" items - location_changed(0); + // location_changed will set the default "location" items + location_changed(0); - // set up dialog buttons - QDialogButtonBox* buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); - buttons->setCenterButtons(true); - layout->addWidget(buttons, 3, 0, 1, 2); - connect(buttons, SIGNAL(accepted()), this, SLOT(accept())); - connect(buttons, SIGNAL(rejected()), this, SLOT(reject())); + // set up dialog buttons + QDialogButtonBox* buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); + buttons->setCenterButtons(true); + layout->addWidget(buttons, 3, 0, 1, 2); + connect(buttons, SIGNAL(accepted()), this, SLOT(accept())); + connect(buttons, SIGNAL(rejected()), this, SLOT(reject())); } void ProxyDialog::accept() { - QVector info_list; + QVector info_list; - // set to TRUE if any existing proxies exist and the user chooses to overwrite all of them - bool overwrite_all_existing = false; + // set to TRUE if any existing proxies exist and the user chooses to overwrite all of them + bool overwrite_all_existing = false; - for (int i=0;icurrentData().toDouble(); + // fill info struct based on user input + info.media = selected_media.at(i); + info.codec_type = 0; + info.size_multiplier = size_combobox->currentData().toDouble(); - QString base_footage_fn = QFileInfo(selected_footage.at(i)->url).baseName(); + FootagePtr footage = selected_media.at(i)->to_footage(); - // TEMPORARILY hardcoded proxy format - base_footage_fn.append(".mov"); + QString base_footage_fn = QFileInfo(footage->url).baseName(); - // determine path from input - if (custom_location.isEmpty()) { - // use same as source (proxy subfolder) + // TEMPORARILY hardcoded proxy format + base_footage_fn.append(".mov"); - // generate full path from footage path and proxy_folder_name's translated "Proxy" - info.path = QDir(QFileInfo(selected_footage.at(i)->url).dir().filePath(proxy_folder_name)).filePath(base_footage_fn); - } else { - // use existing location - info.path = QDir(custom_location).filePath(base_footage_fn); - } + // determine path from input + if (custom_location.isEmpty()) { + // use same as source (proxy subfolder) - // if the proposed proxy file already exists & user didn't select YesToAll box - if (QFileInfo::exists(info.path) && !overwrite_all_existing){ - int rtn = QMessageBox::warning( this, - tr("Proxy file exists"), - tr("The file \"%1\" already exists. Do you wish to replace it?").arg(info.path), - QMessageBox::YesToAll | QMessageBox::Yes | QMessageBox::No); + // generate full path from footage path and proxy_folder_name's translated "Proxy" + info.path = QDir(QFileInfo(footage->url).dir().filePath(proxy_folder_name)).filePath(base_footage_fn); + } else { + // use existing location + info.path = QDir(custom_location).filePath(base_footage_fn); + } - switch (rtn){ - case QMessageBox::Yes: - // continue as normal, proxy generator will automatically overwrite this file - break; - case QMessageBox::YesToAll: - // continue as normal, also set variable so that above messagebox is not shown again - overwrite_all_existing = true; - break; - case QMessageBox::No: - // return to dialog without closing or starting any proxy generation - return; - } - } + // if the proposed proxy file already exists & user didn't select YesToAll box + if (QFileInfo::exists(info.path) && !overwrite_all_existing){ + int rtn = QMessageBox::warning( this, + tr("Proxy file exists"), + tr("The file \"%1\" already exists. Do you wish to replace it?").arg(info.path), + QMessageBox::YesToAll | QMessageBox::Yes | QMessageBox::No); - // send to proxy generator thread - info_list.append(info); - } + switch (rtn){ + case QMessageBox::Yes: + // continue as normal, proxy generator will automatically overwrite this file + break; + case QMessageBox::YesToAll: + // continue as normal, also set variable so that above messagebox is not shown again + overwrite_all_existing = true; + break; + case QMessageBox::No: + // return to dialog without closing or starting any proxy generation + return; + } + } - // all proxy info checks out, queue it with the proxy generator - for (int i=0;iproxy = true; - info_list.at(i).footage->proxy_path.clear(); + // send to proxy generator thread + info_list.append(info); + } - proxy_generator.queue(info_list.at(i)); - } + // all proxy info checks out, queue it with the proxy generator + for (int i=0;ito_footage(); + footage->proxy = true; + footage->proxy_path.clear(); - olive::MainWindow->setWindowModified(true); + olive::proxy_generator.queue(info_list.at(i)); + } - QDialog::accept(); + olive::MainWindow->setWindowModified(true); + + QDialog::accept(); } void ProxyDialog::location_changed(int i) { - custom_location.clear(); - if (i == 1) { - QString s = QFileDialog::getExistingDirectory(this); - if (s.isEmpty()) { - location_combobox->setCurrentIndex(0); - } else { - location_combobox->setItemText(1, s); - custom_location = s; - } - } else { - location_combobox->setItemText(1, tr("Custom Location")); - } + // clear any custom location - either the user picked a new one or chose not a custom location + custom_location.clear(); + + if (i == 1) { + // if the user picked a custom location, ask which directory + QString s = QFileDialog::getExistingDirectory(this); + + if (s.isEmpty()) { + // if the user didn't input anything, set the combobox back to default + location_combobox->setCurrentIndex(0); + } else { + // if the user chose a custom location, set the combobox text to it and custom_location for future usage + location_combobox->setItemText(1, s); + custom_location = s; + } + } else { + // if the user doesn't picks something other than custom location, set this string back to default for clearer UX + location_combobox->setItemText(1, tr("Custom Location")); + } } diff --git a/dialogs/proxydialog.h b/dialogs/proxydialog.h index 3c283385b..3a7fd579a 100644 --- a/dialogs/proxydialog.h +++ b/dialogs/proxydialog.h @@ -25,36 +25,82 @@ #include #include -#include "project/footage.h" +#include "project/media.h" +/** + * @brief The ProxyDialog class + * + * Dialog to set up proxy generation of footage + */ class ProxyDialog : public QDialog { - Q_OBJECT + Q_OBJECT public: - ProxyDialog(QWidget* parent, const QVector& footage); + /** + * @brief ProxyDialog Constructor + * @param parent + * + * Parent widget to become modal to. + * + * @param footage + * + * List of Footage items to process. + */ + ProxyDialog(QWidget* parent, const QVector &media); public slots: - // called if user clicks "OK" on the dialog - virtual void accept() override; + /** + * @brief Accept changes + * + * Called when the user clicks OK on the dialog. Verifies all proxies, asking the user whether they want to overwrite + * existing proxies if necessary, and if everything is valid, queues the footage with ProxyGenerator. + */ + virtual void accept() override; private: - // user's desired dimensions - QComboBox* size_combobox; + /** + * @brief User's desired dimensions + * + * Always a fraction of the original video size (e.g. 1/2, 1/4, 1/8, etc.) + */ + QComboBox* size_combobox; - // user's desired proxy format - QComboBox* format_combobox; + /** + * @brief User's desired proxy format + * + * e.g. ProRes, DNxHD, etc. + */ + QComboBox* format_combobox; - // allows users to set the location to store proxies - QComboBox* location_combobox; + /** + * @brief Allows users to set the directory to store proxies in + */ + QComboBox* location_combobox; - // stores the custom location to store proxies if the user sets a custom location - QString custom_location; + /** + * @brief Stores the custom location to store proxies if the user sets a custom location + */ + QString custom_location; - // stores the subdirectory to be made next to the source (dependent on the user's language) - QString proxy_folder_name; + /** + * @brief Stores the default subdirectory to be made next to the source (dependent on the user's language) + * + * "Proxy" in en-US. + */ + QString proxy_folder_name; - // list of footage to make proxies for - QVector selected_footage; + /** + * @brief Stored list of footage to make proxies for + */ + QVector selected_media; private slots: - // triggered when the user changes the index in the location combobox - void location_changed(int i); + /** + * @brief Slot when the user changes the location + * + * Triggered when the user changes the index in the location combobox. + * + * @param i + * + * location_combobox's new selected index + */ + void location_changed(int i); }; #endif // PROXYDIALOG_H diff --git a/dialogs/replaceclipmediadialog.cpp b/dialogs/replaceclipmediadialog.cpp index 88d7f898a..d2a9a87d7 100644 --- a/dialogs/replaceclipmediadialog.cpp +++ b/dialogs/replaceclipmediadialog.cpp @@ -22,8 +22,7 @@ #include "panels/panels.h" -#include "playback/playback.h" -#include "playback/cacher.h" +#include "rendering/cacher.h" #include "project/undo.h" #include @@ -112,7 +111,7 @@ void ReplaceClipMediaDialog::replace() { for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); - if (c != nullptr && c->media == media) { + if (c != nullptr && c->media() == media) { rcmc->clips.append(c); } } diff --git a/dialogs/speeddialog.cpp b/dialogs/speeddialog.cpp index cfa69f777..0b5e505dc 100644 --- a/dialogs/speeddialog.cpp +++ b/dialogs/speeddialog.cpp @@ -28,7 +28,7 @@ #include "project/sequence.h" #include "project/footage.h" -#include "playback/playback.h" +#include "rendering/renderfunctions.h" #include "panels/panels.h" #include "panels/timeline.h" #include "project/undo.h" @@ -36,394 +36,415 @@ #include "project/media.h" SpeedDialog::SpeedDialog(QWidget *parent) : QDialog(parent) { - setWindowTitle(tr("Speed/Duration")); + setWindowTitle(tr("Speed/Duration")); - QVBoxLayout* main_layout = new QVBoxLayout(this); + QVBoxLayout* main_layout = new QVBoxLayout(this); - QGridLayout* grid = new QGridLayout(); - grid->setSpacing(6); + QGridLayout* grid = new QGridLayout(); + grid->setSpacing(6); - grid->addWidget(new QLabel(tr("Speed:"), this), 0, 0); - percent = new LabelSlider(this); - percent->decimal_places = 2; - percent->set_display_type(LABELSLIDER_PERCENT); - percent->set_default_value(1); - grid->addWidget(percent, 0, 1); + grid->addWidget(new QLabel(tr("Speed:"), this), 0, 0); + percent = new LabelSlider(this); + percent->decimal_places = 2; + percent->set_display_type(LABELSLIDER_PERCENT); + percent->set_default_value(1); + grid->addWidget(percent, 0, 1); - grid->addWidget(new QLabel(tr("Frame Rate:"), this), 1, 0); - frame_rate = new LabelSlider(this); - frame_rate->decimal_places = 3; - grid->addWidget(frame_rate, 1, 1); + grid->addWidget(new QLabel(tr("Frame Rate:"), this), 1, 0); + frame_rate = new LabelSlider(this); + frame_rate->decimal_places = 3; + grid->addWidget(frame_rate, 1, 1); - grid->addWidget(new QLabel(tr("Duration:"), this), 2, 0); - duration = new LabelSlider(this); - duration->set_display_type(LABELSLIDER_FRAMENUMBER); - duration->set_frame_rate(olive::ActiveSequence->frame_rate); - grid->addWidget(duration, 2, 1); + grid->addWidget(new QLabel(tr("Duration:"), this), 2, 0); + duration = new LabelSlider(this); + duration->set_display_type(LABELSLIDER_FRAMENUMBER); + duration->set_frame_rate(olive::ActiveSequence->frame_rate); + grid->addWidget(duration, 2, 1); - main_layout->addLayout(grid); + main_layout->addLayout(grid); - reverse = new QCheckBox(tr("Reverse"), this); - maintain_pitch = new QCheckBox(tr("Maintain Audio Pitch"), this); - ripple = new QCheckBox(tr("Ripple Changes"), this); + reverse = new QCheckBox(tr("Reverse"), this); + maintain_pitch = new QCheckBox(tr("Maintain Audio Pitch"), this); + ripple = new QCheckBox(tr("Ripple Changes"), this); - main_layout->addWidget(reverse); - main_layout->addWidget(maintain_pitch); - main_layout->addWidget(ripple); + main_layout->addWidget(reverse); + main_layout->addWidget(maintain_pitch); + main_layout->addWidget(ripple); - QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); - buttonBox->setCenterButtons(true); - main_layout->addWidget(buttonBox); - connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); - connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); + QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); + buttonBox->setCenterButtons(true); + main_layout->addWidget(buttonBox); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); + connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); - connect(percent, SIGNAL(valueChanged()), this, SLOT(percent_update())); - connect(frame_rate, SIGNAL(valueChanged()), this, SLOT(frame_rate_update())); - connect(duration, SIGNAL(valueChanged()), this, SLOT(duration_update())); + connect(percent, SIGNAL(valueChanged()), this, SLOT(percent_update())); + connect(frame_rate, SIGNAL(valueChanged()), this, SLOT(frame_rate_update())); + connect(duration, SIGNAL(valueChanged()), this, SLOT(duration_update())); } void SpeedDialog::run() { - bool enable_frame_rate = false; - bool multiple_audio = false; - maintain_pitch->setEnabled(false); + bool enable_frame_rate = false; + bool multiple_audio = false; + maintain_pitch->setEnabled(false); - default_frame_rate = qSNaN(); - current_frame_rate = qSNaN(); - current_percent = qSNaN(); - default_length = -1; - current_length = -1; + default_frame_rate = qSNaN(); + current_frame_rate = qSNaN(); + current_percent = qSNaN(); + default_length = -1; + current_length = -1; - for (int i=0;ispeed; - if (c->track < 0) { - bool process_video = true; - if (c->media != nullptr && c->media->get_type() == MEDIA_TYPE_FOOTAGE) { - FootagePtr m = c->media->to_footage(); - FootageStream* ms = m->get_stream_from_file_index(true, c->media_stream); - if (ms != nullptr && ms->infinite_length) { - process_video = false; - } - } + // get default frame rate/percentage + clip_percent = c->speed().value; + if (c->track() < 0) { + bool process_video = true; + if (c->media() != nullptr && c->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + FootageStream* ms = c->media_stream(); + if (ms != nullptr && ms->infinite_length) { + process_video = false; + } + } - if (process_video) { - double media_frame_rate = c->getMediaFrameRate(); + if (process_video) { + double media_frame_rate = c->media_frame_rate(); - // get "default" frame rate" - if (enable_frame_rate) { - // check if frame rate is equal to default - if (!qIsNaN(default_frame_rate) && !qFuzzyCompare(media_frame_rate, default_frame_rate)) { - default_frame_rate = qSNaN(); - } - if (!qIsNaN(current_frame_rate) && !qFuzzyCompare(media_frame_rate*c->speed, current_frame_rate)) { - current_frame_rate = qSNaN(); - } - } else { - default_frame_rate = media_frame_rate; - current_frame_rate = media_frame_rate*c->speed; - } + // get "default" frame rate" + if (enable_frame_rate) { + // check if frame rate is equal to default + if (!qIsNaN(default_frame_rate) && !qFuzzyCompare(media_frame_rate, default_frame_rate)) { + default_frame_rate = qSNaN(); + } + if (!qIsNaN(current_frame_rate) && !qFuzzyCompare(media_frame_rate*c->speed().value, current_frame_rate)) { + current_frame_rate = qSNaN(); + } + } else { + default_frame_rate = media_frame_rate; + current_frame_rate = media_frame_rate*c->speed().value; + } - enable_frame_rate = true; - } - } else { - maintain_pitch->setEnabled(true); + enable_frame_rate = true; + } + } else { + maintain_pitch->setEnabled(true); - if (!multiple_audio) { - maintain_pitch->setChecked(c->maintain_audio_pitch); - multiple_audio = true; - } else if (!maintain_pitch->isTristate() && maintain_pitch->isChecked() != c->maintain_audio_pitch) { - maintain_pitch->setCheckState(Qt::PartiallyChecked); - maintain_pitch->setTristate(true); - } - } + if (!multiple_audio) { + maintain_pitch->setChecked(c->speed().maintain_audio_pitch); + multiple_audio = true; + } else if (!maintain_pitch->isTristate() && maintain_pitch->isChecked() != c->speed().maintain_audio_pitch) { + maintain_pitch->setCheckState(Qt::PartiallyChecked); + maintain_pitch->setTristate(true); + } + } - if (i == 0) { - reverse->setChecked(c->reverse); - } else if (c->reverse != reverse->isChecked()) { - reverse->setTristate(true); - reverse->setCheckState(Qt::PartiallyChecked); - } + if (i == 0) { + reverse->setChecked(c->reversed()); + } else if (c->reversed() != reverse->isChecked()) { + reverse->setTristate(true); + reverse->setCheckState(Qt::PartiallyChecked); + } - // get default length - long clip_default_length = qRound(c->getLength() * clip_percent); - if (i == 0) { - current_length = c->getLength(); - default_length = clip_default_length; - current_percent = clip_percent; - } else { - if (current_length != -1 && c->getLength() != current_length) { - current_length = -1; - } - if (default_length != -1 && clip_default_length != default_length) { - default_length = -1; - } - if (!qIsNaN(current_percent) && !qFuzzyCompare(clip_percent, current_percent)) { - current_percent = qSNaN(); - } - } - } + // get default length + long clip_default_length = qRound(c->length() * clip_percent); + if (i == 0) { + current_length = c->length(); + default_length = clip_default_length; + current_percent = clip_percent; + } else { + if (current_length != -1 && c->length() != current_length) { + current_length = -1; + } + if (default_length != -1 && clip_default_length != default_length) { + default_length = -1; + } + if (!qIsNaN(current_percent) && !qFuzzyCompare(clip_percent, current_percent)) { + current_percent = qSNaN(); + } + } + } - frame_rate->set_minimum_value(1); - percent->set_minimum_value(0.0001); - duration->set_minimum_value(1); + frame_rate->set_minimum_value(1); + percent->set_minimum_value(0.0001); + duration->set_minimum_value(1); - frame_rate->setEnabled(enable_frame_rate); - frame_rate->set_default_value(default_frame_rate); - frame_rate->set_value(current_frame_rate, false); - percent->set_value(current_percent, false); - duration->set_default_value(default_length); - duration->set_value((current_length == -1) ? qSNaN() : current_length, false); + frame_rate->setEnabled(enable_frame_rate); + frame_rate->set_default_value(default_frame_rate); + frame_rate->set_value(current_frame_rate, false); + percent->set_value(current_percent, false); + duration->set_default_value(default_length); + duration->set_value((current_length == -1) ? qSNaN() : current_length, false); - exec(); + exec(); } void SpeedDialog::percent_update() { - bool got_fr = false; - double fr_val = qSNaN(); - long len_val = -1; + bool got_fr = false; + double fr_val = qSNaN(); + long len_val = -1; - for (int i=0;iisEnabled() && c->track < 0) { - double clip_fr = c->getMediaFrameRate() * percent->value(); - if (got_fr) { - if (!qIsNaN(fr_val) && !qFuzzyCompare(fr_val, clip_fr)) { - fr_val = qSNaN(); - } - } else { - fr_val = clip_fr; - got_fr = true; - } - } + // get frame rate + if (frame_rate->isEnabled() && c->track() < 0) { + double clip_fr = c->media_frame_rate() * percent->value(); + if (got_fr) { + if (!qIsNaN(fr_val) && !qFuzzyCompare(fr_val, clip_fr)) { + fr_val = qSNaN(); + } + } else { + fr_val = clip_fr; + got_fr = true; + } + } - // get duration - long clip_default_length = qRound(c->getLength() * c->speed); - long new_clip_length = qRound(clip_default_length / percent->value()); - if (i == 0) { - len_val = new_clip_length; - } else if (len_val > -1 && len_val != new_clip_length) { - len_val = -1; - } - } + // get duration + long clip_default_length = qRound(c->length() * c->speed().value); + long new_clip_length = qRound(clip_default_length / percent->value()); + if (i == 0) { + len_val = new_clip_length; + } else if (len_val > -1 && len_val != new_clip_length) { + len_val = -1; + } + } - frame_rate->set_value(fr_val, false); - duration->set_value((len_val == -1) ? qSNaN() : len_val, false); + frame_rate->set_value(fr_val, false); + duration->set_value((len_val == -1) ? qSNaN() : len_val, false); } void SpeedDialog::duration_update() { - double pc_val = qSNaN(); - bool got_fr = false; - double fr_val = qSNaN(); + double pc_val = qSNaN(); + bool got_fr = false; + double fr_val = qSNaN(); - for (int i=0;igetLength() * c->speed); - double clip_pc = clip_default_length / duration->value(); - if (i == 0) { - pc_val = clip_pc; - } else if (!qIsNaN(pc_val) && !qFuzzyCompare(clip_pc, pc_val)) { - pc_val = qSNaN(); - } + // get percent + long clip_default_length = qRound(c->length() * c->speed().value); + double clip_pc = clip_default_length / duration->value(); + if (i == 0) { + pc_val = clip_pc; + } else if (!qIsNaN(pc_val) && !qFuzzyCompare(clip_pc, pc_val)) { + pc_val = qSNaN(); + } - // get frame rate - if (frame_rate->isEnabled() && c->track < 0) { - double clip_fr = c->getMediaFrameRate() * clip_pc; - if (got_fr) { - if (!qIsNaN(fr_val) && !qFuzzyCompare(fr_val, clip_fr)) { - fr_val = qSNaN(); - } - } else { - fr_val = clip_fr; - got_fr = true; - } - } - } + // get frame rate + if (frame_rate->isEnabled() && c->track() < 0) { + double clip_fr = c->media_frame_rate() * clip_pc; + if (got_fr) { + if (!qIsNaN(fr_val) && !qFuzzyCompare(fr_val, clip_fr)) { + fr_val = qSNaN(); + } + } else { + fr_val = clip_fr; + got_fr = true; + } + } + } - frame_rate->set_value(fr_val, false); - percent->set_value(pc_val, false); + frame_rate->set_value(fr_val, false); + percent->set_value(pc_val, false); } void SpeedDialog::frame_rate_update() { - /*double fr = (frame_rate->value()); - double pc = (fr / default_frame_rate); - percent->set_value(pc, false); - duration->set_value(default_length / pc, false);*/ + /*double fr = (frame_rate->value()); + double pc = (fr / default_frame_rate); + percent->set_value(pc, false); + duration->set_value(default_length / pc, false);*/ - double old_pc_val = qSNaN(); - bool got_pc_val = false; - double pc_val = qSNaN(); - bool got_len_val = false; - long len_val = -1; + double old_pc_val = qSNaN(); + bool got_pc_val = false; + double pc_val = qSNaN(); + bool got_len_val = false; + long len_val = -1; - // analyze video clips - for (int i=0;ispeed; - } else if (!qIsNaN(old_pc_val) && !qFuzzyCompare(c->speed, old_pc_val)) { - old_pc_val = qSNaN(); - } + // check if all selected clips are currently the same speed + if (i == 0) { + old_pc_val = c->speed().value; + } else if (!qIsNaN(old_pc_val) && !qFuzzyCompare(c->speed().value, old_pc_val)) { + old_pc_val = qSNaN(); + } - if (c->track < 0) { - // what would the new speed be based on this frame rate - double new_clip_speed = frame_rate->value() / c->getMediaFrameRate(); - if (!got_pc_val) { - pc_val = new_clip_speed; - got_pc_val = true; - } else if (!qIsNaN(pc_val) && !qFuzzyCompare(pc_val, new_clip_speed)) { - pc_val = qSNaN(); - } + if (c->track() < 0) { + // what would the new speed be based on this frame rate + double new_clip_speed = frame_rate->value() / c->media_frame_rate(); + if (!got_pc_val) { + pc_val = new_clip_speed; + got_pc_val = true; + } else if (!qIsNaN(pc_val) && !qFuzzyCompare(pc_val, new_clip_speed)) { + pc_val = qSNaN(); + } - // what would be the new length based on this speed - long new_clip_len = (c->getLength() * c->speed) / new_clip_speed; - if (!got_len_val) { - len_val = new_clip_len; - got_len_val = true; - } else if (len_val > -1 && new_clip_len != len_val) { - len_val = -1; - } - } - } + // what would be the new length based on this speed + long new_clip_len = (c->length() * c->speed().value) / new_clip_speed; + if (!got_len_val) { + len_val = new_clip_len; + got_len_val = true; + } else if (len_val > -1 && new_clip_len != len_val) { + len_val = -1; + } + } + } - // analyze audio clips - for (int i=0;itrack >= 0) { - long new_clip_len = (qIsNaN(old_pc_val) || qIsNaN(pc_val)) ? c->getLength() : ((c->getLength() * c->speed) / pc_val); - if (len_val > -1 && new_clip_len != len_val) { - len_val = -1; - break; - } - } - } + if (c->track() >= 0) { + long new_clip_len = (qIsNaN(old_pc_val) || qIsNaN(pc_val)) ? c->length() : ((c->length() * c->speed().value) / pc_val); + if (len_val > -1 && new_clip_len != len_val) { + len_val = -1; + break; + } + } + } - percent->set_value(pc_val, false); - duration->set_value((len_val == -1) ? qSNaN() : len_val, false); + percent->set_value(pc_val, false); + duration->set_value((len_val == -1) ? qSNaN() : len_val, false); } void set_speed(ComboAction* ca, ClipPtr c, double speed, bool ripple, long& ep, long& lr) { - panel_timeline->deselect_area(c->timeline_in, c->timeline_out, c->track); + panel_timeline->deselect_area(c->timeline_in(), c->timeline_out(), c->track()); - long proposed_out = c->timeline_out; - double multiplier = (c->speed / speed); - proposed_out = c->timeline_in + (c->getLength() * multiplier); - ca->append(new SetSpeedAction(c, speed)); - if (!ripple && proposed_out > c->timeline_out) { - for (int i=0;isequence->clips.size();i++) { + long proposed_out = c->timeline_out(); + double multiplier = (c->speed().value / speed); + proposed_out = c->timeline_in() + (c->length() * multiplier); + ca->append(new SetSpeedAction(c, speed)); + if (!ripple && proposed_out > c->timeline_out()) { + for (int i=0;isequence->clips.size();i++) { ClipPtr compare = c->sequence->clips.at(i); - if (compare != nullptr - && compare->track == c->track - && compare->timeline_in >= c->timeline_out && compare->timeline_in < proposed_out) { - proposed_out = compare->timeline_in; - } - } - } - ep = qMin(ep, c->timeline_out); - lr = qMax(lr, proposed_out - c->timeline_out); - move_clip(ca, c, c->timeline_in, proposed_out, c->clip_in * multiplier, c->track); + if (compare != nullptr + && compare->track() == c->track() + && compare->timeline_in() >= c->timeline_out() && compare->timeline_in() < proposed_out) { + proposed_out = compare->timeline_in(); + } + } + } + ep = qMin(ep, c->timeline_out()); + lr = qMax(lr, proposed_out - c->timeline_out()); + move_clip(ca, c, c->timeline_in(), proposed_out, qRound(c->clip_in() * multiplier), c->track()); - c->refactor_frame_rate(ca, multiplier, false); + c->refactor_frame_rate(ca, multiplier, false); - Selection sel; - sel.in = c->timeline_in; - sel.out = proposed_out; - sel.track = c->track; - olive::ActiveSequence->selections.append(sel); + Selection sel; + sel.in = c->timeline_in(); + sel.out = proposed_out; + sel.track = c->track(); + olive::ActiveSequence->selections.append(sel); } void SpeedDialog::accept() { - ComboAction* ca = new ComboAction(); + ComboAction* ca = new ComboAction(); - SetSelectionsCommand* sel_command = new SetSelectionsCommand(olive::ActiveSequence); - sel_command->old_data = olive::ActiveSequence->selections; + // undoable action for setting "maintain audio pitch" + SetClipProperty* audio_pitch_action = new SetClipProperty(kSetClipPropertyMaintainAudioPitch); - long earliest_point = LONG_MAX; - long longest_ripple = LONG_MIN; + // undoable action for setting "reversed" + SetClipProperty* reversed_action = new SetClipProperty(kSetClipPropertyReversed); - for (int i=0;iopen) close_clip(c, true); + // undoable action for restoring clip selections + SetSelectionsCommand* sel_command = new SetSelectionsCommand(olive::ActiveSequence); + sel_command->old_data = olive::ActiveSequence->selections; - if (c->track >= 0 - && maintain_pitch->checkState() != Qt::PartiallyChecked - && c->maintain_audio_pitch != maintain_pitch->isChecked()) { - ca->append(new SetBool(&c->maintain_audio_pitch, maintain_pitch->isChecked())); - } + // variables used to calculate ripples + long earliest_point = LONG_MAX; + long longest_ripple = LONG_MIN; - if (reverse->checkState() != Qt::PartiallyChecked && c->reverse != reverse->isChecked()) { - long new_clip_in = (c->getMaximumLength() - (c->getLength() + c->clip_in)); - move_clip(ca, c, c->timeline_in, c->timeline_out, new_clip_in, c->track); - c->clip_in = new_clip_in; - ca->append(new SetBool(&c->reverse, reverse->isChecked())); - } - } + for (int i=0;ivalue())) { - // simply set speed - for (int i=0;ivalue(), ripple->isChecked(), earliest_point, longest_ripple); - } - } else if (!qIsNaN(frame_rate->value())) { - bool can_change_all = true; - double cached_speed; - double cached_fr = qSNaN(); + // make sure the clip is closed while we're making changes + if (c->IsOpen()) { + c->Close(true); + } - // see if we can use the frame rate to change all the speeds - for (int i=0;ispeed; - } else if (!qFuzzyCompare(cached_speed, c->speed)) { - can_change_all = false; - } - if (c->track < 0) { - if (qIsNaN(cached_fr)) { - cached_fr = c->getMediaFrameRate(); - } else if (!qFuzzyCompare(cached_fr, c->getMediaFrameRate())) { - can_change_all = false; - break; - } - } - } + // set maintain audio pitch if the user made a selection + if (c->track() >= 0 + && maintain_pitch->checkState() != Qt::PartiallyChecked + && c->speed().maintain_audio_pitch != maintain_pitch->isChecked()) { + audio_pitch_action->AddSetting(c, maintain_pitch->isChecked()); + } - // make changes - for (int i=0;itrack < 0) { - set_speed(ca, c, frame_rate->value() / c->getMediaFrameRate(), ripple->isChecked(), earliest_point, longest_ripple); - } else if (can_change_all) { - set_speed(ca, c, frame_rate->value() / cached_fr, ripple->isChecked(), earliest_point, longest_ripple); - } - } - } else if (!qIsNaN(duration->value())) { - // simply set duration - for (int i=0;igetLength() * c->speed) / duration->value(), ripple->isChecked(), earliest_point, longest_ripple); - } - } + // set reverse setting if the user made a selection + if (reverse->checkState() != Qt::PartiallyChecked && c->reversed() != reverse->isChecked()) { + long new_clip_in = (c->media_length() - (c->length() + c->clip_in())); + move_clip(ca, c, c->timeline_in(), c->timeline_out(), new_clip_in, c->track()); + c->set_clip_in(new_clip_in); + reversed_action->AddSetting(c, reverse->isChecked()); + } + } - if (ripple->isChecked()) { - ripple_clips(ca, clips.at(0)->sequence, earliest_point, longest_ripple); - } + // setting the actual speed + if (!qIsNaN(percent->value())) { - sel_command->new_data = olive::ActiveSequence->selections; - ca->append(sel_command); + // if we have a percentage value, use that on all the clips + for (int i=0;ivalue(), ripple->isChecked(), earliest_point, longest_ripple); + } - olive::UndoStack.push(ca); + } else if (!qIsNaN(frame_rate->value())) { - update_ui(true); - QDialog::accept(); + // if the user changed the speed by changing the frame rate, + bool can_change_all = true; + double cached_speed; + double cached_fr = qSNaN(); + + // see if we can use the frame rate to change all the speeds + for (int i=0;ispeed().value; + } else if (!qFuzzyCompare(cached_speed, c->speed().value)) { + can_change_all = false; + } + if (c->track() < 0) { + if (qIsNaN(cached_fr)) { + cached_fr = c->media_frame_rate(); + } else if (!qFuzzyCompare(cached_fr, c->media_frame_rate())) { + can_change_all = false; + break; + } + } + } + + // make changes + for (int i=0;itrack() < 0) { + set_speed(ca, c, frame_rate->value() / c->media_frame_rate(), ripple->isChecked(), earliest_point, longest_ripple); + } else if (can_change_all) { + set_speed(ca, c, frame_rate->value() / cached_fr, ripple->isChecked(), earliest_point, longest_ripple); + } + } + } else if (!qIsNaN(duration->value())) { + // simply set duration + for (int i=0;ilength() * c->speed().value) / duration->value(), ripple->isChecked(), earliest_point, longest_ripple); + } + } + + if (ripple->isChecked()) { + ripple_clips(ca, clips.at(0)->sequence, earliest_point, longest_ripple); + } + + sel_command->new_data = olive::ActiveSequence->selections; + ca->append(sel_command); + + ca->append(reversed_action); + ca->append(audio_pitch_action); + + olive::UndoStack.push(ca); + + update_ui(true); + QDialog::accept(); } diff --git a/docs/doxygen_objdb_3636.tmp b/docs/doxygen_objdb_3636.tmp deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/doxygen_objdb_6680.tmp b/docs/doxygen_objdb_6680.tmp deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/doxygen_objdb_6756.tmp b/docs/doxygen_objdb_6756.tmp deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/doxygen_sqlite3.db b/docs/doxygen_sqlite3.db deleted file mode 100644 index 81c62cd1f..000000000 Binary files a/docs/doxygen_sqlite3.db and /dev/null differ diff --git a/docs/html/_i_s_s_u_e___t_e_m_p_l_a_t_e_8md.html b/docs/html/_i_s_s_u_e___t_e_m_p_l_a_t_e_8md.html deleted file mode 100644 index c40edbe5a..000000000 --- a/docs/html/_i_s_s_u_e___t_e_m_p_l_a_t_e_8md.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - -Olive: ISSUE_TEMPLATE.md File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ISSUE_TEMPLATE.md File Reference
-
-
-
- - - - diff --git a/docs/html/_r_e_a_d_m_e_8md.html b/docs/html/_r_e_a_d_m_e_8md.html deleted file mode 100644 index 07f293455..000000000 --- a/docs/html/_r_e_a_d_m_e_8md.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - -Olive: README.md File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
README.md File Reference
-
-
-
- - - - diff --git a/docs/html/aboutdialog_8cpp.html b/docs/html/aboutdialog_8cpp.html deleted file mode 100644 index bcb58a694..000000000 --- a/docs/html/aboutdialog_8cpp.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: dialogs/aboutdialog.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
aboutdialog.cpp File Reference
-
-
-
#include "aboutdialog.h"
-#include <QVBoxLayout>
-#include <QLabel>
-#include <QDialogButtonBox>
-
- - - - diff --git a/docs/html/aboutdialog_8h.html b/docs/html/aboutdialog_8h.html deleted file mode 100644 index 6416325af..000000000 --- a/docs/html/aboutdialog_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: dialogs/aboutdialog.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
aboutdialog.h File Reference
-
-
-
#include <QDialog>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  AboutDialog
 
-
- - - - diff --git a/docs/html/aboutdialog_8h_source.html b/docs/html/aboutdialog_8h_source.html deleted file mode 100644 index 7e4eda9bd..000000000 --- a/docs/html/aboutdialog_8h_source.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: dialogs/aboutdialog.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
aboutdialog.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef ABOUTDIALOG_H
22 #define ABOUTDIALOG_H
23 
24 #include <QDialog>
25 
26 class AboutDialog : public QDialog
27 {
28  Q_OBJECT
29 
30 public:
31  explicit AboutDialog(QWidget *parent = 0);
32 };
33 
34 #endif // ABOUTDIALOG_H
AboutDialog(QWidget *parent=0)
Definition: aboutdialog.cpp:27
-
Definition: aboutdialog.h:26
-
- - - - diff --git a/docs/html/actionsearch_8cpp.html b/docs/html/actionsearch_8cpp.html deleted file mode 100644 index 6fbf1e722..000000000 --- a/docs/html/actionsearch_8cpp.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: dialogs/actionsearch.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
actionsearch.cpp File Reference
-
-
-
#include "actionsearch.h"
-#include <QVBoxLayout>
-#include <QKeyEvent>
-#include <QMenuBar>
-#include <QLabel>
-#include "mainwindow.h"
-
- - - - diff --git a/docs/html/actionsearch_8h.html b/docs/html/actionsearch_8h.html deleted file mode 100644 index 45b05d62f..000000000 --- a/docs/html/actionsearch_8h.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Olive: dialogs/actionsearch.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
actionsearch.h File Reference
-
-
-
#include <QDialog>
-#include <QLineEdit>
-#include <QListWidget>
-#include <QMenu>
-
-

Go to the source code of this file.

- - - - - - - - -

-Classes

class  ActionSearchList
 
class  ActionSearch
 
class  ActionSearchEntry
 
-
- - - - diff --git a/docs/html/actionsearch_8h_source.html b/docs/html/actionsearch_8h_source.html deleted file mode 100644 index 54a462994..000000000 --- a/docs/html/actionsearch_8h_source.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Olive: dialogs/actionsearch.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
actionsearch.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef ACTIONSEARCH_H
22 #define ACTIONSEARCH_H
23 
24 #include <QDialog>
25 #include <QLineEdit>
26 #include <QListWidget>
27 #include <QMenu>
28 
29 class ActionSearchList : public QListWidget {
30  Q_OBJECT
31 public:
32  ActionSearchList(QWidget* parent);
33 protected:
34  void mouseDoubleClickEvent(QMouseEvent *event);
35 signals:
36  void dbl_click();
37 };
38 
39 class ActionSearch : public QDialog
40 {
41  Q_OBJECT
42 public:
43  ActionSearch(QWidget* parent = nullptr);
44 private slots:
45  void search_update(const QString& s, const QString &p = nullptr, QMenu *parent = nullptr);
46  void perform_action();
47  void move_selection_up();
48  void move_selection_down();
49 private:
51 };
52 
53 class ActionSearchEntry : public QLineEdit {
54  Q_OBJECT
55 public:
56  ActionSearchEntry(QWidget* parent);
57 protected:
58  void keyPressEvent(QKeyEvent * event);
59 signals:
60  void moveSelectionUp();
61  void moveSelectionDown();
62 };
63 
64 #endif // ACTIONSEARCH_H
ActionSearchList * list_widget
Definition: actionsearch.h:50
-
Definition: actionsearch.h:29
-
void keyPressEvent(QKeyEvent *event)
Definition: actionsearch.cpp:130
-
ActionSearchEntry(QWidget *parent)
Definition: actionsearch.cpp:128
-
void moveSelectionDown()
-
void move_selection_down()
Definition: actionsearch.cpp:117
- -
void mouseDoubleClickEvent(QMouseEvent *event)
Definition: actionsearch.cpp:145
-
void search_update(const QString &s, const QString &p=nullptr, QMenu *parent=nullptr)
Definition: actionsearch.cpp:63
-
Definition: actionsearch.h:39
-
void moveSelectionUp()
-
ActionSearchList(QWidget *parent)
Definition: actionsearch.cpp:143
-
void perform_action()
Definition: actionsearch.cpp:96
-
ActionSearch(QWidget *parent=nullptr)
Definition: actionsearch.cpp:30
-
Definition: actionsearch.h:53
-
void move_selection_up()
Definition: actionsearch.cpp:106
-
- - - - diff --git a/docs/html/advancedvideodialog_8cpp.html b/docs/html/advancedvideodialog_8cpp.html deleted file mode 100644 index a2f897611..000000000 --- a/docs/html/advancedvideodialog_8cpp.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: dialogs/advancedvideodialog.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
advancedvideodialog.cpp File Reference
-
-
-
#include "advancedvideodialog.h"
-#include <QDialogButtonBox>
-#include <QGridLayout>
-#include <QLabel>
-#include <QComboBox>
-#include <QDebug>
-#include <libavcodec/avcodec.h>
-#include <libavutil/pixdesc.h>
-
- - - - diff --git a/docs/html/advancedvideodialog_8h.html b/docs/html/advancedvideodialog_8h.html deleted file mode 100644 index 6c2c6ba62..000000000 --- a/docs/html/advancedvideodialog_8h.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: dialogs/advancedvideodialog.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
advancedvideodialog.h File Reference
-
-
-
#include <QDialog>
-#include <QComboBox>
-#include "io/exportthread.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  AdvancedVideoDialog
 
-
- - - - diff --git a/docs/html/advancedvideodialog_8h_source.html b/docs/html/advancedvideodialog_8h_source.html deleted file mode 100644 index 346178fc3..000000000 --- a/docs/html/advancedvideodialog_8h_source.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: dialogs/advancedvideodialog.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
advancedvideodialog.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef ADVANCEDVIDEODIALOG_H
22 #define ADVANCEDVIDEODIALOG_H
23 
24 #include <QDialog>
25 #include <QComboBox>
26 
27 #include "io/exportthread.h"
28 
29 class AdvancedVideoDialog : public QDialog {
30  Q_OBJECT
31 public:
32  AdvancedVideoDialog(QWidget* parent,
33  int encoding_codec,
34  VideoCodecParams& iparams);
35 
36 public slots:
37  virtual void accept() override;
38 private:
40 
41  QComboBox* pix_fmt_combo;
42 };
43 
44 #endif // ADVANCEDVIDEODIALOG_H
VideoCodecParams & params
Definition: advancedvideodialog.h:39
-
Definition: advancedvideodialog.h:29
- -
Definition: exportthread.h:67
-
AdvancedVideoDialog(QWidget *parent, int encoding_codec, VideoCodecParams &iparams)
Definition: advancedvideodialog.cpp:35
-
QComboBox * pix_fmt_combo
Definition: advancedvideodialog.h:41
-
virtual void accept() override
Definition: advancedvideodialog.cpp:84
-
- - - - diff --git a/docs/html/annotated.html b/docs/html/annotated.html deleted file mode 100644 index a186fbda0..000000000 --- a/docs/html/annotated.html +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - - -Olive: Class List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Nolive
 C_AEffect
 C_VstEvent
 C_VstEvents
 C_VstMidiEvent
 C_VstParameterProperties
 C_VstTimeInfo
 CAboutDialog
 CActionSearch
 CActionSearchEntry
 CActionSearchList
 CAddClipCommand
 CAddEffectCommand
 CAddMarkerAction
 CAddMediaCommand
 CAddTransitionCommand
 CAdvancedVideoDialog
 CAudioMonitor
 CAudioNoiseEffect
 CAudioSenderThread
 CCacher
 CChangeSequenceAction
 CCheckboxCommand
 CCheckboxEx
 CClickableLabelThe ClickableLabel class
 CClip
 CCloseAllClipsCommand
 CCollapsibleWidget
 CCollapsibleWidgetHeader
 CColorButton
 CColorCommand
 CComboActionThe ComboAction class
 CComboBoxEx
 CComboBoxExCommand
 CComposeSequenceParamsThe ComposeSequenceParams struct
 CConfigThe Config struct
 CCornerPinEffect
 CCrossDissolveTransition
 CCubeTransition
 CDebugDialog
 CDeleteClipAction
 CDeleteMarkerAction
 CDeleteMediaCommand
 CDeleteTransitionCommand
 CDemoNotice
 CEditSequenceCommand
 CEffect
 CEffectControls
 CEffectDeleteCommand
 CEffectField
 CEffectFieldUndo
 CEffectGizmo
 CEffectInit
 CEffectKeyframe
 CEffectMeta
 CEffectRow
 CEffectsArea
 CEmbeddedFileChooser
 CExponentialFadeTransition
 CExportDialog
 CExportParams
 CExportThread
 CFillLeftRightEffect
 CFlowLayout
 CFocusFilterThe FocusFilter class
 CFontCombobox
 CFootage
 CFootageStream
 CFrei0rEffect
 CGhost
 CGLTextureCoords
 CGraphEditor
 CGraphView
 CKeyframeDelete
 CKeyframeFieldSet
 CKeyframeNavigator
 CKeyframeView
 CKeySequenceEditor
 CLabelSliderThe LabelSlider class
 CLinearFadeTransition
 CLinkCommand
 CLoadDialog
 CLoadThread
 CLogarithmicFadeTransition
 CMainWindow
 CMarker
 CMedia
 CMediaIconService
 CMediaMove
 CMediaPropertiesDialog
 CMediaRename
 CMenuHelper
 CModifyTransitionCommand
 CMoveClipAction
 CMoveEffectCommand
 CMoveMarkerAction
 CNewSequenceCommand
 CNewSequenceDialog
 COliveAction
 COliveGlobalThe Olive Global class
 COTreeView
 CPanEffect
 CPanel
 CPlayButton
 CPreferencesDialog
 CPreviewGenerator
 CProject
 CProjectFilter
 CProjectModel
 CProxyDialog
 CProxyGenerator
 CProxyInfo
 CQPainterWrapper
 CRefreshClips
 CReloadEffectsCommand
 CRemoveClipsFromClipboard
 CRenameClipCommand
 CRenderThread
 CReplaceClipMediaCommand
 CReplaceClipMediaDialog
 CReplaceMediaCommand
 CResizableScrollBar
 CRippleAction
 CRuntimeConfigThe RuntimeConfig struct
 CScrollArea
 CSelection
 CSequence
 CSetAutoscaleAction
 CSetBool
 CSetDouble
 CSetEffectData
 CSetInt
 CSetKeyframing
 CSetLong
 CSetPointer
 CSetQVariant
 CSetSelectionsCommand
 CSetSpeedAction
 CSetString
 CSetTimelineInOutCommand
 CShakeEffect
 CSolidEffect
 CSourceIconView
 CSourcesCommon
 CSourceTable
 CSpeedDialog
 CTextEditDialog
 CTextEditEx
 CTextEffect
 CTimecodeEffect
 CTimeline
 CTimelineHeader
 CTimelineTrackHeight
 CTimelineWidget
 CToneEffect
 CTransformEffect
 CTransition
 CUpdateFootageTooltip
 CUpdateViewer
 CVideoCodecParams
 CViewer
 CViewerContainer
 CViewerWidget
 CViewerWindow
 CVoidEffect
 CVolumeEffect
 CVSTHost
 CVSTRect
-
-
- - - - diff --git a/docs/html/audio_8cpp.html b/docs/html/audio_8cpp.html deleted file mode 100644 index 37f52e8f8..000000000 --- a/docs/html/audio_8cpp.html +++ /dev/null @@ -1,654 +0,0 @@ - - - - - - - -Olive: playback/audio.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
audio.cpp File Reference
-
-
-
#include "audio.h"
-#include "oliveglobal.h"
-#include "project/sequence.h"
-#include "panels/panels.h"
-#include "io/config.h"
-#include "ui/audiomonitor.h"
-#include "playback/playback.h"
-#include "debug.h"
-#include <QApplication>
-#include <QAudioOutput>
-#include <QAudioInput>
-#include <QtMath>
-#include <QFile>
-#include <QDir>
-#include <QComboBox>
-#include <libavcodec/avcodec.h>
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

bool is_audio_device_set ()
 
QAudioDeviceInfo get_audio_device (QAudio::Mode mode)
 
void init_audio ()
 
void stop_audio ()
 
void clear_audio_ibuffer ()
 
int current_audio_freq ()
 
qint64 get_buffer_offset_from_frame (double framerate, long frame)
 
double log_volume (double linear)
 
void int32_to_char_array (qint32 i, char *array)
 
void write_wave_header (QFile &f, const QAudioFormat &format)
 
void write_wave_trailer (QFile &f)
 
bool start_recording ()
 
void stop_recording ()
 
QString get_recorded_audio_filename ()
 
void combobox_audio_sample_rates (QComboBox *combobox)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Variables

QAudioOutput * audio_output
 
QIODevice * audio_io_device
 
bool audio_device_set = false
 
bool audio_scrub = false
 
QMutex audio_write_lock
 
QAudioInput * audio_input = nullptr
 
QFile output_recording
 
bool audio_rendering = false
 
bool recording = false
 
qint8 audio_ibuffer [audio_ibuffer_size]
 
qint64 audio_ibuffer_read = 0
 
long audio_ibuffer_frame = 0
 
double audio_ibuffer_timecode = 0
 
AudioSenderThreadaudio_thread = nullptr
 
-

Function Documentation

- -

◆ clear_audio_ibuffer()

- -
-
- - - - - - - -
void clear_audio_ibuffer ()
-
- -
-
- -

◆ combobox_audio_sample_rates()

- -
-
- - - - - - - - -
void combobox_audio_sample_rates (QComboBox * combobox)
-
- -
-
- -

◆ current_audio_freq()

- -
-
- - - - - - - -
int current_audio_freq ()
-
- -
-
- -

◆ get_audio_device()

- -
-
- - - - - - - - -
QAudioDeviceInfo get_audio_device (QAudio::Mode mode)
-
- -
-
- -

◆ get_buffer_offset_from_frame()

- -
-
- - - - - - - - - - - - - - - - - - -
qint64 get_buffer_offset_from_frame (double framerate,
long frame 
)
-
- -
-
- -

◆ get_recorded_audio_filename()

- -
-
- - - - - - - -
QString get_recorded_audio_filename ()
-
- -
-
- -

◆ init_audio()

- -
-
- - - - - - - -
void init_audio ()
-
- -
-
- -

◆ int32_to_char_array()

- -
-
- - - - - - - - - - - - - - - - - - -
void int32_to_char_array (qint32 i,
char * array 
)
-
- -
-
- -

◆ is_audio_device_set()

- -
-
- - - - - - - -
bool is_audio_device_set ()
-
- -
-
- -

◆ log_volume()

- -
-
- - - - - - - - -
double log_volume (double linear)
-
- -
-
- -

◆ start_recording()

- -
-
- - - - - - - -
bool start_recording ()
-
- -
-
- -

◆ stop_audio()

- -
-
- - - - - - - -
void stop_audio ()
-
- -
-
- -

◆ stop_recording()

- -
-
- - - - - - - -
void stop_recording ()
-
- -
-
- -

◆ write_wave_header()

- -
-
- - - - - - - - - - - - - - - - - - -
void write_wave_header (QFile & f,
const QAudioFormat & format 
)
-
- -
-
- -

◆ write_wave_trailer()

- -
-
- - - - - - - - -
void write_wave_trailer (QFile & f)
-
- -
-
-

Variable Documentation

- -

◆ audio_device_set

- -
-
- - - - -
bool audio_device_set = false
-
- -
-
- -

◆ audio_ibuffer

- -
-
- - - - -
qint8 audio_ibuffer[audio_ibuffer_size]
-
- -
-
- -

◆ audio_ibuffer_frame

- -
-
- - - - -
long audio_ibuffer_frame = 0
-
- -
-
- -

◆ audio_ibuffer_read

- -
-
- - - - -
qint64 audio_ibuffer_read = 0
-
- -
-
- -

◆ audio_ibuffer_timecode

- -
-
- - - - -
double audio_ibuffer_timecode = 0
-
- -
-
- -

◆ audio_input

- -
-
- - - - -
QAudioInput* audio_input = nullptr
-
- -
-
- -

◆ audio_io_device

- -
-
- - - - -
QIODevice* audio_io_device
-
- -
-
- -

◆ audio_output

- -
-
- - - - -
QAudioOutput* audio_output
-
- -
-
- -

◆ audio_rendering

- -
-
- - - - -
bool audio_rendering = false
-
- -
-
- -

◆ audio_scrub

- -
-
- - - - -
bool audio_scrub = false
-
- -
-
- -

◆ audio_thread

- -
-
- - - - -
AudioSenderThread* audio_thread = nullptr
-
- -
-
- -

◆ audio_write_lock

- -
-
- - - - -
QMutex audio_write_lock
-
- -
-
- -

◆ output_recording

- -
-
- - - - -
QFile output_recording
-
- -
-
- -

◆ recording

- -
-
- - - - -
bool recording = false
-
- -
-
-
- - - - diff --git a/docs/html/audio_8h.html b/docs/html/audio_8h.html deleted file mode 100644 index f5c82f31d..000000000 --- a/docs/html/audio_8h.html +++ /dev/null @@ -1,527 +0,0 @@ - - - - - - - -Olive: playback/audio.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
audio.h File Reference
-
-
-
#include <QVector>
-#include <QThread>
-#include <QWaitCondition>
-#include <QMutex>
-#include <QIODevice>
-#include <QAudioOutput>
-#include <QComboBox>
-#include "project/sequence.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  AudioSenderThread
 
- - - -

-Macros

#define audio_ibuffer_size   192000
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

double log_volume (double linear)
 
void clear_audio_ibuffer ()
 
int current_audio_freq ()
 
bool is_audio_device_set ()
 
void init_audio ()
 
void stop_audio ()
 
qint64 get_buffer_offset_from_frame (double framerate, long frame)
 
bool start_recording ()
 
void stop_recording ()
 
QString get_recorded_audio_filename ()
 
void combobox_audio_sample_rates (QComboBox *combobox)
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Variables

QAudioOutput * audio_output
 
QIODevice * audio_io_device
 
AudioSenderThreadaudio_thread
 
QMutex audio_write_lock
 
qint8 audio_ibuffer [audio_ibuffer_size]
 
qint64 audio_ibuffer_read
 
long audio_ibuffer_frame
 
double audio_ibuffer_timecode
 
bool audio_scrub
 
bool recording
 
bool audio_rendering
 
-

Macro Definition Documentation

- -

◆ audio_ibuffer_size

- -
-
- - - - -
#define audio_ibuffer_size   192000
-
- -
-
-

Function Documentation

- -

◆ clear_audio_ibuffer()

- -
-
- - - - - - - -
void clear_audio_ibuffer ()
-
- -
-
- -

◆ combobox_audio_sample_rates()

- -
-
- - - - - - - - -
void combobox_audio_sample_rates (QComboBox * combobox)
-
- -
-
- -

◆ current_audio_freq()

- -
-
- - - - - - - -
int current_audio_freq ()
-
- -
-
- -

◆ get_buffer_offset_from_frame()

- -
-
- - - - - - - - - - - - - - - - - - -
qint64 get_buffer_offset_from_frame (double framerate,
long frame 
)
-
- -
-
- -

◆ get_recorded_audio_filename()

- -
-
- - - - - - - -
QString get_recorded_audio_filename ()
-
- -
-
- -

◆ init_audio()

- -
-
- - - - - - - -
void init_audio ()
-
- -
-
- -

◆ is_audio_device_set()

- -
-
- - - - - - - -
bool is_audio_device_set ()
-
- -
-
- -

◆ log_volume()

- -
-
- - - - - - - - -
double log_volume (double linear)
-
- -
-
- -

◆ start_recording()

- -
-
- - - - - - - -
bool start_recording ()
-
- -
-
- -

◆ stop_audio()

- -
-
- - - - - - - -
void stop_audio ()
-
- -
-
- -

◆ stop_recording()

- -
-
- - - - - - - -
void stop_recording ()
-
- -
-
-

Variable Documentation

- -

◆ audio_ibuffer

- -
-
- - - - -
qint8 audio_ibuffer[audio_ibuffer_size]
-
- -
-
- -

◆ audio_ibuffer_frame

- -
-
- - - - -
long audio_ibuffer_frame
-
- -
-
- -

◆ audio_ibuffer_read

- -
-
- - - - -
qint64 audio_ibuffer_read
-
- -
-
- -

◆ audio_ibuffer_timecode

- -
-
- - - - -
double audio_ibuffer_timecode
-
- -
-
- -

◆ audio_io_device

- -
-
- - - - -
QIODevice* audio_io_device
-
- -
-
- -

◆ audio_output

- -
-
- - - - -
QAudioOutput* audio_output
-
- -
-
- -

◆ audio_rendering

- -
-
- - - - -
bool audio_rendering
-
- -
-
- -

◆ audio_scrub

- -
-
- - - - -
bool audio_scrub
-
- -
-
- -

◆ audio_thread

- -
-
- - - - -
AudioSenderThread* audio_thread
-
- -
-
- -

◆ audio_write_lock

- -
-
- - - - -
QMutex audio_write_lock
-
- -
-
- -

◆ recording

- -
-
- - - - -
bool recording
-
- -
-
-
- - - - diff --git a/docs/html/audio_8h_source.html b/docs/html/audio_8h_source.html deleted file mode 100644 index 003df2d56..000000000 --- a/docs/html/audio_8h_source.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -Olive: playback/audio.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
audio.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef AUDIO_H
22 #define AUDIO_H
23 
24 #include <QVector>
25 #include <QThread>
26 #include <QWaitCondition>
27 #include <QMutex>
28 #include <QIODevice>
29 #include <QAudioOutput>
30 #include <QComboBox>
31 
32 #include "project/sequence.h"
33 
34 class AudioSenderThread : public QThread {
35  Q_OBJECT
36 public:
38  void run();
39  void stop();
40  QWaitCondition cond;
41  bool close;
42  QMutex lock;
43 public slots:
44  void notifyReceiver();
45 private:
46  QVector<qint16> samples;
47  int send_audio_to_output(qint64 offset, int max);
48 };
49 
50 double log_volume(double linear);
51 
52 extern QAudioOutput* audio_output;
53 extern QIODevice* audio_io_device;
55 extern QMutex audio_write_lock;
56 
57 #define audio_ibuffer_size 192000
58 extern qint8 audio_ibuffer[audio_ibuffer_size];
59 extern qint64 audio_ibuffer_read;
60 extern long audio_ibuffer_frame;
61 extern double audio_ibuffer_timecode;
62 extern bool audio_scrub;
63 extern bool recording;
64 extern bool audio_rendering;
65 void clear_audio_ibuffer();
66 
67 int current_audio_freq();
68 
69 bool is_audio_device_set();
70 
71 void init_audio();
72 void stop_audio();
73 qint64 get_buffer_offset_from_frame(double framerate, long frame);
74 
75 bool start_recording();
76 void stop_recording();
78 
79 void combobox_audio_sample_rates(QComboBox* combobox);
80 
81 #endif // AUDIO_H
QMutex audio_write_lock
Definition: audio.cpp:50
-
QIODevice * audio_io_device
Definition: audio.cpp:47
-
void stop_recording()
Definition: audio.cpp:375
-
qint64 get_buffer_offset_from_frame(double framerate, long frame)
Definition: audio.cpp:158
- -
void stop()
Definition: audio.cpp:172
-
void stop_audio()
Definition: audio.cpp:135
-
int current_audio_freq()
Definition: audio.cpp:154
-
void init_audio()
Definition: audio.cpp:96
-
QAudioOutput * audio_output
Definition: audio.cpp:46
-
AudioSenderThread * audio_thread
Definition: audio.cpp:61
-
#define audio_ibuffer_size
Definition: audio.h:57
-
double audio_ibuffer_timecode
Definition: audio.cpp:59
-
double log_volume(double linear)
Definition: audio.cpp:244
-
void run()
Definition: audio.cpp:182
-
void combobox_audio_sample_rates(QComboBox *combobox)
Definition: audio.cpp:393
-
qint8 audio_ibuffer[audio_ibuffer_size]
Definition: audio.cpp:56
-
int send_audio_to_output(qint64 offset, int max)
Definition: audio.cpp:209
-
QWaitCondition cond
Definition: audio.h:40
-
QVector< qint16 > samples
Definition: audio.h:46
-
Definition: audio.h:34
-
void clear_audio_ibuffer()
Definition: audio.cpp:145
-
bool close
Definition: audio.h:41
-
long audio_ibuffer_frame
Definition: audio.cpp:58
-
bool start_recording()
Definition: audio.cpp:325
-
QMutex lock
Definition: audio.h:42
-
bool audio_scrub
Definition: audio.cpp:49
-
QString get_recorded_audio_filename()
Definition: audio.cpp:389
-
bool is_audio_device_set()
Definition: audio.cpp:63
-
qint64 audio_ibuffer_read
Definition: audio.cpp:57
-
void notifyReceiver()
Definition: audio.cpp:178
-
bool audio_rendering
Definition: audio.cpp:53
-
bool recording
Definition: audio.cpp:54
-
AudioSenderThread()
Definition: audio.cpp:168
-
- - - - diff --git a/docs/html/audiomonitor_8cpp.html b/docs/html/audiomonitor_8cpp.html deleted file mode 100644 index bd8f4e362..000000000 --- a/docs/html/audiomonitor_8cpp.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Olive: ui/audiomonitor.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
audiomonitor.cpp File Reference
-
-
-
#include "audiomonitor.h"
-#include "project/sequence.h"
-#include "playback/audio.h"
-#include "panels/panels.h"
-#include "panels/timeline.h"
-#include <QPainter>
-#include <QLinearGradient>
-#include <QtMath>
-#include <QDebug>
-#include "libavformat/avformat.h"
-
- - - - - -

-Macros

#define AUDIO_MONITOR_PEAK_HEIGHT   15
 
#define AUDIO_MONITOR_GAP   3
 
-

Macro Definition Documentation

- -

◆ AUDIO_MONITOR_GAP

- -
-
- - - - -
#define AUDIO_MONITOR_GAP   3
-
- -
-
- -

◆ AUDIO_MONITOR_PEAK_HEIGHT

- -
-
- - - - -
#define AUDIO_MONITOR_PEAK_HEIGHT   15
-
- -
-
-
- - - - diff --git a/docs/html/audiomonitor_8h.html b/docs/html/audiomonitor_8h.html deleted file mode 100644 index e17e337a1..000000000 --- a/docs/html/audiomonitor_8h.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: ui/audiomonitor.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
audiomonitor.h File Reference
-
-
-
#include <QWidget>
-#include <QTimer>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  AudioMonitor
 
-
- - - - diff --git a/docs/html/audiomonitor_8h_source.html b/docs/html/audiomonitor_8h_source.html deleted file mode 100644 index a6164351e..000000000 --- a/docs/html/audiomonitor_8h_source.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: ui/audiomonitor.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
audiomonitor.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef AUDIOMONITOR_H
22 #define AUDIOMONITOR_H
23 
24 #include <QWidget>
25 #include <QTimer>
26 
27 class AudioMonitor : public QWidget
28 {
29  Q_OBJECT
30 public:
31  explicit AudioMonitor(QWidget *parent = 0);
32  void set_value(const QVector<double>& values);
33 
34 protected:
35  void paintEvent(QPaintEvent *);
36  void resizeEvent(QResizeEvent *);
37 
38 signals:
39 
40 public slots:
41 
42 private:
43  QLinearGradient gradient;
44  QVector<double> values;
45  QTimer clear_timer;
46 
47 private slots:
48  void clear();
49 };
50 
51 #endif // AUDIOMONITOR_H
QTimer clear_timer
Definition: audiomonitor.h:45
-
Definition: audiomonitor.h:27
-
QLinearGradient gradient
Definition: audiomonitor.h:43
-
AudioMonitor(QWidget *parent=0)
Definition: audiomonitor.cpp:41
-
void clear()
Definition: audiomonitor.cpp:55
-
void paintEvent(QPaintEvent *)
Definition: audiomonitor.cpp:70
-
void resizeEvent(QResizeEvent *)
Definition: audiomonitor.cpp:62
-
QVector< double > values
Definition: audiomonitor.h:44
-
void set_value(const QVector< double > &values)
Definition: audiomonitor.cpp:48
-
- - - - diff --git a/docs/html/audionoiseeffect_8cpp.html b/docs/html/audionoiseeffect_8cpp.html deleted file mode 100644 index 6474530e7..000000000 --- a/docs/html/audionoiseeffect_8cpp.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: effects/internal/audionoiseeffect.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
audionoiseeffect.cpp File Reference
-
-
-
#include "audionoiseeffect.h"
-#include <QDateTime>
-#include <QtMath>
-
- - - - diff --git a/docs/html/audionoiseeffect_8h.html b/docs/html/audionoiseeffect_8h.html deleted file mode 100644 index d4874629f..000000000 --- a/docs/html/audionoiseeffect_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/audionoiseeffect.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
audionoiseeffect.h File Reference
-
-
-
#include "project/effect.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  AudioNoiseEffect
 
-
- - - - diff --git a/docs/html/audionoiseeffect_8h_source.html b/docs/html/audionoiseeffect_8h_source.html deleted file mode 100644 index 04ce50368..000000000 --- a/docs/html/audionoiseeffect_8h_source.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: effects/internal/audionoiseeffect.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
audionoiseeffect.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef AUDIONOISEEFFECT_H
22 #define AUDIONOISEEFFECT_H
23 
24 #include "project/effect.h"
25 
26 class AudioNoiseEffect : public Effect {
27  Q_OBJECT
28 public:
29  AudioNoiseEffect(ClipPtr c, const EffectMeta* em);
30  void process_audio(double timecode_start, double timecode_end, quint8* samples, int nb_bytes, int channel_count);
31 
34 };
35 
36 #endif // AUDIONOISEEFFECT_H
AudioNoiseEffect(ClipPtr c, const EffectMeta *em)
Definition: audionoiseeffect.cpp:26
-
Definition: effect.h:169
- -
Definition: effect.h:50
-
EffectField * mix_val
Definition: audionoiseeffect.h:33
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
EffectField * amount_val
Definition: audionoiseeffect.h:32
-
Definition: audionoiseeffect.h:26
-
void process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
Definition: audionoiseeffect.cpp:38
-
Definition: effectfield.h:43
-
- - - - diff --git a/docs/html/bc_s.png b/docs/html/bc_s.png deleted file mode 100644 index 224b29aa9..000000000 Binary files a/docs/html/bc_s.png and /dev/null differ diff --git a/docs/html/bdwn.png b/docs/html/bdwn.png deleted file mode 100644 index 940a0b950..000000000 Binary files a/docs/html/bdwn.png and /dev/null differ diff --git a/docs/html/cacher_8cpp.html b/docs/html/cacher_8cpp.html deleted file mode 100644 index a0a4544be..000000000 --- a/docs/html/cacher_8cpp.html +++ /dev/null @@ -1,443 +0,0 @@ - - - - - - - -Olive: playback/cacher.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
cacher.cpp File Reference
-
-
-
#include "cacher.h"
-#include "project/clip.h"
-#include "project/sequence.h"
-#include "project/transition.h"
-#include "project/footage.h"
-#include "playback/audio.h"
-#include "playback/playback.h"
-#include "project/effect.h"
-#include "panels/timeline.h"
-#include "panels/project.h"
-#include "panels/panels.h"
-#include "panels/viewer.h"
-#include "project/media.h"
-#include "io/config.h"
-#include "debug.h"
-#include <libavformat/avformat.h>
-#include <libavcodec/avcodec.h>
-#include <libswscale/swscale.h>
-#include <libswresample/swresample.h>
-#include <libavfilter/avfilter.h>
-#include <libavfilter/buffersrc.h>
-#include <libavfilter/buffersink.h>
-#include <libavutil/opt.h>
-#include <libavutil/pixdesc.h>
-#include <QOpenGLFramebufferObject>
-#include <QtMath>
-#include <QAudioOutput>
-#include <math.h>
-
- - - -

-Macros

#define AUDIO_BUFFER_PADDING   2048
 
- - - - - - - - - - - - - - - - - -

-Functions

double bytes_to_seconds (int nb_bytes, int nb_channels, int sample_rate)
 
void apply_audio_effects (ClipPtr c, double timecode_start, AVFrame *frame, int nb_bytes, QVector< ClipPtr > nests)
 
void cache_audio_worker (ClipPtr c, bool scrubbing, QVector< ClipPtr > &nests, int playback_speed)
 
void cache_video_worker (ClipPtr c, long playhead)
 
void reset_cache (ClipPtr c, long target_frame, int playback_speed)
 
void open_clip_worker (ClipPtr clip)
 
void cache_clip_worker (ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > nests, int playback_speed)
 
void close_clip_worker (ClipPtr clip)
 
- - - -

-Variables

AVSampleFormat sample_format = AV_SAMPLE_FMT_S16
 
-

Macro Definition Documentation

- -

◆ AUDIO_BUFFER_PADDING

- -
-
- - - - -
#define AUDIO_BUFFER_PADDING   2048
-
- -
-
-

Function Documentation

- -

◆ apply_audio_effects()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void apply_audio_effects (ClipPtr c,
double timecode_start,
AVFrame * frame,
int nb_bytes,
QVector< ClipPtrnests 
)
-
- -
-
- -

◆ bytes_to_seconds()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
double bytes_to_seconds (int nb_bytes,
int nb_channels,
int sample_rate 
)
-
- -
-
- -

◆ cache_audio_worker()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void cache_audio_worker (ClipPtr c,
bool scrubbing,
QVector< ClipPtr > & nests,
int playback_speed 
)
-
- -
-
- -

◆ cache_clip_worker()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void cache_clip_worker (ClipPtr clip,
long playhead,
bool reset,
bool scrubbing,
QVector< ClipPtrnests,
int playback_speed 
)
-
- -
-
- -

◆ cache_video_worker()

- -
-
- - - - - - - - - - - - - - - - - - -
void cache_video_worker (ClipPtr c,
long playhead 
)
-
- -
-
- -

◆ close_clip_worker()

- -
-
- - - - - - - - -
void close_clip_worker (ClipPtr clip)
-
- -
-
- -

◆ open_clip_worker()

- -
-
- - - - - - - - -
void open_clip_worker (ClipPtr clip)
-
- -
-
- -

◆ reset_cache()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void reset_cache (ClipPtr c,
long target_frame,
int playback_speed 
)
-
- -
-
-

Variable Documentation

- -

◆ sample_format

- -
-
- - - - -
AVSampleFormat sample_format = AV_SAMPLE_FMT_S16
-
- -
-
-
- - - - diff --git a/docs/html/cacher_8h.html b/docs/html/cacher_8h.html deleted file mode 100644 index 64230e3b2..000000000 --- a/docs/html/cacher_8h.html +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - -Olive: playback/cacher.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
cacher.h File Reference
-
-
-
#include <QThread>
-#include <QVector>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  Cacher
 
- - - -

-Typedefs

using ClipPtr = std::shared_ptr< Clip >
 
- - - - - - - -

-Functions

void open_clip_worker (ClipPtr clip)
 
void cache_clip_worker (ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > nest, int playback_speed)
 
void close_clip_worker (ClipPtr clip)
 
-

Typedef Documentation

- -

◆ ClipPtr

- -
-
- - - - -
using ClipPtr = std::shared_ptr<Clip>
-
- -
-
-

Function Documentation

- -

◆ cache_clip_worker()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void cache_clip_worker (ClipPtr clip,
long playhead,
bool reset,
bool scrubbing,
QVector< ClipPtrnest,
int playback_speed 
)
-
- -
-
- -

◆ close_clip_worker()

- -
-
- - - - - - - - -
void close_clip_worker (ClipPtr clip)
-
- -
-
- -

◆ open_clip_worker()

- -
-
- - - - - - - - -
void open_clip_worker (ClipPtr clip)
-
- -
-
-
- - - - diff --git a/docs/html/cacher_8h_source.html b/docs/html/cacher_8h_source.html deleted file mode 100644 index ecb5e9a40..000000000 --- a/docs/html/cacher_8h_source.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -Olive: playback/cacher.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
cacher.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef CACHER_H
22 #define CACHER_H
23 
24 #include <QThread>
25 #include <QVector>
26 
27 class Clip;
28 using ClipPtr = std::shared_ptr<Clip>;
29 
30 class Cacher : public QThread
31 {
32 // Q_OBJECT
33 public:
34  Cacher(ClipPtr c);
35  void run();
36 
37  bool caching;
38 
39  // must be set before caching
40  long playhead;
41  bool reset;
42  bool scrubbing;
43  bool interrupt;
44  bool queued;
46  QVector<ClipPtr> nests;
47 
48 private:
50 };
51 
52 void open_clip_worker(ClipPtr clip);
53 void cache_clip_worker(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector<ClipPtr> nest, int playback_speed);
54 void close_clip_worker(ClipPtr clip);
55 
56 #endif // CACHER_H
long playhead
Definition: cacher.h:40
-
bool caching
Definition: cacher.h:37
-
bool interrupt
Definition: cacher.h:43
-
bool reset
Definition: cacher.h:41
-
Definition: cacher.h:30
-
Cacher(ClipPtr c)
Definition: cacher.cpp:674
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
void run()
Definition: cacher.cpp:993
-
int playback_speed
Definition: cacher.h:45
-
QVector< ClipPtr > nests
Definition: cacher.h:46
-
ClipPtr clip
Definition: cacher.h:49
-
void open_clip_worker(ClipPtr clip)
Definition: cacher.cpp:678
-
void close_clip_worker(ClipPtr clip)
Definition: cacher.cpp:970
-
bool scrubbing
Definition: cacher.h:42
-
Definition: clip.h:50
-
bool queued
Definition: cacher.h:44
-
void cache_clip_worker(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > nest, int playback_speed)
Definition: cacher.cpp:950
-
- - - - diff --git a/docs/html/checkboxex_8cpp.html b/docs/html/checkboxex_8cpp.html deleted file mode 100644 index 6e178fb07..000000000 --- a/docs/html/checkboxex_8cpp.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: ui/checkboxex.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
checkboxex.cpp File Reference
-
-
-
#include "checkboxex.h"
-#include "project/undo.h"
-
- - - - diff --git a/docs/html/checkboxex_8h.html b/docs/html/checkboxex_8h.html deleted file mode 100644 index 057341ae3..000000000 --- a/docs/html/checkboxex_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/checkboxex.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
checkboxex.h File Reference
-
-
-
#include <QCheckBox>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  CheckboxEx
 
-
- - - - diff --git a/docs/html/checkboxex_8h_source.html b/docs/html/checkboxex_8h_source.html deleted file mode 100644 index 1b0e2442e..000000000 --- a/docs/html/checkboxex_8h_source.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: ui/checkboxex.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
checkboxex.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef CHECKBOXEX_H
22 #define CHECKBOXEX_H
23 
24 #include <QCheckBox>
25 
26 class CheckboxEx : public QCheckBox
27 {
28  Q_OBJECT
29 public:
30  CheckboxEx(QWidget* parent = 0);
31 private slots:
32  void checkbox_command();
33 };
34 
35 #endif // CHECKBOXEX_H
CheckboxEx(QWidget *parent=0)
Definition: checkboxex.cpp:25
-
Definition: checkboxex.h:26
-
void checkbox_command()
Definition: checkboxex.cpp:29
-
- - - - diff --git a/docs/html/class_about_dialog-members.html b/docs/html/class_about_dialog-members.html deleted file mode 100644 index b9494dc08..000000000 --- a/docs/html/class_about_dialog-members.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
AboutDialog Member List
-
-
- -

This is the complete list of members for AboutDialog, including all inherited members.

- - -
AboutDialog(QWidget *parent=0)AboutDialogexplicit
- - - - diff --git a/docs/html/class_about_dialog.html b/docs/html/class_about_dialog.html deleted file mode 100644 index d9fb27fd9..000000000 --- a/docs/html/class_about_dialog.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Olive: AboutDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
AboutDialog Class Reference
-
-
- -

#include <aboutdialog.h>

-
-Inheritance diagram for AboutDialog:
-
-
- -
- - - - -

-Public Member Functions

 AboutDialog (QWidget *parent=0)
 
-

Constructor & Destructor Documentation

- -

◆ AboutDialog()

- -
-
- - - - - -
- - - - - - - - -
AboutDialog::AboutDialog (QWidget * parent = 0)
-
-explicit
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_about_dialog.png b/docs/html/class_about_dialog.png deleted file mode 100644 index 62c4106f3..000000000 Binary files a/docs/html/class_about_dialog.png and /dev/null differ diff --git a/docs/html/class_action_search-members.html b/docs/html/class_action_search-members.html deleted file mode 100644 index 1270394d5..000000000 --- a/docs/html/class_action_search-members.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ActionSearch Member List
-
-
- -

This is the complete list of members for ActionSearch, including all inherited members.

- - - - - - - -
ActionSearch(QWidget *parent=nullptr)ActionSearch
list_widgetActionSearchprivate
move_selection_down()ActionSearchprivateslot
move_selection_up()ActionSearchprivateslot
perform_action()ActionSearchprivateslot
search_update(const QString &s, const QString &p=nullptr, QMenu *parent=nullptr)ActionSearchprivateslot
- - - - diff --git a/docs/html/class_action_search.html b/docs/html/class_action_search.html deleted file mode 100644 index d0cd84804..000000000 --- a/docs/html/class_action_search.html +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - -Olive: ActionSearch Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ActionSearch Class Reference
-
-
- -

#include <actionsearch.h>

-
-Inheritance diagram for ActionSearch:
-
-
- -
- - - - -

-Public Member Functions

 ActionSearch (QWidget *parent=nullptr)
 
- - - - - - - - - -

-Private Slots

void search_update (const QString &s, const QString &p=nullptr, QMenu *parent=nullptr)
 
void perform_action ()
 
void move_selection_up ()
 
void move_selection_down ()
 
- - - -

-Private Attributes

ActionSearchListlist_widget
 
-

Constructor & Destructor Documentation

- -

◆ ActionSearch()

- -
-
- - - - - - - - -
ActionSearch::ActionSearch (QWidget * parent = nullptr)
-
- -
-
-

Member Function Documentation

- -

◆ move_selection_down

- -
-
- - - - - -
- - - - - - - -
void ActionSearch::move_selection_down ()
-
-privateslot
-
- -
-
- -

◆ move_selection_up

- -
-
- - - - - -
- - - - - - - -
void ActionSearch::move_selection_up ()
-
-privateslot
-
- -
-
- -

◆ perform_action

- -
-
- - - - - -
- - - - - - - -
void ActionSearch::perform_action ()
-
-privateslot
-
- -
-
- -

◆ search_update

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void ActionSearch::search_update (const QString & s,
const QString & p = nullptr,
QMenu * parent = nullptr 
)
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ list_widget

- -
-
- - - - - -
- - - - -
ActionSearchList* ActionSearch::list_widget
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_action_search.png b/docs/html/class_action_search.png deleted file mode 100644 index 474f7d020..000000000 Binary files a/docs/html/class_action_search.png and /dev/null differ diff --git a/docs/html/class_action_search_entry-members.html b/docs/html/class_action_search_entry-members.html deleted file mode 100644 index 8f1c0b0b4..000000000 --- a/docs/html/class_action_search_entry-members.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ActionSearchEntry Member List
-
-
- -

This is the complete list of members for ActionSearchEntry, including all inherited members.

- - - - - -
ActionSearchEntry(QWidget *parent)ActionSearchEntry
keyPressEvent(QKeyEvent *event)ActionSearchEntryprotected
moveSelectionDown()ActionSearchEntrysignal
moveSelectionUp()ActionSearchEntrysignal
- - - - diff --git a/docs/html/class_action_search_entry.html b/docs/html/class_action_search_entry.html deleted file mode 100644 index 0c529e006..000000000 --- a/docs/html/class_action_search_entry.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - -Olive: ActionSearchEntry Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ActionSearchEntry Class Reference
-
-
- -

#include <actionsearch.h>

-
-Inheritance diagram for ActionSearchEntry:
-
-
- -
- - - - - - -

-Signals

void moveSelectionUp ()
 
void moveSelectionDown ()
 
- - - -

-Public Member Functions

 ActionSearchEntry (QWidget *parent)
 
- - - -

-Protected Member Functions

void keyPressEvent (QKeyEvent *event)
 
-

Constructor & Destructor Documentation

- -

◆ ActionSearchEntry()

- -
-
- - - - - - - - -
ActionSearchEntry::ActionSearchEntry (QWidget * parent)
-
- -
-
-

Member Function Documentation

- -

◆ keyPressEvent()

- -
-
- - - - - -
- - - - - - - - -
void ActionSearchEntry::keyPressEvent (QKeyEvent * event)
-
-protected
-
- -
-
- -

◆ moveSelectionDown

- -
-
- - - - - -
- - - - - - - -
void ActionSearchEntry::moveSelectionDown ()
-
-signal
-
- -
-
- -

◆ moveSelectionUp

- -
-
- - - - - -
- - - - - - - -
void ActionSearchEntry::moveSelectionUp ()
-
-signal
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_action_search_entry.png b/docs/html/class_action_search_entry.png deleted file mode 100644 index fffe68a21..000000000 Binary files a/docs/html/class_action_search_entry.png and /dev/null differ diff --git a/docs/html/class_action_search_list-members.html b/docs/html/class_action_search_list-members.html deleted file mode 100644 index 8ca66d344..000000000 --- a/docs/html/class_action_search_list-members.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ActionSearchList Member List
-
-
- -

This is the complete list of members for ActionSearchList, including all inherited members.

- - - - -
ActionSearchList(QWidget *parent)ActionSearchList
dbl_click()ActionSearchListsignal
mouseDoubleClickEvent(QMouseEvent *event)ActionSearchListprotected
- - - - diff --git a/docs/html/class_action_search_list.html b/docs/html/class_action_search_list.html deleted file mode 100644 index 10c0540f7..000000000 --- a/docs/html/class_action_search_list.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - -Olive: ActionSearchList Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ActionSearchList Class Reference
-
-
- -

#include <actionsearch.h>

-
-Inheritance diagram for ActionSearchList:
-
-
- -
- - - - -

-Signals

void dbl_click ()
 
- - - -

-Public Member Functions

 ActionSearchList (QWidget *parent)
 
- - - -

-Protected Member Functions

void mouseDoubleClickEvent (QMouseEvent *event)
 
-

Constructor & Destructor Documentation

- -

◆ ActionSearchList()

- -
-
- - - - - - - - -
ActionSearchList::ActionSearchList (QWidget * parent)
-
- -
-
-

Member Function Documentation

- -

◆ dbl_click

- -
-
- - - - - -
- - - - - - - -
void ActionSearchList::dbl_click ()
-
-signal
-
- -
-
- -

◆ mouseDoubleClickEvent()

- -
-
- - - - - -
- - - - - - - - -
void ActionSearchList::mouseDoubleClickEvent (QMouseEvent * event)
-
-protected
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_action_search_list.png b/docs/html/class_action_search_list.png deleted file mode 100644 index b6d417992..000000000 Binary files a/docs/html/class_action_search_list.png and /dev/null differ diff --git a/docs/html/class_add_clip_command-members.html b/docs/html/class_add_clip_command-members.html deleted file mode 100644 index 10d753c0c..000000000 --- a/docs/html/class_add_clip_command-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
AddClipCommand Member List
-
-
- -

This is the complete list of members for AddClipCommand, including all inherited members.

- - - - - - - - - - - - -
AddClipCommand(SequencePtr s, QVector< ClipPtr > &add)AddClipCommand
clipsAddClipCommandprivate
doRedo() overrideAddClipCommandvirtual
doUndo() overrideAddClipCommandvirtual
link_offset_AddClipCommandprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
seqAddClipCommandprivate
undo() overrideOliveActionvirtual
~AddClipCommand() overrideAddClipCommandvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_add_clip_command.html b/docs/html/class_add_clip_command.html deleted file mode 100644 index 7e0e58a2d..000000000 --- a/docs/html/class_add_clip_command.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - -Olive: AddClipCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
AddClipCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for AddClipCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 AddClipCommand (SequencePtr s, QVector< ClipPtr > &add)
 
virtual ~AddClipCommand () override
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

SequencePtr seq
 
QVector< ClipPtrclips
 
int link_offset_
 
-

Constructor & Destructor Documentation

- -

◆ AddClipCommand()

- -
-
- - - - - - - - - - - - - - - - - - -
AddClipCommand::AddClipCommand (SequencePtr s,
QVector< ClipPtr > & add 
)
-
- -
-
- -

◆ ~AddClipCommand()

- -
-
- - - - - -
- - - - - - - -
AddClipCommand::~AddClipCommand ()
-
-overridevirtual
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void AddClipCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void AddClipCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ clips

- -
-
- - - - - -
- - - - -
QVector<ClipPtr> AddClipCommand::clips
-
-private
-
- -
-
- -

◆ link_offset_

- -
-
- - - - - -
- - - - -
int AddClipCommand::link_offset_
-
-private
-
- -
-
- -

◆ seq

- -
-
- - - - - -
- - - - -
SequencePtr AddClipCommand::seq
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_add_clip_command.png b/docs/html/class_add_clip_command.png deleted file mode 100644 index 6a6a8ea07..000000000 Binary files a/docs/html/class_add_clip_command.png and /dev/null differ diff --git a/docs/html/class_add_effect_command-members.html b/docs/html/class_add_effect_command-members.html deleted file mode 100644 index 6d4494af3..000000000 --- a/docs/html/class_add_effect_command-members.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
AddEffectCommand Member List
-
-
- -

This is the complete list of members for AddEffectCommand, including all inherited members.

- - - - - - - - - - - - - -
AddEffectCommand(ClipPtr c, EffectPtr e, const EffectMeta *m, int insert_pos=-1)AddEffectCommand
clipAddEffectCommandprivate
doneAddEffectCommandprivate
doRedo() overrideAddEffectCommandvirtual
doUndo() overrideAddEffectCommandvirtual
metaAddEffectCommandprivate
OliveAction(bool iset_window_modified=true)OliveAction
posAddEffectCommandprivate
redo() overrideOliveActionvirtual
refAddEffectCommandprivate
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_add_effect_command.html b/docs/html/class_add_effect_command.html deleted file mode 100644 index 8b6653f4b..000000000 --- a/docs/html/class_add_effect_command.html +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - - -Olive: AddEffectCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
AddEffectCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for AddEffectCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 AddEffectCommand (ClipPtr c, EffectPtr e, const EffectMeta *m, int insert_pos=-1)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - - - - - -

-Private Attributes

ClipPtr clip
 
const EffectMetameta
 
EffectPtr ref
 
int pos
 
bool done
 
-

Constructor & Destructor Documentation

- -

◆ AddEffectCommand()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AddEffectCommand::AddEffectCommand (ClipPtr c,
EffectPtr e,
const EffectMetam,
int insert_pos = -1 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void AddEffectCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void AddEffectCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ clip

- -
-
- - - - - -
- - - - -
ClipPtr AddEffectCommand::clip
-
-private
-
- -
-
- -

◆ done

- -
-
- - - - - -
- - - - -
bool AddEffectCommand::done
-
-private
-
- -
-
- -

◆ meta

- -
-
- - - - - -
- - - - -
const EffectMeta* AddEffectCommand::meta
-
-private
-
- -
-
- -

◆ pos

- -
-
- - - - - -
- - - - -
int AddEffectCommand::pos
-
-private
-
- -
-
- -

◆ ref

- -
-
- - - - - -
- - - - -
EffectPtr AddEffectCommand::ref
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_add_effect_command.png b/docs/html/class_add_effect_command.png deleted file mode 100644 index 7ee4bfd20..000000000 Binary files a/docs/html/class_add_effect_command.png and /dev/null differ diff --git a/docs/html/class_add_marker_action-members.html b/docs/html/class_add_marker_action-members.html deleted file mode 100644 index 7ed92244d..000000000 --- a/docs/html/class_add_marker_action-members.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
AddMarkerAction Member List
-
-
- -

This is the complete list of members for AddMarkerAction, including all inherited members.

- - - - - - - - - - - - - -
active_arrayAddMarkerActionprivate
AddMarkerAction(QVector< Marker > *m, long t, QString n)AddMarkerAction
doRedo() overrideAddMarkerActionvirtual
doUndo() overrideAddMarkerActionvirtual
indexAddMarkerActionprivate
nameAddMarkerActionprivate
old_nameAddMarkerActionprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
timeAddMarkerActionprivate
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_add_marker_action.html b/docs/html/class_add_marker_action.html deleted file mode 100644 index b86c175c3..000000000 --- a/docs/html/class_add_marker_action.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - -Olive: AddMarkerAction Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
AddMarkerAction Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for AddMarkerAction:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 AddMarkerAction (QVector< Marker > *m, long t, QString n)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - - - - - -

-Private Attributes

QVector< Marker > * active_array
 
long time
 
QString name
 
QString old_name
 
int index
 
-

Constructor & Destructor Documentation

- -

◆ AddMarkerAction()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
AddMarkerAction::AddMarkerAction (QVector< Marker > * m,
long t,
QString n 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void AddMarkerAction::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void AddMarkerAction::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ active_array

- -
-
- - - - - -
- - - - -
QVector<Marker>* AddMarkerAction::active_array
-
-private
-
- -
-
- -

◆ index

- -
-
- - - - - -
- - - - -
int AddMarkerAction::index
-
-private
-
- -
-
- -

◆ name

- -
-
- - - - - -
- - - - -
QString AddMarkerAction::name
-
-private
-
- -
-
- -

◆ old_name

- -
-
- - - - - -
- - - - -
QString AddMarkerAction::old_name
-
-private
-
- -
-
- -

◆ time

- -
-
- - - - - -
- - - - -
long AddMarkerAction::time
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_add_marker_action.png b/docs/html/class_add_marker_action.png deleted file mode 100644 index 82b6f3f48..000000000 Binary files a/docs/html/class_add_marker_action.png and /dev/null differ diff --git a/docs/html/class_add_media_command-members.html b/docs/html/class_add_media_command-members.html deleted file mode 100644 index d35355500..000000000 --- a/docs/html/class_add_media_command-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
AddMediaCommand Member List
-
-
- -

This is the complete list of members for AddMediaCommand, including all inherited members.

- - - - - - - - - - - - -
AddMediaCommand(Media *iitem, Media *iparent)AddMediaCommand
doneAddMediaCommandprivate
doRedo() overrideAddMediaCommandvirtual
doUndo() overrideAddMediaCommandvirtual
itemAddMediaCommandprivate
OliveAction(bool iset_window_modified=true)OliveAction
parentAddMediaCommandprivate
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
~AddMediaCommand() overrideAddMediaCommandvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_add_media_command.html b/docs/html/class_add_media_command.html deleted file mode 100644 index 992996ebb..000000000 --- a/docs/html/class_add_media_command.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - -Olive: AddMediaCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
AddMediaCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for AddMediaCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 AddMediaCommand (Media *iitem, Media *iparent)
 
virtual ~AddMediaCommand () override
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

Mediaitem
 
Mediaparent
 
bool done
 
-

Constructor & Destructor Documentation

- -

◆ AddMediaCommand()

- -
-
- - - - - - - - - - - - - - - - - - -
AddMediaCommand::AddMediaCommand (Mediaiitem,
Mediaiparent 
)
-
- -
-
- -

◆ ~AddMediaCommand()

- -
-
- - - - - -
- - - - - - - -
AddMediaCommand::~AddMediaCommand ()
-
-overridevirtual
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void AddMediaCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void AddMediaCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ done

- -
-
- - - - - -
- - - - -
bool AddMediaCommand::done
-
-private
-
- -
-
- -

◆ item

- -
-
- - - - - -
- - - - -
Media* AddMediaCommand::item
-
-private
-
- -
-
- -

◆ parent

- -
-
- - - - - -
- - - - -
Media* AddMediaCommand::parent
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_add_media_command.png b/docs/html/class_add_media_command.png deleted file mode 100644 index 73e5425e3..000000000 Binary files a/docs/html/class_add_media_command.png and /dev/null differ diff --git a/docs/html/class_add_transition_command-members.html b/docs/html/class_add_transition_command-members.html deleted file mode 100644 index 10eed3ad4..000000000 --- a/docs/html/class_add_transition_command-members.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
AddTransitionCommand Member List
-
-
- -

This is the complete list of members for AddTransitionCommand, including all inherited members.

- - - - - - - - - - - - - - - - -
AddTransitionCommand(ClipPtr iopen, ClipPtr iclose, TransitionPtr copy, const EffectMeta *itransition, int ilength)AddTransitionCommand
close_AddTransitionCommandprivate
doRedo() overrideAddTransitionCommandvirtual
doUndo() overrideAddTransitionCommandvirtual
length_AddTransitionCommandprivate
new_transition_ref_AddTransitionCommandprivate
old_close_transition_AddTransitionCommandprivate
old_open_transition_AddTransitionCommandprivate
OliveAction(bool iset_window_modified=true)OliveAction
open_AddTransitionCommandprivate
redo() overrideOliveActionvirtual
transition_meta_AddTransitionCommandprivate
transition_to_copy_AddTransitionCommandprivate
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_add_transition_command.html b/docs/html/class_add_transition_command.html deleted file mode 100644 index 989c2928e..000000000 --- a/docs/html/class_add_transition_command.html +++ /dev/null @@ -1,412 +0,0 @@ - - - - - - - -Olive: AddTransitionCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
AddTransitionCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for AddTransitionCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 AddTransitionCommand (ClipPtr iopen, ClipPtr iclose, TransitionPtr copy, const EffectMeta *itransition, int ilength)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - - - - - - - - - - - -

-Private Attributes

ClipPtr open_
 
ClipPtr close_
 
TransitionPtr transition_to_copy_
 
const EffectMetatransition_meta_
 
int length_
 
TransitionPtr old_open_transition_
 
TransitionPtr old_close_transition_
 
TransitionPtr new_transition_ref_
 
-

Constructor & Destructor Documentation

- -

◆ AddTransitionCommand()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AddTransitionCommand::AddTransitionCommand (ClipPtr iopen,
ClipPtr iclose,
TransitionPtr copy,
const EffectMetaitransition,
int ilength 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void AddTransitionCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void AddTransitionCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ close_

- -
-
- - - - - -
- - - - -
ClipPtr AddTransitionCommand::close_
-
-private
-
- -
-
- -

◆ length_

- -
-
- - - - - -
- - - - -
int AddTransitionCommand::length_
-
-private
-
- -
-
- -

◆ new_transition_ref_

- -
-
- - - - - -
- - - - -
TransitionPtr AddTransitionCommand::new_transition_ref_
-
-private
-
- -
-
- -

◆ old_close_transition_

- -
-
- - - - - -
- - - - -
TransitionPtr AddTransitionCommand::old_close_transition_
-
-private
-
- -
-
- -

◆ old_open_transition_

- -
-
- - - - - -
- - - - -
TransitionPtr AddTransitionCommand::old_open_transition_
-
-private
-
- -
-
- -

◆ open_

- -
-
- - - - - -
- - - - -
ClipPtr AddTransitionCommand::open_
-
-private
-
- -
-
- -

◆ transition_meta_

- -
-
- - - - - -
- - - - -
const EffectMeta* AddTransitionCommand::transition_meta_
-
-private
-
- -
-
- -

◆ transition_to_copy_

- -
-
- - - - - -
- - - - -
TransitionPtr AddTransitionCommand::transition_to_copy_
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_add_transition_command.png b/docs/html/class_add_transition_command.png deleted file mode 100644 index e5cf1383c..000000000 Binary files a/docs/html/class_add_transition_command.png and /dev/null differ diff --git a/docs/html/class_advanced_video_dialog-members.html b/docs/html/class_advanced_video_dialog-members.html deleted file mode 100644 index ee70bff68..000000000 --- a/docs/html/class_advanced_video_dialog-members.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
AdvancedVideoDialog Member List
-
-
- -

This is the complete list of members for AdvancedVideoDialog, including all inherited members.

- - - - - -
accept() overrideAdvancedVideoDialogvirtualslot
AdvancedVideoDialog(QWidget *parent, int encoding_codec, VideoCodecParams &iparams)AdvancedVideoDialog
paramsAdvancedVideoDialogprivate
pix_fmt_comboAdvancedVideoDialogprivate
- - - - diff --git a/docs/html/class_advanced_video_dialog.html b/docs/html/class_advanced_video_dialog.html deleted file mode 100644 index 051a6a52e..000000000 --- a/docs/html/class_advanced_video_dialog.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - -Olive: AdvancedVideoDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
AdvancedVideoDialog Class Reference
-
-
- -

#include <advancedvideodialog.h>

-
-Inheritance diagram for AdvancedVideoDialog:
-
-
- -
- - - - -

-Public Slots

virtual void accept () override
 
- - - -

-Public Member Functions

 AdvancedVideoDialog (QWidget *parent, int encoding_codec, VideoCodecParams &iparams)
 
- - - - - -

-Private Attributes

VideoCodecParamsparams
 
QComboBox * pix_fmt_combo
 
-

Constructor & Destructor Documentation

- -

◆ AdvancedVideoDialog()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
AdvancedVideoDialog::AdvancedVideoDialog (QWidget * parent,
int encoding_codec,
VideoCodecParamsiparams 
)
-
- -
-
-

Member Function Documentation

- -

◆ accept

- -
-
- - - - - -
- - - - - - - -
void AdvancedVideoDialog::accept ()
-
-overridevirtualslot
-
- -
-
-

Member Data Documentation

- -

◆ params

- -
-
- - - - - -
- - - - -
VideoCodecParams& AdvancedVideoDialog::params
-
-private
-
- -
-
- -

◆ pix_fmt_combo

- -
-
- - - - - -
- - - - -
QComboBox* AdvancedVideoDialog::pix_fmt_combo
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_advanced_video_dialog.png b/docs/html/class_advanced_video_dialog.png deleted file mode 100644 index 5c96592d9..000000000 Binary files a/docs/html/class_advanced_video_dialog.png and /dev/null differ diff --git a/docs/html/class_audio_monitor-members.html b/docs/html/class_audio_monitor-members.html deleted file mode 100644 index fd8d4752f..000000000 --- a/docs/html/class_audio_monitor-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
AudioMonitor Member List
-
-
- -

This is the complete list of members for AudioMonitor, including all inherited members.

- - - - - - - - - -
AudioMonitor(QWidget *parent=0)AudioMonitorexplicit
clear()AudioMonitorprivateslot
clear_timerAudioMonitorprivate
gradientAudioMonitorprivate
paintEvent(QPaintEvent *)AudioMonitorprotected
resizeEvent(QResizeEvent *)AudioMonitorprotected
set_value(const QVector< double > &values)AudioMonitor
valuesAudioMonitorprivate
- - - - diff --git a/docs/html/class_audio_monitor.html b/docs/html/class_audio_monitor.html deleted file mode 100644 index 1e826984f..000000000 --- a/docs/html/class_audio_monitor.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - -Olive: AudioMonitor Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <audiomonitor.h>

-
-Inheritance diagram for AudioMonitor:
-
-
- -
- - - - - - -

-Public Member Functions

 AudioMonitor (QWidget *parent=0)
 
void set_value (const QVector< double > &values)
 
- - - - - -

-Protected Member Functions

void paintEvent (QPaintEvent *)
 
void resizeEvent (QResizeEvent *)
 
- - - -

-Private Slots

void clear ()
 
- - - - - - - -

-Private Attributes

QLinearGradient gradient
 
QVector< double > values
 
QTimer clear_timer
 
-

Constructor & Destructor Documentation

- -

◆ AudioMonitor()

- -
-
- - - - - -
- - - - - - - - -
AudioMonitor::AudioMonitor (QWidget * parent = 0)
-
-explicit
-
- -
-
-

Member Function Documentation

- -

◆ clear

- -
-
- - - - - -
- - - - - - - -
void AudioMonitor::clear ()
-
-privateslot
-
- -
-
- -

◆ paintEvent()

- -
-
- - - - - -
- - - - - - - - -
void AudioMonitor::paintEvent (QPaintEvent * )
-
-protected
-
- -
-
- -

◆ resizeEvent()

- -
-
- - - - - -
- - - - - - - - -
void AudioMonitor::resizeEvent (QResizeEvent * e)
-
-protected
-
- -
-
- -

◆ set_value()

- -
-
- - - - - - - - -
void AudioMonitor::set_value (const QVector< double > & values)
-
- -
-
-

Member Data Documentation

- -

◆ clear_timer

- -
-
- - - - - -
- - - - -
QTimer AudioMonitor::clear_timer
-
-private
-
- -
-
- -

◆ gradient

- -
-
- - - - - -
- - - - -
QLinearGradient AudioMonitor::gradient
-
-private
-
- -
-
- -

◆ values

- -
-
- - - - - -
- - - - -
QVector<double> AudioMonitor::values
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_audio_monitor.png b/docs/html/class_audio_monitor.png deleted file mode 100644 index 6685c7cc4..000000000 Binary files a/docs/html/class_audio_monitor.png and /dev/null differ diff --git a/docs/html/class_audio_noise_effect-members.html b/docs/html/class_audio_noise_effect-members.html deleted file mode 100644 index a3ed26f94..000000000 --- a/docs/html/class_audio_noise_effect-members.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
AudioNoiseEffect Member List
-
-
- -

This is the complete list of members for AudioNoiseEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
amount_valAudioNoiseEffect
are_gizmos_enabled()Effect
AudioNoiseEffect(ClipPtr c, const EffectMeta *em)AudioNoiseEffect
close()Effect
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
mix_valAudioNoiseEffect
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)AudioNoiseEffectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)Effectvirtual
save_to_string()Effect
set_enabled(bool b)Effect
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_audio_noise_effect.html b/docs/html/class_audio_noise_effect.html deleted file mode 100644 index af1d5a34c..000000000 --- a/docs/html/class_audio_noise_effect.html +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - - -Olive: AudioNoiseEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
AudioNoiseEffect Class Reference
-
-
- -

#include <audionoiseeffect.h>

-
-Inheritance diagram for AudioNoiseEffect:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 AudioNoiseEffect (ClipPtr c, const EffectMeta *em)
 
void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

EffectFieldamount_val
 
EffectFieldmix_val
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ AudioNoiseEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
AudioNoiseEffect::AudioNoiseEffect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ process_audio()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void AudioNoiseEffect::process_audio (double timecode_start,
double timecode_end,
quint8 * samples,
int nb_bytes,
int channel_count 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-

Member Data Documentation

- -

◆ amount_val

- -
-
- - - - -
EffectField* AudioNoiseEffect::amount_val
-
- -
-
- -

◆ mix_val

- -
-
- - - - -
EffectField* AudioNoiseEffect::mix_val
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_audio_noise_effect.png b/docs/html/class_audio_noise_effect.png deleted file mode 100644 index 8d1bd7c44..000000000 Binary files a/docs/html/class_audio_noise_effect.png and /dev/null differ diff --git a/docs/html/class_audio_sender_thread-members.html b/docs/html/class_audio_sender_thread-members.html deleted file mode 100644 index b448dd449..000000000 --- a/docs/html/class_audio_sender_thread-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
AudioSenderThread Member List
-
- - - - - diff --git a/docs/html/class_audio_sender_thread.html b/docs/html/class_audio_sender_thread.html deleted file mode 100644 index 9d66b20a4..000000000 --- a/docs/html/class_audio_sender_thread.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - -Olive: AudioSenderThread Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <audio.h>

-
-Inheritance diagram for AudioSenderThread:
-
-
- -
- - - - -

-Public Slots

void notifyReceiver ()
 
- - - - - - - -

-Public Member Functions

 AudioSenderThread ()
 
void run ()
 
void stop ()
 
- - - - - - - -

-Public Attributes

QWaitCondition cond
 
bool close
 
QMutex lock
 
- - - -

-Private Member Functions

int send_audio_to_output (qint64 offset, int max)
 
- - - -

-Private Attributes

QVector< qint16 > samples
 
-

Constructor & Destructor Documentation

- -

◆ AudioSenderThread()

- -
-
- - - - - - - -
AudioSenderThread::AudioSenderThread ()
-
- -
-
-

Member Function Documentation

- -

◆ notifyReceiver

- -
-
- - - - - -
- - - - - - - -
void AudioSenderThread::notifyReceiver ()
-
-slot
-
- -
-
- -

◆ run()

- -
-
- - - - - - - -
void AudioSenderThread::run ()
-
- -
-
- -

◆ send_audio_to_output()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
int AudioSenderThread::send_audio_to_output (qint64 offset,
int max 
)
-
-private
-
- -
-
- -

◆ stop()

- -
-
- - - - - - - -
void AudioSenderThread::stop ()
-
- -
-
-

Member Data Documentation

- -

◆ close

- -
-
- - - - -
bool AudioSenderThread::close
-
- -
-
- -

◆ cond

- -
-
- - - - -
QWaitCondition AudioSenderThread::cond
-
- -
-
- -

◆ lock

- -
-
- - - - -
QMutex AudioSenderThread::lock
-
- -
-
- -

◆ samples

- -
-
- - - - - -
- - - - -
QVector<qint16> AudioSenderThread::samples
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_audio_sender_thread.png b/docs/html/class_audio_sender_thread.png deleted file mode 100644 index 37bfb18f5..000000000 Binary files a/docs/html/class_audio_sender_thread.png and /dev/null differ diff --git a/docs/html/class_cacher-members.html b/docs/html/class_cacher-members.html deleted file mode 100644 index b22511039..000000000 --- a/docs/html/class_cacher-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Cacher Member List
-
-
- -

This is the complete list of members for Cacher, including all inherited members.

- - - - - - - - - - - - -
Cacher(ClipPtr c)Cacher
cachingCacher
clipCacherprivate
interruptCacher
nestsCacher
playback_speedCacher
playheadCacher
queuedCacher
resetCacher
run()Cacher
scrubbingCacher
- - - - diff --git a/docs/html/class_cacher.html b/docs/html/class_cacher.html deleted file mode 100644 index daa5087e5..000000000 --- a/docs/html/class_cacher.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - -Olive: Cacher Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <cacher.h>

-
-Inheritance diagram for Cacher:
-
-
- -
- - - - - - -

-Public Member Functions

 Cacher (ClipPtr c)
 
void run ()
 
- - - - - - - - - - - - - - - - - -

-Public Attributes

bool caching
 
long playhead
 
bool reset
 
bool scrubbing
 
bool interrupt
 
bool queued
 
int playback_speed
 
QVector< ClipPtrnests
 
- - - -

-Private Attributes

ClipPtr clip
 
-

Constructor & Destructor Documentation

- -

◆ Cacher()

- -
-
- - - - - - - - -
Cacher::Cacher (ClipPtr c)
-
- -
-
-

Member Function Documentation

- -

◆ run()

- -
-
- - - - - - - -
void Cacher::run ()
-
- -
-
-

Member Data Documentation

- -

◆ caching

- -
-
- - - - -
bool Cacher::caching
-
- -
-
- -

◆ clip

- -
-
- - - - - -
- - - - -
ClipPtr Cacher::clip
-
-private
-
- -
-
- -

◆ interrupt

- -
-
- - - - -
bool Cacher::interrupt
-
- -
-
- -

◆ nests

- -
-
- - - - -
QVector<ClipPtr> Cacher::nests
-
- -
-
- -

◆ playback_speed

- -
-
- - - - -
int Cacher::playback_speed
-
- -
-
- -

◆ playhead

- -
-
- - - - -
long Cacher::playhead
-
- -
-
- -

◆ queued

- -
-
- - - - -
bool Cacher::queued
-
- -
-
- -

◆ reset

- -
-
- - - - -
bool Cacher::reset
-
- -
-
- -

◆ scrubbing

- -
-
- - - - -
bool Cacher::scrubbing
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_cacher.png b/docs/html/class_cacher.png deleted file mode 100644 index 6a413d90a..000000000 Binary files a/docs/html/class_cacher.png and /dev/null differ diff --git a/docs/html/class_change_sequence_action-members.html b/docs/html/class_change_sequence_action-members.html deleted file mode 100644 index 93012921d..000000000 --- a/docs/html/class_change_sequence_action-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ChangeSequenceAction Member List
-
-
- -

This is the complete list of members for ChangeSequenceAction, including all inherited members.

- - - - - - - - - - -
ChangeSequenceAction(SequencePtr s)ChangeSequenceAction
doRedo() overrideChangeSequenceActionvirtual
doUndo() overrideChangeSequenceActionvirtual
new_sequenceChangeSequenceActionprivate
old_sequenceChangeSequenceActionprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_change_sequence_action.html b/docs/html/class_change_sequence_action.html deleted file mode 100644 index 2bb219fed..000000000 --- a/docs/html/class_change_sequence_action.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - -Olive: ChangeSequenceAction Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ChangeSequenceAction Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for ChangeSequenceAction:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 ChangeSequenceAction (SequencePtr s)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - -

-Private Attributes

SequencePtr old_sequence
 
SequencePtr new_sequence
 
-

Constructor & Destructor Documentation

- -

◆ ChangeSequenceAction()

- -
-
- - - - - - - - -
ChangeSequenceAction::ChangeSequenceAction (SequencePtr s)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void ChangeSequenceAction::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void ChangeSequenceAction::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ new_sequence

- -
-
- - - - - -
- - - - -
SequencePtr ChangeSequenceAction::new_sequence
-
-private
-
- -
-
- -

◆ old_sequence

- -
-
- - - - - -
- - - - -
SequencePtr ChangeSequenceAction::old_sequence
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_change_sequence_action.png b/docs/html/class_change_sequence_action.png deleted file mode 100644 index 043cc4bae..000000000 Binary files a/docs/html/class_change_sequence_action.png and /dev/null differ diff --git a/docs/html/class_checkbox_command-members.html b/docs/html/class_checkbox_command-members.html deleted file mode 100644 index 391ddeeba..000000000 --- a/docs/html/class_checkbox_command-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
CheckboxCommand Member List
-
-
- -

This is the complete list of members for CheckboxCommand, including all inherited members.

- - - - - - - - - - - - -
boxCheckboxCommandprivate
CheckboxCommand(QCheckBox *b)CheckboxCommand
checkedCheckboxCommandprivate
doneCheckboxCommandprivate
doRedo() overrideCheckboxCommandvirtual
doUndo() overrideCheckboxCommandvirtual
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
~CheckboxCommand() overrideCheckboxCommandvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_checkbox_command.html b/docs/html/class_checkbox_command.html deleted file mode 100644 index 23a9b38e9..000000000 --- a/docs/html/class_checkbox_command.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - -Olive: CheckboxCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
CheckboxCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for CheckboxCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 CheckboxCommand (QCheckBox *b)
 
virtual ~CheckboxCommand () override
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

QCheckBox * box
 
bool checked
 
bool done
 
-

Constructor & Destructor Documentation

- -

◆ CheckboxCommand()

- -
-
- - - - - - - - -
CheckboxCommand::CheckboxCommand (QCheckBox * b)
-
- -
-
- -

◆ ~CheckboxCommand()

- -
-
- - - - - -
- - - - - - - -
CheckboxCommand::~CheckboxCommand ()
-
-overridevirtual
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void CheckboxCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void CheckboxCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ box

- -
-
- - - - - -
- - - - -
QCheckBox* CheckboxCommand::box
-
-private
-
- -
-
- -

◆ checked

- -
-
- - - - - -
- - - - -
bool CheckboxCommand::checked
-
-private
-
- -
-
- -

◆ done

- -
-
- - - - - -
- - - - -
bool CheckboxCommand::done
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_checkbox_command.png b/docs/html/class_checkbox_command.png deleted file mode 100644 index d32b81856..000000000 Binary files a/docs/html/class_checkbox_command.png and /dev/null differ diff --git a/docs/html/class_checkbox_ex-members.html b/docs/html/class_checkbox_ex-members.html deleted file mode 100644 index 0b266ddb2..000000000 --- a/docs/html/class_checkbox_ex-members.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
CheckboxEx Member List
-
-
- -

This is the complete list of members for CheckboxEx, including all inherited members.

- - - -
checkbox_command()CheckboxExprivateslot
CheckboxEx(QWidget *parent=0)CheckboxEx
- - - - diff --git a/docs/html/class_checkbox_ex.html b/docs/html/class_checkbox_ex.html deleted file mode 100644 index 4b6d9224f..000000000 --- a/docs/html/class_checkbox_ex.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - -Olive: CheckboxEx Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
CheckboxEx Class Reference
-
-
- -

#include <checkboxex.h>

-
-Inheritance diagram for CheckboxEx:
-
-
- -
- - - - -

-Public Member Functions

 CheckboxEx (QWidget *parent=0)
 
- - - -

-Private Slots

void checkbox_command ()
 
-

Constructor & Destructor Documentation

- -

◆ CheckboxEx()

- -
-
- - - - - - - - -
CheckboxEx::CheckboxEx (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ checkbox_command

- -
-
- - - - - -
- - - - - - - -
void CheckboxEx::checkbox_command ()
-
-privateslot
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_checkbox_ex.png b/docs/html/class_checkbox_ex.png deleted file mode 100644 index e2776e50b..000000000 Binary files a/docs/html/class_checkbox_ex.png and /dev/null differ diff --git a/docs/html/class_clickable_label-members.html b/docs/html/class_clickable_label-members.html deleted file mode 100644 index 196d4ffe6..000000000 --- a/docs/html/class_clickable_label-members.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ClickableLabel Member List
-
-
- -

This is the complete list of members for ClickableLabel, including all inherited members.

- - - - - -
ClickableLabel(QWidget *parent=0, Qt::WindowFlags f=0)ClickableLabel
ClickableLabel(const QString &text, QWidget *parent=0, Qt::WindowFlags f=0)ClickableLabel
clicked()ClickableLabelsignal
mousePressEvent(QMouseEvent *ev)ClickableLabel
- - - - diff --git a/docs/html/class_clickable_label.html b/docs/html/class_clickable_label.html deleted file mode 100644 index 2b338ce0e..000000000 --- a/docs/html/class_clickable_label.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - -Olive: ClickableLabel Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ClickableLabel Class Reference
-
-
- -

The ClickableLabel class. - More...

- -

#include <clickablelabel.h>

-
-Inheritance diagram for ClickableLabel:
-
-
- -
- - - - -

-Signals

void clicked ()
 
- - - - - - - -

-Public Member Functions

 ClickableLabel (QWidget *parent=0, Qt::WindowFlags f=0)
 
 ClickableLabel (const QString &text, QWidget *parent=0, Qt::WindowFlags f=0)
 
void mousePressEvent (QMouseEvent *ev)
 
-

Detailed Description

-

The ClickableLabel class.

-

Simple QLabel-derived class that emits a clicked() signal when the widget receives a mouse press event.

-

Constructor & Destructor Documentation

- -

◆ ClickableLabel() [1/2]

- -
-
- - - - - - - - - - - - - - - - - - -
ClickableLabel::ClickableLabel (QWidget * parent = 0,
Qt::WindowFlags f = 0 
)
-
- -
-
- -

◆ ClickableLabel() [2/2]

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ClickableLabel::ClickableLabel (const QString & text,
QWidget * parent = 0,
Qt::WindowFlags f = 0 
)
-
- -
-
-

Member Function Documentation

- -

◆ clicked

- -
-
- - - - - -
- - - - - - - -
void ClickableLabel::clicked ()
-
-signal
-
- -
-
- -

◆ mousePressEvent()

- -
-
- - - - - - - - -
void ClickableLabel::mousePressEvent (QMouseEvent * ev)
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_clickable_label.png b/docs/html/class_clickable_label.png deleted file mode 100644 index 23158f3d2..000000000 Binary files a/docs/html/class_clickable_label.png and /dev/null differ diff --git a/docs/html/class_clip-members.html b/docs/html/class_clip-members.html deleted file mode 100644 index dd58225b5..000000000 --- a/docs/html/class_clip-members.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Clip Member List
-
-
- -

This is the complete list of members for Clip, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
audio_buffer_writeClip
audio_just_resetClip
audio_resetClip
audio_target_frameClip
autoscaleClip
buffersink_ctxClip
buffersrc_ctxClip
cached_frClip
cacherClip
calculated_lengthClip
can_cacheClip
Clip(SequencePtr s)Clip
clip_inClip
closing_transitionClip
codecClip
codecCtxClip
color_bClip
color_gClip
color_rClip
copy(SequencePtr s)Clip
effectsClip
enabledClip
fboClip
filter_graphClip
finished_openingClip
formatCtxClip
frameClip
frame_sample_indexClip
get_clip_in_with_transition()Clip
get_markers()Clip
get_timeline_in_with_transition()Clip
get_timeline_out_with_transition()Clip
getHeight()Clip
getLength()Clip
getMaximumLength()Clip
getMediaFrameRate()Clip
getWidth()Clip
ignore_reverseClip
last_invalid_tsClip
linkedClip
load_idClip
lockClip
maintain_audio_pitchClip
markersClipprivate
max_queue_sizeClip
mediaClip
media_streamClip
multithreadedClip
nameClip
openClip
open_lockClip
opening_transitionClip
optsClip
pix_fmtClip
pktClip
pkt_writtenClip
queueClip
queue_clear()Clip
queue_lockClip
queue_remove_earliest()Clip
reached_endClip
recalculateMaxLength()Clip
refactor_frame_rate(ComboAction *ca, double multiplier, bool change_timeline_points)Clip
refresh()Clip
render_lockClip
replacedClip
reset()Clip
reset_audio()Clip
reverseClip
reverse_targetClip
sequenceClip
speedClip
streamClip
textureClip
texture_frameClip
timeline_inClip
timeline_outClip
trackClip
undeletableClip
use_existing_frameClip
~Clip()Clip
- - - - diff --git a/docs/html/class_clip.html b/docs/html/class_clip.html deleted file mode 100644 index 666bb064c..000000000 --- a/docs/html/class_clip.html +++ /dev/null @@ -1,1480 +0,0 @@ - - - - - - - -Olive: Clip Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <clip.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Clip (SequencePtr s)
 
 ~Clip ()
 
ClipPtr copy (SequencePtr s)
 
void reset_audio ()
 
void reset ()
 
void refresh ()
 
long get_clip_in_with_transition ()
 
long get_timeline_in_with_transition ()
 
long get_timeline_out_with_transition ()
 
long getLength ()
 
double getMediaFrameRate ()
 
long getMaximumLength ()
 
void recalculateMaxLength ()
 
int getWidth ()
 
int getHeight ()
 
void refactor_frame_rate (ComboAction *ca, double multiplier, bool change_timeline_points)
 
void queue_clear ()
 
void queue_remove_earliest ()
 
QVector< Marker > & get_markers ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

SequencePtr sequence
 
bool enabled
 
long clip_in
 
long timeline_in
 
long timeline_out
 
int track
 
QString name
 
quint8 color_r
 
quint8 color_g
 
quint8 color_b
 
Mediamedia
 
int media_stream
 
double speed
 
double cached_fr
 
bool reverse
 
bool maintain_audio_pitch
 
bool autoscale
 
QList< EffectPtreffects
 
QVector< int > linked
 
TransitionPtr opening_transition
 
TransitionPtr closing_transition
 
AVFormatContext * formatCtx
 
AVStream * stream
 
AVCodec * codec
 
AVCodecContext * codecCtx
 
AVPacket * pkt
 
AVFrame * frame
 
AVDictionary * opts
 
long calculated_length
 
int load_id
 
bool undeletable
 
bool reached_end
 
bool pkt_written
 
bool open
 
bool finished_opening
 
bool replaced
 
bool ignore_reverse
 
int pix_fmt
 
bool use_existing_frame
 
bool multithreaded
 
Cachercacher
 
QWaitCondition can_cache
 
int max_queue_size
 
QVector< AVFrame * > queue
 
QMutex queue_lock
 
QMutex render_lock
 
QMutex lock
 
QMutex open_lock
 
int64_t last_invalid_ts
 
AVFilterGraph * filter_graph
 
AVFilterContext * buffersink_ctx
 
AVFilterContext * buffersrc_ctx
 
QOpenGLFramebufferObject ** fbo
 
QOpenGLTexture * texture
 
long texture_frame
 
int64_t reverse_target
 
int frame_sample_index
 
qint64 audio_buffer_write
 
bool audio_reset
 
bool audio_just_reset
 
long audio_target_frame
 
- - - -

-Private Attributes

QVector< Markermarkers
 
-

Constructor & Destructor Documentation

- -

◆ Clip()

- -
-
- - - - - - - - -
Clip::Clip (SequencePtr s)
-
- -
-
- -

◆ ~Clip()

- -
-
- - - - - - - -
Clip::~Clip ()
-
- -
-
-

Member Function Documentation

- -

◆ copy()

- -
-
- - - - - - - - -
ClipPtr Clip::copy (SequencePtr s)
-
- -
-
- -

◆ get_clip_in_with_transition()

- -
-
- - - - - - - -
long Clip::get_clip_in_with_transition ()
-
- -
-
- -

◆ get_markers()

- -
-
- - - - - - - -
QVector< Marker > & Clip::get_markers ()
-
- -
-
- -

◆ get_timeline_in_with_transition()

- -
-
- - - - - - - -
long Clip::get_timeline_in_with_transition ()
-
- -
-
- -

◆ get_timeline_out_with_transition()

- -
-
- - - - - - - -
long Clip::get_timeline_out_with_transition ()
-
- -
-
- -

◆ getHeight()

- -
-
- - - - - - - -
int Clip::getHeight ()
-
- -
-
- -

◆ getLength()

- -
-
- - - - - - - -
long Clip::getLength ()
-
- -
-
- -

◆ getMaximumLength()

- -
-
- - - - - - - -
long Clip::getMaximumLength ()
-
- -
-
- -

◆ getMediaFrameRate()

- -
-
- - - - - - - -
double Clip::getMediaFrameRate ()
-
- -
-
- -

◆ getWidth()

- -
-
- - - - - - - -
int Clip::getWidth ()
-
- -
-
- -

◆ queue_clear()

- -
-
- - - - - - - -
void Clip::queue_clear ()
-
- -
-
- -

◆ queue_remove_earliest()

- -
-
- - - - - - - -
void Clip::queue_remove_earliest ()
-
- -
-
- -

◆ recalculateMaxLength()

- -
-
- - - - - - - -
void Clip::recalculateMaxLength ()
-
- -
-
- -

◆ refactor_frame_rate()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void Clip::refactor_frame_rate (ComboActionca,
double multiplier,
bool change_timeline_points 
)
-
- -
-
- -

◆ refresh()

- -
-
- - - - - - - -
void Clip::refresh ()
-
- -
-
- -

◆ reset()

- -
-
- - - - - - - -
void Clip::reset ()
-
- -
-
- -

◆ reset_audio()

- -
-
- - - - - - - -
void Clip::reset_audio ()
-
- -
-
-

Member Data Documentation

- -

◆ audio_buffer_write

- -
-
- - - - -
qint64 Clip::audio_buffer_write
-
- -
-
- -

◆ audio_just_reset

- -
-
- - - - -
bool Clip::audio_just_reset
-
- -
-
- -

◆ audio_reset

- -
-
- - - - -
bool Clip::audio_reset
-
- -
-
- -

◆ audio_target_frame

- -
-
- - - - -
long Clip::audio_target_frame
-
- -
-
- -

◆ autoscale

- -
-
- - - - -
bool Clip::autoscale
-
- -
-
- -

◆ buffersink_ctx

- -
-
- - - - -
AVFilterContext* Clip::buffersink_ctx
-
- -
-
- -

◆ buffersrc_ctx

- -
-
- - - - -
AVFilterContext* Clip::buffersrc_ctx
-
- -
-
- -

◆ cached_fr

- -
-
- - - - -
double Clip::cached_fr
-
- -
-
- -

◆ cacher

- -
-
- - - - -
Cacher* Clip::cacher
-
- -
-
- -

◆ calculated_length

- -
-
- - - - -
long Clip::calculated_length
-
- -
-
- -

◆ can_cache

- -
-
- - - - -
QWaitCondition Clip::can_cache
-
- -
-
- -

◆ clip_in

- -
-
- - - - -
long Clip::clip_in
-
- -
-
- -

◆ closing_transition

- -
-
- - - - -
TransitionPtr Clip::closing_transition
-
- -
-
- -

◆ codec

- -
-
- - - - -
AVCodec* Clip::codec
-
- -
-
- -

◆ codecCtx

- -
-
- - - - -
AVCodecContext* Clip::codecCtx
-
- -
-
- -

◆ color_b

- -
-
- - - - -
quint8 Clip::color_b
-
- -
-
- -

◆ color_g

- -
-
- - - - -
quint8 Clip::color_g
-
- -
-
- -

◆ color_r

- -
-
- - - - -
quint8 Clip::color_r
-
- -
-
- -

◆ effects

- -
-
- - - - -
QList<EffectPtr> Clip::effects
-
- -
-
- -

◆ enabled

- -
-
- - - - -
bool Clip::enabled
-
- -
-
- -

◆ fbo

- -
-
- - - - -
QOpenGLFramebufferObject** Clip::fbo
-
- -
-
- -

◆ filter_graph

- -
-
- - - - -
AVFilterGraph* Clip::filter_graph
-
- -
-
- -

◆ finished_opening

- -
-
- - - - -
bool Clip::finished_opening
-
- -
-
- -

◆ formatCtx

- -
-
- - - - -
AVFormatContext* Clip::formatCtx
-
- -
-
- -

◆ frame

- -
-
- - - - -
AVFrame* Clip::frame
-
- -
-
- -

◆ frame_sample_index

- -
-
- - - - -
int Clip::frame_sample_index
-
- -
-
- -

◆ ignore_reverse

- -
-
- - - - -
bool Clip::ignore_reverse
-
- -
-
- -

◆ last_invalid_ts

- -
-
- - - - -
int64_t Clip::last_invalid_ts
-
- -
-
- -

◆ linked

- -
-
- - - - -
QVector<int> Clip::linked
-
- -
-
- -

◆ load_id

- -
-
- - - - -
int Clip::load_id
-
- -
-
- -

◆ lock

- -
-
- - - - -
QMutex Clip::lock
-
- -
-
- -

◆ maintain_audio_pitch

- -
-
- - - - -
bool Clip::maintain_audio_pitch
-
- -
-
- -

◆ markers

- -
-
- - - - - -
- - - - -
QVector<Marker> Clip::markers
-
-private
-
- -
-
- -

◆ max_queue_size

- -
-
- - - - -
int Clip::max_queue_size
-
- -
-
- -

◆ media

- -
-
- - - - -
Media* Clip::media
-
- -
-
- -

◆ media_stream

- -
-
- - - - -
int Clip::media_stream
-
- -
-
- -

◆ multithreaded

- -
-
- - - - -
bool Clip::multithreaded
-
- -
-
- -

◆ name

- -
-
- - - - -
QString Clip::name
-
- -
-
- -

◆ open

- -
-
- - - - -
bool Clip::open
-
- -
-
- -

◆ open_lock

- -
-
- - - - -
QMutex Clip::open_lock
-
- -
-
- -

◆ opening_transition

- -
-
- - - - -
TransitionPtr Clip::opening_transition
-
- -
-
- -

◆ opts

- -
-
- - - - -
AVDictionary* Clip::opts
-
- -
-
- -

◆ pix_fmt

- -
-
- - - - -
int Clip::pix_fmt
-
- -
-
- -

◆ pkt

- -
-
- - - - -
AVPacket* Clip::pkt
-
- -
-
- -

◆ pkt_written

- -
-
- - - - -
bool Clip::pkt_written
-
- -
-
- -

◆ queue

- -
-
- - - - -
QVector<AVFrame*> Clip::queue
-
- -
-
- -

◆ queue_lock

- -
-
- - - - -
QMutex Clip::queue_lock
-
- -
-
- -

◆ reached_end

- -
-
- - - - -
bool Clip::reached_end
-
- -
-
- -

◆ render_lock

- -
-
- - - - -
QMutex Clip::render_lock
-
- -
-
- -

◆ replaced

- -
-
- - - - -
bool Clip::replaced
-
- -
-
- -

◆ reverse

- -
-
- - - - -
bool Clip::reverse
-
- -
-
- -

◆ reverse_target

- -
-
- - - - -
int64_t Clip::reverse_target
-
- -
-
- -

◆ sequence

- -
-
- - - - -
SequencePtr Clip::sequence
-
- -
-
- -

◆ speed

- -
-
- - - - -
double Clip::speed
-
- -
-
- -

◆ stream

- -
-
- - - - -
AVStream* Clip::stream
-
- -
-
- -

◆ texture

- -
-
- - - - -
QOpenGLTexture* Clip::texture
-
- -
-
- -

◆ texture_frame

- -
-
- - - - -
long Clip::texture_frame
-
- -
-
- -

◆ timeline_in

- -
-
- - - - -
long Clip::timeline_in
-
- -
-
- -

◆ timeline_out

- -
-
- - - - -
long Clip::timeline_out
-
- -
-
- -

◆ track

- -
-
- - - - -
int Clip::track
-
- -
-
- -

◆ undeletable

- -
-
- - - - -
bool Clip::undeletable
-
- -
-
- -

◆ use_existing_frame

- -
-
- - - - -
bool Clip::use_existing_frame
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_close_all_clips_command-members.html b/docs/html/class_close_all_clips_command-members.html deleted file mode 100644 index 505a469fd..000000000 --- a/docs/html/class_close_all_clips_command-members.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
CloseAllClipsCommand Member List
-
-
- -

This is the complete list of members for CloseAllClipsCommand, including all inherited members.

- - - - - - - -
doRedo() overrideCloseAllClipsCommandvirtual
doUndo() overrideCloseAllClipsCommandvirtual
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_close_all_clips_command.html b/docs/html/class_close_all_clips_command.html deleted file mode 100644 index 3550a53b8..000000000 --- a/docs/html/class_close_all_clips_command.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - -Olive: CloseAllClipsCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
CloseAllClipsCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for CloseAllClipsCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - -

-Public Member Functions

virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void CloseAllClipsCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void CloseAllClipsCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_close_all_clips_command.png b/docs/html/class_close_all_clips_command.png deleted file mode 100644 index 4eac3cd5d..000000000 Binary files a/docs/html/class_close_all_clips_command.png and /dev/null differ diff --git a/docs/html/class_collapsible_widget-members.html b/docs/html/class_collapsible_widget-members.html deleted file mode 100644 index 55aa3c399..000000000 --- a/docs/html/class_collapsible_widget-members.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
CollapsibleWidget Member List
-
- - - - - diff --git a/docs/html/class_collapsible_widget.html b/docs/html/class_collapsible_widget.html deleted file mode 100644 index b62c188c0..000000000 --- a/docs/html/class_collapsible_widget.html +++ /dev/null @@ -1,580 +0,0 @@ - - - - - - - -Olive: CollapsibleWidget Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <collapsiblewidget.h>

-
-Inheritance diagram for CollapsibleWidget:
-
-
- -
- - - - -

-Public Slots

void header_click (bool s, bool deselect)
 
- - - - - -

-Signals

void deselect_others (QWidget *)
 
void visibleChanged ()
 
- - - - - - - - - - - -

-Public Member Functions

 CollapsibleWidget (QWidget *parent=0)
 
void setContents (QWidget *c)
 
void setText (const QString &)
 
bool is_focused ()
 
bool is_expanded ()
 
- - - - - - - - - -

-Public Attributes

CheckboxExenabled_check
 
bool selected
 
QWidget * contents
 
CollapsibleWidgetHeadertitle_bar
 
- - - - - -

-Private Slots

void on_enabled_change (bool b)
 
void on_visible_change ()
 
- - - -

-Private Member Functions

void set_button_icon (bool open)
 
- - - - - - - - - - - -

-Private Attributes

QLabel * header
 
QVBoxLayout * layout
 
QPushButton * collapse_button
 
QFrame * line
 
QHBoxLayout * title_bar_layout
 
-

Constructor & Destructor Documentation

- -

◆ CollapsibleWidget()

- -
-
- - - - - - - - -
CollapsibleWidget::CollapsibleWidget (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ deselect_others

- -
-
- - - - - -
- - - - - - - - -
void CollapsibleWidget::deselect_others (QWidget * )
-
-signal
-
- -
-
- -

◆ header_click

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void CollapsibleWidget::header_click (bool s,
bool deselect 
)
-
-slot
-
- -
-
- -

◆ is_expanded()

- -
-
- - - - - - - -
bool CollapsibleWidget::is_expanded ()
-
- -
-
- -

◆ is_focused()

- -
-
- - - - - - - -
bool CollapsibleWidget::is_focused ()
-
- -
-
- -

◆ on_enabled_change

- -
-
- - - - - -
- - - - - - - - -
void CollapsibleWidget::on_enabled_change (bool b)
-
-privateslot
-
- -
-
- -

◆ on_visible_change

- -
-
- - - - - -
- - - - - - - -
void CollapsibleWidget::on_visible_change ()
-
-privateslot
-
- -
-
- -

◆ set_button_icon()

- -
-
- - - - - -
- - - - - - - - -
void CollapsibleWidget::set_button_icon (bool open)
-
-private
-
- -
-
- -

◆ setContents()

- -
-
- - - - - - - - -
void CollapsibleWidget::setContents (QWidget * c)
-
- -
-
- -

◆ setText()

- -
-
- - - - - - - - -
void CollapsibleWidget::setText (const QString & s)
-
- -
-
- -

◆ visibleChanged

- -
-
- - - - - -
- - - - - - - -
void CollapsibleWidget::visibleChanged ()
-
-signal
-
- -
-
-

Member Data Documentation

- -

◆ collapse_button

- -
-
- - - - - -
- - - - -
QPushButton* CollapsibleWidget::collapse_button
-
-private
-
- -
-
- -

◆ contents

- -
-
- - - - -
QWidget* CollapsibleWidget::contents
-
- -
-
- -

◆ enabled_check

- -
-
- - - - -
CheckboxEx* CollapsibleWidget::enabled_check
-
- -
-
- -

◆ header

- -
-
- - - - - -
- - - - -
QLabel* CollapsibleWidget::header
-
-private
-
- -
-
- -

◆ layout

- -
-
- - - - - -
- - - - -
QVBoxLayout* CollapsibleWidget::layout
-
-private
-
- -
-
- -

◆ line

- -
-
- - - - - -
- - - - -
QFrame* CollapsibleWidget::line
-
-private
-
- -
-
- -

◆ selected

- -
-
- - - - -
bool CollapsibleWidget::selected
-
- -
-
- -

◆ title_bar

- -
-
- - - - -
CollapsibleWidgetHeader* CollapsibleWidget::title_bar
-
- -
-
- -

◆ title_bar_layout

- -
-
- - - - - -
- - - - -
QHBoxLayout* CollapsibleWidget::title_bar_layout
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_collapsible_widget.png b/docs/html/class_collapsible_widget.png deleted file mode 100644 index 35cfa0a71..000000000 Binary files a/docs/html/class_collapsible_widget.png and /dev/null differ diff --git a/docs/html/class_collapsible_widget_header-members.html b/docs/html/class_collapsible_widget_header-members.html deleted file mode 100644 index 80ffcde1f..000000000 --- a/docs/html/class_collapsible_widget_header-members.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
CollapsibleWidgetHeader Member List
-
-
- -

This is the complete list of members for CollapsibleWidgetHeader, including all inherited members.

- - - - - - -
CollapsibleWidgetHeader(QWidget *parent=0)CollapsibleWidgetHeader
mousePressEvent(QMouseEvent *event)CollapsibleWidgetHeaderprotected
paintEvent(QPaintEvent *event)CollapsibleWidgetHeaderprotected
select(bool, bool)CollapsibleWidgetHeadersignal
selectedCollapsibleWidgetHeader
- - - - diff --git a/docs/html/class_collapsible_widget_header.html b/docs/html/class_collapsible_widget_header.html deleted file mode 100644 index c59dc8e47..000000000 --- a/docs/html/class_collapsible_widget_header.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - -Olive: CollapsibleWidgetHeader Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
CollapsibleWidgetHeader Class Reference
-
-
- -

#include <collapsiblewidget.h>

-
-Inheritance diagram for CollapsibleWidgetHeader:
-
-
- -
- - - - -

-Signals

void select (bool, bool)
 
- - - -

-Public Member Functions

 CollapsibleWidgetHeader (QWidget *parent=0)
 
- - - -

-Public Attributes

bool selected
 
- - - - - -

-Protected Member Functions

void mousePressEvent (QMouseEvent *event)
 
void paintEvent (QPaintEvent *event)
 
-

Constructor & Destructor Documentation

- -

◆ CollapsibleWidgetHeader()

- -
-
- - - - - - - - -
CollapsibleWidgetHeader::CollapsibleWidgetHeader (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ mousePressEvent()

- -
-
- - - - - -
- - - - - - - - -
void CollapsibleWidgetHeader::mousePressEvent (QMouseEvent * event)
-
-protected
-
- -
-
- -

◆ paintEvent()

- -
-
- - - - - -
- - - - - - - - -
void CollapsibleWidgetHeader::paintEvent (QPaintEvent * event)
-
-protected
-
- -
-
- -

◆ select

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void CollapsibleWidgetHeader::select (bool ,
bool  
)
-
-signal
-
- -
-
-

Member Data Documentation

- -

◆ selected

- -
-
- - - - -
bool CollapsibleWidgetHeader::selected
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_collapsible_widget_header.png b/docs/html/class_collapsible_widget_header.png deleted file mode 100644 index ea4678453..000000000 Binary files a/docs/html/class_collapsible_widget_header.png and /dev/null differ diff --git a/docs/html/class_color_button-members.html b/docs/html/class_color_button-members.html deleted file mode 100644 index a25217553..000000000 --- a/docs/html/class_color_button-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ColorButton Member List
-
-
- -

This is the complete list of members for ColorButton, including all inherited members.

- - - - - - - - - - -
colorColorButtonprivate
color_changed()ColorButtonsignal
ColorButton(QWidget *parent=0)ColorButton
get_color()ColorButton
getPreviousValue()ColorButton
open_dialog()ColorButtonprivateslot
previousColorColorButtonprivate
set_button_color()ColorButtonprivate
set_color(QColor c)ColorButton
- - - - diff --git a/docs/html/class_color_button.html b/docs/html/class_color_button.html deleted file mode 100644 index e942969ce..000000000 --- a/docs/html/class_color_button.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -Olive: ColorButton Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <colorbutton.h>

-
-Inheritance diagram for ColorButton:
-
-
- -
- - - - -

-Signals

void color_changed ()
 
- - - - - - - - - -

-Public Member Functions

 ColorButton (QWidget *parent=0)
 
QColor get_color ()
 
void set_color (QColor c)
 
const QColor & getPreviousValue ()
 
- - - -

-Private Slots

void open_dialog ()
 
- - - -

-Private Member Functions

void set_button_color ()
 
- - - - - -

-Private Attributes

QColor color
 
QColor previousColor
 
-

Constructor & Destructor Documentation

- -

◆ ColorButton()

- -
-
- - - - - - - - -
ColorButton::ColorButton (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ color_changed

- -
-
- - - - - -
- - - - - - - -
void ColorButton::color_changed ()
-
-signal
-
- -
-
- -

◆ get_color()

- -
-
- - - - - - - -
QColor ColorButton::get_color ()
-
- -
-
- -

◆ getPreviousValue()

- -
-
- - - - - - - -
const QColor & ColorButton::getPreviousValue ()
-
- -
-
- -

◆ open_dialog

- -
-
- - - - - -
- - - - - - - -
void ColorButton::open_dialog ()
-
-privateslot
-
- -
-
- -

◆ set_button_color()

- -
-
- - - - - -
- - - - - - - -
void ColorButton::set_button_color ()
-
-private
-
- -
-
- -

◆ set_color()

- -
-
- - - - - - - - -
void ColorButton::set_color (QColor c)
-
- -
-
-

Member Data Documentation

- -

◆ color

- -
-
- - - - - -
- - - - -
QColor ColorButton::color
-
-private
-
- -
-
- -

◆ previousColor

- -
-
- - - - - -
- - - - -
QColor ColorButton::previousColor
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_color_button.png b/docs/html/class_color_button.png deleted file mode 100644 index dced9dea8..000000000 Binary files a/docs/html/class_color_button.png and /dev/null differ diff --git a/docs/html/class_color_command-members.html b/docs/html/class_color_command-members.html deleted file mode 100644 index 75796d2ba..000000000 --- a/docs/html/class_color_command-members.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ColorCommand Member List
-
-
- -

This is the complete list of members for ColorCommand, including all inherited members.

- - - - - - - -
ColorCommand(ColorButton *s, QColor o, QColor n)ColorCommand
new_colorColorCommandprivate
old_colorColorCommandprivate
redo()ColorCommand
senderColorCommandprivate
undo()ColorCommand
- - - - diff --git a/docs/html/class_color_command.html b/docs/html/class_color_command.html deleted file mode 100644 index 590dd315b..000000000 --- a/docs/html/class_color_command.html +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - - -Olive: ColorCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ColorCommand Class Reference
-
-
- -

#include <colorbutton.h>

-
-Inheritance diagram for ColorCommand:
-
-
- -
- - - - - - - - -

-Public Member Functions

 ColorCommand (ColorButton *s, QColor o, QColor n)
 
void undo ()
 
void redo ()
 
- - - - - - - -

-Private Attributes

ColorButtonsender
 
QColor old_color
 
QColor new_color
 
-

Constructor & Destructor Documentation

- -

◆ ColorCommand()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ColorCommand::ColorCommand (ColorButtons,
QColor o,
QColor n 
)
-
- -
-
-

Member Function Documentation

- -

◆ redo()

- -
-
- - - - - - - -
void ColorCommand::redo ()
-
- -
-
- -

◆ undo()

- -
-
- - - - - - - -
void ColorCommand::undo ()
-
- -
-
-

Member Data Documentation

- -

◆ new_color

- -
-
- - - - - -
- - - - -
QColor ColorCommand::new_color
-
-private
-
- -
-
- -

◆ old_color

- -
-
- - - - - -
- - - - -
QColor ColorCommand::old_color
-
-private
-
- -
-
- -

◆ sender

- -
-
- - - - - -
- - - - -
ColorButton* ColorCommand::sender
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_color_command.png b/docs/html/class_color_command.png deleted file mode 100644 index 29c91e771..000000000 Binary files a/docs/html/class_color_command.png and /dev/null differ diff --git a/docs/html/class_combo_action-members.html b/docs/html/class_combo_action-members.html deleted file mode 100644 index 342a08535..000000000 --- a/docs/html/class_combo_action-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ComboAction Member List
-
-
- -

This is the complete list of members for ComboAction, including all inherited members.

- - - - - - - - - -
append(QUndoCommand *u)ComboAction
appendPost(QUndoCommand *u)ComboAction
ComboAction()ComboAction
commandsComboActionprivate
post_commandsComboActionprivate
redo() overrideComboActionvirtual
undo() overrideComboActionvirtual
~ComboAction() overrideComboActionvirtual
- - - - diff --git a/docs/html/class_combo_action.html b/docs/html/class_combo_action.html deleted file mode 100644 index 92e0ecf10..000000000 --- a/docs/html/class_combo_action.html +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - -Olive: ComboAction Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ComboAction Class Reference
-
-
- -

The ComboAction class. - More...

- -

#include <comboaction.h>

-
-Inheritance diagram for ComboAction:
-
-
- -
- - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 ComboAction ()
 ComboAction Constructor. Currently empty. More...
 
virtual ~ComboAction () override
 ~ComboAction Destructor. Cleans up all QUndoCommand classes that have been added to it. More...
 
virtual void undo () override
 Undo Function. More...
 
virtual void redo () override
 Redo Function. More...
 
void append (QUndoCommand *u)
 Add an undo action. More...
 
void appendPost (QUndoCommand *u)
 Add a post-undo PostAction. More...
 
- - - - - - - -

-Private Attributes

QVector< QUndoCommand * > commands
 Internal array of QUndoCommand objects. More...
 
QVector< QUndoCommand * > post_commands
 Internal array of PostAction objects. More...
 
-

Detailed Description

-

The ComboAction class.

-

The Undo/Redo system works by stacking an action that knows how to "do" and also "undo" itself. As Olive is a very complex program, there are many actions that can in one "user action". For example, moving a clip over another will delete the clip under it, which is at least two actions that need to be undone if the user clicks undo, however the user only (knowingly) did one thing and would find it confusing if this one user action required to undos to complete undo.

-

To address this, ComboAction is an undo action that simply compiles several possible actions into one, doing them all on every redo, and undoing them all on every undo.

-

Constructor & Destructor Documentation

- -

◆ ComboAction()

- -
-
- - - - - - - -
ComboAction::ComboAction ()
-
- -

ComboAction Constructor. Currently empty.

- -
-
- -

◆ ~ComboAction()

- -
-
- - - - - -
- - - - - - - -
ComboAction::~ComboAction ()
-
-overridevirtual
-
- -

~ComboAction Destructor. Cleans up all QUndoCommand classes that have been added to it.

- -
-
-

Member Function Documentation

- -

◆ append()

- -
-
- - - - - - - - -
void ComboAction::append (QUndoCommand * u)
-
- -

Add an undo action.

-

Add an action to be done/undone. ComboAction takes ownership of this QUndoCommand and will delete it when it is deleted.

-
Parameters
- - -
uThe QUndoCommand to add.
-
-
- -
-
- -

◆ appendPost()

- -
-
- - - - - - - - -
void ComboAction::appendPost (QUndoCommand * u)
-
- -

Add a post-undo PostAction.

-

Sometimes the results of all the actions require another function to be called (e.g. repainting the Viewer). QUndoCommand objects added by appendPost() will run after EVERY QUndoCommand added by append() has been run.

-
Parameters
- - -
uThe PostAction to add
-
-
- -
-
- -

◆ redo()

- -
-
- - - - - -
- - - - - - - -
void ComboAction::redo ()
-
-overridevirtual
-
- -

Redo Function.

-

Called by the QUndoStack to redo.

-

Calls QUndoCommand::redo() on all QUndoCommand objects added by append() in the order they were added. Then calls QUndoCommand::redo() on every action added by appendPost() in the order they were added.

- -
-
- -

◆ undo()

- -
-
- - - - - -
- - - - - - - -
void ComboAction::undo ()
-
-overridevirtual
-
- -

Undo Function.

-

Called by the QUndoStack to undo.

-

Calls QUndoCommand::undo() on all QUndoCommand objects added by append() in REVERSE order to how they were added. Then calls QUndoCommand::redo() on every action added by appendPost() in the order they were added (not in reverse).

- -
-
-

Member Data Documentation

- -

◆ commands

- -
-
- - - - - -
- - - - -
QVector<QUndoCommand*> ComboAction::commands
-
-private
-
- -

Internal array of QUndoCommand objects.

- -
-
- -

◆ post_commands

- -
-
- - - - - -
- - - - -
QVector<QUndoCommand*> ComboAction::post_commands
-
-private
-
- -

Internal array of PostAction objects.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_combo_action.png b/docs/html/class_combo_action.png deleted file mode 100644 index 9c1d3686b..000000000 Binary files a/docs/html/class_combo_action.png and /dev/null differ diff --git a/docs/html/class_combo_box_ex-members.html b/docs/html/class_combo_box_ex-members.html deleted file mode 100644 index 0eeb2915c..000000000 --- a/docs/html/class_combo_box_ex-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ComboBoxEx Member List
-
-
- -

This is the complete list of members for ComboBoxEx, including all inherited members.

- - - - - - - - - -
ComboBoxEx(QWidget *parent=0)ComboBoxEx
getPreviousIndex()ComboBoxEx
indexComboBoxExprivate
index_changed(int)ComboBoxExprivateslot
previousIndexComboBoxExprivate
setCurrentIndexEx(int i)ComboBoxEx
setCurrentTextEx(const QString &text)ComboBoxEx
wheelEvent(QWheelEvent *e)ComboBoxExprivate
- - - - diff --git a/docs/html/class_combo_box_ex.html b/docs/html/class_combo_box_ex.html deleted file mode 100644 index bfe8a9969..000000000 --- a/docs/html/class_combo_box_ex.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - - -Olive: ComboBoxEx Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <comboboxex.h>

-
-Inheritance diagram for ComboBoxEx:
-
-
- - -FontCombobox - -
- - - - - - - - - - -

-Public Member Functions

 ComboBoxEx (QWidget *parent=0)
 
void setCurrentIndexEx (int i)
 
void setCurrentTextEx (const QString &text)
 
int getPreviousIndex ()
 
- - - -

-Private Slots

void index_changed (int)
 
- - - -

-Private Member Functions

void wheelEvent (QWheelEvent *e)
 
- - - - - -

-Private Attributes

int index
 
int previousIndex
 
-

Constructor & Destructor Documentation

- -

◆ ComboBoxEx()

- -
-
- - - - - - - - -
ComboBoxEx::ComboBoxEx (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ getPreviousIndex()

- -
-
- - - - - - - -
int ComboBoxEx::getPreviousIndex ()
-
- -
-
- -

◆ index_changed

- -
-
- - - - - -
- - - - - - - - -
void ComboBoxEx::index_changed (int i)
-
-privateslot
-
- -
-
- -

◆ setCurrentIndexEx()

- -
-
- - - - - - - - -
void ComboBoxEx::setCurrentIndexEx (int i)
-
- -
-
- -

◆ setCurrentTextEx()

- -
-
- - - - - - - - -
void ComboBoxEx::setCurrentTextEx (const QString & text)
-
- -
-
- -

◆ wheelEvent()

- -
-
- - - - - -
- - - - - - - - -
void ComboBoxEx::wheelEvent (QWheelEvent * e)
-
-private
-
- -
-
-

Member Data Documentation

- -

◆ index

- -
-
- - - - - -
- - - - -
int ComboBoxEx::index
-
-private
-
- -
-
- -

◆ previousIndex

- -
-
- - - - - -
- - - - -
int ComboBoxEx::previousIndex
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_combo_box_ex.png b/docs/html/class_combo_box_ex.png deleted file mode 100644 index 3d3b3ca48..000000000 Binary files a/docs/html/class_combo_box_ex.png and /dev/null differ diff --git a/docs/html/class_combo_box_ex_command-members.html b/docs/html/class_combo_box_ex_command-members.html deleted file mode 100644 index 2343a4193..000000000 --- a/docs/html/class_combo_box_ex_command-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ComboBoxExCommand Member List
-
-
- -

This is the complete list of members for ComboBoxExCommand, including all inherited members.

- - - - - - - - - -
comboboxComboBoxExCommandprivate
ComboBoxExCommand(ComboBoxEx *obj, int old_index, int new_index)ComboBoxExCommandinline
doneComboBoxExCommandprivate
new_valComboBoxExCommandprivate
old_project_changedComboBoxExCommandprivate
old_valComboBoxExCommandprivate
redo()ComboBoxExCommandinline
undo()ComboBoxExCommandinline
- - - - diff --git a/docs/html/class_combo_box_ex_command.html b/docs/html/class_combo_box_ex_command.html deleted file mode 100644 index faab57a34..000000000 --- a/docs/html/class_combo_box_ex_command.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - -Olive: ComboBoxExCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ComboBoxExCommand Class Reference
-
-
-
-Inheritance diagram for ComboBoxExCommand:
-
-
- -
- - - - - - - - -

-Public Member Functions

 ComboBoxExCommand (ComboBoxEx *obj, int old_index, int new_index)
 
void undo ()
 
void redo ()
 
- - - - - - - - - - - -

-Private Attributes

ComboBoxExcombobox
 
int old_val
 
int new_val
 
bool done
 
bool old_project_changed
 
-

Constructor & Destructor Documentation

- -

◆ ComboBoxExCommand()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
ComboBoxExCommand::ComboBoxExCommand (ComboBoxExobj,
int old_index,
int new_index 
)
-
-inline
-
- -
-
-

Member Function Documentation

- -

◆ redo()

- -
-
- - - - - -
- - - - - - - -
void ComboBoxExCommand::redo ()
-
-inline
-
- -
-
- -

◆ undo()

- -
-
- - - - - -
- - - - - - - -
void ComboBoxExCommand::undo ()
-
-inline
-
- -
-
-

Member Data Documentation

- -

◆ combobox

- -
-
- - - - - -
- - - - -
ComboBoxEx* ComboBoxExCommand::combobox
-
-private
-
- -
-
- -

◆ done

- -
-
- - - - - -
- - - - -
bool ComboBoxExCommand::done
-
-private
-
- -
-
- -

◆ new_val

- -
-
- - - - - -
- - - - -
int ComboBoxExCommand::new_val
-
-private
-
- -
-
- -

◆ old_project_changed

- -
-
- - - - - -
- - - - -
bool ComboBoxExCommand::old_project_changed
-
-private
-
- -
-
- -

◆ old_val

- -
-
- - - - - -
- - - - -
int ComboBoxExCommand::old_val
-
-private
-
- -
-
-
The documentation for this class was generated from the following file: -
- - - - diff --git a/docs/html/class_combo_box_ex_command.png b/docs/html/class_combo_box_ex_command.png deleted file mode 100644 index 9c1b491ab..000000000 Binary files a/docs/html/class_combo_box_ex_command.png and /dev/null differ diff --git a/docs/html/class_corner_pin_effect-members.html b/docs/html/class_corner_pin_effect-members.html deleted file mode 100644 index c86f11e90..000000000 --- a/docs/html/class_corner_pin_effect-members.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
CornerPinEffect Member List
-
-
- -

This is the complete list of members for CornerPinEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
bottom_left_gizmoCornerPinEffectprivate
bottom_left_xCornerPinEffectprivate
bottom_left_yCornerPinEffectprivate
bottom_right_gizmoCornerPinEffectprivate
bottom_right_xCornerPinEffectprivate
bottom_right_yCornerPinEffectprivate
close()Effect
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
CornerPinEffect(ClipPtr c, const EffectMeta *em)CornerPinEffect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)CornerPinEffectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
open()Effect
parent_clipEffect
perspectiveCornerPinEffectprivate
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)Effectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)CornerPinEffectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &coords, int iterations)CornerPinEffectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)Effectvirtual
save_to_string()Effect
set_enabled(bool b)Effect
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
top_left_gizmoCornerPinEffectprivate
top_left_xCornerPinEffectprivate
top_left_yCornerPinEffectprivate
top_right_gizmoCornerPinEffectprivate
top_right_xCornerPinEffectprivate
top_right_yCornerPinEffectprivate
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_corner_pin_effect.html b/docs/html/class_corner_pin_effect.html deleted file mode 100644 index a9ee9d1fd..000000000 --- a/docs/html/class_corner_pin_effect.html +++ /dev/null @@ -1,684 +0,0 @@ - - - - - - - -Olive: CornerPinEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
CornerPinEffect Class Reference
-
-
- -

#include <cornerpineffect.h>

-
-Inheritance diagram for CornerPinEffect:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 CornerPinEffect (ClipPtr c, const EffectMeta *em)
 
void process_coords (double timecode, GLTextureCoords &coords, int data)
 
void process_shader (double timecode, GLTextureCoords &coords, int iterations)
 
void gizmo_draw (double timecode, GLTextureCoords &coords)
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

EffectFieldtop_left_x
 
EffectFieldtop_left_y
 
EffectFieldtop_right_x
 
EffectFieldtop_right_y
 
EffectFieldbottom_left_x
 
EffectFieldbottom_left_y
 
EffectFieldbottom_right_x
 
EffectFieldbottom_right_y
 
EffectFieldperspective
 
EffectGizmotop_left_gizmo
 
EffectGizmotop_right_gizmo
 
EffectGizmobottom_left_gizmo
 
EffectGizmobottom_right_gizmo
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ CornerPinEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
CornerPinEffect::CornerPinEffect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ gizmo_draw()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void CornerPinEffect::gizmo_draw (double timecode,
GLTextureCoordscoords 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ process_coords()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void CornerPinEffect::process_coords (double timecode,
GLTextureCoordscoords,
int data 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ process_shader()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void CornerPinEffect::process_shader (double timecode,
GLTextureCoordscoords,
int iterations 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-

Member Data Documentation

- -

◆ bottom_left_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* CornerPinEffect::bottom_left_gizmo
-
-private
-
- -
-
- -

◆ bottom_left_x

- -
-
- - - - - -
- - - - -
EffectField* CornerPinEffect::bottom_left_x
-
-private
-
- -
-
- -

◆ bottom_left_y

- -
-
- - - - - -
- - - - -
EffectField* CornerPinEffect::bottom_left_y
-
-private
-
- -
-
- -

◆ bottom_right_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* CornerPinEffect::bottom_right_gizmo
-
-private
-
- -
-
- -

◆ bottom_right_x

- -
-
- - - - - -
- - - - -
EffectField* CornerPinEffect::bottom_right_x
-
-private
-
- -
-
- -

◆ bottom_right_y

- -
-
- - - - - -
- - - - -
EffectField* CornerPinEffect::bottom_right_y
-
-private
-
- -
-
- -

◆ perspective

- -
-
- - - - - -
- - - - -
EffectField* CornerPinEffect::perspective
-
-private
-
- -
-
- -

◆ top_left_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* CornerPinEffect::top_left_gizmo
-
-private
-
- -
-
- -

◆ top_left_x

- -
-
- - - - - -
- - - - -
EffectField* CornerPinEffect::top_left_x
-
-private
-
- -
-
- -

◆ top_left_y

- -
-
- - - - - -
- - - - -
EffectField* CornerPinEffect::top_left_y
-
-private
-
- -
-
- -

◆ top_right_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* CornerPinEffect::top_right_gizmo
-
-private
-
- -
-
- -

◆ top_right_x

- -
-
- - - - - -
- - - - -
EffectField* CornerPinEffect::top_right_x
-
-private
-
- -
-
- -

◆ top_right_y

- -
-
- - - - - -
- - - - -
EffectField* CornerPinEffect::top_right_y
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_corner_pin_effect.png b/docs/html/class_corner_pin_effect.png deleted file mode 100644 index 115b70f7d..000000000 Binary files a/docs/html/class_corner_pin_effect.png and /dev/null differ diff --git a/docs/html/class_crc32-members.html b/docs/html/class_crc32-members.html deleted file mode 100644 index 01f569f1e..000000000 --- a/docs/html/class_crc32-members.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Crc32 Member List
-
-
- -

This is the complete list of members for Crc32, including all inherited members.

- - - - - - - - -
calculateFromFile(QString filename) (defined in Crc32)Crc32
Crc32() (defined in Crc32)Crc32
crc_table (defined in Crc32)Crc32private
initInstance(int i) (defined in Crc32)Crc32
instances (defined in Crc32)Crc32private
pushData(int i, char *data, int len) (defined in Crc32)Crc32
releaseInstance(int i) (defined in Crc32)Crc32
- - - - diff --git a/docs/html/class_crc32.html b/docs/html/class_crc32.html deleted file mode 100644 index 2775145a3..000000000 --- a/docs/html/class_crc32.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Olive: Crc32 Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- - - - - - - - - - -

-Public Member Functions

-quint32 calculateFromFile (QString filename)
 
-void initInstance (int i)
 
-void pushData (int i, char *data, int len)
 
-quint32 releaseInstance (int i)
 
- - - - - -

-Private Attributes

-quint32 crc_table [256]
 
-QMap< int, quint32 > instances
 
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_cross_dissolve_transition-members.html b/docs/html/class_cross_dissolve_transition-members.html deleted file mode 100644 index 414c15bf1..000000000 --- a/docs/html/class_cross_dissolve_transition-members.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
CrossDissolveTransition Member List
-
-
- -

This is the complete list of members for CrossDissolveTransition, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
close()Effect
containerEffect
copy(ClipPtr c, ClipPtr s)Transitionvirtual
Effect::copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
CrossDissolveTransition(ClipPtr c, ClipPtr s, const EffectMeta *em)CrossDissolveTransition
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
get_closed_clip()Transition
get_length()Transition
get_opened_clip()Transition
get_true_length()Transition
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)Effectvirtual
process_coords(double timecode, GLTextureCoords &, int data)CrossDissolveTransitionvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream) overrideTransitionvirtual
save_to_string()Effect
secondary_clipTransition
set_enabled(bool b)Effect
set_length(long l)Transition
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
Transition(ClipPtr c, ClipPtr s, const EffectMeta *em)Transition
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_cross_dissolve_transition.html b/docs/html/class_cross_dissolve_transition.html deleted file mode 100644 index 9b126e58b..000000000 --- a/docs/html/class_cross_dissolve_transition.html +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - - -Olive: CrossDissolveTransition Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
CrossDissolveTransition Class Reference
-
-
- -

#include <crossdissolvetransition.h>

-
-Inheritance diagram for CrossDissolveTransition:
-
-
- - -Transition -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 CrossDissolveTransition (ClipPtr c, ClipPtr s, const EffectMeta *em)
 
void process_coords (double timecode, GLTextureCoords &, int data)
 
- Public Member Functions inherited from Transition
 Transition (ClipPtr c, ClipPtr s, const EffectMeta *em)
 
virtual TransitionPtr copy (ClipPtr c, ClipPtr s)
 
virtual void save (QXmlStreamWriter &stream) override
 
void set_length (long l)
 
long get_true_length ()
 
long get_length ()
 
ClipPtr get_opened_clip ()
 
ClipPtr get_closed_clip ()
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Public Attributes inherited from Transition
ClipPtr secondary_clip
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ CrossDissolveTransition()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
CrossDissolveTransition::CrossDissolveTransition (ClipPtr c,
ClipPtr s,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ process_coords()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void CrossDissolveTransition::process_coords (double timecode,
GLTextureCoordscoords,
int data 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_cross_dissolve_transition.png b/docs/html/class_cross_dissolve_transition.png deleted file mode 100644 index c5d35e549..000000000 Binary files a/docs/html/class_cross_dissolve_transition.png and /dev/null differ diff --git a/docs/html/class_cube_transition-members.html b/docs/html/class_cube_transition-members.html deleted file mode 100644 index 9fe027423..000000000 --- a/docs/html/class_cube_transition-members.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
CubeTransition Member List
-
-
- -

This is the complete list of members for CubeTransition, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
close()Effect
containerEffect
copy(ClipPtr c, ClipPtr s)Transitionvirtual
Effect::copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
CubeTransition(ClipPtr c, ClipPtr s, const EffectMeta *em)CubeTransition
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
get_closed_clip()Transition
get_length()Transition
get_opened_clip()Transition
get_true_length()Transition
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)Effectvirtual
process_coords(double timecode, GLTextureCoords &, int data)CubeTransitionvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream) overrideTransitionvirtual
save_to_string()Effect
secondary_clipTransition
set_enabled(bool b)Effect
set_length(long l)Transition
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
Transition(ClipPtr c, ClipPtr s, const EffectMeta *em)Transition
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_cube_transition.html b/docs/html/class_cube_transition.html deleted file mode 100644 index c5dec141a..000000000 --- a/docs/html/class_cube_transition.html +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - - -Olive: CubeTransition Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
CubeTransition Class Reference
-
-
- -

#include <cubetransition.h>

-
-Inheritance diagram for CubeTransition:
-
-
- - -Transition -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 CubeTransition (ClipPtr c, ClipPtr s, const EffectMeta *em)
 
void process_coords (double timecode, GLTextureCoords &, int data)
 
- Public Member Functions inherited from Transition
 Transition (ClipPtr c, ClipPtr s, const EffectMeta *em)
 
virtual TransitionPtr copy (ClipPtr c, ClipPtr s)
 
virtual void save (QXmlStreamWriter &stream) override
 
void set_length (long l)
 
long get_true_length ()
 
long get_length ()
 
ClipPtr get_opened_clip ()
 
ClipPtr get_closed_clip ()
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Public Attributes inherited from Transition
ClipPtr secondary_clip
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ CubeTransition()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
CubeTransition::CubeTransition (ClipPtr c,
ClipPtr s,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ process_coords()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void CubeTransition::process_coords (double timecode,
GLTextureCoordscoords,
int data 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_cube_transition.png b/docs/html/class_cube_transition.png deleted file mode 100644 index b41989634..000000000 Binary files a/docs/html/class_cube_transition.png and /dev/null differ diff --git a/docs/html/class_debug_dialog-members.html b/docs/html/class_debug_dialog-members.html deleted file mode 100644 index 543b5a732..000000000 --- a/docs/html/class_debug_dialog-members.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
DebugDialog Member List
-
-
- -

This is the complete list of members for DebugDialog, including all inherited members.

- - - - - -
DebugDialog(QWidget *parent=0)DebugDialog
showEvent(QShowEvent *event)DebugDialogprotected
textEditDebugDialogprivate
update_log()DebugDialogslot
- - - - diff --git a/docs/html/class_debug_dialog.html b/docs/html/class_debug_dialog.html deleted file mode 100644 index 8b1cc84d3..000000000 --- a/docs/html/class_debug_dialog.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - -Olive: DebugDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <debugdialog.h>

-
-Inheritance diagram for DebugDialog:
-
-
- -
- - - - -

-Public Slots

void update_log ()
 
- - - -

-Public Member Functions

 DebugDialog (QWidget *parent=0)
 
- - - -

-Protected Member Functions

void showEvent (QShowEvent *event)
 
- - - -

-Private Attributes

QTextEdit * textEdit
 
-

Constructor & Destructor Documentation

- -

◆ DebugDialog()

- -
-
- - - - - - - - -
DebugDialog::DebugDialog (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ showEvent()

- -
-
- - - - - -
- - - - - - - - -
void DebugDialog::showEvent (QShowEvent * event)
-
-protected
-
- -
-
- -

◆ update_log

- -
-
- - - - - -
- - - - - - - -
void DebugDialog::update_log ()
-
-slot
-
- -
-
-

Member Data Documentation

- -

◆ textEdit

- -
-
- - - - - -
- - - - -
QTextEdit* DebugDialog::textEdit
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_debug_dialog.png b/docs/html/class_debug_dialog.png deleted file mode 100644 index cc1cbb9a1..000000000 Binary files a/docs/html/class_debug_dialog.png and /dev/null differ diff --git a/docs/html/class_delete_clip_action-members.html b/docs/html/class_delete_clip_action-members.html deleted file mode 100644 index 1d55de11c..000000000 --- a/docs/html/class_delete_clip_action-members.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
DeleteClipAction Member List
-
-
- -

This is the complete list of members for DeleteClipAction, including all inherited members.

- - - - - - - - - - - - - - - - -
closing_transitionDeleteClipActionprivate
DeleteClipAction(SequencePtr s, int clip)DeleteClipAction
doRedo() overrideDeleteClipActionvirtual
doUndo() overrideDeleteClipActionvirtual
indexDeleteClipActionprivate
linkClipIndexDeleteClipActionprivate
linkLinkIndexDeleteClipActionprivate
OliveAction(bool iset_window_modified=true)OliveAction
opening_transitionDeleteClipActionprivate
redo() overrideOliveActionvirtual
refDeleteClipActionprivate
seqDeleteClipActionprivate
undo() overrideOliveActionvirtual
~DeleteClipAction() overrideDeleteClipActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_delete_clip_action.html b/docs/html/class_delete_clip_action.html deleted file mode 100644 index 285e93b12..000000000 --- a/docs/html/class_delete_clip_action.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - -Olive: DeleteClipAction Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
DeleteClipAction Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for DeleteClipAction:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 DeleteClipAction (SequencePtr s, int clip)
 
virtual ~DeleteClipAction () override
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - - - - - - - - - -

-Private Attributes

SequencePtr seq
 
ClipPtr ref
 
int index
 
int opening_transition
 
int closing_transition
 
QVector< int > linkClipIndex
 
QVector< int > linkLinkIndex
 
-

Constructor & Destructor Documentation

- -

◆ DeleteClipAction()

- -
-
- - - - - - - - - - - - - - - - - - -
DeleteClipAction::DeleteClipAction (SequencePtr s,
int clip 
)
-
- -
-
- -

◆ ~DeleteClipAction()

- -
-
- - - - - -
- - - - - - - -
DeleteClipAction::~DeleteClipAction ()
-
-overridevirtual
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void DeleteClipAction::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void DeleteClipAction::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ closing_transition

- -
-
- - - - - -
- - - - -
int DeleteClipAction::closing_transition
-
-private
-
- -
-
- -

◆ index

- -
-
- - - - - -
- - - - -
int DeleteClipAction::index
-
-private
-
- -
-
- -

◆ linkClipIndex

- -
-
- - - - - -
- - - - -
QVector<int> DeleteClipAction::linkClipIndex
-
-private
-
- -
-
- -

◆ linkLinkIndex

- -
-
- - - - - -
- - - - -
QVector<int> DeleteClipAction::linkLinkIndex
-
-private
-
- -
-
- -

◆ opening_transition

- -
-
- - - - - -
- - - - -
int DeleteClipAction::opening_transition
-
-private
-
- -
-
- -

◆ ref

- -
-
- - - - - -
- - - - -
ClipPtr DeleteClipAction::ref
-
-private
-
- -
-
- -

◆ seq

- -
-
- - - - - -
- - - - -
SequencePtr DeleteClipAction::seq
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_delete_clip_action.png b/docs/html/class_delete_clip_action.png deleted file mode 100644 index ed04a5268..000000000 Binary files a/docs/html/class_delete_clip_action.png and /dev/null differ diff --git a/docs/html/class_delete_marker_action-members.html b/docs/html/class_delete_marker_action-members.html deleted file mode 100644 index 12aa07cf3..000000000 --- a/docs/html/class_delete_marker_action-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
DeleteMarkerAction Member List
-
-
- -

This is the complete list of members for DeleteMarkerAction, including all inherited members.

- - - - - - - - - - - - -
active_arrayDeleteMarkerActionprivate
copiesDeleteMarkerActionprivate
DeleteMarkerAction(QVector< Marker > *m)DeleteMarkerAction
doRedo() overrideDeleteMarkerActionvirtual
doUndo() overrideDeleteMarkerActionvirtual
markersDeleteMarkerAction
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
sortedDeleteMarkerActionprivate
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_delete_marker_action.html b/docs/html/class_delete_marker_action.html deleted file mode 100644 index 6cf36b8a8..000000000 --- a/docs/html/class_delete_marker_action.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - -Olive: DeleteMarkerAction Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
DeleteMarkerAction Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for DeleteMarkerAction:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 DeleteMarkerAction (QVector< Marker > *m)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - -

-Public Attributes

QVector< int > markers
 
- - - - - - - -

-Private Attributes

QVector< Marker > * active_array
 
QVector< Markercopies
 
bool sorted
 
-

Constructor & Destructor Documentation

- -

◆ DeleteMarkerAction()

- -
-
- - - - - - - - -
DeleteMarkerAction::DeleteMarkerAction (QVector< Marker > * m)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void DeleteMarkerAction::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void DeleteMarkerAction::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ active_array

- -
-
- - - - - -
- - - - -
QVector<Marker>* DeleteMarkerAction::active_array
-
-private
-
- -
-
- -

◆ copies

- -
-
- - - - - -
- - - - -
QVector<Marker> DeleteMarkerAction::copies
-
-private
-
- -
-
- -

◆ markers

- -
-
- - - - -
QVector<int> DeleteMarkerAction::markers
-
- -
-
- -

◆ sorted

- -
-
- - - - - -
- - - - -
bool DeleteMarkerAction::sorted
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_delete_marker_action.png b/docs/html/class_delete_marker_action.png deleted file mode 100644 index bdb5946ba..000000000 Binary files a/docs/html/class_delete_marker_action.png and /dev/null differ diff --git a/docs/html/class_delete_media_command-members.html b/docs/html/class_delete_media_command-members.html deleted file mode 100644 index 0184873f6..000000000 --- a/docs/html/class_delete_media_command-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
DeleteMediaCommand Member List
-
-
- -

This is the complete list of members for DeleteMediaCommand, including all inherited members.

- - - - - - - - - - - - -
DeleteMediaCommand(Media *i)DeleteMediaCommand
doneDeleteMediaCommandprivate
doRedo() overrideDeleteMediaCommandvirtual
doUndo() overrideDeleteMediaCommandvirtual
itemDeleteMediaCommandprivate
OliveAction(bool iset_window_modified=true)OliveAction
parentDeleteMediaCommandprivate
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
~DeleteMediaCommand() overrideDeleteMediaCommandvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_delete_media_command.html b/docs/html/class_delete_media_command.html deleted file mode 100644 index 87acf50ca..000000000 --- a/docs/html/class_delete_media_command.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - -Olive: DeleteMediaCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
DeleteMediaCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for DeleteMediaCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 DeleteMediaCommand (Media *i)
 
virtual ~DeleteMediaCommand () override
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

Mediaitem
 
Mediaparent
 
bool done
 
-

Constructor & Destructor Documentation

- -

◆ DeleteMediaCommand()

- -
-
- - - - - - - - -
DeleteMediaCommand::DeleteMediaCommand (Mediai)
-
- -
-
- -

◆ ~DeleteMediaCommand()

- -
-
- - - - - -
- - - - - - - -
DeleteMediaCommand::~DeleteMediaCommand ()
-
-overridevirtual
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void DeleteMediaCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void DeleteMediaCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ done

- -
-
- - - - - -
- - - - -
bool DeleteMediaCommand::done
-
-private
-
- -
-
- -

◆ item

- -
-
- - - - - -
- - - - -
Media* DeleteMediaCommand::item
-
-private
-
- -
-
- -

◆ parent

- -
-
- - - - - -
- - - - -
Media* DeleteMediaCommand::parent
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_delete_media_command.png b/docs/html/class_delete_media_command.png deleted file mode 100644 index cd8f96f5e..000000000 Binary files a/docs/html/class_delete_media_command.png and /dev/null differ diff --git a/docs/html/class_delete_transition_command-members.html b/docs/html/class_delete_transition_command-members.html deleted file mode 100644 index fa7dab922..000000000 --- a/docs/html/class_delete_transition_command-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
DeleteTransitionCommand Member List
-
-
- -

This is the complete list of members for DeleteTransitionCommand, including all inherited members.

- - - - - - - - - - - -
closed_clip_DeleteTransitionCommandprivate
DeleteTransitionCommand(TransitionPtr t)DeleteTransitionCommand
doRedo() overrideDeleteTransitionCommandvirtual
doUndo() overrideDeleteTransitionCommandvirtual
OliveAction(bool iset_window_modified=true)OliveAction
opened_clip_DeleteTransitionCommandprivate
redo() overrideOliveActionvirtual
transition_ref_DeleteTransitionCommandprivate
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_delete_transition_command.html b/docs/html/class_delete_transition_command.html deleted file mode 100644 index 25ee387b2..000000000 --- a/docs/html/class_delete_transition_command.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - -Olive: DeleteTransitionCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
DeleteTransitionCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for DeleteTransitionCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 DeleteTransitionCommand (TransitionPtr t)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

TransitionPtr transition_ref_
 
ClipPtr opened_clip_
 
ClipPtr closed_clip_
 
-

Constructor & Destructor Documentation

- -

◆ DeleteTransitionCommand()

- -
-
- - - - - - - - -
DeleteTransitionCommand::DeleteTransitionCommand (TransitionPtr t)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void DeleteTransitionCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void DeleteTransitionCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ closed_clip_

- -
-
- - - - - -
- - - - -
ClipPtr DeleteTransitionCommand::closed_clip_
-
-private
-
- -
-
- -

◆ opened_clip_

- -
-
- - - - - -
- - - - -
ClipPtr DeleteTransitionCommand::opened_clip_
-
-private
-
- -
-
- -

◆ transition_ref_

- -
-
- - - - - -
- - - - -
TransitionPtr DeleteTransitionCommand::transition_ref_
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_delete_transition_command.png b/docs/html/class_delete_transition_command.png deleted file mode 100644 index 94a3dfd29..000000000 Binary files a/docs/html/class_delete_transition_command.png and /dev/null differ diff --git a/docs/html/class_demo_notice-members.html b/docs/html/class_demo_notice-members.html deleted file mode 100644 index a22052c68..000000000 --- a/docs/html/class_demo_notice-members.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
DemoNotice Member List
-
-
- -

This is the complete list of members for DemoNotice, including all inherited members.

- - -
DemoNotice(QWidget *parent=0)DemoNoticeexplicit
- - - - diff --git a/docs/html/class_demo_notice.html b/docs/html/class_demo_notice.html deleted file mode 100644 index f0555a354..000000000 --- a/docs/html/class_demo_notice.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Olive: DemoNotice Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
DemoNotice Class Reference
-
-
- -

#include <demonotice.h>

-
-Inheritance diagram for DemoNotice:
-
-
- -
- - - - -

-Public Member Functions

 DemoNotice (QWidget *parent=0)
 
-

Constructor & Destructor Documentation

- -

◆ DemoNotice()

- -
-
- - - - - -
- - - - - - - - -
DemoNotice::DemoNotice (QWidget * parent = 0)
-
-explicit
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_demo_notice.png b/docs/html/class_demo_notice.png deleted file mode 100644 index 3301740b9..000000000 Binary files a/docs/html/class_demo_notice.png and /dev/null differ diff --git a/docs/html/class_edit_sequence_command-members.html b/docs/html/class_edit_sequence_command-members.html deleted file mode 100644 index 4b2237d10..000000000 --- a/docs/html/class_edit_sequence_command-members.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
EditSequenceCommand Member List
-
- - - - - diff --git a/docs/html/class_edit_sequence_command.html b/docs/html/class_edit_sequence_command.html deleted file mode 100644 index ffe909578..000000000 --- a/docs/html/class_edit_sequence_command.html +++ /dev/null @@ -1,513 +0,0 @@ - - - - - - - -Olive: EditSequenceCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
EditSequenceCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for EditSequenceCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 EditSequenceCommand (Media *i, SequencePtr s)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
void update ()
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - - - - - - - -

-Public Attributes

QString name
 
int width
 
int height
 
double frame_rate
 
int audio_frequency
 
int audio_layout
 
- - - - - - - - - - - - - - - - - -

-Private Attributes

Mediaitem
 
SequencePtr seq
 
QString old_name
 
int old_width
 
int old_height
 
double old_frame_rate
 
int old_audio_frequency
 
int old_audio_layout
 
-

Constructor & Destructor Documentation

- -

◆ EditSequenceCommand()

- -
-
- - - - - - - - - - - - - - - - - - -
EditSequenceCommand::EditSequenceCommand (Mediai,
SequencePtr s 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void EditSequenceCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void EditSequenceCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ update()

- -
-
- - - - - - - -
void EditSequenceCommand::update ()
-
- -
-
-

Member Data Documentation

- -

◆ audio_frequency

- -
-
- - - - -
int EditSequenceCommand::audio_frequency
-
- -
-
- -

◆ audio_layout

- -
-
- - - - -
int EditSequenceCommand::audio_layout
-
- -
-
- -

◆ frame_rate

- -
-
- - - - -
double EditSequenceCommand::frame_rate
-
- -
-
- -

◆ height

- -
-
- - - - -
int EditSequenceCommand::height
-
- -
-
- -

◆ item

- -
-
- - - - - -
- - - - -
Media* EditSequenceCommand::item
-
-private
-
- -
-
- -

◆ name

- -
-
- - - - -
QString EditSequenceCommand::name
-
- -
-
- -

◆ old_audio_frequency

- -
-
- - - - - -
- - - - -
int EditSequenceCommand::old_audio_frequency
-
-private
-
- -
-
- -

◆ old_audio_layout

- -
-
- - - - - -
- - - - -
int EditSequenceCommand::old_audio_layout
-
-private
-
- -
-
- -

◆ old_frame_rate

- -
-
- - - - - -
- - - - -
double EditSequenceCommand::old_frame_rate
-
-private
-
- -
-
- -

◆ old_height

- -
-
- - - - - -
- - - - -
int EditSequenceCommand::old_height
-
-private
-
- -
-
- -

◆ old_name

- -
-
- - - - - -
- - - - -
QString EditSequenceCommand::old_name
-
-private
-
- -
-
- -

◆ old_width

- -
-
- - - - - -
- - - - -
int EditSequenceCommand::old_width
-
-private
-
- -
-
- -

◆ seq

- -
-
- - - - - -
- - - - -
SequencePtr EditSequenceCommand::seq
-
-private
-
- -
-
- -

◆ width

- -
-
- - - - -
int EditSequenceCommand::width
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_edit_sequence_command.png b/docs/html/class_edit_sequence_command.png deleted file mode 100644 index aae9d3213..000000000 Binary files a/docs/html/class_edit_sequence_command.png and /dev/null differ diff --git a/docs/html/class_effect-members.html b/docs/html/class_effect-members.html deleted file mode 100644 index 0f8c3e98f..000000000 --- a/docs/html/class_effect-members.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Effect Member List
-
-
- -

This is the complete list of members for Effect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
boundEffectprivate
cachedValuesEffectprivate
close()Effect
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
delete_self()Effectprivateslot
delete_texture()Effectprivate
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
get_index_in_clip()Effectprivate
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
gizmosEffectprivate
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
isOpenEffectprivate
iterationsEffectprivate
load(QXmlStreamReader &stream)Effectvirtual
load_from_file()Effectprivateslot
load_from_string(const QByteArray &s)Effect
metaEffect
move_down()Effectprivateslot
move_up()Effectprivateslot
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)Effectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
redraw(double timecode)Effectprivatevirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
rowsEffectprivate
save(QXmlStreamWriter &stream)Effectvirtual
save_to_file()Effectprivateslot
save_to_string()Effect
scriptEffectprivate
set_enabled(bool b)Effect
setIterations(int i)Effect
show_context_menu(const QPoint &)Effectprivateslot
startEffect()Effectvirtual
textureEffectprotected
uiEffectprivate
ui_layoutEffectprivate
validate_meta_path()Effectprivate
valueHasChanged(double timecode)Effectprivate
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_effect.html b/docs/html/class_effect.html deleted file mode 100644 index 2c4038a18..000000000 --- a/docs/html/class_effect.html +++ /dev/null @@ -1,1943 +0,0 @@ - - - - - - - -Olive: Effect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <effect.h>

-
-Inheritance diagram for Effect:
-
-
- - -AudioNoiseEffect -CornerPinEffect -FillLeftRightEffect -Frei0rEffect -PanEffect -ShakeEffect -SolidEffect -TextEffect -TimecodeEffect -ToneEffect -TransformEffect -Transition -VoidEffect -VolumeEffect -VSTHost - -
- - - - -

-Public Slots

void field_changed ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- - - - - - - - - - - - - -

-Protected Attributes

QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
- - - - - - - - - - - - - -

-Private Slots

void show_context_menu (const QPoint &)
 
void delete_self ()
 
void move_up ()
 
void move_down ()
 
void save_to_file ()
 
void load_from_file ()
 
- - - - - - - - - - - -

-Private Member Functions

virtual void redraw (double timecode)
 
bool valueHasChanged (double timecode)
 
void delete_texture ()
 
int get_index_in_clip ()
 
void validate_meta_path ()
 
- - - - - - - - - - - - - - - - - - - -

-Private Attributes

QString script
 
bool isOpen
 
QVector< EffectRow * > rows
 
QVector< EffectGizmo * > gizmos
 
QGridLayout * ui_layout
 
QWidget * ui
 
bool bound
 
int iterations
 
QVector< QVariant > cachedValues
 
-

Constructor & Destructor Documentation

- -

◆ Effect()

- -
-
- - - - - - - - - - - - - - - - - - -
Effect::Effect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
- -

◆ ~Effect()

- -
-
- - - - - - - -
Effect::~Effect ()
-
- -
-
-

Member Function Documentation

- -

◆ add_gizmo()

- -
-
- - - - - - - - -
EffectGizmo * Effect::add_gizmo (int type)
-
- -
-
- -

◆ add_row()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
EffectRow * Effect::add_row (const QString & name,
bool savable = true,
bool keyframable = true 
)
-
- -
-
- -

◆ are_gizmos_enabled()

- -
-
- - - - - - - -
bool Effect::are_gizmos_enabled ()
-
- -
-
- -

◆ close()

- -
-
- - - - - - - -
void Effect::close ()
-
- -
-
- -

◆ copy()

- -
-
- - - - - -
- - - - - - - - -
EffectPtr Effect::copy (ClipPtr c)
-
-virtual
-
- -

Reimplemented in VoidEffect.

- -
-
- -

◆ copy_field_keyframes()

- -
-
- - - - - - - - -
void Effect::copy_field_keyframes (EffectPtr e)
-
- -
-
- -

◆ custom_load()

- -
-
- - - - - -
- - - - - - - - -
void Effect::custom_load (QXmlStreamReader & stream)
-
-virtual
-
- -

Reimplemented in VSTHost.

- -
-
- -

◆ delete_self

- -
-
- - - - - -
- - - - - - - -
void Effect::delete_self ()
-
-privateslot
-
- -
-
- -

◆ delete_texture()

- -
-
- - - - - -
- - - - - - - -
void Effect::delete_texture ()
-
-private
-
- -
-
- -

◆ endEffect()

- -
-
- - - - - -
- - - - - - - -
void Effect::endEffect ()
-
-virtual
-
- -
-
- -

◆ field_changed

- -
-
- - - - - -
- - - - - - - -
void Effect::field_changed ()
-
-slot
-
- -
-
- -

◆ get_index_in_clip()

- -
-
- - - - - -
- - - - - - - -
int Effect::get_index_in_clip ()
-
-private
-
- -
-
- -

◆ getIterations()

- -
-
- - - - - - - -
int Effect::getIterations ()
-
- -
-
- -

◆ gizmo()

- -
-
- - - - - - - - -
EffectGizmo * Effect::gizmo (int i)
-
- -
-
- -

◆ gizmo_count()

- -
-
- - - - - - - -
int Effect::gizmo_count ()
-
- -
-
- -

◆ gizmo_draw()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void Effect::gizmo_draw (double timecode,
GLTextureCoordscoords 
)
-
-virtual
-
- -

Reimplemented in TransformEffect, and CornerPinEffect.

- -
-
- -

◆ gizmo_move()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Effect::gizmo_move (EffectGizmosender,
int x_movement,
int y_movement,
double timecode,
bool done 
)
-
- -
-
- -

◆ gizmo_world_to_screen()

- -
-
- - - - - - - -
void Effect::gizmo_world_to_screen ()
-
- -
-
- -

◆ is_enabled()

- -
-
- - - - - - - -
bool Effect::is_enabled ()
-
- -
-
- -

◆ is_glsl_linked()

- -
-
- - - - - - - -
bool Effect::is_glsl_linked ()
-
- -
-
- -

◆ is_open()

- -
-
- - - - - - - -
bool Effect::is_open ()
-
- -
-
- -

◆ load()

- -
-
- - - - - -
- - - - - - - - -
void Effect::load (QXmlStreamReader & stream)
-
-virtual
-
- -

Reimplemented in VoidEffect.

- -
-
- -

◆ load_from_file

- -
-
- - - - - -
- - - - - - - -
void Effect::load_from_file ()
-
-privateslot
-
- -
-
- -

◆ load_from_string()

- -
-
- - - - - - - - -
void Effect::load_from_string (const QByteArray & s)
-
- -
-
- -

◆ move_down

- -
-
- - - - - -
- - - - - - - -
void Effect::move_down ()
-
-privateslot
-
- -
-
- -

◆ move_up

- -
-
- - - - - -
- - - - - - - -
void Effect::move_up ()
-
-privateslot
-
- -
-
- -

◆ open()

- -
-
- - - - - - - -
void Effect::open ()
-
- -
-
- -

◆ process_audio()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Effect::process_audio (double timecode_start,
double timecode_end,
quint8 * samples,
int nb_bytes,
int channel_count 
)
-
-virtual
-
-
- -

◆ process_coords()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Effect::process_coords (double timecode,
GLTextureCoordscoords,
int data 
)
-
-virtual
-
-
- -

◆ process_image()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Effect::process_image (double timecode,
uint8_t * input,
uint8_t * output,
int size 
)
-
-virtual
-
- -

Reimplemented in Frei0rEffect.

- -
-
- -

◆ process_shader()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Effect::process_shader (double timecode,
GLTextureCoords,
int iteration 
)
-
-virtual
-
- -

Reimplemented in CornerPinEffect.

- -
-
- -

◆ process_superimpose()

- -
-
- - - - - -
- - - - - - - - -
GLuint Effect::process_superimpose (double timecode)
-
-virtual
-
- -
-
- -

◆ redraw()

- -
-
- - - - - -
- - - - - - - - -
void Effect::redraw (double timecode)
-
-privatevirtual
-
- -

Reimplemented in TextEffect, TimecodeEffect, and SolidEffect.

- -
-
- -

◆ refresh()

- -
-
- - - - - -
- - - - - - - -
void Effect::refresh ()
-
-virtual
-
- -

Reimplemented in Frei0rEffect, and TransformEffect.

- -
-
- -

◆ row()

- -
-
- - - - - - - - -
EffectRow * Effect::row (int i)
-
- -
-
- -

◆ row_count()

- -
-
- - - - - - - -
int Effect::row_count ()
-
- -
-
- -

◆ save()

- -
-
- - - - - -
- - - - - - - - -
void Effect::save (QXmlStreamWriter & stream)
-
-virtual
-
- -

Reimplemented in Transition, VSTHost, and VoidEffect.

- -
-
- -

◆ save_to_file

- -
-
- - - - - -
- - - - - - - -
void Effect::save_to_file ()
-
-privateslot
-
- -
-
- -

◆ save_to_string()

- -
-
- - - - - - - -
QByteArray Effect::save_to_string ()
-
- -
-
- -

◆ set_enabled()

- -
-
- - - - - - - - -
void Effect::set_enabled (bool b)
-
- -
-
- -

◆ setIterations()

- -
-
- - - - - - - - -
void Effect::setIterations (int i)
-
- -
-
- -

◆ show_context_menu

- -
-
- - - - - -
- - - - - - - - -
void Effect::show_context_menu (const QPoint & pos)
-
-privateslot
-
- -
-
- -

◆ startEffect()

- -
-
- - - - - -
- - - - - - - -
void Effect::startEffect ()
-
-virtual
-
- -
-
- -

◆ validate_meta_path()

- -
-
- - - - - -
- - - - - - - -
void Effect::validate_meta_path ()
-
-private
-
- -
-
- -

◆ valueHasChanged()

- -
-
- - - - - -
- - - - - - - - -
bool Effect::valueHasChanged (double timecode)
-
-private
-
- -
-
-

Member Data Documentation

- -

◆ bound

- -
-
- - - - - -
- - - - -
bool Effect::bound
-
-private
-
- -
-
- -

◆ cachedValues

- -
-
- - - - - -
- - - - -
QVector<QVariant> Effect::cachedValues
-
-private
-
- -
-
- -

◆ container

- -
-
- - - - -
CollapsibleWidget* Effect::container
-
- -
-
- -

◆ enable_always_update

- -
-
- - - - - -
- - - - -
bool Effect::enable_always_update
-
-protected
-
- -
-
- -

◆ enable_coords

- -
-
- - - - -
bool Effect::enable_coords
-
- -
-
- -

◆ enable_image

- -
-
- - - - -
bool Effect::enable_image
-
- -
-
- -

◆ enable_shader

- -
-
- - - - -
bool Effect::enable_shader
-
- -
-
- -

◆ enable_superimpose

- -
-
- - - - -
bool Effect::enable_superimpose
-
- -
-
- -

◆ ffmpeg_filter

- -
-
- - - - -
const char* Effect::ffmpeg_filter
-
- -
-
- -

◆ fragPath

- -
-
- - - - - -
- - - - -
QString Effect::fragPath
-
-protected
-
- -
-
- -

◆ gizmos

- -
-
- - - - - -
- - - - -
QVector<EffectGizmo*> Effect::gizmos
-
-private
-
- -
-
- -

◆ glslProgram

- -
-
- - - - - -
- - - - -
QOpenGLShaderProgram* Effect::glslProgram
-
-protected
-
- -
-
- -

◆ id

- -
-
- - - - -
int Effect::id
-
- -
-
- -

◆ img

- -
-
- - - - - -
- - - - -
QImage Effect::img
-
-protected
-
- -
-
- -

◆ isOpen

- -
-
- - - - - -
- - - - -
bool Effect::isOpen
-
-private
-
- -
-
- -

◆ iterations

- -
-
- - - - - -
- - - - -
int Effect::iterations
-
-private
-
- -
-
- -

◆ meta

- -
-
- - - - -
const EffectMeta* Effect::meta
-
- -
-
- -

◆ name

- -
-
- - - - -
QString Effect::name
-
- -
-
- -

◆ parent_clip

- -
-
- - - - -
ClipPtr Effect::parent_clip
-
- -
-
- -

◆ rows

- -
-
- - - - - -
- - - - -
QVector<EffectRow*> Effect::rows
-
-private
-
- -
-
- -

◆ script

- -
-
- - - - - -
- - - - -
QString Effect::script
-
-private
-
- -
-
- -

◆ texture

- -
-
- - - - - -
- - - - -
QOpenGLTexture* Effect::texture
-
-protected
-
- -
-
- -

◆ ui

- -
-
- - - - - -
- - - - -
QWidget* Effect::ui
-
-private
-
- -
-
- -

◆ ui_layout

- -
-
- - - - - -
- - - - -
QGridLayout* Effect::ui_layout
-
-private
-
- -
-
- -

◆ vertPath

- -
-
- - - - - -
- - - - -
QString Effect::vertPath
-
-protected
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_effect.png b/docs/html/class_effect.png deleted file mode 100644 index 5b0cc08be..000000000 Binary files a/docs/html/class_effect.png and /dev/null differ diff --git a/docs/html/class_effect_controls-members.html b/docs/html/class_effect_controls-members.html deleted file mode 100644 index cfb9df3bc..000000000 --- a/docs/html/class_effect_controls-members.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
EffectControls Member List
-
-
- -

This is the complete list of members for EffectControls, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
acontainerEffectControlsprivate
add_effect_paste_action(QMenu *menu)EffectControls
audio_effect_areaEffectControlsprivate
audio_effect_click()EffectControlsprivateslot
audio_transition_click()EffectControlsprivateslot
btnAddAudioEffectEffectControlsprivate
btnAddAudioTransitionEffectControlsprivate
btnAddVideoEffectEffectControlsprivate
btnAddVideoTransitionEffectControlsprivate
clear_effects(bool clear_cache)EffectControls
copy(bool del=false)EffectControlsslot
cut()EffectControlsslot
delete_effects()EffectControls
delete_selected_keyframes()EffectControls
deselect_all_effects(QWidget *)EffectControlsprivateslot
effect_menu_subtypeEffectControlsprivate
effect_menu_typeEffectControlsprivate
EffectControls(QWidget *parent=0)EffectControlsexplicit
effects_areaEffectControlsprivate
effects_area_context_menu()EffectControlsprivateslot
effects_loadedEffectControls
event(QEvent *e) overridePanelvirtual
get_mode()EffectControls
headersEffectControlsprivate
horizontalScrollBarEffectControls
is_focused()EffectControls
keyframe_focus()EffectControls
keyframeViewEffectControlsprivate
lblAudioEffectsEffectControlsprivate
lblMultipleClipsSelectedEffectControlsprivate
lblVideoEffectsEffectControlsprivate
load_effects()EffectControlsprivate
load_keyframes()EffectControlsprivate
menu_select(QAction *q)EffectControlsprivateslot
modeEffectControlsprivate
multipleEffectControls
open_effect(QVBoxLayout *hlayout, EffectPtr e)EffectControlsprivate
Panel(QWidget *parent=nullptr)Panel
panel_nameEffectControlsprivate
queue_post_update()EffectControlsprivateslot
reload_clips()EffectControls
resizeEvent(QResizeEvent *event) overrideEffectControlsprotectedvirtual
Retranslate() overrideEffectControlsprotectedvirtual
scroll_to_frame(long frame)EffectControls
scrollAreaEffectControlsprivate
selected_clipsEffectControls
set_clips(QVector< int > &clips, int mode)EffectControls
set_zoom(bool in)EffectControls
setup_ui()EffectControlsprivate
show_effect_menu(int type, int subtype)EffectControlsprivate
update_keyframes()EffectControlsslot
update_scrollbar()EffectControlsprivateslot
UpdateTitle()EffectControlsprivate
vcontainerEffectControlsprivate
verticalScrollBarEffectControls
video_effect_areaEffectControlsprivate
video_effect_click()EffectControlsprivateslot
video_transition_click()EffectControlsprivateslot
zoomEffectControls
~EffectControls()EffectControls
- - - - diff --git a/docs/html/class_effect_controls.html b/docs/html/class_effect_controls.html deleted file mode 100644 index 5d1aa093a..000000000 --- a/docs/html/class_effect_controls.html +++ /dev/null @@ -1,1521 +0,0 @@ - - - - - - - -Olive: EffectControls Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <effectcontrols.h>

-
-Inheritance diagram for EffectControls:
-
-
- - -Panel - -
- - - - - - - - -

-Public Slots

void cut ()
 
void copy (bool del=false)
 
void update_keyframes ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 EffectControls (QWidget *parent=0)
 
 ~EffectControls ()
 
int get_mode ()
 
void set_clips (QVector< int > &clips, int mode)
 
void clear_effects (bool clear_cache)
 
void delete_effects ()
 
bool is_focused ()
 
void reload_clips ()
 
void set_zoom (bool in)
 
bool keyframe_focus ()
 
void delete_selected_keyframes ()
 
void scroll_to_frame (long frame)
 
void add_effect_paste_action (QMenu *menu)
 
- Public Member Functions inherited from Panel
 Panel (QWidget *parent=nullptr)
 
virtual bool event (QEvent *e) override
 
- - - - - - - - - - - - - -

-Public Attributes

bool multiple
 
QVector< int > selected_clips
 
double zoom
 
ResizableScrollBarhorizontalScrollBar
 
QScrollBar * verticalScrollBar
 
QMutex effects_loaded
 
- - - - - -

-Protected Member Functions

virtual void resizeEvent (QResizeEvent *event) override
 
virtual void Retranslate () override
 
- - - - - - - - - - - - - - - - - - - -

-Private Slots

void menu_select (QAction *q)
 
void video_effect_click ()
 
void audio_effect_click ()
 
void video_transition_click ()
 
void audio_transition_click ()
 
void deselect_all_effects (QWidget *)
 
void update_scrollbar ()
 
void queue_post_update ()
 
void effects_area_context_menu ()
 
- - - - - - - - - - - - - -

-Private Member Functions

void show_effect_menu (int type, int subtype)
 
void load_effects ()
 
void load_keyframes ()
 
void open_effect (QVBoxLayout *hlayout, EffectPtr e)
 
void UpdateTitle ()
 
void setup_ui ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

int effect_menu_type
 
int effect_menu_subtype
 
QString panel_name
 
int mode
 
QPushButton * btnAddVideoEffect
 
QLabel * lblVideoEffects
 
QPushButton * btnAddVideoTransition
 
QPushButton * btnAddAudioEffect
 
QPushButton * btnAddAudioTransition
 
QLabel * lblMultipleClipsSelected
 
QLabel * lblAudioEffects
 
TimelineHeaderheaders
 
EffectsAreaeffects_area
 
QScrollArea * scrollArea
 
KeyframeViewkeyframeView
 
QWidget * video_effect_area
 
QWidget * audio_effect_area
 
QWidget * vcontainer
 
QWidget * acontainer
 
-

Constructor & Destructor Documentation

- -

◆ EffectControls()

- -
-
- - - - - -
- - - - - - - - -
EffectControls::EffectControls (QWidget * parent = 0)
-
-explicit
-
- -
-
- -

◆ ~EffectControls()

- -
-
- - - - - - - -
EffectControls::~EffectControls ()
-
- -
-
-

Member Function Documentation

- -

◆ add_effect_paste_action()

- -
-
- - - - - - - - -
void EffectControls::add_effect_paste_action (QMenu * menu)
-
- -
-
- -

◆ audio_effect_click

- -
-
- - - - - -
- - - - - - - -
void EffectControls::audio_effect_click ()
-
-privateslot
-
- -
-
- -

◆ audio_transition_click

- -
-
- - - - - -
- - - - - - - -
void EffectControls::audio_transition_click ()
-
-privateslot
-
- -
-
- -

◆ clear_effects()

- -
-
- - - - - - - - -
void EffectControls::clear_effects (bool clear_cache)
-
- -
-
- -

◆ copy

- -
-
- - - - - -
- - - - - - - - -
void EffectControls::copy (bool del = false)
-
-slot
-
- -
-
- -

◆ cut

- -
-
- - - - - -
- - - - - - - -
void EffectControls::cut ()
-
-slot
-
- -
-
- -

◆ delete_effects()

- -
-
- - - - - - - -
void EffectControls::delete_effects ()
-
- -
-
- -

◆ delete_selected_keyframes()

- -
-
- - - - - - - -
void EffectControls::delete_selected_keyframes ()
-
- -
-
- -

◆ deselect_all_effects

- -
-
- - - - - -
- - - - - - - - -
void EffectControls::deselect_all_effects (QWidget * sender)
-
-privateslot
-
- -
-
- -

◆ effects_area_context_menu

- -
-
- - - - - -
- - - - - - - -
void EffectControls::effects_area_context_menu ()
-
-privateslot
-
- -
-
- -

◆ get_mode()

- -
-
- - - - - - - -
int EffectControls::get_mode ()
-
- -
-
- -

◆ is_focused()

- -
-
- - - - - - - -
bool EffectControls::is_focused ()
-
- -
-
- -

◆ keyframe_focus()

- -
-
- - - - - - - -
bool EffectControls::keyframe_focus ()
-
- -
-
- -

◆ load_effects()

- -
-
- - - - - -
- - - - - - - -
void EffectControls::load_effects ()
-
-private
-
- -
-
- -

◆ load_keyframes()

- -
-
- - - - - -
- - - - - - - -
void EffectControls::load_keyframes ()
-
-private
-
- -
-
- -

◆ menu_select

- -
-
- - - - - -
- - - - - - - - -
void EffectControls::menu_select (QAction * q)
-
-privateslot
-
- -
-
- -

◆ open_effect()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void EffectControls::open_effect (QVBoxLayout * hlayout,
EffectPtr e 
)
-
-private
-
- -
-
- -

◆ queue_post_update

- -
-
- - - - - -
- - - - - - - -
void EffectControls::queue_post_update ()
-
-privateslot
-
- -
-
- -

◆ reload_clips()

- -
-
- - - - - - - -
void EffectControls::reload_clips ()
-
- -
-
- -

◆ resizeEvent()

- -
-
- - - - - -
- - - - - - - - -
void EffectControls::resizeEvent (QResizeEvent * event)
-
-overrideprotectedvirtual
-
- -
-
- -

◆ Retranslate()

- -
-
- - - - - -
- - - - - - - -
void EffectControls::Retranslate ()
-
-overrideprotectedvirtual
-
- -

Implements Panel.

- -
-
- -

◆ scroll_to_frame()

- -
-
- - - - - - - - -
void EffectControls::scroll_to_frame (long frame)
-
- -
-
- -

◆ set_clips()

- -
-
- - - - - - - - - - - - - - - - - - -
void EffectControls::set_clips (QVector< int > & clips,
int mode 
)
-
- -
-
- -

◆ set_zoom()

- -
-
- - - - - - - - -
void EffectControls::set_zoom (bool in)
-
- -
-
- -

◆ setup_ui()

- -
-
- - - - - -
- - - - - - - -
void EffectControls::setup_ui ()
-
-private
-
- -
-
- -

◆ show_effect_menu()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void EffectControls::show_effect_menu (int type,
int subtype 
)
-
-private
-
- -
-
- -

◆ update_keyframes

- -
-
- - - - - -
- - - - - - - -
void EffectControls::update_keyframes ()
-
-slot
-
- -
-
- -

◆ update_scrollbar

- -
-
- - - - - -
- - - - - - - -
void EffectControls::update_scrollbar ()
-
-privateslot
-
- -
-
- -

◆ UpdateTitle()

- -
-
- - - - - -
- - - - - - - -
void EffectControls::UpdateTitle ()
-
-private
-
- -
-
- -

◆ video_effect_click

- -
-
- - - - - -
- - - - - - - -
void EffectControls::video_effect_click ()
-
-privateslot
-
- -
-
- -

◆ video_transition_click

- -
-
- - - - - -
- - - - - - - -
void EffectControls::video_transition_click ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ acontainer

- -
-
- - - - - -
- - - - -
QWidget* EffectControls::acontainer
-
-private
-
- -
-
- -

◆ audio_effect_area

- -
-
- - - - - -
- - - - -
QWidget* EffectControls::audio_effect_area
-
-private
-
- -
-
- -

◆ btnAddAudioEffect

- -
-
- - - - - -
- - - - -
QPushButton* EffectControls::btnAddAudioEffect
-
-private
-
- -
-
- -

◆ btnAddAudioTransition

- -
-
- - - - - -
- - - - -
QPushButton* EffectControls::btnAddAudioTransition
-
-private
-
- -
-
- -

◆ btnAddVideoEffect

- -
-
- - - - - -
- - - - -
QPushButton* EffectControls::btnAddVideoEffect
-
-private
-
- -
-
- -

◆ btnAddVideoTransition

- -
-
- - - - - -
- - - - -
QPushButton* EffectControls::btnAddVideoTransition
-
-private
-
- -
-
- -

◆ effect_menu_subtype

- -
-
- - - - - -
- - - - -
int EffectControls::effect_menu_subtype
-
-private
-
- -
-
- -

◆ effect_menu_type

- -
-
- - - - - -
- - - - -
int EffectControls::effect_menu_type
-
-private
-
- -
-
- -

◆ effects_area

- -
-
- - - - - -
- - - - -
EffectsArea* EffectControls::effects_area
-
-private
-
- -
-
- -

◆ effects_loaded

- -
-
- - - - -
QMutex EffectControls::effects_loaded
-
- -
-
- -

◆ headers

- -
-
- - - - - -
- - - - -
TimelineHeader* EffectControls::headers
-
-private
-
- -
-
- -

◆ horizontalScrollBar

- -
-
- - - - -
ResizableScrollBar* EffectControls::horizontalScrollBar
-
- -
-
- -

◆ keyframeView

- -
-
- - - - - -
- - - - -
KeyframeView* EffectControls::keyframeView
-
-private
-
- -
-
- -

◆ lblAudioEffects

- -
-
- - - - - -
- - - - -
QLabel* EffectControls::lblAudioEffects
-
-private
-
- -
-
- -

◆ lblMultipleClipsSelected

- -
-
- - - - - -
- - - - -
QLabel* EffectControls::lblMultipleClipsSelected
-
-private
-
- -
-
- -

◆ lblVideoEffects

- -
-
- - - - - -
- - - - -
QLabel* EffectControls::lblVideoEffects
-
-private
-
- -
-
- -

◆ mode

- -
-
- - - - - -
- - - - -
int EffectControls::mode
-
-private
-
- -
-
- -

◆ multiple

- -
-
- - - - -
bool EffectControls::multiple
-
- -
-
- -

◆ panel_name

- -
-
- - - - - -
- - - - -
QString EffectControls::panel_name
-
-private
-
- -
-
- -

◆ scrollArea

- -
-
- - - - - -
- - - - -
QScrollArea* EffectControls::scrollArea
-
-private
-
- -
-
- -

◆ selected_clips

- -
-
- - - - -
QVector<int> EffectControls::selected_clips
-
- -
-
- -

◆ vcontainer

- -
-
- - - - - -
- - - - -
QWidget* EffectControls::vcontainer
-
-private
-
- -
-
- -

◆ verticalScrollBar

- -
-
- - - - -
QScrollBar* EffectControls::verticalScrollBar
-
- -
-
- -

◆ video_effect_area

- -
-
- - - - - -
- - - - -
QWidget* EffectControls::video_effect_area
-
-private
-
- -
-
- -

◆ zoom

- -
-
- - - - -
double EffectControls::zoom
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_effect_controls.png b/docs/html/class_effect_controls.png deleted file mode 100644 index 4157edf2f..000000000 Binary files a/docs/html/class_effect_controls.png and /dev/null differ diff --git a/docs/html/class_effect_delete_command-members.html b/docs/html/class_effect_delete_command-members.html deleted file mode 100644 index 4f78eeae7..000000000 --- a/docs/html/class_effect_delete_command-members.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
EffectDeleteCommand Member List
-
-
- -

This is the complete list of members for EffectDeleteCommand, including all inherited members.

- - - - - - - - - - - - - -
clipsEffectDeleteCommand
deleted_objectsEffectDeleteCommandprivate
doneEffectDeleteCommandprivate
doRedo() overrideEffectDeleteCommandvirtual
doUndo() overrideEffectDeleteCommandvirtual
EffectDeleteCommand()EffectDeleteCommand
fxEffectDeleteCommand
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
~EffectDeleteCommand() overrideEffectDeleteCommandvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_effect_delete_command.html b/docs/html/class_effect_delete_command.html deleted file mode 100644 index 3172bcbe6..000000000 --- a/docs/html/class_effect_delete_command.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - -Olive: EffectDeleteCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
EffectDeleteCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for EffectDeleteCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 EffectDeleteCommand ()
 
virtual ~EffectDeleteCommand () override
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - -

-Public Attributes

QVector< ClipPtrclips
 
QVector< int > fx
 
- - - - - -

-Private Attributes

bool done
 
QVector< EffectPtrdeleted_objects
 
-

Constructor & Destructor Documentation

- -

◆ EffectDeleteCommand()

- -
-
- - - - - - - -
EffectDeleteCommand::EffectDeleteCommand ()
-
- -
-
- -

◆ ~EffectDeleteCommand()

- -
-
- - - - - -
- - - - - - - -
EffectDeleteCommand::~EffectDeleteCommand ()
-
-overridevirtual
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void EffectDeleteCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void EffectDeleteCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ clips

- -
-
- - - - -
QVector<ClipPtr> EffectDeleteCommand::clips
-
- -
-
- -

◆ deleted_objects

- -
-
- - - - - -
- - - - -
QVector<EffectPtr> EffectDeleteCommand::deleted_objects
-
-private
-
- -
-
- -

◆ done

- -
-
- - - - - -
- - - - -
bool EffectDeleteCommand::done
-
-private
-
- -
-
- -

◆ fx

- -
-
- - - - -
QVector<int> EffectDeleteCommand::fx
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_effect_delete_command.png b/docs/html/class_effect_delete_command.png deleted file mode 100644 index 1b8c77555..000000000 Binary files a/docs/html/class_effect_delete_command.png and /dev/null differ diff --git a/docs/html/class_effect_field-members.html b/docs/html/class_effect_field-members.html deleted file mode 100644 index 026f9d33f..000000000 --- a/docs/html/class_effect_field-members.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
EffectField Member List
-
-
- -

This is the complete list of members for EffectField, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_combo_item(const QString &name, const QVariant &data)EffectField
changed()EffectFieldsignal
clicked()EffectFieldsignal
EffectField(EffectRow *parent, int t, const QString &i)EffectField
frameToTimecode(long frame)EffectField
get_bool_value(double timecode, bool async=false)EffectField
get_color_value(double timecode, bool async=false)EffectField
get_combo_data(double timecode)EffectField
get_combo_index(double timecode, bool async=false)EffectField
get_combo_string(double timecode)EffectField
get_current_data()EffectField
get_double_value(double timecode, bool async=false)EffectField
get_filename(double timecode, bool async=false)EffectField
get_font_name(double timecode, bool async=false)EffectField
get_keyframe_data(double timecode, int &before, int &after, double &d)EffectField
get_previous_data()EffectField
get_string_value(double timecode, bool async=false)EffectField
get_ui_element()EffectField
get_validated_keyframe_handle(int key, bool post)EffectField
hasKeyframes()EffectFieldprivate
idEffectField
is_enabled()EffectField
keyframesEffectField
make_key_from_change(ComboAction *ca)EffectField
parent_rowEffectField
set_bool_value(bool b)EffectField
set_color_value(QColor color)EffectField
set_combo_index(int index)EffectField
set_combo_string(const QString &s)EffectField
set_current_data(const QVariant &)EffectField
set_double_default_value(double v)EffectField
set_double_maximum_value(double v)EffectField
set_double_minimum_value(double v)EffectField
set_double_value(double v)EffectField
set_enabled(bool e)EffectField
set_filename(const QString &s)EffectField
set_font_name(const QString &s)EffectField
set_string_value(const QString &s)EffectField
timecodeToFrame(double timecode)EffectField
toggled(bool)EffectFieldsignal
typeEffectField
ui_elementEffectField
ui_element_change()EffectFieldslot
validate_keyframe_data(double timecode, bool async=false)EffectField
~EffectField()EffectField
- - - - diff --git a/docs/html/class_effect_field.html b/docs/html/class_effect_field.html deleted file mode 100644 index 11241944a..000000000 --- a/docs/html/class_effect_field.html +++ /dev/null @@ -1,1163 +0,0 @@ - - - - - - - -Olive: EffectField Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <effectfield.h>

-
-Inheritance diagram for EffectField:
-
-
- -
- - - - -

-Public Slots

void ui_element_change ()
 
- - - - - - - -

-Signals

void changed ()
 
void toggled (bool)
 
void clicked ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 EffectField (EffectRow *parent, int t, const QString &i)
 
 ~EffectField ()
 
double get_validated_keyframe_handle (int key, bool post)
 
QVariant get_previous_data ()
 
QVariant get_current_data ()
 
double frameToTimecode (long frame)
 
long timecodeToFrame (double timecode)
 
void set_current_data (const QVariant &)
 
void get_keyframe_data (double timecode, int &before, int &after, double &d)
 
QVariant validate_keyframe_data (double timecode, bool async=false)
 
double get_double_value (double timecode, bool async=false)
 
void set_double_value (double v)
 
void set_double_default_value (double v)
 
void set_double_minimum_value (double v)
 
void set_double_maximum_value (double v)
 
QString get_string_value (double timecode, bool async=false)
 
void set_string_value (const QString &s)
 
void add_combo_item (const QString &name, const QVariant &data)
 
int get_combo_index (double timecode, bool async=false)
 
QVariant get_combo_data (double timecode)
 
QString get_combo_string (double timecode)
 
void set_combo_index (int index)
 
void set_combo_string (const QString &s)
 
bool get_bool_value (double timecode, bool async=false)
 
void set_bool_value (bool b)
 
QString get_font_name (double timecode, bool async=false)
 
void set_font_name (const QString &s)
 
QColor get_color_value (double timecode, bool async=false)
 
void set_color_value (QColor color)
 
QString get_filename (double timecode, bool async=false)
 
void set_filename (const QString &s)
 
QWidget * get_ui_element ()
 
bool is_enabled ()
 
void set_enabled (bool e)
 
void make_key_from_change (ComboAction *ca)
 
- - - - - - - - - - - -

-Public Attributes

EffectRowparent_row
 
int type
 
QString id
 
QVector< EffectKeyframekeyframes
 
QWidget * ui_element
 
- - - -

-Private Member Functions

bool hasKeyframes ()
 
-

Constructor & Destructor Documentation

- -

◆ EffectField()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
EffectField::EffectField (EffectRowparent,
int t,
const QString & i 
)
-
- -
-
- -

◆ ~EffectField()

- -
-
- - - - - - - -
EffectField::~EffectField ()
-
- -
-
-

Member Function Documentation

- -

◆ add_combo_item()

- -
-
- - - - - - - - - - - - - - - - - - -
void EffectField::add_combo_item (const QString & name,
const QVariant & data 
)
-
- -
-
- -

◆ changed

- -
-
- - - - - -
- - - - - - - -
void EffectField::changed ()
-
-signal
-
- -
-
- -

◆ clicked

- -
-
- - - - - -
- - - - - - - -
void EffectField::clicked ()
-
-signal
-
- -
-
- -

◆ frameToTimecode()

- -
-
- - - - - - - - -
double EffectField::frameToTimecode (long frame)
-
- -
-
- -

◆ get_bool_value()

- -
-
- - - - - - - - - - - - - - - - - - -
bool EffectField::get_bool_value (double timecode,
bool async = false 
)
-
- -
-
- -

◆ get_color_value()

- -
-
- - - - - - - - - - - - - - - - - - -
QColor EffectField::get_color_value (double timecode,
bool async = false 
)
-
- -
-
- -

◆ get_combo_data()

- -
-
- - - - - - - - -
QVariant EffectField::get_combo_data (double timecode)
-
- -
-
- -

◆ get_combo_index()

- -
-
- - - - - - - - - - - - - - - - - - -
int EffectField::get_combo_index (double timecode,
bool async = false 
)
-
- -
-
- -

◆ get_combo_string()

- -
-
- - - - - - - - -
QString EffectField::get_combo_string (double timecode)
-
- -
-
- -

◆ get_current_data()

- -
-
- - - - - - - -
QVariant EffectField::get_current_data ()
-
- -
-
- -

◆ get_double_value()

- -
-
- - - - - - - - - - - - - - - - - - -
double EffectField::get_double_value (double timecode,
bool async = false 
)
-
- -
-
- -

◆ get_filename()

- -
-
- - - - - - - - - - - - - - - - - - -
QString EffectField::get_filename (double timecode,
bool async = false 
)
-
- -
-
- -

◆ get_font_name()

- -
-
- - - - - - - - - - - - - - - - - - -
QString EffectField::get_font_name (double timecode,
bool async = false 
)
-
- -
-
- -

◆ get_keyframe_data()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void EffectField::get_keyframe_data (double timecode,
int & before,
int & after,
double & d 
)
-
- -
-
- -

◆ get_previous_data()

- -
-
- - - - - - - -
QVariant EffectField::get_previous_data ()
-
- -
-
- -

◆ get_string_value()

- -
-
- - - - - - - - - - - - - - - - - - -
QString EffectField::get_string_value (double timecode,
bool async = false 
)
-
- -
-
- -

◆ get_ui_element()

- -
-
- - - - - - - -
QWidget * EffectField::get_ui_element ()
-
- -
-
- -

◆ get_validated_keyframe_handle()

- -
-
- - - - - - - - - - - - - - - - - - -
double EffectField::get_validated_keyframe_handle (int key,
bool post 
)
-
- -
-
- -

◆ hasKeyframes()

- -
-
- - - - - -
- - - - - - - -
bool EffectField::hasKeyframes ()
-
-private
-
- -
-
- -

◆ is_enabled()

- -
-
- - - - - - - -
bool EffectField::is_enabled ()
-
- -
-
- -

◆ make_key_from_change()

- -
-
- - - - - - - - -
void EffectField::make_key_from_change (ComboActionca)
-
- -
-
- -

◆ set_bool_value()

- -
-
- - - - - - - - -
void EffectField::set_bool_value (bool b)
-
- -
-
- -

◆ set_color_value()

- -
-
- - - - - - - - -
void EffectField::set_color_value (QColor color)
-
- -
-
- -

◆ set_combo_index()

- -
-
- - - - - - - - -
void EffectField::set_combo_index (int index)
-
- -
-
- -

◆ set_combo_string()

- -
-
- - - - - - - - -
void EffectField::set_combo_string (const QString & s)
-
- -
-
- -

◆ set_current_data()

- -
-
- - - - - - - - -
void EffectField::set_current_data (const QVariant & data)
-
- -
-
- -

◆ set_double_default_value()

- -
-
- - - - - - - - -
void EffectField::set_double_default_value (double v)
-
- -
-
- -

◆ set_double_maximum_value()

- -
-
- - - - - - - - -
void EffectField::set_double_maximum_value (double v)
-
- -
-
- -

◆ set_double_minimum_value()

- -
-
- - - - - - - - -
void EffectField::set_double_minimum_value (double v)
-
- -
-
- -

◆ set_double_value()

- -
-
- - - - - - - - -
void EffectField::set_double_value (double v)
-
- -
-
- -

◆ set_enabled()

- -
-
- - - - - - - - -
void EffectField::set_enabled (bool e)
-
- -
-
- -

◆ set_filename()

- -
-
- - - - - - - - -
void EffectField::set_filename (const QString & s)
-
- -
-
- -

◆ set_font_name()

- -
-
- - - - - - - - -
void EffectField::set_font_name (const QString & s)
-
- -
-
- -

◆ set_string_value()

- -
-
- - - - - - - - -
void EffectField::set_string_value (const QString & s)
-
- -
-
- -

◆ timecodeToFrame()

- -
-
- - - - - - - - -
long EffectField::timecodeToFrame (double timecode)
-
- -
-
- -

◆ toggled

- -
-
- - - - - -
- - - - - - - - -
void EffectField::toggled (bool )
-
-signal
-
- -
-
- -

◆ ui_element_change

- -
-
- - - - - -
- - - - - - - -
void EffectField::ui_element_change ()
-
-slot
-
- -
-
- -

◆ validate_keyframe_data()

- -
-
- - - - - - - - - - - - - - - - - - -
QVariant EffectField::validate_keyframe_data (double timecode,
bool async = false 
)
-
- -
-
-

Member Data Documentation

- -

◆ id

- -
-
- - - - -
QString EffectField::id
-
- -
-
- -

◆ keyframes

- -
-
- - - - -
QVector<EffectKeyframe> EffectField::keyframes
-
- -
-
- -

◆ parent_row

- -
-
- - - - -
EffectRow* EffectField::parent_row
-
- -
-
- -

◆ type

- -
-
- - - - -
int EffectField::type
-
- -
-
- -

◆ ui_element

- -
-
- - - - -
QWidget* EffectField::ui_element
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_effect_field.png b/docs/html/class_effect_field.png deleted file mode 100644 index 77d3c51ca..000000000 Binary files a/docs/html/class_effect_field.png and /dev/null differ diff --git a/docs/html/class_effect_field_undo-members.html b/docs/html/class_effect_field_undo-members.html deleted file mode 100644 index 4a1debfe1..000000000 --- a/docs/html/class_effect_field_undo-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
EffectFieldUndo Member List
-
-
- -

This is the complete list of members for EffectFieldUndo, including all inherited members.

- - - - - - - - - - - - -
doneEffectFieldUndoprivate
doRedo() overrideEffectFieldUndovirtual
doUndo() overrideEffectFieldUndovirtual
EffectFieldUndo(EffectField *field)EffectFieldUndo
fieldEffectFieldUndoprivate
new_valEffectFieldUndoprivate
old_valEffectFieldUndoprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_effect_field_undo.html b/docs/html/class_effect_field_undo.html deleted file mode 100644 index f688e502e..000000000 --- a/docs/html/class_effect_field_undo.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - -Olive: EffectFieldUndo Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
EffectFieldUndo Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for EffectFieldUndo:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 EffectFieldUndo (EffectField *field)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - - - -

-Private Attributes

EffectFieldfield
 
QVariant old_val
 
QVariant new_val
 
bool done
 
-

Constructor & Destructor Documentation

- -

◆ EffectFieldUndo()

- -
-
- - - - - - - - -
EffectFieldUndo::EffectFieldUndo (EffectFieldfield)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void EffectFieldUndo::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void EffectFieldUndo::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ done

- -
-
- - - - - -
- - - - -
bool EffectFieldUndo::done
-
-private
-
- -
-
- -

◆ field

- -
-
- - - - - -
- - - - -
EffectField* EffectFieldUndo::field
-
-private
-
- -
-
- -

◆ new_val

- -
-
- - - - - -
- - - - -
QVariant EffectFieldUndo::new_val
-
-private
-
- -
-
- -

◆ old_val

- -
-
- - - - - -
- - - - -
QVariant EffectFieldUndo::old_val
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_effect_field_undo.png b/docs/html/class_effect_field_undo.png deleted file mode 100644 index 7bee2515d..000000000 Binary files a/docs/html/class_effect_field_undo.png and /dev/null differ diff --git a/docs/html/class_effect_gizmo-members.html b/docs/html/class_effect_gizmo-members.html deleted file mode 100644 index f479702b7..000000000 --- a/docs/html/class_effect_gizmo-members.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
EffectGizmo Member List
-
- - - - - diff --git a/docs/html/class_effect_gizmo.html b/docs/html/class_effect_gizmo.html deleted file mode 100644 index 0d7fb174d..000000000 --- a/docs/html/class_effect_gizmo.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - - - -Olive: EffectGizmo Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <effectgizmo.h>

- - - - - - - - - - - - - - -

-Public Member Functions

 EffectGizmo (int type)
 
void set_previous_value ()
 
int get_point_count ()
 
int get_type ()
 
int get_cursor ()
 
void set_cursor (int c)
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

QVector< QPoint > world_pos
 
QVector< QPoint > screen_pos
 
EffectFieldx_field1
 
double x_field_multi1
 
EffectFieldy_field1
 
double y_field_multi1
 
EffectFieldx_field2
 
double x_field_multi2
 
EffectFieldy_field2
 
double y_field_multi2
 
QColor color
 
- - - - - -

-Private Attributes

int type
 
int cursor
 
-

Constructor & Destructor Documentation

- -

◆ EffectGizmo()

- -
-
- - - - - - - - -
EffectGizmo::EffectGizmo (int type)
-
- -
-
-

Member Function Documentation

- -

◆ get_cursor()

- -
-
- - - - - - - -
int EffectGizmo::get_cursor ()
-
- -
-
- -

◆ get_point_count()

- -
-
- - - - - - - -
int EffectGizmo::get_point_count ()
-
- -
-
- -

◆ get_type()

- -
-
- - - - - - - -
int EffectGizmo::get_type ()
-
- -
-
- -

◆ set_cursor()

- -
-
- - - - - - - - -
void EffectGizmo::set_cursor (int c)
-
- -
-
- -

◆ set_previous_value()

- -
-
- - - - - - - -
void EffectGizmo::set_previous_value ()
-
- -
-
-

Member Data Documentation

- -

◆ color

- -
-
- - - - -
QColor EffectGizmo::color
-
- -
-
- -

◆ cursor

- -
-
- - - - - -
- - - - -
int EffectGizmo::cursor
-
-private
-
- -
-
- -

◆ screen_pos

- -
-
- - - - -
QVector<QPoint> EffectGizmo::screen_pos
-
- -
-
- -

◆ type

- -
-
- - - - - -
- - - - -
int EffectGizmo::type
-
-private
-
- -
-
- -

◆ world_pos

- -
-
- - - - -
QVector<QPoint> EffectGizmo::world_pos
-
- -
-
- -

◆ x_field1

- -
-
- - - - -
EffectField* EffectGizmo::x_field1
-
- -
-
- -

◆ x_field2

- -
-
- - - - -
EffectField* EffectGizmo::x_field2
-
- -
-
- -

◆ x_field_multi1

- -
-
- - - - -
double EffectGizmo::x_field_multi1
-
- -
-
- -

◆ x_field_multi2

- -
-
- - - - -
double EffectGizmo::x_field_multi2
-
- -
-
- -

◆ y_field1

- -
-
- - - - -
EffectField* EffectGizmo::y_field1
-
- -
-
- -

◆ y_field2

- -
-
- - - - -
EffectField* EffectGizmo::y_field2
-
- -
-
- -

◆ y_field_multi1

- -
-
- - - - -
double EffectGizmo::y_field_multi1
-
- -
-
- -

◆ y_field_multi2

- -
-
- - - - -
double EffectGizmo::y_field_multi2
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_effect_init-members.html b/docs/html/class_effect_init-members.html deleted file mode 100644 index 11b150d25..000000000 --- a/docs/html/class_effect_init-members.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
EffectInit Member List
-
-
- -

This is the complete list of members for EffectInit, including all inherited members.

- - - -
EffectInit()EffectInit
run()EffectInitprotected
- - - - diff --git a/docs/html/class_effect_init.html b/docs/html/class_effect_init.html deleted file mode 100644 index 078add87a..000000000 --- a/docs/html/class_effect_init.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - -Olive: EffectInit Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <effect.h>

-
-Inheritance diagram for EffectInit:
-
-
- -
- - - - -

-Public Member Functions

 EffectInit ()
 
- - - -

-Protected Member Functions

void run ()
 
-

Constructor & Destructor Documentation

- -

◆ EffectInit()

- -
-
- - - - - - - -
EffectInit::EffectInit ()
-
- -
-
-

Member Function Documentation

- -

◆ run()

- -
-
- - - - - -
- - - - - - - -
void EffectInit::run ()
-
-protected
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_effect_init.png b/docs/html/class_effect_init.png deleted file mode 100644 index 545514dde..000000000 Binary files a/docs/html/class_effect_init.png and /dev/null differ diff --git a/docs/html/class_effect_keyframe-members.html b/docs/html/class_effect_keyframe-members.html deleted file mode 100644 index b6bed0846..000000000 --- a/docs/html/class_effect_keyframe-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
EffectKeyframe Member List
-
- - - - - diff --git a/docs/html/class_effect_keyframe.html b/docs/html/class_effect_keyframe.html deleted file mode 100644 index 1c3741714..000000000 --- a/docs/html/class_effect_keyframe.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - -Olive: EffectKeyframe Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
EffectKeyframe Class Reference
-
-
- -

#include <keyframe.h>

- - - - -

-Public Member Functions

 EffectKeyframe ()
 
- - - - - - - - - - - - - - - -

-Public Attributes

long time
 
int type
 
QVariant data
 
double pre_handle_x
 
double pre_handle_y
 
double post_handle_x
 
double post_handle_y
 
-

Constructor & Destructor Documentation

- -

◆ EffectKeyframe()

- -
-
- - - - - - - -
EffectKeyframe::EffectKeyframe ()
-
- -
-
-

Member Data Documentation

- -

◆ data

- -
-
- - - - -
QVariant EffectKeyframe::data
-
- -
-
- -

◆ post_handle_x

- -
-
- - - - -
double EffectKeyframe::post_handle_x
-
- -
-
- -

◆ post_handle_y

- -
-
- - - - -
double EffectKeyframe::post_handle_y
-
- -
-
- -

◆ pre_handle_x

- -
-
- - - - -
double EffectKeyframe::pre_handle_x
-
- -
-
- -

◆ pre_handle_y

- -
-
- - - - -
double EffectKeyframe::pre_handle_y
-
- -
-
- -

◆ time

- -
-
- - - - -
long EffectKeyframe::time
-
- -
-
- -

◆ type

- -
-
- - - - -
int EffectKeyframe::type
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_effect_row-members.html b/docs/html/class_effect_row-members.html deleted file mode 100644 index d622952b4..000000000 --- a/docs/html/class_effect_row-members.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
EffectRow Member List
-
-
- -

This is the complete list of members for EffectRow, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_field(int type, const QString &id, int colspan=1)EffectRow
add_widget(QWidget *w)EffectRow
column_countEffectRowprivate
delete_keyframe_at_time(ComboAction *ca, long time)EffectRow
EffectRow(Effect *parent, bool save, QGridLayout *uilayout, const QString &n, int row, bool keyframable=true)EffectRow
field(int i)EffectRow
fieldCount()EffectRow
fieldsEffectRowprivate
focus_row()EffectRowslot
get_name()EffectRow
goto_next_key()EffectRowslot
goto_previous_key()EffectRowslot
isKeyframing()EffectRow
just_made_unsafe_keyframeEffectRowprivate
key_is_newEffectRowprivate
keyframe_navEffectRowprivate
keyframingEffectRowprivate
labelEffectRow
nameEffectRowprivate
parent_effectEffectRow
savableEffectRow
set_keyframe_enabled(bool)EffectRowprivateslot
set_keyframe_now(ComboAction *ca)EffectRow
setKeyframing(bool)EffectRow
toggle_key()EffectRowslot
uiEffectRowprivate
ui_rowEffectRowprivate
unsafe_keysEffectRowprivate
unsafe_old_dataEffectRowprivate
widgetsEffectRowprivate
~EffectRow()EffectRow
- - - - diff --git a/docs/html/class_effect_row.html b/docs/html/class_effect_row.html deleted file mode 100644 index 43836e1e0..000000000 --- a/docs/html/class_effect_row.html +++ /dev/null @@ -1,862 +0,0 @@ - - - - - - - -Olive: EffectRow Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <effectrow.h>

-
-Inheritance diagram for EffectRow:
-
-
- -
- - - - - - - - - - -

-Public Slots

void goto_previous_key ()
 
void toggle_key ()
 
void goto_next_key ()
 
void focus_row ()
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 EffectRow (Effect *parent, bool save, QGridLayout *uilayout, const QString &n, int row, bool keyframable=true)
 
 ~EffectRow ()
 
EffectFieldadd_field (int type, const QString &id, int colspan=1)
 
void add_widget (QWidget *w)
 
EffectFieldfield (int i)
 
int fieldCount ()
 
void set_keyframe_now (ComboAction *ca)
 
void delete_keyframe_at_time (ComboAction *ca, long time)
 
const QString & get_name ()
 
bool isKeyframing ()
 
void setKeyframing (bool)
 
- - - - - - - -

-Public Attributes

ClickableLabellabel
 
Effectparent_effect
 
bool savable
 
- - - -

-Private Slots

void set_keyframe_enabled (bool)
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

bool keyframing
 
QGridLayout * ui
 
QString name
 
int ui_row
 
QVector< EffectField * > fields
 
QVector< QWidget * > widgets
 
KeyframeNavigatorkeyframe_nav
 
bool just_made_unsafe_keyframe
 
QVector< int > unsafe_keys
 
QVector< QVariant > unsafe_old_data
 
QVector< bool > key_is_new
 
int column_count
 
-

Constructor & Destructor Documentation

- -

◆ EffectRow()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EffectRow::EffectRow (Effectparent,
bool save,
QGridLayout * uilayout,
const QString & n,
int row,
bool keyframable = true 
)
-
- -
-
- -

◆ ~EffectRow()

- -
-
- - - - - - - -
EffectRow::~EffectRow ()
-
- -
-
-

Member Function Documentation

- -

◆ add_field()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
EffectField * EffectRow::add_field (int type,
const QString & id,
int colspan = 1 
)
-
- -
-
- -

◆ add_widget()

- -
-
- - - - - - - - -
void EffectRow::add_widget (QWidget * w)
-
- -
-
- -

◆ delete_keyframe_at_time()

- -
-
- - - - - - - - - - - - - - - - - - -
void EffectRow::delete_keyframe_at_time (ComboActionca,
long time 
)
-
- -
-
- -

◆ field()

- -
-
- - - - - - - - -
EffectField * EffectRow::field (int i)
-
- -
-
- -

◆ fieldCount()

- -
-
- - - - - - - -
int EffectRow::fieldCount ()
-
- -
-
- -

◆ focus_row

- -
-
- - - - - -
- - - - - - - -
void EffectRow::focus_row ()
-
-slot
-
- -
-
- -

◆ get_name()

- -
-
- - - - - - - -
const QString & EffectRow::get_name ()
-
- -
-
- -

◆ goto_next_key

- -
-
- - - - - -
- - - - - - - -
void EffectRow::goto_next_key ()
-
-slot
-
- -
-
- -

◆ goto_previous_key

- -
-
- - - - - -
- - - - - - - -
void EffectRow::goto_previous_key ()
-
-slot
-
- -
-
- -

◆ isKeyframing()

- -
-
- - - - - - - -
bool EffectRow::isKeyframing ()
-
- -
-
- -

◆ set_keyframe_enabled

- -
-
- - - - - -
- - - - - - - - -
void EffectRow::set_keyframe_enabled (bool enabled)
-
-privateslot
-
- -
-
- -

◆ set_keyframe_now()

- -
-
- - - - - - - - -
void EffectRow::set_keyframe_now (ComboActionca)
-
- -
-
- -

◆ setKeyframing()

- -
-
- - - - - - - - -
void EffectRow::setKeyframing (bool b)
-
- -
-
- -

◆ toggle_key

- -
-
- - - - - -
- - - - - - - -
void EffectRow::toggle_key ()
-
-slot
-
- -
-
-

Member Data Documentation

- -

◆ column_count

- -
-
- - - - - -
- - - - -
int EffectRow::column_count
-
-private
-
- -
-
- -

◆ fields

- -
-
- - - - - -
- - - - -
QVector<EffectField*> EffectRow::fields
-
-private
-
- -
-
- -

◆ just_made_unsafe_keyframe

- -
-
- - - - - -
- - - - -
bool EffectRow::just_made_unsafe_keyframe
-
-private
-
- -
-
- -

◆ key_is_new

- -
-
- - - - - -
- - - - -
QVector<bool> EffectRow::key_is_new
-
-private
-
- -
-
- -

◆ keyframe_nav

- -
-
- - - - - -
- - - - -
KeyframeNavigator* EffectRow::keyframe_nav
-
-private
-
- -
-
- -

◆ keyframing

- -
-
- - - - - -
- - - - -
bool EffectRow::keyframing
-
-private
-
- -
-
- -

◆ label

- -
-
- - - - -
ClickableLabel* EffectRow::label
-
- -
-
- -

◆ name

- -
-
- - - - - -
- - - - -
QString EffectRow::name
-
-private
-
- -
-
- -

◆ parent_effect

- -
-
- - - - -
Effect* EffectRow::parent_effect
-
- -
-
- -

◆ savable

- -
-
- - - - -
bool EffectRow::savable
-
- -
-
- -

◆ ui

- -
-
- - - - - -
- - - - -
QGridLayout* EffectRow::ui
-
-private
-
- -
-
- -

◆ ui_row

- -
-
- - - - - -
- - - - -
int EffectRow::ui_row
-
-private
-
- -
-
- -

◆ unsafe_keys

- -
-
- - - - - -
- - - - -
QVector<int> EffectRow::unsafe_keys
-
-private
-
- -
-
- -

◆ unsafe_old_data

- -
-
- - - - - -
- - - - -
QVector<QVariant> EffectRow::unsafe_old_data
-
-private
-
- -
-
- -

◆ widgets

- -
-
- - - - - -
- - - - -
QVector<QWidget*> EffectRow::widgets
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_effect_row.png b/docs/html/class_effect_row.png deleted file mode 100644 index 37e5c7360..000000000 Binary files a/docs/html/class_effect_row.png and /dev/null differ diff --git a/docs/html/class_effects_area-members.html b/docs/html/class_effects_area-members.html deleted file mode 100644 index 1755eb8d4..000000000 --- a/docs/html/class_effects_area-members.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
EffectsArea Member List
-
-
- -

This is the complete list of members for EffectsArea, including all inherited members.

- - - - - - -
EffectsArea(QWidget *parent=0)EffectsArea
headerEffectsArea
keyframe_areaEffectsArea
parent_widgetEffectsArea
receive_wheel_event(QWheelEvent *e)EffectsAreaslot
- - - - diff --git a/docs/html/class_effects_area.html b/docs/html/class_effects_area.html deleted file mode 100644 index 21f1f096d..000000000 --- a/docs/html/class_effects_area.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - - -Olive: EffectsArea Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
EffectsArea Class Reference
-
-
- -

#include <effectcontrols.h>

-
-Inheritance diagram for EffectsArea:
-
-
- -
- - - - -

-Public Slots

void receive_wheel_event (QWheelEvent *e)
 
- - - -

-Public Member Functions

 EffectsArea (QWidget *parent=0)
 
- - - - - - - -

-Public Attributes

QScrollArea * parent_widget
 
KeyframeViewkeyframe_area
 
TimelineHeaderheader
 
-

Constructor & Destructor Documentation

- -

◆ EffectsArea()

- -
-
- - - - - - - - -
EffectsArea::EffectsArea (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ receive_wheel_event

- -
-
- - - - - -
- - - - - - - - -
void EffectsArea::receive_wheel_event (QWheelEvent * e)
-
-slot
-
- -
-
-

Member Data Documentation

- -

◆ header

- -
-
- - - - -
TimelineHeader* EffectsArea::header
-
- -
-
- -

◆ keyframe_area

- -
-
- - - - -
KeyframeView* EffectsArea::keyframe_area
-
- -
-
- -

◆ parent_widget

- -
-
- - - - -
QScrollArea* EffectsArea::parent_widget
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_effects_area.png b/docs/html/class_effects_area.png deleted file mode 100644 index 9000ea2ed..000000000 Binary files a/docs/html/class_effects_area.png and /dev/null differ diff --git a/docs/html/class_embedded_file_chooser-members.html b/docs/html/class_embedded_file_chooser-members.html deleted file mode 100644 index 6dd7f30b6..000000000 --- a/docs/html/class_embedded_file_chooser-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
EmbeddedFileChooser Member List
-
- - - - - diff --git a/docs/html/class_embedded_file_chooser.html b/docs/html/class_embedded_file_chooser.html deleted file mode 100644 index 23013a973..000000000 --- a/docs/html/class_embedded_file_chooser.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - -Olive: EmbeddedFileChooser Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <embeddedfilechooser.h>

-
-Inheritance diagram for EmbeddedFileChooser:
-
-
- -
- - - - -

-Signals

void changed ()
 
- - - - - - - - - -

-Public Member Functions

 EmbeddedFileChooser (QWidget *parent=0)
 
const QString & getFilename ()
 
const QString & getPreviousValue ()
 
void setFilename (const QString &s)
 
- - - -

-Private Slots

void browse ()
 
- - - -

-Private Member Functions

void update_label ()
 
- - - - - - - -

-Private Attributes

QLabel * file_label
 
QString filename
 
QString old_filename
 
-

Constructor & Destructor Documentation

- -

◆ EmbeddedFileChooser()

- -
-
- - - - - - - - -
EmbeddedFileChooser::EmbeddedFileChooser (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ browse

- -
-
- - - - - -
- - - - - - - -
void EmbeddedFileChooser::browse ()
-
-privateslot
-
- -
-
- -

◆ changed

- -
-
- - - - - -
- - - - - - - -
void EmbeddedFileChooser::changed ()
-
-signal
-
- -
-
- -

◆ getFilename()

- -
-
- - - - - - - -
const QString & EmbeddedFileChooser::getFilename ()
-
- -
-
- -

◆ getPreviousValue()

- -
-
- - - - - - - -
const QString & EmbeddedFileChooser::getPreviousValue ()
-
- -
-
- -

◆ setFilename()

- -
-
- - - - - - - - -
void EmbeddedFileChooser::setFilename (const QString & s)
-
- -
-
- -

◆ update_label()

- -
-
- - - - - -
- - - - - - - -
void EmbeddedFileChooser::update_label ()
-
-private
-
- -
-
-

Member Data Documentation

- -

◆ file_label

- -
-
- - - - - -
- - - - -
QLabel* EmbeddedFileChooser::file_label
-
-private
-
- -
-
- -

◆ filename

- -
-
- - - - - -
- - - - -
QString EmbeddedFileChooser::filename
-
-private
-
- -
-
- -

◆ old_filename

- -
-
- - - - - -
- - - - -
QString EmbeddedFileChooser::old_filename
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_embedded_file_chooser.png b/docs/html/class_embedded_file_chooser.png deleted file mode 100644 index 66939c1e5..000000000 Binary files a/docs/html/class_embedded_file_chooser.png and /dev/null differ diff --git a/docs/html/class_exponential_fade_transition-members.html b/docs/html/class_exponential_fade_transition-members.html deleted file mode 100644 index e61848731..000000000 --- a/docs/html/class_exponential_fade_transition-members.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ExponentialFadeTransition Member List
-
-
- -

This is the complete list of members for ExponentialFadeTransition, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
close()Effect
containerEffect
copy(ClipPtr c, ClipPtr s)Transitionvirtual
Effect::copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ExponentialFadeTransition(ClipPtr c, ClipPtr s, const EffectMeta *em)ExponentialFadeTransition
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
get_closed_clip()Transition
get_length()Transition
get_opened_clip()Transition
get_true_length()Transition
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)ExponentialFadeTransitionvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream) overrideTransitionvirtual
save_to_string()Effect
secondary_clipTransition
set_enabled(bool b)Effect
set_length(long l)Transition
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
Transition(ClipPtr c, ClipPtr s, const EffectMeta *em)Transition
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_exponential_fade_transition.html b/docs/html/class_exponential_fade_transition.html deleted file mode 100644 index 710171650..000000000 --- a/docs/html/class_exponential_fade_transition.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - - -Olive: ExponentialFadeTransition Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ExponentialFadeTransition Class Reference
-
-
- -

#include <exponentialfadetransition.h>

-
-Inheritance diagram for ExponentialFadeTransition:
-
-
- - -Transition -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 ExponentialFadeTransition (ClipPtr c, ClipPtr s, const EffectMeta *em)
 
void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
- Public Member Functions inherited from Transition
 Transition (ClipPtr c, ClipPtr s, const EffectMeta *em)
 
virtual TransitionPtr copy (ClipPtr c, ClipPtr s)
 
virtual void save (QXmlStreamWriter &stream) override
 
void set_length (long l)
 
long get_true_length ()
 
long get_length ()
 
ClipPtr get_opened_clip ()
 
ClipPtr get_closed_clip ()
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Public Attributes inherited from Transition
ClipPtr secondary_clip
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ ExponentialFadeTransition()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ExponentialFadeTransition::ExponentialFadeTransition (ClipPtr c,
ClipPtr s,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ process_audio()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void ExponentialFadeTransition::process_audio (double timecode_start,
double timecode_end,
quint8 * samples,
int nb_bytes,
int channel_count 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_exponential_fade_transition.png b/docs/html/class_exponential_fade_transition.png deleted file mode 100644 index 033b06ad5..000000000 Binary files a/docs/html/class_exponential_fade_transition.png and /dev/null differ diff --git a/docs/html/class_export_dialog-members.html b/docs/html/class_export_dialog-members.html deleted file mode 100644 index 5a4023c37..000000000 --- a/docs/html/class_export_dialog-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ExportDialog Member List
-
-
- -

This is the complete list of members for ExportDialog, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
acodecComboboxExportDialogprivate
add_codec_to_combobox(QComboBox *box, enum AVCodecID codec)ExportDialogprivate
audiobitrateSpinboxExportDialogprivate
audioGroupboxExportDialogprivate
cancel_buttonExportDialogprivate
cancel_render()ExportDialogprivateslot
cancelledExportDialogprivate
comp_type_changed(int index)ExportDialogprivateslot
compressionTypeComboboxExportDialogprivate
etExportDialogprivate
export_action()ExportDialogprivateslot
export_buttonExportDialogprivate
export_errorExportDialog
ExportDialog(QWidget *parent=0)ExportDialogexplicit
format_changed(int index)ExportDialogprivateslot
format_stringsExportDialogprivate
formatComboboxExportDialogprivate
framerateSpinboxExportDialogprivate
heightSpinboxExportDialogprivate
open_advanced_video_dialog()ExportDialogprivateslot
prep_ui_for_render(bool r)ExportDialogprivate
progressBarExportDialogprivate
rangeComboboxExportDialogprivate
render_thread_finished()ExportDialogprivateslot
renderCancelExportDialogprivate
samplingRateSpinboxExportDialogprivate
setup_ui()ExportDialogprivate
update_progress_bar(int value, qint64 remaining_ms)ExportDialogprivateslot
vcodec_changed(int index)ExportDialogprivateslot
vcodec_paramsExportDialogprivate
vcodecComboboxExportDialogprivate
videoBitrateLabelExportDialogprivate
videobitrateSpinboxExportDialogprivate
videoGroupboxExportDialogprivate
widthSpinboxExportDialogprivate
~ExportDialog()ExportDialog
- - - - diff --git a/docs/html/class_export_dialog.html b/docs/html/class_export_dialog.html deleted file mode 100644 index 0818e81e4..000000000 --- a/docs/html/class_export_dialog.html +++ /dev/null @@ -1,1028 +0,0 @@ - - - - - - - -Olive: ExportDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <exportdialog.h>

-
-Inheritance diagram for ExportDialog:
-
-
- -
- - - - - - -

-Public Member Functions

 ExportDialog (QWidget *parent=0)
 
 ~ExportDialog ()
 
- - - -

-Public Attributes

QString export_error
 
- - - - - - - - - - - - - - - - - -

-Private Slots

void format_changed (int index)
 
void export_action ()
 
void update_progress_bar (int value, qint64 remaining_ms)
 
void cancel_render ()
 
void render_thread_finished ()
 
void vcodec_changed (int index)
 
void comp_type_changed (int index)
 
void open_advanced_video_dialog ()
 
- - - - - - - -

-Private Member Functions

void setup_ui ()
 
void prep_ui_for_render (bool r)
 
void add_codec_to_combobox (QComboBox *box, enum AVCodecID codec)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

QVector< QString > format_strings
 
ExportThreadet
 
bool cancelled
 
VideoCodecParams vcodec_params
 
QComboBox * rangeCombobox
 
QSpinBox * widthSpinbox
 
QDoubleSpinBox * videobitrateSpinbox
 
QLabel * videoBitrateLabel
 
QDoubleSpinBox * framerateSpinbox
 
QComboBox * vcodecCombobox
 
QComboBox * acodecCombobox
 
QSpinBox * samplingRateSpinbox
 
QSpinBox * audiobitrateSpinbox
 
QProgressBar * progressBar
 
QComboBox * formatCombobox
 
QSpinBox * heightSpinbox
 
QPushButton * export_button
 
QPushButton * cancel_button
 
QPushButton * renderCancel
 
QGroupBox * videoGroupbox
 
QGroupBox * audioGroupbox
 
QComboBox * compressionTypeCombobox
 
-

Constructor & Destructor Documentation

- -

◆ ExportDialog()

- -
-
- - - - - -
- - - - - - - - -
ExportDialog::ExportDialog (QWidget * parent = 0)
-
-explicit
-
- -
-
- -

◆ ~ExportDialog()

- -
-
- - - - - - - -
ExportDialog::~ExportDialog ()
-
- -
-
-

Member Function Documentation

- -

◆ add_codec_to_combobox()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void ExportDialog::add_codec_to_combobox (QComboBox * box,
enum AVCodecID codec 
)
-
-private
-
- -
-
- -

◆ cancel_render

- -
-
- - - - - -
- - - - - - - -
void ExportDialog::cancel_render ()
-
-privateslot
-
- -
-
- -

◆ comp_type_changed

- -
-
- - - - - -
- - - - - - - - -
void ExportDialog::comp_type_changed (int index)
-
-privateslot
-
- -
-
- -

◆ export_action

- -
-
- - - - - -
- - - - - - - -
void ExportDialog::export_action ()
-
-privateslot
-
- -
-
- -

◆ format_changed

- -
-
- - - - - -
- - - - - - - - -
void ExportDialog::format_changed (int index)
-
-privateslot
-
- -
-
- -

◆ open_advanced_video_dialog

- -
-
- - - - - -
- - - - - - - -
void ExportDialog::open_advanced_video_dialog ()
-
-privateslot
-
- -
-
- -

◆ prep_ui_for_render()

- -
-
- - - - - -
- - - - - - - - -
void ExportDialog::prep_ui_for_render (bool r)
-
-private
-
- -
-
- -

◆ render_thread_finished

- -
-
- - - - - -
- - - - - - - -
void ExportDialog::render_thread_finished ()
-
-privateslot
-
- -
-
- -

◆ setup_ui()

- -
-
- - - - - -
- - - - - - - -
void ExportDialog::setup_ui ()
-
-private
-
- -
-
- -

◆ update_progress_bar

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void ExportDialog::update_progress_bar (int value,
qint64 remaining_ms 
)
-
-privateslot
-
- -
-
- -

◆ vcodec_changed

- -
-
- - - - - -
- - - - - - - - -
void ExportDialog::vcodec_changed (int index)
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ acodecCombobox

- -
-
- - - - - -
- - - - -
QComboBox* ExportDialog::acodecCombobox
-
-private
-
- -
-
- -

◆ audiobitrateSpinbox

- -
-
- - - - - -
- - - - -
QSpinBox* ExportDialog::audiobitrateSpinbox
-
-private
-
- -
-
- -

◆ audioGroupbox

- -
-
- - - - - -
- - - - -
QGroupBox* ExportDialog::audioGroupbox
-
-private
-
- -
-
- -

◆ cancel_button

- -
-
- - - - - -
- - - - -
QPushButton* ExportDialog::cancel_button
-
-private
-
- -
-
- -

◆ cancelled

- -
-
- - - - - -
- - - - -
bool ExportDialog::cancelled
-
-private
-
- -
-
- -

◆ compressionTypeCombobox

- -
-
- - - - - -
- - - - -
QComboBox* ExportDialog::compressionTypeCombobox
-
-private
-
- -
-
- -

◆ et

- -
-
- - - - - -
- - - - -
ExportThread* ExportDialog::et
-
-private
-
- -
-
- -

◆ export_button

- -
-
- - - - - -
- - - - -
QPushButton* ExportDialog::export_button
-
-private
-
- -
-
- -

◆ export_error

- -
-
- - - - -
QString ExportDialog::export_error
-
- -
-
- -

◆ format_strings

- -
-
- - - - - -
- - - - -
QVector<QString> ExportDialog::format_strings
-
-private
-
- -
-
- -

◆ formatCombobox

- -
-
- - - - - -
- - - - -
QComboBox* ExportDialog::formatCombobox
-
-private
-
- -
-
- -

◆ framerateSpinbox

- -
-
- - - - - -
- - - - -
QDoubleSpinBox* ExportDialog::framerateSpinbox
-
-private
-
- -
-
- -

◆ heightSpinbox

- -
-
- - - - - -
- - - - -
QSpinBox* ExportDialog::heightSpinbox
-
-private
-
- -
-
- -

◆ progressBar

- -
-
- - - - - -
- - - - -
QProgressBar* ExportDialog::progressBar
-
-private
-
- -
-
- -

◆ rangeCombobox

- -
-
- - - - - -
- - - - -
QComboBox* ExportDialog::rangeCombobox
-
-private
-
- -
-
- -

◆ renderCancel

- -
-
- - - - - -
- - - - -
QPushButton* ExportDialog::renderCancel
-
-private
-
- -
-
- -

◆ samplingRateSpinbox

- -
-
- - - - - -
- - - - -
QSpinBox* ExportDialog::samplingRateSpinbox
-
-private
-
- -
-
- -

◆ vcodec_params

- -
-
- - - - - -
- - - - -
VideoCodecParams ExportDialog::vcodec_params
-
-private
-
- -
-
- -

◆ vcodecCombobox

- -
-
- - - - - -
- - - - -
QComboBox* ExportDialog::vcodecCombobox
-
-private
-
- -
-
- -

◆ videoBitrateLabel

- -
-
- - - - - -
- - - - -
QLabel* ExportDialog::videoBitrateLabel
-
-private
-
- -
-
- -

◆ videobitrateSpinbox

- -
-
- - - - - -
- - - - -
QDoubleSpinBox* ExportDialog::videobitrateSpinbox
-
-private
-
- -
-
- -

◆ videoGroupbox

- -
-
- - - - - -
- - - - -
QGroupBox* ExportDialog::videoGroupbox
-
-private
-
- -
-
- -

◆ widthSpinbox

- -
-
- - - - - -
- - - - -
QSpinBox* ExportDialog::widthSpinbox
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_export_dialog.png b/docs/html/class_export_dialog.png deleted file mode 100644 index dd5c4ee5a..000000000 Binary files a/docs/html/class_export_dialog.png and /dev/null differ diff --git a/docs/html/class_export_thread-members.html b/docs/html/class_export_thread-members.html deleted file mode 100644 index 4038ccd3f..000000000 --- a/docs/html/class_export_thread-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ExportThread Member List
-
-
- -

This is the complete list of members for ExportThread, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
acodecExportThreadprivate
acodec_ctxExportThreadprivate
aframe_bytesExportThreadprivate
apkt_allocExportThreadprivate
audio_frameExportThreadprivate
audio_pktExportThreadprivate
audio_streamExportThreadprivate
c_filenameExportThreadprivate
continueEncodeExportThread
encode(AVFormatContext *ofmt_ctx, AVCodecContext *codec_ctx, AVFrame *frame, AVPacket *packet, AVStream *stream, bool rescale)ExportThreadprivate
export_errorExportThreadprivate
ExportThread(const ExportParams &iparams, const VideoCodecParams &ivparams, QObject *parent=nullptr)ExportThread
fmt_ctxExportThreadprivate
getError()ExportThread
mutexExportThreadprivate
paramsExportThreadprivate
progress_changed(int value, qint64 remaining_ms)ExportThreadsignal
retExportThreadprivate
run()ExportThread
setupAudio()ExportThreadprivate
setupContainer()ExportThreadprivate
setupVideo()ExportThreadprivate
surfaceExportThread
swr_ctxExportThreadprivate
swr_frameExportThreadprivate
sws_ctxExportThreadprivate
sws_frameExportThreadprivate
vcodecExportThreadprivate
vcodec_ctxExportThreadprivate
vcodec_paramsExportThreadprivate
video_frameExportThreadprivate
video_pktExportThreadprivate
video_streamExportThreadprivate
vpkt_allocExportThreadprivate
waitCondExportThreadprivate
wake()ExportThreadslot
- - - - diff --git a/docs/html/class_export_thread.html b/docs/html/class_export_thread.html deleted file mode 100644 index 315081eb8..000000000 --- a/docs/html/class_export_thread.html +++ /dev/null @@ -1,1032 +0,0 @@ - - - - - - - -Olive: ExportThread Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <exportthread.h>

-
-Inheritance diagram for ExportThread:
-
-
- -
- - - - -

-Public Slots

void wake ()
 
- - - -

-Signals

void progress_changed (int value, qint64 remaining_ms)
 
- - - - - - - -

-Public Member Functions

 ExportThread (const ExportParams &iparams, const VideoCodecParams &ivparams, QObject *parent=nullptr)
 
void run ()
 
const QString & getError ()
 
- - - - - -

-Public Attributes

QOffscreenSurface surface
 
bool continueEncode
 
- - - - - - - - - -

-Private Member Functions

bool encode (AVFormatContext *ofmt_ctx, AVCodecContext *codec_ctx, AVFrame *frame, AVPacket *packet, AVStream *stream, bool rescale)
 
bool setupVideo ()
 
bool setupAudio ()
 
bool setupContainer ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

ExportParams params
 
VideoCodecParams vcodec_params
 
AVFormatContext * fmt_ctx
 
AVStream * video_stream
 
AVCodec * vcodec
 
AVCodecContext * vcodec_ctx
 
AVFrame * video_frame
 
AVFrame * sws_frame
 
SwsContext * sws_ctx
 
AVStream * audio_stream
 
AVCodec * acodec
 
AVFrame * audio_frame
 
AVFrame * swr_frame
 
AVCodecContext * acodec_ctx
 
AVPacket video_pkt
 
AVPacket audio_pkt
 
SwrContext * swr_ctx
 
bool vpkt_alloc
 
bool apkt_alloc
 
int aframe_bytes
 
int ret
 
char * c_filename
 
QMutex mutex
 
QWaitCondition waitCond
 
QString export_error
 
-

Constructor & Destructor Documentation

- -

◆ ExportThread()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ExportThread::ExportThread (const ExportParamsiparams,
const VideoCodecParamsivparams,
QObject * parent = nullptr 
)
-
- -
-
-

Member Function Documentation

- -

◆ encode()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool ExportThread::encode (AVFormatContext * ofmt_ctx,
AVCodecContext * codec_ctx,
AVFrame * frame,
AVPacket * packet,
AVStream * stream,
bool rescale 
)
-
-private
-
- -
-
- -

◆ getError()

- -
-
- - - - - - - -
const QString & ExportThread::getError ()
-
- -
-
- -

◆ progress_changed

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void ExportThread::progress_changed (int value,
qint64 remaining_ms 
)
-
-signal
-
- -
-
- -

◆ run()

- -
-
- - - - - - - -
void ExportThread::run ()
-
- -
-
- -

◆ setupAudio()

- -
-
- - - - - -
- - - - - - - -
bool ExportThread::setupAudio ()
-
-private
-
- -
-
- -

◆ setupContainer()

- -
-
- - - - - -
- - - - - - - -
bool ExportThread::setupContainer ()
-
-private
-
- -
-
- -

◆ setupVideo()

- -
-
- - - - - -
- - - - - - - -
bool ExportThread::setupVideo ()
-
-private
-
- -
-
- -

◆ wake

- -
-
- - - - - -
- - - - - - - -
void ExportThread::wake ()
-
-slot
-
- -
-
-

Member Data Documentation

- -

◆ acodec

- -
-
- - - - - -
- - - - -
AVCodec* ExportThread::acodec
-
-private
-
- -
-
- -

◆ acodec_ctx

- -
-
- - - - - -
- - - - -
AVCodecContext* ExportThread::acodec_ctx
-
-private
-
- -
-
- -

◆ aframe_bytes

- -
-
- - - - - -
- - - - -
int ExportThread::aframe_bytes
-
-private
-
- -
-
- -

◆ apkt_alloc

- -
-
- - - - - -
- - - - -
bool ExportThread::apkt_alloc
-
-private
-
- -
-
- -

◆ audio_frame

- -
-
- - - - - -
- - - - -
AVFrame* ExportThread::audio_frame
-
-private
-
- -
-
- -

◆ audio_pkt

- -
-
- - - - - -
- - - - -
AVPacket ExportThread::audio_pkt
-
-private
-
- -
-
- -

◆ audio_stream

- -
-
- - - - - -
- - - - -
AVStream* ExportThread::audio_stream
-
-private
-
- -
-
- -

◆ c_filename

- -
-
- - - - - -
- - - - -
char* ExportThread::c_filename
-
-private
-
- -
-
- -

◆ continueEncode

- -
-
- - - - -
bool ExportThread::continueEncode
-
- -
-
- -

◆ export_error

- -
-
- - - - - -
- - - - -
QString ExportThread::export_error
-
-private
-
- -
-
- -

◆ fmt_ctx

- -
-
- - - - - -
- - - - -
AVFormatContext* ExportThread::fmt_ctx
-
-private
-
- -
-
- -

◆ mutex

- -
-
- - - - - -
- - - - -
QMutex ExportThread::mutex
-
-private
-
- -
-
- -

◆ params

- -
-
- - - - - -
- - - - -
ExportParams ExportThread::params
-
-private
-
- -
-
- -

◆ ret

- -
-
- - - - - -
- - - - -
int ExportThread::ret
-
-private
-
- -
-
- -

◆ surface

- -
-
- - - - -
QOffscreenSurface ExportThread::surface
-
- -
-
- -

◆ swr_ctx

- -
-
- - - - - -
- - - - -
SwrContext* ExportThread::swr_ctx
-
-private
-
- -
-
- -

◆ swr_frame

- -
-
- - - - - -
- - - - -
AVFrame* ExportThread::swr_frame
-
-private
-
- -
-
- -

◆ sws_ctx

- -
-
- - - - - -
- - - - -
SwsContext* ExportThread::sws_ctx
-
-private
-
- -
-
- -

◆ sws_frame

- -
-
- - - - - -
- - - - -
AVFrame* ExportThread::sws_frame
-
-private
-
- -
-
- -

◆ vcodec

- -
-
- - - - - -
- - - - -
AVCodec* ExportThread::vcodec
-
-private
-
- -
-
- -

◆ vcodec_ctx

- -
-
- - - - - -
- - - - -
AVCodecContext* ExportThread::vcodec_ctx
-
-private
-
- -
-
- -

◆ vcodec_params

- -
-
- - - - - -
- - - - -
VideoCodecParams ExportThread::vcodec_params
-
-private
-
- -
-
- -

◆ video_frame

- -
-
- - - - - -
- - - - -
AVFrame* ExportThread::video_frame
-
-private
-
- -
-
- -

◆ video_pkt

- -
-
- - - - - -
- - - - -
AVPacket ExportThread::video_pkt
-
-private
-
- -
-
- -

◆ video_stream

- -
-
- - - - - -
- - - - -
AVStream* ExportThread::video_stream
-
-private
-
- -
-
- -

◆ vpkt_alloc

- -
-
- - - - - -
- - - - -
bool ExportThread::vpkt_alloc
-
-private
-
- -
-
- -

◆ waitCond

- -
-
- - - - - -
- - - - -
QWaitCondition ExportThread::waitCond
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_export_thread.png b/docs/html/class_export_thread.png deleted file mode 100644 index 0d96b16d0..000000000 Binary files a/docs/html/class_export_thread.png and /dev/null differ diff --git a/docs/html/class_fill_left_right_effect-members.html b/docs/html/class_fill_left_right_effect-members.html deleted file mode 100644 index a9ae3f42c..000000000 --- a/docs/html/class_fill_left_right_effect-members.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
FillLeftRightEffect Member List
-
-
- -

This is the complete list of members for FillLeftRightEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
close()Effect
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fill_typeFillLeftRightEffectprivate
FillLeftRightEffect(ClipPtr c, const EffectMeta *em)FillLeftRightEffect
fragPathEffectprotected
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)FillLeftRightEffectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)Effectvirtual
save_to_string()Effect
set_enabled(bool b)Effect
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_fill_left_right_effect.html b/docs/html/class_fill_left_right_effect.html deleted file mode 100644 index 59a211ac7..000000000 --- a/docs/html/class_fill_left_right_effect.html +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - -Olive: FillLeftRightEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
FillLeftRightEffect Class Reference
-
-
- -

#include <fillleftrighteffect.h>

-
-Inheritance diagram for FillLeftRightEffect:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 FillLeftRightEffect (ClipPtr c, const EffectMeta *em)
 
void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - -

-Private Attributes

EffectFieldfill_type
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ FillLeftRightEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
FillLeftRightEffect::FillLeftRightEffect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ process_audio()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void FillLeftRightEffect::process_audio (double timecode_start,
double timecode_end,
quint8 * samples,
int nb_bytes,
int channel_count 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-

Member Data Documentation

- -

◆ fill_type

- -
-
- - - - - -
- - - - -
EffectField* FillLeftRightEffect::fill_type
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_fill_left_right_effect.png b/docs/html/class_fill_left_right_effect.png deleted file mode 100644 index f8cff107f..000000000 Binary files a/docs/html/class_fill_left_right_effect.png and /dev/null differ diff --git a/docs/html/class_flow_layout-members.html b/docs/html/class_flow_layout-members.html deleted file mode 100644 index e5090c363..000000000 --- a/docs/html/class_flow_layout-members.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
FlowLayout Member List
-
-
- -

This is the complete list of members for FlowLayout, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - -
addItem(QLayoutItem *item) overrideFlowLayout
count() const overrideFlowLayout
doLayout(const QRect &rect, bool testOnly) constFlowLayoutprivate
expandingDirections() const overrideFlowLayout
FlowLayout(QWidget *parent, int margin=-1, int hSpacing=-1, int vSpacing=-1)FlowLayoutexplicit
FlowLayout(int margin=-1, int hSpacing=-1, int vSpacing=-1)FlowLayoutexplicit
hasHeightForWidth() const overrideFlowLayout
heightForWidth(int) const overrideFlowLayout
horizontalSpacing() constFlowLayout
itemAt(int index) const overrideFlowLayout
itemListFlowLayoutprivate
m_hSpaceFlowLayoutprivate
m_vSpaceFlowLayoutprivate
minimumSize() const overrideFlowLayout
setGeometry(const QRect &rect) overrideFlowLayout
sizeHint() const overrideFlowLayout
smartSpacing(QStyle::PixelMetric pm) constFlowLayoutprivate
takeAt(int index) overrideFlowLayout
verticalSpacing() constFlowLayout
~FlowLayout()FlowLayout
- - - - diff --git a/docs/html/class_flow_layout.html b/docs/html/class_flow_layout.html deleted file mode 100644 index 7a32007f7..000000000 --- a/docs/html/class_flow_layout.html +++ /dev/null @@ -1,670 +0,0 @@ - - - - - - - -Olive: FlowLayout Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <flowlayout.h>

-
-Inheritance diagram for FlowLayout:
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 FlowLayout (QWidget *parent, int margin=-1, int hSpacing=-1, int vSpacing=-1)
 
 FlowLayout (int margin=-1, int hSpacing=-1, int vSpacing=-1)
 
 ~FlowLayout ()
 
void addItem (QLayoutItem *item) override
 
int horizontalSpacing () const
 
int verticalSpacing () const
 
Qt::Orientations expandingDirections () const override
 
bool hasHeightForWidth () const override
 
int heightForWidth (int) const override
 
int count () const override
 
QLayoutItem * itemAt (int index) const override
 
QSize minimumSize () const override
 
void setGeometry (const QRect &rect) override
 
QSize sizeHint () const override
 
QLayoutItem * takeAt (int index) override
 
- - - - - -

-Private Member Functions

int doLayout (const QRect &rect, bool testOnly) const
 
int smartSpacing (QStyle::PixelMetric pm) const
 
- - - - - - - -

-Private Attributes

QList< QLayoutItem * > itemList
 
int m_hSpace
 
int m_vSpace
 
-

Constructor & Destructor Documentation

- -

◆ FlowLayout() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FlowLayout::FlowLayout (QWidget * parent,
int margin = -1,
int hSpacing = -1,
int vSpacing = -1 
)
-
-explicit
-
- -
-
- -

◆ FlowLayout() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
FlowLayout::FlowLayout (int margin = -1,
int hSpacing = -1,
int vSpacing = -1 
)
-
-explicit
-
- -
-
- -

◆ ~FlowLayout()

- -
-
- - - - - - - -
FlowLayout::~FlowLayout ()
-
- -
-
-

Member Function Documentation

- -

◆ addItem()

- -
-
- - - - - -
- - - - - - - - -
void FlowLayout::addItem (QLayoutItem * item)
-
-override
-
- -
-
- -

◆ count()

- -
-
- - - - - -
- - - - - - - -
int FlowLayout::count () const
-
-override
-
- -
-
- -

◆ doLayout()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
int FlowLayout::doLayout (const QRect & rect,
bool testOnly 
) const
-
-private
-
- -
-
- -

◆ expandingDirections()

- -
-
- - - - - -
- - - - - - - -
Qt::Orientations FlowLayout::expandingDirections () const
-
-override
-
- -
-
- -

◆ hasHeightForWidth()

- -
-
- - - - - -
- - - - - - - -
bool FlowLayout::hasHeightForWidth () const
-
-override
-
- -
-
- -

◆ heightForWidth()

- -
-
- - - - - -
- - - - - - - - -
int FlowLayout::heightForWidth (int width) const
-
-override
-
- -
-
- -

◆ horizontalSpacing()

- -
-
- - - - - - - -
int FlowLayout::horizontalSpacing () const
-
- -
-
- -

◆ itemAt()

- -
-
- - - - - -
- - - - - - - - -
QLayoutItem * FlowLayout::itemAt (int index) const
-
-override
-
- -
-
- -

◆ minimumSize()

- -
-
- - - - - -
- - - - - - - -
QSize FlowLayout::minimumSize () const
-
-override
-
- -
-
- -

◆ setGeometry()

- -
-
- - - - - -
- - - - - - - - -
void FlowLayout::setGeometry (const QRect & rect)
-
-override
-
- -
-
- -

◆ sizeHint()

- -
-
- - - - - -
- - - - - - - -
QSize FlowLayout::sizeHint () const
-
-override
-
- -
-
- -

◆ smartSpacing()

- -
-
- - - - - -
- - - - - - - - -
int FlowLayout::smartSpacing (QStyle::PixelMetric pm) const
-
-private
-
- -
-
- -

◆ takeAt()

- -
-
- - - - - -
- - - - - - - - -
QLayoutItem * FlowLayout::takeAt (int index)
-
-override
-
- -
-
- -

◆ verticalSpacing()

- -
-
- - - - - - - -
int FlowLayout::verticalSpacing () const
-
- -
-
-

Member Data Documentation

- -

◆ itemList

- -
-
- - - - - -
- - - - -
QList<QLayoutItem *> FlowLayout::itemList
-
-private
-
- -
-
- -

◆ m_hSpace

- -
-
- - - - - -
- - - - -
int FlowLayout::m_hSpace
-
-private
-
- -
-
- -

◆ m_vSpace

- -
-
- - - - - -
- - - - -
int FlowLayout::m_vSpace
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_flow_layout.png b/docs/html/class_flow_layout.png deleted file mode 100644 index a93772a0d..000000000 Binary files a/docs/html/class_flow_layout.png and /dev/null differ diff --git a/docs/html/class_focus_filter-members.html b/docs/html/class_focus_filter-members.html deleted file mode 100644 index 2966b5433..000000000 --- a/docs/html/class_focus_filter-members.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
FocusFilter Member List
-
- - - - - diff --git a/docs/html/class_focus_filter.html b/docs/html/class_focus_filter.html deleted file mode 100644 index 263207347..000000000 --- a/docs/html/class_focus_filter.html +++ /dev/null @@ -1,906 +0,0 @@ - - - - - - - -Olive: FocusFilter Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
FocusFilter Class Reference
-
-
- -

The FocusFilter class. - More...

- -

#include <focusfilter.h>

-
-Inheritance diagram for FocusFilter:
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Slots

void cut ()
 Cuts selected clips or selected effects (but not both). More...
 
void copy ()
 Copies selected clips or selected effects (but not both). More...
 
void duplicate ()
 Duplicates currently selected items. More...
 
void go_to_in ()
 Go to In Point. More...
 
void go_to_out ()
 Go to Out Point. More...
 
void go_to_start ()
 Go to Start. More...
 
void prev_frame ()
 Go to Previous Frame. More...
 
void play_in_to_out ()
 Play In Point to Out Point. More...
 
void playpause ()
 Toggle Play/Pause. More...
 
void pause ()
 Pause/Shuttle Stop. More...
 
void increase_speed ()
 Increase Speed/Shuttle Right. More...
 
void decrease_speed ()
 Decrease Speed/Shuttle Left. More...
 
void next_frame ()
 Go to Next Frame. More...
 
void go_to_end ()
 Go to End. More...
 
void set_viewer_fullscreen ()
 Set currently focused viewer to full screen. More...
 
void set_marker ()
 Set a marker at the current playhead. More...
 
void set_in_point ()
 Set in point. More...
 
void set_out_point ()
 Set out point. More...
 
void clear_in ()
 Clear in point. More...
 
void clear_out ()
 Clear out point. More...
 
void clear_inout ()
 Clear in/out point. More...
 
void delete_function ()
 Delete. More...
 
void select_all ()
 Select All. More...
 
void zoom_in ()
 Zoom In. More...
 
void zoom_out ()
 Zoom Out. More...
 
- - - - -

-Public Member Functions

 FocusFilter ()
 FocusFilter Constructor. More...
 
-

Detailed Description

-

The FocusFilter class.

-

Some keyboard shortcuts/menu actions will do different things depending on the panel that's currently focused. For example, pressing "Set Marker" will set a marker on the main active sequence if the timeline is focused, or on the media in the Media Viewer if the Media Viewer is focused. This class provides slots/functions that can be called that will check which panel is focused and call the appropriate function.

-

Responds to config.hover_focus. Default behavior is focus by clicking on the panels, but if hover_focus is TRUE, the focused panel will be whichever panel has the cursor currently hovering over it.

-

Constructor & Destructor Documentation

- -

◆ FocusFilter()

- -
-
- - - - - - - -
FocusFilter::FocusFilter ()
-
- -

FocusFilter Constructor.

-

Currently empty.

- -
-
-

Member Function Documentation

- -

◆ clear_in

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::clear_in ()
-
-slot
-
- -

Clear in point.

-

Calls clear_in() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ clear_inout

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::clear_inout ()
-
-slot
-
- -

Clear in/out point.

-

Calls clear_inout() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ clear_out

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::clear_out ()
-
-slot
-
- -

Clear out point.

-

Calls clear_out() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ copy

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::copy ()
-
-slot
-
- -

Copies selected clips or selected effects (but not both).

-

If the Effect Controls panel is focused, copies selected effects. Otherwise copies selected clips.

- -
-
- -

◆ cut

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::cut ()
-
-slot
-
- -

Cuts selected clips or selected effects (but not both).

-

If the Effect Controls panel is focused, cuts selected effects. Otherwise cuts selected clips.

- -
-
- -

◆ decrease_speed

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::decrease_speed ()
-
-slot
-
- -

Decrease Speed/Shuttle Left.

-

Calls decrease_speed() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ delete_function

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::delete_function ()
-
-slot
-
- -

Delete.

-

Calls various delete functions based on which UI elements are focused. Deletes span anywhere from deleting clips (Timeline), to effects (Effect Controls), to markers (TimelineHeader).

- -
-
- -

◆ duplicate

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::duplicate ()
-
-slot
-
- -

Duplicates currently selected items.

-

Currently this only duplicates Sequences in the project panel.

- -
-
- -

◆ go_to_end

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::go_to_end ()
-
-slot
-
- -

Go to End.

-

Calls go_to_end() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ go_to_in

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::go_to_in ()
-
-slot
-
- -

Go to In Point.

-

Calls go_to_in() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ go_to_out

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::go_to_out ()
-
-slot
-
- -

Go to Out Point.

-

Calls go_to_out() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ go_to_start

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::go_to_start ()
-
-slot
-
- -

Go to Start.

-

Calls go_to_start() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ increase_speed

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::increase_speed ()
-
-slot
-
- -

Increase Speed/Shuttle Right.

-

Calls increase_speed() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ next_frame

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::next_frame ()
-
-slot
-
- -

Go to Next Frame.

-

Calls next_frame() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ pause

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::pause ()
-
-slot
-
- -

Pause/Shuttle Stop.

-

Calls pause() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ play_in_to_out

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::play_in_to_out ()
-
-slot
-
- -

Play In Point to Out Point.

-

Calls play(true) on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ playpause

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::playpause ()
-
-slot
-
- -

Toggle Play/Pause.

-

Calls toggle_play() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ prev_frame

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::prev_frame ()
-
-slot
-
- -

Go to Previous Frame.

-

Calls previous_frame() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ select_all

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::select_all ()
-
-slot
-
- -

Select All.

-

Calls select_all() on Graph Editor if its focused or Timeline if it's not.

- -
-
- -

◆ set_in_point

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::set_in_point ()
-
-slot
-
- -

Set in point.

-

Calls set_in_point() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ set_marker

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::set_marker ()
-
-slot
-
- -

Set a marker at the current playhead.

-

Calls set_marker() on Media Viewer or Sequence Viewer if it's focused. Otherwise calls it on Timeline.

- -
-
- -

◆ set_out_point

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::set_out_point ()
-
-slot
-
- -

Set out point.

-

Calls set_out_point() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ set_viewer_fullscreen

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::set_viewer_fullscreen ()
-
-slot
-
- -

Set currently focused viewer to full screen.

-

Calls viewer_widget->set_fullscreen() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.

- -
-
- -

◆ zoom_in

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::zoom_in ()
-
-slot
-
- -

Zoom In.

-

Calls zoom_in() on Effect Controls, Footage Viewer, or Sequence Viewer if one of them is focused. Otherwise calls it on Timeline.

- -
-
- -

◆ zoom_out

- -
-
- - - - - -
- - - - - - - -
void FocusFilter::zoom_out ()
-
-slot
-
- -

Zoom Out.

-

Calls zoom_out() on Effect Controls, Footage Viewer, or Sequence Viewer if one of them is focused. Otherwise calls it on Timeline.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_focus_filter.png b/docs/html/class_focus_filter.png deleted file mode 100644 index 870840a45..000000000 Binary files a/docs/html/class_focus_filter.png and /dev/null differ diff --git a/docs/html/class_font_combobox-members.html b/docs/html/class_font_combobox-members.html deleted file mode 100644 index c411a5d06..000000000 --- a/docs/html/class_font_combobox-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
FontCombobox Member List
-
-
- -

This is the complete list of members for FontCombobox, including all inherited members.

- - - - - - - - - - -
ComboBoxEx(QWidget *parent=0)ComboBoxEx
FontCombobox(QWidget *parent=0)FontCombobox
getPreviousIndex()ComboBoxEx
getPreviousValue()FontCombobox
previousValueFontComboboxprivate
setCurrentIndexEx(int i)ComboBoxEx
setCurrentTextEx(const QString &text)ComboBoxEx
updateInternals()FontComboboxprivateslot
valueFontComboboxprivate
- - - - diff --git a/docs/html/class_font_combobox.html b/docs/html/class_font_combobox.html deleted file mode 100644 index 825bc9f1b..000000000 --- a/docs/html/class_font_combobox.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - -Olive: FontCombobox Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
FontCombobox Class Reference
-
-
- -

#include <fontcombobox.h>

-
-Inheritance diagram for FontCombobox:
-
-
- - -ComboBoxEx - -
- - - - - - - - - - - - - - - -

-Public Member Functions

 FontCombobox (QWidget *parent=0)
 
const QString & getPreviousValue ()
 
- Public Member Functions inherited from ComboBoxEx
 ComboBoxEx (QWidget *parent=0)
 
void setCurrentIndexEx (int i)
 
void setCurrentTextEx (const QString &text)
 
int getPreviousIndex ()
 
- - - -

-Private Slots

void updateInternals ()
 
- - - - - -

-Private Attributes

QString previousValue
 
QString value
 
-

Constructor & Destructor Documentation

- -

◆ FontCombobox()

- -
-
- - - - - - - - -
FontCombobox::FontCombobox (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ getPreviousValue()

- -
-
- - - - - - - -
const QString & FontCombobox::getPreviousValue ()
-
- -
-
- -

◆ updateInternals

- -
-
- - - - - -
- - - - - - - -
void FontCombobox::updateInternals ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ previousValue

- -
-
- - - - - -
- - - - -
QString FontCombobox::previousValue
-
-private
-
- -
-
- -

◆ value

- -
-
- - - - - -
- - - - -
QString FontCombobox::value
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_font_combobox.png b/docs/html/class_font_combobox.png deleted file mode 100644 index 487391ff7..000000000 Binary files a/docs/html/class_font_combobox.png and /dev/null differ diff --git a/docs/html/class_frei0r_effect-members.html b/docs/html/class_frei0r_effect-members.html deleted file mode 100644 index 3aa82b023..000000000 --- a/docs/html/class_frei0r_effect-members.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Frei0rEffect Member List
-
-
- -

This is the complete list of members for Frei0rEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
close()Effect
construct_module()Frei0rEffectprivate
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
destruct_module()Frei0rEffectprivate
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
Frei0rEffect(ClipPtr c, const EffectMeta *em)Frei0rEffect
get_param_infoFrei0rEffectprivate
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
handleFrei0rEffectprivate
idEffect
imgEffectprotected
instanceFrei0rEffectprivate
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
openFrei0rEffectprivate
Effect::open()Effect
param_countFrei0rEffectprivate
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)Effectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Frei0rEffectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Frei0rEffectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)Effectvirtual
save_to_string()Effect
set_enabled(bool b)Effect
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
vertPathEffectprotected
~Effect()Effect
~Frei0rEffect()Frei0rEffect
- - - - diff --git a/docs/html/class_frei0r_effect.html b/docs/html/class_frei0r_effect.html deleted file mode 100644 index 0993513d5..000000000 --- a/docs/html/class_frei0r_effect.html +++ /dev/null @@ -1,520 +0,0 @@ - - - - - - - -Olive: Frei0rEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <frei0reffect.h>

-
-Inheritance diagram for Frei0rEffect:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Frei0rEffect (ClipPtr c, const EffectMeta *em)
 
 ~Frei0rEffect ()
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void refresh ()
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - -

-Private Member Functions

void destruct_module ()
 
void construct_module ()
 
- - - - - - - - - - - -

-Private Attributes

ModulePtr handle
 
f0r_instance_t instance
 
int param_count
 
f0rGetParamInfo get_param_info
 
bool open
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ Frei0rEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
Frei0rEffect::Frei0rEffect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
- -

◆ ~Frei0rEffect()

- -
-
- - - - - - - -
Frei0rEffect::~Frei0rEffect ()
-
- -
-
-

Member Function Documentation

- -

◆ construct_module()

- -
-
- - - - - -
- - - - - - - -
void Frei0rEffect::construct_module ()
-
-private
-
- -
-
- -

◆ destruct_module()

- -
-
- - - - - -
- - - - - - - -
void Frei0rEffect::destruct_module ()
-
-private
-
- -
-
- -

◆ process_image()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Frei0rEffect::process_image (double timecode,
uint8_t * input,
uint8_t * output,
int size 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ refresh()

- -
-
- - - - - -
- - - - - - - -
void Frei0rEffect::refresh ()
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-

Member Data Documentation

- -

◆ get_param_info

- -
-
- - - - - -
- - - - -
f0rGetParamInfo Frei0rEffect::get_param_info
-
-private
-
- -
-
- -

◆ handle

- -
-
- - - - - -
- - - - -
ModulePtr Frei0rEffect::handle
-
-private
-
- -
-
- -

◆ instance

- -
-
- - - - - -
- - - - -
f0r_instance_t Frei0rEffect::instance
-
-private
-
- -
-
- -

◆ open

- -
-
- - - - - -
- - - - -
bool Frei0rEffect::open
-
-private
-
- -
-
- -

◆ param_count

- -
-
- - - - - -
- - - - -
int Frei0rEffect::param_count
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_frei0r_effect.png b/docs/html/class_frei0r_effect.png deleted file mode 100644 index e9c1ebdae..000000000 Binary files a/docs/html/class_frei0r_effect.png and /dev/null differ diff --git a/docs/html/class_graph_editor-members.html b/docs/html/class_graph_editor-members.html deleted file mode 100644 index c3759e8a2..000000000 --- a/docs/html/class_graph_editor-members.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
GraphEditor Member List
-
-
- -

This is the complete list of members for GraphEditor, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
bezier_buttonGraphEditorprivate
current_row_descGraphEditorprivate
delete_selected_keys()GraphEditor
event(QEvent *e) overridePanelvirtual
GraphEditor(QWidget *parent=nullptr)GraphEditor
headerGraphEditorprivate
hold_buttonGraphEditorprivate
keyframe_navGraphEditorprivate
linear_buttonGraphEditorprivate
Panel(QWidget *parent=nullptr)Panel
passthrough_slider_value()GraphEditorprivateslot
Retranslate() overrideGraphEditorprotectedvirtual
rowGraphEditorprivate
select_all()GraphEditor
set_field_visibility(bool b)GraphEditorprivateslot
set_key_button_enabled(bool e, int type)GraphEditorprivateslot
set_keyframe_type()GraphEditorprivateslot
set_row(EffectRow *r)GraphEditor
slider_proxiesGraphEditorprivate
slider_proxy_buttonsGraphEditorprivate
slider_proxy_sourcesGraphEditorprivate
update_panel()GraphEditor
value_layoutGraphEditorprivate
viewGraphEditorprivate
view_is_focused()GraphEditor
view_is_under_mouse()GraphEditor
- - - - diff --git a/docs/html/class_graph_editor.html b/docs/html/class_graph_editor.html deleted file mode 100644 index 24c8c909f..000000000 --- a/docs/html/class_graph_editor.html +++ /dev/null @@ -1,690 +0,0 @@ - - - - - - - -Olive: GraphEditor Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <grapheditor.h>

-
-Inheritance diagram for GraphEditor:
-
-
- - -Panel - -
- - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 GraphEditor (QWidget *parent=nullptr)
 
void update_panel ()
 
void set_row (EffectRow *r)
 
bool view_is_focused ()
 
bool view_is_under_mouse ()
 
void delete_selected_keys ()
 
void select_all ()
 
- Public Member Functions inherited from Panel
 Panel (QWidget *parent=nullptr)
 
virtual bool event (QEvent *e) override
 
- - - -

-Protected Member Functions

virtual void Retranslate () override
 
- - - - - - - - - -

-Private Slots

void set_key_button_enabled (bool e, int type)
 
void passthrough_slider_value ()
 
void set_keyframe_type ()
 
void set_field_visibility (bool b)
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

GraphViewview
 
TimelineHeaderheader
 
QHBoxLayout * value_layout
 
QVector< LabelSlider * > slider_proxies
 
QVector< QPushButton * > slider_proxy_buttons
 
QVector< LabelSlider * > slider_proxy_sources
 
QLabel * current_row_desc
 
EffectRowrow
 
KeyframeNavigatorkeyframe_nav
 
QPushButton * linear_button
 
QPushButton * bezier_button
 
QPushButton * hold_button
 
-

Constructor & Destructor Documentation

- -

◆ GraphEditor()

- -
-
- - - - - - - - -
GraphEditor::GraphEditor (QWidget * parent = nullptr)
-
- -
-
-

Member Function Documentation

- -

◆ delete_selected_keys()

- -
-
- - - - - - - -
void GraphEditor::delete_selected_keys ()
-
- -
-
- -

◆ passthrough_slider_value

- -
-
- - - - - -
- - - - - - - -
void GraphEditor::passthrough_slider_value ()
-
-privateslot
-
- -
-
- -

◆ Retranslate()

- -
-
- - - - - -
- - - - - - - -
void GraphEditor::Retranslate ()
-
-overrideprotectedvirtual
-
- -

Implements Panel.

- -
-
- -

◆ select_all()

- -
-
- - - - - - - -
void GraphEditor::select_all ()
-
- -
-
- -

◆ set_field_visibility

- -
-
- - - - - -
- - - - - - - - -
void GraphEditor::set_field_visibility (bool b)
-
-privateslot
-
- -
-
- -

◆ set_key_button_enabled

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void GraphEditor::set_key_button_enabled (bool e,
int type 
)
-
-privateslot
-
- -
-
- -

◆ set_keyframe_type

- -
-
- - - - - -
- - - - - - - -
void GraphEditor::set_keyframe_type ()
-
-privateslot
-
- -
-
- -

◆ set_row()

- -
-
- - - - - - - - -
void GraphEditor::set_row (EffectRowr)
-
- -
-
- -

◆ update_panel()

- -
-
- - - - - - - -
void GraphEditor::update_panel ()
-
- -
-
- -

◆ view_is_focused()

- -
-
- - - - - - - -
bool GraphEditor::view_is_focused ()
-
- -
-
- -

◆ view_is_under_mouse()

- -
-
- - - - - - - -
bool GraphEditor::view_is_under_mouse ()
-
- -
-
-

Member Data Documentation

- -

◆ bezier_button

- -
-
- - - - - -
- - - - -
QPushButton* GraphEditor::bezier_button
-
-private
-
- -
-
- -

◆ current_row_desc

- -
-
- - - - - -
- - - - -
QLabel* GraphEditor::current_row_desc
-
-private
-
- -
-
- -

◆ header

- -
-
- - - - - -
- - - - -
TimelineHeader* GraphEditor::header
-
-private
-
- -
-
- -

◆ hold_button

- -
-
- - - - - -
- - - - -
QPushButton* GraphEditor::hold_button
-
-private
-
- -
-
- -

◆ keyframe_nav

- -
-
- - - - - -
- - - - -
KeyframeNavigator* GraphEditor::keyframe_nav
-
-private
-
- -
-
- -

◆ linear_button

- -
-
- - - - - -
- - - - -
QPushButton* GraphEditor::linear_button
-
-private
-
- -
-
- -

◆ row

- -
-
- - - - - -
- - - - -
EffectRow* GraphEditor::row
-
-private
-
- -
-
- -

◆ slider_proxies

- -
-
- - - - - -
- - - - -
QVector<LabelSlider*> GraphEditor::slider_proxies
-
-private
-
- -
-
- -

◆ slider_proxy_buttons

- -
-
- - - - - -
- - - - -
QVector<QPushButton*> GraphEditor::slider_proxy_buttons
-
-private
-
- -
-
- -

◆ slider_proxy_sources

- -
-
- - - - - -
- - - - -
QVector<LabelSlider*> GraphEditor::slider_proxy_sources
-
-private
-
- -
-
- -

◆ value_layout

- -
-
- - - - - -
- - - - -
QHBoxLayout* GraphEditor::value_layout
-
-private
-
- -
-
- -

◆ view

- -
-
- - - - - -
- - - - -
GraphView* GraphEditor::view
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_graph_editor.png b/docs/html/class_graph_editor.png deleted file mode 100644 index 3fe293b1a..000000000 Binary files a/docs/html/class_graph_editor.png and /dev/null differ diff --git a/docs/html/class_graph_view-members.html b/docs/html/class_graph_view-members.html deleted file mode 100644 index 3c8f66717..000000000 --- a/docs/html/class_graph_view-members.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
GraphView Member List
-
-
- -

This is the complete list of members for GraphView, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
click_addGraphViewprivate
click_add_fieldGraphViewprivate
click_add_keyGraphViewprivate
click_add_procGraphViewprivate
click_add_typeGraphViewprivate
current_handleGraphViewprivate
delete_selected_keys()GraphView
draw_line_text(QPainter &p, bool vert, int line_no, int line_pos, int next_line_pos)GraphViewprivate
draw_lines(QPainter &p, bool vert)GraphViewprivate
field_visibilityGraphViewprivate
get_screen_x(double)GraphViewprivate
get_screen_y(double)GraphViewprivate
get_value_x(int)GraphViewprivate
get_value_y(int)GraphViewprivate
GraphView(QWidget *parent=nullptr)GraphView
handle_fieldGraphViewprivate
handle_indexGraphViewprivate
mousedownGraphViewprivate
mouseMoveEvent(QMouseEvent *event)GraphView
mousePressEvent(QMouseEvent *event)GraphView
mouseReleaseEvent(QMouseEvent *event)GraphView
moved_keysGraphViewprivate
old_post_handle_xGraphViewprivate
old_post_handle_yGraphViewprivate
old_pre_handle_xGraphViewprivate
old_pre_handle_yGraphViewprivate
paintEvent(QPaintEvent *event)GraphView
rect_selectGraphViewprivate
rect_select_hGraphViewprivate
rect_select_offsetGraphViewprivate
rect_select_wGraphViewprivate
rect_select_xGraphViewprivate
rect_select_yGraphViewprivate
reset_view()GraphViewprivateslot
rowGraphViewprivate
select_all()GraphView
selected_keysGraphViewprivate
selected_keys_fieldsGraphViewprivate
selected_keys_old_doublesGraphViewprivate
selected_keys_old_valsGraphViewprivate
selection_changed(bool, int)GraphViewsignal
selection_update()GraphViewprivate
set_field_visibility(int field, bool b)GraphView
set_row(EffectRow *r)GraphView
set_scroll_x(int s)GraphViewprivate
set_scroll_y(int s)GraphViewprivate
set_selected_keyframe_type(int type)GraphView
set_view_to_all()GraphViewprivateslot
set_view_to_rect(int x1, double y1, int x2, double y2)GraphViewprivateslot
set_view_to_selection()GraphViewprivateslot
set_zoom(double xz, double yz)GraphViewprivate
show_context_menu(const QPoint &pos)GraphViewprivateslot
start_xGraphViewprivate
start_yGraphViewprivate
visible_inGraphViewprivate
wheelEvent(QWheelEvent *event)GraphView
x_scrollGraphViewprivate
x_scroll_changed(int)GraphViewsignal
x_zoomGraphViewprivate
y_scrollGraphViewprivate
y_scroll_changed(int)GraphViewsignal
y_zoomGraphViewprivate
zoom_changed(double, double)GraphViewsignal
- - - - diff --git a/docs/html/class_graph_view.html b/docs/html/class_graph_view.html deleted file mode 100644 index 1c632bd0a..000000000 --- a/docs/html/class_graph_view.html +++ /dev/null @@ -1,1752 +0,0 @@ - - - - - - - -Olive: GraphView Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <graphview.h>

-
-Inheritance diagram for GraphView:
-
-
- -
- - - - - - - - - - -

-Signals

void x_scroll_changed (int)
 
void y_scroll_changed (int)
 
void zoom_changed (double, double)
 
void selection_changed (bool, int)
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 GraphView (QWidget *parent=nullptr)
 
void paintEvent (QPaintEvent *event)
 
void mousePressEvent (QMouseEvent *event)
 
void mouseMoveEvent (QMouseEvent *event)
 
void mouseReleaseEvent (QMouseEvent *event)
 
void wheelEvent (QWheelEvent *event)
 
void set_row (EffectRow *r)
 
void set_selected_keyframe_type (int type)
 
void set_field_visibility (int field, bool b)
 
void delete_selected_keys ()
 
void select_all ()
 
- - - - - - - - - - - -

-Private Slots

void show_context_menu (const QPoint &pos)
 
void reset_view ()
 
void set_view_to_selection ()
 
void set_view_to_all ()
 
void set_view_to_rect (int x1, double y1, int x2, double y2)
 
- - - - - - - - - - - - - - - - - - - - - -

-Private Member Functions

void set_scroll_x (int s)
 
void set_scroll_y (int s)
 
void set_zoom (double xz, double yz)
 
int get_screen_x (double)
 
int get_screen_y (double)
 
long get_value_x (int)
 
double get_value_y (int)
 
void selection_update ()
 
void draw_lines (QPainter &p, bool vert)
 
void draw_line_text (QPainter &p, bool vert, int line_no, int line_pos, int next_line_pos)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

int x_scroll
 
int y_scroll
 
bool mousedown
 
int start_x
 
int start_y
 
double x_zoom
 
double y_zoom
 
QVector< bool > field_visibility
 
QVector< int > selected_keys
 
QVector< int > selected_keys_fields
 
QVector< long > selected_keys_old_vals
 
QVector< double > selected_keys_old_doubles
 
double old_pre_handle_x
 
double old_pre_handle_y
 
double old_post_handle_x
 
double old_post_handle_y
 
int handle_field
 
int handle_index
 
bool moved_keys
 
int current_handle
 
EffectRowrow
 
bool rect_select
 
int rect_select_x
 
int rect_select_y
 
int rect_select_w
 
int rect_select_h
 
int rect_select_offset
 
long visible_in
 
bool click_add
 
bool click_add_proc
 
EffectFieldclick_add_field
 
int click_add_key
 
int click_add_type
 
-

Constructor & Destructor Documentation

- -

◆ GraphView()

- -
-
- - - - - - - - -
GraphView::GraphView (QWidget * parent = nullptr)
-
- -
-
-

Member Function Documentation

- -

◆ delete_selected_keys()

- -
-
- - - - - - - -
void GraphView::delete_selected_keys ()
-
- -
-
- -

◆ draw_line_text()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void GraphView::draw_line_text (QPainter & p,
bool vert,
int line_no,
int line_pos,
int next_line_pos 
)
-
-private
-
- -
-
- -

◆ draw_lines()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void GraphView::draw_lines (QPainter & p,
bool vert 
)
-
-private
-
- -
-
- -

◆ get_screen_x()

- -
-
- - - - - -
- - - - - - - - -
int GraphView::get_screen_x (double d)
-
-private
-
- -
-
- -

◆ get_screen_y()

- -
-
- - - - - -
- - - - - - - - -
int GraphView::get_screen_y (double d)
-
-private
-
- -
-
- -

◆ get_value_x()

- -
-
- - - - - -
- - - - - - - - -
long GraphView::get_value_x (int i)
-
-private
-
- -
-
- -

◆ get_value_y()

- -
-
- - - - - -
- - - - - - - - -
double GraphView::get_value_y (int i)
-
-private
-
- -
-
- -

◆ mouseMoveEvent()

- -
-
- - - - - - - - -
void GraphView::mouseMoveEvent (QMouseEvent * event)
-
- -
-
- -

◆ mousePressEvent()

- -
-
- - - - - - - - -
void GraphView::mousePressEvent (QMouseEvent * event)
-
- -
-
- -

◆ mouseReleaseEvent()

- -
-
- - - - - - - - -
void GraphView::mouseReleaseEvent (QMouseEvent * event)
-
- -
-
- -

◆ paintEvent()

- -
-
- - - - - - - - -
void GraphView::paintEvent (QPaintEvent * event)
-
- -
-
- -

◆ reset_view

- -
-
- - - - - -
- - - - - - - -
void GraphView::reset_view ()
-
-privateslot
-
- -
-
- -

◆ select_all()

- -
-
- - - - - - - -
void GraphView::select_all ()
-
- -
-
- -

◆ selection_changed

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void GraphView::selection_changed (bool ,
int  
)
-
-signal
-
- -
-
- -

◆ selection_update()

- -
-
- - - - - -
- - - - - - - -
void GraphView::selection_update ()
-
-private
-
- -
-
- -

◆ set_field_visibility()

- -
-
- - - - - - - - - - - - - - - - - - -
void GraphView::set_field_visibility (int field,
bool b 
)
-
- -
-
- -

◆ set_row()

- -
-
- - - - - - - - -
void GraphView::set_row (EffectRowr)
-
- -
-
- -

◆ set_scroll_x()

- -
-
- - - - - -
- - - - - - - - -
void GraphView::set_scroll_x (int s)
-
-private
-
- -
-
- -

◆ set_scroll_y()

- -
-
- - - - - -
- - - - - - - - -
void GraphView::set_scroll_y (int s)
-
-private
-
- -
-
- -

◆ set_selected_keyframe_type()

- -
-
- - - - - - - - -
void GraphView::set_selected_keyframe_type (int type)
-
- -
-
- -

◆ set_view_to_all

- -
-
- - - - - -
- - - - - - - -
void GraphView::set_view_to_all ()
-
-privateslot
-
- -
-
- -

◆ set_view_to_rect

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void GraphView::set_view_to_rect (int x1,
double y1,
int x2,
double y2 
)
-
-privateslot
-
- -
-
- -

◆ set_view_to_selection

- -
-
- - - - - -
- - - - - - - -
void GraphView::set_view_to_selection ()
-
-privateslot
-
- -
-
- -

◆ set_zoom()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void GraphView::set_zoom (double xz,
double yz 
)
-
-private
-
- -
-
- -

◆ show_context_menu

- -
-
- - - - - -
- - - - - - - - -
void GraphView::show_context_menu (const QPoint & pos)
-
-privateslot
-
- -
-
- -

◆ wheelEvent()

- -
-
- - - - - - - - -
void GraphView::wheelEvent (QWheelEvent * event)
-
- -
-
- -

◆ x_scroll_changed

- -
-
- - - - - -
- - - - - - - - -
void GraphView::x_scroll_changed (int )
-
-signal
-
- -
-
- -

◆ y_scroll_changed

- -
-
- - - - - -
- - - - - - - - -
void GraphView::y_scroll_changed (int )
-
-signal
-
- -
-
- -

◆ zoom_changed

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void GraphView::zoom_changed (double ,
double  
)
-
-signal
-
- -
-
-

Member Data Documentation

- -

◆ click_add

- -
-
- - - - - -
- - - - -
bool GraphView::click_add
-
-private
-
- -
-
- -

◆ click_add_field

- -
-
- - - - - -
- - - - -
EffectField* GraphView::click_add_field
-
-private
-
- -
-
- -

◆ click_add_key

- -
-
- - - - - -
- - - - -
int GraphView::click_add_key
-
-private
-
- -
-
- -

◆ click_add_proc

- -
-
- - - - - -
- - - - -
bool GraphView::click_add_proc
-
-private
-
- -
-
- -

◆ click_add_type

- -
-
- - - - - -
- - - - -
int GraphView::click_add_type
-
-private
-
- -
-
- -

◆ current_handle

- -
-
- - - - - -
- - - - -
int GraphView::current_handle
-
-private
-
- -
-
- -

◆ field_visibility

- -
-
- - - - - -
- - - - -
QVector<bool> GraphView::field_visibility
-
-private
-
- -
-
- -

◆ handle_field

- -
-
- - - - - -
- - - - -
int GraphView::handle_field
-
-private
-
- -
-
- -

◆ handle_index

- -
-
- - - - - -
- - - - -
int GraphView::handle_index
-
-private
-
- -
-
- -

◆ mousedown

- -
-
- - - - - -
- - - - -
bool GraphView::mousedown
-
-private
-
- -
-
- -

◆ moved_keys

- -
-
- - - - - -
- - - - -
bool GraphView::moved_keys
-
-private
-
- -
-
- -

◆ old_post_handle_x

- -
-
- - - - - -
- - - - -
double GraphView::old_post_handle_x
-
-private
-
- -
-
- -

◆ old_post_handle_y

- -
-
- - - - - -
- - - - -
double GraphView::old_post_handle_y
-
-private
-
- -
-
- -

◆ old_pre_handle_x

- -
-
- - - - - -
- - - - -
double GraphView::old_pre_handle_x
-
-private
-
- -
-
- -

◆ old_pre_handle_y

- -
-
- - - - - -
- - - - -
double GraphView::old_pre_handle_y
-
-private
-
- -
-
- -

◆ rect_select

- -
-
- - - - - -
- - - - -
bool GraphView::rect_select
-
-private
-
- -
-
- -

◆ rect_select_h

- -
-
- - - - - -
- - - - -
int GraphView::rect_select_h
-
-private
-
- -
-
- -

◆ rect_select_offset

- -
-
- - - - - -
- - - - -
int GraphView::rect_select_offset
-
-private
-
- -
-
- -

◆ rect_select_w

- -
-
- - - - - -
- - - - -
int GraphView::rect_select_w
-
-private
-
- -
-
- -

◆ rect_select_x

- -
-
- - - - - -
- - - - -
int GraphView::rect_select_x
-
-private
-
- -
-
- -

◆ rect_select_y

- -
-
- - - - - -
- - - - -
int GraphView::rect_select_y
-
-private
-
- -
-
- -

◆ row

- -
-
- - - - - -
- - - - -
EffectRow* GraphView::row
-
-private
-
- -
-
- -

◆ selected_keys

- -
-
- - - - - -
- - - - -
QVector<int> GraphView::selected_keys
-
-private
-
- -
-
- -

◆ selected_keys_fields

- -
-
- - - - - -
- - - - -
QVector<int> GraphView::selected_keys_fields
-
-private
-
- -
-
- -

◆ selected_keys_old_doubles

- -
-
- - - - - -
- - - - -
QVector<double> GraphView::selected_keys_old_doubles
-
-private
-
- -
-
- -

◆ selected_keys_old_vals

- -
-
- - - - - -
- - - - -
QVector<long> GraphView::selected_keys_old_vals
-
-private
-
- -
-
- -

◆ start_x

- -
-
- - - - - -
- - - - -
int GraphView::start_x
-
-private
-
- -
-
- -

◆ start_y

- -
-
- - - - - -
- - - - -
int GraphView::start_y
-
-private
-
- -
-
- -

◆ visible_in

- -
-
- - - - - -
- - - - -
long GraphView::visible_in
-
-private
-
- -
-
- -

◆ x_scroll

- -
-
- - - - - -
- - - - -
int GraphView::x_scroll
-
-private
-
- -
-
- -

◆ x_zoom

- -
-
- - - - - -
- - - - -
double GraphView::x_zoom
-
-private
-
- -
-
- -

◆ y_scroll

- -
-
- - - - - -
- - - - -
int GraphView::y_scroll
-
-private
-
- -
-
- -

◆ y_zoom

- -
-
- - - - - -
- - - - -
double GraphView::y_zoom
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_graph_view.png b/docs/html/class_graph_view.png deleted file mode 100644 index 5de535f32..000000000 Binary files a/docs/html/class_graph_view.png and /dev/null differ diff --git a/docs/html/class_key_sequence_editor-members.html b/docs/html/class_key_sequence_editor-members.html deleted file mode 100644 index 01da66b3e..000000000 --- a/docs/html/class_key_sequence_editor-members.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
KeySequenceEditor Member List
-
-
- -

This is the complete list of members for KeySequenceEditor, including all inherited members.

- - - - - - - -
actionKeySequenceEditorprivate
action_name()KeySequenceEditor
export_shortcut()KeySequenceEditor
KeySequenceEditor(QWidget *parent, QAction *a)KeySequenceEditor
reset_to_default()KeySequenceEditor
set_action_shortcut()KeySequenceEditor
- - - - diff --git a/docs/html/class_key_sequence_editor.html b/docs/html/class_key_sequence_editor.html deleted file mode 100644 index 40a13d542..000000000 --- a/docs/html/class_key_sequence_editor.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - -Olive: KeySequenceEditor Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
KeySequenceEditor Class Reference
-
-
- -

#include <preferencesdialog.h>

-
-Inheritance diagram for KeySequenceEditor:
-
-
- -
- - - - - - - - - - - - -

-Public Member Functions

 KeySequenceEditor (QWidget *parent, QAction *a)
 
void set_action_shortcut ()
 
void reset_to_default ()
 
QString action_name ()
 
QString export_shortcut ()
 
- - - -

-Private Attributes

QAction * action
 
-

Constructor & Destructor Documentation

- -

◆ KeySequenceEditor()

- -
-
- - - - - - - - - - - - - - - - - - -
KeySequenceEditor::KeySequenceEditor (QWidget * parent,
QAction * a 
)
-
- -
-
-

Member Function Documentation

- -

◆ action_name()

- -
-
- - - - - - - -
QString KeySequenceEditor::action_name ()
-
- -
-
- -

◆ export_shortcut()

- -
-
- - - - - - - -
QString KeySequenceEditor::export_shortcut ()
-
- -
-
- -

◆ reset_to_default()

- -
-
- - - - - - - -
void KeySequenceEditor::reset_to_default ()
-
- -
-
- -

◆ set_action_shortcut()

- -
-
- - - - - - - -
void KeySequenceEditor::set_action_shortcut ()
-
- -
-
-

Member Data Documentation

- -

◆ action

- -
-
- - - - - -
- - - - -
QAction* KeySequenceEditor::action
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_key_sequence_editor.png b/docs/html/class_key_sequence_editor.png deleted file mode 100644 index 0b90b9429..000000000 Binary files a/docs/html/class_key_sequence_editor.png and /dev/null differ diff --git a/docs/html/class_keyframe_delete-members.html b/docs/html/class_keyframe_delete-members.html deleted file mode 100644 index f813079a2..000000000 --- a/docs/html/class_keyframe_delete-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
KeyframeDelete Member List
-
-
- -

This is the complete list of members for KeyframeDelete, including all inherited members.

- - - - - - - - - - - - -
deleted_keyKeyframeDeleteprivate
doneKeyframeDeleteprivate
doRedo() overrideKeyframeDeletevirtual
doUndo() overrideKeyframeDeletevirtual
fieldKeyframeDeleteprivate
indexKeyframeDeleteprivate
KeyframeDelete(EffectField *ifield, int iindex)KeyframeDelete
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_keyframe_delete.html b/docs/html/class_keyframe_delete.html deleted file mode 100644 index 2b5ac485c..000000000 --- a/docs/html/class_keyframe_delete.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - - -Olive: KeyframeDelete Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
KeyframeDelete Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for KeyframeDelete:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 KeyframeDelete (EffectField *ifield, int iindex)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - - - -

-Private Attributes

EffectFieldfield
 
int index
 
bool done
 
EffectKeyframe deleted_key
 
-

Constructor & Destructor Documentation

- -

◆ KeyframeDelete()

- -
-
- - - - - - - - - - - - - - - - - - -
KeyframeDelete::KeyframeDelete (EffectFieldifield,
int iindex 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void KeyframeDelete::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void KeyframeDelete::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ deleted_key

- -
-
- - - - - -
- - - - -
EffectKeyframe KeyframeDelete::deleted_key
-
-private
-
- -
-
- -

◆ done

- -
-
- - - - - -
- - - - -
bool KeyframeDelete::done
-
-private
-
- -
-
- -

◆ field

- -
-
- - - - - -
- - - - -
EffectField* KeyframeDelete::field
-
-private
-
- -
-
- -

◆ index

- -
-
- - - - - -
- - - - -
int KeyframeDelete::index
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_keyframe_delete.png b/docs/html/class_keyframe_delete.png deleted file mode 100644 index f058e327f..000000000 Binary files a/docs/html/class_keyframe_delete.png and /dev/null differ diff --git a/docs/html/class_keyframe_field_set-members.html b/docs/html/class_keyframe_field_set-members.html deleted file mode 100644 index 6fa932ab0..000000000 --- a/docs/html/class_keyframe_field_set-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
KeyframeFieldSet Member List
-
-
- -

This is the complete list of members for KeyframeFieldSet, including all inherited members.

- - - - - - - - - - - - -
doneKeyframeFieldSetprivate
doRedo() overrideKeyframeFieldSetvirtual
doUndo() overrideKeyframeFieldSetvirtual
fieldKeyframeFieldSetprivate
indexKeyframeFieldSetprivate
keyKeyframeFieldSetprivate
KeyframeFieldSet(EffectField *ifield, int ii)KeyframeFieldSet
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_keyframe_field_set.html b/docs/html/class_keyframe_field_set.html deleted file mode 100644 index faf118511..000000000 --- a/docs/html/class_keyframe_field_set.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - - -Olive: KeyframeFieldSet Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
KeyframeFieldSet Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for KeyframeFieldSet:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 KeyframeFieldSet (EffectField *ifield, int ii)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - - - -

-Private Attributes

EffectFieldfield
 
int index
 
EffectKeyframe key
 
bool done
 
-

Constructor & Destructor Documentation

- -

◆ KeyframeFieldSet()

- -
-
- - - - - - - - - - - - - - - - - - -
KeyframeFieldSet::KeyframeFieldSet (EffectFieldifield,
int ii 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void KeyframeFieldSet::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void KeyframeFieldSet::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ done

- -
-
- - - - - -
- - - - -
bool KeyframeFieldSet::done
-
-private
-
- -
-
- -

◆ field

- -
-
- - - - - -
- - - - -
EffectField* KeyframeFieldSet::field
-
-private
-
- -
-
- -

◆ index

- -
-
- - - - - -
- - - - -
int KeyframeFieldSet::index
-
-private
-
- -
-
- -

◆ key

- -
-
- - - - - -
- - - - -
EffectKeyframe KeyframeFieldSet::key
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_keyframe_field_set.png b/docs/html/class_keyframe_field_set.png deleted file mode 100644 index 4abf1c0e4..000000000 Binary files a/docs/html/class_keyframe_field_set.png and /dev/null differ diff --git a/docs/html/class_keyframe_navigator-members.html b/docs/html/class_keyframe_navigator-members.html deleted file mode 100644 index b8cea3197..000000000 --- a/docs/html/class_keyframe_navigator-members.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
KeyframeNavigator Member List
-
- - - - - diff --git a/docs/html/class_keyframe_navigator.html b/docs/html/class_keyframe_navigator.html deleted file mode 100644 index 0c7b1392d..000000000 --- a/docs/html/class_keyframe_navigator.html +++ /dev/null @@ -1,483 +0,0 @@ - - - - - - - -Olive: KeyframeNavigator Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
KeyframeNavigator Class Reference
-
-
- -

#include <keyframenavigator.h>

-
-Inheritance diagram for KeyframeNavigator:
-
-
- -
- - - - - - - - - - - - -

-Signals

void goto_previous_key ()
 
void toggle_key ()
 
void goto_next_key ()
 
void keyframe_enabled_changed (bool)
 
void clicked ()
 
- - - - - - - - - -

-Public Member Functions

 KeyframeNavigator (QWidget *parent=0, bool addLeftPad=true)
 
 ~KeyframeNavigator ()
 
void enable_keyframes (bool)
 
void enable_keyframe_toggle (bool)
 
- - - -

-Private Slots

void keyframe_ui_enabled (bool)
 
- - - - - - - - - - - -

-Private Attributes

QHBoxLayout * key_controls
 
QPushButton * left_key_nav
 
QPushButton * key_addremove
 
QPushButton * right_key_nav
 
QPushButton * keyframe_enable
 
-

Constructor & Destructor Documentation

- -

◆ KeyframeNavigator()

- -
-
- - - - - - - - - - - - - - - - - - -
KeyframeNavigator::KeyframeNavigator (QWidget * parent = 0,
bool addLeftPad = true 
)
-
- -
-
- -

◆ ~KeyframeNavigator()

- -
-
- - - - - - - -
KeyframeNavigator::~KeyframeNavigator ()
-
- -
-
-

Member Function Documentation

- -

◆ clicked

- -
-
- - - - - -
- - - - - - - -
void KeyframeNavigator::clicked ()
-
-signal
-
- -
-
- -

◆ enable_keyframe_toggle()

- -
-
- - - - - - - - -
void KeyframeNavigator::enable_keyframe_toggle (bool b)
-
- -
-
- -

◆ enable_keyframes()

- -
-
- - - - - - - - -
void KeyframeNavigator::enable_keyframes (bool b)
-
- -
-
- -

◆ goto_next_key

- -
-
- - - - - -
- - - - - - - -
void KeyframeNavigator::goto_next_key ()
-
-signal
-
- -
-
- -

◆ goto_previous_key

- -
-
- - - - - -
- - - - - - - -
void KeyframeNavigator::goto_previous_key ()
-
-signal
-
- -
-
- -

◆ keyframe_enabled_changed

- -
-
- - - - - -
- - - - - - - - -
void KeyframeNavigator::keyframe_enabled_changed (bool )
-
-signal
-
- -
-
- -

◆ keyframe_ui_enabled

- -
-
- - - - - -
- - - - - - - - -
void KeyframeNavigator::keyframe_ui_enabled (bool enabled)
-
-privateslot
-
- -
-
- -

◆ toggle_key

- -
-
- - - - - -
- - - - - - - -
void KeyframeNavigator::toggle_key ()
-
-signal
-
- -
-
-

Member Data Documentation

- -

◆ key_addremove

- -
-
- - - - - -
- - - - -
QPushButton* KeyframeNavigator::key_addremove
-
-private
-
- -
-
- -

◆ key_controls

- -
-
- - - - - -
- - - - -
QHBoxLayout* KeyframeNavigator::key_controls
-
-private
-
- -
-
- -

◆ keyframe_enable

- -
-
- - - - - -
- - - - -
QPushButton* KeyframeNavigator::keyframe_enable
-
-private
-
- -
-
- -

◆ left_key_nav

- -
-
- - - - - -
- - - - -
QPushButton* KeyframeNavigator::left_key_nav
-
-private
-
- -
-
- -

◆ right_key_nav

- -
-
- - - - - -
- - - - -
QPushButton* KeyframeNavigator::right_key_nav
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_keyframe_navigator.png b/docs/html/class_keyframe_navigator.png deleted file mode 100644 index 4bf2a9235..000000000 Binary files a/docs/html/class_keyframe_navigator.png and /dev/null differ diff --git a/docs/html/class_keyframe_view-members.html b/docs/html/class_keyframe_view-members.html deleted file mode 100644 index 050a1e1d3..000000000 --- a/docs/html/class_keyframe_view-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
KeyframeView Member List
-
-
- -

This is the complete list of members for KeyframeView, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
delete_selected_keyframes()KeyframeView
drag_frame_startKeyframeViewprivate
draggingKeyframeViewprivate
headerKeyframeView
keyframeIsSelected(EffectField *field, int keyframe)KeyframeViewprivate
KeyframeView(QWidget *parent=0)KeyframeView
keys_selectedKeyframeViewprivate
last_frame_diffKeyframeViewprivate
menu_set_key_type(QAction *)KeyframeViewprivateslot
mousedownKeyframeViewprivate
mouseMoveEvent(QMouseEvent *event)KeyframeViewprivate
mousePressEvent(QMouseEvent *event)KeyframeViewprivate
mouseReleaseEvent(QMouseEvent *event)KeyframeViewprivate
old_key_valsKeyframeViewprivate
paintEvent(QPaintEvent *event)KeyframeViewprivate
rect_select_hKeyframeViewprivate
rect_select_offsetKeyframeViewprivate
rect_select_wKeyframeViewprivate
rect_select_xKeyframeViewprivate
rect_select_yKeyframeViewprivate
resize_move(double d)KeyframeViewslot
rowsKeyframeViewprivate
rowYKeyframeViewprivate
scroll_dragKeyframeViewprivate
select_rectKeyframeViewprivate
selected_fieldsKeyframeViewprivate
selected_keyframesKeyframeViewprivate
set_x_scroll(int)KeyframeViewslot
set_y_scroll(int)KeyframeViewslot
show_context_menu(const QPoint &pos)KeyframeViewprivateslot
update_keys()KeyframeViewprivate
visible_inKeyframeView
visible_outKeyframeView
wheel_event_signal(QWheelEvent *)KeyframeViewsignal
wheelEvent(QWheelEvent *e)KeyframeViewprivate
x_scrollKeyframeViewprivate
y_scrollKeyframeViewprivate
- - - - diff --git a/docs/html/class_keyframe_view.html b/docs/html/class_keyframe_view.html deleted file mode 100644 index b80bb3d91..000000000 --- a/docs/html/class_keyframe_view.html +++ /dev/null @@ -1,1038 +0,0 @@ - - - - - - - -Olive: KeyframeView Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <keyframeview.h>

-
-Inheritance diagram for KeyframeView:
-
-
- -
- - - - - - - - -

-Public Slots

void set_x_scroll (int)
 
void set_y_scroll (int)
 
void resize_move (double d)
 
- - - -

-Signals

void wheel_event_signal (QWheelEvent *)
 
- - - - - -

-Public Member Functions

 KeyframeView (QWidget *parent=0)
 
void delete_selected_keyframes ()
 
- - - - - - - -

-Public Attributes

TimelineHeaderheader
 
long visible_in
 
long visible_out
 
- - - - - -

-Private Slots

void show_context_menu (const QPoint &pos)
 
void menu_set_key_type (QAction *)
 
- - - - - - - - - - - - - - - -

-Private Member Functions

void mousePressEvent (QMouseEvent *event)
 
void mouseMoveEvent (QMouseEvent *event)
 
void mouseReleaseEvent (QMouseEvent *event)
 
void paintEvent (QPaintEvent *event)
 
void wheelEvent (QWheelEvent *e)
 
bool keyframeIsSelected (EffectField *field, int keyframe)
 
void update_keys ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

QVector< EffectField * > selected_fields
 
QVector< int > selected_keyframes
 
QVector< int > rowY
 
QVector< EffectRow * > rows
 
QVector< long > old_key_vals
 
bool mousedown
 
bool dragging
 
bool keys_selected
 
bool select_rect
 
bool scroll_drag
 
long drag_frame_start
 
long last_frame_diff
 
int rect_select_x
 
int rect_select_y
 
int rect_select_w
 
int rect_select_h
 
int rect_select_offset
 
int x_scroll
 
int y_scroll
 
-

Constructor & Destructor Documentation

- -

◆ KeyframeView()

- -
-
- - - - - - - - -
KeyframeView::KeyframeView (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ delete_selected_keyframes()

- -
-
- - - - - - - -
void KeyframeView::delete_selected_keyframes ()
-
- -
-
- -

◆ keyframeIsSelected()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool KeyframeView::keyframeIsSelected (EffectFieldfield,
int keyframe 
)
-
-private
-
- -
-
- -

◆ menu_set_key_type

- -
-
- - - - - -
- - - - - - - - -
void KeyframeView::menu_set_key_type (QAction * a)
-
-privateslot
-
- -
-
- -

◆ mouseMoveEvent()

- -
-
- - - - - -
- - - - - - - - -
void KeyframeView::mouseMoveEvent (QMouseEvent * event)
-
-private
-
- -
-
- -

◆ mousePressEvent()

- -
-
- - - - - -
- - - - - - - - -
void KeyframeView::mousePressEvent (QMouseEvent * event)
-
-private
-
- -
-
- -

◆ mouseReleaseEvent()

- -
-
- - - - - -
- - - - - - - - -
void KeyframeView::mouseReleaseEvent (QMouseEvent * event)
-
-private
-
- -
-
- -

◆ paintEvent()

- -
-
- - - - - -
- - - - - - - - -
void KeyframeView::paintEvent (QPaintEvent * event)
-
-private
-
- -
-
- -

◆ resize_move

- -
-
- - - - - -
- - - - - - - - -
void KeyframeView::resize_move (double d)
-
-slot
-
- -
-
- -

◆ set_x_scroll

- -
-
- - - - - -
- - - - - - - - -
void KeyframeView::set_x_scroll (int s)
-
-slot
-
- -
-
- -

◆ set_y_scroll

- -
-
- - - - - -
- - - - - - - - -
void KeyframeView::set_y_scroll (int s)
-
-slot
-
- -
-
- -

◆ show_context_menu

- -
-
- - - - - -
- - - - - - - - -
void KeyframeView::show_context_menu (const QPoint & pos)
-
-privateslot
-
- -
-
- -

◆ update_keys()

- -
-
- - - - - -
- - - - - - - -
void KeyframeView::update_keys ()
-
-private
-
- -
-
- -

◆ wheel_event_signal

- -
-
- - - - - -
- - - - - - - - -
void KeyframeView::wheel_event_signal (QWheelEvent * )
-
-signal
-
- -
-
- -

◆ wheelEvent()

- -
-
- - - - - -
- - - - - - - - -
void KeyframeView::wheelEvent (QWheelEvent * e)
-
-private
-
- -
-
-

Member Data Documentation

- -

◆ drag_frame_start

- -
-
- - - - - -
- - - - -
long KeyframeView::drag_frame_start
-
-private
-
- -
-
- -

◆ dragging

- -
-
- - - - - -
- - - - -
bool KeyframeView::dragging
-
-private
-
- -
-
- -

◆ header

- -
-
- - - - -
TimelineHeader* KeyframeView::header
-
- -
-
- -

◆ keys_selected

- -
-
- - - - - -
- - - - -
bool KeyframeView::keys_selected
-
-private
-
- -
-
- -

◆ last_frame_diff

- -
-
- - - - - -
- - - - -
long KeyframeView::last_frame_diff
-
-private
-
- -
-
- -

◆ mousedown

- -
-
- - - - - -
- - - - -
bool KeyframeView::mousedown
-
-private
-
- -
-
- -

◆ old_key_vals

- -
-
- - - - - -
- - - - -
QVector<long> KeyframeView::old_key_vals
-
-private
-
- -
-
- -

◆ rect_select_h

- -
-
- - - - - -
- - - - -
int KeyframeView::rect_select_h
-
-private
-
- -
-
- -

◆ rect_select_offset

- -
-
- - - - - -
- - - - -
int KeyframeView::rect_select_offset
-
-private
-
- -
-
- -

◆ rect_select_w

- -
-
- - - - - -
- - - - -
int KeyframeView::rect_select_w
-
-private
-
- -
-
- -

◆ rect_select_x

- -
-
- - - - - -
- - - - -
int KeyframeView::rect_select_x
-
-private
-
- -
-
- -

◆ rect_select_y

- -
-
- - - - - -
- - - - -
int KeyframeView::rect_select_y
-
-private
-
- -
-
- -

◆ rows

- -
-
- - - - - -
- - - - -
QVector<EffectRow*> KeyframeView::rows
-
-private
-
- -
-
- -

◆ rowY

- -
-
- - - - - -
- - - - -
QVector<int> KeyframeView::rowY
-
-private
-
- -
-
- -

◆ scroll_drag

- -
-
- - - - - -
- - - - -
bool KeyframeView::scroll_drag
-
-private
-
- -
-
- -

◆ select_rect

- -
-
- - - - - -
- - - - -
bool KeyframeView::select_rect
-
-private
-
- -
-
- -

◆ selected_fields

- -
-
- - - - - -
- - - - -
QVector<EffectField*> KeyframeView::selected_fields
-
-private
-
- -
-
- -

◆ selected_keyframes

- -
-
- - - - - -
- - - - -
QVector<int> KeyframeView::selected_keyframes
-
-private
-
- -
-
- -

◆ visible_in

- -
-
- - - - -
long KeyframeView::visible_in
-
- -
-
- -

◆ visible_out

- -
-
- - - - -
long KeyframeView::visible_out
-
- -
-
- -

◆ x_scroll

- -
-
- - - - - -
- - - - -
int KeyframeView::x_scroll
-
-private
-
- -
-
- -

◆ y_scroll

- -
-
- - - - - -
- - - - -
int KeyframeView::y_scroll
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_keyframe_view.png b/docs/html/class_keyframe_view.png deleted file mode 100644 index e2db32bd0..000000000 Binary files a/docs/html/class_keyframe_view.png and /dev/null differ diff --git a/docs/html/class_label_slider-members.html b/docs/html/class_label_slider-members.html deleted file mode 100644 index 02bff471e..000000000 --- a/docs/html/class_label_slider-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
LabelSlider Member List
-
- - - - - diff --git a/docs/html/class_label_slider.html b/docs/html/class_label_slider.html deleted file mode 100644 index 762808673..000000000 --- a/docs/html/class_label_slider.html +++ /dev/null @@ -1,1094 +0,0 @@ - - - - - - - -Olive: LabelSlider Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

The LabelSlider class. - More...

- -

#include <labelslider.h>

-
-Inheritance diagram for LabelSlider:
-
-
- -
- - - - - - - - -

-Signals

void valueChanged ()
 valueChanged signal More...
 
void clicked ()
 clicked signal More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 LabelSlider (QWidget *parent=nullptr)
 
void set_frame_rate (double d)
 Set the display frame rate. More...
 
void set_display_type (int type)
 Sets the way to display the value. More...
 
void set_value (double v, bool userSet)
 Set the value. More...
 
void set_default_value (double v)
 Set the default value. More...
 
void set_minimum_value (double v)
 Set the minimum value. More...
 
void set_maximum_value (double v)
 Set the maximum value. More...
 
double value ()
 Returns the internal value as a double. More...
 
bool is_set ()
 Returns whether a value has been set or not. More...
 
bool is_dragging ()
 Returns whether the user is currently dragging. More...
 
QString valueToString ()
 Convert the internal value to a displayed string according to display_type More...
 
double getPreviousValue ()
 Returns whatever value was set before the last set_value() More...
 
void set_previous_value ()
 Updates previous value. More...
 
void set_color (QString c=nullptr)
 Set the display color. More...
 
- - - - -

-Public Attributes

int decimal_places
 Set how many decimal places to show for a floating-point number. More...
 
- - - - - - - -

-Protected Member Functions

void mousePressEvent (QMouseEvent *ev)
 
void mouseMoveEvent (QMouseEvent *ev)
 
void mouseReleaseEvent (QMouseEvent *ev)
 
- - - - - - - -

-Private Member Functions

void set_default_cursor ()
 Internal function to set the standard cursor (usually SizeHorCursor) More...
 
void set_active_cursor ()
 Internal function to set the cursor while dragging (usually NoCursor aka invisible) More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

double default_value
 
double internal_value
 
double drag_start_value
 
double previous_value
 
bool min_enabled
 
double min_value
 
bool max_enabled
 
double max_value
 
bool drag_start
 
bool drag_proc
 
int drag_start_x
 
int drag_start_y
 
bool set
 
int display_type
 
double frame_rate
 
-

Detailed Description

-

The LabelSlider class.

-

A UI element that shows a number and can be dragged to increase/decrease its value or clicked to enter a specific one.

-

Constructor & Destructor Documentation

- -

◆ LabelSlider()

- -
-
- - - - - - - - -
LabelSlider::LabelSlider (QWidget * parent = nullptr)
-
- -
-
-

Member Function Documentation

- -

◆ clicked

- -
-
- - - - - -
- - - - - - - -
void LabelSlider::clicked ()
-
-signal
-
- -

clicked signal

-

Emitted if the user clicks on the LabelSlider in any way

- -
-
- -

◆ getPreviousValue()

- -
-
- - - - - - - -
double LabelSlider::getPreviousValue ()
-
- -

Returns whatever value was set before the last set_value()

-

For various reasons (largely undo capabilities) it is helpful to retrieve whatever the value was before the current one. If the user dragged the current value, this will return the value just before the user started dragging.

-
Returns
The previous value
- -
-
- -

◆ is_dragging()

- -
-
- - - - - - - -
bool LabelSlider::is_dragging ()
-
- -

Returns whether the user is currently dragging.

-
Returns
TRUE if the user is dragging, FALSE if not.
- -
-
- -

◆ is_set()

- -
-
- - - - - - - -
bool LabelSlider::is_set ()
-
- -

Returns whether a value has been set or not.

-

If a value has been entered by any means (i.e. if set_value() was called), this will be TRUE. If set_value() has not been called and is_set() is FALSE, calling set_default_value() will automatically set the value to the default value WITHOUT changing the is_set() state (i.e. it will still be FALSE and calling set_default_value() again will change the current value again unless it's been changed through some other means in that time).

-
Returns
TRUE if a value has been set, FALSE if not.
- -
-
- -

◆ mouseMoveEvent()

- -
-
- - - - - -
- - - - - - - - -
void LabelSlider::mouseMoveEvent (QMouseEvent * ev)
-
-protected
-
- -
-
- -

◆ mousePressEvent()

- -
-
- - - - - -
- - - - - - - - -
void LabelSlider::mousePressEvent (QMouseEvent * ev)
-
-protected
-
- -
-
- -

◆ mouseReleaseEvent()

- -
-
- - - - - -
- - - - - - - - -
void LabelSlider::mouseReleaseEvent (QMouseEvent * ev)
-
-protected
-
- -
-
- -

◆ set_active_cursor()

- -
-
- - - - - -
- - - - - - - -
void LabelSlider::set_active_cursor ()
-
-private
-
- -

Internal function to set the cursor while dragging (usually NoCursor aka invisible)

- -
-
- -

◆ set_color()

- -
-
- - - - - - - - -
void LabelSlider::set_color (QString c = nullptr)
-
- -

Set the display color.

-
Parameters
- - -
cColor to set to
-
-
- -
-
- -

◆ set_default_cursor()

- -
-
- - - - - -
- - - - - - - -
void LabelSlider::set_default_cursor ()
-
-private
-
- -

Internal function to set the standard cursor (usually SizeHorCursor)

- -
-
- -

◆ set_default_value()

- -
-
- - - - - - - - -
void LabelSlider::set_default_value (double v)
-
- -

Set the default value.

-

If a default value is set, alt+clicking the LabelSlider will return to the default value.

-
Parameters
- - -
vValue to set as default
-
-
- -
-
- -

◆ set_display_type()

- -
-
- - - - - - - - -
void LabelSlider::set_display_type (int type)
-
- -

Sets the way to display the value.

-
    -
  • LABELSLIDER_NORMAL - Shows the value as a normal number
  • -
  • LABELSLIDER_FRAMENUMBER - Shows the number as a timecode according to config.timecode_view. By default, will render hh:mm:ss:ff
  • -
  • LABELSLIDER_PERCENT - Shows the number as a percentage. 1.0 becomes "100%", 0.5 becomes 50%, etc.
  • -
  • LABELSLIDER_DECIBLE - Shows the number as a decibel. 1.0 becomes "0 dB", 2.0 becames roughly "6 dB", 0.5 becomes roughly "-6 dB", etc.
  • -
-
Parameters
- - -
typeThe display type to set to. Should be a member of enum LabelSliderDisplayType.
-
-
- -
-
- -

◆ set_frame_rate()

- -
-
- - - - - - - - -
void LabelSlider::set_frame_rate (double d)
-
- -

Set the display frame rate.

-

If the display_type is set to LABELSLIDER_FRAMENUMBER, this function sets how many frames per second the timecode will be in.

-
Parameters
- - -
d
-
-
- -
-
- -

◆ set_maximum_value()

- -
-
- - - - - - - - -
void LabelSlider::set_maximum_value (double v)
-
- -

Set the maximum value.

-

If a maximum value is set, the value will never go above it. If the user manually sets a value higher than the maximum, it will automatically snap to the maximum.

-
Parameters
- - -
vValue to set as maximum
-
-
- -
-
- -

◆ set_minimum_value()

- -
-
- - - - - - - - -
void LabelSlider::set_minimum_value (double v)
-
- -

Set the minimum value.

-

If a minimum value is set, the value will never go below it. If the user manually sets a value lower than the minimum, it will automatically snap to the minimum.

-
Parameters
- - -
vValue to set as minimum
-
-
- -
-
- -

◆ set_previous_value()

- -
-
- - - - - - - -
void LabelSlider::set_previous_value ()
-
- -

Updates previous value.

-

Called internally to store the current value as the previous value in anticipation of an upcoming value change. Can also be called externally (mainly for dragged EffectGizmos) in anticipation of an external change.

- -
-
- -

◆ set_value()

- -
-
- - - - - - - - - - - - - - - - - - -
void LabelSlider::set_value (double v,
bool userSet 
)
-
- -

Set the value.

-
Parameters
- - - -
vValue to set to.
userSetTRUE if this was called through a user action, FALSE if this was called through some other way. The only difference is TRUE will emit a signal (valueChanged()) indicating that the value has changed, and FALSE will not.
-
-
- -
-
- -

◆ value()

- -
-
- - - - - - - -
double LabelSlider::value ()
-
- -

Returns the internal value as a double.

-
Returns
The internal value. This will not respect the display_type, i.e. 100% will return as 1.0, 12dB will return as 400%, and a timecode will return as a frame number.
- -
-
- -

◆ valueChanged

- -
-
- - - - - -
- - - - - - - -
void LabelSlider::valueChanged ()
-
-signal
-
- -

valueChanged signal

-

Emitted if the value changed at it was instigated by the user.

- -
-
- -

◆ valueToString()

- -
-
- - - - - - - -
QString LabelSlider::valueToString ()
-
- -

Convert the internal value to a displayed string according to display_type

-
Returns
The internal value as a string
- -
-
-

Member Data Documentation

- -

◆ decimal_places

- -
-
- - - - -
int LabelSlider::decimal_places
-
- -

Set how many decimal places to show for a floating-point number.

-

Defaults to 1

- -
-
- -

◆ default_value

- -
-
- - - - - -
- - - - -
double LabelSlider::default_value
-
-private
-
- -
-
- -

◆ display_type

- -
-
- - - - - -
- - - - -
int LabelSlider::display_type
-
-private
-
- -
-
- -

◆ drag_proc

- -
-
- - - - - -
- - - - -
bool LabelSlider::drag_proc
-
-private
-
- -
-
- -

◆ drag_start

- -
-
- - - - - -
- - - - -
bool LabelSlider::drag_start
-
-private
-
- -
-
- -

◆ drag_start_value

- -
-
- - - - - -
- - - - -
double LabelSlider::drag_start_value
-
-private
-
- -
-
- -

◆ drag_start_x

- -
-
- - - - - -
- - - - -
int LabelSlider::drag_start_x
-
-private
-
- -
-
- -

◆ drag_start_y

- -
-
- - - - - -
- - - - -
int LabelSlider::drag_start_y
-
-private
-
- -
-
- -

◆ frame_rate

- -
-
- - - - - -
- - - - -
double LabelSlider::frame_rate
-
-private
-
- -
-
- -

◆ internal_value

- -
-
- - - - - -
- - - - -
double LabelSlider::internal_value
-
-private
-
- -
-
- -

◆ max_enabled

- -
-
- - - - - -
- - - - -
bool LabelSlider::max_enabled
-
-private
-
- -
-
- -

◆ max_value

- -
-
- - - - - -
- - - - -
double LabelSlider::max_value
-
-private
-
- -
-
- -

◆ min_enabled

- -
-
- - - - - -
- - - - -
bool LabelSlider::min_enabled
-
-private
-
- -
-
- -

◆ min_value

- -
-
- - - - - -
- - - - -
double LabelSlider::min_value
-
-private
-
- -
-
- -

◆ previous_value

- -
-
- - - - - -
- - - - -
double LabelSlider::previous_value
-
-private
-
- -
-
- -

◆ set

- -
-
- - - - - -
- - - - -
bool LabelSlider::set
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_label_slider.png b/docs/html/class_label_slider.png deleted file mode 100644 index bd07d4f5c..000000000 Binary files a/docs/html/class_label_slider.png and /dev/null differ diff --git a/docs/html/class_linear_fade_transition-members.html b/docs/html/class_linear_fade_transition-members.html deleted file mode 100644 index 6f5f51d1f..000000000 --- a/docs/html/class_linear_fade_transition-members.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
LinearFadeTransition Member List
-
-
- -

This is the complete list of members for LinearFadeTransition, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
close()Effect
containerEffect
copy(ClipPtr c, ClipPtr s)Transitionvirtual
Effect::copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
get_closed_clip()Transition
get_length()Transition
get_opened_clip()Transition
get_true_length()Transition
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
LinearFadeTransition(ClipPtr c, ClipPtr s, const EffectMeta *em)LinearFadeTransition
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)LinearFadeTransitionvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream) overrideTransitionvirtual
save_to_string()Effect
secondary_clipTransition
set_enabled(bool b)Effect
set_length(long l)Transition
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
Transition(ClipPtr c, ClipPtr s, const EffectMeta *em)Transition
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_linear_fade_transition.html b/docs/html/class_linear_fade_transition.html deleted file mode 100644 index 8ada9f419..000000000 --- a/docs/html/class_linear_fade_transition.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - - -Olive: LinearFadeTransition Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
LinearFadeTransition Class Reference
-
-
- -

#include <linearfadetransition.h>

-
-Inheritance diagram for LinearFadeTransition:
-
-
- - -Transition -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 LinearFadeTransition (ClipPtr c, ClipPtr s, const EffectMeta *em)
 
void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
- Public Member Functions inherited from Transition
 Transition (ClipPtr c, ClipPtr s, const EffectMeta *em)
 
virtual TransitionPtr copy (ClipPtr c, ClipPtr s)
 
virtual void save (QXmlStreamWriter &stream) override
 
void set_length (long l)
 
long get_true_length ()
 
long get_length ()
 
ClipPtr get_opened_clip ()
 
ClipPtr get_closed_clip ()
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Public Attributes inherited from Transition
ClipPtr secondary_clip
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ LinearFadeTransition()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
LinearFadeTransition::LinearFadeTransition (ClipPtr c,
ClipPtr s,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ process_audio()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void LinearFadeTransition::process_audio (double timecode_start,
double timecode_end,
quint8 * samples,
int nb_bytes,
int channel_count 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_linear_fade_transition.png b/docs/html/class_linear_fade_transition.png deleted file mode 100644 index 777c27a93..000000000 Binary files a/docs/html/class_linear_fade_transition.png and /dev/null differ diff --git a/docs/html/class_link_command-members.html b/docs/html/class_link_command-members.html deleted file mode 100644 index d7e231b77..000000000 --- a/docs/html/class_link_command-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
LinkCommand Member List
-
-
- -

This is the complete list of members for LinkCommand, including all inherited members.

- - - - - - - - - - - - -
clipsLinkCommand
doRedo() overrideLinkCommandvirtual
doUndo() overrideLinkCommandvirtual
linkLinkCommand
LinkCommand()LinkCommand
old_linksLinkCommandprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
sLinkCommand
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_link_command.html b/docs/html/class_link_command.html deleted file mode 100644 index d454a2588..000000000 --- a/docs/html/class_link_command.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - - - - -Olive: LinkCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <undo.h>

-
-Inheritance diagram for LinkCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 LinkCommand ()
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Public Attributes

SequencePtr s
 
QVector< int > clips
 
bool link
 
- - - -

-Private Attributes

QVector< QVector< int > > old_links
 
-

Constructor & Destructor Documentation

- -

◆ LinkCommand()

- -
-
- - - - - - - -
LinkCommand::LinkCommand ()
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void LinkCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void LinkCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ clips

- -
-
- - - - -
QVector<int> LinkCommand::clips
-
- -
-
- -

◆ link

- -
-
- - - - -
bool LinkCommand::link
-
- -
-
- -

◆ old_links

- -
-
- - - - - -
- - - - -
QVector< QVector<int> > LinkCommand::old_links
-
-private
-
- -
-
- -

◆ s

- -
-
- - - - -
SequencePtr LinkCommand::s
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_link_command.png b/docs/html/class_link_command.png deleted file mode 100644 index 581b7b64a..000000000 Binary files a/docs/html/class_link_command.png and /dev/null differ diff --git a/docs/html/class_load_dialog-members.html b/docs/html/class_load_dialog-members.html deleted file mode 100644 index 00c6cbcf1..000000000 --- a/docs/html/class_load_dialog-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
LoadDialog Member List
-
-
- -

This is the complete list of members for LoadDialog, including all inherited members.

- - - - - - - - - -
barLoadDialogprivate
cancel()LoadDialogprivateslot
cancel_buttonLoadDialogprivate
die()LoadDialogprivateslot
hboxLayoutLoadDialogprivate
LoadDialog(QWidget *parent, bool autorecovery)LoadDialog
ltLoadDialogprivate
thread_done()LoadDialogprivateslot
- - - - diff --git a/docs/html/class_load_dialog.html b/docs/html/class_load_dialog.html deleted file mode 100644 index bf0ac6c3f..000000000 --- a/docs/html/class_load_dialog.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - -Olive: LoadDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <loaddialog.h>

-
-Inheritance diagram for LoadDialog:
-
-
- -
- - - - -

-Public Member Functions

 LoadDialog (QWidget *parent, bool autorecovery)
 
- - - - - - - -

-Private Slots

void cancel ()
 
void die ()
 
void thread_done ()
 
- - - - - - - - - -

-Private Attributes

QProgressBar * bar
 
QPushButton * cancel_button
 
QHBoxLayout * hboxLayout
 
LoadThreadlt
 
-

Constructor & Destructor Documentation

- -

◆ LoadDialog()

- -
-
- - - - - - - - - - - - - - - - - - -
LoadDialog::LoadDialog (QWidget * parent,
bool autorecovery 
)
-
- -
-
-

Member Function Documentation

- -

◆ cancel

- -
-
- - - - - -
- - - - - - - -
void LoadDialog::cancel ()
-
-privateslot
-
- -
-
- -

◆ die

- -
-
- - - - - -
- - - - - - - -
void LoadDialog::die ()
-
-privateslot
-
- -
-
- -

◆ thread_done

- -
-
- - - - - -
- - - - - - - -
void LoadDialog::thread_done ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ bar

- -
-
- - - - - -
- - - - -
QProgressBar* LoadDialog::bar
-
-private
-
- -
-
- -

◆ cancel_button

- -
-
- - - - - -
- - - - -
QPushButton* LoadDialog::cancel_button
-
-private
-
- -
-
- -

◆ hboxLayout

- -
-
- - - - - -
- - - - -
QHBoxLayout* LoadDialog::hboxLayout
-
-private
-
- -
-
- -

◆ lt

- -
-
- - - - - -
- - - - -
LoadThread* LoadDialog::lt
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_load_dialog.png b/docs/html/class_load_dialog.png deleted file mode 100644 index f7063f32d..000000000 Binary files a/docs/html/class_load_dialog.png and /dev/null differ diff --git a/docs/html/class_load_thread-members.html b/docs/html/class_load_thread-members.html deleted file mode 100644 index d17d5afdb..000000000 --- a/docs/html/class_load_thread-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
LoadThread Member List
-
-
- -

This is the complete list of members for LoadThread, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
autorecoveryLoadThreadprivate
cancel()LoadThread
cancelledLoadThreadprivate
create_effect_ui(QXmlStreamReader *stream, ClipPtr c, int type, const QString *effect_name, const EffectMeta *meta, long effect_length, bool effect_enabled)LoadThreadprivateslot
current_element_countLoadThreadprivate
error()LoadThreadsignal
error_func()LoadThreadprivateslot
error_strLoadThreadprivate
find_loaded_folder_by_id(int id)LoadThreadprivate
internal_proj_dirLoadThreadprivate
internal_proj_urlLoadThreadprivate
is_element(QXmlStreamReader &stream)LoadThreadprivate
load_effect(QXmlStreamReader &stream, ClipPtr c)LoadThreadprivate
load_worker(QFile &f, QXmlStreamReader &stream, int type)LoadThreadprivate
loaded_clipsLoadThreadprivate
loaded_foldersLoadThreadprivate
loaded_media_itemsLoadThreadprivate
loaded_sequencesLoadThreadprivate
LoadThread(bool a)LoadThread
mutexLoadThreadprivate
open_seqLoadThreadprivate
proj_dirLoadThreadprivate
question_btnLoadThreadprivate
question_func(const QString &title, const QString &text, int buttons)LoadThreadprivateslot
read_next(QXmlStreamReader &stream)LoadThreadprivate
read_next_start_element(QXmlStreamReader &stream)LoadThreadprivate
report_progress(int p)LoadThreadsignal
run()LoadThread
show_errLoadThreadprivate
start_create_effect_ui(QXmlStreamReader *stream, ClipPtr c, int type, const QString *effect_name, const EffectMeta *meta, long effect_length, bool effect_enabled)LoadThreadsignal
start_question(const QString &title, const QString &text, int buttons)LoadThreadsignal
success()LoadThreadsignal
success_func()LoadThreadprivateslot
total_element_countLoadThreadprivate
update_current_element_count(QXmlStreamReader &stream)LoadThreadprivate
waitCondLoadThreadprivate
xml_errorLoadThreadprivate
- - - - diff --git a/docs/html/class_load_thread.html b/docs/html/class_load_thread.html deleted file mode 100644 index 56df76ac5..000000000 --- a/docs/html/class_load_thread.html +++ /dev/null @@ -1,1186 +0,0 @@ - - - - - - - -Olive: LoadThread Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <loadthread.h>

-
-Inheritance diagram for LoadThread:
-
-
- -
- - - - - - - - - - - - -

-Signals

void start_question (const QString &title, const QString &text, int buttons)
 
void success ()
 
void error ()
 
void start_create_effect_ui (QXmlStreamReader *stream, ClipPtr c, int type, const QString *effect_name, const EffectMeta *meta, long effect_length, bool effect_enabled)
 
void report_progress (int p)
 
- - - - - - - -

-Public Member Functions

 LoadThread (bool a)
 
void run ()
 
void cancel ()
 
- - - - - - - - - -

-Private Slots

void question_func (const QString &title, const QString &text, int buttons)
 
void error_func ()
 
void success_func ()
 
void create_effect_ui (QXmlStreamReader *stream, ClipPtr c, int type, const QString *effect_name, const EffectMeta *meta, long effect_length, bool effect_enabled)
 
- - - - - - - - - - - - - - - -

-Private Member Functions

bool load_worker (QFile &f, QXmlStreamReader &stream, int type)
 
void load_effect (QXmlStreamReader &stream, ClipPtr c)
 
void read_next (QXmlStreamReader &stream)
 
void read_next_start_element (QXmlStreamReader &stream)
 
void update_current_element_count (QXmlStreamReader &stream)
 
bool is_element (QXmlStreamReader &stream)
 
Mediafind_loaded_folder_by_id (int id)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

bool autorecovery
 
SequencePtr open_seq
 
QVector< Media * > loaded_media_items
 
QDir proj_dir
 
QDir internal_proj_dir
 
QString internal_proj_url
 
bool show_err
 
QString error_str
 
QVector< Media * > loaded_folders
 
QVector< ClipPtrloaded_clips
 
QVector< Media * > loaded_sequences
 
int current_element_count
 
int total_element_count
 
QMutex mutex
 
QWaitCondition waitCond
 
bool cancelled
 
bool xml_error
 
QMessageBox::StandardButton question_btn
 
-

Constructor & Destructor Documentation

- -

◆ LoadThread()

- -
-
- - - - - - - - -
LoadThread::LoadThread (bool a)
-
- -
-
-

Member Function Documentation

- -

◆ cancel()

- -
-
- - - - - - - -
void LoadThread::cancel ()
-
- -
-
- -

◆ create_effect_ui

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void LoadThread::create_effect_ui (QXmlStreamReader * stream,
ClipPtr c,
int type,
const QString * effect_name,
const EffectMetameta,
long effect_length,
bool effect_enabled 
)
-
-privateslot
-
- -
-
- -

◆ error

- -
-
- - - - - -
- - - - - - - -
void LoadThread::error ()
-
-signal
-
- -
-
- -

◆ error_func

- -
-
- - - - - -
- - - - - - - -
void LoadThread::error_func ()
-
-privateslot
-
- -
-
- -

◆ find_loaded_folder_by_id()

- -
-
- - - - - -
- - - - - - - - -
Media * LoadThread::find_loaded_folder_by_id (int id)
-
-private
-
- -
-
- -

◆ is_element()

- -
-
- - - - - -
- - - - - - - - -
bool LoadThread::is_element (QXmlStreamReader & stream)
-
-private
-
- -
-
- -

◆ load_effect()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void LoadThread::load_effect (QXmlStreamReader & stream,
ClipPtr c 
)
-
-private
-
- -
-
- -

◆ load_worker()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
bool LoadThread::load_worker (QFile & f,
QXmlStreamReader & stream,
int type 
)
-
-private
-
- -
-
- -

◆ question_func

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void LoadThread::question_func (const QString & title,
const QString & text,
int buttons 
)
-
-privateslot
-
- -
-
- -

◆ read_next()

- -
-
- - - - - -
- - - - - - - - -
void LoadThread::read_next (QXmlStreamReader & stream)
-
-private
-
- -
-
- -

◆ read_next_start_element()

- -
-
- - - - - -
- - - - - - - - -
void LoadThread::read_next_start_element (QXmlStreamReader & stream)
-
-private
-
- -
-
- -

◆ report_progress

- -
-
- - - - - -
- - - - - - - - -
void LoadThread::report_progress (int p)
-
-signal
-
- -
-
- -

◆ run()

- -
-
- - - - - - - -
void LoadThread::run ()
-
- -
-
- -

◆ start_create_effect_ui

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void LoadThread::start_create_effect_ui (QXmlStreamReader * stream,
ClipPtr c,
int type,
const QString * effect_name,
const EffectMetameta,
long effect_length,
bool effect_enabled 
)
-
-signal
-
- -
-
- -

◆ start_question

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void LoadThread::start_question (const QString & title,
const QString & text,
int buttons 
)
-
-signal
-
- -
-
- -

◆ success

- -
-
- - - - - -
- - - - - - - -
void LoadThread::success ()
-
-signal
-
- -
-
- -

◆ success_func

- -
-
- - - - - -
- - - - - - - -
void LoadThread::success_func ()
-
-privateslot
-
- -
-
- -

◆ update_current_element_count()

- -
-
- - - - - -
- - - - - - - - -
void LoadThread::update_current_element_count (QXmlStreamReader & stream)
-
-private
-
- -
-
-

Member Data Documentation

- -

◆ autorecovery

- -
-
- - - - - -
- - - - -
bool LoadThread::autorecovery
-
-private
-
- -
-
- -

◆ cancelled

- -
-
- - - - - -
- - - - -
bool LoadThread::cancelled
-
-private
-
- -
-
- -

◆ current_element_count

- -
-
- - - - - -
- - - - -
int LoadThread::current_element_count
-
-private
-
- -
-
- -

◆ error_str

- -
-
- - - - - -
- - - - -
QString LoadThread::error_str
-
-private
-
- -
-
- -

◆ internal_proj_dir

- -
-
- - - - - -
- - - - -
QDir LoadThread::internal_proj_dir
-
-private
-
- -
-
- -

◆ internal_proj_url

- -
-
- - - - - -
- - - - -
QString LoadThread::internal_proj_url
-
-private
-
- -
-
- -

◆ loaded_clips

- -
-
- - - - - -
- - - - -
QVector<ClipPtr> LoadThread::loaded_clips
-
-private
-
- -
-
- -

◆ loaded_folders

- -
-
- - - - - -
- - - - -
QVector<Media*> LoadThread::loaded_folders
-
-private
-
- -
-
- -

◆ loaded_media_items

- -
-
- - - - - -
- - - - -
QVector<Media*> LoadThread::loaded_media_items
-
-private
-
- -
-
- -

◆ loaded_sequences

- -
-
- - - - - -
- - - - -
QVector<Media*> LoadThread::loaded_sequences
-
-private
-
- -
-
- -

◆ mutex

- -
-
- - - - - -
- - - - -
QMutex LoadThread::mutex
-
-private
-
- -
-
- -

◆ open_seq

- -
-
- - - - - -
- - - - -
SequencePtr LoadThread::open_seq
-
-private
-
- -
-
- -

◆ proj_dir

- -
-
- - - - - -
- - - - -
QDir LoadThread::proj_dir
-
-private
-
- -
-
- -

◆ question_btn

- -
-
- - - - - -
- - - - -
QMessageBox::StandardButton LoadThread::question_btn
-
-private
-
- -
-
- -

◆ show_err

- -
-
- - - - - -
- - - - -
bool LoadThread::show_err
-
-private
-
- -
-
- -

◆ total_element_count

- -
-
- - - - - -
- - - - -
int LoadThread::total_element_count
-
-private
-
- -
-
- -

◆ waitCond

- -
-
- - - - - -
- - - - -
QWaitCondition LoadThread::waitCond
-
-private
-
- -
-
- -

◆ xml_error

- -
-
- - - - - -
- - - - -
bool LoadThread::xml_error
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_load_thread.png b/docs/html/class_load_thread.png deleted file mode 100644 index 11ca4fd77..000000000 Binary files a/docs/html/class_load_thread.png and /dev/null differ diff --git a/docs/html/class_logarithmic_fade_transition-members.html b/docs/html/class_logarithmic_fade_transition-members.html deleted file mode 100644 index 02f22ac11..000000000 --- a/docs/html/class_logarithmic_fade_transition-members.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
LogarithmicFadeTransition Member List
-
-
- -

This is the complete list of members for LogarithmicFadeTransition, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
close()Effect
containerEffect
copy(ClipPtr c, ClipPtr s)Transitionvirtual
Effect::copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
get_closed_clip()Transition
get_length()Transition
get_opened_clip()Transition
get_true_length()Transition
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
LogarithmicFadeTransition(ClipPtr c, ClipPtr s, const EffectMeta *em)LogarithmicFadeTransition
metaEffect
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)LogarithmicFadeTransitionvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream) overrideTransitionvirtual
save_to_string()Effect
secondary_clipTransition
set_enabled(bool b)Effect
set_length(long l)Transition
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
Transition(ClipPtr c, ClipPtr s, const EffectMeta *em)Transition
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_logarithmic_fade_transition.html b/docs/html/class_logarithmic_fade_transition.html deleted file mode 100644 index c8b907768..000000000 --- a/docs/html/class_logarithmic_fade_transition.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - - -Olive: LogarithmicFadeTransition Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
LogarithmicFadeTransition Class Reference
-
-
- -

#include <logarithmicfadetransition.h>

-
-Inheritance diagram for LogarithmicFadeTransition:
-
-
- - -Transition -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 LogarithmicFadeTransition (ClipPtr c, ClipPtr s, const EffectMeta *em)
 
void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
- Public Member Functions inherited from Transition
 Transition (ClipPtr c, ClipPtr s, const EffectMeta *em)
 
virtual TransitionPtr copy (ClipPtr c, ClipPtr s)
 
virtual void save (QXmlStreamWriter &stream) override
 
void set_length (long l)
 
long get_true_length ()
 
long get_length ()
 
ClipPtr get_opened_clip ()
 
ClipPtr get_closed_clip ()
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Public Attributes inherited from Transition
ClipPtr secondary_clip
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ LogarithmicFadeTransition()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
LogarithmicFadeTransition::LogarithmicFadeTransition (ClipPtr c,
ClipPtr s,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ process_audio()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void LogarithmicFadeTransition::process_audio (double timecode_start,
double timecode_end,
quint8 * samples,
int nb_bytes,
int channel_count 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_logarithmic_fade_transition.png b/docs/html/class_logarithmic_fade_transition.png deleted file mode 100644 index 80b04132b..000000000 Binary files a/docs/html/class_logarithmic_fade_transition.png and /dev/null differ diff --git a/docs/html/class_main_window-members.html b/docs/html/class_main_window-members.html deleted file mode 100644 index 4cef9cc2d..000000000 --- a/docs/html/class_main_window-members.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
MainWindow Member List
-
-
- -

This is the complete list of members for MainWindow, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
autoscale_by_defaultMainWindowprivate
clear_open_recent_actionMainWindowprivate
closeEvent(QCloseEvent *) overrideMainWindowprotectedvirtual
drop_frame_actionMainWindowprivate
edit_tool_actionMainWindowprivate
edit_tool_also_seeksMainWindowprivate
edit_tool_selects_linksMainWindowprivate
editMenu_About_To_Be_Shown()MainWindowprivateslot
enable_audio_scrubbingMainWindowprivate
enable_drag_files_to_timelineMainWindowprivate
enable_drop_on_media_to_replaceMainWindowprivate
enable_hover_focusMainWindowprivate
enable_seek_to_importMainWindowprivate
fileMenu_About_To_Be_Shown()MainWindowprivateslot
finished_first_paint()MainWindowsignal
first_showMainWindowprivate
frames_actionMainWindowprivate
full_screenMainWindowprivate
hand_tool_actionMainWindowprivate
load_css_from_file(const QString &fn)MainWindow
load_shortcuts(const QString &fn)MainWindow
loop_actionMainWindowprivate
MainWindow(QWidget *parent)MainWindowexplicit
maximize_panel()MainWindowprivateslot
milliseconds_actionMainWindowprivate
no_autoscrollMainWindowprivate
nondrop_frame_actionMainWindowprivate
open_recentMainWindowprivate
page_autoscrollMainWindowprivate
paintEvent(QPaintEvent *) overrideMainWindowprotectedvirtual
playbackMenu_About_To_Be_Shown()MainWindowprivateslot
pointer_tool_actionMainWindowprivate
razor_tool_actionMainWindowprivate
rectified_waveformsMainWindowprivate
redo_actionMainWindowprivate
reset_layout()MainWindowprivateslot
ripple_tool_actionMainWindowprivate
save_shortcuts(const QString &fn)MainWindow
scroll_wheel_zoomsMainWindowprivate
seek_also_selectsMainWindowprivate
seek_to_end_of_pastesMainWindowprivate
selecting_also_seeksMainWindowprivate
set_name_and_markerMainWindowprivate
setup_layout(bool reset)MainWindowprivate
setup_menus()MainWindowprivate
show_allMainWindowprivate
slide_tool_actionMainWindowprivate
slip_tool_actionMainWindowprivate
smooth_autoscrollMainWindowprivate
snap_toggleMainWindowprivate
temp_panel_stateMainWindowprivate
title_safe_169MainWindowprivate
title_safe_43MainWindowprivate
title_safe_customMainWindowprivate
title_safe_defaultMainWindowprivate
title_safe_offMainWindowprivate
toggle_full_screen()MainWindowslot
toggle_panel_visibility()MainWindowprivateslot
toolMenu_About_To_Be_Shown()MainWindowprivateslot
track_linesMainWindowprivate
transition_tool_actionMainWindowprivate
undo_actionMainWindowprivate
updateTitle()MainWindow
viewMenu_About_To_Be_Shown()MainWindowprivateslot
window_menuMainWindowprivate
windowMenu_About_To_Be_Shown()MainWindowprivateslot
~MainWindow() overrideMainWindowvirtual
- - - - diff --git a/docs/html/class_main_window.html b/docs/html/class_main_window.html deleted file mode 100644 index 4c3e887d2..000000000 --- a/docs/html/class_main_window.html +++ /dev/null @@ -1,1868 +0,0 @@ - - - - - - - -Olive: MainWindow Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <mainwindow.h>

-
-Inheritance diagram for MainWindow:
-
-
- -
- - - - - -

-Public Slots

void toggle_full_screen ()
 Toggles full screen mode. More...
 
- - - - -

-Signals

void finished_first_paint ()
 Signal emitted once when the main window has finished initializing. More...
 
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 MainWindow (QWidget *parent)
 
virtual ~MainWindow () override
 
void updateTitle ()
 Update window title. More...
 
void load_shortcuts (const QString &fn)
 Load shortcut file. More...
 
void save_shortcuts (const QString &fn)
 Save shortcut file. More...
 
void load_css_from_file (const QString &fn)
 Load a CSS/QSS style from file to customize Olive's interface. More...
 
- - - - - - - -

-Protected Member Functions

virtual void closeEvent (QCloseEvent *) override
 Close event. More...
 
virtual void paintEvent (QPaintEvent *) override
 Paint event. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Slots

void maximize_panel ()
 Maximizes the currently hovered panel. More...
 
void reset_layout ()
 Reset panel layout to default. More...
 
void fileMenu_About_To_Be_Shown ()
 Function to prepare File menu. More...
 
void editMenu_About_To_Be_Shown ()
 Function to prepare Edit menu. More...
 
void windowMenu_About_To_Be_Shown ()
 Function to prepare Window menu. More...
 
void playbackMenu_About_To_Be_Shown ()
 Function to prepare Playback menu. More...
 
void viewMenu_About_To_Be_Shown ()
 Function to prepare View menu. More...
 
void toolMenu_About_To_Be_Shown ()
 Function to prepare Tools menu. More...
 
void toggle_panel_visibility ()
 Toggle whether a panel is visible or not. More...
 
- - - - - - - -

-Private Member Functions

void setup_layout (bool reset)
 Internal function for setting the panel layout to a predetermined preset. More...
 
void setup_menus ()
 Initialize menu bar menus and items. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

QMenu * window_menu
 
QMenu * open_recent
 
QAction * clear_open_recent_action
 
QAction * track_lines
 
QAction * frames_action
 
QAction * drop_frame_action
 
QAction * nondrop_frame_action
 
QAction * milliseconds_action
 
QAction * no_autoscroll
 
QAction * page_autoscroll
 
QAction * smooth_autoscroll
 
QAction * title_safe_off
 
QAction * title_safe_default
 
QAction * title_safe_43
 
QAction * title_safe_169
 
QAction * title_safe_custom
 
QAction * full_screen
 
QAction * show_all
 
QAction * pointer_tool_action
 
QAction * edit_tool_action
 
QAction * ripple_tool_action
 
QAction * razor_tool_action
 
QAction * slip_tool_action
 
QAction * slide_tool_action
 
QAction * hand_tool_action
 
QAction * transition_tool_action
 
QAction * snap_toggle
 
QAction * selecting_also_seeks
 
QAction * edit_tool_also_seeks
 
QAction * edit_tool_selects_links
 
QAction * seek_to_end_of_pastes
 
QAction * scroll_wheel_zooms
 
QAction * rectified_waveforms
 
QAction * enable_drag_files_to_timeline
 
QAction * autoscale_by_default
 
QAction * enable_seek_to_import
 
QAction * enable_audio_scrubbing
 
QAction * enable_drop_on_media_to_replace
 
QAction * enable_hover_focus
 
QAction * set_name_and_marker
 
QAction * loop_action
 
QAction * seek_also_selects
 
QAction * undo_action
 
QAction * redo_action
 
QByteArray temp_panel_state
 
bool first_show
 
-

Constructor & Destructor Documentation

- -

◆ MainWindow()

- -
-
- - - - - -
- - - - - - - - -
MainWindow::MainWindow (QWidget * parent)
-
-explicit
-
- -
-
- -

◆ ~MainWindow()

- -
-
- - - - - -
- - - - - - - -
MainWindow::~MainWindow ()
-
-overridevirtual
-
- -
-
-

Member Function Documentation

- -

◆ closeEvent()

- -
-
- - - - - -
- - - - - - - - -
void MainWindow::closeEvent (QCloseEvent * e)
-
-overrideprotectedvirtual
-
- -

Close event.

-

Confirms whether the project can be closed, and if so performs various clean-up functions before the application exits. It's preferable to call clean-up functions here rather than in the destructor because this will get called first.

- -
-
- -

◆ editMenu_About_To_Be_Shown

- -
-
- - - - - -
- - - - - - - -
void MainWindow::editMenu_About_To_Be_Shown ()
-
-privateslot
-
- -

Function to prepare Edit menu.

-

Primarily used to set the enabled state on Undo and Redo depending if there are undos/redos available.

- -
-
- -

◆ fileMenu_About_To_Be_Shown

- -
-
- - - - - -
- - - - - - - -
void MainWindow::fileMenu_About_To_Be_Shown ()
-
-privateslot
-
- -

Function to prepare File menu.

-

Primarily used to populate the Open Recent Projects menu.

- -
-
- -

◆ finished_first_paint

- -
-
- - - - - -
- - - - - - - -
void MainWindow::finished_first_paint ()
-
-signal
-
- -

Signal emitted once when the main window has finished initializing.

-

Emitted the first time paintEvent runs. Connect this to functions that must be completed post-initialization.

- -
-
- -

◆ load_css_from_file()

- -
-
- - - - - - - - -
void MainWindow::load_css_from_file (const QString & fn)
-
- -

Load a CSS/QSS style from file to customize Olive's interface.

-
Parameters
- - -
fnURL to load the CSS file from.
-
-
- -
-
- -

◆ load_shortcuts()

- -
-
- - - - - - - - -
void MainWindow::load_shortcuts (const QString & fn)
-
- -

Load shortcut file.

-

Loads a shortcut configuration from file and sets Olive to use them.

-
Parameters
- - -
fnURL of the shortcut file to be loaded
-
-
- -
-
- -

◆ maximize_panel

- -
-
- - - - - -
- - - - - - - -
void MainWindow::maximize_panel ()
-
-privateslot
-
- -

Maximizes the currently hovered panel.

-

Saves the current state of the panels/dock widgets and removes all except the currently hovered panel, effectively maximizing the panel to the entire window.

- -
-
- -

◆ paintEvent()

- -
-
- - - - - -
- - - - - - - - -
void MainWindow::paintEvent (QPaintEvent * event)
-
-overrideprotectedvirtual
-
- -

Paint event.

-

Overridden to provide the finished_first_paint() signal.

- -
-
- -

◆ playbackMenu_About_To_Be_Shown

- -
-
- - - - - -
- - - - - - - -
void MainWindow::playbackMenu_About_To_Be_Shown ()
-
-privateslot
-
- -

Function to prepare Playback menu.

-

Primarily used to set the checked state on the "Loop" item.

- -
-
- -

◆ reset_layout

- -
-
- - - - - -
- - - - - - - -
void MainWindow::reset_layout ()
-
-privateslot
-
- -

Reset panel layout to default.

-

Resets the current panel layout to default. Doesn't save the current layout.

- -
-
- -

◆ save_shortcuts()

- -
-
- - - - - - - - -
void MainWindow::save_shortcuts (const QString & fn)
-
- -

Save shortcut file.

-

Saves the current shortcut configuration to file. Only saves shortcuts that have been changed from default.

-
Parameters
- - -
fnURL to save the shortcut file to.
-
-
- -
-
- -

◆ setup_layout()

- -
-
- - - - - -
- - - - - - - - -
void MainWindow::setup_layout (bool reset)
-
-private
-
- -

Internal function for setting the panel layout to a predetermined preset.

-

Resets layout to default and optionally loads a layout from file. If loading from file, this function will always load from get_config_path() + "/layout".

-
Parameters
- - -
resetTRUE if this function should just reset the current layout. FALSE if it should load from the aforementioned layout file.
-
-
- -
-
- -

◆ setup_menus()

- -
-
- - - - - -
- - - - - - - -
void MainWindow::setup_menus ()
-
-private
-
- -

Initialize menu bar menus and items.

-

Internal initialization function for all menus and menu items in the main window. Called once from the MainWindow() constructor.

- -
-
- -

◆ toggle_full_screen

- -
-
- - - - - -
- - - - - - - -
void MainWindow::toggle_full_screen ()
-
-slot
-
- -

Toggles full screen mode.

-

Toggles the main window between full screen and windowed modes.

- -
-
- -

◆ toggle_panel_visibility

- -
-
- - - - - -
- - - - - - - -
void MainWindow::toggle_panel_visibility ()
-
-privateslot
-
- -

Toggle whether a panel is visible or not.

-

Assumes the sender() QAction has a pointer to a QDockWidget in its data variable. Casts it and toggles its visibility.

- -
-
- -

◆ toolMenu_About_To_Be_Shown

- -
-
- - - - - -
- - - - - - - -
void MainWindow::toolMenu_About_To_Be_Shown ()
-
-privateslot
-
- -

Function to prepare Tools menu.

-

Primarily used to set the checked state on various settings available from the Tools menu.

- -
-
- -

◆ updateTitle()

- -
-
- - - - - - - -
void MainWindow::updateTitle ()
-
- -

Update window title.

-

Updates the window title to reflect the current project filename. Call if the project filename changes.

-

NOTE: It's recommended to use update_project_filename() from Olive::Global to update the filename completely instead of calling this function directly (update_project_filename() calls this function in the process).

- -
-
- -

◆ viewMenu_About_To_Be_Shown

- -
-
- - - - - -
- - - - - - - -
void MainWindow::viewMenu_About_To_Be_Shown ()
-
-privateslot
-
- -

Function to prepare View menu.

-

Primarily used to set the checked state of various options in the view menu (e.g. title safe area, timecode units, etc.)

- -
-
- -

◆ windowMenu_About_To_Be_Shown

- -
-
- - - - - -
- - - - - - - -
void MainWindow::windowMenu_About_To_Be_Shown ()
-
-privateslot
-
- -

Function to prepare Window menu.

-

Primarily used to set the checked state of menu items corresponding to the panels that are currently visible.

- -
-
-

Member Data Documentation

- -

◆ autoscale_by_default

- -
-
- - - - - -
- - - - -
QAction* MainWindow::autoscale_by_default
-
-private
-
- -
-
- -

◆ clear_open_recent_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::clear_open_recent_action
-
-private
-
- -
-
- -

◆ drop_frame_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::drop_frame_action
-
-private
-
- -
-
- -

◆ edit_tool_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::edit_tool_action
-
-private
-
- -
-
- -

◆ edit_tool_also_seeks

- -
-
- - - - - -
- - - - -
QAction* MainWindow::edit_tool_also_seeks
-
-private
-
- -
-
- -

◆ edit_tool_selects_links

- -
-
- - - - - -
- - - - -
QAction* MainWindow::edit_tool_selects_links
-
-private
-
- -
-
- -

◆ enable_audio_scrubbing

- -
-
- - - - - -
- - - - -
QAction* MainWindow::enable_audio_scrubbing
-
-private
-
- -
-
- -

◆ enable_drag_files_to_timeline

- -
-
- - - - - -
- - - - -
QAction* MainWindow::enable_drag_files_to_timeline
-
-private
-
- -
-
- -

◆ enable_drop_on_media_to_replace

- -
-
- - - - - -
- - - - -
QAction* MainWindow::enable_drop_on_media_to_replace
-
-private
-
- -
-
- -

◆ enable_hover_focus

- -
-
- - - - - -
- - - - -
QAction* MainWindow::enable_hover_focus
-
-private
-
- -
-
- -

◆ enable_seek_to_import

- -
-
- - - - - -
- - - - -
QAction* MainWindow::enable_seek_to_import
-
-private
-
- -
-
- -

◆ first_show

- -
-
- - - - - -
- - - - -
bool MainWindow::first_show
-
-private
-
- -
-
- -

◆ frames_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::frames_action
-
-private
-
- -
-
- -

◆ full_screen

- -
-
- - - - - -
- - - - -
QAction* MainWindow::full_screen
-
-private
-
- -
-
- -

◆ hand_tool_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::hand_tool_action
-
-private
-
- -
-
- -

◆ loop_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::loop_action
-
-private
-
- -
-
- -

◆ milliseconds_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::milliseconds_action
-
-private
-
- -
-
- -

◆ no_autoscroll

- -
-
- - - - - -
- - - - -
QAction* MainWindow::no_autoscroll
-
-private
-
- -
-
- -

◆ nondrop_frame_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::nondrop_frame_action
-
-private
-
- -
-
- -

◆ open_recent

- -
-
- - - - - -
- - - - -
QMenu* MainWindow::open_recent
-
-private
-
- -
-
- -

◆ page_autoscroll

- -
-
- - - - - -
- - - - -
QAction* MainWindow::page_autoscroll
-
-private
-
- -
-
- -

◆ pointer_tool_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::pointer_tool_action
-
-private
-
- -
-
- -

◆ razor_tool_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::razor_tool_action
-
-private
-
- -
-
- -

◆ rectified_waveforms

- -
-
- - - - - -
- - - - -
QAction* MainWindow::rectified_waveforms
-
-private
-
- -
-
- -

◆ redo_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::redo_action
-
-private
-
- -
-
- -

◆ ripple_tool_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::ripple_tool_action
-
-private
-
- -
-
- -

◆ scroll_wheel_zooms

- -
-
- - - - - -
- - - - -
QAction* MainWindow::scroll_wheel_zooms
-
-private
-
- -
-
- -

◆ seek_also_selects

- -
-
- - - - - -
- - - - -
QAction* MainWindow::seek_also_selects
-
-private
-
- -
-
- -

◆ seek_to_end_of_pastes

- -
-
- - - - - -
- - - - -
QAction* MainWindow::seek_to_end_of_pastes
-
-private
-
- -
-
- -

◆ selecting_also_seeks

- -
-
- - - - - -
- - - - -
QAction* MainWindow::selecting_also_seeks
-
-private
-
- -
-
- -

◆ set_name_and_marker

- -
-
- - - - - -
- - - - -
QAction* MainWindow::set_name_and_marker
-
-private
-
- -
-
- -

◆ show_all

- -
-
- - - - - -
- - - - -
QAction* MainWindow::show_all
-
-private
-
- -
-
- -

◆ slide_tool_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::slide_tool_action
-
-private
-
- -
-
- -

◆ slip_tool_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::slip_tool_action
-
-private
-
- -
-
- -

◆ smooth_autoscroll

- -
-
- - - - - -
- - - - -
QAction* MainWindow::smooth_autoscroll
-
-private
-
- -
-
- -

◆ snap_toggle

- -
-
- - - - - -
- - - - -
QAction* MainWindow::snap_toggle
-
-private
-
- -
-
- -

◆ temp_panel_state

- -
-
- - - - - -
- - - - -
QByteArray MainWindow::temp_panel_state
-
-private
-
- -
-
- -

◆ title_safe_169

- -
-
- - - - - -
- - - - -
QAction* MainWindow::title_safe_169
-
-private
-
- -
-
- -

◆ title_safe_43

- -
-
- - - - - -
- - - - -
QAction* MainWindow::title_safe_43
-
-private
-
- -
-
- -

◆ title_safe_custom

- -
-
- - - - - -
- - - - -
QAction* MainWindow::title_safe_custom
-
-private
-
- -
-
- -

◆ title_safe_default

- -
-
- - - - - -
- - - - -
QAction* MainWindow::title_safe_default
-
-private
-
- -
-
- -

◆ title_safe_off

- -
-
- - - - - -
- - - - -
QAction* MainWindow::title_safe_off
-
-private
-
- -
-
- -

◆ track_lines

- -
-
- - - - - -
- - - - -
QAction* MainWindow::track_lines
-
-private
-
- -
-
- -

◆ transition_tool_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::transition_tool_action
-
-private
-
- -
-
- -

◆ undo_action

- -
-
- - - - - -
- - - - -
QAction* MainWindow::undo_action
-
-private
-
- -
-
- -

◆ window_menu

- -
-
- - - - - -
- - - - -
QMenu* MainWindow::window_menu
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_main_window.png b/docs/html/class_main_window.png deleted file mode 100644 index 26ef7f61d..000000000 Binary files a/docs/html/class_main_window.png and /dev/null differ diff --git a/docs/html/class_media-members.html b/docs/html/class_media-members.html deleted file mode 100644 index 368161f17..000000000 --- a/docs/html/class_media-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Media Member List
-
-
- -

This is the complete list of members for Media, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
appendChild(Media *child)Media
child(int row)Media
childCount() constMedia
childrenMediaprivate
columnCount() constMedia
data(int column, int role)Media
folder_nameMediaprivate
get_frame_rate(int stream=-1)Media
get_markers()Media
get_name()Media
get_sampling_rate(int stream=-1)Media
get_type()Media
iconMediaprivate
Media(Media *iparent)Media
objectMediaprivate
parentMediaprivate
parentItem()Media
removeChild(int i)Media
rootMedia
row() constMedia
set_folder()Media
set_footage(FootagePtr f)Media
set_icon(const QIcon &ico)Media
set_name(const QString &n)Media
set_parent(Media *p)Media
set_sequence(SequencePtr s)Media
setData(int col, const QVariant &value)Media
temp_idMedia
temp_id2Media
to_footage()Media
to_object()Media
to_sequence()Media
tooltipMediaprivate
typeMediaprivate
update_tooltip(const QString &error=0)Media
~Media()Media
- - - - diff --git a/docs/html/class_media.html b/docs/html/class_media.html deleted file mode 100644 index 9b0b244b5..000000000 --- a/docs/html/class_media.html +++ /dev/null @@ -1,844 +0,0 @@ - - - - - - - -Olive: Media Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <media.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Media (Media *iparent)
 
 ~Media ()
 
FootagePtr to_footage ()
 
SequencePtr to_sequence ()
 
void set_footage (FootagePtr f)
 
void set_sequence (SequencePtr s)
 
void set_folder ()
 
void set_icon (const QIcon &ico)
 
void set_parent (Media *p)
 
void update_tooltip (const QString &error=0)
 
VoidPtr to_object ()
 
int get_type ()
 
const QString & get_name ()
 
void set_name (const QString &n)
 
double get_frame_rate (int stream=-1)
 
int get_sampling_rate (int stream=-1)
 
void appendChild (Media *child)
 
bool setData (int col, const QVariant &value)
 
Mediachild (int row)
 
int childCount () const
 
int columnCount () const
 
QVariant data (int column, int role)
 
int row () const
 
MediaparentItem ()
 
void removeChild (int i)
 
QVector< Marker > & get_markers ()
 
- - - - - - - -

-Public Attributes

bool root
 
int temp_id
 
int temp_id2
 
- - - - - - - - - - - - - - - -

-Private Attributes

int type
 
VoidPtr object
 
QList< Media * > children
 
Mediaparent
 
QString folder_name
 
QString tooltip
 
QIcon icon
 
-

Constructor & Destructor Documentation

- -

◆ Media()

- -
-
- - - - - - - - -
Media::Media (Mediaiparent)
-
- -
-
- -

◆ ~Media()

- -
-
- - - - - - - -
Media::~Media ()
-
- -
-
-

Member Function Documentation

- -

◆ appendChild()

- -
-
- - - - - - - - -
void Media::appendChild (Mediachild)
-
- -
-
- -

◆ child()

- -
-
- - - - - - - - -
Media * Media::child (int row)
-
- -
-
- -

◆ childCount()

- -
-
- - - - - - - -
int Media::childCount () const
-
- -
-
- -

◆ columnCount()

- -
-
- - - - - - - -
int Media::columnCount () const
-
- -
-
- -

◆ data()

- -
-
- - - - - - - - - - - - - - - - - - -
QVariant Media::data (int column,
int role 
)
-
- -
-
- -

◆ get_frame_rate()

- -
-
- - - - - - - - -
double Media::get_frame_rate (int stream = -1)
-
- -
-
- -

◆ get_markers()

- -
-
- - - - - - - -
QVector< Marker > & Media::get_markers ()
-
- -
-
- -

◆ get_name()

- -
-
- - - - - - - -
const QString & Media::get_name ()
-
- -
-
- -

◆ get_sampling_rate()

- -
-
- - - - - - - - -
int Media::get_sampling_rate (int stream = -1)
-
- -
-
- -

◆ get_type()

- -
-
- - - - - - - -
int Media::get_type ()
-
- -
-
- -

◆ parentItem()

- -
-
- - - - - - - -
Media * Media::parentItem ()
-
- -
-
- -

◆ removeChild()

- -
-
- - - - - - - - -
void Media::removeChild (int i)
-
- -
-
- -

◆ row()

- -
-
- - - - - - - -
int Media::row () const
-
- -
-
- -

◆ set_folder()

- -
-
- - - - - - - -
void Media::set_folder ()
-
- -
-
- -

◆ set_footage()

- -
-
- - - - - - - - -
void Media::set_footage (FootagePtr f)
-
- -
-
- -

◆ set_icon()

- -
-
- - - - - - - - -
void Media::set_icon (const QIcon & ico)
-
- -
-
- -

◆ set_name()

- -
-
- - - - - - - - -
void Media::set_name (const QString & n)
-
- -
-
- -

◆ set_parent()

- -
-
- - - - - - - - -
void Media::set_parent (Mediap)
-
- -
-
- -

◆ set_sequence()

- -
-
- - - - - - - - -
void Media::set_sequence (SequencePtr s)
-
- -
-
- -

◆ setData()

- -
-
- - - - - - - - - - - - - - - - - - -
bool Media::setData (int col,
const QVariant & value 
)
-
- -
-
- -

◆ to_footage()

- -
-
- - - - - - - -
FootagePtr Media::to_footage ()
-
- -
-
- -

◆ to_object()

- -
-
- - - - - - - -
VoidPtr Media::to_object ()
-
- -
-
- -

◆ to_sequence()

- -
-
- - - - - - - -
SequencePtr Media::to_sequence ()
-
- -
-
- -

◆ update_tooltip()

- -
-
- - - - - - - - -
void Media::update_tooltip (const QString & error = 0)
-
- -
-
-

Member Data Documentation

- -

◆ children

- -
-
- - - - - -
- - - - -
QList<Media*> Media::children
-
-private
-
- -
-
- -

◆ folder_name

- -
-
- - - - - -
- - - - -
QString Media::folder_name
-
-private
-
- -
-
- -

◆ icon

- -
-
- - - - - -
- - - - -
QIcon Media::icon
-
-private
-
- -
-
- -

◆ object

- -
-
- - - - - -
- - - - -
VoidPtr Media::object
-
-private
-
- -
-
- -

◆ parent

- -
-
- - - - - -
- - - - -
Media* Media::parent
-
-private
-
- -
-
- -

◆ root

- -
-
- - - - -
bool Media::root
-
- -
-
- -

◆ temp_id

- -
-
- - - - -
int Media::temp_id
-
- -
-
- -

◆ temp_id2

- -
-
- - - - -
int Media::temp_id2
-
- -
-
- -

◆ tooltip

- -
-
- - - - - -
- - - - -
QString Media::tooltip
-
-private
-
- -
-
- -

◆ type

- -
-
- - - - - -
- - - - -
int Media::type
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_media_icon_service-members.html b/docs/html/class_media_icon_service-members.html deleted file mode 100644 index 71e47d4dd..000000000 --- a/docs/html/class_media_icon_service-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
MediaIconService Member List
-
- - - - - diff --git a/docs/html/class_media_icon_service.html b/docs/html/class_media_icon_service.html deleted file mode 100644 index 309d30434..000000000 --- a/docs/html/class_media_icon_service.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - -Olive: MediaIconService Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
MediaIconService Class Reference
-
-
- -

#include <mediaiconservice.h>

-
-Inheritance diagram for MediaIconService:
-
-
- -
- - - - -

-Public Slots

void SetMediaIcon (Media *media, int icon_type)
 
- - - -

-Signals

void IconChanged ()
 
- - - -

-Public Member Functions

 MediaIconService ()
 
- - - -

-Private Slots

void AnimationUpdate ()
 
- - - - - - - - - - - -

-Private Attributes

int throbber_animation_frame_
 
QVector< Media * > throbber_items_
 
QTimer throbber_animator_
 
QPixmap throbber_pixmap_
 
QMutex throbber_lock_
 
-

Constructor & Destructor Documentation

- -

◆ MediaIconService()

- -
-
- - - - - - - -
MediaIconService::MediaIconService ()
-
- -
-
-

Member Function Documentation

- -

◆ AnimationUpdate

- -
-
- - - - - -
- - - - - - - -
void MediaIconService::AnimationUpdate ()
-
-privateslot
-
- -
-
- -

◆ IconChanged

- -
-
- - - - - -
- - - - - - - -
void MediaIconService::IconChanged ()
-
-signal
-
- -
-
- -

◆ SetMediaIcon

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void MediaIconService::SetMediaIcon (Mediamedia,
int icon_type 
)
-
-slot
-
- -
-
-

Member Data Documentation

- -

◆ throbber_animation_frame_

- -
-
- - - - - -
- - - - -
int MediaIconService::throbber_animation_frame_
-
-private
-
- -
-
- -

◆ throbber_animator_

- -
-
- - - - - -
- - - - -
QTimer MediaIconService::throbber_animator_
-
-private
-
- -
-
- -

◆ throbber_items_

- -
-
- - - - - -
- - - - -
QVector<Media*> MediaIconService::throbber_items_
-
-private
-
- -
-
- -

◆ throbber_lock_

- -
-
- - - - - -
- - - - -
QMutex MediaIconService::throbber_lock_
-
-private
-
- -
-
- -

◆ throbber_pixmap_

- -
-
- - - - - -
- - - - -
QPixmap MediaIconService::throbber_pixmap_
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_media_icon_service.png b/docs/html/class_media_icon_service.png deleted file mode 100644 index ea31b9806..000000000 Binary files a/docs/html/class_media_icon_service.png and /dev/null differ diff --git a/docs/html/class_media_move-members.html b/docs/html/class_media_move-members.html deleted file mode 100644 index ca8e31627..000000000 --- a/docs/html/class_media_move-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
MediaMove Member List
-
-
- -

This is the complete list of members for MediaMove, including all inherited members.

- - - - - - - - - - - -
doRedo() overrideMediaMovevirtual
doUndo() overrideMediaMovevirtual
fromsMediaMoveprivate
itemsMediaMove
MediaMove()MediaMove
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
toMediaMove
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_media_move.html b/docs/html/class_media_move.html deleted file mode 100644 index 270307c7d..000000000 --- a/docs/html/class_media_move.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - -Olive: MediaMove Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <undo.h>

-
-Inheritance diagram for MediaMove:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 MediaMove ()
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - -

-Public Attributes

QVector< Media * > items
 
Mediato
 
- - - -

-Private Attributes

QVector< Media * > froms
 
-

Constructor & Destructor Documentation

- -

◆ MediaMove()

- -
-
- - - - - - - -
MediaMove::MediaMove ()
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void MediaMove::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void MediaMove::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ froms

- -
-
- - - - - -
- - - - -
QVector<Media*> MediaMove::froms
-
-private
-
- -
-
- -

◆ items

- -
-
- - - - -
QVector<Media*> MediaMove::items
-
- -
-
- -

◆ to

- -
-
- - - - -
Media* MediaMove::to
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_media_move.png b/docs/html/class_media_move.png deleted file mode 100644 index 48e5ab86f..000000000 Binary files a/docs/html/class_media_move.png and /dev/null differ diff --git a/docs/html/class_media_properties_dialog-members.html b/docs/html/class_media_properties_dialog-members.html deleted file mode 100644 index 1e2b966a7..000000000 --- a/docs/html/class_media_properties_dialog-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
MediaPropertiesDialog Member List
-
- - - - - diff --git a/docs/html/class_media_properties_dialog.html b/docs/html/class_media_properties_dialog.html deleted file mode 100644 index 0d9e47f4d..000000000 --- a/docs/html/class_media_properties_dialog.html +++ /dev/null @@ -1,307 +0,0 @@ - - - - - - - -Olive: MediaPropertiesDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
MediaPropertiesDialog Class Reference
-
-
- -

#include <mediapropertiesdialog.h>

-
-Inheritance diagram for MediaPropertiesDialog:
-
-
- -
- - - - -

-Public Member Functions

 MediaPropertiesDialog (QWidget *parent, Media *i)
 
- - - -

-Private Slots

void accept ()
 
- - - - - - - - - - - - - -

-Private Attributes

QComboBox * interlacing_box
 
QLineEdit * name_box
 
Mediaitem
 
QListWidget * track_list
 
QDoubleSpinBox * conform_fr
 
QCheckBox * premultiply_alpha_setting
 
-

Constructor & Destructor Documentation

- -

◆ MediaPropertiesDialog()

- -
-
- - - - - - - - - - - - - - - - - - -
MediaPropertiesDialog::MediaPropertiesDialog (QWidget * parent,
Mediai 
)
-
- -
-
-

Member Function Documentation

- -

◆ accept

- -
-
- - - - - -
- - - - - - - -
void MediaPropertiesDialog::accept ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ conform_fr

- -
-
- - - - - -
- - - - -
QDoubleSpinBox* MediaPropertiesDialog::conform_fr
-
-private
-
- -
-
- -

◆ interlacing_box

- -
-
- - - - - -
- - - - -
QComboBox* MediaPropertiesDialog::interlacing_box
-
-private
-
- -
-
- -

◆ item

- -
-
- - - - - -
- - - - -
Media* MediaPropertiesDialog::item
-
-private
-
- -
-
- -

◆ name_box

- -
-
- - - - - -
- - - - -
QLineEdit* MediaPropertiesDialog::name_box
-
-private
-
- -
-
- -

◆ premultiply_alpha_setting

- -
-
- - - - - -
- - - - -
QCheckBox* MediaPropertiesDialog::premultiply_alpha_setting
-
-private
-
- -
-
- -

◆ track_list

- -
-
- - - - - -
- - - - -
QListWidget* MediaPropertiesDialog::track_list
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_media_properties_dialog.png b/docs/html/class_media_properties_dialog.png deleted file mode 100644 index cb03cb13d..000000000 Binary files a/docs/html/class_media_properties_dialog.png and /dev/null differ diff --git a/docs/html/class_media_rename-members.html b/docs/html/class_media_rename-members.html deleted file mode 100644 index 4b3128e47..000000000 --- a/docs/html/class_media_rename-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
MediaRename Member List
-
-
- -

This is the complete list of members for MediaRename, including all inherited members.

- - - - - - - - - - - -
doRedo() overrideMediaRenamevirtual
doUndo() overrideMediaRenamevirtual
fromMediaRenameprivate
itemMediaRenameprivate
MediaRename(Media *iitem, QString to)MediaRename
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
toMediaRenameprivate
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_media_rename.html b/docs/html/class_media_rename.html deleted file mode 100644 index 68d2a0543..000000000 --- a/docs/html/class_media_rename.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - -Olive: MediaRename Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
MediaRename Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for MediaRename:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 MediaRename (Media *iitem, QString to)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

Mediaitem
 
QString from
 
QString to
 
-

Constructor & Destructor Documentation

- -

◆ MediaRename()

- -
-
- - - - - - - - - - - - - - - - - - -
MediaRename::MediaRename (Mediaiitem,
QString to 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void MediaRename::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void MediaRename::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ from

- -
-
- - - - - -
- - - - -
QString MediaRename::from
-
-private
-
- -
-
- -

◆ item

- -
-
- - - - - -
- - - - -
Media* MediaRename::item
-
-private
-
- -
-
- -

◆ to

- -
-
- - - - - -
- - - - -
QString MediaRename::to
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_media_rename.png b/docs/html/class_media_rename.png deleted file mode 100644 index 5e11e6ccd..000000000 Binary files a/docs/html/class_media_rename.png and /dev/null differ diff --git a/docs/html/class_media_throbber-members.html b/docs/html/class_media_throbber-members.html deleted file mode 100644 index accbbb3a1..000000000 --- a/docs/html/class_media_throbber-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
MediaThrobber Member List
-
-
- -

This is the complete list of members for MediaThrobber, including all inherited members.

- - - - - - - - - -
animation (defined in MediaThrobber)MediaThrobberprivate
animation_update() (defined in MediaThrobber)MediaThrobberprivateslot
animator (defined in MediaThrobber)MediaThrobberprivate
item (defined in MediaThrobber)MediaThrobberprivate
MediaThrobber(Media *) (defined in MediaThrobber)MediaThrobber
pixmap (defined in MediaThrobber)MediaThrobberprivate
start() (defined in MediaThrobber)MediaThrobberslot
stop(int, bool replace) (defined in MediaThrobber)MediaThrobberslot
- - - - diff --git a/docs/html/class_media_throbber.html b/docs/html/class_media_throbber.html deleted file mode 100644 index 764c8eb3e..000000000 --- a/docs/html/class_media_throbber.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Olive: MediaThrobber Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
-
-Inheritance diagram for MediaThrobber:
-
-
- -
- - - - - - -

-Public Slots

-void start ()
 
-void stop (int, bool replace)
 
- - - -

-Public Member Functions

MediaThrobber (Media *)
 
- - - -

-Private Slots

-void animation_update ()
 
- - - - - - - - - -

-Private Attributes

-QPixmap pixmap
 
-int animation
 
-Mediaitem
 
-QTimer * animator
 
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_media_throbber.png b/docs/html/class_media_throbber.png deleted file mode 100644 index 6ca92ec76..000000000 Binary files a/docs/html/class_media_throbber.png and /dev/null differ diff --git a/docs/html/class_menu_helper-members.html b/docs/html/class_menu_helper-members.html deleted file mode 100644 index 5dba3243d..000000000 --- a/docs/html/class_menu_helper-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
MenuHelper Member List
-
- - - - - diff --git a/docs/html/class_menu_helper.html b/docs/html/class_menu_helper.html deleted file mode 100644 index 4422893df..000000000 --- a/docs/html/class_menu_helper.html +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - -Olive: MenuHelper Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
MenuHelper Class Reference
-
-
- -

#include <menuhelper.h>

-
-Inheritance diagram for MenuHelper:
-
-
- -
- - - - - - - - - - - - - - - - - - - - -

-Public Slots

void toggle_bool_action ()
 Sets a QAction's Boolean reference to the opposite of its current value. More...
 
void set_titlesafe_from_menu ()
 Set Title/Action Safe Area from QAction. More...
 
void set_autoscroll ()
 Set Autoscroll setting from QAction. More...
 
void menu_click_button ()
 Clicks a QPushButton referenced by a QAction when triggered. More...
 
void set_timecode_view ()
 Sets the current timecode setting. More...
 
void open_recent_from_menu ()
 Calls open_recent() in Olive::Global using the index from a QAction. More...
 
- - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

void make_new_menu (QMenu *parent)
 Creates a menu of new items that can be created. More...
 
void make_inout_menu (QMenu *parent)
 Creates a menu of options for working with in/out points. More...
 
void make_clip_functions_menu (QMenu *parent)
 Creates a menu of clip functions. More...
 
void make_edit_functions_menu (QMenu *parent)
 Creates standard edit menu (cut, copy, paste, etc.) More...
 
void set_bool_action_checked (QAction *a)
 Sets the checked state of a menu item based on a Boolean variable. More...
 
void set_int_action_checked (QAction *a, const int &i)
 Sets the checked state of a menu item based on an integer variable. More...
 
void set_button_action_checked (QAction *a)
 Sets the checked state of a menu item based on a QPushButton. More...
 
-

Member Function Documentation

- -

◆ make_clip_functions_menu()

- -
-
- - - - - - - - -
void MenuHelper::make_clip_functions_menu (QMenu * parent)
-
- -

Creates a menu of clip functions.

-

Adds a set of clip functions including:

    -
  • Add Default Transition
  • -
  • Link/Unlink
  • -
  • Enable/Disable
  • -
  • Nest
  • -
-
Parameters
- - -
parentThe menu to add items to.
-
-
- -
-
- -

◆ make_edit_functions_menu()

- -
-
- - - - - - - - -
void MenuHelper::make_edit_functions_menu (QMenu * parent)
-
- -

Creates standard edit menu (cut, copy, paste, etc.)

-
Parameters
- - -
parentThe menu to add items to.
-
-
- -
-
- -

◆ make_inout_menu()

- -
-
- - - - - - - - -
void MenuHelper::make_inout_menu (QMenu * parent)
-
- -

Creates a menu of options for working with in/out points.

-

Adds a set of options for working with sequence/footage in/out points, e.g. setting in/out points, clearing in/out points, etc.

-
Parameters
- - -
parentThe menu to add items to.
-
-
- -
-
- -

◆ make_new_menu()

- -
-
- - - - - - - - -
void MenuHelper::make_new_menu (QMenu * parent)
-
- -

Creates a menu of new items that can be created.

-

Adds the full set of creatable items to a QMenu (e.g. new project, new sequence, new folder, etc.)

-
Parameters
- - -
parentThe menu to add items to.
-
-
- -
-
- -

◆ menu_click_button

- -
-
- - - - - -
- - - - - - - -
void MenuHelper::menu_click_button ()
-
-slot
-
- -

Clicks a QPushButton referenced by a QAction when triggered.

-

Some menu items function largely as a proxy to a QPushButton. Assuming the QAction's data variable is a pointer to a QPushButton, this triggers a click() event on that QPushButton.

- -
-
- -

◆ open_recent_from_menu

- -
-
- - - - - -
- - - - - - - -
void MenuHelper::open_recent_from_menu ()
-
-slot
-
- -

Calls open_recent() in Olive::Global using the index from a QAction.

-

Assumes the sender() is a QAction with an integer as its data variable. The data variable is an index of the internal auto-recovery project list.

- -
-
- -

◆ set_autoscroll

- -
-
- - - - - -
- - - - - - - -
void MenuHelper::set_autoscroll ()
-
-slot
-
- -

Set Autoscroll setting from QAction.

-

Assumes the sender() is a QAction with an integer as its data variable. The data variable should be AUTOSCROLL_NO_SCROLL, AUTOSCROLL_PAGE_SCROLL (default) or AUTOSCROLL_SMOOTH_SCROLL.

- -
-
- -

◆ set_bool_action_checked()

- -
-
- - - - - - - - -
void MenuHelper::set_bool_action_checked (QAction * a)
-
- -

Sets the checked state of a menu item based on a Boolean variable.

-

Many menu items simply toggle a Boolean variable. This is a convenience function, assuming the QAction's data variable is a pointer to a Boolean variable, that sets the checked state of the QAction to the enabled state of the Boolean. Used heavily in functions like toolMenu_About_To_Be_Shown()

-
Parameters
- - -
aThe QAction to set the checked state of.
-
-
- -
-
- -

◆ set_button_action_checked()

- -
-
- - - - - - - - -
void MenuHelper::set_button_action_checked (QAction * a)
-
- -

Sets the checked state of a menu item based on a QPushButton.

-

Some menu items function largely as a proxy to a QPushButton. Assuming the QAction's data variable is a pointer to a QPushButton, this sets a QAction's checked state to the checked state of the QPushButton.

-
Parameters
- - -
a
-
-
- -
-
- -

◆ set_int_action_checked()

- -
-
- - - - - - - - - - - - - - - - - - -
void MenuHelper::set_int_action_checked (QAction * a,
const int & i 
)
-
- -

Sets the checked state of a menu item based on an integer variable.

-

Many menu items simply set a variable to a particular integer. This is a convenience function, assuming the QAction's data variable is an integer to set a variable to, that sets the checked state of the QAction to whether the QAction's integer equals the integer variable. Used heavily in functions like viewMenu_About_To_Be_Shown()

-
Parameters
- - - -
aThe QAction to set the checked state of
iThe integer variable to compare the QAction's integer to
-
-
- -
-
- -

◆ set_timecode_view

- -
-
- - - - - -
- - - - - - - -
void MenuHelper::set_timecode_view ()
-
-slot
-
- -

Sets the current timecode setting.

-

Assumes the sender() is a QAction with an integer as its data variable. The data variable should be AUTOSCROLL_NO_AUTOSCROLL, AUTOSCROLL_PAGE_AUTOSCROLL (default) or AUTOSCROLL_SMOOTH_AUTOSCROLL.

- -
-
- -

◆ set_titlesafe_from_menu

- -
-
- - - - - -
- - - - - - - -
void MenuHelper::set_titlesafe_from_menu ()
-
-slot
-
- -

Set Title/Action Safe Area from QAction.

-

A receiver for several Title/Action Safe Area setting items. Assumes the sender() is a QAction with a data variable as a double. The double can be the following values:

    -
  • NaN (qSNaN()) - Disable Title/Action Safe Area
  • -
  • 0 - Enable Title/Action Safe Area, default aspect ratio (match current active Sequence's aspect ratio).
  • -
  • Negative Value - Enable Title/Action Safe Area, any negative number assumes a custom aspect ratio. Will ask the user to enter an aspect ratio and will use the result.
  • -
  • Positive Value - Enable Title/Action Safe Area, use value as the aspect ratio.
  • -
- -
-
- -

◆ toggle_bool_action

- -
-
- - - - - -
- - - - - - - -
void MenuHelper::toggle_bool_action ()
-
-slot
-
- -

Sets a QAction's Boolean reference to the opposite of its current value.

-

Many menu items simply toggle a Boolean variable. This is a convenience function, assuming the QAction's data variable is a pointer to a Boolean variable, that sets the Boolean variable to the opposite of its current value.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_menu_helper.png b/docs/html/class_menu_helper.png deleted file mode 100644 index eebeb0071..000000000 Binary files a/docs/html/class_menu_helper.png and /dev/null differ diff --git a/docs/html/class_modify_transition_command-members.html b/docs/html/class_modify_transition_command-members.html deleted file mode 100644 index 6f56101d1..000000000 --- a/docs/html/class_modify_transition_command-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ModifyTransitionCommand Member List
-
-
- -

This is the complete list of members for ModifyTransitionCommand, including all inherited members.

- - - - - - - - - - - -
doRedo() overrideModifyTransitionCommandvirtual
doUndo() overrideModifyTransitionCommandvirtual
ModifyTransitionCommand(TransitionPtr t, long ilength)ModifyTransitionCommand
new_length_ModifyTransitionCommandprivate
old_length_ModifyTransitionCommandprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
transition_ref_ModifyTransitionCommandprivate
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_modify_transition_command.html b/docs/html/class_modify_transition_command.html deleted file mode 100644 index 764e523ed..000000000 --- a/docs/html/class_modify_transition_command.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - -Olive: ModifyTransitionCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ModifyTransitionCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for ModifyTransitionCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 ModifyTransitionCommand (TransitionPtr t, long ilength)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

TransitionPtr transition_ref_
 
long new_length_
 
long old_length_
 
-

Constructor & Destructor Documentation

- -

◆ ModifyTransitionCommand()

- -
-
- - - - - - - - - - - - - - - - - - -
ModifyTransitionCommand::ModifyTransitionCommand (TransitionPtr t,
long ilength 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void ModifyTransitionCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void ModifyTransitionCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ new_length_

- -
-
- - - - - -
- - - - -
long ModifyTransitionCommand::new_length_
-
-private
-
- -
-
- -

◆ old_length_

- -
-
- - - - - -
- - - - -
long ModifyTransitionCommand::old_length_
-
-private
-
- -
-
- -

◆ transition_ref_

- -
-
- - - - - -
- - - - -
TransitionPtr ModifyTransitionCommand::transition_ref_
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_modify_transition_command.png b/docs/html/class_modify_transition_command.png deleted file mode 100644 index d138b07ed..000000000 Binary files a/docs/html/class_modify_transition_command.png and /dev/null differ diff --git a/docs/html/class_move_clip_action-members.html b/docs/html/class_move_clip_action-members.html deleted file mode 100644 index 27b7c49cb..000000000 --- a/docs/html/class_move_clip_action-members.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
MoveClipAction Member List
-
-
- -

This is the complete list of members for MoveClipAction, including all inherited members.

- - - - - - - - - - - - - - - - - - -
clipMoveClipActionprivate
doRedo() overrideMoveClipActionvirtual
doUndo() overrideMoveClipActionvirtual
MoveClipAction(ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool irelative)MoveClipAction
new_clip_inMoveClipActionprivate
new_inMoveClipActionprivate
new_outMoveClipActionprivate
new_trackMoveClipActionprivate
old_clip_inMoveClipActionprivate
old_inMoveClipActionprivate
old_outMoveClipActionprivate
old_trackMoveClipActionprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
relativeMoveClipActionprivate
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_move_clip_action.html b/docs/html/class_move_clip_action.html deleted file mode 100644 index 041f30eba..000000000 --- a/docs/html/class_move_clip_action.html +++ /dev/null @@ -1,466 +0,0 @@ - - - - - - - -Olive: MoveClipAction Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
MoveClipAction Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for MoveClipAction:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 MoveClipAction (ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool irelative)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

ClipPtr clip
 
long old_in
 
long old_out
 
long old_clip_in
 
int old_track
 
long new_in
 
long new_out
 
long new_clip_in
 
int new_track
 
bool relative
 
-

Constructor & Destructor Documentation

- -

◆ MoveClipAction()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MoveClipAction::MoveClipAction (ClipPtr c,
long iin,
long iout,
long iclip_in,
int itrack,
bool irelative 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void MoveClipAction::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void MoveClipAction::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ clip

- -
-
- - - - - -
- - - - -
ClipPtr MoveClipAction::clip
-
-private
-
- -
-
- -

◆ new_clip_in

- -
-
- - - - - -
- - - - -
long MoveClipAction::new_clip_in
-
-private
-
- -
-
- -

◆ new_in

- -
-
- - - - - -
- - - - -
long MoveClipAction::new_in
-
-private
-
- -
-
- -

◆ new_out

- -
-
- - - - - -
- - - - -
long MoveClipAction::new_out
-
-private
-
- -
-
- -

◆ new_track

- -
-
- - - - - -
- - - - -
int MoveClipAction::new_track
-
-private
-
- -
-
- -

◆ old_clip_in

- -
-
- - - - - -
- - - - -
long MoveClipAction::old_clip_in
-
-private
-
- -
-
- -

◆ old_in

- -
-
- - - - - -
- - - - -
long MoveClipAction::old_in
-
-private
-
- -
-
- -

◆ old_out

- -
-
- - - - - -
- - - - -
long MoveClipAction::old_out
-
-private
-
- -
-
- -

◆ old_track

- -
-
- - - - - -
- - - - -
int MoveClipAction::old_track
-
-private
-
- -
-
- -

◆ relative

- -
-
- - - - - -
- - - - -
bool MoveClipAction::relative
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_move_clip_action.png b/docs/html/class_move_clip_action.png deleted file mode 100644 index 62c88f306..000000000 Binary files a/docs/html/class_move_clip_action.png and /dev/null differ diff --git a/docs/html/class_move_effect_command-members.html b/docs/html/class_move_effect_command-members.html deleted file mode 100644 index d22b094cd..000000000 --- a/docs/html/class_move_effect_command-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
MoveEffectCommand Member List
-
-
- -

This is the complete list of members for MoveEffectCommand, including all inherited members.

- - - - - - - - - - - -
clipMoveEffectCommand
doRedo() overrideMoveEffectCommandvirtual
doUndo() overrideMoveEffectCommandvirtual
fromMoveEffectCommand
MoveEffectCommand()MoveEffectCommand
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
toMoveEffectCommand
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_move_effect_command.html b/docs/html/class_move_effect_command.html deleted file mode 100644 index 808865fb3..000000000 --- a/docs/html/class_move_effect_command.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - - -Olive: MoveEffectCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
MoveEffectCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for MoveEffectCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 MoveEffectCommand ()
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Public Attributes

ClipPtr clip
 
int from
 
int to
 
-

Constructor & Destructor Documentation

- -

◆ MoveEffectCommand()

- -
-
- - - - - - - -
MoveEffectCommand::MoveEffectCommand ()
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void MoveEffectCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void MoveEffectCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ clip

- -
-
- - - - -
ClipPtr MoveEffectCommand::clip
-
- -
-
- -

◆ from

- -
-
- - - - -
int MoveEffectCommand::from
-
- -
-
- -

◆ to

- -
-
- - - - -
int MoveEffectCommand::to
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_move_effect_command.png b/docs/html/class_move_effect_command.png deleted file mode 100644 index 2b18da489..000000000 Binary files a/docs/html/class_move_effect_command.png and /dev/null differ diff --git a/docs/html/class_move_marker_action-members.html b/docs/html/class_move_marker_action-members.html deleted file mode 100644 index 90dbd6f20..000000000 --- a/docs/html/class_move_marker_action-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
MoveMarkerAction Member List
-
-
- -

This is the complete list of members for MoveMarkerAction, including all inherited members.

- - - - - - - - - - - -
doRedo() overrideMoveMarkerActionvirtual
doUndo() overrideMoveMarkerActionvirtual
markerMoveMarkerActionprivate
MoveMarkerAction(Marker *m, long o, long n)MoveMarkerAction
new_timeMoveMarkerActionprivate
old_timeMoveMarkerActionprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_move_marker_action.html b/docs/html/class_move_marker_action.html deleted file mode 100644 index de6f92631..000000000 --- a/docs/html/class_move_marker_action.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - -Olive: MoveMarkerAction Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
MoveMarkerAction Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for MoveMarkerAction:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 MoveMarkerAction (Marker *m, long o, long n)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

Markermarker
 
long old_time
 
long new_time
 
-

Constructor & Destructor Documentation

- -

◆ MoveMarkerAction()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
MoveMarkerAction::MoveMarkerAction (Markerm,
long o,
long n 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void MoveMarkerAction::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void MoveMarkerAction::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ marker

- -
-
- - - - - -
- - - - -
Marker* MoveMarkerAction::marker
-
-private
-
- -
-
- -

◆ new_time

- -
-
- - - - - -
- - - - -
long MoveMarkerAction::new_time
-
-private
-
- -
-
- -

◆ old_time

- -
-
- - - - - -
- - - - -
long MoveMarkerAction::old_time
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_move_marker_action.png b/docs/html/class_move_marker_action.png deleted file mode 100644 index 02bf81528..000000000 Binary files a/docs/html/class_move_marker_action.png and /dev/null differ diff --git a/docs/html/class_new_sequence_command-members.html b/docs/html/class_new_sequence_command-members.html deleted file mode 100644 index 161fae655..000000000 --- a/docs/html/class_new_sequence_command-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
NewSequenceCommand Member List
-
-
- -

This is the complete list of members for NewSequenceCommand, including all inherited members.

- - - - - - - - - - - - -
doneNewSequenceCommandprivate
doRedo() overrideNewSequenceCommandvirtual
doUndo() overrideNewSequenceCommandvirtual
NewSequenceCommand(Media *s, Media *iparent)NewSequenceCommand
OliveAction(bool iset_window_modified=true)OliveAction
parentNewSequenceCommandprivate
redo() overrideOliveActionvirtual
seqNewSequenceCommandprivate
undo() overrideOliveActionvirtual
~NewSequenceCommand() overrideNewSequenceCommandvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_new_sequence_command.html b/docs/html/class_new_sequence_command.html deleted file mode 100644 index fe3e2603d..000000000 --- a/docs/html/class_new_sequence_command.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - -Olive: NewSequenceCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
NewSequenceCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for NewSequenceCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 NewSequenceCommand (Media *s, Media *iparent)
 
virtual ~NewSequenceCommand () override
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

Mediaseq
 
Mediaparent
 
bool done
 
-

Constructor & Destructor Documentation

- -

◆ NewSequenceCommand()

- -
-
- - - - - - - - - - - - - - - - - - -
NewSequenceCommand::NewSequenceCommand (Medias,
Mediaiparent 
)
-
- -
-
- -

◆ ~NewSequenceCommand()

- -
-
- - - - - -
- - - - - - - -
NewSequenceCommand::~NewSequenceCommand ()
-
-overridevirtual
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void NewSequenceCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void NewSequenceCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ done

- -
-
- - - - - -
- - - - -
bool NewSequenceCommand::done
-
-private
-
- -
-
- -

◆ parent

- -
-
- - - - - -
- - - - -
Media* NewSequenceCommand::parent
-
-private
-
- -
-
- -

◆ seq

- -
-
- - - - - -
- - - - -
Media* NewSequenceCommand::seq
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_new_sequence_command.png b/docs/html/class_new_sequence_command.png deleted file mode 100644 index 2c805de14..000000000 Binary files a/docs/html/class_new_sequence_command.png and /dev/null differ diff --git a/docs/html/class_new_sequence_dialog-members.html b/docs/html/class_new_sequence_dialog-members.html deleted file mode 100644 index 9dedabe29..000000000 --- a/docs/html/class_new_sequence_dialog-members.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
NewSequenceDialog Member List
-
- - - - - diff --git a/docs/html/class_new_sequence_dialog.html b/docs/html/class_new_sequence_dialog.html deleted file mode 100644 index a08c4bca7..000000000 --- a/docs/html/class_new_sequence_dialog.html +++ /dev/null @@ -1,509 +0,0 @@ - - - - - - - -Olive: NewSequenceDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <newsequencedialog.h>

-
-Inheritance diagram for NewSequenceDialog:
-
-
- -
- - - - - - - - -

-Public Member Functions

 NewSequenceDialog (QWidget *parent=nullptr, Media *existing=nullptr)
 
 ~NewSequenceDialog ()
 
void set_sequence_name (const QString &s)
 
- - - - - -

-Private Slots

void create ()
 
void preset_changed (int index)
 
- - - -

-Private Member Functions

void setup_ui ()
 
- - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

SequencePtr existing_sequence
 
Mediaexisting_item
 
QComboBox * preset_combobox
 
QSpinBox * height_numeric
 
QSpinBox * width_numeric
 
QComboBox * par_combobox
 
QComboBox * interlacing_combobox
 
QComboBox * frame_rate_combobox
 
QComboBox * audio_frequency_combobox
 
QLineEdit * sequence_name_edit
 
-

Constructor & Destructor Documentation

- -

◆ NewSequenceDialog()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
NewSequenceDialog::NewSequenceDialog (QWidget * parent = nullptr,
Mediaexisting = nullptr 
)
-
-explicit
-
- -
-
- -

◆ ~NewSequenceDialog()

- -
-
- - - - - - - -
NewSequenceDialog::~NewSequenceDialog ()
-
- -
-
-

Member Function Documentation

- -

◆ create

- -
-
- - - - - -
- - - - - - - -
void NewSequenceDialog::create ()
-
-privateslot
-
- -
-
- -

◆ preset_changed

- -
-
- - - - - -
- - - - - - - - -
void NewSequenceDialog::preset_changed (int index)
-
-privateslot
-
- -
-
- -

◆ set_sequence_name()

- -
-
- - - - - - - - -
void NewSequenceDialog::set_sequence_name (const QString & s)
-
- -
-
- -

◆ setup_ui()

- -
-
- - - - - -
- - - - - - - -
void NewSequenceDialog::setup_ui ()
-
-private
-
- -
-
-

Member Data Documentation

- -

◆ audio_frequency_combobox

- -
-
- - - - - -
- - - - -
QComboBox* NewSequenceDialog::audio_frequency_combobox
-
-private
-
- -
-
- -

◆ existing_item

- -
-
- - - - - -
- - - - -
Media* NewSequenceDialog::existing_item
-
-private
-
- -
-
- -

◆ existing_sequence

- -
-
- - - - - -
- - - - -
SequencePtr NewSequenceDialog::existing_sequence
-
-private
-
- -
-
- -

◆ frame_rate_combobox

- -
-
- - - - - -
- - - - -
QComboBox* NewSequenceDialog::frame_rate_combobox
-
-private
-
- -
-
- -

◆ height_numeric

- -
-
- - - - - -
- - - - -
QSpinBox* NewSequenceDialog::height_numeric
-
-private
-
- -
-
- -

◆ interlacing_combobox

- -
-
- - - - - -
- - - - -
QComboBox* NewSequenceDialog::interlacing_combobox
-
-private
-
- -
-
- -

◆ par_combobox

- -
-
- - - - - -
- - - - -
QComboBox* NewSequenceDialog::par_combobox
-
-private
-
- -
-
- -

◆ preset_combobox

- -
-
- - - - - -
- - - - -
QComboBox* NewSequenceDialog::preset_combobox
-
-private
-
- -
-
- -

◆ sequence_name_edit

- -
-
- - - - - -
- - - - -
QLineEdit* NewSequenceDialog::sequence_name_edit
-
-private
-
- -
-
- -

◆ width_numeric

- -
-
- - - - - -
- - - - -
QSpinBox* NewSequenceDialog::width_numeric
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_new_sequence_dialog.png b/docs/html/class_new_sequence_dialog.png deleted file mode 100644 index ef06ce6b7..000000000 Binary files a/docs/html/class_new_sequence_dialog.png and /dev/null differ diff --git a/docs/html/class_o_tree_view-members.html b/docs/html/class_o_tree_view-members.html deleted file mode 100644 index f81a65fb1..000000000 --- a/docs/html/class_o_tree_view-members.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
OTreeView Member List
-
-
- -

This is the complete list of members for OTreeView, including all inherited members.

- - -
OTreeView(QWidget *parent=0)OTreeView
- - - - diff --git a/docs/html/class_o_tree_view.html b/docs/html/class_o_tree_view.html deleted file mode 100644 index 36aea583d..000000000 --- a/docs/html/class_o_tree_view.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Olive: OTreeView Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
OTreeView Class Reference
-
-
- -

#include <otreeview.h>

-
-Inheritance diagram for OTreeView:
-
-
- -
- - - - -

-Public Member Functions

 OTreeView (QWidget *parent=0)
 
-

Constructor & Destructor Documentation

- -

◆ OTreeView()

- -
-
- - - - - - - - -
OTreeView::OTreeView (QWidget * parent = 0)
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_o_tree_view.png b/docs/html/class_o_tree_view.png deleted file mode 100644 index 8e39dee8e..000000000 Binary files a/docs/html/class_o_tree_view.png and /dev/null differ diff --git a/docs/html/class_olive_action-members.html b/docs/html/class_olive_action-members.html deleted file mode 100644 index 18fd84d20..000000000 --- a/docs/html/class_olive_action-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
OliveAction Member List
-
-
- -

This is the complete list of members for OliveAction, including all inherited members.

- - - - - - - - - -
doRedo()=0OliveActionpure virtual
doUndo()=0OliveActionpure virtual
old_window_modifiedOliveActionprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
set_window_modifiedOliveActionprivate
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_olive_action.html b/docs/html/class_olive_action.html deleted file mode 100644 index f3a835f74..000000000 --- a/docs/html/class_olive_action.html +++ /dev/null @@ -1,364 +0,0 @@ - - - - - - - -Olive: OliveAction Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
OliveAction Class Referenceabstract
-
-
- -

#include <undo.h>

-
-Inheritance diagram for OliveAction:
-
-
- - -AddClipCommand -AddEffectCommand -AddMarkerAction -AddMediaCommand -AddTransitionCommand -ChangeSequenceAction -CheckboxCommand -CloseAllClipsCommand -DeleteClipAction -DeleteMarkerAction -DeleteMediaCommand -DeleteTransitionCommand -EditSequenceCommand -EffectDeleteCommand -EffectFieldUndo -KeyframeDelete -KeyframeFieldSet -LinkCommand -MediaMove -MediaRename -ModifyTransitionCommand -MoveClipAction -MoveEffectCommand -MoveMarkerAction -NewSequenceCommand -RefreshClips -ReloadEffectsCommand -RemoveClipsFromClipboard -RenameClipCommand -ReplaceClipMediaCommand -ReplaceMediaCommand -RippleAction -SetAutoscaleAction -SetBool -SetDouble -SetEffectData -SetInt -SetKeyframing -SetLong -SetPointer -SetQVariant -SetSelectionsCommand -SetSpeedAction -SetString -SetTimelineInOutCommand -UpdateFootageTooltip -UpdateViewer - -
- - - - - - - - - - - - - - -

-Public Member Functions

 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
virtual void doUndo ()=0
 
virtual void doRedo ()=0
 
- - - - - - - -

-Private Attributes

bool set_window_modified
 Setting whether to change the windowModified state of MainWindow. More...
 
bool old_window_modified
 Cache previous window modified value to return to if the user undoes this action. More...
 
-

Constructor & Destructor Documentation

- -

◆ OliveAction()

- -
-
- - - - - - - - -
OliveAction::OliveAction (bool iset_window_modified = true)
-
- -
-
- -

◆ ~OliveAction()

- -
-
- - - - - -
- - - - - - - -
OliveAction::~OliveAction ()
-
-overridevirtual
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- - - -

◆ doUndo()

- - - -

◆ redo()

- -
-
- - - - - -
- - - - - - - -
void OliveAction::redo ()
-
-overridevirtual
-
- -
-
- -

◆ undo()

- -
-
- - - - - -
- - - - - - - -
void OliveAction::undo ()
-
-overridevirtual
-
- -
-
-

Member Data Documentation

- -

◆ old_window_modified

- -
-
- - - - - -
- - - - -
bool OliveAction::old_window_modified
-
-private
-
- -

Cache previous window modified value to return to if the user undoes this action.

- -
-
- -

◆ set_window_modified

- -
-
- - - - - -
- - - - -
bool OliveAction::set_window_modified
-
-private
-
- -

Setting whether to change the windowModified state of MainWindow.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_olive_action.png b/docs/html/class_olive_action.png deleted file mode 100644 index ef92f733b..000000000 Binary files a/docs/html/class_olive_action.png and /dev/null differ diff --git a/docs/html/class_olive_global-members.html b/docs/html/class_olive_global-members.html deleted file mode 100644 index aa6ab0ca5..000000000 --- a/docs/html/class_olive_global-members.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
OliveGlobal Member List
-
- - - - - diff --git a/docs/html/class_olive_global.html b/docs/html/class_olive_global.html deleted file mode 100644 index 17b32afdd..000000000 --- a/docs/html/class_olive_global.html +++ /dev/null @@ -1,1072 +0,0 @@ - - - - - - - -Olive: OliveGlobal Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

The Olive Global class. - More...

- -

#include <oliveglobal.h>

-
-Inheritance diagram for OliveGlobal:
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Slots

void undo ()
 Undo user's last action. More...
 
void redo ()
 Redo user's last action. More...
 
void paste ()
 Paste contents of clipboard. More...
 
void paste_insert ()
 Paste contents of clipboard, making space for it when possible. More...
 
void new_project ()
 Create new project. More...
 
void open_project ()
 Open a project from file. More...
 
void open_recent (int index)
 Open recent project from list. More...
 
bool save_project_as ()
 Shows a save file dialog and saves the project as the resulting filename. More...
 
bool save_project ()
 Saves the current project to file. More...
 
bool can_close_project ()
 Determine whether the current project can be closed. More...
 
void open_export_dialog ()
 Open the Export dialog to trigger an export of the current sequence. More...
 
void open_about_dialog ()
 Open the About Olive dialog. More...
 
void open_debug_log ()
 Open the Debug Log window. More...
 
void open_speed_dialog ()
 Open the Speed/Duration dialog. More...
 
void open_action_search ()
 Open the Action Search overlay. More...
 
void clear_undo_stack ()
 Clears the current undo stack. More...
 
void finished_initialize ()
 Function called when Olive has finished starting up. More...
 
void save_autorecovery_file ()
 Save an auto-recovery file of the current project. More...
 
void open_preferences ()
 Opens the Preferences dialog. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 OliveGlobal ()
 OliveGlobal Constructor. More...
 
const QString & get_project_file_filter ()
 Returns the file dialog filter used when interfacing with Olive project files. More...
 
void update_project_filename (const QString &s)
 Change the current active project filename. More...
 
void check_for_autorecovery_file ()
 Check whether an auto-recovery file exists and ask the user if they want to load it. More...
 
void set_rendering_state (bool rendering)
 Set the application state depending on if the user is exporting a video. More...
 
void load_project_on_launch (const QString &s)
 Set a project to load just after launching. More...
 
QString get_recent_project_list_file ()
 Retrieves the URL of the config file containing the autorecovery projects. More...
 
void load_translation_from_config ()
 (Re)load translation file from olive::config More...
 
- - - - -

-Private Member Functions

void open_project_worker (const QString &fn, bool autorecovery)
 Internal function to handle loading a project from file. More...
 
- - - - - - - - - - - - - -

-Private Attributes

QString project_file_filter
 File filter used for any file dialogs relating to Olive project files. More...
 
QTimer autorecovery_timer
 Regular interval to save an auto-recovery project. More...
 
bool enable_load_project_on_init
 Internal variable set to TRUE by main() if a project file was set as an argument. More...
 
std::unique_ptr< QTranslator > translator
 Internal translator object that interfaces with the currently loaded language file. More...
 
-

Detailed Description

-

The Olive Global class.

-

A resource for various global functions used throughout Olive.

-

Constructor & Destructor Documentation

- -

◆ OliveGlobal()

- -
-
- - - - - - - -
OliveGlobal::OliveGlobal ()
-
- -

OliveGlobal Constructor.

-

Creates Olive Global object. Also sets some default runtime settings and the application name.

- -
-
-

Member Function Documentation

- -

◆ can_close_project

- -
-
- - - - - -
- - - - - - - -
bool OliveGlobal::can_close_project ()
-
-slot
-
- -

Determine whether the current project can be closed.

-

Queried any time the current project is going to be closed (e.g. starting a new project, loading a project, exiting Olive, etc.) If the project has unsaved changes, this function asks the user whether they want to save or not. If the user does, calls save_project() (which may in turn call save_project_as() if the project has never been saved).

-
Returns
TRUE if the project can be closed. FALSE if not. If the project does NOT have unsaved changes, always returns TRUE. If it does and the user clicks YES, this returns the result of save_project(). If the user clicks NO, this returns TRUE. If the user clicks CANCEL, this returns FALSE.
- -
-
- -

◆ check_for_autorecovery_file()

- -
-
- - - - - - - -
void OliveGlobal::check_for_autorecovery_file ()
-
- -

Check whether an auto-recovery file exists and ask the user if they want to load it.

-

Usually called on initialization. Checks if an auto-recovery file exists (meaning the last session of Olive didn't close correctly). If it finds one, asks the user if they want to load it. If so, loads the auto-recovery project.

- -
-
- -

◆ clear_undo_stack

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::clear_undo_stack ()
-
-slot
-
- -

Clears the current undo stack.

-

Clears all current commands in the undo stack. Mostly used for debugging.

- -
-
- -

◆ finished_initialize

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::finished_initialize ()
-
-slot
-
- -

Function called when Olive has finished starting up.

-

Sets up some last things for Olive that must be run after Olive has completed initialization. If a project was loaded as a command line argument, it's loaded here.

- -
-
- -

◆ get_project_file_filter()

- -
-
- - - - - - - -
const QString & OliveGlobal::get_project_file_filter ()
-
- -

Returns the file dialog filter used when interfacing with Olive project files.

-
Returns
The file filter string used by QFileDialog to limit the files shown to Olive (*.ove) files.
- -
-
- -

◆ get_recent_project_list_file()

- -
-
- - - - - - - -
QString OliveGlobal::get_recent_project_list_file ()
-
- -

Retrieves the URL of the config file containing the autorecovery projects.

-
Returns
The URL as a string
- -
-
- -

◆ load_project_on_launch()

- -
-
- - - - - - - - -
void OliveGlobal::load_project_on_launch (const QString & s)
-
- -

Set a project to load just after launching.

-

Called by main() if Olive was called with a project file as a running argument. Sets up Olive to load the specified project once its finished initializing.

-
Parameters
- - -
sThe URL of the project file to load.
-
-
- -
-
- -

◆ load_translation_from_config()

- -
-
- - - - - - - -
void OliveGlobal::load_translation_from_config ()
-
- -

(Re)load translation file from olive::config

- -
-
- -

◆ new_project

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::new_project ()
-
-slot
-
- -

Create new project.

-

Confirms whether the current project can be closed, and if so, clears all current project data and resets program state. Standard File > New behavior.

- -
-
- -

◆ open_about_dialog

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::open_about_dialog ()
-
-slot
-
- -

Open the About Olive dialog.

- -
-
- -

◆ open_action_search

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::open_action_search ()
-
-slot
-
- -

Open the Action Search overlay.

- -
-
- -

◆ open_debug_log

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::open_debug_log ()
-
-slot
-
- -

Open the Debug Log window.

- -
-
- -

◆ open_export_dialog

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::open_export_dialog ()
-
-slot
-
- -

Open the Export dialog to trigger an export of the current sequence.

- -
-
- -

◆ open_preferences

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::open_preferences ()
-
-slot
-
- -

Opens the Preferences dialog.

- -
-
- -

◆ open_project

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::open_project ()
-
-slot
-
- -

Open a project from file.

-

Confirms whether the current project can be closed, and if so, shows an open file dialog to allow the user to select a project file and then triggers a project load with it.

- -
-
- -

◆ open_project_worker()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void OliveGlobal::open_project_worker (const QString & fn,
bool autorecovery 
)
-
-private
-
- -

Internal function to handle loading a project from file.

-

Start loading a project. Doesn't check if the current project can be closed, doesn't check if the project exists. In most cases, you'll want open_project() to be end-user friendly.

-
Parameters
- - - -
fnThe URL to the project to load.
autorecoveryWhether this file is an autorecovery file. If it is, after the load Olive will set the project URL to a new file beside the original project file so that it does not overwrite the original and so that the user is not working on the autorecovery project in Olive's application data directory.
-
-
- -
-
- -

◆ open_recent

- -
-
- - - - - -
- - - - - - - - -
void OliveGlobal::open_recent (int index)
-
-slot
-
- -

Open recent project from list.

-

Triggers a project load from the internal recent projects list.

-
Parameters
- - -
indexIndex in the list of the project fille to load
-
-
- -
-
- -

◆ open_speed_dialog

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::open_speed_dialog ()
-
-slot
-
- -

Open the Speed/Duration dialog.

- -
-
- -

◆ paste

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::paste ()
-
-slot
-
- -

Paste contents of clipboard.

-

Pastes contents of clipboard. Seeing as several types of data can be copied into the clipboard, this function will automatically determine what type of data is in the clipboard and paste it in the correct location (e.g. clip data will go to the Timeline, effect data will go to Effect Controls).

- -
-
- -

◆ paste_insert

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::paste_insert ()
-
-slot
-
- -

Paste contents of clipboard, making space for it when possible.

-

Pastes contents of clipboard (same as paste()). If the clipboard contains clip data, the clips are cut at the current playhead and ripple forward to make space for the clips in the clipboard. Can be considered semi-non-destructive as a result (as opposed to paste() overwriting clips). If the clipboard contains effect data, the functionality is identical to paste().

- -
-
- -

◆ redo

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::redo ()
-
-slot
-
- -

Redo user's last action.

- -
-
- -

◆ save_autorecovery_file

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::save_autorecovery_file ()
-
-slot
-
- -

Save an auto-recovery file of the current project.

-

Call this function to save the current state of the project as an auto-recovery project. Called regularly by autorecovery_timer.

- -
-
- -

◆ save_project

- -
-
- - - - - -
- - - - - - - -
bool OliveGlobal::save_project ()
-
-slot
-
- -

Saves the current project to file.

-

If the project has been saved already, this function will overwrite the project file with the current project data. Calls save_project_as() if the file has not been saved before.

-
Returns
TRUE if the project has been saved before and was successfully overwritten. Otherwise returns the value of save_project_as(). Useful if the user closing an unsaved project, clicks "Yes" to save, we know if they actually saved or not and won't continue closing the project if they didn't.
- -
-
- -

◆ save_project_as

- -
-
- - - - - -
- - - - - - - -
bool OliveGlobal::save_project_as ()
-
-slot
-
- -

Shows a save file dialog and saves the project as the resulting filename.

-

Shows a save file dialog for the user to save their current project as a different filename from the current one. Also triggered by save_project() if the file hasn't been saved yet.

-
Returns
TRUE if the user saved the project. FALSE if they cancelled out of the save file dialog. Useful if a user is closing an unsaved project, clicks "Yes" to save, we know if they actually saved or not and won't continue closing the project if they didn't.
- -
-
- -

◆ set_rendering_state()

- -
-
- - - - - - - - -
void OliveGlobal::set_rendering_state (bool rendering)
-
- -

Set the application state depending on if the user is exporting a video.

-

Some background functions shouldn't run while Olive is exporting a video. This function will disable/enable them as necessary.

-

The current functions are as follows:

    -
  • Auto-recovery interval. Olive saves an auto-recovery just before exporting anyway and seeing as the user cannot make changes while rendering, there's no reason to continue saving auto-recovery files.
  • -
  • Audio device playback. Olive uses the same internal audio buffer for exporting as it does for playback, but this buffer does not need to be forwarded to the output device when exporting.
  • -
-
Parameters
- - -
renderingTRUE if Olive is about to export a video. FALSE if Olive has finished exporting.
-
-
- -
-
- -

◆ undo

- -
-
- - - - - -
- - - - - - - -
void OliveGlobal::undo ()
-
-slot
-
- -

Undo user's last action.

- -
-
- -

◆ update_project_filename()

- -
-
- - - - - - - - -
void OliveGlobal::update_project_filename (const QString & s)
-
- -

Change the current active project filename.

-

Triggered to change the current active project filename. Call this before calling any internal project saving or loading functions in order to set which file to work with (OliveGlobal::open_project() and OliveGlobal::save_project_as() do this automatically). Also updates the main window title to reflect the project filename.

-
Parameters
- - -
sThe URL of the project file to work with. Can be an empty string, in which case Olive will treat the project as an unsaved project.
-
-
- -
-
-

Member Data Documentation

- -

◆ autorecovery_timer

- -
-
- - - - - -
- - - - -
QTimer OliveGlobal::autorecovery_timer
-
-private
-
- -

Regular interval to save an auto-recovery project.

- -
-
- -

◆ enable_load_project_on_init

- -
-
- - - - - -
- - - - -
bool OliveGlobal::enable_load_project_on_init
-
-private
-
- -

Internal variable set to TRUE by main() if a project file was set as an argument.

- -
-
- -

◆ project_file_filter

- -
-
- - - - - -
- - - - -
QString OliveGlobal::project_file_filter
-
-private
-
- -

File filter used for any file dialogs relating to Olive project files.

- -
-
- -

◆ translator

- -
-
- - - - - -
- - - - -
std::unique_ptr<QTranslator> OliveGlobal::translator
-
-private
-
- -

Internal translator object that interfaces with the currently loaded language file.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_olive_global.png b/docs/html/class_olive_global.png deleted file mode 100644 index 76473c44b..000000000 Binary files a/docs/html/class_olive_global.png and /dev/null differ diff --git a/docs/html/class_pan_effect-members.html b/docs/html/class_pan_effect-members.html deleted file mode 100644 index ed9b1e939..000000000 --- a/docs/html/class_pan_effect-members.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
PanEffect Member List
-
-
- -

This is the complete list of members for PanEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
close()Effect
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
open()Effect
pan_valPanEffect
PanEffect(ClipPtr c, const EffectMeta *em)PanEffect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)PanEffectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)Effectvirtual
save_to_string()Effect
set_enabled(bool b)Effect
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_pan_effect.html b/docs/html/class_pan_effect.html deleted file mode 100644 index e6d0f608f..000000000 --- a/docs/html/class_pan_effect.html +++ /dev/null @@ -1,318 +0,0 @@ - - - - - - - -Olive: PanEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
PanEffect Class Reference
-
-
- -

#include <paneffect.h>

-
-Inheritance diagram for PanEffect:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 PanEffect (ClipPtr c, const EffectMeta *em)
 
void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

EffectFieldpan_val
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ PanEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
PanEffect::PanEffect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ process_audio()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void PanEffect::process_audio (double timecode_start,
double timecode_end,
quint8 * samples,
int nb_bytes,
int channel_count 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-

Member Data Documentation

- -

◆ pan_val

- -
-
- - - - -
EffectField* PanEffect::pan_val
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_pan_effect.png b/docs/html/class_pan_effect.png deleted file mode 100644 index 9d870bebe..000000000 Binary files a/docs/html/class_pan_effect.png and /dev/null differ diff --git a/docs/html/class_panel-members.html b/docs/html/class_panel-members.html deleted file mode 100644 index 022b41a57..000000000 --- a/docs/html/class_panel-members.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Panel Member List
-
-
- -

This is the complete list of members for Panel, including all inherited members.

- - - - -
event(QEvent *e) overridePanelvirtual
Panel(QWidget *parent=nullptr)Panel
Retranslate()=0Panelprotectedpure virtual
- - - - diff --git a/docs/html/class_panel.html b/docs/html/class_panel.html deleted file mode 100644 index 510f5392c..000000000 --- a/docs/html/class_panel.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - -Olive: Panel Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
Panel Class Referenceabstract
-
-
- -

#include <panel.h>

-
-Inheritance diagram for Panel:
-
-
- - -EffectControls -GraphEditor -Project -Timeline -Viewer - -
- - - - - - -

-Public Member Functions

 Panel (QWidget *parent=nullptr)
 
virtual bool event (QEvent *e) override
 
- - - -

-Protected Member Functions

virtual void Retranslate ()=0
 
-

Constructor & Destructor Documentation

- -

◆ Panel()

- -
-
- - - - - - - - -
Panel::Panel (QWidget * parent = nullptr)
-
- -
-
-

Member Function Documentation

- -

◆ event()

- -
-
- - - - - -
- - - - - - - - -
bool Panel::event (QEvent * e)
-
-overridevirtual
-
- -
-
- -

◆ Retranslate()

- -
-
- - - - - -
- - - - - - - -
virtual void Panel::Retranslate ()
-
-protectedpure virtual
-
- -

Implemented in Timeline, Viewer, EffectControls, Project, and GraphEditor.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_panel.png b/docs/html/class_panel.png deleted file mode 100644 index 3b0bcddf9..000000000 Binary files a/docs/html/class_panel.png and /dev/null differ diff --git a/docs/html/class_play_button-members.html b/docs/html/class_play_button-members.html deleted file mode 100644 index bffb82c41..000000000 --- a/docs/html/class_play_button-members.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
PlayButton Member List
-
-
- -

This is the complete list of members for PlayButton, including all inherited members.

- - - - -
pause_textPlayButtonprivate
play_textPlayButtonprivate
PlayButton(QWidget *parent=0)PlayButton
- - - - diff --git a/docs/html/class_play_button.html b/docs/html/class_play_button.html deleted file mode 100644 index 42f89ac90..000000000 --- a/docs/html/class_play_button.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - -Olive: PlayButton Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
PlayButton Class Reference
-
-
- -

#include <playbutton.h>

-
-Inheritance diagram for PlayButton:
-
-
- -
- - - - -

-Public Member Functions

 PlayButton (QWidget *parent=0)
 
- - - - - -

-Private Attributes

QString play_text
 
QString pause_text
 
-

Constructor & Destructor Documentation

- -

◆ PlayButton()

- -
-
- - - - - - - - -
PlayButton::PlayButton (QWidget * parent = 0)
-
- -
-
-

Member Data Documentation

- -

◆ pause_text

- -
-
- - - - - -
- - - - -
QString PlayButton::pause_text
-
-private
-
- -
-
- -

◆ play_text

- -
-
- - - - - -
- - - - -
QString PlayButton::play_text
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_play_button.png b/docs/html/class_play_button.png deleted file mode 100644 index afbe5ae27..000000000 Binary files a/docs/html/class_play_button.png and /dev/null differ diff --git a/docs/html/class_preferences_dialog-members.html b/docs/html/class_preferences_dialog-members.html deleted file mode 100644 index f273a110e..000000000 --- a/docs/html/class_preferences_dialog-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
PreferencesDialog Member List
-
-
- -

This is the complete list of members for PreferencesDialog, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
accurateSeekButtonPreferencesDialogprivate
add_default_effects_to_clipsPreferencesDialogprivate
audio_input_devicesPreferencesDialogprivate
audio_output_devicesPreferencesDialogprivate
audio_sample_ratePreferencesDialogprivate
browse_css_file()PreferencesDialogprivateslot
custom_css_fnPreferencesDialogprivate
delete_all_previews()PreferencesDialogprivateslot
delete_previews(char type)PreferencesDialogprivate
effect_textbox_lines_fieldPreferencesDialogprivate
fastSeekButtonPreferencesDialogprivate
imgSeqFormatEditPreferencesDialogprivate
key_shortcut_actionsPreferencesDialogprivate
key_shortcut_fieldsPreferencesDialogprivate
key_shortcut_itemsPreferencesDialogprivate
keyboard_treePreferencesDialogprivate
language_comboboxPreferencesDialogprivate
load_shortcut_file()PreferencesDialogprivateslot
PreferencesDialog(QWidget *parent=nullptr)PreferencesDialogexplicit
previous_queue_spinboxPreferencesDialogprivate
previous_queue_typePreferencesDialogprivate
recordingComboBoxPreferencesDialogprivate
refine_shortcut_list(const QString &, QTreeWidgetItem *parent=nullptr)PreferencesDialogprivateslot
reset_all_shortcuts()PreferencesDialogprivateslot
reset_default_shortcut()PreferencesDialogprivateslot
save()PreferencesDialogprivateslot
save_shortcut_file()PreferencesDialogprivateslot
setup_kbd_shortcut_worker(QMenu *menu, QTreeWidgetItem *parent)PreferencesDialogprivate
setup_kbd_shortcuts(QMenuBar *menu)PreferencesDialog
setup_ui()PreferencesDialogprivate
thumbnail_res_spinboxPreferencesDialogprivate
upcoming_queue_spinboxPreferencesDialogprivate
upcoming_queue_typePreferencesDialogprivate
use_software_fallbacks_checkboxPreferencesDialogprivate
waveform_res_spinboxPreferencesDialogprivate
~PreferencesDialog()PreferencesDialog
- - - - diff --git a/docs/html/class_preferences_dialog.html b/docs/html/class_preferences_dialog.html deleted file mode 100644 index 9bb5709b0..000000000 --- a/docs/html/class_preferences_dialog.html +++ /dev/null @@ -1,1025 +0,0 @@ - - - - - - - -Olive: PreferencesDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <preferencesdialog.h>

-
-Inheritance diagram for PreferencesDialog:
-
-
- -
- - - - - - - - -

-Public Member Functions

 PreferencesDialog (QWidget *parent=nullptr)
 
 ~PreferencesDialog ()
 
void setup_kbd_shortcuts (QMenuBar *menu)
 
- - - - - - - - - - - - - - - - - -

-Private Slots

void save ()
 
void reset_default_shortcut ()
 
void reset_all_shortcuts ()
 
bool refine_shortcut_list (const QString &, QTreeWidgetItem *parent=nullptr)
 
void load_shortcut_file ()
 
void save_shortcut_file ()
 
void browse_css_file ()
 
void delete_all_previews ()
 
- - - - - - - -

-Private Member Functions

void setup_ui ()
 
void setup_kbd_shortcut_worker (QMenu *menu, QTreeWidgetItem *parent)
 
void delete_previews (char type)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

QLineEdit * custom_css_fn
 
QLineEdit * imgSeqFormatEdit
 
QComboBox * recordingComboBox
 
QRadioButton * accurateSeekButton
 
QRadioButton * fastSeekButton
 
QTreeWidget * keyboard_tree
 
QDoubleSpinBox * upcoming_queue_spinbox
 
QComboBox * upcoming_queue_type
 
QDoubleSpinBox * previous_queue_spinbox
 
QComboBox * previous_queue_type
 
QSpinBox * effect_textbox_lines_field
 
QCheckBox * use_software_fallbacks_checkbox
 
QComboBox * audio_output_devices
 
QComboBox * audio_input_devices
 
QComboBox * audio_sample_rate
 
QComboBox * language_combobox
 
QSpinBox * thumbnail_res_spinbox
 
QSpinBox * waveform_res_spinbox
 
QCheckBox * add_default_effects_to_clips
 
QVector< QAction * > key_shortcut_actions
 
QVector< QTreeWidgetItem * > key_shortcut_items
 
QVector< KeySequenceEditor * > key_shortcut_fields
 
-

Constructor & Destructor Documentation

- -

◆ PreferencesDialog()

- -
-
- - - - - -
- - - - - - - - -
PreferencesDialog::PreferencesDialog (QWidget * parent = nullptr)
-
-explicit
-
- -
-
- -

◆ ~PreferencesDialog()

- -
-
- - - - - - - -
PreferencesDialog::~PreferencesDialog ()
-
- -
-
-

Member Function Documentation

- -

◆ browse_css_file

- -
-
- - - - - -
- - - - - - - -
void PreferencesDialog::browse_css_file ()
-
-privateslot
-
- -
-
- -

◆ delete_all_previews

- -
-
- - - - - -
- - - - - - - -
void PreferencesDialog::delete_all_previews ()
-
-privateslot
-
- -
-
- -

◆ delete_previews()

- -
-
- - - - - -
- - - - - - - - -
void PreferencesDialog::delete_previews (char type)
-
-private
-
- -
-
- -

◆ load_shortcut_file

- -
-
- - - - - -
- - - - - - - -
void PreferencesDialog::load_shortcut_file ()
-
-privateslot
-
- -
-
- -

◆ refine_shortcut_list

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool PreferencesDialog::refine_shortcut_list (const QString & s,
QTreeWidgetItem * parent = nullptr 
)
-
-privateslot
-
- -
-
- -

◆ reset_all_shortcuts

- -
-
- - - - - -
- - - - - - - -
void PreferencesDialog::reset_all_shortcuts ()
-
-privateslot
-
- -
-
- -

◆ reset_default_shortcut

- -
-
- - - - - -
- - - - - - - -
void PreferencesDialog::reset_default_shortcut ()
-
-privateslot
-
- -
-
- -

◆ save

- -
-
- - - - - -
- - - - - - - -
void PreferencesDialog::save ()
-
-privateslot
-
- -
-
- -

◆ save_shortcut_file

- -
-
- - - - - -
- - - - - - - -
void PreferencesDialog::save_shortcut_file ()
-
-privateslot
-
- -
-
- -

◆ setup_kbd_shortcut_worker()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void PreferencesDialog::setup_kbd_shortcut_worker (QMenu * menu,
QTreeWidgetItem * parent 
)
-
-private
-
- -
-
- -

◆ setup_kbd_shortcuts()

- -
-
- - - - - - - - -
void PreferencesDialog::setup_kbd_shortcuts (QMenuBar * menu)
-
- -
-
- -

◆ setup_ui()

- -
-
- - - - - -
- - - - - - - -
void PreferencesDialog::setup_ui ()
-
-private
-
- -
-
-

Member Data Documentation

- -

◆ accurateSeekButton

- -
-
- - - - - -
- - - - -
QRadioButton* PreferencesDialog::accurateSeekButton
-
-private
-
- -
-
- -

◆ add_default_effects_to_clips

- -
-
- - - - - -
- - - - -
QCheckBox* PreferencesDialog::add_default_effects_to_clips
-
-private
-
- -
-
- -

◆ audio_input_devices

- -
-
- - - - - -
- - - - -
QComboBox* PreferencesDialog::audio_input_devices
-
-private
-
- -
-
- -

◆ audio_output_devices

- -
-
- - - - - -
- - - - -
QComboBox* PreferencesDialog::audio_output_devices
-
-private
-
- -
-
- -

◆ audio_sample_rate

- -
-
- - - - - -
- - - - -
QComboBox* PreferencesDialog::audio_sample_rate
-
-private
-
- -
-
- -

◆ custom_css_fn

- -
-
- - - - - -
- - - - -
QLineEdit* PreferencesDialog::custom_css_fn
-
-private
-
- -
-
- -

◆ effect_textbox_lines_field

- -
-
- - - - - -
- - - - -
QSpinBox* PreferencesDialog::effect_textbox_lines_field
-
-private
-
- -
-
- -

◆ fastSeekButton

- -
-
- - - - - -
- - - - -
QRadioButton* PreferencesDialog::fastSeekButton
-
-private
-
- -
-
- -

◆ imgSeqFormatEdit

- -
-
- - - - - -
- - - - -
QLineEdit* PreferencesDialog::imgSeqFormatEdit
-
-private
-
- -
-
- -

◆ key_shortcut_actions

- -
-
- - - - - -
- - - - -
QVector<QAction*> PreferencesDialog::key_shortcut_actions
-
-private
-
- -
-
- -

◆ key_shortcut_fields

- -
-
- - - - - -
- - - - -
QVector<KeySequenceEditor*> PreferencesDialog::key_shortcut_fields
-
-private
-
- -
-
- -

◆ key_shortcut_items

- -
-
- - - - - -
- - - - -
QVector<QTreeWidgetItem*> PreferencesDialog::key_shortcut_items
-
-private
-
- -
-
- -

◆ keyboard_tree

- -
-
- - - - - -
- - - - -
QTreeWidget* PreferencesDialog::keyboard_tree
-
-private
-
- -
-
- -

◆ language_combobox

- -
-
- - - - - -
- - - - -
QComboBox* PreferencesDialog::language_combobox
-
-private
-
- -
-
- -

◆ previous_queue_spinbox

- -
-
- - - - - -
- - - - -
QDoubleSpinBox* PreferencesDialog::previous_queue_spinbox
-
-private
-
- -
-
- -

◆ previous_queue_type

- -
-
- - - - - -
- - - - -
QComboBox* PreferencesDialog::previous_queue_type
-
-private
-
- -
-
- -

◆ recordingComboBox

- -
-
- - - - - -
- - - - -
QComboBox* PreferencesDialog::recordingComboBox
-
-private
-
- -
-
- -

◆ thumbnail_res_spinbox

- -
-
- - - - - -
- - - - -
QSpinBox* PreferencesDialog::thumbnail_res_spinbox
-
-private
-
- -
-
- -

◆ upcoming_queue_spinbox

- -
-
- - - - - -
- - - - -
QDoubleSpinBox* PreferencesDialog::upcoming_queue_spinbox
-
-private
-
- -
-
- -

◆ upcoming_queue_type

- -
-
- - - - - -
- - - - -
QComboBox* PreferencesDialog::upcoming_queue_type
-
-private
-
- -
-
- -

◆ use_software_fallbacks_checkbox

- -
-
- - - - - -
- - - - -
QCheckBox* PreferencesDialog::use_software_fallbacks_checkbox
-
-private
-
- -
-
- -

◆ waveform_res_spinbox

- -
-
- - - - - -
- - - - -
QSpinBox* PreferencesDialog::waveform_res_spinbox
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_preferences_dialog.png b/docs/html/class_preferences_dialog.png deleted file mode 100644 index d480f0ad5..000000000 Binary files a/docs/html/class_preferences_dialog.png and /dev/null differ diff --git a/docs/html/class_preview_generator-members.html b/docs/html/class_preview_generator-members.html deleted file mode 100644 index dcb174893..000000000 --- a/docs/html/class_preview_generator-members.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
PreviewGenerator Member List
-
-
- -

This is the complete list of members for PreviewGenerator, including all inherited members.

- - - - - - - - - - - - - - - - - - -
cancel()PreviewGenerator
cancelledPreviewGeneratorprivate
contains_still_imagePreviewGeneratorprivate
data_dirPreviewGeneratorprivate
finalize_media()PreviewGeneratorprivate
fmt_ctxPreviewGeneratorprivate
footagePreviewGeneratorprivate
generate_waveform()PreviewGeneratorprivate
get_thumbnail_path(const QString &hash, const FootageStream &ms)PreviewGeneratorprivate
get_waveform_path(const QString &hash, const FootageStream &ms)PreviewGeneratorprivate
mediaPreviewGeneratorprivate
parse_media()PreviewGeneratorprivate
PreviewGenerator(Media *, FootagePtr, bool)PreviewGenerator
replacePreviewGeneratorprivate
retrieve_durationPreviewGeneratorprivate
retrieve_preview(const QString &hash)PreviewGeneratorprivate
run()PreviewGenerator
- - - - diff --git a/docs/html/class_preview_generator.html b/docs/html/class_preview_generator.html deleted file mode 100644 index a3a6121b1..000000000 --- a/docs/html/class_preview_generator.html +++ /dev/null @@ -1,557 +0,0 @@ - - - - - - - -Olive: PreviewGenerator Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <previewgenerator.h>

-
-Inheritance diagram for PreviewGenerator:
-
-
- -
- - - - - - - - -

-Public Member Functions

 PreviewGenerator (Media *, FootagePtr, bool)
 
void run ()
 
void cancel ()
 
- - - - - - - - - - - - - -

-Private Member Functions

void parse_media ()
 
bool retrieve_preview (const QString &hash)
 
void generate_waveform ()
 
void finalize_media ()
 
QString get_thumbnail_path (const QString &hash, const FootageStream &ms)
 
QString get_waveform_path (const QString &hash, const FootageStream &ms)
 
- - - - - - - - - - - - - - - - - -

-Private Attributes

AVFormatContext * fmt_ctx
 
Mediamedia
 
FootagePtr footage
 
bool retrieve_duration
 
bool contains_still_image
 
bool replace
 
bool cancelled
 
QDir data_dir
 
-

Constructor & Destructor Documentation

- -

◆ PreviewGenerator()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
PreviewGenerator::PreviewGenerator (Mediai,
FootagePtr m,
bool r 
)
-
- -
-
-

Member Function Documentation

- -

◆ cancel()

- -
-
- - - - - - - -
void PreviewGenerator::cancel ()
-
- -
-
- -

◆ finalize_media()

- -
-
- - - - - -
- - - - - - - -
void PreviewGenerator::finalize_media ()
-
-private
-
- -
-
- -

◆ generate_waveform()

- -
-
- - - - - -
- - - - - - - -
void PreviewGenerator::generate_waveform ()
-
-private
-
- -
-
- -

◆ get_thumbnail_path()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
QString PreviewGenerator::get_thumbnail_path (const QString & hash,
const FootageStreamms 
)
-
-private
-
- -
-
- -

◆ get_waveform_path()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
QString PreviewGenerator::get_waveform_path (const QString & hash,
const FootageStreamms 
)
-
-private
-
- -
-
- -

◆ parse_media()

- -
-
- - - - - -
- - - - - - - -
void PreviewGenerator::parse_media ()
-
-private
-
- -
-
- -

◆ retrieve_preview()

- -
-
- - - - - -
- - - - - - - - -
bool PreviewGenerator::retrieve_preview (const QString & hash)
-
-private
-
- -
-
- -

◆ run()

- -
-
- - - - - - - -
void PreviewGenerator::run ()
-
- -
-
-

Member Data Documentation

- -

◆ cancelled

- -
-
- - - - - -
- - - - -
bool PreviewGenerator::cancelled
-
-private
-
- -
-
- -

◆ contains_still_image

- -
-
- - - - - -
- - - - -
bool PreviewGenerator::contains_still_image
-
-private
-
- -
-
- -

◆ data_dir

- -
-
- - - - - -
- - - - -
QDir PreviewGenerator::data_dir
-
-private
-
- -
-
- -

◆ fmt_ctx

- -
-
- - - - - -
- - - - -
AVFormatContext* PreviewGenerator::fmt_ctx
-
-private
-
- -
-
- -

◆ footage

- -
-
- - - - - -
- - - - -
FootagePtr PreviewGenerator::footage
-
-private
-
- -
-
- -

◆ media

- -
-
- - - - - -
- - - - -
Media* PreviewGenerator::media
-
-private
-
- -
-
- -

◆ replace

- -
-
- - - - - -
- - - - -
bool PreviewGenerator::replace
-
-private
-
- -
-
- -

◆ retrieve_duration

- -
-
- - - - - -
- - - - -
bool PreviewGenerator::retrieve_duration
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_preview_generator.png b/docs/html/class_preview_generator.png deleted file mode 100644 index 9fb8cb7b5..000000000 Binary files a/docs/html/class_preview_generator.png and /dev/null differ diff --git a/docs/html/class_project-members.html b/docs/html/class_project-members.html deleted file mode 100644 index 64a0ecbd9..000000000 --- a/docs/html/class_project-members.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Project Member List
-
-
- -

This is the complete list of members for Project, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_recent_project(QString url)Project
clear()Project
clear_recent_projects()Projectprivateslot
create_folder_internal(QString name)Project
create_sequence_internal(ComboAction *ca, SequencePtr s, bool open, Media *parent)Project
delete_clips_using_selected_media()Projectslot
delete_selected_media()Projectslot
directory_upProjectprivate
duplicate_selected()Projectslot
event(QEvent *e) overridePanelvirtual
folder_idProjectprivate
get_all_media_from_table(QList< Media * > &items, QList< Media * > &list, int type=-1)Project
get_current_selected()Project
get_file_name_from_path(const QString &path)Projectprivate
get_next_sequence_name(QString start=nullptr)Project
get_selected_folder()Project
go_up_dir()Projectprivateslot
icon_viewProject
icon_view_containerProjectprivate
import_dialog()Projectslot
is_focused()Project
item_to_media(const QModelIndex &index)Project
last_imported_mediaProject
list_all_project_sequences()Project
list_all_sequences_worker(QVector< Media * > *list, Media *parent)Projectprivate
load_project(bool autorecovery)Project
make_new_menu()Projectprivateslot
media_idProjectprivate
new_folder()Projectslot
new_project()Project
new_sequence()Projectslot
open_properties()Projectslot
Panel(QWidget *parent=nullptr)Panel
process_file_list(QStringList &files, bool recursive=false, Media *replace=nullptr, Media *parent=nullptr)Project
proj_dirProjectprivate
Project(QWidget *parent=nullptr)Projectexplicit
replace_clip_media()Projectslot
replace_media(Media *item, QString filename)Project
replace_selected_file()Projectslot
Retranslate() overrideProjectprotectedvirtual
reveal_media(Media *media, QModelIndex parent=QModelIndex())Project
save_folder(QXmlStreamWriter &stream, int type, bool set_ids_only, const QModelIndex &parent=QModelIndex())Projectprivate
save_project(bool autorecovery)Project
save_recent_projects()Project
sequence_idProjectprivate
set_icon_view()Projectprivateslot
set_icon_view_size(int)Projectprivateslot
set_tree_view()Projectprivateslot
set_up_dir_enabled()Projectprivateslot
sorterProject
sources_commonProject
start_preview_generator(Media *item, bool replacing)Project
toolbar_searchProjectprivate
toolbar_widgetProject
tree_viewProject
update_view_type()Projectprivateslot
~Project()Project
- - - - diff --git a/docs/html/class_project.html b/docs/html/class_project.html deleted file mode 100644 index b82b2f6f5..000000000 --- a/docs/html/class_project.html +++ /dev/null @@ -1,1509 +0,0 @@ - - - - - - - -Olive: Project Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <project.h>

-
-Inheritance diagram for Project:
-
-
- - -Panel - -
- - - - - - - - - - - - - - - - - - - - -

-Public Slots

void import_dialog ()
 
void delete_selected_media ()
 
void duplicate_selected ()
 
void delete_clips_using_selected_media ()
 
void replace_selected_file ()
 
void replace_clip_media ()
 
void open_properties ()
 
void new_folder ()
 
void new_sequence ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Project (QWidget *parent=nullptr)
 
 ~Project ()
 
bool is_focused ()
 
void clear ()
 
Mediacreate_sequence_internal (ComboAction *ca, SequencePtr s, bool open, Media *parent)
 
QString get_next_sequence_name (QString start=nullptr)
 
void process_file_list (QStringList &files, bool recursive=false, Media *replace=nullptr, Media *parent=nullptr)
 
void replace_media (Media *item, QString filename)
 
Mediaget_selected_folder ()
 
bool reveal_media (Media *media, QModelIndex parent=QModelIndex())
 
void add_recent_project (QString url)
 
void new_project ()
 
void load_project (bool autorecovery)
 
void save_project (bool autorecovery)
 
Mediacreate_folder_internal (QString name)
 
Mediaitem_to_media (const QModelIndex &index)
 
void save_recent_projects ()
 
QVector< Media * > list_all_project_sequences ()
 
QModelIndexList get_current_selected ()
 
void start_preview_generator (Media *item, bool replacing)
 
void get_all_media_from_table (QList< Media * > &items, QList< Media * > &list, int type=-1)
 
- Public Member Functions inherited from Panel
 Panel (QWidget *parent=nullptr)
 
virtual bool event (QEvent *e) override
 
- - - - - - - - - - - - - -

-Public Attributes

SourceTabletree_view
 
SourceIconViewicon_view
 
SourcesCommonsources_common
 
ProjectFiltersorter
 
QVector< Media * > last_imported_media
 
QWidget * toolbar_widget
 
- - - -

-Protected Member Functions

virtual void Retranslate () override
 
- - - - - - - - - - - - - - - - - -

-Private Slots

void update_view_type ()
 
void set_icon_view ()
 
void set_tree_view ()
 
void clear_recent_projects ()
 
void set_icon_view_size (int)
 
void set_up_dir_enabled ()
 
void go_up_dir ()
 
void make_new_menu ()
 
- - - - - - - -

-Private Member Functions

void save_folder (QXmlStreamWriter &stream, int type, bool set_ids_only, const QModelIndex &parent=QModelIndex())
 
void list_all_sequences_worker (QVector< Media * > *list, Media *parent)
 
QString get_file_name_from_path (const QString &path)
 
- - - - - - - - - - - - - - - -

-Private Attributes

int folder_id
 
int media_id
 
int sequence_id
 
QDir proj_dir
 
QWidget * icon_view_container
 
QPushButton * directory_up
 
QLineEdit * toolbar_search
 
-

Constructor & Destructor Documentation

- -

◆ Project()

- -
-
- - - - - -
- - - - - - - - -
Project::Project (QWidget * parent = nullptr)
-
-explicit
-
- -
-
- -

◆ ~Project()

- -
-
- - - - - - - -
Project::~Project ()
-
- -
-
-

Member Function Documentation

- -

◆ add_recent_project()

- -
-
- - - - - - - - -
void Project::add_recent_project (QString url)
-
- -
-
- -

◆ clear()

- -
-
- - - - - - - -
void Project::clear ()
-
- -
-
- -

◆ clear_recent_projects

- -
-
- - - - - -
- - - - - - - -
void Project::clear_recent_projects ()
-
-privateslot
-
- -
-
- -

◆ create_folder_internal()

- -
-
- - - - - - - - -
Media * Project::create_folder_internal (QString name)
-
- -
-
- -

◆ create_sequence_internal()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Media * Project::create_sequence_internal (ComboActionca,
SequencePtr s,
bool open,
Mediaparent 
)
-
- -
-
- -

◆ delete_clips_using_selected_media

- -
-
- - - - - -
- - - - - - - -
void Project::delete_clips_using_selected_media ()
-
-slot
-
- -
-
- -

◆ delete_selected_media

- -
-
- - - - - -
- - - - - - - -
void Project::delete_selected_media ()
-
-slot
-
- -
-
- -

◆ duplicate_selected

- -
-
- - - - - -
- - - - - - - -
void Project::duplicate_selected ()
-
-slot
-
- -
-
- -

◆ get_all_media_from_table()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void Project::get_all_media_from_table (QList< Media * > & items,
QList< Media * > & list,
int type = -1 
)
-
- -
-
- -

◆ get_current_selected()

- -
-
- - - - - - - -
QModelIndexList Project::get_current_selected ()
-
- -
-
- -

◆ get_file_name_from_path()

- -
-
- - - - - -
- - - - - - - - -
QString Project::get_file_name_from_path (const QString & path)
-
-private
-
- -
-
- -

◆ get_next_sequence_name()

- -
-
- - - - - - - - -
QString Project::get_next_sequence_name (QString start = nullptr)
-
- -
-
- -

◆ get_selected_folder()

- -
-
- - - - - - - -
Media * Project::get_selected_folder ()
-
- -
-
- -

◆ go_up_dir

- -
-
- - - - - -
- - - - - - - -
void Project::go_up_dir ()
-
-privateslot
-
- -
-
- -

◆ import_dialog

- -
-
- - - - - -
- - - - - - - -
void Project::import_dialog ()
-
-slot
-
- -
-
- -

◆ is_focused()

- -
-
- - - - - - - -
bool Project::is_focused ()
-
- -
-
- -

◆ item_to_media()

- -
-
- - - - - - - - -
Media * Project::item_to_media (const QModelIndex & index)
-
- -
-
- -

◆ list_all_project_sequences()

- -
-
- - - - - - - -
QVector< Media * > Project::list_all_project_sequences ()
-
- -
-
- -

◆ list_all_sequences_worker()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void Project::list_all_sequences_worker (QVector< Media * > * list,
Mediaparent 
)
-
-private
-
- -
-
- -

◆ load_project()

- -
-
- - - - - - - - -
void Project::load_project (bool autorecovery)
-
- -
-
- -

◆ make_new_menu

- -
-
- - - - - -
- - - - - - - -
void Project::make_new_menu ()
-
-privateslot
-
- -
-
- -

◆ new_folder

- -
-
- - - - - -
- - - - - - - -
void Project::new_folder ()
-
-slot
-
- -
-
- -

◆ new_project()

- -
-
- - - - - - - -
void Project::new_project ()
-
- -
-
- -

◆ new_sequence

- -
-
- - - - - -
- - - - - - - -
void Project::new_sequence ()
-
-slot
-
- -
-
- -

◆ open_properties

- -
-
- - - - - -
- - - - - - - -
void Project::open_properties ()
-
-slot
-
- -
-
- -

◆ process_file_list()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Project::process_file_list (QStringList & files,
bool recursive = false,
Mediareplace = nullptr,
Mediaparent = nullptr 
)
-
- -
-
- -

◆ replace_clip_media

- -
-
- - - - - -
- - - - - - - -
void Project::replace_clip_media ()
-
-slot
-
- -
-
- -

◆ replace_media()

- -
-
- - - - - - - - - - - - - - - - - - -
void Project::replace_media (Mediaitem,
QString filename 
)
-
- -
-
- -

◆ replace_selected_file

- -
-
- - - - - -
- - - - - - - -
void Project::replace_selected_file ()
-
-slot
-
- -
-
- -

◆ Retranslate()

- -
-
- - - - - -
- - - - - - - -
void Project::Retranslate ()
-
-overrideprotectedvirtual
-
- -

Implements Panel.

- -
-
- -

◆ reveal_media()

- -
-
- - - - - - - - - - - - - - - - - - -
bool Project::reveal_media (Mediamedia,
QModelIndex parent = QModelIndex() 
)
-
- -
-
- -

◆ save_folder()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Project::save_folder (QXmlStreamWriter & stream,
int type,
bool set_ids_only,
const QModelIndex & parent = QModelIndex() 
)
-
-private
-
- -
-
- -

◆ save_project()

- -
-
- - - - - - - - -
void Project::save_project (bool autorecovery)
-
- -
-
- -

◆ save_recent_projects()

- -
-
- - - - - - - -
void Project::save_recent_projects ()
-
- -
-
- -

◆ set_icon_view

- -
-
- - - - - -
- - - - - - - -
void Project::set_icon_view ()
-
-privateslot
-
- -
-
- -

◆ set_icon_view_size

- -
-
- - - - - -
- - - - - - - - -
void Project::set_icon_view_size (int s)
-
-privateslot
-
- -
-
- -

◆ set_tree_view

- -
-
- - - - - -
- - - - - - - -
void Project::set_tree_view ()
-
-privateslot
-
- -
-
- -

◆ set_up_dir_enabled

- -
-
- - - - - -
- - - - - - - -
void Project::set_up_dir_enabled ()
-
-privateslot
-
- -
-
- -

◆ start_preview_generator()

- -
-
- - - - - - - - - - - - - - - - - - -
void Project::start_preview_generator (Mediaitem,
bool replacing 
)
-
- -
-
- -

◆ update_view_type

- -
-
- - - - - -
- - - - - - - -
void Project::update_view_type ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ directory_up

- -
-
- - - - - -
- - - - -
QPushButton* Project::directory_up
-
-private
-
- -
-
- -

◆ folder_id

- -
-
- - - - - -
- - - - -
int Project::folder_id
-
-private
-
- -
-
- -

◆ icon_view

- -
-
- - - - -
SourceIconView* Project::icon_view
-
- -
-
- -

◆ icon_view_container

- -
-
- - - - - -
- - - - -
QWidget* Project::icon_view_container
-
-private
-
- -
-
- -

◆ last_imported_media

- -
-
- - - - -
QVector<Media*> Project::last_imported_media
-
- -
-
- -

◆ media_id

- -
-
- - - - - -
- - - - -
int Project::media_id
-
-private
-
- -
-
- -

◆ proj_dir

- -
-
- - - - - -
- - - - -
QDir Project::proj_dir
-
-private
-
- -
-
- -

◆ sequence_id

- -
-
- - - - - -
- - - - -
int Project::sequence_id
-
-private
-
- -
-
- -

◆ sorter

- -
-
- - - - -
ProjectFilter* Project::sorter
-
- -
-
- -

◆ sources_common

- -
-
- - - - -
SourcesCommon* Project::sources_common
-
- -
-
- -

◆ toolbar_search

- -
-
- - - - - -
- - - - -
QLineEdit* Project::toolbar_search
-
-private
-
- -
-
- -

◆ toolbar_widget

- -
-
- - - - -
QWidget* Project::toolbar_widget
-
- -
-
- -

◆ tree_view

- -
-
- - - - -
SourceTable* Project::tree_view
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_project.png b/docs/html/class_project.png deleted file mode 100644 index 4e7efff79..000000000 Binary files a/docs/html/class_project.png and /dev/null differ diff --git a/docs/html/class_project_filter-members.html b/docs/html/class_project_filter-members.html deleted file mode 100644 index bf3a5472e..000000000 --- a/docs/html/class_project_filter-members.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ProjectFilter Member List
-
-
- -

This is the complete list of members for ProjectFilter, including all inherited members.

- - - - - - - - -
filterAcceptsRow(int source_row, const QModelIndex &source_parent) constProjectFilterprotectedvirtual
get_show_sequences()ProjectFilter
ProjectFilter(QObject *parent=nullptr)ProjectFilter
search_filterProjectFilterprivate
set_show_sequences(bool b)ProjectFilterslot
show_sequencesProjectFilterprivate
update_search_filter(const QString &s)ProjectFilterslot
- - - - diff --git a/docs/html/class_project_filter.html b/docs/html/class_project_filter.html deleted file mode 100644 index 0490b82bc..000000000 --- a/docs/html/class_project_filter.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - -Olive: ProjectFilter Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <projectfilter.h>

-
-Inheritance diagram for ProjectFilter:
-
-
- -
- - - - - - -

-Public Slots

void set_show_sequences (bool b)
 
void update_search_filter (const QString &s)
 
- - - - - -

-Public Member Functions

 ProjectFilter (QObject *parent=nullptr)
 
bool get_show_sequences ()
 
- - - -

-Protected Member Functions

virtual bool filterAcceptsRow (int source_row, const QModelIndex &source_parent) const
 
- - - - - -

-Private Attributes

bool show_sequences
 
QString search_filter
 
-

Constructor & Destructor Documentation

- -

◆ ProjectFilter()

- -
-
- - - - - - - - -
ProjectFilter::ProjectFilter (QObject * parent = nullptr)
-
- -
-
-

Member Function Documentation

- -

◆ filterAcceptsRow()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool ProjectFilter::filterAcceptsRow (int source_row,
const QModelIndex & source_parent 
) const
-
-protectedvirtual
-
- -
-
- -

◆ get_show_sequences()

- -
-
- - - - - - - -
bool ProjectFilter::get_show_sequences ()
-
- -
-
- -

◆ set_show_sequences

- -
-
- - - - - -
- - - - - - - - -
void ProjectFilter::set_show_sequences (bool b)
-
-slot
-
- -
-
- -

◆ update_search_filter

- -
-
- - - - - -
- - - - - - - - -
void ProjectFilter::update_search_filter (const QString & s)
-
-slot
-
- -
-
-

Member Data Documentation

- -

◆ search_filter

- -
-
- - - - - -
- - - - -
QString ProjectFilter::search_filter
-
-private
-
- -
-
- -

◆ show_sequences

- -
-
- - - - - -
- - - - -
bool ProjectFilter::show_sequences
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_project_filter.png b/docs/html/class_project_filter.png deleted file mode 100644 index 7597edf3a..000000000 Binary files a/docs/html/class_project_filter.png and /dev/null differ diff --git a/docs/html/class_project_model-members.html b/docs/html/class_project_model-members.html deleted file mode 100644 index 1e3ab5fbe..000000000 --- a/docs/html/class_project_model-members.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ProjectModel Member List
-
-
- -

This is the complete list of members for ProjectModel, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - -
appendChild(Media *parent, Media *child)ProjectModel
child(int i, Media *parent=nullptr)ProjectModel
childCount(Media *parent=nullptr)ProjectModel
clear()ProjectModel
columnCount(const QModelIndex &parent=QModelIndex()) const overrideProjectModel
create_index(int arow, int acolumn, void *adata)ProjectModel
data(const QModelIndex &index, int role) const overrideProjectModel
destroy_root()ProjectModel
flags(const QModelIndex &index) const overrideProjectModel
get_root()ProjectModel
getItem(const QModelIndex &index) constProjectModel
headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const overrideProjectModel
index(int row, int column, const QModelIndex &parent=QModelIndex()) const overrideProjectModel
make_root()ProjectModel
moveChild(Media *child, Media *to)ProjectModel
parent(const QModelIndex &index) const overrideProjectModel
ProjectModel(QObject *parent=nullptr)ProjectModel
removeChild(Media *parent, Media *m)ProjectModel
root_itemProjectModelprivate
rowCount(const QModelIndex &parent=QModelIndex()) const overrideProjectModel
set_icon(Media *m, const QIcon &ico)ProjectModel
setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) overrideProjectModel
~ProjectModel() overrideProjectModel
- - - - diff --git a/docs/html/class_project_model.html b/docs/html/class_project_model.html deleted file mode 100644 index c0c144923..000000000 --- a/docs/html/class_project_model.html +++ /dev/null @@ -1,757 +0,0 @@ - - - - - - - -Olive: ProjectModel Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ProjectModel Class Reference
-
-
- -

#include <projectmodel.h>

-
-Inheritance diagram for ProjectModel:
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 ProjectModel (QObject *parent=nullptr)
 
 ~ProjectModel () override
 
void make_root ()
 
void destroy_root ()
 
void clear ()
 
Mediaget_root ()
 
QVariant data (const QModelIndex &index, int role) const override
 
Qt::ItemFlags flags (const QModelIndex &index) const override
 
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 
QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const override
 
QModelIndex create_index (int arow, int acolumn, void *adata)
 
QModelIndex parent (const QModelIndex &index) const override
 
bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
 
int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
int columnCount (const QModelIndex &parent=QModelIndex()) const override
 
MediagetItem (const QModelIndex &index) const
 
void appendChild (Media *parent, Media *child)
 
void moveChild (Media *child, Media *to)
 
void removeChild (Media *parent, Media *m)
 
Mediachild (int i, Media *parent=nullptr)
 
int childCount (Media *parent=nullptr)
 
void set_icon (Media *m, const QIcon &ico)
 
- - - -

-Private Attributes

Mediaroot_item
 
-

Constructor & Destructor Documentation

- -

◆ ProjectModel()

- -
-
- - - - - - - - -
ProjectModel::ProjectModel (QObject * parent = nullptr)
-
- -
-
- -

◆ ~ProjectModel()

- -
-
- - - - - -
- - - - - - - -
ProjectModel::~ProjectModel ()
-
-override
-
- -
-
-

Member Function Documentation

- -

◆ appendChild()

- -
-
- - - - - - - - - - - - - - - - - - -
void ProjectModel::appendChild (Mediaparent,
Mediachild 
)
-
- -
-
- -

◆ child()

- -
-
- - - - - - - - - - - - - - - - - - -
Media * ProjectModel::child (int i,
Mediaparent = nullptr 
)
-
- -
-
- -

◆ childCount()

- -
-
- - - - - - - - -
int ProjectModel::childCount (Mediaparent = nullptr)
-
- -
-
- -

◆ clear()

- -
-
- - - - - - - -
void ProjectModel::clear ()
-
- -
-
- -

◆ columnCount()

- -
-
- - - - - -
- - - - - - - - -
int ProjectModel::columnCount (const QModelIndex & parent = QModelIndex()) const
-
-override
-
- -
-
- -

◆ create_index()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
QModelIndex ProjectModel::create_index (int arow,
int acolumn,
void * adata 
)
-
- -
-
- -

◆ data()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
QVariant ProjectModel::data (const QModelIndex & index,
int role 
) const
-
-override
-
- -
-
- -

◆ destroy_root()

- -
-
- - - - - - - -
void ProjectModel::destroy_root ()
-
- -
-
- -

◆ flags()

- -
-
- - - - - -
- - - - - - - - -
Qt::ItemFlags ProjectModel::flags (const QModelIndex & index) const
-
-override
-
- -
-
- -

◆ get_root()

- -
-
- - - - - - - -
Media * ProjectModel::get_root ()
-
- -
-
- -

◆ getItem()

- -
-
- - - - - - - - -
Media * ProjectModel::getItem (const QModelIndex & index) const
-
- -
-
- -

◆ headerData()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
QVariant ProjectModel::headerData (int section,
Qt::Orientation orientation,
int role = Qt::DisplayRole 
) const
-
-override
-
- -
-
- -

◆ index()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
QModelIndex ProjectModel::index (int row,
int column,
const QModelIndex & parent = QModelIndex() 
) const
-
-override
-
- -
-
- -

◆ make_root()

- -
-
- - - - - - - -
void ProjectModel::make_root ()
-
- -
-
- -

◆ moveChild()

- -
-
- - - - - - - - - - - - - - - - - - -
void ProjectModel::moveChild (Mediachild,
Mediato 
)
-
- -
-
- -

◆ parent()

- -
-
- - - - - -
- - - - - - - - -
QModelIndex ProjectModel::parent (const QModelIndex & index) const
-
-override
-
- -
-
- -

◆ removeChild()

- -
-
- - - - - - - - - - - - - - - - - - -
void ProjectModel::removeChild (Mediaparent,
Mediam 
)
-
- -
-
- -

◆ rowCount()

- -
-
- - - - - -
- - - - - - - - -
int ProjectModel::rowCount (const QModelIndex & parent = QModelIndex()) const
-
-override
-
- -
-
- -

◆ set_icon()

- -
-
- - - - - - - - - - - - - - - - - - -
void ProjectModel::set_icon (Mediam,
const QIcon & ico 
)
-
- -
-
- -

◆ setData()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
bool ProjectModel::setData (const QModelIndex & index,
const QVariant & value,
int role = Qt::EditRole 
)
-
-override
-
- -
-
-

Member Data Documentation

- -

◆ root_item

- -
-
- - - - - -
- - - - -
Media* ProjectModel::root_item
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_project_model.png b/docs/html/class_project_model.png deleted file mode 100644 index b9bc1f966..000000000 Binary files a/docs/html/class_project_model.png and /dev/null differ diff --git a/docs/html/class_proxy_dialog-members.html b/docs/html/class_proxy_dialog-members.html deleted file mode 100644 index 8c9de0786..000000000 --- a/docs/html/class_proxy_dialog-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ProxyDialog Member List
-
-
- -

This is the complete list of members for ProxyDialog, including all inherited members.

- - - - - - - - - - -
accept() overrideProxyDialogvirtualslot
custom_locationProxyDialogprivate
format_comboboxProxyDialogprivate
location_changed(int i)ProxyDialogprivateslot
location_comboboxProxyDialogprivate
proxy_folder_nameProxyDialogprivate
ProxyDialog(QWidget *parent, const QVector< FootagePtr > &footage)ProxyDialog
selected_footageProxyDialogprivate
size_comboboxProxyDialogprivate
- - - - diff --git a/docs/html/class_proxy_dialog.html b/docs/html/class_proxy_dialog.html deleted file mode 100644 index 7c167fcc0..000000000 --- a/docs/html/class_proxy_dialog.html +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - -Olive: ProxyDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <proxydialog.h>

-
-Inheritance diagram for ProxyDialog:
-
-
- -
- - - - -

-Public Slots

virtual void accept () override
 
- - - -

-Public Member Functions

 ProxyDialog (QWidget *parent, const QVector< FootagePtr > &footage)
 
- - - -

-Private Slots

void location_changed (int i)
 
- - - - - - - - - - - - - -

-Private Attributes

QComboBox * size_combobox
 
QComboBox * format_combobox
 
QComboBox * location_combobox
 
QString custom_location
 
QString proxy_folder_name
 
QVector< FootagePtrselected_footage
 
-

Constructor & Destructor Documentation

- -

◆ ProxyDialog()

- -
-
- - - - - - - - - - - - - - - - - - -
ProxyDialog::ProxyDialog (QWidget * parent,
const QVector< FootagePtr > & footage 
)
-
- -
-
-

Member Function Documentation

- -

◆ accept

- -
-
- - - - - -
- - - - - - - -
void ProxyDialog::accept ()
-
-overridevirtualslot
-
- -
-
- -

◆ location_changed

- -
-
- - - - - -
- - - - - - - - -
void ProxyDialog::location_changed (int i)
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ custom_location

- -
-
- - - - - -
- - - - -
QString ProxyDialog::custom_location
-
-private
-
- -
-
- -

◆ format_combobox

- -
-
- - - - - -
- - - - -
QComboBox* ProxyDialog::format_combobox
-
-private
-
- -
-
- -

◆ location_combobox

- -
-
- - - - - -
- - - - -
QComboBox* ProxyDialog::location_combobox
-
-private
-
- -
-
- -

◆ proxy_folder_name

- -
-
- - - - - -
- - - - -
QString ProxyDialog::proxy_folder_name
-
-private
-
- -
-
- -

◆ selected_footage

- -
-
- - - - - -
- - - - -
QVector<FootagePtr> ProxyDialog::selected_footage
-
-private
-
- -
-
- -

◆ size_combobox

- -
-
- - - - - -
- - - - -
QComboBox* ProxyDialog::size_combobox
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_proxy_dialog.png b/docs/html/class_proxy_dialog.png deleted file mode 100644 index 22671b929..000000000 Binary files a/docs/html/class_proxy_dialog.png and /dev/null differ diff --git a/docs/html/class_proxy_generator-members.html b/docs/html/class_proxy_generator-members.html deleted file mode 100644 index 22cfe759e..000000000 --- a/docs/html/class_proxy_generator-members.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ProxyGenerator Member List
-
-
- -

This is the complete list of members for ProxyGenerator, including all inherited members.

- - - - - - - - - - - - - -
cancel()ProxyGenerator
cancelledProxyGeneratorprivate
current_progressProxyGeneratorprivate
get_proxy_progress(FootagePtr f)ProxyGenerator
mutexProxyGeneratorprivate
proxy_queueProxyGeneratorprivate
ProxyGenerator()ProxyGenerator
queue(const ProxyInfo &info)ProxyGenerator
run()ProxyGenerator
skipProxyGeneratorprivate
transcode(const ProxyInfo &info)ProxyGeneratorprivate
waitCondProxyGeneratorprivate
- - - - diff --git a/docs/html/class_proxy_generator.html b/docs/html/class_proxy_generator.html deleted file mode 100644 index bfa2f91d7..000000000 --- a/docs/html/class_proxy_generator.html +++ /dev/null @@ -1,375 +0,0 @@ - - - - - - - -Olive: ProxyGenerator Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <proxygenerator.h>

-
-Inheritance diagram for ProxyGenerator:
-
-
- -
- - - - - - - - - - - - -

-Public Member Functions

 ProxyGenerator ()
 
void run ()
 
void queue (const ProxyInfo &info)
 
void cancel ()
 
double get_proxy_progress (FootagePtr f)
 
- - - -

-Private Member Functions

void transcode (const ProxyInfo &info)
 
- - - - - - - - - - - - - -

-Private Attributes

QVector< ProxyInfoproxy_queue
 
QWaitCondition waitCond
 
QMutex mutex
 
bool cancelled
 
bool skip
 
double current_progress
 
-

Constructor & Destructor Documentation

- -

◆ ProxyGenerator()

- -
-
- - - - - - - -
ProxyGenerator::ProxyGenerator ()
-
- -
-
-

Member Function Documentation

- -

◆ cancel()

- -
-
- - - - - - - -
void ProxyGenerator::cancel ()
-
- -
-
- -

◆ get_proxy_progress()

- -
-
- - - - - - - - -
double ProxyGenerator::get_proxy_progress (FootagePtr f)
-
- -
-
- -

◆ queue()

- -
-
- - - - - - - - -
void ProxyGenerator::queue (const ProxyInfoinfo)
-
- -
-
- -

◆ run()

- -
-
- - - - - - - -
void ProxyGenerator::run ()
-
- -
-
- -

◆ transcode()

- -
-
- - - - - -
- - - - - - - - -
void ProxyGenerator::transcode (const ProxyInfoinfo)
-
-private
-
- -
-
-

Member Data Documentation

- -

◆ cancelled

- -
-
- - - - - -
- - - - -
bool ProxyGenerator::cancelled
-
-private
-
- -
-
- -

◆ current_progress

- -
-
- - - - - -
- - - - -
double ProxyGenerator::current_progress
-
-private
-
- -
-
- -

◆ mutex

- -
-
- - - - - -
- - - - -
QMutex ProxyGenerator::mutex
-
-private
-
- -
-
- -

◆ proxy_queue

- -
-
- - - - - -
- - - - -
QVector<ProxyInfo> ProxyGenerator::proxy_queue
-
-private
-
- -
-
- -

◆ skip

- -
-
- - - - - -
- - - - -
bool ProxyGenerator::skip
-
-private
-
- -
-
- -

◆ waitCond

- -
-
- - - - - -
- - - - -
QWaitCondition ProxyGenerator::waitCond
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_proxy_generator.png b/docs/html/class_proxy_generator.png deleted file mode 100644 index bf1095896..000000000 Binary files a/docs/html/class_proxy_generator.png and /dev/null differ diff --git a/docs/html/class_q_painter_wrapper-members.html b/docs/html/class_q_painter_wrapper-members.html deleted file mode 100644 index 2487e1d9b..000000000 --- a/docs/html/class_q_painter_wrapper-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
QPainterWrapper Member List
-
-
- -

This is the complete list of members for QPainterWrapper, including all inherited members.

- - - - - - - - - -
drawRect(int x, int y, int width, int height)QPainterWrapperslot
fill(const QString &color)QPainterWrapperslot
fillRect(int x, int y, int width, int height, const QString &brush)QPainterWrapperslot
imgQPainterWrapper
painterQPainterWrapper
QPainterWrapper()QPainterWrapper
setBrush(const QString &brush)QPainterWrapperslot
setPen(const QString &pen)QPainterWrapperslot
- - - - diff --git a/docs/html/class_q_painter_wrapper.html b/docs/html/class_q_painter_wrapper.html deleted file mode 100644 index 413aa1244..000000000 --- a/docs/html/class_q_painter_wrapper.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - - -Olive: QPainterWrapper Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
QPainterWrapper Class Reference
-
-
- -

#include <qpainterwrapper.h>

-
-Inheritance diagram for QPainterWrapper:
-
-
- -
- - - - - - - - - - - - -

-Public Slots

void fill (const QString &color)
 
void fillRect (int x, int y, int width, int height, const QString &brush)
 
void drawRect (int x, int y, int width, int height)
 
void setPen (const QString &pen)
 
void setBrush (const QString &brush)
 
- - - -

-Public Member Functions

 QPainterWrapper ()
 
- - - - - -

-Public Attributes

QImage * img
 
QPainter * painter
 
-

Constructor & Destructor Documentation

- -

◆ QPainterWrapper()

- -
-
- - - - - - - -
QPainterWrapper::QPainterWrapper ()
-
- -
-
-

Member Function Documentation

- -

◆ drawRect

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void QPainterWrapper::drawRect (int x,
int y,
int width,
int height 
)
-
-slot
-
- -
-
- -

◆ fill

- -
-
- - - - - -
- - - - - - - - -
void QPainterWrapper::fill (const QString & color)
-
-slot
-
- -
-
- -

◆ fillRect

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void QPainterWrapper::fillRect (int x,
int y,
int width,
int height,
const QString & brush 
)
-
-slot
-
- -
-
- -

◆ setBrush

- -
-
- - - - - -
- - - - - - - - -
void QPainterWrapper::setBrush (const QString & brush)
-
-slot
-
- -
-
- -

◆ setPen

- -
-
- - - - - -
- - - - - - - - -
void QPainterWrapper::setPen (const QString & pen)
-
-slot
-
- -
-
-

Member Data Documentation

- -

◆ img

- -
-
- - - - -
QImage* QPainterWrapper::img
-
- -
-
- -

◆ painter

- -
-
- - - - -
QPainter* QPainterWrapper::painter
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_q_painter_wrapper.png b/docs/html/class_q_painter_wrapper.png deleted file mode 100644 index a0e68ce47..000000000 Binary files a/docs/html/class_q_painter_wrapper.png and /dev/null differ diff --git a/docs/html/class_refresh_clips-members.html b/docs/html/class_refresh_clips-members.html deleted file mode 100644 index 3ea9dd1f5..000000000 --- a/docs/html/class_refresh_clips-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
RefreshClips Member List
-
-
- -

This is the complete list of members for RefreshClips, including all inherited members.

- - - - - - - - - -
doRedo() overrideRefreshClipsvirtual
doUndo() overrideRefreshClipsvirtual
mediaRefreshClipsprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
RefreshClips(Media *m)RefreshClips
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_refresh_clips.html b/docs/html/class_refresh_clips.html deleted file mode 100644 index 2ac989fa2..000000000 --- a/docs/html/class_refresh_clips.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - - -Olive: RefreshClips Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
RefreshClips Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for RefreshClips:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 RefreshClips (Media *m)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - -

-Private Attributes

Mediamedia
 
-

Constructor & Destructor Documentation

- -

◆ RefreshClips()

- -
-
- - - - - - - - -
RefreshClips::RefreshClips (Mediam)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void RefreshClips::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void RefreshClips::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ media

- -
-
- - - - - -
- - - - -
Media* RefreshClips::media
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_refresh_clips.png b/docs/html/class_refresh_clips.png deleted file mode 100644 index adc048553..000000000 Binary files a/docs/html/class_refresh_clips.png and /dev/null differ diff --git a/docs/html/class_reload_effects_command-members.html b/docs/html/class_reload_effects_command-members.html deleted file mode 100644 index d8811abb4..000000000 --- a/docs/html/class_reload_effects_command-members.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ReloadEffectsCommand Member List
-
-
- -

This is the complete list of members for ReloadEffectsCommand, including all inherited members.

- - - - - - - -
doRedo() overrideReloadEffectsCommandvirtual
doUndo() overrideReloadEffectsCommandvirtual
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_reload_effects_command.html b/docs/html/class_reload_effects_command.html deleted file mode 100644 index 75dada011..000000000 --- a/docs/html/class_reload_effects_command.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - -Olive: ReloadEffectsCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ReloadEffectsCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for ReloadEffectsCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - -

-Public Member Functions

virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void ReloadEffectsCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void ReloadEffectsCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_reload_effects_command.png b/docs/html/class_reload_effects_command.png deleted file mode 100644 index dde19efea..000000000 Binary files a/docs/html/class_reload_effects_command.png and /dev/null differ diff --git a/docs/html/class_remove_clips_from_clipboard-members.html b/docs/html/class_remove_clips_from_clipboard-members.html deleted file mode 100644 index 512208205..000000000 --- a/docs/html/class_remove_clips_from_clipboard-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
RemoveClipsFromClipboard Member List
-
-
- -

This is the complete list of members for RemoveClipsFromClipboard, including all inherited members.

- - - - - - - - - - - - -
clipRemoveClipsFromClipboardprivate
doneRemoveClipsFromClipboardprivate
doRedo() overrideRemoveClipsFromClipboardvirtual
doUndo() overrideRemoveClipsFromClipboardvirtual
OliveAction(bool iset_window_modified=true)OliveAction
posRemoveClipsFromClipboardprivate
redo() overrideOliveActionvirtual
RemoveClipsFromClipboard(int index)RemoveClipsFromClipboard
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
~RemoveClipsFromClipboard() overrideRemoveClipsFromClipboardvirtual
- - - - diff --git a/docs/html/class_remove_clips_from_clipboard.html b/docs/html/class_remove_clips_from_clipboard.html deleted file mode 100644 index e7f5d353d..000000000 --- a/docs/html/class_remove_clips_from_clipboard.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - -Olive: RemoveClipsFromClipboard Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
RemoveClipsFromClipboard Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for RemoveClipsFromClipboard:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 RemoveClipsFromClipboard (int index)
 
virtual ~RemoveClipsFromClipboard () override
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

int pos
 
ClipPtr clip
 
bool done
 
-

Constructor & Destructor Documentation

- -

◆ RemoveClipsFromClipboard()

- -
-
- - - - - - - - -
RemoveClipsFromClipboard::RemoveClipsFromClipboard (int index)
-
- -
-
- -

◆ ~RemoveClipsFromClipboard()

- -
-
- - - - - -
- - - - - - - -
RemoveClipsFromClipboard::~RemoveClipsFromClipboard ()
-
-overridevirtual
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void RemoveClipsFromClipboard::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void RemoveClipsFromClipboard::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ clip

- -
-
- - - - - -
- - - - -
ClipPtr RemoveClipsFromClipboard::clip
-
-private
-
- -
-
- -

◆ done

- -
-
- - - - - -
- - - - -
bool RemoveClipsFromClipboard::done
-
-private
-
- -
-
- -

◆ pos

- -
-
- - - - - -
- - - - -
int RemoveClipsFromClipboard::pos
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_remove_clips_from_clipboard.png b/docs/html/class_remove_clips_from_clipboard.png deleted file mode 100644 index 09227ce47..000000000 Binary files a/docs/html/class_remove_clips_from_clipboard.png and /dev/null differ diff --git a/docs/html/class_rename_clip_command-members.html b/docs/html/class_rename_clip_command-members.html deleted file mode 100644 index 56ca291b9..000000000 --- a/docs/html/class_rename_clip_command-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
RenameClipCommand Member List
-
-
- -

This is the complete list of members for RenameClipCommand, including all inherited members.

- - - - - - - - - - - -
clipsRenameClipCommand
doRedo() overrideRenameClipCommandvirtual
doUndo() overrideRenameClipCommandvirtual
new_nameRenameClipCommand
old_namesRenameClipCommandprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
RenameClipCommand()RenameClipCommand
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_rename_clip_command.html b/docs/html/class_rename_clip_command.html deleted file mode 100644 index 7d7d92166..000000000 --- a/docs/html/class_rename_clip_command.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - -Olive: RenameClipCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
RenameClipCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for RenameClipCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 RenameClipCommand ()
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - -

-Public Attributes

QVector< ClipPtrclips
 
QString new_name
 
- - - -

-Private Attributes

QVector< QString > old_names
 
-

Constructor & Destructor Documentation

- -

◆ RenameClipCommand()

- -
-
- - - - - - - -
RenameClipCommand::RenameClipCommand ()
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void RenameClipCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void RenameClipCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ clips

- -
-
- - - - -
QVector<ClipPtr> RenameClipCommand::clips
-
- -
-
- -

◆ new_name

- -
-
- - - - -
QString RenameClipCommand::new_name
-
- -
-
- -

◆ old_names

- -
-
- - - - - -
- - - - -
QVector<QString> RenameClipCommand::old_names
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_rename_clip_command.png b/docs/html/class_rename_clip_command.png deleted file mode 100644 index ecc24c62c..000000000 Binary files a/docs/html/class_rename_clip_command.png and /dev/null differ diff --git a/docs/html/class_render_thread-members.html b/docs/html/class_render_thread-members.html deleted file mode 100644 index d0fdd4332..000000000 --- a/docs/html/class_render_thread-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
RenderThread Member List
-
- - - - - diff --git a/docs/html/class_render_thread.html b/docs/html/class_render_thread.html deleted file mode 100644 index 0a5df2f29..000000000 --- a/docs/html/class_render_thread.html +++ /dev/null @@ -1,989 +0,0 @@ - - - - - - - -Olive: RenderThread Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <renderthread.h>

-
-Inheritance diagram for RenderThread:
-
-
- -
- - - - -

-Public Slots

void delete_ctx ()
 
- - - -

-Signals

void ready ()
 
- - - - - - - - - - - - - - - -

-Public Member Functions

 RenderThread ()
 
 ~RenderThread ()
 
void run ()
 
void paint ()
 
void start_render (QOpenGLContext *share, SequencePtr s, const QString &save=nullptr, GLvoid *pixels=nullptr, int pixel_linesize=0, int idivider=0)
 
bool did_texture_fail ()
 
void cancel ()
 
- - - - - - - - - -

-Public Attributes

QMutex mutex
 
GLuint front_buffer
 
GLuint front_texture
 
EffectPtr gizmos
 
- - - - - - - -

-Private Member Functions

void delete_texture ()
 
void delete_fbo ()
 
void delete_shader_program ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

QWaitCondition waitCond
 
QOffscreenSurface surface
 
QOpenGLContext * share_ctx
 
QOpenGLContext * ctx
 
QOpenGLShaderProgram * blend_mode_program
 
QOpenGLShaderProgram * premultiply_program
 
GLuint back_buffer_1
 
GLuint back_buffer_2
 
GLuint back_texture_1
 
GLuint back_texture_2
 
float ocio_lut_data [NUM_3D_ENTRIES]
 
SequencePtr seq
 
int divider
 
int tex_width
 
int tex_height
 
bool queued
 
bool texture_failed
 
bool running
 
QString save_fn
 
GLvoid * pixel_buffer
 
int pixel_buffer_linesize
 
-

Constructor & Destructor Documentation

- -

◆ RenderThread()

- -
-
- - - - - - - -
RenderThread::RenderThread ()
-
- -
-
- -

◆ ~RenderThread()

- -
-
- - - - - - - -
RenderThread::~RenderThread ()
-
- -
-
-

Member Function Documentation

- -

◆ cancel()

- -
-
- - - - - - - -
void RenderThread::cancel ()
-
- -
-
- -

◆ delete_ctx

- -
-
- - - - - -
- - - - - - - -
void RenderThread::delete_ctx ()
-
-slot
-
- -
-
- -

◆ delete_fbo()

- -
-
- - - - - -
- - - - - - - -
void RenderThread::delete_fbo ()
-
-private
-
- -
-
- -

◆ delete_shader_program()

- -
-
- - - - - -
- - - - - - - -
void RenderThread::delete_shader_program ()
-
-private
-
- -
-
- -

◆ delete_texture()

- -
-
- - - - - -
- - - - - - - -
void RenderThread::delete_texture ()
-
-private
-
- -
-
- -

◆ did_texture_fail()

- -
-
- - - - - - - -
bool RenderThread::did_texture_fail ()
-
- -
-
- -

◆ paint()

- -
-
- - - - - - - -
void RenderThread::paint ()
-
- -
-
- -

◆ ready

- -
-
- - - - - -
- - - - - - - -
void RenderThread::ready ()
-
-signal
-
- -
-
- -

◆ run()

- -
-
- - - - - - - -
void RenderThread::run ()
-
- -
-
- -

◆ start_render()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void RenderThread::start_render (QOpenGLContext * share,
SequencePtr s,
const QString & save = nullptr,
GLvoid * pixels = nullptr,
int pixel_linesize = 0,
int idivider = 0 
)
-
- -
-
-

Member Data Documentation

- -

◆ back_buffer_1

- -
-
- - - - - -
- - - - -
GLuint RenderThread::back_buffer_1
-
-private
-
- -
-
- -

◆ back_buffer_2

- -
-
- - - - - -
- - - - -
GLuint RenderThread::back_buffer_2
-
-private
-
- -
-
- -

◆ back_texture_1

- -
-
- - - - - -
- - - - -
GLuint RenderThread::back_texture_1
-
-private
-
- -
-
- -

◆ back_texture_2

- -
-
- - - - - -
- - - - -
GLuint RenderThread::back_texture_2
-
-private
-
- -
-
- -

◆ blend_mode_program

- -
-
- - - - - -
- - - - -
QOpenGLShaderProgram* RenderThread::blend_mode_program
-
-private
-
- -
-
- -

◆ ctx

- -
-
- - - - - -
- - - - -
QOpenGLContext* RenderThread::ctx
-
-private
-
- -
-
- -

◆ divider

- -
-
- - - - - -
- - - - -
int RenderThread::divider
-
-private
-
- -
-
- -

◆ front_buffer

- -
-
- - - - -
GLuint RenderThread::front_buffer
-
- -
-
- -

◆ front_texture

- -
-
- - - - -
GLuint RenderThread::front_texture
-
- -
-
- -

◆ gizmos

- -
-
- - - - -
EffectPtr RenderThread::gizmos
-
- -
-
- -

◆ mutex

- -
-
- - - - -
QMutex RenderThread::mutex
-
- -
-
- -

◆ ocio_lut_data

- -
-
- - - - - -
- - - - -
float RenderThread::ocio_lut_data[NUM_3D_ENTRIES]
-
-private
-
- -
-
- -

◆ pixel_buffer

- -
-
- - - - - -
- - - - -
GLvoid* RenderThread::pixel_buffer
-
-private
-
- -
-
- -

◆ pixel_buffer_linesize

- -
-
- - - - - -
- - - - -
int RenderThread::pixel_buffer_linesize
-
-private
-
- -
-
- -

◆ premultiply_program

- -
-
- - - - - -
- - - - -
QOpenGLShaderProgram* RenderThread::premultiply_program
-
-private
-
- -
-
- -

◆ queued

- -
-
- - - - - -
- - - - -
bool RenderThread::queued
-
-private
-
- -
-
- -

◆ running

- -
-
- - - - - -
- - - - -
bool RenderThread::running
-
-private
-
- -
-
- -

◆ save_fn

- -
-
- - - - - -
- - - - -
QString RenderThread::save_fn
-
-private
-
- -
-
- -

◆ seq

- -
-
- - - - - -
- - - - -
SequencePtr RenderThread::seq
-
-private
-
- -
-
- -

◆ share_ctx

- -
-
- - - - - -
- - - - -
QOpenGLContext* RenderThread::share_ctx
-
-private
-
- -
-
- -

◆ surface

- -
-
- - - - - -
- - - - -
QOffscreenSurface RenderThread::surface
-
-private
-
- -
-
- -

◆ tex_height

- -
-
- - - - - -
- - - - -
int RenderThread::tex_height
-
-private
-
- -
-
- -

◆ tex_width

- -
-
- - - - - -
- - - - -
int RenderThread::tex_width
-
-private
-
- -
-
- -

◆ texture_failed

- -
-
- - - - - -
- - - - -
bool RenderThread::texture_failed
-
-private
-
- -
-
- -

◆ waitCond

- -
-
- - - - - -
- - - - -
QWaitCondition RenderThread::waitCond
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_render_thread.png b/docs/html/class_render_thread.png deleted file mode 100644 index e2cbba746..000000000 Binary files a/docs/html/class_render_thread.png and /dev/null differ diff --git a/docs/html/class_replace_clip_media_command-members.html b/docs/html/class_replace_clip_media_command-members.html deleted file mode 100644 index 19052c5f6..000000000 --- a/docs/html/class_replace_clip_media_command-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ReplaceClipMediaCommand Member List
-
-
- -

This is the complete list of members for ReplaceClipMediaCommand, including all inherited members.

- - - - - - - - - - - - - - -
clipsReplaceClipMediaCommand
doRedo() overrideReplaceClipMediaCommandvirtual
doUndo() overrideReplaceClipMediaCommandvirtual
new_mediaReplaceClipMediaCommandprivate
old_clip_insReplaceClipMediaCommandprivate
old_mediaReplaceClipMediaCommandprivate
OliveAction(bool iset_window_modified=true)OliveAction
preserve_clip_insReplaceClipMediaCommandprivate
redo() overrideOliveActionvirtual
replace(bool undo)ReplaceClipMediaCommandprivate
ReplaceClipMediaCommand(Media *, Media *, bool)ReplaceClipMediaCommand
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_replace_clip_media_command.html b/docs/html/class_replace_clip_media_command.html deleted file mode 100644 index b23ca1f8b..000000000 --- a/docs/html/class_replace_clip_media_command.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - -Olive: ReplaceClipMediaCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <undo.h>

-
-Inheritance diagram for ReplaceClipMediaCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 ReplaceClipMediaCommand (Media *, Media *, bool)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - -

-Public Attributes

QVector< ClipPtrclips
 
- - - -

-Private Member Functions

void replace (bool undo)
 
- - - - - - - - - -

-Private Attributes

Mediaold_media
 
Medianew_media
 
bool preserve_clip_ins
 
QVector< int > old_clip_ins
 
-

Constructor & Destructor Documentation

- -

◆ ReplaceClipMediaCommand()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ReplaceClipMediaCommand::ReplaceClipMediaCommand (Mediaa,
Mediab,
bool e 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void ReplaceClipMediaCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void ReplaceClipMediaCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ replace()

- -
-
- - - - - -
- - - - - - - - -
void ReplaceClipMediaCommand::replace (bool undo)
-
-private
-
- -
-
-

Member Data Documentation

- -

◆ clips

- -
-
- - - - -
QVector<ClipPtr> ReplaceClipMediaCommand::clips
-
- -
-
- -

◆ new_media

- -
-
- - - - - -
- - - - -
Media* ReplaceClipMediaCommand::new_media
-
-private
-
- -
-
- -

◆ old_clip_ins

- -
-
- - - - - -
- - - - -
QVector<int> ReplaceClipMediaCommand::old_clip_ins
-
-private
-
- -
-
- -

◆ old_media

- -
-
- - - - - -
- - - - -
Media* ReplaceClipMediaCommand::old_media
-
-private
-
- -
-
- -

◆ preserve_clip_ins

- -
-
- - - - - -
- - - - -
bool ReplaceClipMediaCommand::preserve_clip_ins
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_replace_clip_media_command.png b/docs/html/class_replace_clip_media_command.png deleted file mode 100644 index 0808bf325..000000000 Binary files a/docs/html/class_replace_clip_media_command.png and /dev/null differ diff --git a/docs/html/class_replace_clip_media_dialog-members.html b/docs/html/class_replace_clip_media_dialog-members.html deleted file mode 100644 index 00d6b8d28..000000000 --- a/docs/html/class_replace_clip_media_dialog-members.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ReplaceClipMediaDialog Member List
-
-
- -

This is the complete list of members for ReplaceClipMediaDialog, including all inherited members.

- - - - - - -
mediaReplaceClipMediaDialogprivate
replace()ReplaceClipMediaDialogprivateslot
ReplaceClipMediaDialog(QWidget *parent, Media *old_media)ReplaceClipMediaDialog
treeReplaceClipMediaDialogprivate
use_same_media_in_pointsReplaceClipMediaDialogprivate
- - - - diff --git a/docs/html/class_replace_clip_media_dialog.html b/docs/html/class_replace_clip_media_dialog.html deleted file mode 100644 index 6ae7fba9e..000000000 --- a/docs/html/class_replace_clip_media_dialog.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - -Olive: ReplaceClipMediaDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ReplaceClipMediaDialog Class Reference
-
-
- -

#include <replaceclipmediadialog.h>

-
-Inheritance diagram for ReplaceClipMediaDialog:
-
-
- -
- - - - -

-Public Member Functions

 ReplaceClipMediaDialog (QWidget *parent, Media *old_media)
 
- - - -

-Private Slots

void replace ()
 
- - - - - - - -

-Private Attributes

Mediamedia
 
QTreeView * tree
 
QCheckBox * use_same_media_in_points
 
-

Constructor & Destructor Documentation

- -

◆ ReplaceClipMediaDialog()

- -
-
- - - - - - - - - - - - - - - - - - -
ReplaceClipMediaDialog::ReplaceClipMediaDialog (QWidget * parent,
Mediaold_media 
)
-
- -
-
-

Member Function Documentation

- -

◆ replace

- -
-
- - - - - -
- - - - - - - -
void ReplaceClipMediaDialog::replace ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ media

- -
-
- - - - - -
- - - - -
Media* ReplaceClipMediaDialog::media
-
-private
-
- -
-
- -

◆ tree

- -
-
- - - - - -
- - - - -
QTreeView* ReplaceClipMediaDialog::tree
-
-private
-
- -
-
- -

◆ use_same_media_in_points

- -
-
- - - - - -
- - - - -
QCheckBox* ReplaceClipMediaDialog::use_same_media_in_points
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_replace_clip_media_dialog.png b/docs/html/class_replace_clip_media_dialog.png deleted file mode 100644 index 4229d589d..000000000 Binary files a/docs/html/class_replace_clip_media_dialog.png and /dev/null differ diff --git a/docs/html/class_replace_media_command-members.html b/docs/html/class_replace_media_command-members.html deleted file mode 100644 index ebced54ed..000000000 --- a/docs/html/class_replace_media_command-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ReplaceMediaCommand Member List
-
-
- -

This is the complete list of members for ReplaceMediaCommand, including all inherited members.

- - - - - - - - - - - - -
doRedo() overrideReplaceMediaCommandvirtual
doUndo() overrideReplaceMediaCommandvirtual
itemReplaceMediaCommandprivate
new_filenameReplaceMediaCommandprivate
old_filenameReplaceMediaCommandprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
replace(QString &filename)ReplaceMediaCommandprivate
ReplaceMediaCommand(Media *, QString)ReplaceMediaCommand
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_replace_media_command.html b/docs/html/class_replace_media_command.html deleted file mode 100644 index 87114318b..000000000 --- a/docs/html/class_replace_media_command.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - -Olive: ReplaceMediaCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ReplaceMediaCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for ReplaceMediaCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 ReplaceMediaCommand (Media *, QString)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - -

-Private Member Functions

void replace (QString &filename)
 
- - - - - - - -

-Private Attributes

Mediaitem
 
QString old_filename
 
QString new_filename
 
-

Constructor & Destructor Documentation

- -

◆ ReplaceMediaCommand()

- -
-
- - - - - - - - - - - - - - - - - - -
ReplaceMediaCommand::ReplaceMediaCommand (Mediai,
QString s 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void ReplaceMediaCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void ReplaceMediaCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ replace()

- -
-
- - - - - -
- - - - - - - - -
void ReplaceMediaCommand::replace (QString & filename)
-
-private
-
- -
-
-

Member Data Documentation

- -

◆ item

- -
-
- - - - - -
- - - - -
Media* ReplaceMediaCommand::item
-
-private
-
- -
-
- -

◆ new_filename

- -
-
- - - - - -
- - - - -
QString ReplaceMediaCommand::new_filename
-
-private
-
- -
-
- -

◆ old_filename

- -
-
- - - - - -
- - - - -
QString ReplaceMediaCommand::old_filename
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_replace_media_command.png b/docs/html/class_replace_media_command.png deleted file mode 100644 index 8cb28b3f0..000000000 Binary files a/docs/html/class_replace_media_command.png and /dev/null differ diff --git a/docs/html/class_resizable_scroll_bar-members.html b/docs/html/class_resizable_scroll_bar-members.html deleted file mode 100644 index 3df3d6b75..000000000 --- a/docs/html/class_resizable_scroll_bar-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ResizableScrollBar Member List
-
-
- -

This is the complete list of members for ResizableScrollBar, including all inherited members.

- - - - - - - - - - - - - - -
is_resizing()ResizableScrollBar
mouseMoveEvent(QMouseEvent *) overrideResizableScrollBarprotected
mousePressEvent(QMouseEvent *) overrideResizableScrollBarprotected
mouseReleaseEvent(QMouseEvent *) overrideResizableScrollBarprotected
ResizableScrollBar(QWidget *parent=0)ResizableScrollBar
resize_initResizableScrollBarprivate
resize_move(double i)ResizableScrollBarsignal
resize_procResizableScrollBarprivate
resize_startResizableScrollBarprivate
resize_start_maxResizableScrollBarprivate
resize_start_widthResizableScrollBarprivate
resize_topResizableScrollBarprivate
resizeEvent(QResizeEvent *event) overrideResizableScrollBarprotected
- - - - diff --git a/docs/html/class_resizable_scroll_bar.html b/docs/html/class_resizable_scroll_bar.html deleted file mode 100644 index 31e328243..000000000 --- a/docs/html/class_resizable_scroll_bar.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - -Olive: ResizableScrollBar Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <resizablescrollbar.h>

-
-Inheritance diagram for ResizableScrollBar:
-
-
- -
- - - - -

-Signals

void resize_move (double i)
 
- - - - - -

-Public Member Functions

 ResizableScrollBar (QWidget *parent=0)
 
bool is_resizing ()
 
- - - - - - - - - -

-Protected Member Functions

void resizeEvent (QResizeEvent *event) override
 
void mousePressEvent (QMouseEvent *) override
 
void mouseMoveEvent (QMouseEvent *) override
 
void mouseReleaseEvent (QMouseEvent *) override
 
- - - - - - - - - - - - - -

-Private Attributes

bool resize_init
 
bool resize_proc
 
int resize_start
 
bool resize_top
 
int resize_start_max
 
int resize_start_width
 
-

Constructor & Destructor Documentation

- -

◆ ResizableScrollBar()

- -
-
- - - - - - - - -
ResizableScrollBar::ResizableScrollBar (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ is_resizing()

- -
-
- - - - - - - -
bool ResizableScrollBar::is_resizing ()
-
- -
-
- -

◆ mouseMoveEvent()

- -
-
- - - - - -
- - - - - - - - -
void ResizableScrollBar::mouseMoveEvent (QMouseEvent * e)
-
-overrideprotected
-
- -
-
- -

◆ mousePressEvent()

- -
-
- - - - - -
- - - - - - - - -
void ResizableScrollBar::mousePressEvent (QMouseEvent * e)
-
-overrideprotected
-
- -
-
- -

◆ mouseReleaseEvent()

- -
-
- - - - - -
- - - - - - - - -
void ResizableScrollBar::mouseReleaseEvent (QMouseEvent * e)
-
-overrideprotected
-
- -
-
- -

◆ resize_move

- -
-
- - - - - -
- - - - - - - - -
void ResizableScrollBar::resize_move (double i)
-
-signal
-
- -
-
- -

◆ resizeEvent()

- -
-
- - - - - -
- - - - - - - - -
void ResizableScrollBar::resizeEvent (QResizeEvent * event)
-
-overrideprotected
-
- -
-
-

Member Data Documentation

- -

◆ resize_init

- -
-
- - - - - -
- - - - -
bool ResizableScrollBar::resize_init
-
-private
-
- -
-
- -

◆ resize_proc

- -
-
- - - - - -
- - - - -
bool ResizableScrollBar::resize_proc
-
-private
-
- -
-
- -

◆ resize_start

- -
-
- - - - - -
- - - - -
int ResizableScrollBar::resize_start
-
-private
-
- -
-
- -

◆ resize_start_max

- -
-
- - - - - -
- - - - -
int ResizableScrollBar::resize_start_max
-
-private
-
- -
-
- -

◆ resize_start_width

- -
-
- - - - - -
- - - - -
int ResizableScrollBar::resize_start_width
-
-private
-
- -
-
- -

◆ resize_top

- -
-
- - - - - -
- - - - -
bool ResizableScrollBar::resize_top
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_resizable_scroll_bar.png b/docs/html/class_resizable_scroll_bar.png deleted file mode 100644 index 55d0f01f0..000000000 Binary files a/docs/html/class_resizable_scroll_bar.png and /dev/null differ diff --git a/docs/html/class_ripple_action-members.html b/docs/html/class_ripple_action-members.html deleted file mode 100644 index bec6a1ff4..000000000 --- a/docs/html/class_ripple_action-members.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
RippleAction Member List
-
-
- -

This is the complete list of members for RippleAction, including all inherited members.

- - - - - - - - - - - - - -
caRippleActionprivate
doRedo() overrideRippleActionvirtual
doUndo() overrideRippleActionvirtual
ignoreRippleActionprivate
lengthRippleActionprivate
OliveAction(bool iset_window_modified=true)OliveAction
pointRippleActionprivate
redo() overrideOliveActionvirtual
RippleAction(SequencePtr is, long ipoint, long ilength, const QVector< int > &iignore)RippleAction
sRippleActionprivate
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_ripple_action.html b/docs/html/class_ripple_action.html deleted file mode 100644 index 21ee8f7b2..000000000 --- a/docs/html/class_ripple_action.html +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - - -Olive: RippleAction Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
RippleAction Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for RippleAction:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 RippleAction (SequencePtr is, long ipoint, long ilength, const QVector< int > &iignore)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - - - - - -

-Private Attributes

SequencePtr s
 
long point
 
long length
 
QVector< int > ignore
 
ComboActionca
 
-

Constructor & Destructor Documentation

- -

◆ RippleAction()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RippleAction::RippleAction (SequencePtr is,
long ipoint,
long ilength,
const QVector< int > & iignore 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void RippleAction::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void RippleAction::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ ca

- -
-
- - - - - -
- - - - -
ComboAction* RippleAction::ca
-
-private
-
- -
-
- -

◆ ignore

- -
-
- - - - - -
- - - - -
QVector<int> RippleAction::ignore
-
-private
-
- -
-
- -

◆ length

- -
-
- - - - - -
- - - - -
long RippleAction::length
-
-private
-
- -
-
- -

◆ point

- -
-
- - - - - -
- - - - -
long RippleAction::point
-
-private
-
- -
-
- -

◆ s

- -
-
- - - - - -
- - - - -
SequencePtr RippleAction::s
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_ripple_action.png b/docs/html/class_ripple_action.png deleted file mode 100644 index acc198e75..000000000 Binary files a/docs/html/class_ripple_action.png and /dev/null differ diff --git a/docs/html/class_scroll_area-members.html b/docs/html/class_scroll_area-members.html deleted file mode 100644 index f55ec1f83..000000000 --- a/docs/html/class_scroll_area-members.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ScrollArea Member List
-
-
- -

This is the complete list of members for ScrollArea, including all inherited members.

- - - -
ScrollArea(QWidget *parent=0)ScrollArea
wheelEvent(QWheelEvent *)ScrollArea
- - - - diff --git a/docs/html/class_scroll_area.html b/docs/html/class_scroll_area.html deleted file mode 100644 index 446af0a95..000000000 --- a/docs/html/class_scroll_area.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - -Olive: ScrollArea Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
ScrollArea Class Reference
-
-
- -

#include <scrollarea.h>

-
-Inheritance diagram for ScrollArea:
-
-
- -
- - - - - - -

-Public Member Functions

 ScrollArea (QWidget *parent=0)
 
void wheelEvent (QWheelEvent *)
 
-

Constructor & Destructor Documentation

- -

◆ ScrollArea()

- -
-
- - - - - - - - -
ScrollArea::ScrollArea (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ wheelEvent()

- -
-
- - - - - - - - -
void ScrollArea::wheelEvent (QWheelEvent * e)
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_scroll_area.png b/docs/html/class_scroll_area.png deleted file mode 100644 index da29f186d..000000000 Binary files a/docs/html/class_scroll_area.png and /dev/null differ diff --git a/docs/html/class_sequence-members.html b/docs/html/class_sequence-members.html deleted file mode 100644 index 2d67afe42..000000000 --- a/docs/html/class_sequence-members.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Sequence Member List
-
- - - - - diff --git a/docs/html/class_sequence.html b/docs/html/class_sequence.html deleted file mode 100644 index 97060df4d..000000000 --- a/docs/html/class_sequence.html +++ /dev/null @@ -1,462 +0,0 @@ - - - - - - - -Olive: Sequence Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
Sequence Class Reference
-
-
- -

#include <sequence.h>

- - - - - - - - - - - - - - -

-Public Member Functions

 Sequence ()
 
 ~Sequence ()
 
SequencePtr copy ()
 
void getTrackLimits (int *video_tracks, int *audio_tracks)
 
long getEndFrame ()
 
void RefreshClips (Media *m=nullptr)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

QString name
 
int width
 
int height
 
double frame_rate
 
int audio_frequency
 
int audio_layout
 
QVector< Selectionselections
 
long playhead
 
bool using_workarea
 
long workarea_in
 
long workarea_out
 
bool wrapper_sequence
 
int save_id
 
QVector< Markermarkers
 
QVector< ClipPtrclips
 
-

Constructor & Destructor Documentation

- -

◆ Sequence()

- -
-
- - - - - - - -
Sequence::Sequence ()
-
- -
-
- -

◆ ~Sequence()

- -
-
- - - - - - - -
Sequence::~Sequence ()
-
- -
-
-

Member Function Documentation

- -

◆ copy()

- -
-
- - - - - - - -
SequencePtr Sequence::copy ()
-
- -
-
- -

◆ getEndFrame()

- -
-
- - - - - - - -
long Sequence::getEndFrame ()
-
- -
-
- -

◆ getTrackLimits()

- -
-
- - - - - - - - - - - - - - - - - - -
void Sequence::getTrackLimits (int * video_tracks,
int * audio_tracks 
)
-
- -
-
- -

◆ RefreshClips()

- -
-
- - - - - - - - -
void Sequence::RefreshClips (Mediam = nullptr)
-
- -
-
-

Member Data Documentation

- -

◆ audio_frequency

- -
-
- - - - -
int Sequence::audio_frequency
-
- -
-
- -

◆ audio_layout

- -
-
- - - - -
int Sequence::audio_layout
-
- -
-
- -

◆ clips

- -
-
- - - - -
QVector<ClipPtr> Sequence::clips
-
- -
-
- -

◆ frame_rate

- -
-
- - - - -
double Sequence::frame_rate
-
- -
-
- -

◆ height

- -
-
- - - - -
int Sequence::height
-
- -
-
- -

◆ markers

- -
-
- - - - -
QVector<Marker> Sequence::markers
-
- -
-
- -

◆ name

- -
-
- - - - -
QString Sequence::name
-
- -
-
- -

◆ playhead

- -
-
- - - - -
long Sequence::playhead
-
- -
-
- -

◆ save_id

- -
-
- - - - -
int Sequence::save_id
-
- -
-
- -

◆ selections

- -
-
- - - - -
QVector<Selection> Sequence::selections
-
- -
-
- -

◆ using_workarea

- -
-
- - - - -
bool Sequence::using_workarea
-
- -
-
- -

◆ width

- -
-
- - - - -
int Sequence::width
-
- -
-
- -

◆ workarea_in

- -
-
- - - - -
long Sequence::workarea_in
-
- -
-
- -

◆ workarea_out

- -
-
- - - - -
long Sequence::workarea_out
-
- -
-
- -

◆ wrapper_sequence

- -
-
- - - - -
bool Sequence::wrapper_sequence
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_autoscale_action-members.html b/docs/html/class_set_autoscale_action-members.html deleted file mode 100644 index f8a04463e..000000000 --- a/docs/html/class_set_autoscale_action-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetAutoscaleAction Member List
-
-
- -

This is the complete list of members for SetAutoscaleAction, including all inherited members.

- - - - - - - - - -
clipsSetAutoscaleAction
doRedo() overrideSetAutoscaleActionvirtual
doUndo() overrideSetAutoscaleActionvirtual
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
SetAutoscaleAction()SetAutoscaleAction
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_autoscale_action.html b/docs/html/class_set_autoscale_action.html deleted file mode 100644 index e4da43d77..000000000 --- a/docs/html/class_set_autoscale_action.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - -Olive: SetAutoscaleAction Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetAutoscaleAction Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetAutoscaleAction:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetAutoscaleAction ()
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - -

-Public Attributes

QVector< ClipPtrclips
 
-

Constructor & Destructor Documentation

- -

◆ SetAutoscaleAction()

- -
-
- - - - - - - -
SetAutoscaleAction::SetAutoscaleAction ()
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetAutoscaleAction::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetAutoscaleAction::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ clips

- -
-
- - - - -
QVector<ClipPtr> SetAutoscaleAction::clips
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_autoscale_action.png b/docs/html/class_set_autoscale_action.png deleted file mode 100644 index a39607e3b..000000000 Binary files a/docs/html/class_set_autoscale_action.png and /dev/null differ diff --git a/docs/html/class_set_bool-members.html b/docs/html/class_set_bool-members.html deleted file mode 100644 index 6d96c4285..000000000 --- a/docs/html/class_set_bool-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetBool Member List
-
-
- -

This is the complete list of members for SetBool, including all inherited members.

- - - - - - - - - - - -
booleanSetBoolprivate
doRedo() overrideSetBoolvirtual
doUndo() overrideSetBoolvirtual
new_settingSetBoolprivate
old_settingSetBoolprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
SetBool(bool *b, bool setting)SetBool
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_bool.html b/docs/html/class_set_bool.html deleted file mode 100644 index 203b64f32..000000000 --- a/docs/html/class_set_bool.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - -Olive: SetBool Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetBool Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetBool:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetBool (bool *b, bool setting)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

bool * boolean
 
bool old_setting
 
bool new_setting
 
-

Constructor & Destructor Documentation

- -

◆ SetBool()

- -
-
- - - - - - - - - - - - - - - - - - -
SetBool::SetBool (bool * b,
bool setting 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetBool::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetBool::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ boolean

- -
-
- - - - - -
- - - - -
bool* SetBool::boolean
-
-private
-
- -
-
- -

◆ new_setting

- -
-
- - - - - -
- - - - -
bool SetBool::new_setting
-
-private
-
- -
-
- -

◆ old_setting

- -
-
- - - - - -
- - - - -
bool SetBool::old_setting
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_bool.png b/docs/html/class_set_bool.png deleted file mode 100644 index c6b101e3e..000000000 Binary files a/docs/html/class_set_bool.png and /dev/null differ diff --git a/docs/html/class_set_double-members.html b/docs/html/class_set_double-members.html deleted file mode 100644 index 9e354cc3d..000000000 --- a/docs/html/class_set_double-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetDouble Member List
-
-
- -

This is the complete list of members for SetDouble, including all inherited members.

- - - - - - - - - - - -
doRedo() overrideSetDoublevirtual
doUndo() overrideSetDoublevirtual
newvalSetDoubleprivate
oldvalSetDoubleprivate
OliveAction(bool iset_window_modified=true)OliveAction
pSetDoubleprivate
redo() overrideOliveActionvirtual
SetDouble(double *pointer, double old_value, double new_value)SetDouble
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_double.html b/docs/html/class_set_double.html deleted file mode 100644 index 291615b6d..000000000 --- a/docs/html/class_set_double.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - -Olive: SetDouble Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetDouble Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetDouble:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetDouble (double *pointer, double old_value, double new_value)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

double * p
 
double oldval
 
double newval
 
-

Constructor & Destructor Documentation

- -

◆ SetDouble()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
SetDouble::SetDouble (double * pointer,
double old_value,
double new_value 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetDouble::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetDouble::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ newval

- -
-
- - - - - -
- - - - -
double SetDouble::newval
-
-private
-
- -
-
- -

◆ oldval

- -
-
- - - - - -
- - - - -
double SetDouble::oldval
-
-private
-
- -
-
- -

◆ p

- -
-
- - - - - -
- - - - -
double* SetDouble::p
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_double.png b/docs/html/class_set_double.png deleted file mode 100644 index 514db854d..000000000 Binary files a/docs/html/class_set_double.png and /dev/null differ diff --git a/docs/html/class_set_effect_data-members.html b/docs/html/class_set_effect_data-members.html deleted file mode 100644 index ae66856a0..000000000 --- a/docs/html/class_set_effect_data-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetEffectData Member List
-
-
- -

This is the complete list of members for SetEffectData, including all inherited members.

- - - - - - - - - - - -
dataSetEffectDataprivate
doRedo() overrideSetEffectDatavirtual
doUndo() overrideSetEffectDatavirtual
effectSetEffectDataprivate
old_dataSetEffectDataprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
SetEffectData(EffectPtr e, const QByteArray &s)SetEffectData
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_effect_data.html b/docs/html/class_set_effect_data.html deleted file mode 100644 index fea24505a..000000000 --- a/docs/html/class_set_effect_data.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - -Olive: SetEffectData Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetEffectData Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetEffectData:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetEffectData (EffectPtr e, const QByteArray &s)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

EffectPtr effect
 
QByteArray data
 
QByteArray old_data
 
-

Constructor & Destructor Documentation

- -

◆ SetEffectData()

- -
-
- - - - - - - - - - - - - - - - - - -
SetEffectData::SetEffectData (EffectPtr e,
const QByteArray & s 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetEffectData::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetEffectData::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ data

- -
-
- - - - - -
- - - - -
QByteArray SetEffectData::data
-
-private
-
- -
-
- -

◆ effect

- -
-
- - - - - -
- - - - -
EffectPtr SetEffectData::effect
-
-private
-
- -
-
- -

◆ old_data

- -
-
- - - - - -
- - - - -
QByteArray SetEffectData::old_data
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_effect_data.png b/docs/html/class_set_effect_data.png deleted file mode 100644 index 268a8f7d5..000000000 Binary files a/docs/html/class_set_effect_data.png and /dev/null differ diff --git a/docs/html/class_set_int-members.html b/docs/html/class_set_int-members.html deleted file mode 100644 index 73c4f1aeb..000000000 --- a/docs/html/class_set_int-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetInt Member List
-
-
- -

This is the complete list of members for SetInt, including all inherited members.

- - - - - - - - - - - -
doRedo() overrideSetIntvirtual
doUndo() overrideSetIntvirtual
newvalSetIntprivate
oldvalSetIntprivate
OliveAction(bool iset_window_modified=true)OliveAction
pSetIntprivate
redo() overrideOliveActionvirtual
SetInt(int *pointer, int new_value)SetInt
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_int.html b/docs/html/class_set_int.html deleted file mode 100644 index dfd6a34a0..000000000 --- a/docs/html/class_set_int.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - -Olive: SetInt Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetInt Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetInt:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetInt (int *pointer, int new_value)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

int * p
 
int oldval
 
int newval
 
-

Constructor & Destructor Documentation

- -

◆ SetInt()

- -
-
- - - - - - - - - - - - - - - - - - -
SetInt::SetInt (int * pointer,
int new_value 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetInt::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetInt::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ newval

- -
-
- - - - - -
- - - - -
int SetInt::newval
-
-private
-
- -
-
- -

◆ oldval

- -
-
- - - - - -
- - - - -
int SetInt::oldval
-
-private
-
- -
-
- -

◆ p

- -
-
- - - - - -
- - - - -
int* SetInt::p
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_int.png b/docs/html/class_set_int.png deleted file mode 100644 index 195111073..000000000 Binary files a/docs/html/class_set_int.png and /dev/null differ diff --git a/docs/html/class_set_keyframing-members.html b/docs/html/class_set_keyframing-members.html deleted file mode 100644 index 2b13bddad..000000000 --- a/docs/html/class_set_keyframing-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetKeyframing Member List
-
-
- -

This is the complete list of members for SetKeyframing, including all inherited members.

- - - - - - - - - - -
bSetKeyframingprivate
doRedo() overrideSetKeyframingvirtual
doUndo() overrideSetKeyframingvirtual
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
rowSetKeyframingprivate
SetKeyframing(EffectRow *irow, bool ib)SetKeyframing
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_keyframing.html b/docs/html/class_set_keyframing.html deleted file mode 100644 index 1d94abc78..000000000 --- a/docs/html/class_set_keyframing.html +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - - -Olive: SetKeyframing Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetKeyframing Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetKeyframing:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetKeyframing (EffectRow *irow, bool ib)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - -

-Private Attributes

EffectRowrow
 
bool b
 
-

Constructor & Destructor Documentation

- -

◆ SetKeyframing()

- -
-
- - - - - - - - - - - - - - - - - - -
SetKeyframing::SetKeyframing (EffectRowirow,
bool ib 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetKeyframing::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetKeyframing::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ b

- -
-
- - - - - -
- - - - -
bool SetKeyframing::b
-
-private
-
- -
-
- -

◆ row

- -
-
- - - - - -
- - - - -
EffectRow* SetKeyframing::row
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_keyframing.png b/docs/html/class_set_keyframing.png deleted file mode 100644 index 70596830c..000000000 Binary files a/docs/html/class_set_keyframing.png and /dev/null differ diff --git a/docs/html/class_set_long-members.html b/docs/html/class_set_long-members.html deleted file mode 100644 index 42d5d948a..000000000 --- a/docs/html/class_set_long-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetLong Member List
-
-
- -

This is the complete list of members for SetLong, including all inherited members.

- - - - - - - - - - - -
doRedo() overrideSetLongvirtual
doUndo() overrideSetLongvirtual
newvalSetLongprivate
oldvalSetLongprivate
OliveAction(bool iset_window_modified=true)OliveAction
pSetLongprivate
redo() overrideOliveActionvirtual
SetLong(long *pointer, long old_value, long new_value)SetLong
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_long.html b/docs/html/class_set_long.html deleted file mode 100644 index 26ee248d0..000000000 --- a/docs/html/class_set_long.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - -Olive: SetLong Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetLong Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetLong:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetLong (long *pointer, long old_value, long new_value)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

long * p
 
long oldval
 
long newval
 
-

Constructor & Destructor Documentation

- -

◆ SetLong()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
SetLong::SetLong (long * pointer,
long old_value,
long new_value 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetLong::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetLong::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ newval

- -
-
- - - - - -
- - - - -
long SetLong::newval
-
-private
-
- -
-
- -

◆ oldval

- -
-
- - - - - -
- - - - -
long SetLong::oldval
-
-private
-
- -
-
- -

◆ p

- -
-
- - - - - -
- - - - -
long* SetLong::p
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_long.png b/docs/html/class_set_long.png deleted file mode 100644 index 3841251a2..000000000 Binary files a/docs/html/class_set_long.png and /dev/null differ diff --git a/docs/html/class_set_pointer-members.html b/docs/html/class_set_pointer-members.html deleted file mode 100644 index b714e4fcb..000000000 --- a/docs/html/class_set_pointer-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetPointer Member List
-
-
- -

This is the complete list of members for SetPointer, including all inherited members.

- - - - - - - - - - - - -
doRedo() overrideSetPointervirtual
doUndo() overrideSetPointervirtual
new_dataSetPointerprivate
old_changedSetPointerprivate
old_dataSetPointerprivate
OliveAction(bool iset_window_modified=true)OliveAction
pSetPointerprivate
redo() overrideOliveActionvirtual
SetPointer(void **pointer, void *data)SetPointer
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_pointer.html b/docs/html/class_set_pointer.html deleted file mode 100644 index 68c7486a3..000000000 --- a/docs/html/class_set_pointer.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - - -Olive: SetPointer Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetPointer Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetPointer:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetPointer (void **pointer, void *data)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - - - -

-Private Attributes

bool old_changed
 
void ** p
 
void * new_data
 
void * old_data
 
-

Constructor & Destructor Documentation

- -

◆ SetPointer()

- -
-
- - - - - - - - - - - - - - - - - - -
SetPointer::SetPointer (void ** pointer,
void * data 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetPointer::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetPointer::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ new_data

- -
-
- - - - - -
- - - - -
void* SetPointer::new_data
-
-private
-
- -
-
- -

◆ old_changed

- -
-
- - - - - -
- - - - -
bool SetPointer::old_changed
-
-private
-
- -
-
- -

◆ old_data

- -
-
- - - - - -
- - - - -
void* SetPointer::old_data
-
-private
-
- -
-
- -

◆ p

- -
-
- - - - - -
- - - - -
void** SetPointer::p
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_pointer.png b/docs/html/class_set_pointer.png deleted file mode 100644 index 11d763db4..000000000 Binary files a/docs/html/class_set_pointer.png and /dev/null differ diff --git a/docs/html/class_set_q_variant-members.html b/docs/html/class_set_q_variant-members.html deleted file mode 100644 index ccf6012e2..000000000 --- a/docs/html/class_set_q_variant-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetQVariant Member List
-
-
- -

This is the complete list of members for SetQVariant, including all inherited members.

- - - - - - - - - - - -
doRedo() overrideSetQVariantvirtual
doUndo() overrideSetQVariantvirtual
new_valSetQVariantprivate
old_valSetQVariantprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
SetQVariant(QVariant *itarget, const QVariant &iold, const QVariant &inew)SetQVariant
targetSetQVariantprivate
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_q_variant.html b/docs/html/class_set_q_variant.html deleted file mode 100644 index 27cbf5bcc..000000000 --- a/docs/html/class_set_q_variant.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - -Olive: SetQVariant Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetQVariant Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetQVariant:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetQVariant (QVariant *itarget, const QVariant &iold, const QVariant &inew)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

QVariant * target
 
QVariant old_val
 
QVariant new_val
 
-

Constructor & Destructor Documentation

- -

◆ SetQVariant()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
SetQVariant::SetQVariant (QVariant * itarget,
const QVariant & iold,
const QVariant & inew 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetQVariant::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetQVariant::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ new_val

- -
-
- - - - - -
- - - - -
QVariant SetQVariant::new_val
-
-private
-
- -
-
- -

◆ old_val

- -
-
- - - - - -
- - - - -
QVariant SetQVariant::old_val
-
-private
-
- -
-
- -

◆ target

- -
-
- - - - - -
- - - - -
QVariant* SetQVariant::target
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_q_variant.png b/docs/html/class_set_q_variant.png deleted file mode 100644 index e63d4f60c..000000000 Binary files a/docs/html/class_set_q_variant.png and /dev/null differ diff --git a/docs/html/class_set_selections_command-members.html b/docs/html/class_set_selections_command-members.html deleted file mode 100644 index 212c434f9..000000000 --- a/docs/html/class_set_selections_command-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetSelectionsCommand Member List
-
-
- -

This is the complete list of members for SetSelectionsCommand, including all inherited members.

- - - - - - - - - - - - -
doneSetSelectionsCommandprivate
doRedo() overrideSetSelectionsCommandvirtual
doUndo() overrideSetSelectionsCommandvirtual
new_dataSetSelectionsCommand
old_dataSetSelectionsCommand
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
seqSetSelectionsCommandprivate
SetSelectionsCommand(SequencePtr s)SetSelectionsCommand
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_selections_command.html b/docs/html/class_set_selections_command.html deleted file mode 100644 index 35cfabc90..000000000 --- a/docs/html/class_set_selections_command.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - -Olive: SetSelectionsCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetSelectionsCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetSelectionsCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetSelectionsCommand (SequencePtr s)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - -

-Public Attributes

QVector< Selectionold_data
 
QVector< Selectionnew_data
 
- - - - - -

-Private Attributes

SequencePtr seq
 
bool done
 
-

Constructor & Destructor Documentation

- -

◆ SetSelectionsCommand()

- -
-
- - - - - - - - -
SetSelectionsCommand::SetSelectionsCommand (SequencePtr s)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetSelectionsCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetSelectionsCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ done

- -
-
- - - - - -
- - - - -
bool SetSelectionsCommand::done
-
-private
-
- -
-
- -

◆ new_data

- -
-
- - - - -
QVector<Selection> SetSelectionsCommand::new_data
-
- -
-
- -

◆ old_data

- -
-
- - - - -
QVector<Selection> SetSelectionsCommand::old_data
-
- -
-
- -

◆ seq

- -
-
- - - - - -
- - - - -
SequencePtr SetSelectionsCommand::seq
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_selections_command.png b/docs/html/class_set_selections_command.png deleted file mode 100644 index cf33bfc68..000000000 Binary files a/docs/html/class_set_selections_command.png and /dev/null differ diff --git a/docs/html/class_set_speed_action-members.html b/docs/html/class_set_speed_action-members.html deleted file mode 100644 index fba655714..000000000 --- a/docs/html/class_set_speed_action-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetSpeedAction Member List
-
-
- -

This is the complete list of members for SetSpeedAction, including all inherited members.

- - - - - - - - - - - -
clipSetSpeedActionprivate
doRedo() overrideSetSpeedActionvirtual
doUndo() overrideSetSpeedActionvirtual
new_speedSetSpeedActionprivate
old_speedSetSpeedActionprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
SetSpeedAction(ClipPtr c, double speed)SetSpeedAction
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_speed_action.html b/docs/html/class_set_speed_action.html deleted file mode 100644 index 43dce2562..000000000 --- a/docs/html/class_set_speed_action.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - -Olive: SetSpeedAction Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetSpeedAction Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetSpeedAction:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetSpeedAction (ClipPtr c, double speed)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

ClipPtr clip
 
double old_speed
 
double new_speed
 
-

Constructor & Destructor Documentation

- -

◆ SetSpeedAction()

- -
-
- - - - - - - - - - - - - - - - - - -
SetSpeedAction::SetSpeedAction (ClipPtr c,
double speed 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetSpeedAction::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetSpeedAction::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ clip

- -
-
- - - - - -
- - - - -
ClipPtr SetSpeedAction::clip
-
-private
-
- -
-
- -

◆ new_speed

- -
-
- - - - - -
- - - - -
double SetSpeedAction::new_speed
-
-private
-
- -
-
- -

◆ old_speed

- -
-
- - - - - -
- - - - -
double SetSpeedAction::old_speed
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_speed_action.png b/docs/html/class_set_speed_action.png deleted file mode 100644 index fcb4db12e..000000000 Binary files a/docs/html/class_set_speed_action.png and /dev/null differ diff --git a/docs/html/class_set_string-members.html b/docs/html/class_set_string-members.html deleted file mode 100644 index 1bdc3721c..000000000 --- a/docs/html/class_set_string-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetString Member List
-
-
- -

This is the complete list of members for SetString, including all inherited members.

- - - - - - - - - - - -
doRedo() overrideSetStringvirtual
doUndo() overrideSetStringvirtual
newvalSetStringprivate
oldvalSetStringprivate
OliveAction(bool iset_window_modified=true)OliveAction
pSetStringprivate
redo() overrideOliveActionvirtual
SetString(QString *pointer, QString new_value)SetString
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_string.html b/docs/html/class_set_string.html deleted file mode 100644 index f4c990776..000000000 --- a/docs/html/class_set_string.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - -Olive: SetString Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetString Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetString:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetString (QString *pointer, QString new_value)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - -

-Private Attributes

QString * p
 
QString oldval
 
QString newval
 
-

Constructor & Destructor Documentation

- -

◆ SetString()

- -
-
- - - - - - - - - - - - - - - - - - -
SetString::SetString (QString * pointer,
QString new_value 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetString::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetString::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ newval

- -
-
- - - - - -
- - - - -
QString SetString::newval
-
-private
-
- -
-
- -

◆ oldval

- -
-
- - - - - -
- - - - -
QString SetString::oldval
-
-private
-
- -
-
- -

◆ p

- -
-
- - - - - -
- - - - -
QString* SetString::p
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_string.png b/docs/html/class_set_string.png deleted file mode 100644 index 57317189a..000000000 Binary files a/docs/html/class_set_string.png and /dev/null differ diff --git a/docs/html/class_set_timeline_in_out_command-members.html b/docs/html/class_set_timeline_in_out_command-members.html deleted file mode 100644 index e7b62f80c..000000000 --- a/docs/html/class_set_timeline_in_out_command-members.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SetTimelineInOutCommand Member List
-
-
- -

This is the complete list of members for SetTimelineInOutCommand, including all inherited members.

- - - - - - - - - - - - - - - -
doRedo() overrideSetTimelineInOutCommandvirtual
doUndo() overrideSetTimelineInOutCommandvirtual
new_enabledSetTimelineInOutCommandprivate
new_inSetTimelineInOutCommandprivate
new_outSetTimelineInOutCommandprivate
old_enabledSetTimelineInOutCommandprivate
old_inSetTimelineInOutCommandprivate
old_outSetTimelineInOutCommandprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
seqSetTimelineInOutCommandprivate
SetTimelineInOutCommand(SequencePtr s, bool enabled, long in, long out)SetTimelineInOutCommand
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_set_timeline_in_out_command.html b/docs/html/class_set_timeline_in_out_command.html deleted file mode 100644 index f2a4c5989..000000000 --- a/docs/html/class_set_timeline_in_out_command.html +++ /dev/null @@ -1,382 +0,0 @@ - - - - - - - -Olive: SetTimelineInOutCommand Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SetTimelineInOutCommand Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for SetTimelineInOutCommand:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 SetTimelineInOutCommand (SequencePtr s, bool enabled, long in, long out)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - - - - - - - - - - - - - -

-Private Attributes

SequencePtr seq
 
bool old_enabled
 
long old_in
 
long old_out
 
bool new_enabled
 
long new_in
 
long new_out
 
-

Constructor & Destructor Documentation

- -

◆ SetTimelineInOutCommand()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SetTimelineInOutCommand::SetTimelineInOutCommand (SequencePtr s,
bool enabled,
long in,
long out 
)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void SetTimelineInOutCommand::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void SetTimelineInOutCommand::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ new_enabled

- -
-
- - - - - -
- - - - -
bool SetTimelineInOutCommand::new_enabled
-
-private
-
- -
-
- -

◆ new_in

- -
-
- - - - - -
- - - - -
long SetTimelineInOutCommand::new_in
-
-private
-
- -
-
- -

◆ new_out

- -
-
- - - - - -
- - - - -
long SetTimelineInOutCommand::new_out
-
-private
-
- -
-
- -

◆ old_enabled

- -
-
- - - - - -
- - - - -
bool SetTimelineInOutCommand::old_enabled
-
-private
-
- -
-
- -

◆ old_in

- -
-
- - - - - -
- - - - -
long SetTimelineInOutCommand::old_in
-
-private
-
- -
-
- -

◆ old_out

- -
-
- - - - - -
- - - - -
long SetTimelineInOutCommand::old_out
-
-private
-
- -
-
- -

◆ seq

- -
-
- - - - - -
- - - - -
SequencePtr SetTimelineInOutCommand::seq
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_set_timeline_in_out_command.png b/docs/html/class_set_timeline_in_out_command.png deleted file mode 100644 index 099e23602..000000000 Binary files a/docs/html/class_set_timeline_in_out_command.png and /dev/null differ diff --git a/docs/html/class_shake_effect-members.html b/docs/html/class_shake_effect-members.html deleted file mode 100644 index 6160896a8..000000000 --- a/docs/html/class_shake_effect-members.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ShakeEffect Member List
-
-
- -

This is the complete list of members for ShakeEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
close()Effect
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
frequency_valShakeEffect
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
intensity_valShakeEffect
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)Effectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)ShakeEffectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
random_valsShakeEffectprivate
refresh()Effectvirtual
rotation_valShakeEffect
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)Effectvirtual
save_to_string()Effect
set_enabled(bool b)Effect
setIterations(int i)Effect
ShakeEffect(ClipPtr c, const EffectMeta *em)ShakeEffect
startEffect()Effectvirtual
textureEffectprotected
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_shake_effect.html b/docs/html/class_shake_effect.html deleted file mode 100644 index 7ce317718..000000000 --- a/docs/html/class_shake_effect.html +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - -Olive: ShakeEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <shakeeffect.h>

-
-Inheritance diagram for ShakeEffect:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 ShakeEffect (ClipPtr c, const EffectMeta *em)
 
void process_coords (double timecode, GLTextureCoords &coords, int data)
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

EffectFieldintensity_val
 
EffectFieldrotation_val
 
EffectFieldfrequency_val
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- - - -

-Private Attributes

double random_vals [RANDOM_VAL_SIZE]
 
- - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ ShakeEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
ShakeEffect::ShakeEffect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ process_coords()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void ShakeEffect::process_coords (double timecode,
GLTextureCoordscoords,
int data 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-

Member Data Documentation

- -

◆ frequency_val

- -
-
- - - - -
EffectField* ShakeEffect::frequency_val
-
- -
-
- -

◆ intensity_val

- -
-
- - - - -
EffectField* ShakeEffect::intensity_val
-
- -
-
- -

◆ random_vals

- -
-
- - - - - -
- - - - -
double ShakeEffect::random_vals[RANDOM_VAL_SIZE]
-
-private
-
- -
-
- -

◆ rotation_val

- -
-
- - - - -
EffectField* ShakeEffect::rotation_val
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_shake_effect.png b/docs/html/class_shake_effect.png deleted file mode 100644 index c3c750333..000000000 Binary files a/docs/html/class_shake_effect.png and /dev/null differ diff --git a/docs/html/class_solid_effect-members.html b/docs/html/class_solid_effect-members.html deleted file mode 100644 index e5ded124a..000000000 --- a/docs/html/class_solid_effect-members.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SolidEffect Member List
-
-
- -

This is the complete list of members for SolidEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
checkerboard_size_fieldSolidEffectprivate
close()Effect
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
opacity_fieldSolidEffectprivate
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)Effectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
redraw(double timecode)SolidEffectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)Effectvirtual
save_to_string()Effect
set_enabled(bool b)Effect
setIterations(int i)Effect
solid_color_fieldSolidEffectprivate
solid_typeSolidEffectprivate
SolidEffect(ClipPtr c, const EffectMeta *em)SolidEffect
startEffect()Effectvirtual
textureEffectprotected
ui_update(int)SolidEffectprivateslot
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_solid_effect.html b/docs/html/class_solid_effect.html deleted file mode 100644 index 574952aac..000000000 --- a/docs/html/class_solid_effect.html +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - -Olive: SolidEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SolidEffect Class Reference
-
-
- -

#include <solideffect.h>

-
-Inheritance diagram for SolidEffect:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 SolidEffect (ClipPtr c, const EffectMeta *em)
 
void redraw (double timecode)
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - -

-Private Slots

void ui_update (int)
 
- - - - - - - - - -

-Private Attributes

EffectFieldsolid_type
 
EffectFieldsolid_color_field
 
EffectFieldopacity_field
 
EffectFieldcheckerboard_size_field
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ SolidEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
SolidEffect::SolidEffect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ redraw()

- -
-
- - - - - -
- - - - - - - - -
void SolidEffect::redraw (double timecode)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ ui_update

- -
-
- - - - - -
- - - - - - - - -
void SolidEffect::ui_update (int i)
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ checkerboard_size_field

- -
-
- - - - - -
- - - - -
EffectField* SolidEffect::checkerboard_size_field
-
-private
-
- -
-
- -

◆ opacity_field

- -
-
- - - - - -
- - - - -
EffectField* SolidEffect::opacity_field
-
-private
-
- -
-
- -

◆ solid_color_field

- -
-
- - - - - -
- - - - -
EffectField* SolidEffect::solid_color_field
-
-private
-
- -
-
- -

◆ solid_type

- -
-
- - - - - -
- - - - -
EffectField* SolidEffect::solid_type
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_solid_effect.png b/docs/html/class_solid_effect.png deleted file mode 100644 index d8a8b30ce..000000000 Binary files a/docs/html/class_solid_effect.png and /dev/null differ diff --git a/docs/html/class_source_icon_view-members.html b/docs/html/class_source_icon_view-members.html deleted file mode 100644 index 9547afa54..000000000 --- a/docs/html/class_source_icon_view-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SourceIconView Member List
-
-
- -

This is the complete list of members for SourceIconView, including all inherited members.

- - - - - - - - - - - -
changed_root()SourceIconViewsignal
dragEnterEvent(QDragEnterEvent *event)SourceIconView
dragMoveEvent(QDragMoveEvent *event)SourceIconView
dropEvent(QDropEvent *event)SourceIconView
item_click(const QModelIndex &index)SourceIconViewprivateslot
mouseDoubleClickEvent(QMouseEvent *event)SourceIconView
mousePressEvent(QMouseEvent *event)SourceIconView
project_parentSourceIconView
show_context_menu()SourceIconViewprivateslot
SourceIconView(QWidget *parent=0)SourceIconView
- - - - diff --git a/docs/html/class_source_icon_view.html b/docs/html/class_source_icon_view.html deleted file mode 100644 index 658f921b3..000000000 --- a/docs/html/class_source_icon_view.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - -Olive: SourceIconView Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
SourceIconView Class Reference
-
-
- -

#include <sourceiconview.h>

-
-Inheritance diagram for SourceIconView:
-
-
- -
- - - - -

-Signals

void changed_root ()
 
- - - - - - - - - - - - - -

-Public Member Functions

 SourceIconView (QWidget *parent=0)
 
void mousePressEvent (QMouseEvent *event)
 
void mouseDoubleClickEvent (QMouseEvent *event)
 
void dragEnterEvent (QDragEnterEvent *event)
 
void dragMoveEvent (QDragMoveEvent *event)
 
void dropEvent (QDropEvent *event)
 
- - - -

-Public Attributes

Projectproject_parent
 
- - - - - -

-Private Slots

void show_context_menu ()
 
void item_click (const QModelIndex &index)
 
-

Constructor & Destructor Documentation

- -

◆ SourceIconView()

- -
-
- - - - - - - - -
SourceIconView::SourceIconView (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ changed_root

- -
-
- - - - - -
- - - - - - - -
void SourceIconView::changed_root ()
-
-signal
-
- -
-
- -

◆ dragEnterEvent()

- -
-
- - - - - - - - -
void SourceIconView::dragEnterEvent (QDragEnterEvent * event)
-
- -
-
- -

◆ dragMoveEvent()

- -
-
- - - - - - - - -
void SourceIconView::dragMoveEvent (QDragMoveEvent * event)
-
- -
-
- -

◆ dropEvent()

- -
-
- - - - - - - - -
void SourceIconView::dropEvent (QDropEvent * event)
-
- -
-
- -

◆ item_click

- -
-
- - - - - -
- - - - - - - - -
void SourceIconView::item_click (const QModelIndex & index)
-
-privateslot
-
- -
-
- -

◆ mouseDoubleClickEvent()

- -
-
- - - - - - - - -
void SourceIconView::mouseDoubleClickEvent (QMouseEvent * event)
-
- -
-
- -

◆ mousePressEvent()

- -
-
- - - - - - - - -
void SourceIconView::mousePressEvent (QMouseEvent * event)
-
- -
-
- -

◆ show_context_menu

- -
-
- - - - - -
- - - - - - - -
void SourceIconView::show_context_menu ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ project_parent

- -
-
- - - - -
Project* SourceIconView::project_parent
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_source_icon_view.png b/docs/html/class_source_icon_view.png deleted file mode 100644 index a4d1d6ad7..000000000 Binary files a/docs/html/class_source_icon_view.png and /dev/null differ diff --git a/docs/html/class_source_table-members.html b/docs/html/class_source_table-members.html deleted file mode 100644 index 511887324..000000000 --- a/docs/html/class_source_table-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SourceTable Member List
-
-
- -

This is the complete list of members for SourceTable, including all inherited members.

- - - - - - - - - - -
dragEnterEvent(QDragEnterEvent *event)SourceTableprotected
dragMoveEvent(QDragMoveEvent *event)SourceTableprotected
dropEvent(QDropEvent *event)SourceTableprotected
item_click(const QModelIndex &index)SourceTableprivateslot
mouseDoubleClickEvent(QMouseEvent *)SourceTableprotected
mousePressEvent(QMouseEvent *)SourceTableprotected
project_parentSourceTable
show_context_menu()SourceTableprivateslot
SourceTable(QWidget *parent=0)SourceTable
- - - - diff --git a/docs/html/class_source_table.html b/docs/html/class_source_table.html deleted file mode 100644 index a792e3a3e..000000000 --- a/docs/html/class_source_table.html +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - -Olive: SourceTable Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <sourcetable.h>

-
-Inheritance diagram for SourceTable:
-
-
- -
- - - - -

-Public Member Functions

 SourceTable (QWidget *parent=0)
 
- - - -

-Public Attributes

Projectproject_parent
 
- - - - - - - - - - - -

-Protected Member Functions

void mousePressEvent (QMouseEvent *)
 
void mouseDoubleClickEvent (QMouseEvent *)
 
void dragEnterEvent (QDragEnterEvent *event)
 
void dragMoveEvent (QDragMoveEvent *event)
 
void dropEvent (QDropEvent *event)
 
- - - - - -

-Private Slots

void item_click (const QModelIndex &index)
 
void show_context_menu ()
 
-

Constructor & Destructor Documentation

- -

◆ SourceTable()

- -
-
- - - - - - - - -
SourceTable::SourceTable (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ dragEnterEvent()

- -
-
- - - - - -
- - - - - - - - -
void SourceTable::dragEnterEvent (QDragEnterEvent * event)
-
-protected
-
- -
-
- -

◆ dragMoveEvent()

- -
-
- - - - - -
- - - - - - - - -
void SourceTable::dragMoveEvent (QDragMoveEvent * event)
-
-protected
-
- -
-
- -

◆ dropEvent()

- -
-
- - - - - -
- - - - - - - - -
void SourceTable::dropEvent (QDropEvent * event)
-
-protected
-
- -
-
- -

◆ item_click

- -
-
- - - - - -
- - - - - - - - -
void SourceTable::item_click (const QModelIndex & index)
-
-privateslot
-
- -
-
- -

◆ mouseDoubleClickEvent()

- -
-
- - - - - -
- - - - - - - - -
void SourceTable::mouseDoubleClickEvent (QMouseEvent * event)
-
-protected
-
- -
-
- -

◆ mousePressEvent()

- -
-
- - - - - -
- - - - - - - - -
void SourceTable::mousePressEvent (QMouseEvent * event)
-
-protected
-
- -
-
- -

◆ show_context_menu

- -
-
- - - - - -
- - - - - - - -
void SourceTable::show_context_menu ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ project_parent

- -
-
- - - - -
Project* SourceTable::project_parent
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_source_table.png b/docs/html/class_source_table.png deleted file mode 100644 index b0f105dcf..000000000 Binary files a/docs/html/class_source_table.png and /dev/null differ diff --git a/docs/html/class_sources_common-members.html b/docs/html/class_sources_common-members.html deleted file mode 100644 index b01d70a8d..000000000 --- a/docs/html/class_sources_common-members.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SourcesCommon Member List
-
-
- -

This is the complete list of members for SourcesCommon, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - -
cached_selected_footageSourcesCommonprivate
clear_proxies_from_selected()SourcesCommonprivateslot
create_seq_from_selected()SourcesCommonprivateslot
dropEvent(QWidget *parent, QDropEvent *e, const QModelIndex &drop_item, const QModelIndexList &items)SourcesCommon
editing_indexSourcesCommonprivate
editing_itemSourcesCommonprivate
item_click(Media *m, const QModelIndex &index)SourcesCommon
item_renamed(Media *item)SourcesCommonprivateslot
mouseDoubleClickEvent(QMouseEvent *e, const QModelIndexList &selected_items)SourcesCommon
mousePressEvent(QMouseEvent *e)SourcesCommon
open_create_proxy_dialog()SourcesCommonprivateslot
project_parentSourcesCommonprivate
rename_interval()SourcesCommonprivateslot
rename_timerSourcesCommonprivate
reveal_in_browser()SourcesCommonprivateslot
selected_itemsSourcesCommonprivate
show_context_menu(QWidget *parent, const QModelIndexList &items)SourcesCommon
SourcesCommon(Project *parent)SourcesCommon
stop_rename_timer()SourcesCommonprivate
viewSourcesCommon
- - - - diff --git a/docs/html/class_sources_common.html b/docs/html/class_sources_common.html deleted file mode 100644 index 1971a4ced..000000000 --- a/docs/html/class_sources_common.html +++ /dev/null @@ -1,636 +0,0 @@ - - - - - - - -Olive: SourcesCommon Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <sourcescommon.h>

-
-Inheritance diagram for SourcesCommon:
-
-
- -
- - - - - - - - - - - - - - -

-Public Member Functions

 SourcesCommon (Project *parent)
 
void show_context_menu (QWidget *parent, const QModelIndexList &items)
 
void mousePressEvent (QMouseEvent *e)
 
void mouseDoubleClickEvent (QMouseEvent *e, const QModelIndexList &selected_items)
 
void dropEvent (QWidget *parent, QDropEvent *e, const QModelIndex &drop_item, const QModelIndexList &items)
 
void item_click (Media *m, const QModelIndex &index)
 
- - - -

-Public Attributes

QAbstractItemView * view
 
- - - - - - - - - - - - - -

-Private Slots

void create_seq_from_selected ()
 
void reveal_in_browser ()
 
void rename_interval ()
 
void item_renamed (Media *item)
 
void open_create_proxy_dialog ()
 
void clear_proxies_from_selected ()
 
- - - -

-Private Member Functions

void stop_rename_timer ()
 
- - - - - - - - - - - - - -

-Private Attributes

Mediaediting_item
 
QModelIndex editing_index
 
QModelIndexList selected_items
 
Projectproject_parent
 
QTimer rename_timer
 
QVector< FootagePtrcached_selected_footage
 
-

Constructor & Destructor Documentation

- -

◆ SourcesCommon()

- -
-
- - - - - - - - -
SourcesCommon::SourcesCommon (Projectparent)
-
- -
-
-

Member Function Documentation

- -

◆ clear_proxies_from_selected

- -
-
- - - - - -
- - - - - - - -
void SourcesCommon::clear_proxies_from_selected ()
-
-privateslot
-
- -
-
- -

◆ create_seq_from_selected

- -
-
- - - - - -
- - - - - - - -
void SourcesCommon::create_seq_from_selected ()
-
-privateslot
-
- -
-
- -

◆ dropEvent()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void SourcesCommon::dropEvent (QWidget * parent,
QDropEvent * e,
const QModelIndex & drop_item,
const QModelIndexList & items 
)
-
- -
-
- -

◆ item_click()

- -
-
- - - - - - - - - - - - - - - - - - -
void SourcesCommon::item_click (Mediam,
const QModelIndex & index 
)
-
- -
-
- -

◆ item_renamed

- -
-
- - - - - -
- - - - - - - - -
void SourcesCommon::item_renamed (Mediaitem)
-
-privateslot
-
- -
-
- -

◆ mouseDoubleClickEvent()

- -
-
- - - - - - - - - - - - - - - - - - -
void SourcesCommon::mouseDoubleClickEvent (QMouseEvent * e,
const QModelIndexList & selected_items 
)
-
- -
-
- -

◆ mousePressEvent()

- -
-
- - - - - - - - -
void SourcesCommon::mousePressEvent (QMouseEvent * e)
-
- -
-
- -

◆ open_create_proxy_dialog

- -
-
- - - - - -
- - - - - - - -
void SourcesCommon::open_create_proxy_dialog ()
-
-privateslot
-
- -
-
- -

◆ rename_interval

- -
-
- - - - - -
- - - - - - - -
void SourcesCommon::rename_interval ()
-
-privateslot
-
- -
-
- -

◆ reveal_in_browser

- -
-
- - - - - -
- - - - - - - -
void SourcesCommon::reveal_in_browser ()
-
-privateslot
-
- -
-
- -

◆ show_context_menu()

- -
-
- - - - - - - - - - - - - - - - - - -
void SourcesCommon::show_context_menu (QWidget * parent,
const QModelIndexList & items 
)
-
- -
-
- -

◆ stop_rename_timer()

- -
-
- - - - - -
- - - - - - - -
void SourcesCommon::stop_rename_timer ()
-
-private
-
- -
-
-

Member Data Documentation

- -

◆ cached_selected_footage

- -
-
- - - - - -
- - - - -
QVector<FootagePtr> SourcesCommon::cached_selected_footage
-
-private
-
- -
-
- -

◆ editing_index

- -
-
- - - - - -
- - - - -
QModelIndex SourcesCommon::editing_index
-
-private
-
- -
-
- -

◆ editing_item

- -
-
- - - - - -
- - - - -
Media* SourcesCommon::editing_item
-
-private
-
- -
-
- -

◆ project_parent

- -
-
- - - - - -
- - - - -
Project* SourcesCommon::project_parent
-
-private
-
- -
-
- -

◆ rename_timer

- -
-
- - - - - -
- - - - -
QTimer SourcesCommon::rename_timer
-
-private
-
- -
-
- -

◆ selected_items

- -
-
- - - - - -
- - - - -
QModelIndexList SourcesCommon::selected_items
-
-private
-
- -
-
- -

◆ view

- -
-
- - - - -
QAbstractItemView* SourcesCommon::view
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_sources_common.png b/docs/html/class_sources_common.png deleted file mode 100644 index 3c908137a..000000000 Binary files a/docs/html/class_sources_common.png and /dev/null differ diff --git a/docs/html/class_speed_dialog-members.html b/docs/html/class_speed_dialog-members.html deleted file mode 100644 index 7230562e1..000000000 --- a/docs/html/class_speed_dialog-members.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
SpeedDialog Member List
-
- - - - - diff --git a/docs/html/class_speed_dialog.html b/docs/html/class_speed_dialog.html deleted file mode 100644 index 7091498ac..000000000 --- a/docs/html/class_speed_dialog.html +++ /dev/null @@ -1,537 +0,0 @@ - - - - - - - -Olive: SpeedDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <speeddialog.h>

-
-Inheritance diagram for SpeedDialog:
-
-
- -
- - - - - - -

-Public Member Functions

 SpeedDialog (QWidget *parent=0)
 
void run ()
 
- - - -

-Public Attributes

QVector< ClipPtrclips
 
- - - - - - - - - -

-Private Slots

void percent_update ()
 
void duration_update ()
 
void frame_rate_update ()
 
void accept ()
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

LabelSliderpercent
 
LabelSliderduration
 
LabelSliderframe_rate
 
QCheckBox * reverse
 
QCheckBox * maintain_pitch
 
QCheckBox * ripple
 
double default_frame_rate
 
double current_frame_rate
 
double current_percent
 
long default_length
 
long current_length
 
-

Constructor & Destructor Documentation

- -

◆ SpeedDialog()

- -
-
- - - - - - - - -
SpeedDialog::SpeedDialog (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ accept

- -
-
- - - - - -
- - - - - - - -
void SpeedDialog::accept ()
-
-privateslot
-
- -
-
- -

◆ duration_update

- -
-
- - - - - -
- - - - - - - -
void SpeedDialog::duration_update ()
-
-privateslot
-
- -
-
- -

◆ frame_rate_update

- -
-
- - - - - -
- - - - - - - -
void SpeedDialog::frame_rate_update ()
-
-privateslot
-
- -
-
- -

◆ percent_update

- -
-
- - - - - -
- - - - - - - -
void SpeedDialog::percent_update ()
-
-privateslot
-
- -
-
- -

◆ run()

- -
-
- - - - - - - -
void SpeedDialog::run ()
-
- -
-
-

Member Data Documentation

- -

◆ clips

- -
-
- - - - -
QVector<ClipPtr> SpeedDialog::clips
-
- -
-
- -

◆ current_frame_rate

- -
-
- - - - - -
- - - - -
double SpeedDialog::current_frame_rate
-
-private
-
- -
-
- -

◆ current_length

- -
-
- - - - - -
- - - - -
long SpeedDialog::current_length
-
-private
-
- -
-
- -

◆ current_percent

- -
-
- - - - - -
- - - - -
double SpeedDialog::current_percent
-
-private
-
- -
-
- -

◆ default_frame_rate

- -
-
- - - - - -
- - - - -
double SpeedDialog::default_frame_rate
-
-private
-
- -
-
- -

◆ default_length

- -
-
- - - - - -
- - - - -
long SpeedDialog::default_length
-
-private
-
- -
-
- -

◆ duration

- -
-
- - - - - -
- - - - -
LabelSlider* SpeedDialog::duration
-
-private
-
- -
-
- -

◆ frame_rate

- -
-
- - - - - -
- - - - -
LabelSlider* SpeedDialog::frame_rate
-
-private
-
- -
-
- -

◆ maintain_pitch

- -
-
- - - - - -
- - - - -
QCheckBox* SpeedDialog::maintain_pitch
-
-private
-
- -
-
- -

◆ percent

- -
-
- - - - - -
- - - - -
LabelSlider* SpeedDialog::percent
-
-private
-
- -
-
- -

◆ reverse

- -
-
- - - - - -
- - - - -
QCheckBox* SpeedDialog::reverse
-
-private
-
- -
-
- -

◆ ripple

- -
-
- - - - - -
- - - - -
QCheckBox* SpeedDialog::ripple
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_speed_dialog.png b/docs/html/class_speed_dialog.png deleted file mode 100644 index 0b1f538a4..000000000 Binary files a/docs/html/class_speed_dialog.png and /dev/null differ diff --git a/docs/html/class_stabilizer_dialog-members.html b/docs/html/class_stabilizer_dialog-members.html deleted file mode 100644 index c0fd2aa39..000000000 --- a/docs/html/class_stabilizer_dialog-members.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
StabilizerDialog Member List
-
-
- -

This is the complete list of members for StabilizerDialog, including all inherited members.

- - - - - - - - - - - - - - - - - -
accuracy_slider (defined in StabilizerDialog)StabilizerDialogprivate
analysis (defined in StabilizerDialog)StabilizerDialogprivate
analysis_layout (defined in StabilizerDialog)StabilizerDialogprivate
buttons (defined in StabilizerDialog)StabilizerDialogprivate
enable_stab (defined in StabilizerDialog)StabilizerDialogprivate
gaussian_motion (defined in StabilizerDialog)StabilizerDialogprivate
layout (defined in StabilizerDialog)StabilizerDialogprivate
mincontrast_slider (defined in StabilizerDialog)StabilizerDialogprivate
set_all_enabled(bool e) (defined in StabilizerDialog)StabilizerDialogprivateslot
shakiness_slider (defined in StabilizerDialog)StabilizerDialogprivate
smoothing_slider (defined in StabilizerDialog)StabilizerDialogprivate
stabilization (defined in StabilizerDialog)StabilizerDialogprivate
stabilization_layout (defined in StabilizerDialog)StabilizerDialogprivate
StabilizerDialog(QWidget *parent=0) (defined in StabilizerDialog)StabilizerDialog
stepsize_slider (defined in StabilizerDialog)StabilizerDialogprivate
tripod_mode_box (defined in StabilizerDialog)StabilizerDialogprivate
- - - - diff --git a/docs/html/class_stabilizer_dialog.html b/docs/html/class_stabilizer_dialog.html deleted file mode 100644 index 22bf1f666..000000000 --- a/docs/html/class_stabilizer_dialog.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - -Olive: StabilizerDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
StabilizerDialog Class Reference
-
-
-
-Inheritance diagram for StabilizerDialog:
-
-
- -
- - - - -

-Public Member Functions

StabilizerDialog (QWidget *parent=0)
 
- - - -

-Private Slots

-void set_all_enabled (bool e)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

-QVBoxLayout * layout
 
-QCheckBox * enable_stab
 
-QDialogButtonBox * buttons
 
-QGroupBox * analysis
 
-QGridLayout * analysis_layout
 
-LabelSlidershakiness_slider
 
-LabelSlideraccuracy_slider
 
-LabelSliderstepsize_slider
 
-LabelSlidermincontrast_slider
 
-QCheckBox * tripod_mode_box
 
-QGroupBox * stabilization
 
-QGridLayout * stabilization_layout
 
-LabelSlidersmoothing_slider
 
-QCheckBox * gaussian_motion
 
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_stabilizer_dialog.png b/docs/html/class_stabilizer_dialog.png deleted file mode 100644 index c4851d601..000000000 Binary files a/docs/html/class_stabilizer_dialog.png and /dev/null differ diff --git a/docs/html/class_text_edit_dialog-members.html b/docs/html/class_text_edit_dialog-members.html deleted file mode 100644 index 1ece93e83..000000000 --- a/docs/html/class_text_edit_dialog-members.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
TextEditDialog Member List
-
-
- -

This is the complete list of members for TextEditDialog, including all inherited members.

- - - - - - - -
cancel()TextEditDialogprivateslot
get_string()TextEditDialog
result_strTextEditDialogprivate
save()TextEditDialogprivateslot
textEditTextEditDialogprivate
TextEditDialog(QWidget *parent=nullptr, const QString &s=nullptr)TextEditDialog
- - - - diff --git a/docs/html/class_text_edit_dialog.html b/docs/html/class_text_edit_dialog.html deleted file mode 100644 index 73e6eb4f1..000000000 --- a/docs/html/class_text_edit_dialog.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - -Olive: TextEditDialog Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
TextEditDialog Class Reference
-
-
- -

#include <texteditdialog.h>

-
-Inheritance diagram for TextEditDialog:
-
-
- -
- - - - - - -

-Public Member Functions

 TextEditDialog (QWidget *parent=nullptr, const QString &s=nullptr)
 
const QString & get_string ()
 
- - - - - -

-Private Slots

void save ()
 
void cancel ()
 
- - - - - -

-Private Attributes

QString result_str
 
QPlainTextEdit * textEdit
 
-

Constructor & Destructor Documentation

- -

◆ TextEditDialog()

- -
-
- - - - - - - - - - - - - - - - - - -
TextEditDialog::TextEditDialog (QWidget * parent = nullptr,
const QString & s = nullptr 
)
-
- -
-
-

Member Function Documentation

- -

◆ cancel

- -
-
- - - - - -
- - - - - - - -
void TextEditDialog::cancel ()
-
-privateslot
-
- -
-
- -

◆ get_string()

- -
-
- - - - - - - -
const QString & TextEditDialog::get_string ()
-
- -
-
- -

◆ save

- -
-
- - - - - -
- - - - - - - -
void TextEditDialog::save ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ result_str

- -
-
- - - - - -
- - - - -
QString TextEditDialog::result_str
-
-private
-
- -
-
- -

◆ textEdit

- -
-
- - - - - -
- - - - -
QPlainTextEdit* TextEditDialog::textEdit
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_text_edit_dialog.png b/docs/html/class_text_edit_dialog.png deleted file mode 100644 index d44b662e5..000000000 Binary files a/docs/html/class_text_edit_dialog.png and /dev/null differ diff --git a/docs/html/class_text_edit_ex-members.html b/docs/html/class_text_edit_ex-members.html deleted file mode 100644 index 9a0f4231c..000000000 --- a/docs/html/class_text_edit_ex-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
TextEditEx Member List
-
-
- -

This is the complete list of members for TextEditEx, including all inherited members.

- - - - - - - - - - -
getPlainTextEx()TextEditEx
getPreviousValue()TextEditEx
previousTextTextEditExprivate
setPlainTextEx(const QString &text)TextEditEx
textTextEditExprivate
TextEditEx(QWidget *parent=0)TextEditEx
updateInternals()TextEditExprivateslot
updateSelf()TextEditExsignal
updateText()TextEditExprivateslot
- - - - diff --git a/docs/html/class_text_edit_ex.html b/docs/html/class_text_edit_ex.html deleted file mode 100644 index 1d7a57a7e..000000000 --- a/docs/html/class_text_edit_ex.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - -Olive: TextEditEx Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <texteditex.h>

-
-Inheritance diagram for TextEditEx:
-
-
- -
- - - - -

-Signals

void updateSelf ()
 
- - - - - - - - - -

-Public Member Functions

 TextEditEx (QWidget *parent=0)
 
void setPlainTextEx (const QString &text)
 
const QString & getPreviousValue ()
 
const QString & getPlainTextEx ()
 
- - - - - -

-Private Slots

void updateInternals ()
 
void updateText ()
 
- - - - - -

-Private Attributes

QString previousText
 
QString text
 
-

Constructor & Destructor Documentation

- -

◆ TextEditEx()

- -
-
- - - - - - - - -
TextEditEx::TextEditEx (QWidget * parent = 0)
-
- -
-
-

Member Function Documentation

- -

◆ getPlainTextEx()

- -
-
- - - - - - - -
const QString & TextEditEx::getPlainTextEx ()
-
- -
-
- -

◆ getPreviousValue()

- -
-
- - - - - - - -
const QString & TextEditEx::getPreviousValue ()
-
- -
-
- -

◆ setPlainTextEx()

- -
-
- - - - - - - - -
void TextEditEx::setPlainTextEx (const QString & text)
-
- -
-
- -

◆ updateInternals

- -
-
- - - - - -
- - - - - - - -
void TextEditEx::updateInternals ()
-
-privateslot
-
- -
-
- -

◆ updateSelf

- -
-
- - - - - -
- - - - - - - -
void TextEditEx::updateSelf ()
-
-signal
-
- -
-
- -

◆ updateText

- -
-
- - - - - -
- - - - - - - -
void TextEditEx::updateText ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ previousText

- -
-
- - - - - -
- - - - -
QString TextEditEx::previousText
-
-private
-
- -
-
- -

◆ text

- -
-
- - - - - -
- - - - -
QString TextEditEx::text
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_text_edit_ex.png b/docs/html/class_text_edit_ex.png deleted file mode 100644 index f7be0db16..000000000 Binary files a/docs/html/class_text_edit_ex.png and /dev/null differ diff --git a/docs/html/class_text_effect-members.html b/docs/html/class_text_effect-members.html deleted file mode 100644 index aa02ba841..000000000 --- a/docs/html/class_text_effect-members.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
TextEffect Member List
-
-
- -

This is the complete list of members for TextEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
close()Effect
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fontTextEffectprivate
fragPathEffectprotected
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
halign_fieldTextEffect
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
open()Effect
open_text_edit()TextEffectprivateslot
outline_boolTextEffect
outline_colorTextEffect
outline_enable(bool)TextEffectprivateslot
outline_widthTextEffect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)Effectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
redraw(double timecode)TextEffectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)Effectvirtual
save_to_string()Effect
set_color_buttonTextEffect
set_enabled(bool b)Effect
set_font_comboboxTextEffect
setIterations(int i)Effect
shadow_boolTextEffect
shadow_colorTextEffect
shadow_distanceTextEffect
shadow_enable(bool)TextEffectprivateslot
shadow_opacityTextEffect
shadow_softnessTextEffect
size_valTextEffect
startEffect()Effectvirtual
text_edit_menu()TextEffectprivateslot
text_valTextEffect
TextEffect(ClipPtr c, const EffectMeta *em)TextEffect
textureEffectprotected
valign_fieldTextEffect
vertPathEffectprotected
word_wrap_fieldTextEffect
~Effect()Effect
- - - - diff --git a/docs/html/class_text_effect.html b/docs/html/class_text_effect.html deleted file mode 100644 index b6515d498..000000000 --- a/docs/html/class_text_effect.html +++ /dev/null @@ -1,658 +0,0 @@ - - - - - - - -Olive: TextEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <texteffect.h>

-
-Inheritance diagram for TextEffect:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 TextEffect (ClipPtr c, const EffectMeta *em)
 
void redraw (double timecode)
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

EffectFieldtext_val
 
EffectFieldsize_val
 
EffectFieldset_color_button
 
EffectFieldset_font_combobox
 
EffectFieldhalign_field
 
EffectFieldvalign_field
 
EffectFieldword_wrap_field
 
EffectFieldoutline_bool
 
EffectFieldoutline_width
 
EffectFieldoutline_color
 
EffectFieldshadow_bool
 
EffectFieldshadow_distance
 
EffectFieldshadow_color
 
EffectFieldshadow_softness
 
EffectFieldshadow_opacity
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- - - - - - - - - -

-Private Slots

void outline_enable (bool)
 
void shadow_enable (bool)
 
void text_edit_menu ()
 
void open_text_edit ()
 
- - - -

-Private Attributes

QFont font
 
- - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ TextEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
TextEffect::TextEffect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ open_text_edit

- -
-
- - - - - -
- - - - - - - -
void TextEffect::open_text_edit ()
-
-privateslot
-
- -
-
- -

◆ outline_enable

- -
-
- - - - - -
- - - - - - - - -
void TextEffect::outline_enable (bool e)
-
-privateslot
-
- -
-
- -

◆ redraw()

- -
-
- - - - - -
- - - - - - - - -
void TextEffect::redraw (double timecode)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ shadow_enable

- -
-
- - - - - -
- - - - - - - - -
void TextEffect::shadow_enable (bool e)
-
-privateslot
-
- -
-
- -

◆ text_edit_menu

- -
-
- - - - - -
- - - - - - - -
void TextEffect::text_edit_menu ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ font

- -
-
- - - - - -
- - - - -
QFont TextEffect::font
-
-private
-
- -
-
- -

◆ halign_field

- -
-
- - - - -
EffectField* TextEffect::halign_field
-
- -
-
- -

◆ outline_bool

- -
-
- - - - -
EffectField* TextEffect::outline_bool
-
- -
-
- -

◆ outline_color

- -
-
- - - - -
EffectField* TextEffect::outline_color
-
- -
-
- -

◆ outline_width

- -
-
- - - - -
EffectField* TextEffect::outline_width
-
- -
-
- -

◆ set_color_button

- -
-
- - - - -
EffectField* TextEffect::set_color_button
-
- -
-
- -

◆ set_font_combobox

- -
-
- - - - -
EffectField* TextEffect::set_font_combobox
-
- -
-
- -

◆ shadow_bool

- -
-
- - - - -
EffectField* TextEffect::shadow_bool
-
- -
-
- -

◆ shadow_color

- -
-
- - - - -
EffectField* TextEffect::shadow_color
-
- -
-
- -

◆ shadow_distance

- -
-
- - - - -
EffectField* TextEffect::shadow_distance
-
- -
-
- -

◆ shadow_opacity

- -
-
- - - - -
EffectField* TextEffect::shadow_opacity
-
- -
-
- -

◆ shadow_softness

- -
-
- - - - -
EffectField* TextEffect::shadow_softness
-
- -
-
- -

◆ size_val

- -
-
- - - - -
EffectField* TextEffect::size_val
-
- -
-
- -

◆ text_val

- -
-
- - - - -
EffectField* TextEffect::text_val
-
- -
-
- -

◆ valign_field

- -
-
- - - - -
EffectField* TextEffect::valign_field
-
- -
-
- -

◆ word_wrap_field

- -
-
- - - - -
EffectField* TextEffect::word_wrap_field
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_text_effect.png b/docs/html/class_text_effect.png deleted file mode 100644 index c8185e129..000000000 Binary files a/docs/html/class_text_effect.png and /dev/null differ diff --git a/docs/html/class_timecode_effect-members.html b/docs/html/class_timecode_effect-members.html deleted file mode 100644 index f96564513..000000000 --- a/docs/html/class_timecode_effect-members.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
TimecodeEffect Member List
-
-
- -

This is the complete list of members for TimecodeEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
bg_alphaTimecodeEffect
close()Effect
color_bg_valTimecodeEffect
color_valTimecodeEffect
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
display_timecodeTimecodeEffectprivate
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fontTimecodeEffectprivate
fragPathEffectprotected
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
offset_x_valTimecodeEffect
offset_y_valTimecodeEffect
open()Effect
parent_clipEffect
prepend_textTimecodeEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)Effectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
redraw(double timecode)TimecodeEffectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)Effectvirtual
save_to_string()Effect
scale_valTimecodeEffect
set_enabled(bool b)Effect
setIterations(int i)Effect
startEffect()Effectvirtual
tc_selectTimecodeEffect
textureEffectprotected
TimecodeEffect(ClipPtr c, const EffectMeta *em)TimecodeEffect
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_timecode_effect.html b/docs/html/class_timecode_effect.html deleted file mode 100644 index dac5ffa09..000000000 --- a/docs/html/class_timecode_effect.html +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - -Olive: TimecodeEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
TimecodeEffect Class Reference
-
-
- -

#include <timecodeeffect.h>

-
-Inheritance diagram for TimecodeEffect:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 TimecodeEffect (ClipPtr c, const EffectMeta *em)
 
void redraw (double timecode)
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

EffectFieldscale_val
 
EffectFieldcolor_val
 
EffectFieldcolor_bg_val
 
EffectFieldbg_alpha
 
EffectFieldoffset_x_val
 
EffectFieldoffset_y_val
 
EffectFieldprepend_text
 
EffectFieldtc_select
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- - - - - -

-Private Attributes

QFont font
 
QString display_timecode
 
- - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ TimecodeEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
TimecodeEffect::TimecodeEffect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ redraw()

- -
-
- - - - - -
- - - - - - - - -
void TimecodeEffect::redraw (double timecode)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-

Member Data Documentation

- -

◆ bg_alpha

- -
-
- - - - -
EffectField* TimecodeEffect::bg_alpha
-
- -
-
- -

◆ color_bg_val

- -
-
- - - - -
EffectField* TimecodeEffect::color_bg_val
-
- -
-
- -

◆ color_val

- -
-
- - - - -
EffectField* TimecodeEffect::color_val
-
- -
-
- -

◆ display_timecode

- -
-
- - - - - -
- - - - -
QString TimecodeEffect::display_timecode
-
-private
-
- -
-
- -

◆ font

- -
-
- - - - - -
- - - - -
QFont TimecodeEffect::font
-
-private
-
- -
-
- -

◆ offset_x_val

- -
-
- - - - -
EffectField* TimecodeEffect::offset_x_val
-
- -
-
- -

◆ offset_y_val

- -
-
- - - - -
EffectField* TimecodeEffect::offset_y_val
-
- -
-
- -

◆ prepend_text

- -
-
- - - - -
EffectField* TimecodeEffect::prepend_text
-
- -
-
- -

◆ scale_val

- -
-
- - - - -
EffectField* TimecodeEffect::scale_val
-
- -
-
- -

◆ tc_select

- -
-
- - - - -
EffectField* TimecodeEffect::tc_select
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_timecode_effect.png b/docs/html/class_timecode_effect.png deleted file mode 100644 index b65367d44..000000000 Binary files a/docs/html/class_timecode_effect.png and /dev/null differ diff --git a/docs/html/class_timeline-members.html b/docs/html/class_timeline-members.html deleted file mode 100644 index 09955748e..000000000 --- a/docs/html/class_timeline-members.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Timeline Member List
-
-
- -

This is the complete list of members for Timeline, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_btn_click()Timelineprivateslot
add_clips_from_ghosts(ComboAction *ca, SequencePtr s)Timeline
add_menu_item(QAction *)Timelineprivateslot
add_transition()Timelineslot
addButtonTimelineprivate
audio_areaTimelineprivate
audio_ghostsTimeline
audio_monitorTimeline
audioScrollbarTimelineprivate
block_repaintsTimeline
can_ripple_empty_space(long frame, int track)Timeline
clean_up_selections(QVector< Selection > &areas)Timeline
copy(bool del)Timeline
create_ghosts_from_media(SequencePtr seq, long entry_point, QVector< Media * > &media_list)Timeline
creatingTimeline
creating_objectTimeline
cursor_frameTimeline
cursor_trackTimeline
decheck_tool_buttons(QObject *sender)Timelineprivate
DecreaseTrackHeight()Timelineslot
delete_areas_and_relink(ComboAction *ca, QVector< Selection > &areas, bool deselect_areas)Timeline
delete_in_out_internal(bool ripple)Timeline
delete_inout()Timelineslot
delete_selection(QVector< Selection > &selections, bool ripple)Timeline
deselect()Timelineslot
deselect_area(long in, long out, int track)Timeline
drag_frame_startTimeline
drag_track_startTimeline
drag_x_startTimeline
drag_y_startTimeline
edit_to_in_point()Timelineslot
edit_to_out_point()Timelineslot
edit_to_point_internal(bool in, bool ripple)Timeline
editAreasTimelineprivate
event(QEvent *e) overridePanelvirtual
focused()Timeline
get_snap_range()Timeline
getDisplayFrameFromScreenPoint(int x)Timeline
getDisplayScreenPointFromFrame(long frame)Timeline
getTimelineFrameFromScreenPoint(int x)Timeline
getTimelineScreenPointFromFrame(long frame)Timeline
GetTrackHeight(int track)Timeline
ghostsTimeline
hand_movingTimeline
headersTimeline
horizontalScrollBarTimeline
importingTimeline
importing_filesTimeline
IncreaseTrackHeight()Timelineslot
move_insertTimeline
moving_initTimeline
moving_procTimeline
multiply_zoom(double m)Timeline
nest()Timelineslot
next_cut()Timelineslot
old_zoomTimeline
Panel(QWidget *parent=nullptr)Panel
paste(bool insert=false)Timelineslot
previous_cut()Timelineslot
rc_ripple_maxTimelineprivate
rc_ripple_minTimelineprivate
record_btn_click()Timelineprivateslot
recordButtonTimelineprivate
rect_select_initTimeline
rect_select_procTimeline
rect_select_rectTimeline
relink_clips_using_ids(QVector< int > &old_clips, QVector< ClipPtr > &new_clips)Timeline
repaint_timeline()Timelineslot
resize_move(double d)Timelineprivateslot
resizeEvent(QResizeEvent *event) overrideTimelineprotectedvirtual
Retranslate() overrideTimelineprotectedvirtual
ripple_delete()Timelineslot
ripple_delete_empty_space()Timelineslot
ripple_delete_inout()Timelineslot
ripple_to_in_point()Timelineslot
ripple_to_out_point()Timelineslot
scrollTimelineprivate
scroll_to_frame(long frame)Timeline
select_all()Timeline
select_from_playhead()Timeline
selectingTimeline
selection_offsetTimeline
set_marker()Timeline
set_sb_max()Timelineprivate
set_tool()Timelineprivateslot
set_tool(int tool)Timelineprivate
set_zoom_value(double v)Timelineprivate
setScroll(int)Timelineprivateslot
SetTrackHeight(int track, int height)Timeline
setup_ui()Timelineprivate
showing_allTimeline
snap_pointTimeline
snap_to_point(long point, long *l)Timeline
snap_to_timeline(long *l, bool use_playhead, bool use_markers, bool use_workarea)Timeline
snappedTimeline
snappingTimeline
snapping_clicked(bool checked)Timelineprivateslot
snappingButtonTimeline
split_all_clips_at_point(ComboAction *ca, long point)Timeline
split_at_playhead()Timelineslot
split_cacheTimeline
split_clip(ComboAction *ca, bool transitions, int p, long frame)Timeline
split_clip(ComboAction *ca, bool transitions, int p, long frame, long post_in)Timeline
split_clip_and_relink(ComboAction *ca, int clip, long frame, bool relink)Timeline
split_selection(ComboAction *ca)Timeline
split_tracksTimeline
splittingTimeline
Timeline(QWidget *parent=nullptr)Timelineexplicit
timeline_areaTimelineprivate
toggle_enable_on_selected_clips()Timelineslot
toggle_links()Timelineslot
toggle_show_all()Timelineslot
toolTimeline
tool_button_widgetTimelineprivate
tool_buttonsTimelineprivate
toolArrowButtonTimeline
toolEditButtonTimeline
toolHandButtonTimeline
toolRazorButtonTimeline
toolRippleButtonTimeline
toolSlideButtonTimeline
toolSlipButtonTimeline
toolTransitionButtonTimeline
track_heightsTimelineprivate
transition_menu_select(QAction *)Timelineprivateslot
transition_selectTimeline
transition_tool_click()Timelineprivateslot
transition_tool_close_clipTimeline
transition_tool_initTimeline
transition_tool_metaTimeline
transition_tool_open_clipTimeline
transition_tool_procTimeline
transition_tool_sideTimeline
trim_targetTimeline
trim_typeTimeline
update_effect_controls()Timeline
update_sequence()Timeline
UpdateTitle()Timelineprivate
video_areaTimelineprivate
video_ghostsTimeline
videoScrollbarTimelineprivate
zoomTimeline
zoom_in()Timelineslot
zoom_just_changedTimeline
zoom_out()Timelineslot
zoomInButtonTimelineprivate
zoomOutButtonTimelineprivate
~Timeline() overrideTimelinevirtual
- - - - diff --git a/docs/html/class_timeline.html b/docs/html/class_timeline.html deleted file mode 100644 index f33e6464b..000000000 --- a/docs/html/class_timeline.html +++ /dev/null @@ -1,3416 +0,0 @@ - - - - - - - -Olive: Timeline Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <timeline.h>

-
-Inheritance diagram for Timeline:
-
-
- - -Panel - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Slots

void paste (bool insert=false)
 
void repaint_timeline ()
 
void toggle_show_all ()
 
void deselect ()
 
void toggle_links ()
 
void split_at_playhead ()
 
void ripple_delete ()
 
void ripple_delete_empty_space ()
 
void toggle_enable_on_selected_clips ()
 
void delete_inout ()
 
void ripple_delete_inout ()
 
void ripple_to_in_point ()
 
void ripple_to_out_point ()
 
void edit_to_in_point ()
 
void edit_to_out_point ()
 
void IncreaseTrackHeight ()
 
void DecreaseTrackHeight ()
 
void previous_cut ()
 
void next_cut ()
 
void add_transition ()
 
void nest ()
 
void zoom_in ()
 
void zoom_out ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Timeline (QWidget *parent=nullptr)
 
virtual ~Timeline () override
 
bool focused ()
 
void multiply_zoom (double m)
 
void copy (bool del)
 
ClipPtr split_clip (ComboAction *ca, bool transitions, int p, long frame)
 
ClipPtr split_clip (ComboAction *ca, bool transitions, int p, long frame, long post_in)
 
bool split_selection (ComboAction *ca)
 
bool split_all_clips_at_point (ComboAction *ca, long point)
 
bool split_clip_and_relink (ComboAction *ca, int clip, long frame, bool relink)
 
void clean_up_selections (QVector< Selection > &areas)
 
void deselect_area (long in, long out, int track)
 
void delete_areas_and_relink (ComboAction *ca, QVector< Selection > &areas, bool deselect_areas)
 
void relink_clips_using_ids (QVector< int > &old_clips, QVector< ClipPtr > &new_clips)
 
void update_sequence ()
 
void edit_to_point_internal (bool in, bool ripple)
 
void delete_in_out_internal (bool ripple)
 
void create_ghosts_from_media (SequencePtr seq, long entry_point, QVector< Media * > &media_list)
 
void add_clips_from_ghosts (ComboAction *ca, SequencePtr s)
 
int getTimelineScreenPointFromFrame (long frame)
 
long getTimelineFrameFromScreenPoint (int x)
 
int getDisplayScreenPointFromFrame (long frame)
 
long getDisplayFrameFromScreenPoint (int x)
 
int get_snap_range ()
 
bool snap_to_point (long point, long *l)
 
bool snap_to_timeline (long *l, bool use_playhead, bool use_markers, bool use_workarea)
 
void set_marker ()
 
void update_effect_controls ()
 
int GetTrackHeight (int track)
 
void SetTrackHeight (int track, int height)
 
void delete_selection (QVector< Selection > &selections, bool ripple)
 
void select_all ()
 
void scroll_to_frame (long frame)
 
void select_from_playhead ()
 
bool can_ripple_empty_space (long frame, int track)
 
- Public Member Functions inherited from Panel
 Panel (QWidget *parent=nullptr)
 
virtual bool event (QEvent *e) override
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

int tool
 
long cursor_frame
 
int cursor_track
 
double zoom
 
bool zoom_just_changed
 
long drag_frame_start
 
int drag_track_start
 
bool showing_all
 
double old_zoom
 
bool snapping
 
bool snapped
 
long snap_point
 
bool selecting
 
int selection_offset
 
bool rect_select_init
 
bool rect_select_proc
 
QRect rect_select_rect
 
bool moving_init
 
bool moving_proc
 
QVector< Ghostghosts
 
bool video_ghosts
 
bool audio_ghosts
 
bool move_insert
 
int trim_target
 
TrimType trim_type
 
int transition_select
 
bool splitting
 
QVector< int > split_tracks
 
QVector< int > split_cache
 
bool importing
 
bool importing_files
 
bool creating
 
int creating_object
 
bool transition_tool_init
 
bool transition_tool_proc
 
int transition_tool_open_clip
 
int transition_tool_close_clip
 
const EffectMetatransition_tool_meta
 
int transition_tool_side
 
bool hand_moving
 
int drag_x_start
 
int drag_y_start
 
bool block_repaints
 
TimelineHeaderheaders
 
AudioMonitoraudio_monitor
 
ResizableScrollBarhorizontalScrollBar
 
QPushButton * toolArrowButton
 
QPushButton * toolEditButton
 
QPushButton * toolRippleButton
 
QPushButton * toolRazorButton
 
QPushButton * toolSlipButton
 
QPushButton * toolSlideButton
 
QPushButton * toolHandButton
 
QPushButton * toolTransitionButton
 
QPushButton * snappingButton
 
- - - - - -

-Protected Member Functions

virtual void resizeEvent (QResizeEvent *event) override
 
virtual void Retranslate () override
 
- - - - - - - - - - - - - - - - - - - -

-Private Slots

void snapping_clicked (bool checked)
 
void add_btn_click ()
 
void add_menu_item (QAction *)
 
void setScroll (int)
 
void record_btn_click ()
 
void transition_tool_click ()
 
void transition_menu_select (QAction *)
 
void resize_move (double d)
 
void set_tool ()
 
- - - - - - - - - - - - - -

-Private Member Functions

void set_zoom_value (double v)
 
void decheck_tool_buttons (QObject *sender)
 
void set_tool (int tool)
 
void set_sb_max ()
 
void UpdateTitle ()
 
void setup_ui ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

QVector< QPushButton * > tool_buttons
 
int scroll
 
long rc_ripple_min
 
long rc_ripple_max
 
QVector< TimelineTrackHeighttrack_heights
 
QWidget * timeline_area
 
TimelineWidgetvideo_area
 
TimelineWidgetaudio_area
 
QWidget * editAreas
 
QScrollBar * videoScrollbar
 
QScrollBar * audioScrollbar
 
QPushButton * zoomInButton
 
QPushButton * zoomOutButton
 
QPushButton * recordButton
 
QPushButton * addButton
 
QWidget * tool_button_widget
 
-

Constructor & Destructor Documentation

- -

◆ Timeline()

- -
-
- - - - - -
- - - - - - - - -
Timeline::Timeline (QWidget * parent = nullptr)
-
-explicit
-
- -
-
- -

◆ ~Timeline()

- -
-
- - - - - -
- - - - - - - -
Timeline::~Timeline ()
-
-overridevirtual
-
- -
-
-

Member Function Documentation

- -

◆ add_btn_click

- -
-
- - - - - -
- - - - - - - -
void Timeline::add_btn_click ()
-
-privateslot
-
- -
-
- -

◆ add_clips_from_ghosts()

- -
-
- - - - - - - - - - - - - - - - - - -
void Timeline::add_clips_from_ghosts (ComboActionca,
SequencePtr s 
)
-
- -
-
- -

◆ add_menu_item

- -
-
- - - - - -
- - - - - - - - -
void Timeline::add_menu_item (QAction * action)
-
-privateslot
-
- -
-
- -

◆ add_transition

- -
-
- - - - - -
- - - - - - - -
void Timeline::add_transition ()
-
-slot
-
- -
-
- -

◆ can_ripple_empty_space()

- -
-
- - - - - - - - - - - - - - - - - - -
bool Timeline::can_ripple_empty_space (long frame,
int track 
)
-
- -
-
- -

◆ clean_up_selections()

- -
-
- - - - - - - - -
void Timeline::clean_up_selections (QVector< Selection > & areas)
-
- -
-
- -

◆ copy()

- -
-
- - - - - - - - -
void Timeline::copy (bool del)
-
- -
-
- -

◆ create_ghosts_from_media()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void Timeline::create_ghosts_from_media (SequencePtr seq,
long entry_point,
QVector< Media * > & media_list 
)
-
- -
-
- -

◆ decheck_tool_buttons()

- -
-
- - - - - -
- - - - - - - - -
void Timeline::decheck_tool_buttons (QObject * sender)
-
-private
-
- -
-
- -

◆ DecreaseTrackHeight

- -
-
- - - - - -
- - - - - - - -
void Timeline::DecreaseTrackHeight ()
-
-slot
-
- -
-
- -

◆ delete_areas_and_relink()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void Timeline::delete_areas_and_relink (ComboActionca,
QVector< Selection > & areas,
bool deselect_areas 
)
-
- -
-
- -

◆ delete_in_out_internal()

- -
-
- - - - - - - - -
void Timeline::delete_in_out_internal (bool ripple)
-
- -
-
- -

◆ delete_inout

- -
-
- - - - - -
- - - - - - - -
void Timeline::delete_inout ()
-
-slot
-
- -
-
- -

◆ delete_selection()

- -
-
- - - - - - - - - - - - - - - - - - -
void Timeline::delete_selection (QVector< Selection > & selections,
bool ripple 
)
-
- -
-
- -

◆ deselect

- -
-
- - - - - -
- - - - - - - -
void Timeline::deselect ()
-
-slot
-
- -
-
- -

◆ deselect_area()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void Timeline::deselect_area (long in,
long out,
int track 
)
-
- -
-
- -

◆ edit_to_in_point

- -
-
- - - - - -
- - - - - - - -
void Timeline::edit_to_in_point ()
-
-slot
-
- -
-
- -

◆ edit_to_out_point

- -
-
- - - - - -
- - - - - - - -
void Timeline::edit_to_out_point ()
-
-slot
-
- -
-
- -

◆ edit_to_point_internal()

- -
-
- - - - - - - - - - - - - - - - - - -
void Timeline::edit_to_point_internal (bool in,
bool ripple 
)
-
- -
-
- -

◆ focused()

- -
-
- - - - - - - -
bool Timeline::focused ()
-
- -
-
- -

◆ get_snap_range()

- -
-
- - - - - - - -
int Timeline::get_snap_range ()
-
- -
-
- -

◆ getDisplayFrameFromScreenPoint()

- -
-
- - - - - - - - -
long Timeline::getDisplayFrameFromScreenPoint (int x)
-
- -
-
- -

◆ getDisplayScreenPointFromFrame()

- -
-
- - - - - - - - -
int Timeline::getDisplayScreenPointFromFrame (long frame)
-
- -
-
- -

◆ getTimelineFrameFromScreenPoint()

- -
-
- - - - - - - - -
long Timeline::getTimelineFrameFromScreenPoint (int x)
-
- -
-
- -

◆ getTimelineScreenPointFromFrame()

- -
-
- - - - - - - - -
int Timeline::getTimelineScreenPointFromFrame (long frame)
-
- -
-
- -

◆ GetTrackHeight()

- -
-
- - - - - - - - -
int Timeline::GetTrackHeight (int track)
-
- -
-
- -

◆ IncreaseTrackHeight

- -
-
- - - - - -
- - - - - - - -
void Timeline::IncreaseTrackHeight ()
-
-slot
-
- -
-
- -

◆ multiply_zoom()

- -
-
- - - - - - - - -
void Timeline::multiply_zoom (double m)
-
- -
-
- -

◆ nest

- -
-
- - - - - -
- - - - - - - -
void Timeline::nest ()
-
-slot
-
- -
-
- -

◆ next_cut

- -
-
- - - - - -
- - - - - - - -
void Timeline::next_cut ()
-
-slot
-
- -
-
- -

◆ paste

- -
-
- - - - - -
- - - - - - - - -
void Timeline::paste (bool insert = false)
-
-slot
-
- -
-
- -

◆ previous_cut

- -
-
- - - - - -
- - - - - - - -
void Timeline::previous_cut ()
-
-slot
-
- -
-
- -

◆ record_btn_click

- -
-
- - - - - -
- - - - - - - -
void Timeline::record_btn_click ()
-
-privateslot
-
- -
-
- -

◆ relink_clips_using_ids()

- -
-
- - - - - - - - - - - - - - - - - - -
void Timeline::relink_clips_using_ids (QVector< int > & old_clips,
QVector< ClipPtr > & new_clips 
)
-
- -
-
- -

◆ repaint_timeline

- -
-
- - - - - -
- - - - - - - -
void Timeline::repaint_timeline ()
-
-slot
-
- -
-
- -

◆ resize_move

- -
-
- - - - - -
- - - - - - - - -
void Timeline::resize_move (double d)
-
-privateslot
-
- -
-
- -

◆ resizeEvent()

- -
-
- - - - - -
- - - - - - - - -
void Timeline::resizeEvent (QResizeEvent * event)
-
-overrideprotectedvirtual
-
- -
-
- -

◆ Retranslate()

- -
-
- - - - - -
- - - - - - - -
void Timeline::Retranslate ()
-
-overrideprotectedvirtual
-
- -

Implements Panel.

- -
-
- -

◆ ripple_delete

- -
-
- - - - - -
- - - - - - - -
void Timeline::ripple_delete ()
-
-slot
-
- -
-
- -

◆ ripple_delete_empty_space

- -
-
- - - - - -
- - - - - - - -
void Timeline::ripple_delete_empty_space ()
-
-slot
-
- -
-
- -

◆ ripple_delete_inout

- -
-
- - - - - -
- - - - - - - -
void Timeline::ripple_delete_inout ()
-
-slot
-
- -
-
- -

◆ ripple_to_in_point

- -
-
- - - - - -
- - - - - - - -
void Timeline::ripple_to_in_point ()
-
-slot
-
- -
-
- -

◆ ripple_to_out_point

- -
-
- - - - - -
- - - - - - - -
void Timeline::ripple_to_out_point ()
-
-slot
-
- -
-
- -

◆ scroll_to_frame()

- -
-
- - - - - - - - -
void Timeline::scroll_to_frame (long frame)
-
- -
-
- -

◆ select_all()

- -
-
- - - - - - - -
void Timeline::select_all ()
-
- -
-
- -

◆ select_from_playhead()

- -
-
- - - - - - - -
void Timeline::select_from_playhead ()
-
- -
-
- -

◆ set_marker()

- -
-
- - - - - - - -
void Timeline::set_marker ()
-
- -
-
- -

◆ set_sb_max()

- -
-
- - - - - -
- - - - - - - -
void Timeline::set_sb_max ()
-
-private
-
- -
-
- -

◆ set_tool [1/2]

- -
-
- - - - - -
- - - - - - - -
void Timeline::set_tool ()
-
-privateslot
-
- -
-
- -

◆ set_tool() [2/2]

- -
-
- - - - - -
- - - - - - - - -
void Timeline::set_tool (int tool)
-
-private
-
- -
-
- -

◆ set_zoom_value()

- -
-
- - - - - -
- - - - - - - - -
void Timeline::set_zoom_value (double v)
-
-private
-
- -
-
- -

◆ setScroll

- -
-
- - - - - -
- - - - - - - - -
void Timeline::setScroll (int s)
-
-privateslot
-
- -
-
- -

◆ SetTrackHeight()

- -
-
- - - - - - - - - - - - - - - - - - -
void Timeline::SetTrackHeight (int track,
int height 
)
-
- -
-
- -

◆ setup_ui()

- -
-
- - - - - -
- - - - - - - -
void Timeline::setup_ui ()
-
-private
-
- -
-
- -

◆ snap_to_point()

- -
-
- - - - - - - - - - - - - - - - - - -
bool Timeline::snap_to_point (long point,
long * l 
)
-
- -
-
- -

◆ snap_to_timeline()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool Timeline::snap_to_timeline (long * l,
bool use_playhead,
bool use_markers,
bool use_workarea 
)
-
- -
-
- -

◆ snapping_clicked

- -
-
- - - - - -
- - - - - - - - -
void Timeline::snapping_clicked (bool checked)
-
-privateslot
-
- -
-
- -

◆ split_all_clips_at_point()

- -
-
- - - - - - - - - - - - - - - - - - -
bool Timeline::split_all_clips_at_point (ComboActionca,
long point 
)
-
- -
-
- -

◆ split_at_playhead

- -
-
- - - - - -
- - - - - - - -
void Timeline::split_at_playhead ()
-
-slot
-
- -
-
- -

◆ split_clip() [1/2]

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ClipPtr Timeline::split_clip (ComboActionca,
bool transitions,
int p,
long frame 
)
-
- -
-
- -

◆ split_clip() [2/2]

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ClipPtr Timeline::split_clip (ComboActionca,
bool transitions,
int p,
long frame,
long post_in 
)
-
- -
-
- -

◆ split_clip_and_relink()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool Timeline::split_clip_and_relink (ComboActionca,
int clip,
long frame,
bool relink 
)
-
- -
-
- -

◆ split_selection()

- -
-
- - - - - - - - -
bool Timeline::split_selection (ComboActionca)
-
- -
-
- -

◆ toggle_enable_on_selected_clips

- -
-
- - - - - -
- - - - - - - -
void Timeline::toggle_enable_on_selected_clips ()
-
-slot
-
- -
-
- -

◆ toggle_links

- -
-
- - - - - -
- - - - - - - -
void Timeline::toggle_links ()
-
-slot
-
- -
-
- -

◆ toggle_show_all

- -
-
- - - - - -
- - - - - - - -
void Timeline::toggle_show_all ()
-
-slot
-
- -
-
- -

◆ transition_menu_select

- -
-
- - - - - -
- - - - - - - - -
void Timeline::transition_menu_select (QAction * a)
-
-privateslot
-
- -
-
- -

◆ transition_tool_click

- -
-
- - - - - -
- - - - - - - -
void Timeline::transition_tool_click ()
-
-privateslot
-
- -
-
- -

◆ update_effect_controls()

- -
-
- - - - - - - -
void Timeline::update_effect_controls ()
-
- -
-
- -

◆ update_sequence()

- -
-
- - - - - - - -
void Timeline::update_sequence ()
-
- -
-
- -

◆ UpdateTitle()

- -
-
- - - - - -
- - - - - - - -
void Timeline::UpdateTitle ()
-
-private
-
- -
-
- -

◆ zoom_in

- -
-
- - - - - -
- - - - - - - -
void Timeline::zoom_in ()
-
-slot
-
- -
-
- -

◆ zoom_out

- -
-
- - - - - -
- - - - - - - -
void Timeline::zoom_out ()
-
-slot
-
- -
-
-

Member Data Documentation

- -

◆ addButton

- -
-
- - - - - -
- - - - -
QPushButton* Timeline::addButton
-
-private
-
- -
-
- -

◆ audio_area

- -
-
- - - - - -
- - - - -
TimelineWidget* Timeline::audio_area
-
-private
-
- -
-
- -

◆ audio_ghosts

- -
-
- - - - -
bool Timeline::audio_ghosts
-
- -
-
- -

◆ audio_monitor

- -
-
- - - - -
AudioMonitor* Timeline::audio_monitor
-
- -
-
- -

◆ audioScrollbar

- -
-
- - - - - -
- - - - -
QScrollBar* Timeline::audioScrollbar
-
-private
-
- -
-
- -

◆ block_repaints

- -
-
- - - - -
bool Timeline::block_repaints
-
- -
-
- -

◆ creating

- -
-
- - - - -
bool Timeline::creating
-
- -
-
- -

◆ creating_object

- -
-
- - - - -
int Timeline::creating_object
-
- -
-
- -

◆ cursor_frame

- -
-
- - - - -
long Timeline::cursor_frame
-
- -
-
- -

◆ cursor_track

- -
-
- - - - -
int Timeline::cursor_track
-
- -
-
- -

◆ drag_frame_start

- -
-
- - - - -
long Timeline::drag_frame_start
-
- -
-
- -

◆ drag_track_start

- -
-
- - - - -
int Timeline::drag_track_start
-
- -
-
- -

◆ drag_x_start

- -
-
- - - - -
int Timeline::drag_x_start
-
- -
-
- -

◆ drag_y_start

- -
-
- - - - -
int Timeline::drag_y_start
-
- -
-
- -

◆ editAreas

- -
-
- - - - - -
- - - - -
QWidget* Timeline::editAreas
-
-private
-
- -
-
- -

◆ ghosts

- -
-
- - - - -
QVector<Ghost> Timeline::ghosts
-
- -
-
- -

◆ hand_moving

- -
-
- - - - -
bool Timeline::hand_moving
-
- -
-
- -

◆ headers

- -
-
- - - - -
TimelineHeader* Timeline::headers
-
- -
-
- -

◆ horizontalScrollBar

- -
-
- - - - -
ResizableScrollBar* Timeline::horizontalScrollBar
-
- -
-
- -

◆ importing

- -
-
- - - - -
bool Timeline::importing
-
- -
-
- -

◆ importing_files

- -
-
- - - - -
bool Timeline::importing_files
-
- -
-
- -

◆ move_insert

- -
-
- - - - -
bool Timeline::move_insert
-
- -
-
- -

◆ moving_init

- -
-
- - - - -
bool Timeline::moving_init
-
- -
-
- -

◆ moving_proc

- -
-
- - - - -
bool Timeline::moving_proc
-
- -
-
- -

◆ old_zoom

- -
-
- - - - -
double Timeline::old_zoom
-
- -
-
- -

◆ rc_ripple_max

- -
-
- - - - - -
- - - - -
long Timeline::rc_ripple_max
-
-private
-
- -
-
- -

◆ rc_ripple_min

- -
-
- - - - - -
- - - - -
long Timeline::rc_ripple_min
-
-private
-
- -
-
- -

◆ recordButton

- -
-
- - - - - -
- - - - -
QPushButton* Timeline::recordButton
-
-private
-
- -
-
- -

◆ rect_select_init

- -
-
- - - - -
bool Timeline::rect_select_init
-
- -
-
- -

◆ rect_select_proc

- -
-
- - - - -
bool Timeline::rect_select_proc
-
- -
-
- -

◆ rect_select_rect

- -
-
- - - - -
QRect Timeline::rect_select_rect
-
- -
-
- -

◆ scroll

- -
-
- - - - - -
- - - - -
int Timeline::scroll
-
-private
-
- -
-
- -

◆ selecting

- -
-
- - - - -
bool Timeline::selecting
-
- -
-
- -

◆ selection_offset

- -
-
- - - - -
int Timeline::selection_offset
-
- -
-
- -

◆ showing_all

- -
-
- - - - -
bool Timeline::showing_all
-
- -
-
- -

◆ snap_point

- -
-
- - - - -
long Timeline::snap_point
-
- -
-
- -

◆ snapped

- -
-
- - - - -
bool Timeline::snapped
-
- -
-
- -

◆ snapping

- -
-
- - - - -
bool Timeline::snapping
-
- -
-
- -

◆ snappingButton

- -
-
- - - - -
QPushButton* Timeline::snappingButton
-
- -
-
- -

◆ split_cache

- -
-
- - - - -
QVector<int> Timeline::split_cache
-
- -
-
- -

◆ split_tracks

- -
-
- - - - -
QVector<int> Timeline::split_tracks
-
- -
-
- -

◆ splitting

- -
-
- - - - -
bool Timeline::splitting
-
- -
-
- -

◆ timeline_area

- -
-
- - - - - -
- - - - -
QWidget* Timeline::timeline_area
-
-private
-
- -
-
- -

◆ tool

- -
-
- - - - -
int Timeline::tool
-
- -
-
- -

◆ tool_button_widget

- -
-
- - - - - -
- - - - -
QWidget* Timeline::tool_button_widget
-
-private
-
- -
-
- -

◆ tool_buttons

- -
-
- - - - - -
- - - - -
QVector<QPushButton*> Timeline::tool_buttons
-
-private
-
- -
-
- -

◆ toolArrowButton

- -
-
- - - - -
QPushButton* Timeline::toolArrowButton
-
- -
-
- -

◆ toolEditButton

- -
-
- - - - -
QPushButton* Timeline::toolEditButton
-
- -
-
- -

◆ toolHandButton

- -
-
- - - - -
QPushButton* Timeline::toolHandButton
-
- -
-
- -

◆ toolRazorButton

- -
-
- - - - -
QPushButton* Timeline::toolRazorButton
-
- -
-
- -

◆ toolRippleButton

- -
-
- - - - -
QPushButton* Timeline::toolRippleButton
-
- -
-
- -

◆ toolSlideButton

- -
-
- - - - -
QPushButton* Timeline::toolSlideButton
-
- -
-
- -

◆ toolSlipButton

- -
-
- - - - -
QPushButton* Timeline::toolSlipButton
-
- -
-
- -

◆ toolTransitionButton

- -
-
- - - - -
QPushButton* Timeline::toolTransitionButton
-
- -
-
- -

◆ track_heights

- -
-
- - - - - -
- - - - -
QVector<TimelineTrackHeight> Timeline::track_heights
-
-private
-
- -
-
- -

◆ transition_select

- -
-
- - - - -
int Timeline::transition_select
-
- -
-
- -

◆ transition_tool_close_clip

- -
-
- - - - -
int Timeline::transition_tool_close_clip
-
- -
-
- -

◆ transition_tool_init

- -
-
- - - - -
bool Timeline::transition_tool_init
-
- -
-
- -

◆ transition_tool_meta

- -
-
- - - - -
const EffectMeta* Timeline::transition_tool_meta
-
- -
-
- -

◆ transition_tool_open_clip

- -
-
- - - - -
int Timeline::transition_tool_open_clip
-
- -
-
- -

◆ transition_tool_proc

- -
-
- - - - -
bool Timeline::transition_tool_proc
-
- -
-
- -

◆ transition_tool_side

- -
-
- - - - -
int Timeline::transition_tool_side
-
- -
-
- -

◆ trim_target

- -
-
- - - - -
int Timeline::trim_target
-
- -
-
- -

◆ trim_type

- -
-
- - - - -
TrimType Timeline::trim_type
-
- -
-
- -

◆ video_area

- -
-
- - - - - -
- - - - -
TimelineWidget* Timeline::video_area
-
-private
-
- -
-
- -

◆ video_ghosts

- -
-
- - - - -
bool Timeline::video_ghosts
-
- -
-
- -

◆ videoScrollbar

- -
-
- - - - - -
- - - - -
QScrollBar* Timeline::videoScrollbar
-
-private
-
- -
-
- -

◆ zoom

- -
-
- - - - -
double Timeline::zoom
-
- -
-
- -

◆ zoom_just_changed

- -
-
- - - - -
bool Timeline::zoom_just_changed
-
- -
-
- -

◆ zoomInButton

- -
-
- - - - - -
- - - - -
QPushButton* Timeline::zoomInButton
-
-private
-
- -
-
- -

◆ zoomOutButton

- -
-
- - - - - -
- - - - -
QPushButton* Timeline::zoomOutButton
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_timeline.png b/docs/html/class_timeline.png deleted file mode 100644 index f8d563df2..000000000 Binary files a/docs/html/class_timeline.png and /dev/null differ diff --git a/docs/html/class_timeline_header-members.html b/docs/html/class_timeline_header-members.html deleted file mode 100644 index 372ed8366..000000000 --- a/docs/html/class_timeline_header-members.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
TimelineHeader Member List
-
-
- -

This is the complete list of members for TimelineHeader, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
delete_markers()TimelineHeader
drag_startTimelineHeaderprivate
draggingTimelineHeaderprivate
dragging_markersTimelineHeaderprivate
fmTimelineHeaderprivate
focusOutEvent(QFocusEvent *)TimelineHeaderprotected
get_marker_offset()TimelineHeaderprivate
get_zoom()TimelineHeader
getHeaderFrameFromScreenPoint(int x)TimelineHeaderprivate
getHeaderScreenPointFromFrame(long frame)TimelineHeaderprivate
height_actualTimelineHeaderprivate
in_visibleTimelineHeaderprivate
mouseMoveEvent(QMouseEvent *)TimelineHeaderprotected
mousePressEvent(QMouseEvent *)TimelineHeaderprotected
mouseReleaseEvent(QMouseEvent *)TimelineHeaderprotected
paintEvent(QPaintEvent *)TimelineHeaderprotected
resized_scroll_listener(double d)TimelineHeaderslot
resizing_workareaTimelineHeaderprivate
resizing_workarea_inTimelineHeaderprivate
scrollTimelineHeaderprivate
selected_marker_original_timesTimelineHeaderprivate
selected_markersTimelineHeaderprivate
sequence_endTimelineHeaderprivate
set_in_point(long p)TimelineHeader
set_out_point(long p)TimelineHeader
set_playhead(int mouse_x)TimelineHeaderprivate
set_scroll(int)TimelineHeaderslot
set_scrollbar_max(QScrollBar *bar, long sequence_end_frame, int offset)TimelineHeader
set_visible_in(long i)TimelineHeaderslot
show_context_menu(const QPoint &pos)TimelineHeaderslot
show_text(bool enable)TimelineHeader
snappingTimelineHeader
temp_workarea_inTimelineHeaderprivate
temp_workarea_outTimelineHeaderprivate
text_enabledTimelineHeaderprivate
TimelineHeader(QWidget *parent=0)TimelineHeaderexplicit
update_parents()TimelineHeaderprivate
update_zoom(double z)TimelineHeaderslot
viewerTimelineHeader
zoomTimelineHeaderprivate
- - - - diff --git a/docs/html/class_timeline_header.html b/docs/html/class_timeline_header.html deleted file mode 100644 index 12191c006..000000000 --- a/docs/html/class_timeline_header.html +++ /dev/null @@ -1,1114 +0,0 @@ - - - - - - - -Olive: TimelineHeader Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <timelineheader.h>

-
-Inheritance diagram for TimelineHeader:
-
-
- -
- - - - - - - - - - - - -

-Public Slots

void update_zoom (double z)
 
void set_scroll (int)
 
void set_visible_in (long i)
 
void show_context_menu (const QPoint &pos)
 
void resized_scroll_listener (double d)
 
- - - - - - - - - - - - - - - -

-Public Member Functions

 TimelineHeader (QWidget *parent=0)
 
void set_in_point (long p)
 
void set_out_point (long p)
 
void show_text (bool enable)
 
double get_zoom ()
 
void delete_markers ()
 
void set_scrollbar_max (QScrollBar *bar, long sequence_end_frame, int offset)
 
- - - - - -

-Public Attributes

Viewerviewer
 
bool snapping
 
- - - - - - - - - - - -

-Protected Member Functions

void paintEvent (QPaintEvent *)
 
void mousePressEvent (QMouseEvent *)
 
void mouseMoveEvent (QMouseEvent *)
 
void mouseReleaseEvent (QMouseEvent *)
 
void focusOutEvent (QFocusEvent *)
 
- - - - - - - - - - - -

-Private Member Functions

void update_parents ()
 
void set_playhead (int mouse_x)
 
int get_marker_offset ()
 
long getHeaderFrameFromScreenPoint (int x)
 
int getHeaderScreenPointFromFrame (long frame)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

bool dragging
 
bool resizing_workarea
 
bool resizing_workarea_in
 
long temp_workarea_in
 
long temp_workarea_out
 
long sequence_end
 
double zoom
 
long in_visible
 
QFontMetrics fm
 
int drag_start
 
bool dragging_markers
 
QVector< int > selected_markers
 
QVector< long > selected_marker_original_times
 
int scroll
 
int height_actual
 
bool text_enabled
 
-

Constructor & Destructor Documentation

- -

◆ TimelineHeader()

- -
-
- - - - - -
- - - - - - - - -
TimelineHeader::TimelineHeader (QWidget * parent = 0)
-
-explicit
-
- -
-
-

Member Function Documentation

- -

◆ delete_markers()

- -
-
- - - - - - - -
void TimelineHeader::delete_markers ()
-
- -
-
- -

◆ focusOutEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineHeader::focusOutEvent (QFocusEvent * )
-
-protected
-
- -
-
- -

◆ get_marker_offset()

- -
-
- - - - - -
- - - - - - - -
int TimelineHeader::get_marker_offset ()
-
-private
-
- -
-
- -

◆ get_zoom()

- -
-
- - - - - - - -
double TimelineHeader::get_zoom ()
-
- -
-
- -

◆ getHeaderFrameFromScreenPoint()

- -
-
- - - - - -
- - - - - - - - -
long TimelineHeader::getHeaderFrameFromScreenPoint (int x)
-
-private
-
- -
-
- -

◆ getHeaderScreenPointFromFrame()

- -
-
- - - - - -
- - - - - - - - -
int TimelineHeader::getHeaderScreenPointFromFrame (long frame)
-
-private
-
- -
-
- -

◆ mouseMoveEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineHeader::mouseMoveEvent (QMouseEvent * event)
-
-protected
-
- -
-
- -

◆ mousePressEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineHeader::mousePressEvent (QMouseEvent * event)
-
-protected
-
- -
-
- -

◆ mouseReleaseEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineHeader::mouseReleaseEvent (QMouseEvent * )
-
-protected
-
- -
-
- -

◆ paintEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineHeader::paintEvent (QPaintEvent * )
-
-protected
-
- -
-
- -

◆ resized_scroll_listener

- -
-
- - - - - -
- - - - - - - - -
void TimelineHeader::resized_scroll_listener (double d)
-
-slot
-
- -
-
- -

◆ set_in_point()

- -
-
- - - - - - - - -
void TimelineHeader::set_in_point (long p)
-
- -
-
- -

◆ set_out_point()

- -
-
- - - - - - - - -
void TimelineHeader::set_out_point (long p)
-
- -
-
- -

◆ set_playhead()

- -
-
- - - - - -
- - - - - - - - -
void TimelineHeader::set_playhead (int mouse_x)
-
-private
-
- -
-
- -

◆ set_scroll

- -
-
- - - - - -
- - - - - - - - -
void TimelineHeader::set_scroll (int s)
-
-slot
-
- -
-
- -

◆ set_scrollbar_max()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void TimelineHeader::set_scrollbar_max (QScrollBar * bar,
long sequence_end_frame,
int offset 
)
-
- -
-
- -

◆ set_visible_in

- -
-
- - - - - -
- - - - - - - - -
void TimelineHeader::set_visible_in (long i)
-
-slot
-
- -
-
- -

◆ show_context_menu

- -
-
- - - - - -
- - - - - - - - -
void TimelineHeader::show_context_menu (const QPoint & pos)
-
-slot
-
- -
-
- -

◆ show_text()

- -
-
- - - - - - - - -
void TimelineHeader::show_text (bool enable)
-
- -
-
- -

◆ update_parents()

- -
-
- - - - - -
- - - - - - - -
void TimelineHeader::update_parents ()
-
-private
-
- -
-
- -

◆ update_zoom

- -
-
- - - - - -
- - - - - - - - -
void TimelineHeader::update_zoom (double z)
-
-slot
-
- -
-
-

Member Data Documentation

- -

◆ drag_start

- -
-
- - - - - -
- - - - -
int TimelineHeader::drag_start
-
-private
-
- -
-
- -

◆ dragging

- -
-
- - - - - -
- - - - -
bool TimelineHeader::dragging
-
-private
-
- -
-
- -

◆ dragging_markers

- -
-
- - - - - -
- - - - -
bool TimelineHeader::dragging_markers
-
-private
-
- -
-
- -

◆ fm

- -
-
- - - - - -
- - - - -
QFontMetrics TimelineHeader::fm
-
-private
-
- -
-
- -

◆ height_actual

- -
-
- - - - - -
- - - - -
int TimelineHeader::height_actual
-
-private
-
- -
-
- -

◆ in_visible

- -
-
- - - - - -
- - - - -
long TimelineHeader::in_visible
-
-private
-
- -
-
- -

◆ resizing_workarea

- -
-
- - - - - -
- - - - -
bool TimelineHeader::resizing_workarea
-
-private
-
- -
-
- -

◆ resizing_workarea_in

- -
-
- - - - - -
- - - - -
bool TimelineHeader::resizing_workarea_in
-
-private
-
- -
-
- -

◆ scroll

- -
-
- - - - - -
- - - - -
int TimelineHeader::scroll
-
-private
-
- -
-
- -

◆ selected_marker_original_times

- -
-
- - - - - -
- - - - -
QVector<long> TimelineHeader::selected_marker_original_times
-
-private
-
- -
-
- -

◆ selected_markers

- -
-
- - - - - -
- - - - -
QVector<int> TimelineHeader::selected_markers
-
-private
-
- -
-
- -

◆ sequence_end

- -
-
- - - - - -
- - - - -
long TimelineHeader::sequence_end
-
-private
-
- -
-
- -

◆ snapping

- -
-
- - - - -
bool TimelineHeader::snapping
-
- -
-
- -

◆ temp_workarea_in

- -
-
- - - - - -
- - - - -
long TimelineHeader::temp_workarea_in
-
-private
-
- -
-
- -

◆ temp_workarea_out

- -
-
- - - - - -
- - - - -
long TimelineHeader::temp_workarea_out
-
-private
-
- -
-
- -

◆ text_enabled

- -
-
- - - - - -
- - - - -
bool TimelineHeader::text_enabled
-
-private
-
- -
-
- -

◆ viewer

- -
-
- - - - -
Viewer* TimelineHeader::viewer
-
- -
-
- -

◆ zoom

- -
-
- - - - - -
- - - - -
double TimelineHeader::zoom
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_timeline_header.png b/docs/html/class_timeline_header.png deleted file mode 100644 index 4735a7d6e..000000000 Binary files a/docs/html/class_timeline_header.png and /dev/null differ diff --git a/docs/html/class_timeline_widget-members.html b/docs/html/class_timeline_widget-members.html deleted file mode 100644 index bd302c35d..000000000 --- a/docs/html/class_timeline_widget-members.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
TimelineWidget Member List
-
-
- -

This is the complete list of members for TimelineWidget, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bottom_alignTimelineWidget
dragEnterEvent(QDragEnterEvent *event)TimelineWidgetprotected
dragLeaveEvent(QDragLeaveEvent *event)TimelineWidgetprotected
dragMoveEvent(QDragMoveEvent *event)TimelineWidgetprotected
dropEvent(QDropEvent *event)TimelineWidgetprotected
getClipIndexFromCoords(long frame, int track)TimelineWidgetprivate
getScreenPointFromTrack(int track)TimelineWidgetprivate
getTrackFromScreenPoint(int y)TimelineWidgetprivate
init_ghosts()TimelineWidgetprivate
is_track_visible(int track)TimelineWidgetprivate
leaveEvent(QEvent *event)TimelineWidgetprotected
mouseDoubleClickEvent(QMouseEvent *event)TimelineWidgetprotected
mouseMoveEvent(QMouseEvent *event)TimelineWidgetprotected
mousePressEvent(QMouseEvent *event)TimelineWidgetprotected
mouseReleaseEvent(QMouseEvent *event)TimelineWidgetprotected
open_sequence_properties()TimelineWidgetprivateslot
paintEvent(QPaintEvent *)TimelineWidgetprotected
post_clipsTimelineWidgetprivate
pre_clipsTimelineWidgetprivate
rc_reveal_mediaTimelineWidgetprivate
rename_clip()TimelineWidgetprivateslot
resizeEvent(QResizeEvent *event)TimelineWidgetprotected
reveal_media()TimelineWidgetprivateslot
scrollTimelineWidgetprivate
scrollBarTimelineWidget
selection_commandTimelineWidgetprivate
self_created_sequenceTimelineWidgetprivate
setScroll(int)TimelineWidgetslot
show_context_menu(const QPoint &pos)TimelineWidgetprivateslot
TimelineWidget(QWidget *parent=0)TimelineWidgetexplicit
toggle_autoscale()TimelineWidgetprivateslot
tooltip_clipTimelineWidgetprivate
tooltip_timerTimelineWidgetprivate
tooltip_timer_timeout()TimelineWidgetprivateslot
track_resizingTimelineWidgetprivate
track_targetTimelineWidgetprivate
update_ghosts(const QPoint &mouse_pos, bool lock_frame)TimelineWidgetprivate
VerifyTransitionHelper()TimelineWidgetprivate
wheelEvent(QWheelEvent *event)TimelineWidgetprotected
- - - - diff --git a/docs/html/class_timeline_widget.html b/docs/html/class_timeline_widget.html deleted file mode 100644 index 210b5cba9..000000000 --- a/docs/html/class_timeline_widget.html +++ /dev/null @@ -1,1163 +0,0 @@ - - - - - - - -Olive: TimelineWidget Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <timelinewidget.h>

-
-Inheritance diagram for TimelineWidget:
-
-
- -
- - - - -

-Public Slots

void setScroll (int)
 
- - - -

-Public Member Functions

 TimelineWidget (QWidget *parent=0)
 
- - - - - -

-Public Attributes

QScrollBar * scrollBar
 
bool bottom_align
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Member Functions

void paintEvent (QPaintEvent *)
 
void resizeEvent (QResizeEvent *event)
 
void mouseDoubleClickEvent (QMouseEvent *event)
 
void mousePressEvent (QMouseEvent *event)
 
void mouseReleaseEvent (QMouseEvent *event)
 
void mouseMoveEvent (QMouseEvent *event)
 
void leaveEvent (QEvent *event)
 
void dragEnterEvent (QDragEnterEvent *event)
 
void dragLeaveEvent (QDragLeaveEvent *event)
 
void dropEvent (QDropEvent *event)
 
void dragMoveEvent (QDragMoveEvent *event)
 
void wheelEvent (QWheelEvent *event)
 
- - - - - - - - - - - - - -

-Private Slots

void reveal_media ()
 
void show_context_menu (const QPoint &pos)
 
void toggle_autoscale ()
 
void tooltip_timer_timeout ()
 
void rename_clip ()
 
void open_sequence_properties ()
 
- - - - - - - - - - - - - - - -

-Private Member Functions

void init_ghosts ()
 
void update_ghosts (const QPoint &mouse_pos, bool lock_frame)
 
bool is_track_visible (int track)
 
int getTrackFromScreenPoint (int y)
 
int getScreenPointFromTrack (int track)
 
int getClipIndexFromCoords (long frame, int track)
 
void VerifyTransitionHelper ()
 
- - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

bool track_resizing
 
int track_target
 
QVector< ClipPtrpre_clips
 
QVector< ClipPtrpost_clips
 
Mediarc_reveal_media
 
SequencePtr self_created_sequence
 
QTimer tooltip_timer
 
int tooltip_clip
 
int scroll
 
SetSelectionsCommandselection_command
 
-

Constructor & Destructor Documentation

- -

◆ TimelineWidget()

- -
-
- - - - - -
- - - - - - - - -
TimelineWidget::TimelineWidget (QWidget * parent = 0)
-
-explicit
-
- -
-
-

Member Function Documentation

- -

◆ dragEnterEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::dragEnterEvent (QDragEnterEvent * event)
-
-protected
-
- -
-
- -

◆ dragLeaveEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::dragLeaveEvent (QDragLeaveEvent * event)
-
-protected
-
- -
-
- -

◆ dragMoveEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::dragMoveEvent (QDragMoveEvent * event)
-
-protected
-
- -
-
- -

◆ dropEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::dropEvent (QDropEvent * event)
-
-protected
-
- -
-
- -

◆ getClipIndexFromCoords()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
int TimelineWidget::getClipIndexFromCoords (long frame,
int track 
)
-
-private
-
- -
-
- -

◆ getScreenPointFromTrack()

- -
-
- - - - - -
- - - - - - - - -
int TimelineWidget::getScreenPointFromTrack (int track)
-
-private
-
- -
-
- -

◆ getTrackFromScreenPoint()

- -
-
- - - - - -
- - - - - - - - -
int TimelineWidget::getTrackFromScreenPoint (int y)
-
-private
-
- -
-
- -

◆ init_ghosts()

- -
-
- - - - - -
- - - - - - - -
void TimelineWidget::init_ghosts ()
-
-private
-
- -
-
- -

◆ is_track_visible()

- -
-
- - - - - -
- - - - - - - - -
bool TimelineWidget::is_track_visible (int track)
-
-private
-
- -
-
- -

◆ leaveEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::leaveEvent (QEvent * event)
-
-protected
-
- -
-
- -

◆ mouseDoubleClickEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::mouseDoubleClickEvent (QMouseEvent * event)
-
-protected
-
- -
-
- -

◆ mouseMoveEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::mouseMoveEvent (QMouseEvent * event)
-
-protected
-
- -
-
- -

◆ mousePressEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::mousePressEvent (QMouseEvent * event)
-
-protected
-
- -
-
- -

◆ mouseReleaseEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::mouseReleaseEvent (QMouseEvent * event)
-
-protected
-
- -
-
- -

◆ open_sequence_properties

- -
-
- - - - - -
- - - - - - - -
void TimelineWidget::open_sequence_properties ()
-
-privateslot
-
- -
-
- -

◆ paintEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::paintEvent (QPaintEvent * )
-
-protected
-
- -
-
- -

◆ rename_clip

- -
-
- - - - - -
- - - - - - - -
void TimelineWidget::rename_clip ()
-
-privateslot
-
- -
-
- -

◆ resizeEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::resizeEvent (QResizeEvent * event)
-
-protected
-
- -
-
- -

◆ reveal_media

- -
-
- - - - - -
- - - - - - - -
void TimelineWidget::reveal_media ()
-
-privateslot
-
- -
-
- -

◆ setScroll

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::setScroll (int s)
-
-slot
-
- -
-
- -

◆ show_context_menu

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::show_context_menu (const QPoint & pos)
-
-privateslot
-
- -
-
- -

◆ toggle_autoscale

- -
-
- - - - - -
- - - - - - - -
void TimelineWidget::toggle_autoscale ()
-
-privateslot
-
- -
-
- -

◆ tooltip_timer_timeout

- -
-
- - - - - -
- - - - - - - -
void TimelineWidget::tooltip_timer_timeout ()
-
-privateslot
-
- -
-
- -

◆ update_ghosts()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void TimelineWidget::update_ghosts (const QPoint & mouse_pos,
bool lock_frame 
)
-
-private
-
- -
-
- -

◆ VerifyTransitionHelper()

- -
-
- - - - - -
- - - - - - - -
void TimelineWidget::VerifyTransitionHelper ()
-
-private
-
- -
-
- -

◆ wheelEvent()

- -
-
- - - - - -
- - - - - - - - -
void TimelineWidget::wheelEvent (QWheelEvent * event)
-
-protected
-
- -
-
-

Member Data Documentation

- -

◆ bottom_align

- -
-
- - - - -
bool TimelineWidget::bottom_align
-
- -
-
- -

◆ post_clips

- -
-
- - - - - -
- - - - -
QVector<ClipPtr> TimelineWidget::post_clips
-
-private
-
- -
-
- -

◆ pre_clips

- -
-
- - - - - -
- - - - -
QVector<ClipPtr> TimelineWidget::pre_clips
-
-private
-
- -
-
- -

◆ rc_reveal_media

- -
-
- - - - - -
- - - - -
Media* TimelineWidget::rc_reveal_media
-
-private
-
- -
-
- -

◆ scroll

- -
-
- - - - - -
- - - - -
int TimelineWidget::scroll
-
-private
-
- -
-
- -

◆ scrollBar

- -
-
- - - - -
QScrollBar* TimelineWidget::scrollBar
-
- -
-
- -

◆ selection_command

- -
-
- - - - - -
- - - - -
SetSelectionsCommand* TimelineWidget::selection_command
-
-private
-
- -
-
- -

◆ self_created_sequence

- -
-
- - - - - -
- - - - -
SequencePtr TimelineWidget::self_created_sequence
-
-private
-
- -
-
- -

◆ tooltip_clip

- -
-
- - - - - -
- - - - -
int TimelineWidget::tooltip_clip
-
-private
-
- -
-
- -

◆ tooltip_timer

- -
-
- - - - - -
- - - - -
QTimer TimelineWidget::tooltip_timer
-
-private
-
- -
-
- -

◆ track_resizing

- -
-
- - - - - -
- - - - -
bool TimelineWidget::track_resizing
-
-private
-
- -
-
- -

◆ track_target

- -
-
- - - - - -
- - - - -
int TimelineWidget::track_target
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_timeline_widget.png b/docs/html/class_timeline_widget.png deleted file mode 100644 index a322ef4a1..000000000 Binary files a/docs/html/class_timeline_widget.png and /dev/null differ diff --git a/docs/html/class_tone_effect-members.html b/docs/html/class_tone_effect-members.html deleted file mode 100644 index 1966bfc38..000000000 --- a/docs/html/class_tone_effect-members.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ToneEffect Member List
-
-
- -

This is the complete list of members for ToneEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
amount_valToneEffect
are_gizmos_enabled()Effect
close()Effect
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
freq_valToneEffect
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
mix_valToneEffect
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)ToneEffectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)Effectvirtual
save_to_string()Effect
set_enabled(bool b)Effect
setIterations(int i)Effect
sinXToneEffectprivate
startEffect()Effectvirtual
textureEffectprotected
ToneEffect(ClipPtr c, const EffectMeta *em)ToneEffect
type_valToneEffect
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_tone_effect.html b/docs/html/class_tone_effect.html deleted file mode 100644 index 1691fb276..000000000 --- a/docs/html/class_tone_effect.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - - -Olive: ToneEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <toneeffect.h>

-
-Inheritance diagram for ToneEffect:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 ToneEffect (ClipPtr c, const EffectMeta *em)
 
void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

EffectFieldtype_val
 
EffectFieldfreq_val
 
EffectFieldamount_val
 
EffectFieldmix_val
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- - - -

-Private Attributes

int sinX
 
- - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ ToneEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
ToneEffect::ToneEffect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ process_audio()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void ToneEffect::process_audio (double timecode_start,
double timecode_end,
quint8 * samples,
int nb_bytes,
int channel_count 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-

Member Data Documentation

- -

◆ amount_val

- -
-
- - - - -
EffectField* ToneEffect::amount_val
-
- -
-
- -

◆ freq_val

- -
-
- - - - -
EffectField* ToneEffect::freq_val
-
- -
-
- -

◆ mix_val

- -
-
- - - - -
EffectField* ToneEffect::mix_val
-
- -
-
- -

◆ sinX

- -
-
- - - - - -
- - - - -
int ToneEffect::sinX
-
-private
-
- -
-
- -

◆ type_val

- -
-
- - - - -
EffectField* ToneEffect::type_val
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_tone_effect.png b/docs/html/class_tone_effect.png deleted file mode 100644 index e6f9c37c9..000000000 Binary files a/docs/html/class_tone_effect.png and /dev/null differ diff --git a/docs/html/class_transform_effect-members.html b/docs/html/class_transform_effect-members.html deleted file mode 100644 index e86cefbf4..000000000 --- a/docs/html/class_transform_effect-members.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
TransformEffect Member List
-
-
- -

This is the complete list of members for TransformEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
anchor_gizmoTransformEffectprivate
anchor_x_boxTransformEffectprivate
anchor_y_boxTransformEffectprivate
are_gizmos_enabled()Effect
blend_mode_boxTransformEffectprivate
bottom_center_gizmoTransformEffectprivate
bottom_left_gizmoTransformEffectprivate
bottom_right_gizmoTransformEffectprivate
close()Effect
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)TransformEffectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
left_center_gizmoTransformEffectprivate
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
opacityTransformEffectprivate
open()Effect
parent_clipEffect
position_xTransformEffectprivate
position_yTransformEffectprivate
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)Effectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)TransformEffectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
rect_gizmoTransformEffectprivate
refresh()TransformEffectvirtual
right_center_gizmoTransformEffectprivate
rotate_gizmoTransformEffectprivate
rotationTransformEffectprivate
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)Effectvirtual
save_to_string()Effect
scale_xTransformEffectprivate
scale_yTransformEffectprivate
setTransformEffectprivate
set_enabled(bool b)Effect
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
toggle_uniform_scale(bool enabled)TransformEffectslot
top_center_gizmoTransformEffectprivate
top_left_gizmoTransformEffectprivate
top_right_gizmoTransformEffectprivate
TransformEffect(ClipPtr c, const EffectMeta *em)TransformEffect
uniform_scale_fieldTransformEffectprivate
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_transform_effect.html b/docs/html/class_transform_effect.html deleted file mode 100644 index e6afc578b..000000000 --- a/docs/html/class_transform_effect.html +++ /dev/null @@ -1,915 +0,0 @@ - - - - - - - -Olive: TransformEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
TransformEffect Class Reference
-
-
- -

#include <transformeffect.h>

-
-Inheritance diagram for TransformEffect:
-
-
- - -Effect - -
- - - - - - - -

-Public Slots

void toggle_uniform_scale (bool enabled)
 
- Public Slots inherited from Effect
void field_changed ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 TransformEffect (ClipPtr c, const EffectMeta *em)
 
void refresh ()
 
void process_coords (double timecode, GLTextureCoords &coords, int data)
 
void gizmo_draw (double timecode, GLTextureCoords &coords)
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

EffectFieldposition_x
 
EffectFieldposition_y
 
EffectFieldscale_x
 
EffectFieldscale_y
 
EffectFielduniform_scale_field
 
EffectFieldrotation
 
EffectFieldanchor_x_box
 
EffectFieldanchor_y_box
 
EffectFieldopacity
 
EffectFieldblend_mode_box
 
EffectGizmotop_left_gizmo
 
EffectGizmotop_center_gizmo
 
EffectGizmotop_right_gizmo
 
EffectGizmobottom_left_gizmo
 
EffectGizmobottom_center_gizmo
 
EffectGizmobottom_right_gizmo
 
EffectGizmoleft_center_gizmo
 
EffectGizmoright_center_gizmo
 
EffectGizmoanchor_gizmo
 
EffectGizmorotate_gizmo
 
EffectGizmorect_gizmo
 
bool set
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ TransformEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
TransformEffect::TransformEffect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ gizmo_draw()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void TransformEffect::gizmo_draw (double timecode,
GLTextureCoordscoords 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ process_coords()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void TransformEffect::process_coords (double timecode,
GLTextureCoordscoords,
int data 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ refresh()

- -
-
- - - - - -
- - - - - - - -
void TransformEffect::refresh ()
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ toggle_uniform_scale

- -
-
- - - - - -
- - - - - - - - -
void TransformEffect::toggle_uniform_scale (bool enabled)
-
-slot
-
- -
-
-

Member Data Documentation

- -

◆ anchor_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* TransformEffect::anchor_gizmo
-
-private
-
- -
-
- -

◆ anchor_x_box

- -
-
- - - - - -
- - - - -
EffectField* TransformEffect::anchor_x_box
-
-private
-
- -
-
- -

◆ anchor_y_box

- -
-
- - - - - -
- - - - -
EffectField* TransformEffect::anchor_y_box
-
-private
-
- -
-
- -

◆ blend_mode_box

- -
-
- - - - - -
- - - - -
EffectField* TransformEffect::blend_mode_box
-
-private
-
- -
-
- -

◆ bottom_center_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* TransformEffect::bottom_center_gizmo
-
-private
-
- -
-
- -

◆ bottom_left_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* TransformEffect::bottom_left_gizmo
-
-private
-
- -
-
- -

◆ bottom_right_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* TransformEffect::bottom_right_gizmo
-
-private
-
- -
-
- -

◆ left_center_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* TransformEffect::left_center_gizmo
-
-private
-
- -
-
- -

◆ opacity

- -
-
- - - - - -
- - - - -
EffectField* TransformEffect::opacity
-
-private
-
- -
-
- -

◆ position_x

- -
-
- - - - - -
- - - - -
EffectField* TransformEffect::position_x
-
-private
-
- -
-
- -

◆ position_y

- -
-
- - - - - -
- - - - -
EffectField* TransformEffect::position_y
-
-private
-
- -
-
- -

◆ rect_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* TransformEffect::rect_gizmo
-
-private
-
- -
-
- -

◆ right_center_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* TransformEffect::right_center_gizmo
-
-private
-
- -
-
- -

◆ rotate_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* TransformEffect::rotate_gizmo
-
-private
-
- -
-
- -

◆ rotation

- -
-
- - - - - -
- - - - -
EffectField* TransformEffect::rotation
-
-private
-
- -
-
- -

◆ scale_x

- -
-
- - - - - -
- - - - -
EffectField* TransformEffect::scale_x
-
-private
-
- -
-
- -

◆ scale_y

- -
-
- - - - - -
- - - - -
EffectField* TransformEffect::scale_y
-
-private
-
- -
-
- -

◆ set

- -
-
- - - - - -
- - - - -
bool TransformEffect::set
-
-private
-
- -
-
- -

◆ top_center_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* TransformEffect::top_center_gizmo
-
-private
-
- -
-
- -

◆ top_left_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* TransformEffect::top_left_gizmo
-
-private
-
- -
-
- -

◆ top_right_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* TransformEffect::top_right_gizmo
-
-private
-
- -
-
- -

◆ uniform_scale_field

- -
-
- - - - - -
- - - - -
EffectField* TransformEffect::uniform_scale_field
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_transform_effect.png b/docs/html/class_transform_effect.png deleted file mode 100644 index bc028cad4..000000000 Binary files a/docs/html/class_transform_effect.png and /dev/null differ diff --git a/docs/html/class_transition-members.html b/docs/html/class_transition-members.html deleted file mode 100644 index b6ea7a8bb..000000000 --- a/docs/html/class_transition-members.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Transition Member List
-
-
- -

This is the complete list of members for Transition, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
close()Effect
containerEffect
copy(ClipPtr c, ClipPtr s)Transitionvirtual
Effect::copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
get_closed_clip()Transition
get_length()Transition
get_opened_clip()Transition
get_true_length()Transition
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
lengthTransitionprivate
length_fieldTransitionprivate
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)Effectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream) overrideTransitionvirtual
save_to_string()Effect
secondary_clipTransition
set_enabled(bool b)Effect
set_length(long l)Transition
set_length_from_slider()Transitionprivateslot
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
Transition(ClipPtr c, ClipPtr s, const EffectMeta *em)Transition
vertPathEffectprotected
~Effect()Effect
- - - - diff --git a/docs/html/class_transition.html b/docs/html/class_transition.html deleted file mode 100644 index 64f5a2ff1..000000000 --- a/docs/html/class_transition.html +++ /dev/null @@ -1,518 +0,0 @@ - - - - - - - -Olive: Transition Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <transition.h>

-
-Inheritance diagram for Transition:
-
-
- - -Effect -CrossDissolveTransition -CubeTransition -ExponentialFadeTransition -LinearFadeTransition -LogarithmicFadeTransition - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Transition (ClipPtr c, ClipPtr s, const EffectMeta *em)
 
virtual TransitionPtr copy (ClipPtr c, ClipPtr s)
 
virtual void save (QXmlStreamWriter &stream) override
 
void set_length (long l)
 
long get_true_length ()
 
long get_length ()
 
ClipPtr get_opened_clip ()
 
ClipPtr get_closed_clip ()
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

ClipPtr secondary_clip
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- - - -

-Private Slots

void set_length_from_slider ()
 
- - - - - -

-Private Attributes

long length
 
EffectFieldlength_field
 
- - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ Transition()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
Transition::Transition (ClipPtr c,
ClipPtr s,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ copy()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
TransitionPtr Transition::copy (ClipPtr c,
ClipPtr s 
)
-
-virtual
-
- -
-
- -

◆ get_closed_clip()

- -
-
- - - - - - - -
ClipPtr Transition::get_closed_clip ()
-
- -
-
- -

◆ get_length()

- -
-
- - - - - - - -
long Transition::get_length ()
-
- -
-
- -

◆ get_opened_clip()

- -
-
- - - - - - - -
ClipPtr Transition::get_opened_clip ()
-
- -
-
- -

◆ get_true_length()

- -
-
- - - - - - - -
long Transition::get_true_length ()
-
- -
-
- -

◆ save()

- -
-
- - - - - -
- - - - - - - - -
void Transition::save (QXmlStreamWriter & stream)
-
-overridevirtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ set_length()

- -
-
- - - - - - - - -
void Transition::set_length (long l)
-
- -
-
- -

◆ set_length_from_slider

- -
-
- - - - - -
- - - - - - - -
void Transition::set_length_from_slider ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ length

- -
-
- - - - - -
- - - - -
long Transition::length
-
-private
-
- -
-
- -

◆ length_field

- -
-
- - - - - -
- - - - -
EffectField* Transition::length_field
-
-private
-
- -
-
- -

◆ secondary_clip

- -
-
- - - - -
ClipPtr Transition::secondary_clip
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_transition.png b/docs/html/class_transition.png deleted file mode 100644 index 8968f0707..000000000 Binary files a/docs/html/class_transition.png and /dev/null differ diff --git a/docs/html/class_update_footage_tooltip-members.html b/docs/html/class_update_footage_tooltip-members.html deleted file mode 100644 index 69f4ffc4a..000000000 --- a/docs/html/class_update_footage_tooltip-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
UpdateFootageTooltip Member List
-
-
- -

This is the complete list of members for UpdateFootageTooltip, including all inherited members.

- - - - - - - - - -
doRedo() overrideUpdateFootageTooltipvirtual
doUndo() overrideUpdateFootageTooltipvirtual
itemUpdateFootageTooltipprivate
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
UpdateFootageTooltip(Media *i)UpdateFootageTooltip
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_update_footage_tooltip.html b/docs/html/class_update_footage_tooltip.html deleted file mode 100644 index f15532935..000000000 --- a/docs/html/class_update_footage_tooltip.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - - -Olive: UpdateFootageTooltip Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
UpdateFootageTooltip Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for UpdateFootageTooltip:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 UpdateFootageTooltip (Media *i)
 
virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
- - - -

-Private Attributes

Mediaitem
 
-

Constructor & Destructor Documentation

- -

◆ UpdateFootageTooltip()

- -
-
- - - - - - - - -
UpdateFootageTooltip::UpdateFootageTooltip (Mediai)
-
- -
-
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void UpdateFootageTooltip::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void UpdateFootageTooltip::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-

Member Data Documentation

- -

◆ item

- -
-
- - - - - -
- - - - -
Media* UpdateFootageTooltip::item
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_update_footage_tooltip.png b/docs/html/class_update_footage_tooltip.png deleted file mode 100644 index e1618b20f..000000000 Binary files a/docs/html/class_update_footage_tooltip.png and /dev/null differ diff --git a/docs/html/class_update_viewer-members.html b/docs/html/class_update_viewer-members.html deleted file mode 100644 index 6f5b87d4f..000000000 --- a/docs/html/class_update_viewer-members.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
UpdateViewer Member List
-
-
- -

This is the complete list of members for UpdateViewer, including all inherited members.

- - - - - - - -
doRedo() overrideUpdateViewervirtual
doUndo() overrideUpdateViewervirtual
OliveAction(bool iset_window_modified=true)OliveAction
redo() overrideOliveActionvirtual
undo() overrideOliveActionvirtual
~OliveAction() overrideOliveActionvirtual
- - - - diff --git a/docs/html/class_update_viewer.html b/docs/html/class_update_viewer.html deleted file mode 100644 index 6c5ecc89a..000000000 --- a/docs/html/class_update_viewer.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - -Olive: UpdateViewer Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
UpdateViewer Class Reference
-
-
- -

#include <undo.h>

-
-Inheritance diagram for UpdateViewer:
-
-
- - -OliveAction - -
- - - - - - - - - - - - - - - -

-Public Member Functions

virtual void doUndo () override
 
virtual void doRedo () override
 
- Public Member Functions inherited from OliveAction
 OliveAction (bool iset_window_modified=true)
 
virtual ~OliveAction () override
 
virtual void undo () override
 
virtual void redo () override
 
-

Member Function Documentation

- -

◆ doRedo()

- -
-
- - - - - -
- - - - - - - -
void UpdateViewer::doRedo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
- -

◆ doUndo()

- -
-
- - - - - -
- - - - - - - -
void UpdateViewer::doUndo ()
-
-overridevirtual
-
- -

Implements OliveAction.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_update_viewer.png b/docs/html/class_update_viewer.png deleted file mode 100644 index e2b820bbb..000000000 Binary files a/docs/html/class_update_viewer.png and /dev/null differ diff --git a/docs/html/class_v_s_t_host-members.html b/docs/html/class_v_s_t_host-members.html deleted file mode 100644 index f9da9e11e..000000000 --- a/docs/html/class_v_s_t_host-members.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
VSTHost Member List
-
-
- -

This is the complete list of members for VSTHost, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
canPluginDo(char *canDoString)VSTHostprivate
change_plugin()VSTHostprivateslot
close()Effect
configurePluginCallbacks()VSTHostprivate
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)VSTHostvirtual
data_cacheVSTHostprivate
dialogVSTHostprivate
dispatcherVSTHostprivate
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
file_fieldVSTHostprivate
fragPathEffectprotected
freePlugin()VSTHostprivate
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
inputsVSTHostprivate
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
loadPlugin()VSTHostprivate
metaEffect
modulePtrVSTHostprivate
nameEffect
open()Effect
outputsVSTHostprivate
parent_clipEffect
pluginVSTHostprivate
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)VSTHostvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
processAudio(long numFrames)VSTHostprivate
refresh()Effectvirtual
resumePlugin()VSTHostprivate
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)VSTHostvirtual
save_to_string()Effect
set_enabled(bool b)Effect
setIterations(int i)Effect
show_interface(bool show)VSTHostprivateslot
show_interface_btnVSTHostprivate
startEffect()Effectvirtual
startPlugin()VSTHostprivate
stopPlugin()VSTHostprivate
suspendPlugin()VSTHostprivate
textureEffectprotected
uncheck_show_button()VSTHostprivateslot
vertPathEffectprotected
VSTHost(ClipPtr c, const EffectMeta *em)VSTHost
~Effect()Effect
~VSTHost()VSTHost
- - - - diff --git a/docs/html/class_v_s_t_host.html b/docs/html/class_v_s_t_host.html deleted file mode 100644 index 96cc984b0..000000000 --- a/docs/html/class_v_s_t_host.html +++ /dev/null @@ -1,928 +0,0 @@ - - - - - - - -Olive: VSTHost Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <vsthost.h>

-
-Inheritance diagram for VSTHost:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 VSTHost (ClipPtr c, const EffectMeta *em)
 
 ~VSTHost ()
 
void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
void custom_load (QXmlStreamReader &stream)
 
void save (QXmlStreamWriter &stream)
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - -

-Private Slots

void show_interface (bool show)
 
void uncheck_show_button ()
 
void change_plugin ()
 
- - - - - - - - - - - - - - - - - - - -

-Private Member Functions

void loadPlugin ()
 
void freePlugin ()
 
bool configurePluginCallbacks ()
 
void startPlugin ()
 
void stopPlugin ()
 
void resumePlugin ()
 
void suspendPlugin ()
 
bool canPluginDo (char *canDoString)
 
void processAudio (long numFrames)
 
- - - - - - - - - - - - - - - - - - - -

-Private Attributes

EffectFieldfile_field
 
dispatcherFuncPtr dispatcher
 
AEffectplugin
 
float ** inputs
 
float ** outputs
 
QDialog * dialog
 
QPushButton * show_interface_btn
 
QByteArray data_cache
 
ModulePtr modulePtr
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ VSTHost()

- -
-
- - - - - - - - - - - - - - - - - - -
VSTHost::VSTHost (ClipPtr c,
const EffectMetaem 
)
-
- -
-
- -

◆ ~VSTHost()

- -
-
- - - - - - - -
VSTHost::~VSTHost ()
-
- -
-
-

Member Function Documentation

- -

◆ canPluginDo()

- -
-
- - - - - -
- - - - - - - - -
bool VSTHost::canPluginDo (char * canDoString)
-
-private
-
- -
-
- -

◆ change_plugin

- -
-
- - - - - -
- - - - - - - -
void VSTHost::change_plugin ()
-
-privateslot
-
- -
-
- -

◆ configurePluginCallbacks()

- -
-
- - - - - -
- - - - - - - -
bool VSTHost::configurePluginCallbacks ()
-
-private
-
- -
-
- -

◆ custom_load()

- -
-
- - - - - -
- - - - - - - - -
void VSTHost::custom_load (QXmlStreamReader & stream)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ freePlugin()

- -
-
- - - - - -
- - - - - - - -
void VSTHost::freePlugin ()
-
-private
-
- -
-
- -

◆ loadPlugin()

- -
-
- - - - - -
- - - - - - - -
void VSTHost::loadPlugin ()
-
-private
-
- -
-
- -

◆ process_audio()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VSTHost::process_audio (double timecode_start,
double timecode_end,
quint8 * samples,
int nb_bytes,
int channel_count 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ processAudio()

- -
-
- - - - - -
- - - - - - - - -
void VSTHost::processAudio (long numFrames)
-
-private
-
- -
-
- -

◆ resumePlugin()

- -
-
- - - - - -
- - - - - - - -
void VSTHost::resumePlugin ()
-
-private
-
- -
-
- -

◆ save()

- -
-
- - - - - -
- - - - - - - - -
void VSTHost::save (QXmlStreamWriter & stream)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ show_interface

- -
-
- - - - - -
- - - - - - - - -
void VSTHost::show_interface (bool show)
-
-privateslot
-
- -
-
- -

◆ startPlugin()

- -
-
- - - - - -
- - - - - - - -
void VSTHost::startPlugin ()
-
-private
-
- -
-
- -

◆ stopPlugin()

- -
-
- - - - - -
- - - - - - - -
void VSTHost::stopPlugin ()
-
-private
-
- -
-
- -

◆ suspendPlugin()

- -
-
- - - - - -
- - - - - - - -
void VSTHost::suspendPlugin ()
-
-private
-
- -
-
- -

◆ uncheck_show_button

- -
-
- - - - - -
- - - - - - - -
void VSTHost::uncheck_show_button ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ data_cache

- -
-
- - - - - -
- - - - -
QByteArray VSTHost::data_cache
-
-private
-
- -
-
- -

◆ dialog

- -
-
- - - - - -
- - - - -
QDialog* VSTHost::dialog
-
-private
-
- -
-
- -

◆ dispatcher

- -
-
- - - - - -
- - - - -
dispatcherFuncPtr VSTHost::dispatcher
-
-private
-
- -
-
- -

◆ file_field

- -
-
- - - - - -
- - - - -
EffectField* VSTHost::file_field
-
-private
-
- -
-
- -

◆ inputs

- -
-
- - - - - -
- - - - -
float** VSTHost::inputs
-
-private
-
- -
-
- -

◆ modulePtr

- -
-
- - - - - -
- - - - -
ModulePtr VSTHost::modulePtr
-
-private
-
- -
-
- -

◆ outputs

- -
-
- - - - - -
- - - - -
float** VSTHost::outputs
-
-private
-
- -
-
- -

◆ plugin

- -
-
- - - - - -
- - - - -
AEffect* VSTHost::plugin
-
-private
-
- -
-
- -

◆ show_interface_btn

- -
-
- - - - - -
- - - - -
QPushButton* VSTHost::show_interface_btn
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_v_s_t_host.png b/docs/html/class_v_s_t_host.png deleted file mode 100644 index 6f6d2f584..000000000 Binary files a/docs/html/class_v_s_t_host.png and /dev/null differ diff --git a/docs/html/class_viewer-members.html b/docs/html/class_viewer-members.html deleted file mode 100644 index 03e193776..000000000 --- a/docs/html/class_viewer-members.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Viewer Member List
-
-
- -

This is the complete list of members for Viewer, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
cached_end_frameViewerprivate
clean_created_seq()Viewerprivate
clear_in()Viewer
clear_inout_point()Viewer
clear_out()Viewer
close_media()Viewerslot
compose()Viewer
created_sequenceViewerprivate
cue_recording(long start, long end, int track)Viewer
cue_recording_internalViewerprivate
current_timecode_sliderViewerprivate
decrease_speed()Viewerslot
end_timecodeViewerprivate
event(QEvent *e) overridePanelvirtual
get_playback_speed()Viewer
get_seq_in()Viewerprivate
get_seq_out()Viewerprivate
go_to_end()Viewerslot
go_to_end_frameViewerprivate
go_to_in()Viewerslot
go_to_out()Viewerslot
go_to_start()Viewerslot
go_to_start_buttonViewerprivate
headersViewer
horizontal_barViewerprivate
increase_speed()Viewerslot
is_focused()Viewer
is_main_sequence()Viewer
is_recording_cued()Viewer
just_playedViewer
last_playheadViewerprivate
main_sequenceViewerprivate
marker_refViewer
mediaViewer
minimum_zoomViewerprivate
next_frame()Viewerslot
next_frame_buttonViewerprivate
Panel(QWidget *parent=nullptr)Panel
panel_nameViewerprivate
pause()Viewer
play(bool in_to_out=false)Viewer
play_buttonViewerprivate
play_wake()Viewerslot
playback_speedViewerprivate
playback_updaterViewer
playhead_startViewer
playIconViewerprivate
playingViewer
playing_in_to_outViewerprivate
prev_frame_buttonViewerprivate
previous_frame()Viewerslot
previous_playheadViewerprivate
recording_endViewer
recording_flasherViewerprivate
recording_flasher_update()Viewerprivateslot
recording_startViewer
recording_trackViewer
reset_all_audio()Viewer
resize_move(double d)Viewerprivateslot
resizeEvent(QResizeEvent *event)Viewer
Retranslate() overrideViewerprotectedvirtual
seek(long p)Viewer
seqViewer
set_in_point()Viewer
set_main_sequence()Viewer
set_marker()Viewer
set_media(Media *m)Viewer
set_out_point()Viewer
set_panel_name(const QString &n)Viewer
set_playback_speed(int s)Viewerprivate
set_playpause_icon(bool play)Viewer
set_sb_max()Viewerprivate
set_sequence(bool main, SequencePtr s)Viewerprivate
set_zoom(bool in)Viewer
set_zoom_value(double d)Viewerprivate
setup_ui()Viewerprivate
start_msecsViewer
timer_update()Viewerprivateslot
toggle_play()Viewerslot
uncue_recording()Viewer
update_end_timecode()Viewer
update_header_zoom()Viewer
update_parents(bool reload_fx=false)Viewer
update_playhead()Viewerprivateslot
update_playhead_timecode(long p)Viewer
update_viewer()Viewerslot
update_window_title()Viewerprivate
Viewer(QWidget *parent=nullptr)Viewerexplicit
viewer_containerViewerprivate
viewer_widgetViewer
~Viewer()Viewer
- - - - diff --git a/docs/html/class_viewer.html b/docs/html/class_viewer.html deleted file mode 100644 index 169cd813a..000000000 --- a/docs/html/class_viewer.html +++ /dev/null @@ -1,2146 +0,0 @@ - - - - - - - -Olive: Viewer Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <viewer.h>

-
-Inheritance diagram for Viewer:
-
-
- - -Panel - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Slots

void play_wake ()
 
void go_to_start ()
 
void go_to_in ()
 
void previous_frame ()
 
void toggle_play ()
 
void increase_speed ()
 
void decrease_speed ()
 
void next_frame ()
 
void go_to_out ()
 
void go_to_end ()
 
void close_media ()
 
void update_viewer ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Viewer (QWidget *parent=nullptr)
 
 ~Viewer ()
 
bool is_focused ()
 
bool is_main_sequence ()
 
void set_main_sequence ()
 
void set_media (Media *m)
 
void compose ()
 
void set_playpause_icon (bool play)
 
void update_playhead_timecode (long p)
 
void update_end_timecode ()
 
void update_header_zoom ()
 
void clear_in ()
 
void clear_out ()
 
void clear_inout_point ()
 
void set_in_point ()
 
void set_out_point ()
 
void set_zoom (bool in)
 
void set_panel_name (const QString &n)
 
void seek (long p)
 
void play (bool in_to_out=false)
 
void pause ()
 
void cue_recording (long start, long end, int track)
 
void uncue_recording ()
 
bool is_recording_cued ()
 
void reset_all_audio ()
 
void update_parents (bool reload_fx=false)
 
int get_playback_speed ()
 
void set_marker ()
 
void resizeEvent (QResizeEvent *event)
 
- Public Member Functions inherited from Panel
 Panel (QWidget *parent=nullptr)
 
virtual bool event (QEvent *e) override
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

bool playing
 
long playhead_start
 
qint64 start_msecs
 
QTimer playback_updater
 
bool just_played
 
long recording_start
 
long recording_end
 
int recording_track
 
ViewerWidgetviewer_widget
 
Mediamedia
 
SequencePtr seq
 
QVector< Marker > * marker_ref
 
TimelineHeaderheaders
 
- - - -

-Protected Member Functions

virtual void Retranslate () override
 
- - - - - - - - - -

-Private Slots

void update_playhead ()
 
void timer_update ()
 
void recording_flasher_update ()
 
void resize_move (double d)
 
- - - - - - - - - - - - - - - - - - - -

-Private Member Functions

void update_window_title ()
 
void clean_created_seq ()
 
void set_sequence (bool main, SequencePtr s)
 
void set_zoom_value (double d)
 
void set_sb_max ()
 
void set_playback_speed (int s)
 
long get_seq_in ()
 
long get_seq_out ()
 
void setup_ui ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

bool main_sequence
 
bool created_sequence
 
long cached_end_frame
 
QString panel_name
 
double minimum_zoom
 
bool playing_in_to_out
 
long last_playhead
 
QIcon playIcon
 
ResizableScrollBarhorizontal_bar
 
ViewerContainerviewer_container
 
LabelSlidercurrent_timecode_slider
 
QLabel * end_timecode
 
QPushButton * go_to_start_button
 
QPushButton * prev_frame_button
 
QPushButton * play_button
 
QPushButton * next_frame_button
 
QPushButton * go_to_end_frame
 
bool cue_recording_internal
 
QTimer recording_flasher
 
long previous_playhead
 
int playback_speed
 
-

Constructor & Destructor Documentation

- -

◆ Viewer()

- -
-
- - - - - -
- - - - - - - - -
Viewer::Viewer (QWidget * parent = nullptr)
-
-explicit
-
- -
-
- -

◆ ~Viewer()

- -
-
- - - - - - - -
Viewer::~Viewer ()
-
- -
-
-

Member Function Documentation

- -

◆ clean_created_seq()

- -
-
- - - - - -
- - - - - - - -
void Viewer::clean_created_seq ()
-
-private
-
- -
-
- -

◆ clear_in()

- -
-
- - - - - - - -
void Viewer::clear_in ()
-
- -
-
- -

◆ clear_inout_point()

- -
-
- - - - - - - -
void Viewer::clear_inout_point ()
-
- -
-
- -

◆ clear_out()

- -
-
- - - - - - - -
void Viewer::clear_out ()
-
- -
-
- -

◆ close_media

- -
-
- - - - - -
- - - - - - - -
void Viewer::close_media ()
-
-slot
-
- -
-
- -

◆ compose()

- -
-
- - - - - - - -
void Viewer::compose ()
-
- -
-
- -

◆ cue_recording()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void Viewer::cue_recording (long start,
long end,
int track 
)
-
- -
-
- -

◆ decrease_speed

- -
-
- - - - - -
- - - - - - - -
void Viewer::decrease_speed ()
-
-slot
-
- -
-
- -

◆ get_playback_speed()

- -
-
- - - - - - - -
int Viewer::get_playback_speed ()
-
- -
-
- -

◆ get_seq_in()

- -
-
- - - - - -
- - - - - - - -
long Viewer::get_seq_in ()
-
-private
-
- -
-
- -

◆ get_seq_out()

- -
-
- - - - - -
- - - - - - - -
long Viewer::get_seq_out ()
-
-private
-
- -
-
- -

◆ go_to_end

- -
-
- - - - - -
- - - - - - - -
void Viewer::go_to_end ()
-
-slot
-
- -
-
- -

◆ go_to_in

- -
-
- - - - - -
- - - - - - - -
void Viewer::go_to_in ()
-
-slot
-
- -
-
- -

◆ go_to_out

- -
-
- - - - - -
- - - - - - - -
void Viewer::go_to_out ()
-
-slot
-
- -
-
- -

◆ go_to_start

- -
-
- - - - - -
- - - - - - - -
void Viewer::go_to_start ()
-
-slot
-
- -
-
- -

◆ increase_speed

- -
-
- - - - - -
- - - - - - - -
void Viewer::increase_speed ()
-
-slot
-
- -
-
- -

◆ is_focused()

- -
-
- - - - - - - -
bool Viewer::is_focused ()
-
- -
-
- -

◆ is_main_sequence()

- -
-
- - - - - - - -
bool Viewer::is_main_sequence ()
-
- -
-
- -

◆ is_recording_cued()

- -
-
- - - - - - - -
bool Viewer::is_recording_cued ()
-
- -
-
- -

◆ next_frame

- -
-
- - - - - -
- - - - - - - -
void Viewer::next_frame ()
-
-slot
-
- -
-
- -

◆ pause()

- -
-
- - - - - - - -
void Viewer::pause ()
-
- -
-
- -

◆ play()

- -
-
- - - - - - - - -
void Viewer::play (bool in_to_out = false)
-
- -
-
- -

◆ play_wake

- -
-
- - - - - -
- - - - - - - -
void Viewer::play_wake ()
-
-slot
-
- -
-
- -

◆ previous_frame

- -
-
- - - - - -
- - - - - - - -
void Viewer::previous_frame ()
-
-slot
-
- -
-
- -

◆ recording_flasher_update

- -
-
- - - - - -
- - - - - - - -
void Viewer::recording_flasher_update ()
-
-privateslot
-
- -
-
- -

◆ reset_all_audio()

- -
-
- - - - - - - -
void Viewer::reset_all_audio ()
-
- -
-
- -

◆ resize_move

- -
-
- - - - - -
- - - - - - - - -
void Viewer::resize_move (double d)
-
-privateslot
-
- -
-
- -

◆ resizeEvent()

- -
-
- - - - - - - - -
void Viewer::resizeEvent (QResizeEvent * event)
-
- -
-
- -

◆ Retranslate()

- -
-
- - - - - -
- - - - - - - -
void Viewer::Retranslate ()
-
-overrideprotectedvirtual
-
- -

Implements Panel.

- -
-
- -

◆ seek()

- -
-
- - - - - - - - -
void Viewer::seek (long p)
-
- -
-
- -

◆ set_in_point()

- -
-
- - - - - - - -
void Viewer::set_in_point ()
-
- -
-
- -

◆ set_main_sequence()

- -
-
- - - - - - - -
void Viewer::set_main_sequence ()
-
- -
-
- -

◆ set_marker()

- -
-
- - - - - - - -
void Viewer::set_marker ()
-
- -
-
- -

◆ set_media()

- -
-
- - - - - - - - -
void Viewer::set_media (Mediam)
-
- -
-
- -

◆ set_out_point()

- -
-
- - - - - - - -
void Viewer::set_out_point ()
-
- -
-
- -

◆ set_panel_name()

- -
-
- - - - - - - - -
void Viewer::set_panel_name (const QString & n)
-
- -
-
- -

◆ set_playback_speed()

- -
-
- - - - - -
- - - - - - - - -
void Viewer::set_playback_speed (int s)
-
-private
-
- -
-
- -

◆ set_playpause_icon()

- -
-
- - - - - - - - -
void Viewer::set_playpause_icon (bool play)
-
- -
-
- -

◆ set_sb_max()

- -
-
- - - - - -
- - - - - - - -
void Viewer::set_sb_max ()
-
-private
-
- -
-
- -

◆ set_sequence()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void Viewer::set_sequence (bool main,
SequencePtr s 
)
-
-private
-
- -
-
- -

◆ set_zoom()

- -
-
- - - - - - - - -
void Viewer::set_zoom (bool in)
-
- -
-
- -

◆ set_zoom_value()

- -
-
- - - - - -
- - - - - - - - -
void Viewer::set_zoom_value (double d)
-
-private
-
- -
-
- -

◆ setup_ui()

- -
-
- - - - - -
- - - - - - - -
void Viewer::setup_ui ()
-
-private
-
- -
-
- -

◆ timer_update

- -
-
- - - - - -
- - - - - - - -
void Viewer::timer_update ()
-
-privateslot
-
- -
-
- -

◆ toggle_play

- -
-
- - - - - -
- - - - - - - -
void Viewer::toggle_play ()
-
-slot
-
- -
-
- -

◆ uncue_recording()

- -
-
- - - - - - - -
void Viewer::uncue_recording ()
-
- -
-
- -

◆ update_end_timecode()

- -
-
- - - - - - - -
void Viewer::update_end_timecode ()
-
- -
-
- -

◆ update_header_zoom()

- -
-
- - - - - - - -
void Viewer::update_header_zoom ()
-
- -
-
- -

◆ update_parents()

- -
-
- - - - - - - - -
void Viewer::update_parents (bool reload_fx = false)
-
- -
-
- -

◆ update_playhead

- -
-
- - - - - -
- - - - - - - -
void Viewer::update_playhead ()
-
-privateslot
-
- -
-
- -

◆ update_playhead_timecode()

- -
-
- - - - - - - - -
void Viewer::update_playhead_timecode (long p)
-
- -
-
- -

◆ update_viewer

- -
-
- - - - - -
- - - - - - - -
void Viewer::update_viewer ()
-
-slot
-
- -
-
- -

◆ update_window_title()

- -
-
- - - - - -
- - - - - - - -
void Viewer::update_window_title ()
-
-private
-
- -
-
-

Member Data Documentation

- -

◆ cached_end_frame

- -
-
- - - - - -
- - - - -
long Viewer::cached_end_frame
-
-private
-
- -
-
- -

◆ created_sequence

- -
-
- - - - - -
- - - - -
bool Viewer::created_sequence
-
-private
-
- -
-
- -

◆ cue_recording_internal

- -
-
- - - - - -
- - - - -
bool Viewer::cue_recording_internal
-
-private
-
- -
-
- -

◆ current_timecode_slider

- -
-
- - - - - -
- - - - -
LabelSlider* Viewer::current_timecode_slider
-
-private
-
- -
-
- -

◆ end_timecode

- -
-
- - - - - -
- - - - -
QLabel* Viewer::end_timecode
-
-private
-
- -
-
- -

◆ go_to_end_frame

- -
-
- - - - - -
- - - - -
QPushButton* Viewer::go_to_end_frame
-
-private
-
- -
-
- -

◆ go_to_start_button

- -
-
- - - - - -
- - - - -
QPushButton* Viewer::go_to_start_button
-
-private
-
- -
-
- -

◆ headers

- -
-
- - - - -
TimelineHeader* Viewer::headers
-
- -
-
- -

◆ horizontal_bar

- -
-
- - - - - -
- - - - -
ResizableScrollBar* Viewer::horizontal_bar
-
-private
-
- -
-
- -

◆ just_played

- -
-
- - - - -
bool Viewer::just_played
-
- -
-
- -

◆ last_playhead

- -
-
- - - - - -
- - - - -
long Viewer::last_playhead
-
-private
-
- -
-
- -

◆ main_sequence

- -
-
- - - - - -
- - - - -
bool Viewer::main_sequence
-
-private
-
- -
-
- -

◆ marker_ref

- -
-
- - - - -
QVector<Marker>* Viewer::marker_ref
-
- -
-
- -

◆ media

- -
-
- - - - -
Media* Viewer::media
-
- -
-
- -

◆ minimum_zoom

- -
-
- - - - - -
- - - - -
double Viewer::minimum_zoom
-
-private
-
- -
-
- -

◆ next_frame_button

- -
-
- - - - - -
- - - - -
QPushButton* Viewer::next_frame_button
-
-private
-
- -
-
- -

◆ panel_name

- -
-
- - - - - -
- - - - -
QString Viewer::panel_name
-
-private
-
- -
-
- -

◆ play_button

- -
-
- - - - - -
- - - - -
QPushButton* Viewer::play_button
-
-private
-
- -
-
- -

◆ playback_speed

- -
-
- - - - - -
- - - - -
int Viewer::playback_speed
-
-private
-
- -
-
- -

◆ playback_updater

- -
-
- - - - -
QTimer Viewer::playback_updater
-
- -
-
- -

◆ playhead_start

- -
-
- - - - -
long Viewer::playhead_start
-
- -
-
- -

◆ playIcon

- -
-
- - - - - -
- - - - -
QIcon Viewer::playIcon
-
-private
-
- -
-
- -

◆ playing

- -
-
- - - - -
bool Viewer::playing
-
- -
-
- -

◆ playing_in_to_out

- -
-
- - - - - -
- - - - -
bool Viewer::playing_in_to_out
-
-private
-
- -
-
- -

◆ prev_frame_button

- -
-
- - - - - -
- - - - -
QPushButton* Viewer::prev_frame_button
-
-private
-
- -
-
- -

◆ previous_playhead

- -
-
- - - - - -
- - - - -
long Viewer::previous_playhead
-
-private
-
- -
-
- -

◆ recording_end

- -
-
- - - - -
long Viewer::recording_end
-
- -
-
- -

◆ recording_flasher

- -
-
- - - - - -
- - - - -
QTimer Viewer::recording_flasher
-
-private
-
- -
-
- -

◆ recording_start

- -
-
- - - - -
long Viewer::recording_start
-
- -
-
- -

◆ recording_track

- -
-
- - - - -
int Viewer::recording_track
-
- -
-
- -

◆ seq

- -
-
- - - - -
SequencePtr Viewer::seq
-
- -
-
- -

◆ start_msecs

- -
-
- - - - -
qint64 Viewer::start_msecs
-
- -
-
- -

◆ viewer_container

- -
-
- - - - - -
- - - - -
ViewerContainer* Viewer::viewer_container
-
-private
-
- -
-
- -

◆ viewer_widget

- -
-
- - - - -
ViewerWidget* Viewer::viewer_widget
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_viewer.png b/docs/html/class_viewer.png deleted file mode 100644 index 1892fad8a..000000000 Binary files a/docs/html/class_viewer.png and /dev/null differ diff --git a/docs/html/class_viewer_container-members.html b/docs/html/class_viewer_container-members.html deleted file mode 100644 index 440751850..000000000 --- a/docs/html/class_viewer_container-members.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ViewerContainer Member List
-
- - - - - diff --git a/docs/html/class_viewer_container.html b/docs/html/class_viewer_container.html deleted file mode 100644 index ed2d900b1..000000000 --- a/docs/html/class_viewer_container.html +++ /dev/null @@ -1,522 +0,0 @@ - - - - - - - -Olive: ViewerContainer Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <viewercontainer.h>

-
-Inheritance diagram for ViewerContainer:
-
-
- -
- - - - - - - - - - - - - - - - -

-Public Member Functions

 ViewerContainer (QWidget *parent=0)
 
 ~ViewerContainer ()
 
void dragScrollPress (const QPoint &)
 
void dragScrollMove (const QPoint &)
 
void parseWheelEvent (QWheelEvent *event)
 
void adjust ()
 
void adjust_scrollbars ()
 
- - - - - - - - - -

-Public Attributes

bool fit
 
double zoom
 
Viewerviewer
 
ViewerWidgetchild
 
- - - -

-Protected Member Functions

void resizeEvent (QResizeEvent *event)
 
- - - -

-Private Slots

void scroll_changed ()
 
- - - - - - - - - - - - - -

-Private Attributes

int drag_start_x
 
int drag_start_y
 
int horiz_start
 
int vert_start
 
QScrollBar * horizontal_scrollbar
 
QScrollBar * vertical_scrollbar
 
-

Constructor & Destructor Documentation

- -

◆ ViewerContainer()

- -
-
- - - - - -
- - - - - - - - -
ViewerContainer::ViewerContainer (QWidget * parent = 0)
-
-explicit
-
- -
-
- -

◆ ~ViewerContainer()

- -
-
- - - - - - - -
ViewerContainer::~ViewerContainer ()
-
- -
-
-

Member Function Documentation

- -

◆ adjust()

- -
-
- - - - - - - -
void ViewerContainer::adjust ()
-
- -
-
- -

◆ adjust_scrollbars()

- -
-
- - - - - - - -
void ViewerContainer::adjust_scrollbars ()
-
- -
-
- -

◆ dragScrollMove()

- -
-
- - - - - - - - -
void ViewerContainer::dragScrollMove (const QPoint & p)
-
- -
-
- -

◆ dragScrollPress()

- -
-
- - - - - - - - -
void ViewerContainer::dragScrollPress (const QPoint & p)
-
- -
-
- -

◆ parseWheelEvent()

- -
-
- - - - - - - - -
void ViewerContainer::parseWheelEvent (QWheelEvent * event)
-
- -
-
- -

◆ resizeEvent()

- -
-
- - - - - -
- - - - - - - - -
void ViewerContainer::resizeEvent (QResizeEvent * event)
-
-protected
-
- -
-
- -

◆ scroll_changed

- -
-
- - - - - -
- - - - - - - -
void ViewerContainer::scroll_changed ()
-
-privateslot
-
- -
-
-

Member Data Documentation

- -

◆ child

- -
-
- - - - -
ViewerWidget* ViewerContainer::child
-
- -
-
- -

◆ drag_start_x

- -
-
- - - - - -
- - - - -
int ViewerContainer::drag_start_x
-
-private
-
- -
-
- -

◆ drag_start_y

- -
-
- - - - - -
- - - - -
int ViewerContainer::drag_start_y
-
-private
-
- -
-
- -

◆ fit

- -
-
- - - - -
bool ViewerContainer::fit
-
- -
-
- -

◆ horiz_start

- -
-
- - - - - -
- - - - -
int ViewerContainer::horiz_start
-
-private
-
- -
-
- -

◆ horizontal_scrollbar

- -
-
- - - - - -
- - - - -
QScrollBar* ViewerContainer::horizontal_scrollbar
-
-private
-
- -
-
- -

◆ vert_start

- -
-
- - - - - -
- - - - -
int ViewerContainer::vert_start
-
-private
-
- -
-
- -

◆ vertical_scrollbar

- -
-
- - - - - -
- - - - -
QScrollBar* ViewerContainer::vertical_scrollbar
-
-private
-
- -
-
- -

◆ viewer

- -
-
- - - - -
Viewer* ViewerContainer::viewer
-
- -
-
- -

◆ zoom

- -
-
- - - - -
double ViewerContainer::zoom
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_viewer_container.png b/docs/html/class_viewer_container.png deleted file mode 100644 index ed3e6a789..000000000 Binary files a/docs/html/class_viewer_container.png and /dev/null differ diff --git a/docs/html/class_viewer_widget-members.html b/docs/html/class_viewer_widget-members.html deleted file mode 100644 index 04f58ec17..000000000 --- a/docs/html/class_viewer_widget-members.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ViewerWidget Member List
-
-
- -

This is the complete list of members for ViewerWidget, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
close_window()ViewerWidget
containerViewerWidget
context_destroy()ViewerWidgetprivateslot
delete_function()ViewerWidget
drag_start_xViewerWidgetprivate
drag_start_yViewerWidgetprivate
draggingViewerWidgetprivate
draw_gizmos()ViewerWidgetprivate
draw_title_safe_area()ViewerWidgetprivate
draw_waveform_func()ViewerWidgetprivate
frame_update()ViewerWidget
fullscreen_menu_action(QAction *action)ViewerWidgetprivateslot
get_gizmo_from_mouse(int x, int y)ViewerWidgetprivate
get_renderer()ViewerWidget
gizmo_x_mvmtViewerWidgetprivate
gizmo_y_mvmtViewerWidgetprivate
gizmosViewerWidgetprivate
initializeGL()ViewerWidget
mouseMoveEvent(QMouseEvent *event)ViewerWidgetprotected
mousePressEvent(QMouseEvent *event)ViewerWidgetprotected
mouseReleaseEvent(QMouseEvent *event)ViewerWidgetprotected
move_gizmos(QMouseEvent *event, bool done)ViewerWidgetprivate
paintGL()ViewerWidget
queue_repaint()ViewerWidgetprivateslot
rendererViewerWidgetprivate
retry()ViewerWidgetprivateslot
save_frame()ViewerWidgetprivateslot
seek_from_click(int x)ViewerWidgetprivate
selected_gizmoViewerWidgetprivate
set_custom_zoom()ViewerWidgetprivateslot
set_fit_zoom()ViewerWidgetprivateslot
set_fullscreen(int screen=0)ViewerWidgetslot
set_menu_zoom(QAction *action)ViewerWidgetprivateslot
set_scroll(double x, double y)ViewerWidget
set_waveform_scroll(int s)ViewerWidgetslot
show_context_menu()ViewerWidgetprivateslot
viewerViewerWidget
ViewerWidget(QWidget *parent=nullptr)ViewerWidget
waveformViewerWidget
waveform_clipViewerWidget
waveform_msViewerWidget
waveform_scrollViewerWidget
waveform_zoomViewerWidget
wheelEvent(QWheelEvent *event)ViewerWidgetprotected
windowViewerWidgetprivate
x_scrollViewerWidgetprivate
y_scrollViewerWidgetprivate
~ViewerWidget()ViewerWidget
- - - - diff --git a/docs/html/class_viewer_widget.html b/docs/html/class_viewer_widget.html deleted file mode 100644 index bab752882..000000000 --- a/docs/html/class_viewer_widget.html +++ /dev/null @@ -1,1279 +0,0 @@ - - - - - - - -Olive: ViewerWidget Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <viewerwidget.h>

-
-Inheritance diagram for ViewerWidget:
-
-
- -
- - - - - - -

-Public Slots

void set_waveform_scroll (int s)
 
void set_fullscreen (int screen=0)
 
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 ViewerWidget (QWidget *parent=nullptr)
 
 ~ViewerWidget ()
 
void delete_function ()
 
void close_window ()
 
void paintGL ()
 
void initializeGL ()
 
void frame_update ()
 
RenderThreadget_renderer ()
 
void set_scroll (double x, double y)
 
- - - - - - - - - - - - - - - -

-Public Attributes

Viewerviewer
 
ViewerContainercontainer
 
bool waveform
 
ClipPtr waveform_clip
 
const FootageStreamwaveform_ms
 
double waveform_zoom
 
int waveform_scroll
 
- - - - - - - - - -

-Protected Member Functions

void mousePressEvent (QMouseEvent *event)
 
void mouseMoveEvent (QMouseEvent *event)
 
void mouseReleaseEvent (QMouseEvent *event)
 
void wheelEvent (QWheelEvent *event)
 
- - - - - - - - - - - - - - - - - - - -

-Private Slots

void context_destroy ()
 
void retry ()
 
void show_context_menu ()
 
void save_frame ()
 
void queue_repaint ()
 
void fullscreen_menu_action (QAction *action)
 
void set_fit_zoom ()
 
void set_custom_zoom ()
 
void set_menu_zoom (QAction *action)
 
- - - - - - - - - - - - - -

-Private Member Functions

void draw_waveform_func ()
 
void draw_title_safe_area ()
 
void draw_gizmos ()
 
EffectGizmoget_gizmo_from_mouse (int x, int y)
 
void move_gizmos (QMouseEvent *event, bool done)
 
void seek_from_click (int x)
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Private Attributes

bool dragging
 
EffectPtr gizmos
 
int drag_start_x
 
int drag_start_y
 
int gizmo_x_mvmt
 
int gizmo_y_mvmt
 
EffectGizmoselected_gizmo
 
RenderThreadrenderer
 
ViewerWindowwindow
 
double x_scroll
 
double y_scroll
 
-

Constructor & Destructor Documentation

- -

◆ ViewerWidget()

- -
-
- - - - - - - - -
ViewerWidget::ViewerWidget (QWidget * parent = nullptr)
-
- -
-
- -

◆ ~ViewerWidget()

- -
-
- - - - - - - -
ViewerWidget::~ViewerWidget ()
-
- -
-
-

Member Function Documentation

- -

◆ close_window()

- -
-
- - - - - - - -
void ViewerWidget::close_window ()
-
- -
-
- -

◆ context_destroy

- -
-
- - - - - -
- - - - - - - -
void ViewerWidget::context_destroy ()
-
-privateslot
-
- -
-
- -

◆ delete_function()

- -
-
- - - - - - - -
void ViewerWidget::delete_function ()
-
- -
-
- -

◆ draw_gizmos()

- -
-
- - - - - -
- - - - - - - -
void ViewerWidget::draw_gizmos ()
-
-private
-
- -
-
- -

◆ draw_title_safe_area()

- -
-
- - - - - -
- - - - - - - -
void ViewerWidget::draw_title_safe_area ()
-
-private
-
- -
-
- -

◆ draw_waveform_func()

- -
-
- - - - - -
- - - - - - - -
void ViewerWidget::draw_waveform_func ()
-
-private
-
- -
-
- -

◆ frame_update()

- -
-
- - - - - - - -
void ViewerWidget::frame_update ()
-
- -
-
- -

◆ fullscreen_menu_action

- -
-
- - - - - -
- - - - - - - - -
void ViewerWidget::fullscreen_menu_action (QAction * action)
-
-privateslot
-
- -
-
- -

◆ get_gizmo_from_mouse()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
EffectGizmo * ViewerWidget::get_gizmo_from_mouse (int x,
int y 
)
-
-private
-
- -
-
- -

◆ get_renderer()

- -
-
- - - - - - - -
RenderThread * ViewerWidget::get_renderer ()
-
- -
-
- -

◆ initializeGL()

- -
-
- - - - - - - -
void ViewerWidget::initializeGL ()
-
- -
-
- -

◆ mouseMoveEvent()

- -
-
- - - - - -
- - - - - - - - -
void ViewerWidget::mouseMoveEvent (QMouseEvent * event)
-
-protected
-
- -
-
- -

◆ mousePressEvent()

- -
-
- - - - - -
- - - - - - - - -
void ViewerWidget::mousePressEvent (QMouseEvent * event)
-
-protected
-
- -
-
- -

◆ mouseReleaseEvent()

- -
-
- - - - - -
- - - - - - - - -
void ViewerWidget::mouseReleaseEvent (QMouseEvent * event)
-
-protected
-
- -
-
- -

◆ move_gizmos()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void ViewerWidget::move_gizmos (QMouseEvent * event,
bool done 
)
-
-private
-
- -
-
- -

◆ paintGL()

- -
-
- - - - - - - -
void ViewerWidget::paintGL ()
-
- -
-
- -

◆ queue_repaint

- -
-
- - - - - -
- - - - - - - -
void ViewerWidget::queue_repaint ()
-
-privateslot
-
- -
-
- -

◆ retry

- -
-
- - - - - -
- - - - - - - -
void ViewerWidget::retry ()
-
-privateslot
-
- -
-
- -

◆ save_frame

- -
-
- - - - - -
- - - - - - - -
void ViewerWidget::save_frame ()
-
-privateslot
-
- -
-
- -

◆ seek_from_click()

- -
-
- - - - - -
- - - - - - - - -
void ViewerWidget::seek_from_click (int x)
-
-private
-
- -
-
- -

◆ set_custom_zoom

- -
-
- - - - - -
- - - - - - - -
void ViewerWidget::set_custom_zoom ()
-
-privateslot
-
- -
-
- -

◆ set_fit_zoom

- -
-
- - - - - -
- - - - - - - -
void ViewerWidget::set_fit_zoom ()
-
-privateslot
-
- -
-
- -

◆ set_fullscreen

- -
-
- - - - - -
- - - - - - - - -
void ViewerWidget::set_fullscreen (int screen = 0)
-
-slot
-
- -
-
- -

◆ set_menu_zoom

- -
-
- - - - - -
- - - - - - - - -
void ViewerWidget::set_menu_zoom (QAction * action)
-
-privateslot
-
- -
-
- -

◆ set_scroll()

- -
-
- - - - - - - - - - - - - - - - - - -
void ViewerWidget::set_scroll (double x,
double y 
)
-
- -
-
- -

◆ set_waveform_scroll

- -
-
- - - - - -
- - - - - - - - -
void ViewerWidget::set_waveform_scroll (int s)
-
-slot
-
- -
-
- -

◆ show_context_menu

- -
-
- - - - - -
- - - - - - - -
void ViewerWidget::show_context_menu ()
-
-privateslot
-
- -
-
- -

◆ wheelEvent()

- -
-
- - - - - -
- - - - - - - - -
void ViewerWidget::wheelEvent (QWheelEvent * event)
-
-protected
-
- -
-
-

Member Data Documentation

- -

◆ container

- -
-
- - - - -
ViewerContainer* ViewerWidget::container
-
- -
-
- -

◆ drag_start_x

- -
-
- - - - - -
- - - - -
int ViewerWidget::drag_start_x
-
-private
-
- -
-
- -

◆ drag_start_y

- -
-
- - - - - -
- - - - -
int ViewerWidget::drag_start_y
-
-private
-
- -
-
- -

◆ dragging

- -
-
- - - - - -
- - - - -
bool ViewerWidget::dragging
-
-private
-
- -
-
- -

◆ gizmo_x_mvmt

- -
-
- - - - - -
- - - - -
int ViewerWidget::gizmo_x_mvmt
-
-private
-
- -
-
- -

◆ gizmo_y_mvmt

- -
-
- - - - - -
- - - - -
int ViewerWidget::gizmo_y_mvmt
-
-private
-
- -
-
- -

◆ gizmos

- -
-
- - - - - -
- - - - -
EffectPtr ViewerWidget::gizmos
-
-private
-
- -
-
- -

◆ renderer

- -
-
- - - - - -
- - - - -
RenderThread* ViewerWidget::renderer
-
-private
-
- -
-
- -

◆ selected_gizmo

- -
-
- - - - - -
- - - - -
EffectGizmo* ViewerWidget::selected_gizmo
-
-private
-
- -
-
- -

◆ viewer

- -
-
- - - - -
Viewer* ViewerWidget::viewer
-
- -
-
- -

◆ waveform

- -
-
- - - - -
bool ViewerWidget::waveform
-
- -
-
- -

◆ waveform_clip

- -
-
- - - - -
ClipPtr ViewerWidget::waveform_clip
-
- -
-
- -

◆ waveform_ms

- -
-
- - - - -
const FootageStream* ViewerWidget::waveform_ms
-
- -
-
- -

◆ waveform_scroll

- -
-
- - - - -
int ViewerWidget::waveform_scroll
-
- -
-
- -

◆ waveform_zoom

- -
-
- - - - -
double ViewerWidget::waveform_zoom
-
- -
-
- -

◆ window

- -
-
- - - - - -
- - - - -
ViewerWindow* ViewerWidget::window
-
-private
-
- -
-
- -

◆ x_scroll

- -
-
- - - - - -
- - - - -
double ViewerWidget::x_scroll
-
-private
-
- -
-
- -

◆ y_scroll

- -
-
- - - - - -
- - - - -
double ViewerWidget::y_scroll
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_viewer_widget.png b/docs/html/class_viewer_widget.png deleted file mode 100644 index a8a5b4ee3..000000000 Binary files a/docs/html/class_viewer_widget.png and /dev/null differ diff --git a/docs/html/class_viewer_window-members.html b/docs/html/class_viewer_window-members.html deleted file mode 100644 index 9dfd5ca95..000000000 --- a/docs/html/class_viewer_window-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ViewerWindow Member List
-
-
- -

This is the complete list of members for ViewerWindow, including all inherited members.

- - - - - - - - - - - - - - -
arViewerWindowprivate
fullscreen_msg_rectViewerWindowprivate
fullscreen_msg_timeout()ViewerWindowprivateslot
fullscreen_msg_timerViewerWindowprivate
keyPressEvent(QKeyEvent *) overrideViewerWindowprotectedvirtual
mouseMoveEvent(QMouseEvent *) overrideViewerWindowprotectedvirtual
mousePressEvent(QMouseEvent *) overrideViewerWindowprotectedvirtual
mutexViewerWindowprivate
paintGL() overrideViewerWindowprotectedvirtual
set_texture(GLuint t, double iar, QMutex *imutex)ViewerWindow
show_fullscreen_msgViewerWindowprivate
textureViewerWindowprivate
ViewerWindow(QWidget *parent)ViewerWindow
- - - - diff --git a/docs/html/class_viewer_window.html b/docs/html/class_viewer_window.html deleted file mode 100644 index 71056f6de..000000000 --- a/docs/html/class_viewer_window.html +++ /dev/null @@ -1,448 +0,0 @@ - - - - - - - -Olive: ViewerWindow Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

#include <viewerwindow.h>

-
-Inheritance diagram for ViewerWindow:
-
-
- -
- - - - - - -

-Public Member Functions

 ViewerWindow (QWidget *parent)
 
void set_texture (GLuint t, double iar, QMutex *imutex)
 
- - - - - - - - - -

-Protected Member Functions

virtual void keyPressEvent (QKeyEvent *) override
 
virtual void mousePressEvent (QMouseEvent *) override
 
virtual void mouseMoveEvent (QMouseEvent *) override
 
virtual void paintGL () override
 
- - - -

-Private Slots

void fullscreen_msg_timeout ()
 
- - - - - - - - - - - - - -

-Private Attributes

GLuint texture
 
double ar
 
QMutex * mutex
 
QTimer fullscreen_msg_timer
 
bool show_fullscreen_msg
 
QRect fullscreen_msg_rect
 
-

Constructor & Destructor Documentation

- -

◆ ViewerWindow()

- -
-
- - - - - - - - -
ViewerWindow::ViewerWindow (QWidget * parent)
-
- -
-
-

Member Function Documentation

- -

◆ fullscreen_msg_timeout

- -
-
- - - - - -
- - - - - - - -
void ViewerWindow::fullscreen_msg_timeout ()
-
-privateslot
-
- -
-
- -

◆ keyPressEvent()

- -
-
- - - - - -
- - - - - - - - -
void ViewerWindow::keyPressEvent (QKeyEvent * e)
-
-overrideprotectedvirtual
-
- -
-
- -

◆ mouseMoveEvent()

- -
-
- - - - - -
- - - - - - - - -
void ViewerWindow::mouseMoveEvent (QMouseEvent * )
-
-overrideprotectedvirtual
-
- -
-
- -

◆ mousePressEvent()

- -
-
- - - - - -
- - - - - - - - -
void ViewerWindow::mousePressEvent (QMouseEvent * e)
-
-overrideprotectedvirtual
-
- -
-
- -

◆ paintGL()

- -
-
- - - - - -
- - - - - - - -
void ViewerWindow::paintGL ()
-
-overrideprotectedvirtual
-
- -
-
- -

◆ set_texture()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void ViewerWindow::set_texture (GLuint t,
double iar,
QMutex * imutex 
)
-
- -
-
-

Member Data Documentation

- -

◆ ar

- -
-
- - - - - -
- - - - -
double ViewerWindow::ar
-
-private
-
- -
-
- -

◆ fullscreen_msg_rect

- -
-
- - - - - -
- - - - -
QRect ViewerWindow::fullscreen_msg_rect
-
-private
-
- -
-
- -

◆ fullscreen_msg_timer

- -
-
- - - - - -
- - - - -
QTimer ViewerWindow::fullscreen_msg_timer
-
-private
-
- -
-
- -

◆ mutex

- -
-
- - - - - -
- - - - -
QMutex* ViewerWindow::mutex
-
-private
-
- -
-
- -

◆ show_fullscreen_msg

- -
-
- - - - - -
- - - - -
bool ViewerWindow::show_fullscreen_msg
-
-private
-
- -
-
- -

◆ texture

- -
-
- - - - - -
- - - - -
GLuint ViewerWindow::texture
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_viewer_window.png b/docs/html/class_viewer_window.png deleted file mode 100644 index 33396c24a..000000000 Binary files a/docs/html/class_viewer_window.png and /dev/null differ diff --git a/docs/html/class_void_effect-members.html b/docs/html/class_void_effect-members.html deleted file mode 100644 index ff6e70142..000000000 --- a/docs/html/class_void_effect-members.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
VoidEffect Member List
-
-
- -

This is the complete list of members for VoidEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
bytesVoidEffectprivate
close()Effect
containerEffect
copy(ClipPtr c) overrideVoidEffectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream) overrideVoidEffectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)Effectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream) overrideVoidEffectvirtual
save_to_string()Effect
set_enabled(bool b)Effect
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
vertPathEffectprotected
void_metaVoidEffectprivate
VoidEffect(ClipPtr c, const QString &n)VoidEffect
~Effect()Effect
- - - - diff --git a/docs/html/class_void_effect.html b/docs/html/class_void_effect.html deleted file mode 100644 index 7570ad495..000000000 --- a/docs/html/class_void_effect.html +++ /dev/null @@ -1,378 +0,0 @@ - - - - - - - -Olive: VoidEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
VoidEffect Class Reference
-
-
- -

#include <voideffect.h>

-
-Inheritance diagram for VoidEffect:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 VoidEffect (ClipPtr c, const QString &n)
 
virtual EffectPtr copy (ClipPtr c) override
 
virtual void load (QXmlStreamReader &stream) override
 
virtual void save (QXmlStreamWriter &stream) override
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
void copy_field_keyframes (EffectPtr e)
 
virtual void custom_load (QXmlStreamReader &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - -

-Private Attributes

QByteArray bytes
 
EffectMeta void_meta
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ VoidEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
VoidEffect::VoidEffect (ClipPtr c,
const QString & n 
)
-
- -
-
-

Member Function Documentation

- -

◆ copy()

- -
-
- - - - - -
- - - - - - - - -
EffectPtr VoidEffect::copy (ClipPtr c)
-
-overridevirtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ load()

- -
-
- - - - - -
- - - - - - - - -
void VoidEffect::load (QXmlStreamReader & stream)
-
-overridevirtual
-
- -

Reimplemented from Effect.

- -
-
- -

◆ save()

- -
-
- - - - - -
- - - - - - - - -
void VoidEffect::save (QXmlStreamWriter & stream)
-
-overridevirtual
-
- -

Reimplemented from Effect.

- -
-
-

Member Data Documentation

- -

◆ bytes

- -
-
- - - - - -
- - - - -
QByteArray VoidEffect::bytes
-
-private
-
- -
-
- -

◆ void_meta

- -
-
- - - - - -
- - - - -
EffectMeta VoidEffect::void_meta
-
-private
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_void_effect.png b/docs/html/class_void_effect.png deleted file mode 100644 index f5aa7f054..000000000 Binary files a/docs/html/class_void_effect.png and /dev/null differ diff --git a/docs/html/class_volume_effect-members.html b/docs/html/class_volume_effect-members.html deleted file mode 100644 index a3fb27893..000000000 --- a/docs/html/class_volume_effect-members.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
VolumeEffect Member List
-
-
- -

This is the complete list of members for VolumeEffect, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add_gizmo(int type)Effect
add_row(const QString &name, bool savable=true, bool keyframable=true)Effect
are_gizmos_enabled()Effect
close()Effect
containerEffect
copy(ClipPtr c)Effectvirtual
copy_field_keyframes(EffectPtr e)Effect
custom_load(QXmlStreamReader &stream)Effectvirtual
Effect(ClipPtr c, const EffectMeta *em)Effect
enable_always_updateEffectprotected
enable_coordsEffect
enable_imageEffect
enable_shaderEffect
enable_superimposeEffect
endEffect()Effectvirtual
ffmpeg_filterEffect
field_changed()Effectslot
fragPathEffectprotected
getIterations()Effect
gizmo(int i)Effect
gizmo_count()Effect
gizmo_draw(double timecode, GLTextureCoords &coords)Effectvirtual
gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)Effect
gizmo_world_to_screen()Effect
glslProgramEffectprotected
idEffect
imgEffectprotected
is_enabled()Effect
is_glsl_linked()Effect
is_open()Effect
load(QXmlStreamReader &stream)Effectvirtual
load_from_string(const QByteArray &s)Effect
metaEffect
nameEffect
open()Effect
parent_clipEffect
process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)VolumeEffectvirtual
process_coords(double timecode, GLTextureCoords &coords, int data)Effectvirtual
process_image(double timecode, uint8_t *input, uint8_t *output, int size)Effectvirtual
process_shader(double timecode, GLTextureCoords &, int iteration)Effectvirtual
process_superimpose(double timecode)Effectvirtual
refresh()Effectvirtual
row(int i)Effect
row_count()Effect
save(QXmlStreamWriter &stream)Effectvirtual
save_to_string()Effect
set_enabled(bool b)Effect
setIterations(int i)Effect
startEffect()Effectvirtual
textureEffectprotected
vertPathEffectprotected
volume_valVolumeEffect
VolumeEffect(ClipPtr c, const EffectMeta *em)VolumeEffect
~Effect()Effect
- - - - diff --git a/docs/html/class_volume_effect.html b/docs/html/class_volume_effect.html deleted file mode 100644 index e0ad423ba..000000000 --- a/docs/html/class_volume_effect.html +++ /dev/null @@ -1,318 +0,0 @@ - - - - - - - -Olive: VolumeEffect Class Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
VolumeEffect Class Reference
-
-
- -

#include <volumeeffect.h>

-
-Inheritance diagram for VolumeEffect:
-
-
- - -Effect - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 VolumeEffect (ClipPtr c, const EffectMeta *em)
 
void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
- Public Member Functions inherited from Effect
 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
- - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

EffectFieldvolume_val
 
- Public Attributes inherited from Effect
ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 
- - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Public Slots inherited from Effect
void field_changed ()
 
- Protected Attributes inherited from Effect
QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 
bool enable_always_update
 
-

Constructor & Destructor Documentation

- -

◆ VolumeEffect()

- -
-
- - - - - - - - - - - - - - - - - - -
VolumeEffect::VolumeEffect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
-

Member Function Documentation

- -

◆ process_audio()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VolumeEffect::process_audio (double timecode_start,
double timecode_end,
quint8 * samples,
int nb_bytes,
int channel_count 
)
-
-virtual
-
- -

Reimplemented from Effect.

- -
-
-

Member Data Documentation

- -

◆ volume_val

- -
-
- - - - -
EffectField* VolumeEffect::volume_val
-
- -
-
-
The documentation for this class was generated from the following files: -
- - - - diff --git a/docs/html/class_volume_effect.png b/docs/html/class_volume_effect.png deleted file mode 100644 index 7f1634459..000000000 Binary files a/docs/html/class_volume_effect.png and /dev/null differ diff --git a/docs/html/classes.html b/docs/html/classes.html deleted file mode 100644 index 7de0f2752..000000000 --- a/docs/html/classes.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - -Olive: Class Index - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Class Index
-
-
-
_ | a | c | d | e | f | g | k | l | m | n | o | p | q | r | s | t | u | v
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  _  
-
CornerPinEffect   GLTextureCoords   
  p  
-
SetPointer   
CrossDissolveTransition   GraphEditor   SetQVariant   
_AEffect   CubeTransition   GraphView   PanEffect   SetSelectionsCommand   
_VstEvent   
  d  
-
  k  
-
Panel   SetSpeedAction   
_VstEvents   PlayButton   SetString   
_VstMidiEvent   DebugDialog   KeyframeDelete   PreferencesDialog   SetTimelineInOutCommand   
_VstParameterProperties   DeleteClipAction   KeyframeFieldSet   PreviewGenerator   ShakeEffect   
_VstTimeInfo   DeleteMarkerAction   KeyframeNavigator   Project   SolidEffect   
  a  
-
DeleteMediaCommand   KeyframeView   ProjectFilter   SourceIconView   
DeleteTransitionCommand   KeySequenceEditor   ProjectModel   SourcesCommon   
AboutDialog   DemoNotice   
  l  
-
ProxyDialog   SourceTable   
ActionSearch   
  e  
-
ProxyGenerator   SpeedDialog   
ActionSearchEntry   LabelSlider   ProxyInfo   
  t  
-
ActionSearchList   EditSequenceCommand   LinearFadeTransition   
  q  
-
AddClipCommand   Effect   LinkCommand   TextEditDialog   
AddEffectCommand   EffectControls   LoadDialog   QPainterWrapper   TextEditEx   
AddMarkerAction   EffectDeleteCommand   LoadThread   
  r  
-
TextEffect   
AddMediaCommand   EffectField   LogarithmicFadeTransition   TimecodeEffect   
AddTransitionCommand   EffectFieldUndo   
  m  
-
RefreshClips   Timeline   
AdvancedVideoDialog   EffectGizmo   ReloadEffectsCommand   TimelineHeader   
AudioMonitor   EffectInit   MainWindow   RemoveClipsFromClipboard   TimelineTrackHeight   
AudioNoiseEffect   EffectKeyframe   Marker   RenameClipCommand   TimelineWidget   
AudioSenderThread   EffectMeta   Media   RenderThread   ToneEffect   
  c  
-
EffectRow   MediaIconService   ReplaceClipMediaCommand   TransformEffect   
EffectsArea   MediaMove   ReplaceClipMediaDialog   Transition   
Cacher   EmbeddedFileChooser   MediaPropertiesDialog   ReplaceMediaCommand   
  u  
-
ChangeSequenceAction   ExponentialFadeTransition   MediaRename   ResizableScrollBar   
CheckboxCommand   ExportDialog   MenuHelper   RippleAction   UpdateFootageTooltip   
CheckboxEx   ExportParams   ModifyTransitionCommand   RuntimeConfig   UpdateViewer   
ClickableLabel   ExportThread   MoveClipAction   
  s  
-
  v  
-
Clip   
  f  
-
MoveEffectCommand   
CloseAllClipsCommand   MoveMarkerAction   ScrollArea   VideoCodecParams   
CollapsibleWidget   FillLeftRightEffect   
  n  
-
Selection   Viewer   
CollapsibleWidgetHeader   FlowLayout   Sequence   ViewerContainer   
ColorButton   FocusFilter   NewSequenceCommand   SetAutoscaleAction   ViewerWidget   
ColorCommand   FontCombobox   NewSequenceDialog   SetBool   ViewerWindow   
ComboAction   Footage   
  o  
-
SetDouble   VoidEffect   
ComboBoxEx   FootageStream   SetEffectData   VolumeEffect   
ComboBoxExCommand   Frei0rEffect   OliveAction   SetInt   VSTHost   
ComposeSequenceParams   
  g  
-
OliveGlobal   SetKeyframing   VSTRect   
Config   OTreeView   SetLong   
Ghost   
-
_ | a | c | d | e | f | g | k | l | m | n | o | p | q | r | s | t | u | v
-
- - - - diff --git a/docs/html/clickablelabel_8cpp.html b/docs/html/clickablelabel_8cpp.html deleted file mode 100644 index 9ff8bfccc..000000000 --- a/docs/html/clickablelabel_8cpp.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: ui/clickablelabel.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
clickablelabel.cpp File Reference
-
-
-
#include "clickablelabel.h"
-
- - - - diff --git a/docs/html/clickablelabel_8h.html b/docs/html/clickablelabel_8h.html deleted file mode 100644 index 47d15bb10..000000000 --- a/docs/html/clickablelabel_8h.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: ui/clickablelabel.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
clickablelabel.h File Reference
-
-
-
#include <QLabel>
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  ClickableLabel
 The ClickableLabel class. More...
 
-
- - - - diff --git a/docs/html/clickablelabel_8h_source.html b/docs/html/clickablelabel_8h_source.html deleted file mode 100644 index b2bf23dc5..000000000 --- a/docs/html/clickablelabel_8h_source.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: ui/clickablelabel.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
clickablelabel.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef CLICKABLELABEL_H
22 #define CLICKABLELABEL_H
23 
24 #include <QLabel>
25 
31 class ClickableLabel : public QLabel {
32  Q_OBJECT
33 public:
34  ClickableLabel(QWidget * parent = 0, Qt::WindowFlags f = 0);
35  ClickableLabel(const QString & text, QWidget * parent = 0, Qt::WindowFlags f = 0);
36  void mousePressEvent(QMouseEvent *ev);
37 signals:
38  void clicked();
39 };
40 
41 #endif // CLICKABLELABEL_H
ClickableLabel(QWidget *parent=0, Qt::WindowFlags f=0)
Definition: clickablelabel.cpp:23
- -
The ClickableLabel class.
Definition: clickablelabel.h:31
-
void mousePressEvent(QMouseEvent *ev)
Definition: clickablelabel.cpp:31
-
- - - - diff --git a/docs/html/clip_8cpp.html b/docs/html/clip_8cpp.html deleted file mode 100644 index deba09c4b..000000000 --- a/docs/html/clip_8cpp.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: project/clip.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
clip.cpp File Reference
-
-
-
#include "clip.h"
-#include "project/effect.h"
-#include "project/transition.h"
-#include "project/footage.h"
-#include "io/config.h"
-#include "playback/playback.h"
-#include "playback/cacher.h"
-#include "panels/project.h"
-#include "project/sequence.h"
-#include "panels/timeline.h"
-#include "project/media.h"
-#include "io/clipboard.h"
-#include "undo.h"
-#include "debug.h"
-
- - - - diff --git a/docs/html/clip_8h.html b/docs/html/clip_8h.html deleted file mode 100644 index 86879840a..000000000 --- a/docs/html/clip_8h.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - -Olive: project/clip.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
clip.h File Reference
-
-
-
#include <QWaitCondition>
-#include <QMutex>
-#include <QVector>
-#include <QOpenGLFramebufferObject>
-#include <QOpenGLTexture>
-#include "playback/cacher.h"
-#include "project/effect.h"
-#include "project/transition.h"
-#include "project/comboaction.h"
-#include "project/media.h"
-#include "footage.h"
-#include "marker.h"
-#include <libavformat/avformat.h>
-#include <libavfilter/avfilter.h>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  Clip
 
- - - - - -

-Typedefs

using ClipPtr = std::shared_ptr< Clip >
 
using SequencePtr = std::shared_ptr< Sequence >
 
-

Typedef Documentation

- -

◆ ClipPtr

- -
-
- - - - -
using ClipPtr = std::shared_ptr<Clip>
-
- -
-
- -

◆ SequencePtr

- -
-
- - - - -
using SequencePtr = std::shared_ptr<Sequence>
-
- -
-
-
- - - - diff --git a/docs/html/clip_8h_source.html b/docs/html/clip_8h_source.html deleted file mode 100644 index f82a2f91d..000000000 --- a/docs/html/clip_8h_source.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - -Olive: project/clip.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
clip.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef CLIP_H
22 #define CLIP_H
23 
24 #include <QWaitCondition>
25 #include <QMutex>
26 #include <QVector>
27 #include <QOpenGLFramebufferObject>
28 #include <QOpenGLTexture>
29 
30 #include "playback/cacher.h"
31 
32 #include "project/effect.h"
33 #include "project/transition.h"
34 #include "project/comboaction.h"
35 #include "project/media.h"
36 #include "footage.h"
37 
38 #include "marker.h"
39 
40 extern "C" {
41 #include <libavformat/avformat.h>
42 #include <libavfilter/avfilter.h>
43 }
44 
45 using ClipPtr = std::shared_ptr<Clip>;
46 
47 class Sequence;
48 using SequencePtr = std::shared_ptr<Sequence>;
49 
50 class Clip {
51 public:
52  Clip(SequencePtr s);
53  ~Clip();
55  void reset_audio();
56  void reset();
57  void refresh();
61  long getLength();
62  double getMediaFrameRate();
63  long getMaximumLength();
64  void recalculateMaxLength();
65  int getWidth();
66  int getHeight();
67  void refactor_frame_rate(ComboAction* ca, double multiplier, bool change_timeline_points);
69 
70  // queue functions
71  void queue_clear();
72  void queue_remove_earliest();
73 
74  // timeline variables (should be copied in copy())
75  bool enabled;
76  long clip_in;
79  int track;
80  QString name;
81  quint8 color_r;
82  quint8 color_g;
83  quint8 color_b;
86  double speed;
87  double cached_fr;
88  bool reverse;
90  bool autoscale;
91 
92  // markers
93  QVector<Marker>& get_markers();
94 
95  // other variables (should be deep copied/duplicated in copy())
96  QList<EffectPtr> effects;
97  QVector<int> linked;
100 
101  // media handling
102  AVFormatContext* formatCtx;
103  AVStream* stream;
104  AVCodec* codec;
105  AVCodecContext* codecCtx;
106  AVPacket* pkt;
107  AVFrame* frame;
108  AVDictionary* opts;
110 
111  // temporary variables
112  int load_id;
116  bool open;
118  bool replaced;
120  int pix_fmt;
121 
122  // caching functions
126  QWaitCondition can_cache;
128  QVector<AVFrame*> queue;
129  QMutex queue_lock;
130  QMutex render_lock;
131  QMutex lock;
132  QMutex open_lock;
134 
135  // converters/filters
136  AVFilterGraph* filter_graph;
137  AVFilterContext* buffersink_ctx;
138  AVFilterContext* buffersrc_ctx;
139 
140  // video playback variables
141  QOpenGLFramebufferObject** fbo;
142  QOpenGLTexture* texture;
144 
145  // audio playback variables
146  int64_t reverse_target;
152 private:
153  QVector<Marker> markers;
154 };
155 
156 #endif // CLIP_H
~Clip()
Definition: clip.cpp:171
- -
bool reverse
Definition: clip.h:88
-
ClipPtr copy(SequencePtr s)
Definition: clip.cpp:63
-
quint8 color_g
Definition: clip.h:82
-
void queue_clear()
Definition: clip.cpp:145
-
Definition: sequence.h:31
-
long clip_in
Definition: clip.h:76
-
bool reached_end
Definition: clip.h:114
-
AVFilterContext * buffersrc_ctx
Definition: clip.h:138
-
QMutex open_lock
Definition: clip.h:132
-
double cached_fr
Definition: clip.h:87
-
bool pkt_written
Definition: clip.h:115
- -
QWaitCondition can_cache
Definition: clip.h:126
-
The ComboAction class.
Definition: comboaction.h:19
-
QString name
Definition: clip.h:80
-
bool autoscale
Definition: clip.h:90
- -
long timeline_out
Definition: clip.h:78
-
void queue_remove_earliest()
Definition: clip.cpp:152
-
QOpenGLFramebufferObject ** fbo
Definition: clip.h:141
-
long getMaximumLength()
Definition: clip.cpp:252
- -
Definition: cacher.h:30
-
bool open
Definition: clip.h:116
-
QVector< Marker > markers
Definition: clip.h:153
-
QMutex queue_lock
Definition: clip.h:129
-
AVFilterGraph * filter_graph
Definition: clip.h:136
-
int64_t last_invalid_ts
Definition: clip.h:133
-
void refactor_frame_rate(ComboAction *ca, double multiplier, bool change_timeline_points)
Definition: clip.cpp:294
-
Definition: media.h:42
-
int load_id
Definition: clip.h:112
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
bool ignore_reverse
Definition: clip.h:119
-
QVector< int > linked
Definition: clip.h:97
-
int getHeight()
Definition: clip.cpp:276
-
long texture_frame
Definition: clip.h:143
-
quint8 color_b
Definition: clip.h:83
-
QVector< AVFrame * > queue
Definition: clip.h:128
-
QMutex lock
Definition: clip.h:131
- -
bool maintain_audio_pitch
Definition: clip.h:89
-
int track
Definition: clip.h:79
-
long getLength()
Definition: clip.cpp:206
-
QVector< Marker > & get_markers()
Definition: clip.cpp:164
-
bool enabled
Definition: clip.h:75
-
AVPacket * pkt
Definition: clip.h:106
-
int pix_fmt
Definition: clip.h:120
-
TransitionPtr opening_transition
Definition: clip.h:98
-
quint8 color_r
Definition: clip.h:81
-
int getWidth()
Definition: clip.cpp:256
-
bool undeletable
Definition: clip.h:113
-
QList< EffectPtr > effects
Definition: clip.h:96
-
void reset_audio()
Definition: clip.cpp:110
-
AVFrame * frame
Definition: clip.h:107
-
long audio_target_frame
Definition: clip.h:151
-
void refresh()
Definition: clip.cpp:124
-
long get_timeline_in_with_transition()
Definition: clip.cpp:188
-
TransitionPtr closing_transition
Definition: clip.h:99
-
Cacher * cacher
Definition: clip.h:125
-
bool audio_just_reset
Definition: clip.h:150
-
std::shared_ptr< Transition > TransitionPtr
Definition: transition.h:42
-
long get_timeline_out_with_transition()
Definition: clip.cpp:196
-
double getMediaFrameRate()
Definition: clip.cpp:210
-
std::shared_ptr< Sequence > SequencePtr
Definition: clip.h:48
-
double speed
Definition: clip.h:86
-
int media_stream
Definition: clip.h:85
-
int frame_sample_index
Definition: clip.h:147
-
bool use_existing_frame
Definition: clip.h:123
-
void recalculateMaxLength()
Definition: clip.cpp:220
-
bool audio_reset
Definition: clip.h:149
-
bool finished_opening
Definition: clip.h:117
-
int max_queue_size
Definition: clip.h:127
-
SequencePtr sequence
Definition: clip.h:68
-
bool replaced
Definition: clip.h:118
- -
AVCodecContext * codecCtx
Definition: clip.h:105
-
Media * media
Definition: clip.h:84
-
Definition: clip.h:50
-
AVStream * stream
Definition: clip.h:103
-
bool multithreaded
Definition: clip.h:124
-
Clip(SequencePtr s)
Definition: clip.cpp:37
-
long timeline_in
Definition: clip.h:77
-
AVFormatContext * formatCtx
Definition: clip.h:102
-
void reset()
Definition: clip.cpp:93
-
qint64 audio_buffer_write
Definition: clip.h:148
-
int64_t reverse_target
Definition: clip.h:146
- -
AVFilterContext * buffersink_ctx
Definition: clip.h:137
-
QOpenGLTexture * texture
Definition: clip.h:142
-
long get_clip_in_with_transition()
Definition: clip.cpp:180
-
AVCodec * codec
Definition: clip.h:104
-
QMutex render_lock
Definition: clip.h:130
-
AVDictionary * opts
Definition: clip.h:108
-
long calculated_length
Definition: clip.h:109
-
- - - - diff --git a/docs/html/clipboard_8cpp.html b/docs/html/clipboard_8cpp.html deleted file mode 100644 index 686155646..000000000 --- a/docs/html/clipboard_8cpp.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - -Olive: io/clipboard.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
clipboard.cpp File Reference
-
-
-
#include "clipboard.h"
-#include "project/clip.h"
-#include "project/effect.h"
-#include "project/transition.h"
-
- - - -

-Functions

void clear_clipboard ()
 
- - - - - - - -

-Variables

int clipboard_type = CLIPBOARD_TYPE_CLIP
 
QVector< VoidPtrclipboard
 
QVector< TransitionPtrclipboard_transitions
 
-

Function Documentation

- -

◆ clear_clipboard()

- -
-
- - - - - - - -
void clear_clipboard ()
-
- -
-
-

Variable Documentation

- -

◆ clipboard

- -
-
- - - - -
QVector<VoidPtr> clipboard
-
- -
-
- -

◆ clipboard_transitions

- -
-
- - - - -
QVector<TransitionPtr> clipboard_transitions
-
- -
-
- -

◆ clipboard_type

- -
-
- - - - -
int clipboard_type = CLIPBOARD_TYPE_CLIP
-
- -
-
-
- - - - diff --git a/docs/html/clipboard_8h.html b/docs/html/clipboard_8h.html deleted file mode 100644 index b703bb2af..000000000 --- a/docs/html/clipboard_8h.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - -Olive: io/clipboard.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
clipboard.h File Reference
-
-
-
#include <QVector>
-#include <project/transition.h>
-
-

Go to the source code of this file.

- - - - - - -

-Macros

#define CLIPBOARD_TYPE_CLIP   0
 
#define CLIPBOARD_TYPE_EFFECT   1
 
- - - -

-Typedefs

using VoidPtr = std::shared_ptr< void >
 
- - - -

-Functions

void clear_clipboard ()
 
- - - - - - - -

-Variables

int clipboard_type
 
QVector< TransitionPtrclipboard_transitions
 
QVector< VoidPtrclipboard
 
-

Macro Definition Documentation

- -

◆ CLIPBOARD_TYPE_CLIP

- -
-
- - - - -
#define CLIPBOARD_TYPE_CLIP   0
-
- -
-
- -

◆ CLIPBOARD_TYPE_EFFECT

- -
-
- - - - -
#define CLIPBOARD_TYPE_EFFECT   1
-
- -
-
-

Typedef Documentation

- -

◆ VoidPtr

- -
-
- - - - -
using VoidPtr = std::shared_ptr<void>
-
- -
-
-

Function Documentation

- -

◆ clear_clipboard()

- -
-
- - - - - - - -
void clear_clipboard ()
-
- -
-
-

Variable Documentation

- -

◆ clipboard

- -
-
- - - - -
QVector<VoidPtr> clipboard
-
- -
-
- -

◆ clipboard_transitions

- -
-
- - - - -
QVector<TransitionPtr> clipboard_transitions
-
- -
-
- -

◆ clipboard_type

- -
-
- - - - -
int clipboard_type
-
- -
-
-
- - - - diff --git a/docs/html/clipboard_8h_source.html b/docs/html/clipboard_8h_source.html deleted file mode 100644 index 2bb6a9183..000000000 --- a/docs/html/clipboard_8h_source.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: io/clipboard.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
clipboard.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef CLIPBOARD_H
22 #define CLIPBOARD_H
23 
24 #include <QVector>
25 
26 #include <project/transition.h>
27 
28 #define CLIPBOARD_TYPE_CLIP 0
29 #define CLIPBOARD_TYPE_EFFECT 1
30 
31 using VoidPtr = std::shared_ptr<void>;
32 
33 extern int clipboard_type;
34 extern QVector<TransitionPtr> clipboard_transitions;
35 extern QVector<VoidPtr> clipboard;
36 void clear_clipboard();
37 
38 #endif // CLIPBOARD_H
-
std::shared_ptr< void > VoidPtr
Definition: clipboard.h:31
-
QVector< TransitionPtr > clipboard_transitions
Definition: clipboard.cpp:29
-
QVector< VoidPtr > clipboard
Definition: clipboard.cpp:28
-
void clear_clipboard()
Definition: clipboard.cpp:31
-
int clipboard_type
Definition: clipboard.cpp:27
-
- - - - diff --git a/docs/html/closed.png b/docs/html/closed.png deleted file mode 100644 index 98cc2c909..000000000 Binary files a/docs/html/closed.png and /dev/null differ diff --git a/docs/html/collapsiblewidget_8cpp.html b/docs/html/collapsiblewidget_8cpp.html deleted file mode 100644 index 8dd0b05ae..000000000 --- a/docs/html/collapsiblewidget_8cpp.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: ui/collapsiblewidget.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
collapsiblewidget.cpp File Reference
-
-
-
#include "collapsiblewidget.h"
-#include "ui/checkboxex.h"
-#include <QDebug>
-#include <QLabel>
-#include <QLayout>
-#include <QHBoxLayout>
-#include <QVBoxLayout>
-#include <QPushButton>
-#include <QMouseEvent>
-#include <QWidget>
-#include <QPainter>
-#include "debug.h"
-
- - - - diff --git a/docs/html/collapsiblewidget_8h.html b/docs/html/collapsiblewidget_8h.html deleted file mode 100644 index a50056313..000000000 --- a/docs/html/collapsiblewidget_8h.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: ui/collapsiblewidget.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
collapsiblewidget.h File Reference
-
-
-
#include <QWidget>
-
-

Go to the source code of this file.

- - - - - - -

-Classes

class  CollapsibleWidgetHeader
 
class  CollapsibleWidget
 
-
- - - - diff --git a/docs/html/collapsiblewidget_8h_source.html b/docs/html/collapsiblewidget_8h_source.html deleted file mode 100644 index 5dbfbf570..000000000 --- a/docs/html/collapsiblewidget_8h_source.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Olive: ui/collapsiblewidget.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
collapsiblewidget.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef COLLAPSIBLEWIDGET_H
22 #define COLLAPSIBLEWIDGET_H
23 
24 #include <QWidget>
25 class QLabel;
26 class QCheckBox;
27 class QHBoxLayout;
28 class QVBoxLayout;
29 class QPushButton;
30 class QFrame;
31 class CheckboxEx;
32 
33 class CollapsibleWidgetHeader : public QWidget {
34  Q_OBJECT
35 public:
36  CollapsibleWidgetHeader(QWidget* parent = 0);
37  bool selected;
38 protected:
39  void mousePressEvent(QMouseEvent* event);
40  void paintEvent(QPaintEvent *event);
41 signals:
42  void select(bool, bool);
43 };
44 
45 class CollapsibleWidget : public QWidget
46 {
47  Q_OBJECT
48 public:
49  CollapsibleWidget(QWidget* parent = 0);
50  void setContents(QWidget* c);
51  void setText(const QString &);
52  bool is_focused();
53  bool is_expanded();
54 
56  bool selected;
57  QWidget* contents;
59 private:
60  QLabel* header;
61  QVBoxLayout* layout;
62  QPushButton* collapse_button;
63  QFrame* line;
64  QHBoxLayout* title_bar_layout;
65  void set_button_icon(bool open);
66 
67 signals:
68  void deselect_others(QWidget*);
69  void visibleChanged();
70 
71 private slots:
72  void on_enabled_change(bool b);
73  void on_visible_change();
74 
75 public slots:
76  void header_click(bool s, bool deselect);
77 };
78 
79 #endif // COLLAPSIBLEWIDGET_H
bool is_focused()
Definition: collapsiblewidget.cpp:82
-
CollapsibleWidgetHeader * title_bar
Definition: collapsiblewidget.h:58
-
Definition: collapsiblewidget.h:45
-
bool is_expanded()
Definition: collapsiblewidget.cpp:87
-
bool selected
Definition: collapsiblewidget.h:56
-
void paintEvent(QPaintEvent *event)
Definition: collapsiblewidget.cpp:135
-
void header_click(bool s, bool deselect)
Definition: collapsiblewidget.cpp:69
-
CollapsibleWidget(QWidget *parent=0)
Definition: collapsiblewidget.cpp:37
-
QLabel * header
Definition: collapsiblewidget.h:60
-
void on_enabled_change(bool b)
Definition: collapsiblewidget.cpp:109
-
Definition: checkboxex.h:26
-
QPushButton * collapse_button
Definition: collapsiblewidget.h:62
-
Definition: collapsiblewidget.h:33
-
void select(bool, bool)
-
void deselect_others(QWidget *)
-
void set_button_icon(bool open)
Definition: collapsiblewidget.cpp:91
-
CheckboxEx * enabled_check
Definition: collapsiblewidget.h:55
-
QWidget * contents
Definition: collapsiblewidget.h:57
-
QVBoxLayout * layout
Definition: collapsiblewidget.h:61
-
CollapsibleWidgetHeader(QWidget *parent=0)
Definition: collapsiblewidget.cpp:119
-
void mousePressEvent(QMouseEvent *event)
Definition: collapsiblewidget.cpp:123
- -
void setText(const QString &)
Definition: collapsiblewidget.cpp:105
-
QFrame * line
Definition: collapsiblewidget.h:63
-
QHBoxLayout * title_bar_layout
Definition: collapsiblewidget.h:64
-
bool selected
Definition: collapsiblewidget.h:37
-
void setContents(QWidget *c)
Definition: collapsiblewidget.cpp:95
-
void on_visible_change()
Definition: collapsiblewidget.cpp:113
-
- - - - diff --git a/docs/html/colorbutton_8cpp.html b/docs/html/colorbutton_8cpp.html deleted file mode 100644 index 9696b1f52..000000000 --- a/docs/html/colorbutton_8cpp.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: ui/colorbutton.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
colorbutton.cpp File Reference
-
-
-
#include "colorbutton.h"
-#include "project/undo.h"
-#include <QColorDialog>
-
- - - - diff --git a/docs/html/colorbutton_8h.html b/docs/html/colorbutton_8h.html deleted file mode 100644 index 5b43cb9e9..000000000 --- a/docs/html/colorbutton_8h.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Olive: ui/colorbutton.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
colorbutton.h File Reference
-
-
-
#include <QPushButton>
-#include <QColor>
-#include <QUndoCommand>
-
-

Go to the source code of this file.

- - - - - - -

-Classes

class  ColorButton
 
class  ColorCommand
 
-
- - - - diff --git a/docs/html/colorbutton_8h_source.html b/docs/html/colorbutton_8h_source.html deleted file mode 100644 index 77a713752..000000000 --- a/docs/html/colorbutton_8h_source.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -Olive: ui/colorbutton.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
colorbutton.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef COLORBUTTON_H
22 #define COLORBUTTON_H
23 
24 #include <QPushButton>
25 #include <QColor>
26 #include <QUndoCommand>
27 
28 class ColorButton : public QPushButton {
29  Q_OBJECT
30 public:
31  ColorButton(QWidget* parent = 0);
32  QColor get_color();
33  void set_color(QColor c);
34  const QColor& getPreviousValue();
35 private:
36  QColor color;
37  QColor previousColor;
38  void set_button_color();
39 signals:
40  void color_changed();
41 private slots:
42  void open_dialog();
43 };
44 
45 class ColorCommand : public QUndoCommand {
46 public:
47  ColorCommand(ColorButton* s, QColor o, QColor n);
48  void undo();
49  void redo();
50 private:
52  QColor old_color;
53  QColor new_color;
54 };
55 
56 #endif // COLORBUTTON_H
void set_color(QColor c)
Definition: colorbutton.cpp:37
-
Definition: colorbutton.h:45
-
ColorButton * sender
Definition: colorbutton.h:51
-
ColorButton(QWidget *parent=0)
Definition: colorbutton.cpp:27
-
void set_button_color()
Definition: colorbutton.cpp:47
-
void color_changed()
-
QColor new_color
Definition: colorbutton.h:53
-
QColor old_color
Definition: colorbutton.h:52
-
QColor get_color()
Definition: colorbutton.cpp:33
-
const QColor & getPreviousValue()
Definition: colorbutton.cpp:43
-
ColorCommand(ColorButton *s, QColor o, QColor n)
Definition: colorbutton.cpp:62
-
void open_dialog()
Definition: colorbutton.cpp:53
-
QColor previousColor
Definition: colorbutton.h:37
-
void redo()
Definition: colorbutton.cpp:69
-
QColor color
Definition: colorbutton.h:36
-
void undo()
Definition: colorbutton.cpp:65
-
Definition: colorbutton.h:28
-
- - - - diff --git a/docs/html/comboaction_8cpp.html b/docs/html/comboaction_8cpp.html deleted file mode 100644 index 9da218bdd..000000000 --- a/docs/html/comboaction_8cpp.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: project/comboaction.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
comboaction.cpp File Reference
-
-
-
#include "comboaction.h"
-
- - - - diff --git a/docs/html/comboaction_8h.html b/docs/html/comboaction_8h.html deleted file mode 100644 index 894a4cb3f..000000000 --- a/docs/html/comboaction_8h.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: project/comboaction.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
comboaction.h File Reference
-
-
-
#include <QUndoCommand>
-#include <QVector>
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  ComboAction
 The ComboAction class. More...
 
-
- - - - diff --git a/docs/html/comboaction_8h_source.html b/docs/html/comboaction_8h_source.html deleted file mode 100644 index 4b808a9dd..000000000 --- a/docs/html/comboaction_8h_source.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: project/comboaction.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
comboaction.h
-
-
-Go to the documentation of this file.
1 #ifndef COMBOACTION_H
2 #define COMBOACTION_H
3 
4 #include <QUndoCommand>
5 #include <QVector>
6 
19 class ComboAction : public QUndoCommand {
20 public:
24  ComboAction();
25 
29  virtual ~ComboAction() override;
30 
40  virtual void undo() override;
41 
51  virtual void redo() override;
52 
63  void append(QUndoCommand* u);
64 
75  void appendPost(QUndoCommand* u);
76 private:
80  QVector<QUndoCommand*> commands;
81 
85  QVector<QUndoCommand*> post_commands;
86 };
87 
88 #endif // COMBOACTION_H
virtual ~ComboAction() override
~ComboAction Destructor. Cleans up all QUndoCommand classes that have been added to it.
Definition: comboaction.cpp:5
-
QVector< QUndoCommand * > post_commands
Internal array of PostAction objects.
Definition: comboaction.h:85
-
void appendPost(QUndoCommand *u)
Add a post-undo PostAction.
Definition: comboaction.cpp:33
-
The ComboAction class.
Definition: comboaction.h:19
-
virtual void undo() override
Undo Function.
Definition: comboaction.cpp:11
-
ComboAction()
ComboAction Constructor. Currently empty.
Definition: comboaction.cpp:3
-
QVector< QUndoCommand * > commands
Internal array of QUndoCommand objects.
Definition: comboaction.h:80
-
virtual void redo() override
Redo Function.
Definition: comboaction.cpp:20
-
void append(QUndoCommand *u)
Add an undo action.
Definition: comboaction.cpp:29
-
- - - - diff --git a/docs/html/comboboxex_8cpp.html b/docs/html/comboboxex_8cpp.html deleted file mode 100644 index 3a22fcb49..000000000 --- a/docs/html/comboboxex_8cpp.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: ui/comboboxex.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
comboboxex.cpp File Reference
-
-
-
#include "comboboxex.h"
-#include "project/undo.h"
-#include "panels/project.h"
-#include "mainwindow.h"
-#include <QUndoCommand>
-#include <QWheelEvent>
-
- - - -

-Classes

class  ComboBoxExCommand
 
-
- - - - diff --git a/docs/html/comboboxex_8h.html b/docs/html/comboboxex_8h.html deleted file mode 100644 index c0d568b12..000000000 --- a/docs/html/comboboxex_8h.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: ui/comboboxex.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
comboboxex.h File Reference
-
-
-
#include <QComboBox>
-#include <QDebug>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  ComboBoxEx
 
-
- - - - diff --git a/docs/html/comboboxex_8h_source.html b/docs/html/comboboxex_8h_source.html deleted file mode 100644 index 2e761f049..000000000 --- a/docs/html/comboboxex_8h_source.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: ui/comboboxex.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
comboboxex.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef COMBOBOXEX_H
22 #define COMBOBOXEX_H
23 
24 #include <QComboBox>
25 #include <QDebug>
26 
27 class ComboBoxEx : public QComboBox {
28  Q_OBJECT
29 public:
30  ComboBoxEx(QWidget* parent = 0);
31  void setCurrentIndexEx(int i);
32  void setCurrentTextEx(const QString &text);
33  int getPreviousIndex();
34 private slots:
35  void index_changed(int);
36 private:
37  int index;
39  void wheelEvent(QWheelEvent* e);
40 };
41 
42 #endif // COMBOBOXEX_H
void setCurrentIndexEx(int i)
Definition: comboboxex.cpp:58
-
void wheelEvent(QWheelEvent *e)
Definition: comboboxex.cpp:80
-
int getPreviousIndex()
Definition: comboboxex.cpp:68
-
ComboBoxEx(QWidget *parent=0)
Definition: comboboxex.cpp:54
-
Definition: comboboxex.h:27
-
void index_changed(int)
Definition: comboboxex.cpp:72
-
int index
Definition: comboboxex.h:37
-
int previousIndex
Definition: comboboxex.h:38
-
void setCurrentTextEx(const QString &text)
Definition: comboboxex.cpp:63
-
- - - - diff --git a/docs/html/config_8cpp.html b/docs/html/config_8cpp.html deleted file mode 100644 index f085d4d14..000000000 --- a/docs/html/config_8cpp.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: io/config.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
config.cpp File Reference
-
-
-
#include "config.h"
-#include <QFile>
-#include <QXmlStreamReader>
-#include <QXmlStreamWriter>
-#include "panels/project.h"
-#include "panels/panels.h"
-#include "debug.h"
-
- - - - diff --git a/docs/html/config_8h.html b/docs/html/config_8h.html deleted file mode 100644 index ebbbd229f..000000000 --- a/docs/html/config_8h.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - -Olive: io/config.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
config.h File Reference
-
-
-
#include <QString>
-
-

Go to the source code of this file.

- - - - - - - - -

-Classes

struct  Config
 The Config struct. More...
 
struct  RuntimeConfig
 The RuntimeConfig struct. More...
 
- - - -

-Namespaces

 olive
 
- - - - - - - - - - - - - - - - -

-Enumerations

enum  olive::TimecodeType { olive::kTimecodeDrop, -olive::kTimecodeNonDrop, -olive::kTimecodeFrames, -olive::kTimecodeMilliseconds - }
 The TimecodeType enum. More...
 
enum  olive::RecordingMode { olive::RECORD_MODE_MONO, -olive::RECORD_MODE_STEREO - }
 The RecordingMode enum. More...
 
enum  olive::AutoScrollMode { olive::AUTOSCROLL_NO_SCROLL, -olive::AUTOSCROLL_PAGE_SCROLL, -olive::AUTOSCROLL_SMOOTH_SCROLL - }
 The AutoScrollMode enum. More...
 
enum  olive::ProjectView { olive::PROJECT_VIEW_TREE, -olive::PROJECT_VIEW_ICON - }
 The ProjectView enum. More...
 
enum  olive::FrameQueueType { olive::FRAME_QUEUE_TYPE_FRAMES, -olive::FRAME_QUEUE_TYPE_SECONDS - }
 The FrameQueueType enum. More...
 
- - - - - - - - - - - -

-Variables

const int olive::kSaveVersion = 190219
 Version identifier for saved projects. More...
 
const int olive::kMinimumSaveVersion = 190219
 Minimum project version that this version of Olive can open. More...
 
Config olive::CurrentConfig
 
RuntimeConfig olive::CurrentRuntimeConfig
 
-
- - - - diff --git a/docs/html/config_8h_source.html b/docs/html/config_8h_source.html deleted file mode 100644 index aabb04ca0..000000000 --- a/docs/html/config_8h_source.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - -Olive: io/config.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
config.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef CONFIG_H
22 #define CONFIG_H
23 
24 #include <QString>
25 
26 namespace olive {
40  const int kSaveVersion = 190219; // YYMMDD
41 
54  const int kMinimumSaveVersion = 190219; // lowest compatible project version
55 
63  enum TimecodeType {
66 
69 
72 
75  };
76 
86 
89  };
90 
100 
104 
108  };
109 
116  enum ProjectView {
119 
122  };
123 
137 
140  };
141 }
142 
149 struct Config {
155  Config();
156 
163 
170 
177 
184 
191 
198 
205 
213 
220 
230 
237 
244 
253 
260 
268 
277 
284 
291 
299 
308 
316 
326 
336 
345 
353 
362 
373 
383 
394 
404 
412  bool loop;
413 
422 
429  QString css_path;
430 
439 
450 
459 
468 
477 
485  QString language_file;
486 
496 
503 
511 
521  void load(QString path);
522 
532  void save(QString path);
533 };
534 
547  RuntimeConfig();
548 
555 
563 
570 };
571 
572 namespace olive {
573 extern Config CurrentConfig;
575 }
576 
577 #endif // CONFIG_H
QString preferred_audio_input
Preferred audio input device.
Definition: config.h:476
-
Definition: config.h:88
-
bool enable_drag_files_to_timeline
Enable dragging files outside Olive directly into the Timeline.
Definition: config.h:259
-
RuntimeConfig CurrentRuntimeConfig
Definition: config.cpp:33
-
QString css_path
CSS Path.
Definition: config.h:429
-
Definition: config.h:103
-
bool shaders_are_enabled
Enable shaders.
Definition: config.h:554
-
Definition: config.h:139
-
bool enable_seek_to_import
Enable seek to import.
Definition: config.h:283
-
The RuntimeConfig struct.
Definition: config.h:541
-
AutoScrollMode
The AutoScrollMode enum.
Definition: config.h:97
-
bool use_custom_title_safe_ratio
Use custom title/action safe area aspect ratio.
Definition: config.h:243
-
int waveform_resolution
Waveform resolution.
Definition: config.h:495
-
Definition: config.h:71
-
double previous_queue_size
Previous frame queue size.
Definition: config.h:372
-
QString preferred_audio_output
Preferred audio output device.
Definition: config.h:467
-
bool use_software_fallback
Use software fallbacks when possible.
Definition: config.h:449
-
bool rectified_waveforms
Use rectified waveforms.
Definition: config.h:212
-
int effect_textbox_lines
Number of lines that an Effect's textbox has.
Definition: config.h:438
-
int recording_mode
Recording mode/channel layout.
Definition: config.h:276
-
TimecodeType
The TimecodeType enum.
Definition: config.h:63
-
int audio_rate
Current audio sample rate.
Definition: config.h:315
-
QString external_translation_file
Load an external translation file.
Definition: config.h:569
-
RuntimeConfig()
RuntimeConfig Constructor.
Definition: config.cpp:282
-
int project_view_type
Project view type.
Definition: config.h:344
-
Definition: debugdialog.h:39
-
int previous_queue_type
Previous frame queue type.
Definition: config.h:382
-
Definition: config.h:107
-
The Config struct.
Definition: config.h:149
-
bool show_project_toolbar
Show the project toolbar.
Definition: config.h:361
-
bool edit_tool_also_seeks
Edit tool also seeks.
Definition: config.h:183
-
Definition: config.h:99
-
QString language_file
Language/translation file.
Definition: config.h:485
-
int default_transition_length
Default transition length.
Definition: config.h:219
-
Definition: config.h:68
-
bool show_title_safe_area
Show title/action safe area.
Definition: config.h:236
-
Definition: config.h:118
-
bool scroll_zooms
The scroll wheel zooms rather than scrolls.
Definition: config.h:169
-
bool hover_focus
Enable hover focus.
Definition: config.h:335
-
Definition: config.h:85
-
bool paste_seeks
Paste also seeks.
Definition: config.h:197
-
int autoscroll
Auto-scroll mode.
Definition: config.h:307
-
bool disable_blending
Disable blending modes.
Definition: config.h:562
-
Config()
Config Constructor.
Definition: config.cpp:35
-
bool autoscale_by_default
Auto-scale by default.
Definition: config.h:267
-
int upcoming_queue_type
Upcoming frame queue type.
Definition: config.h:403
-
bool show_track_lines
Show track lines.
Definition: config.h:162
-
QString img_seq_formats
Image sequence formats.
Definition: config.h:204
-
bool enable_audio_scrubbing
Enable audio scrubbing.
Definition: config.h:290
-
Definition: config.h:65
-
double custom_title_safe_ratio
Custom title/action safe area aspect ratio.
Definition: config.h:252
-
bool center_timeline_timecodes
Center Timeline timecodes.
Definition: config.h:458
-
Definition: config.h:74
-
double upcoming_queue_size
Upcoming frame queue size.
Definition: config.h:393
-
Config CurrentConfig
Definition: config.cpp:32
-
FrameQueueType
The FrameQueueType enum.
Definition: config.h:134
-
const int kMinimumSaveVersion
Minimum project version that this version of Olive can open.
Definition: config.h:54
-
Definition: config.h:121
-
RecordingMode
The RecordingMode enum.
Definition: config.h:83
-
Definition: config.h:136
-
bool set_name_with_marker
Ask for a marker name when setting a marker.
Definition: config.h:352
-
bool add_default_effects_to_clips
Add default effects to clips.
Definition: config.h:510
-
bool edit_tool_selects_links
Edit tool selects links.
Definition: config.h:176
-
void load(QString path)
Load config from file.
Definition: config.cpp:76
-
void save(QString path)
Save config to file.
Definition: config.cpp:221
-
ProjectView
The ProjectView enum.
Definition: config.h:116
-
bool drop_on_media_to_replace
Enable drop on media to replace.
Definition: config.h:298
-
bool fast_seeking
Enable fast seeking.
Definition: config.h:325
-
bool select_also_seeks
Selecting also seeks.
Definition: config.h:190
-
int timecode_view
Timecode display mode.
Definition: config.h:229
-
bool loop
Loop.
Definition: config.h:412
-
bool seek_also_selects
Seeking also selects.
Definition: config.h:421
-
const int kSaveVersion
Version identifier for saved projects.
Definition: config.h:40
-
int thumbnail_resolution
Thumbnail resolution.
Definition: config.h:502
-
- - - - diff --git a/docs/html/cornerpineffect_8cpp.html b/docs/html/cornerpineffect_8cpp.html deleted file mode 100644 index 078c5063a..000000000 --- a/docs/html/cornerpineffect_8cpp.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: effects/internal/cornerpineffect.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
cornerpineffect.cpp File Reference
-
-
-
#include "cornerpineffect.h"
-#include "io/path.h"
-#include "project/clip.h"
-#include "debug.h"
-
- - - - diff --git a/docs/html/cornerpineffect_8h.html b/docs/html/cornerpineffect_8h.html deleted file mode 100644 index 65cfdc401..000000000 --- a/docs/html/cornerpineffect_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/cornerpineffect.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
cornerpineffect.h File Reference
-
-
-
#include "project/effect.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  CornerPinEffect
 
-
- - - - diff --git a/docs/html/cornerpineffect_8h_source.html b/docs/html/cornerpineffect_8h_source.html deleted file mode 100644 index 9aa0fe757..000000000 --- a/docs/html/cornerpineffect_8h_source.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Olive: effects/internal/cornerpineffect.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
cornerpineffect.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef CORNERPINEFFECT_H
22 #define CORNERPINEFFECT_H
23 
24 #include "project/effect.h"
25 
26 class CornerPinEffect : public Effect {
27  Q_OBJECT
28 public:
29  CornerPinEffect(ClipPtr c, const EffectMeta* em);
30  void process_coords(double timecode, GLTextureCoords& coords, int data);
31  void process_shader(double timecode, GLTextureCoords& coords, int iterations);
32  void gizmo_draw(double timecode, GLTextureCoords& coords);
33 private:
43 
48 };
49 
50 #endif // CORNERPINEFFECT_H
EffectGizmo * top_left_gizmo
Definition: cornerpineffect.h:44
-
Definition: effect.h:128
-
EffectField * bottom_left_x
Definition: cornerpineffect.h:38
-
void process_shader(double timecode, GLTextureCoords &coords, int iterations)
Definition: cornerpineffect.cpp:84
-
Definition: effect.h:169
-
EffectField * top_right_x
Definition: cornerpineffect.h:36
- -
Definition: effect.h:50
-
CornerPinEffect(ClipPtr c, const EffectMeta *em)
Definition: cornerpineffect.cpp:27
-
void process_coords(double timecode, GLTextureCoords &coords, int data)
Definition: cornerpineffect.cpp:70
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
EffectField * top_right_y
Definition: cornerpineffect.h:37
-
int iterations
Definition: effect.h:262
-
EffectField * bottom_right_x
Definition: cornerpineffect.h:40
-
Definition: effectgizmo.h:41
-
Definition: cornerpineffect.h:26
-
EffectGizmo * bottom_right_gizmo
Definition: cornerpineffect.h:47
-
EffectField * top_left_x
Definition: cornerpineffect.h:34
-
EffectGizmo * top_right_gizmo
Definition: cornerpineffect.h:45
-
EffectGizmo * bottom_left_gizmo
Definition: cornerpineffect.h:46
-
EffectField * top_left_y
Definition: cornerpineffect.h:35
-
Definition: effectfield.h:43
-
EffectField * perspective
Definition: cornerpineffect.h:42
-
void gizmo_draw(double timecode, GLTextureCoords &coords)
Definition: cornerpineffect.cpp:92
-
EffectField * bottom_right_y
Definition: cornerpineffect.h:41
-
EffectField * bottom_left_y
Definition: cornerpineffect.h:39
-
- - - - diff --git a/docs/html/crc32_8h_source.html b/docs/html/crc32_8h_source.html deleted file mode 100644 index 78f4f92ad..000000000 --- a/docs/html/crc32_8h_source.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: io/crc32.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
crc32.h
-
-
-
1 #ifndef CRC32_H
2 #define CRC32_H
3 
4 /*
5  * +-------------------------------------------------------------+
6  * | Taken from github.com/nusov/qt-crc32 used under MIT license |
7  * | |
8  * | Copyright (c) Alexander Nusov 2015 |
9  * +-------------------------------------------------------------+
10  */
11 
12 #include <QtCore>
13 #include <QString>
14 #include <QMap>
15 
16 class Crc32
17 {
18 private:
19  quint32 crc_table[256];
20  QMap<int, quint32> instances;
21 
22 public:
23  Crc32();
24 
25  quint32 calculateFromFile(QString filename);
26 
27  void initInstance(int i);
28  void pushData(int i, char *data, int len);
29  quint32 releaseInstance(int i);
30 };
31 
32 #endif // CRC32_H
Definition: crc32.h:16
-
- - - - diff --git a/docs/html/crossdissolvetransition_8cpp.html b/docs/html/crossdissolvetransition_8cpp.html deleted file mode 100644 index 38bb22742..000000000 --- a/docs/html/crossdissolvetransition_8cpp.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: effects/internal/crossdissolvetransition.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
crossdissolvetransition.cpp File Reference
-
-
-
#include "crossdissolvetransition.h"
-#include <QOpenGLFunctions>
-
- - - - diff --git a/docs/html/crossdissolvetransition_8h.html b/docs/html/crossdissolvetransition_8h.html deleted file mode 100644 index a65429761..000000000 --- a/docs/html/crossdissolvetransition_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/crossdissolvetransition.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
crossdissolvetransition.h File Reference
-
- - - - - diff --git a/docs/html/crossdissolvetransition_8h_source.html b/docs/html/crossdissolvetransition_8h_source.html deleted file mode 100644 index b72f049b3..000000000 --- a/docs/html/crossdissolvetransition_8h_source.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: effects/internal/crossdissolvetransition.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
crossdissolvetransition.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef CROSSDISSOLVETRANSITION_H
22 #define CROSSDISSOLVETRANSITION_H
23 
24 #include "project/transition.h"
25 
27 public:
29  void process_coords(double timecode, GLTextureCoords &, int data);
30 };
31 
32 #endif // CROSSDISSOLVETRANSITION_H
-
Definition: effect.h:128
-
Definition: effect.h:50
-
CrossDissolveTransition(ClipPtr c, ClipPtr s, const EffectMeta *em)
Definition: crossdissolvetransition.cpp:25
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
void process_coords(double timecode, GLTextureCoords &, int data)
Definition: crossdissolvetransition.cpp:31
-
Definition: crossdissolvetransition.h:26
-
Definition: transition.h:48
-
- - - - diff --git a/docs/html/crossplatformlib_8cpp.html b/docs/html/crossplatformlib_8cpp.html deleted file mode 100644 index 456db5100..000000000 --- a/docs/html/crossplatformlib_8cpp.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - -Olive: io/crossplatformlib.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
crossplatformlib.cpp File Reference
-
-
-
#include "crossplatformlib.h"
-#include <QDebug>
-
- - - - - -

-Functions

ModulePtr LibLoad (const QString &filename)
 
QStringList LibFilter ()
 
-

Function Documentation

- -

◆ LibFilter()

- -
-
- - - - - - - -
QStringList LibFilter ()
-
- -
-
- -

◆ LibLoad()

- -
-
- - - - - - - - -
ModulePtr LibLoad (const QString & filename)
-
- -
-
-
- - - - diff --git a/docs/html/crossplatformlib_8h.html b/docs/html/crossplatformlib_8h.html deleted file mode 100644 index df68bc1d5..000000000 --- a/docs/html/crossplatformlib_8h.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Olive: io/crossplatformlib.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
crossplatformlib.h File Reference
-
-
-
#include <QString>
-
-

Go to the source code of this file.

- - - - - - -

-Functions

ModulePtr LibLoad (const QString &filename)
 
QStringList LibFilter ()
 
-

Function Documentation

- -

◆ LibFilter()

- -
-
- - - - - - - -
QStringList LibFilter ()
-
- -
-
- -

◆ LibLoad()

- -
-
- - - - - - - - -
ModulePtr LibLoad (const QString & filename)
-
- -
-
-
- - - - diff --git a/docs/html/crossplatformlib_8h_source.html b/docs/html/crossplatformlib_8h_source.html deleted file mode 100644 index fba88c9cc..000000000 --- a/docs/html/crossplatformlib_8h_source.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: io/crossplatformlib.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
crossplatformlib.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef CROSSPLATFORMLIB_H
22 #define CROSSPLATFORMLIB_H
23 
24 #include <QString>
25 
26 #ifdef _WIN32
27  #include <Windows.h>
28  #define LibAddress GetProcAddress
29  #define LibClose FreeModule
30  #define ModulePtr HMODULE
31 #elif defined(__linux__) || defined(__APPLE__)
32  #include <dlfcn.h>
33  #define LibAddress dlsym
34  #define LibClose dlclose
35  #define ModulePtr void*
36 #endif
37 
38 ModulePtr LibLoad(const QString& filename);
39 QStringList LibFilter();
40 
41 #ifdef __APPLE__
42 #include <CoreFoundation/CoreFoundation.h>
43 class NSWindow;
44 
45 CFBundleRef BundleLoad(const QString& filename);
46 void BundleClose(CFBundleRef bundle);
47 #endif
48 
49 #endif // CROSSPLATFORMLIB_H
ModulePtr LibLoad(const QString &filename)
Definition: crossplatformlib.cpp:25
-
QStringList LibFilter()
Definition: crossplatformlib.cpp:37
-
- - - - diff --git a/docs/html/cubetransition_8cpp.html b/docs/html/cubetransition_8cpp.html deleted file mode 100644 index 9ec617b7b..000000000 --- a/docs/html/cubetransition_8cpp.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: effects/internal/cubetransition.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
cubetransition.cpp File Reference
-
-
-
#include "cubetransition.h"
-#include "debug.h"
-
- - - - diff --git a/docs/html/cubetransition_8h.html b/docs/html/cubetransition_8h.html deleted file mode 100644 index 6f6cfd504..000000000 --- a/docs/html/cubetransition_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/cubetransition.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
cubetransition.h File Reference
-
-
- -

Go to the source code of this file.

- - - - -

-Classes

class  CubeTransition
 
-
- - - - diff --git a/docs/html/cubetransition_8h_source.html b/docs/html/cubetransition_8h_source.html deleted file mode 100644 index 748e6785f..000000000 --- a/docs/html/cubetransition_8h_source.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: effects/internal/cubetransition.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
cubetransition.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef CUBETRANSITION_H
22 #define CUBETRANSITION_H
23 
24 #include "project/transition.h"
25 
26 class CubeTransition : public Transition {
27 public:
28  CubeTransition(ClipPtr c, ClipPtr s, const EffectMeta* em);
29  void process_coords(double timecode, GLTextureCoords &, int data);
30 };
31 
32 #endif // CUBETRANSITION_H
-
Definition: effect.h:128
-
void process_coords(double timecode, GLTextureCoords &, int data)
Definition: cubetransition.cpp:29
-
Definition: effect.h:50
-
Definition: cubetransition.h:26
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
CubeTransition(ClipPtr c, ClipPtr s, const EffectMeta *em)
Definition: cubetransition.cpp:25
-
Definition: transition.h:48
-
- - - - diff --git a/docs/html/cursors_8cpp.html b/docs/html/cursors_8cpp.html deleted file mode 100644 index fdacbb579..000000000 --- a/docs/html/cursors_8cpp.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - -Olive: ui/cursors.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
cursors.cpp File Reference
-
-
-
#include "cursors.h"
-#include <QPixmap>
-#include <QCursor>
-#include <QDebug>
-
- - - - - -

-Functions

QCursor load_cursor (const QString &file, int hotX, int hotY, const bool &right_aligned)
 
void init_custom_cursors ()
 
-

Function Documentation

- -

◆ init_custom_cursors()

- -
-
- - - - - - - -
void init_custom_cursors ()
-
- -
-
- -

◆ load_cursor()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
QCursor load_cursor (const QString & file,
int hotX,
int hotY,
const bool & right_aligned 
)
-
- -
-
-
- - - - diff --git a/docs/html/cursors_8h.html b/docs/html/cursors_8h.html deleted file mode 100644 index 678436115..000000000 --- a/docs/html/cursors_8h.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Olive: ui/cursors.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
cursors.h File Reference
-
-
-
#include <QCursor>
-
-

Go to the source code of this file.

- - - - -

-Namespaces

 olive
 
- - - -

-Functions

void init_custom_cursors ()
 
- - - - - -

-Variables

QCursor olive::Cursor_LeftTrim
 
QCursor olive::Cursor_RightTrim
 
-

Function Documentation

- -

◆ init_custom_cursors()

- -
-
- - - - - - - -
void init_custom_cursors ()
-
- -
-
-
- - - - diff --git a/docs/html/cursors_8h_source.html b/docs/html/cursors_8h_source.html deleted file mode 100644 index 98e2e1ecc..000000000 --- a/docs/html/cursors_8h_source.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: ui/cursors.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
cursors.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef CURSORS_H
22 #define CURSORS_H
23 
24 #include <QCursor>
25 
26 void init_custom_cursors();
27 
28 namespace olive{
29  extern QCursor Cursor_LeftTrim;
30  extern QCursor Cursor_RightTrim;
31 }
32 
33 #endif // CURSORS_H
void init_custom_cursors()
Definition: cursors.cpp:44
-
QCursor Cursor_RightTrim
Definition: cursors.cpp:29
-
Definition: debugdialog.h:39
-
QCursor Cursor_LeftTrim
Definition: cursors.cpp:28
-
- - - - diff --git a/docs/html/debug_8cpp.html b/docs/html/debug_8cpp.html deleted file mode 100644 index 6bafcbf44..000000000 --- a/docs/html/debug_8cpp.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - - -Olive: debug.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
debug.cpp File Reference
-
-
-
#include "debug.h"
-#include <QFile>
-#include <QDateTime>
-#include <QStandardPaths>
-#include <QDir>
-#include <QMutex>
-#include "dialogs/debugdialog.h"
-
- - - - - - - - - -

-Functions

void open_debug_file ()
 
void close_debug_file ()
 
void debug_message_handler (QtMsgType type, const QMessageLogContext &context, const QString &msg)
 
const QString & get_debug_str ()
 
- - - - - - - - - -

-Variables

QString debug_info
 
QMutex debug_mutex
 
QFile debug_file
 
QTextStream debug_stream
 
-

Function Documentation

- -

◆ close_debug_file()

- -
-
- - - - - - - -
void close_debug_file ()
-
- -
-
- -

◆ debug_message_handler()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void debug_message_handler (QtMsgType type,
const QMessageLogContext & context,
const QString & msg 
)
-
- -
-
- -

◆ get_debug_str()

- -
-
- - - - - - - -
const QString& get_debug_str ()
-
- -
-
- -

◆ open_debug_file()

- -
-
- - - - - - - -
void open_debug_file ()
-
- -
-
-

Variable Documentation

- -

◆ debug_file

- -
-
- - - - -
QFile debug_file
-
- -
-
- -

◆ debug_info

- -
-
- - - - -
QString debug_info
-
- -
-
- -

◆ debug_mutex

- -
-
- - - - -
QMutex debug_mutex
-
- -
-
- -

◆ debug_stream

- -
-
- - - - -
QTextStream debug_stream
-
- -
-
-
- - - - diff --git a/docs/html/debug_8h.html b/docs/html/debug_8h.html deleted file mode 100644 index 2d03a97f1..000000000 --- a/docs/html/debug_8h.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - -Olive: debug.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
debug.h File Reference
-
-
-
#include <QDebug>
-
-

Go to the source code of this file.

- - - - -

-Macros

#define dout   qDebug()
 
- - - - - - - - - -

-Functions

void debug_message_handler (QtMsgType type, const QMessageLogContext &context, const QString &msg)
 
const QString & get_debug_str ()
 
void open_debug_file ()
 
void close_debug_file ()
 
-

Macro Definition Documentation

- -

◆ dout

- -
-
- - - - -
#define dout   qDebug()
-
- -
-
-

Function Documentation

- -

◆ close_debug_file()

- -
-
- - - - - - - -
void close_debug_file ()
-
- -
-
- -

◆ debug_message_handler()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void debug_message_handler (QtMsgType type,
const QMessageLogContext & context,
const QString & msg 
)
-
- -
-
- -

◆ get_debug_str()

- -
-
- - - - - - - -
const QString& get_debug_str ()
-
- -
-
- -

◆ open_debug_file()

- -
-
- - - - - - - -
void open_debug_file ()
-
- -
-
-
- - - - diff --git a/docs/html/debug_8h_source.html b/docs/html/debug_8h_source.html deleted file mode 100644 index 3d3b62b2c..000000000 --- a/docs/html/debug_8h_source.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - -Olive: debug.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
debug.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef DEBUG_H
22 #define DEBUG_H
23 
24 #include <QDebug>
25 
26 void debug_message_handler(QtMsgType type, const QMessageLogContext &context, const QString &msg);
27 const QString& get_debug_str();
28 void open_debug_file();
29 void close_debug_file();
30 
31 #define dout qDebug()
32 
33 #endif // DEBUG_H
void debug_message_handler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
Definition: debug.cpp:56
-
void open_debug_file()
Definition: debug.cpp:36
-
void close_debug_file()
Definition: debug.cpp:49
-
const QString & get_debug_str()
Definition: debug.cpp:106
-
- - - - diff --git a/docs/html/debugdialog_8cpp.html b/docs/html/debugdialog_8cpp.html deleted file mode 100644 index 028f46933..000000000 --- a/docs/html/debugdialog_8cpp.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Olive: dialogs/debugdialog.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
debugdialog.cpp File Reference
-
-
-
#include "debugdialog.h"
-#include <QTextEdit>
-#include <QVBoxLayout>
-#include <QScrollBar>
-#include "debug.h"
-
- - - - diff --git a/docs/html/debugdialog_8h.html b/docs/html/debugdialog_8h.html deleted file mode 100644 index 0d9378334..000000000 --- a/docs/html/debugdialog_8h.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Olive: dialogs/debugdialog.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
debugdialog.h File Reference
-
-
-
#include <QDialog>
-#include <QTextEdit>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  DebugDialog
 
- - - -

-Namespaces

 olive
 
- - - -

-Variables

DebugDialogolive::DebugDialog = nullptr
 
-
- - - - diff --git a/docs/html/debugdialog_8h_source.html b/docs/html/debugdialog_8h_source.html deleted file mode 100644 index 467ecdb4a..000000000 --- a/docs/html/debugdialog_8h_source.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: dialogs/debugdialog.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
debugdialog.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef DEBUGDIALOG_H
22 #define DEBUGDIALOG_H
23 
24 #include <QDialog>
25 #include <QTextEdit>
26 
27 class DebugDialog : public QDialog {
28  Q_OBJECT
29 public:
30  DebugDialog(QWidget* parent = 0);
31 public slots:
32  void update_log();
33 protected:
34  void showEvent(QShowEvent* event);
35 private:
36  QTextEdit* textEdit;
37 };
38 
39 namespace olive {
40  extern DebugDialog* DebugDialog;
41 }
42 
43 #endif // DEBUGDIALOG_H
void update_log()
Definition: debugdialog.cpp:41
-
Definition: debugdialog.h:39
-
DebugDialog * DebugDialog
Definition: debugdialog.cpp:29
-
Definition: debugdialog.h:27
-
void showEvent(QShowEvent *event)
Definition: debugdialog.cpp:46
-
QTextEdit * textEdit
Definition: debugdialog.h:36
-
DebugDialog(QWidget *parent=0)
Definition: debugdialog.cpp:31
-
- - - - diff --git a/docs/html/demonotice_8cpp.html b/docs/html/demonotice_8cpp.html deleted file mode 100644 index 060db2fac..000000000 --- a/docs/html/demonotice_8cpp.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: dialogs/demonotice.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
demonotice.cpp File Reference
-
-
-
#include "demonotice.h"
-#include <QHBoxLayout>
-#include <QLabel>
-#include <QDialogButtonBox>
-
- - - - diff --git a/docs/html/demonotice_8h.html b/docs/html/demonotice_8h.html deleted file mode 100644 index 2fe8b0e75..000000000 --- a/docs/html/demonotice_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: dialogs/demonotice.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
demonotice.h File Reference
-
-
-
#include <QDialog>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  DemoNotice
 
-
- - - - diff --git a/docs/html/demonotice_8h_source.html b/docs/html/demonotice_8h_source.html deleted file mode 100644 index 0936bc0ac..000000000 --- a/docs/html/demonotice_8h_source.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: dialogs/demonotice.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
demonotice.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef DEMONOTICE_H
22 #define DEMONOTICE_H
23 
24 #include <QDialog>
25 
26 class DemoNotice : public QDialog
27 {
28  Q_OBJECT
29 public:
30  explicit DemoNotice(QWidget *parent = 0);
31 };
32 
33 #endif // DEMONOTICE_H
Definition: demonotice.h:26
-
DemoNotice(QWidget *parent=0)
Definition: demonotice.cpp:27
-
- - - - diff --git a/docs/html/dir_167790342fb55959539d550b874be046.html b/docs/html/dir_167790342fb55959539d550b874be046.html deleted file mode 100644 index bd1f3a741..000000000 --- a/docs/html/dir_167790342fb55959539d550b874be046.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - -Olive: project Directory Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
project Directory Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  clip.cpp
 
file  clip.h [code]
 
file  comboaction.cpp
 
file  comboaction.h [code]
 
file  effect.cpp
 
file  effect.h [code]
 
file  effectfield.cpp
 
file  effectfield.h [code]
 
file  effectgizmo.cpp
 
file  effectgizmo.h [code]
 
file  effectloaders.cpp
 
file  effectloaders.h [code]
 
file  effectrow.cpp
 
file  effectrow.h [code]
 
file  footage.cpp
 
file  footage.h [code]
 
file  keyframe.cpp
 
file  keyframe.h [code]
 
file  marker.cpp
 
file  marker.h [code]
 
file  media.cpp
 
file  media.h [code]
 
file  projectelements.h [code]
 
file  projectfilter.cpp
 
file  projectfilter.h [code]
 
file  projectmodel.cpp
 
file  projectmodel.h [code]
 
file  selection.h [code]
 
file  sequence.cpp
 
file  sequence.h [code]
 
file  sourcescommon.cpp
 
file  sourcescommon.h [code]
 
file  transition.cpp
 
file  transition.h [code]
 
file  undo.cpp
 
file  undo.h [code]
 
-
- - - - diff --git a/docs/html/dir_1788f8309b1a812dcb800a185471cf6c.html b/docs/html/dir_1788f8309b1a812dcb800a185471cf6c.html deleted file mode 100644 index 597c9662a..000000000 --- a/docs/html/dir_1788f8309b1a812dcb800a185471cf6c.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - -Olive: ui Directory Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
ui Directory Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  audiomonitor.cpp
 
file  audiomonitor.h [code]
 
file  checkboxex.cpp
 
file  checkboxex.h [code]
 
file  clickablelabel.cpp
 
file  clickablelabel.h [code]
 
file  collapsiblewidget.cpp
 
file  collapsiblewidget.h [code]
 
file  colorbutton.cpp
 
file  colorbutton.h [code]
 
file  comboboxex.cpp
 
file  comboboxex.h [code]
 
file  cursors.cpp
 
file  cursors.h [code]
 
file  embeddedfilechooser.cpp
 
file  embeddedfilechooser.h [code]
 
file  flowlayout.cpp
 
file  flowlayout.h [code]
 
file  focusfilter.cpp
 
file  focusfilter.h [code]
 
file  fontcombobox.cpp
 
file  fontcombobox.h [code]
 
file  graphview.cpp
 
file  graphview.h [code]
 
file  keyframedrawing.cpp
 
file  keyframedrawing.h [code]
 
file  keyframenavigator.cpp
 
file  keyframenavigator.h [code]
 
file  keyframeview.cpp
 
file  keyframeview.h [code]
 
file  labelslider.cpp
 
file  labelslider.h [code]
 
file  mediaiconservice.cpp
 
file  mediaiconservice.h [code]
 
file  menuhelper.cpp
 
file  menuhelper.h [code]
 
file  otreeview.cpp
 
file  otreeview.h [code]
 
file  panel.cpp
 
file  panel.h [code]
 
file  playbutton.cpp
 
file  playbutton.h [code]
 
file  rectangleselect.cpp
 
file  rectangleselect.h [code]
 
file  renderfunctions.cpp
 
file  renderfunctions.h [code]
 
file  renderthread.cpp
 
file  renderthread.h [code]
 
file  resizablescrollbar.cpp
 
file  resizablescrollbar.h [code]
 
file  scrollarea.cpp
 
file  scrollarea.h [code]
 
file  sourceiconview.cpp
 
file  sourceiconview.h [code]
 
file  sourcetable.cpp
 
file  sourcetable.h [code]
 
file  texteditex.cpp
 
file  texteditex.h [code]
 
file  timelineheader.cpp
 
file  timelineheader.h [code]
 
file  timelinetools.h [code]
 
file  timelinewidget.cpp
 
file  timelinewidget.h [code]
 
file  viewercontainer.cpp
 
file  viewercontainer.h [code]
 
file  viewerwidget.cpp
 
file  viewerwidget.h [code]
 
file  viewerwindow.cpp
 
file  viewerwindow.h [code]
 
-
- - - - diff --git a/docs/html/dir_1e3623b91baed642ec07bb16fd2f1d1e.html b/docs/html/dir_1e3623b91baed642ec07bb16fd2f1d1e.html deleted file mode 100644 index 19e32b68e..000000000 --- a/docs/html/dir_1e3623b91baed642ec07bb16fd2f1d1e.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: packaging/windows Directory Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
windows Directory Reference
-
-
- - - - -

-Files

file  version.h [code]
 
-
- - - - diff --git a/docs/html/dir_27557e0778820cd254ee4de672ad398a.html b/docs/html/dir_27557e0778820cd254ee4de672ad398a.html deleted file mode 100644 index 32c28225b..000000000 --- a/docs/html/dir_27557e0778820cd254ee4de672ad398a.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Olive: panels Directory Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
panels Directory Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  effectcontrols.cpp
 
file  effectcontrols.h [code]
 
file  grapheditor.cpp
 
file  grapheditor.h [code]
 
file  panels.cpp
 
file  panels.h [code]
 
file  project.cpp
 
file  project.h [code]
 
file  timeline.cpp
 
file  timeline.h [code]
 
file  viewer.cpp
 
file  viewer.h [code]
 
-
- - - - diff --git a/docs/html/dir_56b9387f66bbb1dccc82a920d3dbd989.html b/docs/html/dir_56b9387f66bbb1dccc82a920d3dbd989.html deleted file mode 100644 index 486fd2e63..000000000 --- a/docs/html/dir_56b9387f66bbb1dccc82a920d3dbd989.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - -Olive: dialogs Directory Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
dialogs Directory Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  aboutdialog.cpp
 
file  aboutdialog.h [code]
 
file  actionsearch.cpp
 
file  actionsearch.h [code]
 
file  advancedvideodialog.cpp
 
file  advancedvideodialog.h [code]
 
file  debugdialog.cpp
 
file  debugdialog.h [code]
 
file  demonotice.cpp
 
file  demonotice.h [code]
 
file  exportdialog.cpp
 
file  exportdialog.h [code]
 
file  loaddialog.cpp
 
file  loaddialog.h [code]
 
file  mediapropertiesdialog.cpp
 
file  mediapropertiesdialog.h [code]
 
file  newsequencedialog.cpp
 
file  newsequencedialog.h [code]
 
file  preferencesdialog.cpp
 
file  preferencesdialog.h [code]
 
file  proxydialog.cpp
 
file  proxydialog.h [code]
 
file  replaceclipmediadialog.cpp
 
file  replaceclipmediadialog.h [code]
 
file  speeddialog.cpp
 
file  speeddialog.h [code]
 
file  texteditdialog.cpp
 
file  texteditdialog.h [code]
 
-
- - - - diff --git a/docs/html/dir_63bb297c276a119495816091bcd678e9.html b/docs/html/dir_63bb297c276a119495816091bcd678e9.html deleted file mode 100644 index e71dcb8ee..000000000 --- a/docs/html/dir_63bb297c276a119495816091bcd678e9.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: effects Directory Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
effects Directory Reference
-
-
- - - - -

-Directories

directory  internal
 
-
- - - - diff --git a/docs/html/dir_6bd69bfe0c8411ea8cfb86495c1153f0.html b/docs/html/dir_6bd69bfe0c8411ea8cfb86495c1153f0.html deleted file mode 100644 index fbdadd571..000000000 --- a/docs/html/dir_6bd69bfe0c8411ea8cfb86495c1153f0.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - -Olive: effects/internal Directory Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
internal Directory Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  audionoiseeffect.cpp
 
file  audionoiseeffect.h [code]
 
file  cornerpineffect.cpp
 
file  cornerpineffect.h [code]
 
file  crossdissolvetransition.cpp
 
file  crossdissolvetransition.h [code]
 
file  cubetransition.cpp
 
file  cubetransition.h [code]
 
file  exponentialfadetransition.cpp
 
file  exponentialfadetransition.h [code]
 
file  fillleftrighteffect.cpp
 
file  fillleftrighteffect.h [code]
 
file  frei0reffect.cpp
 
file  frei0reffect.h [code]
 
file  linearfadetransition.cpp
 
file  linearfadetransition.h [code]
 
file  logarithmicfadetransition.cpp
 
file  logarithmicfadetransition.h [code]
 
file  paneffect.cpp
 
file  paneffect.h [code]
 
file  shakeeffect.cpp
 
file  shakeeffect.h [code]
 
file  solideffect.cpp
 
file  solideffect.h [code]
 
file  texteffect.cpp
 
file  texteffect.h [code]
 
file  timecodeeffect.cpp
 
file  timecodeeffect.h [code]
 
file  toneeffect.cpp
 
file  toneeffect.h [code]
 
file  transformeffect.cpp
 
file  transformeffect.h [code]
 
file  voideffect.cpp
 
file  voideffect.h [code]
 
file  volumeeffect.cpp
 
file  volumeeffect.h [code]
 
file  vsthost.cpp
 
file  vsthost.h [code]
 
-
- - - - diff --git a/docs/html/dir_93d4afa98ce66159f3265f6d5a9de4f5.html b/docs/html/dir_93d4afa98ce66159f3265f6d5a9de4f5.html deleted file mode 100644 index 1e9ea7a61..000000000 --- a/docs/html/dir_93d4afa98ce66159f3265f6d5a9de4f5.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Olive: playback Directory Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
playback Directory Reference
-
-
- - - - - - - - - - - - - - -

-Files

file  audio.cpp
 
file  audio.h [code]
 
file  cacher.cpp
 
file  cacher.h [code]
 
file  playback.cpp
 
file  playback.h [code]
 
-
- - - - diff --git a/docs/html/dir_bc161955dc3a3d2485839eba21420d01.html b/docs/html/dir_bc161955dc3a3d2485839eba21420d01.html deleted file mode 100644 index 82e41a0f5..000000000 --- a/docs/html/dir_bc161955dc3a3d2485839eba21420d01.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Olive: io Directory Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
io Directory Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  clipboard.cpp
 
file  clipboard.h [code]
 
file  config.cpp
 
file  config.h [code]
 
file  crossplatformlib.cpp
 
file  crossplatformlib.h [code]
 
file  exportthread.cpp
 
file  exportthread.h [code]
 
file  loadthread.cpp
 
file  loadthread.h [code]
 
file  math.cpp
 
file  math.h [code]
 
file  path.cpp
 
file  path.h [code]
 
file  previewgenerator.cpp
 
file  previewgenerator.h [code]
 
file  proxygenerator.cpp
 
file  proxygenerator.h [code]
 
file  qpainterwrapper.cpp
 
file  qpainterwrapper.h [code]
 
-
- - - - diff --git a/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html deleted file mode 100644 index 3d66f7df4..000000000 --- a/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: include Directory Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
include Directory Reference
-
-
- - - - -

-Files

file  vestige.h [code]
 
-
- - - - diff --git a/docs/html/dir_f2b58c5fe1af6bdc9904c8245e307f38.html b/docs/html/dir_f2b58c5fe1af6bdc9904c8245e307f38.html deleted file mode 100644 index 7ca23a194..000000000 --- a/docs/html/dir_f2b58c5fe1af6bdc9904c8245e307f38.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: packaging Directory Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
packaging Directory Reference
-
-
- - - - -

-Directories

directory  windows
 
-
- - - - diff --git a/docs/html/doc.png b/docs/html/doc.png deleted file mode 100644 index 17edabff9..000000000 Binary files a/docs/html/doc.png and /dev/null differ diff --git a/docs/html/doxygen.css b/docs/html/doxygen.css deleted file mode 100644 index e2515926c..000000000 --- a/docs/html/doxygen.css +++ /dev/null @@ -1,1764 +0,0 @@ -/* The standard CSS for doxygen 1.8.15 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; -} - -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; -} - -/* @group Heading Levels */ - -h1.groupheader { - font-size: 150%; -} - -.title { - font: 400 14px/28px Roboto,sans-serif; - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd { - margin-top: 2px; -} - -p.starttd { - margin-top: 0px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -p.interli { -} - -p.interdd { -} - -p.intertd { -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #FFFFFF; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #FFFFFF; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; -} - -a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -ul { - overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ -} - -#side-nav ul { - overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ -} - -#main-nav ul { - overflow: visible; /* reset ul rule for the navigation bar drop down lists */ -} - -.fragment { - text-align: left; - direction: ltr; - overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ - overflow-y: hidden; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; -} - -div.fragment { - padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; -} - -div.line { - font-family: monospace, fixed; - font-size: 13px; - min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line:after { - content:"\000A"; - white-space: pre; -} - -div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; -} - - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; -} -span.lineno a { - background-color: #D8D8D8; -} - -span.lineno a:hover { - background-color: #C8C8C8; -} - -.lineno { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #FFFFFF; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); -} - -div.classindex ul { - list-style: none; - padding-left: 0; -} - -div.classindex span.ai { - display: inline-block; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl, img.inline { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -blockquote.DocNodeRTL { - border-left: 0; - border-right: 2px solid #9CAFD4; - margin: 0 4px 0 24px; - padding: 0 16px 0 12px; -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memSeparator { - border-bottom: 1px solid #DEE4F0; - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtitle { - padding: 8px; - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - border-top-right-radius: 4px; - border-top-left-radius: 4px; - margin-bottom: -1px; - background-image: url('nav_f.png'); - background-repeat: repeat-x; - background-color: #E2E8F2; - line-height: 1.25; - font-weight: 300; - float:left; -} - -.permalink -{ - font-size: 65%; - display: inline-block; - vertical-align: middle; -} - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px cyan; -} - -.memname { - font-weight: 400; - margin-left: 6px; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #DFE5F1; - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - -} - -.overload { - font-family: "courier new",courier,monospace; - font-size: 65%; -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 10px 2px 10px; - background-color: #FBFCFD; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: #FFFFFF; - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} -.paramname code { - line-height: 14px; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname, .tparams .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype, .tparams .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir, .tparams .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; - text-shadow: none; - color: white; - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view inside a (index) page */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.even { - padding-left: 6px; - background-color: #F7F8FB; -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3D578C; -} - -.arrow { - color: #9CAFD4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; -} - -.icon { - font-family: Arial, Helvetica; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: #728DC1; - color: white; - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; -} - -.icona { - width: 24px; - height: 22px; - display: inline-block; -} - -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('doc.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -table.directory { - font: 400 14px Roboto,sans-serif; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable caption { - caption-side: top; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - /*width: 100%;*/ - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; -} - -.fieldtable td.fieldname { - padding-top: 3px; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ -} - -.fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - -.fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -table.classindex -{ - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -.PageDocRTL-title div.headertitle { - text-align: right; - direction: rtl; -} - -dl { - padding: 0 0 0 0; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ -dl.section { - margin-left: 0px; - padding-left: 0px; -} - -dl.section.DocNodeRTL { - margin-right: 0px; - padding-right: 0px; -} - -dl.note { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #D0C000; -} - -dl.note.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #FF0000; -} - -dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00D000; -} - -dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00D000; -} - -dl.deprecated { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #505050; -} - -dl.deprecated.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #505050; -} - -dl.todo { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00C0E0; -} - -dl.todo.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00C0E0; -} - -dl.test { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #3030E0; -} - -dl.test.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #3030E0; -} - -dl.bug { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #C08050; -} - -dl.bug.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectalign -{ - vertical-align: middle; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.plantumlgraph -{ - text-align: center; -} - -.diagraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #90A5CE; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; -} - -dl.citelist dd { - margin:2px 0; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; -} - -.PageDocRTL-title div.toc { - float: left !important; - text-align: right; -} - -div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -.PageDocRTL-title div.toc li { - background-position-x: right !important; - padding-left: 0 !important; - padding-right: 10px; -} - -div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 30px; -} - -div.toc li.level4 { - margin-left: 45px; -} - -.PageDocRTL-title div.toc li.level1 { - margin-left: 0 !important; - margin-right: 0; -} - -.PageDocRTL-title div.toc li.level2 { - margin-left: 0 !important; - margin-right: 15px; -} - -.PageDocRTL-title div.toc li.level3 { - margin-left: 0 !important; - margin-right: 30px; -} - -.PageDocRTL-title div.toc li.level4 { - margin-left: 0 !important; - margin-right: 45px; -} - -.inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: grey; - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: #006318; -} - -#powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #FFFFFF; - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before { - border-top-color: #808080; - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #FFFFFF; - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: #FFFFFF; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: #FFFFFF; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - -/* @group Markdown */ - -/* -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.markdownTableHead tr { -} - -table.markdownTableBodyLeft td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft { - text-align: left -} - -th.markdownTableHeadRight { - text-align: right -} - -th.markdownTableHeadCenter { - text-align: center -} -*/ - -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.markdownTable tr { -} - -th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft, td.markdownTableBodyLeft { - text-align: left -} - -th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: right -} - -th.markdownTableHeadCenter, td.markdownTableBodyCenter { - text-align: center -} - -.DocNodeRTL { - text-align: right; - direction: rtl; -} - -.DocNodeLTR { - text-align: left; - direction: ltr; -} - -table.DocNodeRTL { - width: auto; - margin-right: 0; - margin-left: auto; -} - -table.DocNodeLTR { - width: auto; - margin-right: auto; - margin-left: 0; -} - -tt, code, kbd, samp -{ - display: inline-block; - direction:ltr; -} -/* @end */ - -u { - text-decoration: underline; -} - diff --git a/docs/html/doxygen.png b/docs/html/doxygen.png deleted file mode 100644 index 3ff17d807..000000000 Binary files a/docs/html/doxygen.png and /dev/null differ diff --git a/docs/html/dynsections.js b/docs/html/dynsections.js deleted file mode 100644 index ea0a7b39a..000000000 --- a/docs/html/dynsections.js +++ /dev/null @@ -1,120 +0,0 @@ -/* - @licstart The following is the entire license notice for the - JavaScript code in this file. - - Copyright (C) 1997-2017 by Dimitri van Heesch - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - @licend The above is the entire license notice - for the JavaScript code in this file - */ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); -} - -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l - - - - - - -Olive: project/effect.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
effect.cpp File Reference
-
-
-
#include "effect.h"
-#include "panels/panels.h"
-#include "panels/viewer.h"
-#include "ui/viewerwidget.h"
-#include "ui/collapsiblewidget.h"
-#include "panels/project.h"
-#include "project/undo.h"
-#include "project/sequence.h"
-#include "project/clip.h"
-#include "panels/timeline.h"
-#include "panels/effectcontrols.h"
-#include "panels/grapheditor.h"
-#include "ui/checkboxex.h"
-#include "debug.h"
-#include "io/path.h"
-#include "mainwindow.h"
-#include "io/math.h"
-#include "io/clipboard.h"
-#include "io/config.h"
-#include "transition.h"
-#include "effects/internal/transformeffect.h"
-#include "effects/internal/texteffect.h"
-#include "effects/internal/timecodeeffect.h"
-#include "effects/internal/solideffect.h"
-#include "effects/internal/audionoiseeffect.h"
-#include "effects/internal/toneeffect.h"
-#include "effects/internal/volumeeffect.h"
-#include "effects/internal/paneffect.h"
-#include "effects/internal/shakeeffect.h"
-#include "effects/internal/cornerpineffect.h"
-#include "effects/internal/vsthost.h"
-#include "effects/internal/fillleftrighteffect.h"
-#include "effects/internal/frei0reffect.h"
-#include <QCheckBox>
-#include <QGridLayout>
-#include <QXmlStreamReader>
-#include <QXmlStreamWriter>
-#include <QMessageBox>
-#include <QOpenGLContext>
-#include <QDir>
-#include <QPainter>
-#include <QtMath>
-#include <QMenu>
-#include <QApplication>
-#include <QFileDialog>
-
- - - - - - - - - - - - - -

-Functions

EffectPtr create_effect (ClipPtr c, const EffectMeta *em)
 
const EffectMetaget_internal_meta (int internal_id, int type)
 
QVariant load_data_from_string (int type, const QString &string)
 
QString save_data_to_string (int type, const QVariant &data)
 
const EffectMetaget_meta_from_name (const QString &input)
 
qint16 mix_audio_sample (qint16 a, qint16 b)
 
- - - -

-Variables

QVector< EffectMetaeffects
 
-

Function Documentation

- -

◆ create_effect()

- -
-
- - - - - - - - - - - - - - - - - - -
EffectPtr create_effect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
- -

◆ get_internal_meta()

- -
-
- - - - - - - - - - - - - - - - - - -
const EffectMeta* get_internal_meta (int internal_id,
int type 
)
-
- -
-
- -

◆ get_meta_from_name()

- -
-
- - - - - - - - -
const EffectMeta* get_meta_from_name (const QString & input)
-
- -
-
- -

◆ load_data_from_string()

- -
-
- - - - - - - - - - - - - - - - - - -
QVariant load_data_from_string (int type,
const QString & string 
)
-
- -
-
- -

◆ mix_audio_sample()

- -
-
- - - - - - - - - - - - - - - - - - -
qint16 mix_audio_sample (qint16 a,
qint16 b 
)
-
- -
-
- -

◆ save_data_to_string()

- -
-
- - - - - - - - - - - - - - - - - - -
QString save_data_to_string (int type,
const QVariant & data 
)
-
- -
-
-

Variable Documentation

- -

◆ effects

- -
-
- - - - -
QVector<EffectMeta> effects
-
- -
-
-
- - - - diff --git a/docs/html/effect_8h.html b/docs/html/effect_8h.html deleted file mode 100644 index 6cca97fbd..000000000 --- a/docs/html/effect_8h.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - -Olive: project/effect.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
effect.h File Reference
-
-
-
#include <QObject>
-#include <QString>
-#include <QVector>
-#include <QColor>
-#include <QOpenGLFunctions>
-#include <QOpenGLShaderProgram>
-#include <QOpenGLTexture>
-#include <QMutex>
-#include <QThread>
-#include <QLabel>
-#include <QWidget>
-#include <QGridLayout>
-#include <QPushButton>
-#include <QMouseEvent>
-#include <QXmlStreamReader>
-#include <QXmlStreamWriter>
-#include "ui/collapsiblewidget.h"
-#include "ui/checkboxex.h"
-#include "effectfield.h"
-#include "effectrow.h"
-#include "effectgizmo.h"
-
-

Go to the source code of this file.

- - - - - - - - - - -

-Classes

struct  EffectMeta
 
struct  GLTextureCoords
 
class  Effect
 
class  EffectInit
 
- - - - - -

-Typedefs

using ClipPtr = std::shared_ptr< Clip >
 
using EffectPtr = std::shared_ptr< Effect >
 
- - - - - - - - - -

-Enumerations

enum  EffectType {
-  EFFECT_TYPE_INVALID, -EFFECT_TYPE_VIDEO, -EFFECT_TYPE_AUDIO, -EFFECT_TYPE_EFFECT, -
-  EFFECT_TYPE_TRANSITION -
- }
 
enum  EffectKeyframeType { EFFECT_KEYFRAME_LINEAR, -EFFECT_KEYFRAME_BEZIER, -EFFECT_KEYFRAME_HOLD - }
 
enum  EffectInternal {
-  EFFECT_INTERNAL_TRANSFORM, -EFFECT_INTERNAL_TEXT, -EFFECT_INTERNAL_SOLID, -EFFECT_INTERNAL_NOISE, -
-  EFFECT_INTERNAL_VOLUME, -EFFECT_INTERNAL_PAN, -EFFECT_INTERNAL_TONE, -EFFECT_INTERNAL_SHAKE, -
-  EFFECT_INTERNAL_TIMECODE, -EFFECT_INTERNAL_MASK, -EFFECT_INTERNAL_FILLLEFTRIGHT, -EFFECT_INTERNAL_VST, -
-  EFFECT_INTERNAL_CORNERPIN, -EFFECT_INTERNAL_FREI0R, -EFFECT_INTERNAL_COUNT -
- }
 
enum  EffectBlendMode {
-  BLEND_MODE_ADD, -BLEND_MODE_AVERAGE, -BLEND_MODE_COLORBURN, -BLEND_MODE_COLORDODGE, -
-  BLEND_MODE_DARKEN, -BLEND_MODE_DIFFERENCE, -BLEND_MODE_EXCLUSION, -BLEND_MODE_GLOW, -
-  BLEND_MODE_HARDLIGHT, -BLEND_MODE_HARDMIX, -BLEND_MODE_LIGHTEN, -BLEND_MODE_LINEARBURN, -
-  BLEND_MODE_LINEARDODGE, -BLEND_MODE_LINEARLIGHT, -BLEND_MODE_MULTIPLY, -BLEND_MODE_NEGATION, -
-  BLEND_MODE_NORMAL, -BLEND_MODE_OVERLAY, -BLEND_MODE_PHOENIX, -BLEND_MODE_PINLIGHT, -
-  BLEND_MODE_REFLECT, -BLEND_MODE_SCREEN, -BLEND_MODE_SOFTLIGHT, -BLEND_MODE_SUBSTRACT, -
-  BLEND_MODE_SUBTRACT, -BLEND_MODE_VIVIDLIGHT, -BLEND_MODE_COUNT -
- }
 
- - - - - - - - - - - -

-Functions

double log_volume (double linear)
 
EffectPtr create_effect (ClipPtr c, const EffectMeta *em)
 
const EffectMetaget_internal_meta (int internal_id, int type)
 
const EffectMetaget_meta_from_name (const QString &input)
 
qint16 mix_audio_sample (qint16 a, qint16 b)
 
- - - -

-Variables

QVector< EffectMetaeffects
 
-

Typedef Documentation

- -

◆ ClipPtr

- -
-
- - - - -
using ClipPtr = std::shared_ptr<Clip>
-
- -
-
- -

◆ EffectPtr

- -
-
- - - - -
using EffectPtr = std::shared_ptr<Effect>
-
- -
-
-

Enumeration Type Documentation

- -

◆ EffectBlendMode

- -
-
- - - - -
enum EffectBlendMode
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Enumerator
BLEND_MODE_ADD 
BLEND_MODE_AVERAGE 
BLEND_MODE_COLORBURN 
BLEND_MODE_COLORDODGE 
BLEND_MODE_DARKEN 
BLEND_MODE_DIFFERENCE 
BLEND_MODE_EXCLUSION 
BLEND_MODE_GLOW 
BLEND_MODE_HARDLIGHT 
BLEND_MODE_HARDMIX 
BLEND_MODE_LIGHTEN 
BLEND_MODE_LINEARBURN 
BLEND_MODE_LINEARDODGE 
BLEND_MODE_LINEARLIGHT 
BLEND_MODE_MULTIPLY 
BLEND_MODE_NEGATION 
BLEND_MODE_NORMAL 
BLEND_MODE_OVERLAY 
BLEND_MODE_PHOENIX 
BLEND_MODE_PINLIGHT 
BLEND_MODE_REFLECT 
BLEND_MODE_SCREEN 
BLEND_MODE_SOFTLIGHT 
BLEND_MODE_SUBSTRACT 
BLEND_MODE_SUBTRACT 
BLEND_MODE_VIVIDLIGHT 
BLEND_MODE_COUNT 
- -
-
- -

◆ EffectInternal

- -
-
- - - - -
enum EffectInternal
-
- - - - - - - - - - - - - - - - -
Enumerator
EFFECT_INTERNAL_TRANSFORM 
EFFECT_INTERNAL_TEXT 
EFFECT_INTERNAL_SOLID 
EFFECT_INTERNAL_NOISE 
EFFECT_INTERNAL_VOLUME 
EFFECT_INTERNAL_PAN 
EFFECT_INTERNAL_TONE 
EFFECT_INTERNAL_SHAKE 
EFFECT_INTERNAL_TIMECODE 
EFFECT_INTERNAL_MASK 
EFFECT_INTERNAL_FILLLEFTRIGHT 
EFFECT_INTERNAL_VST 
EFFECT_INTERNAL_CORNERPIN 
EFFECT_INTERNAL_FREI0R 
EFFECT_INTERNAL_COUNT 
- -
-
- -

◆ EffectKeyframeType

- -
-
- - - - -
enum EffectKeyframeType
-
- - - - -
Enumerator
EFFECT_KEYFRAME_LINEAR 
EFFECT_KEYFRAME_BEZIER 
EFFECT_KEYFRAME_HOLD 
- -
-
- -

◆ EffectType

- -
-
- - - - -
enum EffectType
-
- - - - - - -
Enumerator
EFFECT_TYPE_INVALID 
EFFECT_TYPE_VIDEO 
EFFECT_TYPE_AUDIO 
EFFECT_TYPE_EFFECT 
EFFECT_TYPE_TRANSITION 
- -
-
-

Function Documentation

- -

◆ create_effect()

- -
-
- - - - - - - - - - - - - - - - - - -
EffectPtr create_effect (ClipPtr c,
const EffectMetaem 
)
-
- -
-
- -

◆ get_internal_meta()

- -
-
- - - - - - - - - - - - - - - - - - -
const EffectMeta* get_internal_meta (int internal_id,
int type 
)
-
- -
-
- -

◆ get_meta_from_name()

- -
-
- - - - - - - - -
const EffectMeta* get_meta_from_name (const QString & input)
-
- -
-
- -

◆ log_volume()

- -
-
- - - - - - - - -
double log_volume (double linear)
-
- -
-
- -

◆ mix_audio_sample()

- -
-
- - - - - - - - - - - - - - - - - - -
qint16 mix_audio_sample (qint16 a,
qint16 b 
)
-
- -
-
-

Variable Documentation

- -

◆ effects

- -
-
- - - - -
QVector<EffectMeta> effects
-
- -
-
-
- - - - diff --git a/docs/html/effect_8h_source.html b/docs/html/effect_8h_source.html deleted file mode 100644 index ae9a4d520..000000000 --- a/docs/html/effect_8h_source.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - -Olive: project/effect.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
effect.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef EFFECT_H
22 #define EFFECT_H
23 
24 #include <QObject>
25 #include <QString>
26 #include <QVector>
27 #include <QColor>
28 #include <QOpenGLFunctions>
29 #include <QOpenGLShaderProgram>
30 #include <QOpenGLTexture>
31 #include <QMutex>
32 #include <QThread>
33 #include <QLabel>
34 #include <QWidget>
35 #include <QGridLayout>
36 #include <QPushButton>
37 #include <QMouseEvent>
38 #include <QXmlStreamReader>
39 #include <QXmlStreamWriter>
40 
41 #include "ui/collapsiblewidget.h"
42 #include "ui/checkboxex.h"
43 
44 class Clip;
45 using ClipPtr = std::shared_ptr<Clip>;
46 
47 class Effect;
48 using EffectPtr = std::shared_ptr<Effect>;
49 
50 struct EffectMeta {
51  QString name;
52  QString category;
53  QString filename;
54  QString path;
55  QString tooltip;
56  int internal;
57  int type;
58  int subtype;
59 };
60 extern QVector<EffectMeta> effects;
61 
62 double log_volume(double linear);
64 const EffectMeta* get_internal_meta(int internal_id, int type);
65 
66 enum EffectType {
72 };
73 
78 };
79 
96 };
97 
126 };
127 
130 
143 
156 
158  float opacity;
159 };
160 
161 const EffectMeta* get_meta_from_name(const QString& input);
162 
163 qint16 mix_audio_sample(qint16 a, qint16 b);
164 
165 #include "effectfield.h"
166 #include "effectrow.h"
167 #include "effectgizmo.h"
168 
169 class Effect : public QObject {
170  Q_OBJECT
171 public:
172  Effect(ClipPtr c, const EffectMeta* em);
173  ~Effect();
175  const EffectMeta* meta;
176  int id;
177  QString name;
179 
180  EffectRow* add_row(const QString &name, bool savable = true, bool keyframable = true);
181  EffectRow* row(int i);
182  int row_count();
183 
184  EffectGizmo* add_gizmo(int type);
185  EffectGizmo* gizmo(int i);
186  int gizmo_count();
187 
188  bool is_enabled();
189  void set_enabled(bool b);
190 
191  virtual void refresh();
192 
193  virtual EffectPtr copy(ClipPtr c);
195 
196  virtual void load(QXmlStreamReader& stream);
197  virtual void custom_load(QXmlStreamReader& stream);
198  virtual void save(QXmlStreamWriter& stream);
199 
200  void load_from_string(const QByteArray &s);
201  QByteArray save_to_string();
202 
203  // glsl handling
204  bool is_open();
205  void open();
206  void close();
207  bool is_glsl_linked();
208  virtual void startEffect();
209  virtual void endEffect();
210 
215 
216  int getIterations();
217  void setIterations(int i);
218 
219  const char* ffmpeg_filter;
220 
221  virtual void process_image(double timecode, uint8_t* input, uint8_t* output, int size);
222  virtual void process_shader(double timecode, GLTextureCoords&, int iteration);
223  virtual void process_coords(double timecode, GLTextureCoords& coords, int data);
224  virtual GLuint process_superimpose(double timecode);
225  virtual void process_audio(double timecode_start, double timecode_end, quint8* samples, int nb_bytes, int channel_count);
226 
227  virtual void gizmo_draw(double timecode, GLTextureCoords& coords);
228  void gizmo_move(EffectGizmo* sender, int x_movement, int y_movement, double timecode, bool done);
229  void gizmo_world_to_screen();
230  bool are_gizmos_enabled();
231 public slots:
232  void field_changed();
233 private slots:
234  void show_context_menu(const QPoint&);
235  void delete_self();
236  void move_up();
237  void move_down();
238  void save_to_file();
239  void load_from_file();
240 protected:
241  // glsl effect
242  QOpenGLShaderProgram* glslProgram;
243  QString vertPath;
244  QString fragPath;
245 
246  // superimpose effect
247  QImage img;
248  QOpenGLTexture* texture;
249 
250  // enable effect to update constantly
252 private:
253  // superimpose effect
254  QString script;
255 
256  bool isOpen;
257  QVector<EffectRow*> rows;
258  QVector<EffectGizmo*> gizmos;
259  QGridLayout* ui_layout;
260  QWidget* ui;
261  bool bound;
263 
264  // superimpose functions
265  virtual void redraw(double timecode);
266  bool valueHasChanged(double timecode);
267  QVector<QVariant> cachedValues;
268  void delete_texture();
269  int get_index_in_clip();
270  void validate_meta_path();
271 };
272 
273 class EffectInit : public QThread {
274 public:
275  EffectInit();
276 protected:
277  void run();
278 };
279 
280 #endif // EFFECT_H
virtual void gizmo_draw(double timecode, GLTextureCoords &coords)
Definition: effect.cpp:942
-
QVector< QVariant > cachedValues
Definition: effect.h:267
-
Definition: effect.h:109
-
float textureTopRightX
Definition: effect.h:147
-
Definition: effect.h:103
-
int vertexBottomLeftY
Definition: effect.h:138
-
float textureTopRightY
Definition: effect.h:148
-
QString name
Definition: effect.h:177
-
Definition: effect.h:121
-
void load_from_string(const QByteArray &s)
Definition: effect.cpp:687
-
int gizmo_count()
Definition: effect.cpp:385
-
virtual void process_coords(double timecode, GLTextureCoords &coords, int data)
Definition: effect.cpp:901
-
Definition: effect.h:86
-
Definition: effect.h:67
-
Definition: effect.h:68
-
bool are_gizmos_enabled()
Definition: effect.cpp:994
-
float textureBottomLeftX
Definition: effect.h:153
-
Definition: effect.h:101
-
Definition: effect.h:91
-
int getIterations()
Definition: effect.cpp:847
-
QImage img
Definition: effect.h:247
-
EffectInternal
Definition: effect.h:80
-
QString filename
Definition: effect.h:53
-
Definition: effect.h:89
-
Definition: effect.h:128
-
void validate_meta_path()
Definition: effect.cpp:755
-
virtual void custom_load(QXmlStreamReader &stream)
Definition: effect.cpp:653
-
void open()
Definition: effect.cpp:772
-
Definition: collapsiblewidget.h:45
-
bool is_enabled()
Definition: effect.cpp:526
-
double log_volume(double linear)
Definition: audio.cpp:244
-
EffectBlendMode
Definition: effect.h:98
-
float textureTopLeftY
Definition: effect.h:145
-
bool enable_superimpose
Definition: effect.h:213
-
Definition: effect.h:106
-
Definition: effect.h:118
-
EffectPtr create_effect(ClipPtr c, const EffectMeta *em)
Definition: effect.cpp:72
-
EffectRow * add_row(const QString &name, bool savable=true, bool keyframable=true)
Definition: effect.cpp:361
-
QString category
Definition: effect.h:52
-
Definition: effect.h:87
-
qint16 mix_audio_sample(qint16 a, qint16 b)
Definition: effect.cpp:1095
-
int vertexBottomRightX
Definition: effect.h:140
-
EffectGizmo * gizmo(int i)
Definition: effect.cpp:381
-
const EffectMeta * meta
Definition: effect.h:175
-
Definition: effect.h:112
-
Definition: effect.h:169
-
Definition: effect.h:93
-
bool isOpen
Definition: effect.h:256
-
float textureBottomRightX
Definition: effect.h:150
-
float opacity
Definition: effect.h:158
-
virtual EffectPtr copy(ClipPtr c)
Definition: effect.cpp:857
-
QWidget * ui
Definition: effect.h:260
-
Definition: effect.h:50
-
virtual void save(QXmlStreamWriter &stream)
Definition: effect.cpp:655
-
Definition: effect.h:113
-
ClipPtr parent_clip
Definition: effect.h:174
-
int id
Definition: effect.h:176
-
QString path
Definition: effect.h:54
-
Definition: effect.h:117
-
const EffectMeta * get_internal_meta(int internal_id, int type)
Definition: effect.cpp:106
-
void move_up()
Definition: effect.cpp:439
-
Definition: effect.h:116
-
QVector< EffectMeta > effects
Definition: effect.cpp:70
-
QString tooltip
Definition: effect.h:55
-
Definition: effect.h:102
-
QString fragPath
Definition: effect.h:244
-
bool bound
Definition: effect.h:261
-
Definition: effectrow.h:37
-
int blendmode
Definition: effect.h:157
-
float textureBottomLeftQ
Definition: effect.h:155
-
Definition: effect.h:122
-
EffectKeyframeType
Definition: effect.h:74
-
QByteArray save_to_string()
Definition: effect.cpp:731
-
QGridLayout * ui_layout
Definition: effect.h:259
-
bool enable_shader
Definition: effect.h:211
-
Definition: effect.h:94
-
float textureTopLeftX
Definition: effect.h:144
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
int vertexBottomRightY
Definition: effect.h:141
-
bool is_open()
Definition: effect.cpp:751
- -
virtual void load(QXmlStreamReader &stream)
Definition: effect.cpp:562
-
Definition: effect.h:107
-
virtual void redraw(double timecode)
Definition: effect.cpp:998
-
bool enable_coords
Definition: effect.h:212
-
int iterations
Definition: effect.h:262
-
float textureTopLeftQ
Definition: effect.h:146
-
Definition: effect.h:99
-
const EffectMeta * get_meta_from_name(const QString &input)
Definition: effect.cpp:1077
-
int vertexBottomRightZ
Definition: effect.h:142
-
virtual void startEffect()
Definition: effect.cpp:830
-
float textureTopRightQ
Definition: effect.h:149
-
void delete_self()
Definition: effect.cpp:431
-
EffectRow * row(int i)
Definition: effect.cpp:367
-
int row_count()
Definition: effect.cpp:371
-
bool enable_always_update
Definition: effect.h:251
-
Definition: effect.h:82
-
Definition: effect.h:76
-
QVector< EffectGizmo * > gizmos
Definition: effect.h:258
-
void delete_texture()
Definition: effect.cpp:1070
-
Definition: effect.h:123
-
Definition: effect.h:70
-
QVector< EffectRow * > rows
Definition: effect.h:257
-
void gizmo_world_to_screen()
Definition: effect.cpp:971
-
Definition: effectgizmo.h:41
-
Effect(ClipPtr c, const EffectMeta *em)
Definition: effect.cpp:115
-
void gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
Definition: effect.cpp:944
-
void show_context_menu(const QPoint &)
Definition: effect.cpp:396
-
CollapsibleWidget * container
Definition: effect.h:178
-
Definition: effect.h:273
-
Definition: effect.h:124
-
void field_changed()
Definition: effect.cpp:391
-
void set_enabled(bool b)
Definition: effect.cpp:530
-
Definition: effect.h:114
-
int vertexTopLeftZ
Definition: effect.h:133
-
int get_index_in_clip()
Definition: effect.cpp:515
-
Definition: effect.h:120
-
Definition: effect.h:125
-
float textureBottomRightY
Definition: effect.h:151
-
float textureBottomLeftY
Definition: effect.h:154
-
~Effect()
Definition: effect.cpp:332
-
bool valueHasChanged(double timecode)
Definition: effect.cpp:1042
-
virtual void process_shader(double timecode, GLTextureCoords &, int iteration)
Definition: effect.cpp:864
-
Definition: effect.h:92
-
QOpenGLTexture * texture
Definition: effect.h:248
- -
Definition: effect.h:108
-
Definition: effect.h:105
-
Definition: effect.h:100
-
void close()
Definition: effect.cpp:814
- -
Definition: effect.h:115
-
QString script
Definition: effect.h:254
-
bool enable_image
Definition: effect.h:214
-
Definition: effect.h:95
-
virtual void refresh()
Definition: effect.cpp:389
-
int type
Definition: effect.h:57
-
virtual void endEffect()
Definition: effect.cpp:842
-
bool is_glsl_linked()
Definition: effect.cpp:826
-
int subtype
Definition: effect.h:58
-
virtual GLuint process_superimpose(double timecode)
Definition: effect.cpp:903
-
int vertexTopRightX
Definition: effect.h:134
-
QOpenGLShaderProgram * glslProgram
Definition: effect.h:242
-
int vertexTopLeftX
Definition: effect.h:131
-
Definition: clip.h:50
-
void move_down()
Definition: effect.cpp:449
-
std::shared_ptr< Effect > EffectPtr
Definition: effect.h:48
-
virtual void process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
Definition: effect.cpp:940
-
Definition: effect.h:75
-
Definition: effect.h:69
-
void copy_field_keyframes(EffectPtr e)
Definition: effect.cpp:347
-
Definition: effect.h:104
-
void save_to_file()
Definition: effect.cpp:459
-
Definition: effect.h:77
-
int vertexBottomLeftX
Definition: effect.h:137
-
int vertexTopRightZ
Definition: effect.h:136
-
Definition: effect.h:119
-
Definition: effect.h:71
-
Definition: effect.h:84
-
Definition: effect.h:110
-
float textureBottomRightQ
Definition: effect.h:152
-
void setIterations(int i)
Definition: effect.cpp:851
- -
void load_from_file()
Definition: effect.cpp:489
-
QString name
Definition: effect.h:51
-
Definition: effect.h:85
-
QString vertPath
Definition: effect.h:243
-
const char * ffmpeg_filter
Definition: effect.h:219
-
int vertexBottomLeftZ
Definition: effect.h:139
-
EffectInit()
Definition: effectloaders.cpp:258
-
Definition: effect.h:81
-
Definition: effect.h:88
-
EffectGizmo * add_gizmo(int type)
Definition: effect.cpp:375
-
EffectType
Definition: effect.h:66
-
int vertexTopLeftY
Definition: effect.h:132
-
Definition: effect.h:90
-
void run()
Definition: effectloaders.cpp:262
-
Definition: effect.h:111
-
int grid_size
Definition: effect.h:129
-
virtual void process_image(double timecode, uint8_t *input, uint8_t *output, int size)
Definition: effect.cpp:855
-
Definition: effect.h:83
- -
int vertexTopRightY
Definition: effect.h:135
-
- - - - diff --git a/docs/html/effectcontrols_8cpp.html b/docs/html/effectcontrols_8cpp.html deleted file mode 100644 index 258f23a8b..000000000 --- a/docs/html/effectcontrols_8cpp.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Olive: panels/effectcontrols.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
effectcontrols.cpp File Reference
-
-
-
#include "effectcontrols.h"
-#include <QMenu>
-#include <QVBoxLayout>
-#include <QResizeEvent>
-#include <QScrollBar>
-#include <QSplitter>
-#include <QScrollArea>
-#include <QPushButton>
-#include <QSpacerItem>
-#include <QLabel>
-#include <QIcon>
-#include <QApplication>
-#include "panels/panels.h"
-#include "project/effect.h"
-#include "project/clip.h"
-#include "project/transition.h"
-#include "ui/collapsiblewidget.h"
-#include "project/sequence.h"
-#include "project/undo.h"
-#include "panels/project.h"
-#include "panels/timeline.h"
-#include "panels/viewer.h"
-#include "panels/grapheditor.h"
-#include "ui/viewerwidget.h"
-#include "io/clipboard.h"
-#include "io/config.h"
-#include "ui/timelineheader.h"
-#include "ui/keyframeview.h"
-#include "ui/resizablescrollbar.h"
-#include "debug.h"
-
- - - - diff --git a/docs/html/effectcontrols_8h.html b/docs/html/effectcontrols_8h.html deleted file mode 100644 index df35f960a..000000000 --- a/docs/html/effectcontrols_8h.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Olive: panels/effectcontrols.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
effectcontrols.h File Reference
-
-
-
#include <QUndoCommand>
-#include <QMutex>
-#include <QMenu>
-#include <QScrollArea>
-#include <QVBoxLayout>
-#include <QLabel>
-#include <QScrollBar>
-#include <QHBoxLayout>
-#include "project/projectelements.h"
-#include "ui/timelineheader.h"
-#include "ui/keyframeview.h"
-#include "ui/resizablescrollbar.h"
-#include "ui/panel.h"
-
-

Go to the source code of this file.

- - - - - - -

-Classes

class  EffectsArea
 
class  EffectControls
 
-
- - - - diff --git a/docs/html/effectcontrols_8h_source.html b/docs/html/effectcontrols_8h_source.html deleted file mode 100644 index fc1f16e91..000000000 --- a/docs/html/effectcontrols_8h_source.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - -Olive: panels/effectcontrols.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
effectcontrols.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef EFFECTCONTROLS_H
22 #define EFFECTCONTROLS_H
23 
24 #include <QUndoCommand>
25 #include <QMutex>
26 #include <QMenu>
27 #include <QScrollArea>
28 #include <QVBoxLayout>
29 #include <QLabel>
30 #include <QScrollBar>
31 #include <QHBoxLayout>
32 
34 #include "ui/timelineheader.h"
35 #include "ui/keyframeview.h"
36 #include "ui/resizablescrollbar.h"
37 #include "ui/keyframeview.h"
38 #include "ui/panel.h"
39 
40 class EffectsArea : public QWidget {
41  Q_OBJECT
42 public:
43  EffectsArea(QWidget* parent = 0);
44  QScrollArea* parent_widget;
47 public slots:
48  void receive_wheel_event(QWheelEvent* e);
49 };
50 
51 class EffectControls : public Panel
52 {
53  Q_OBJECT
54 public:
55  explicit EffectControls(QWidget *parent = 0);
57  int get_mode();
58  void set_clips(QVector<int>& clips, int mode);
59  void clear_effects(bool clear_cache);
60  void delete_effects();
61  bool is_focused();
62  void reload_clips();
63  void set_zoom(bool in);
64  bool keyframe_focus();
66  bool multiple;
67  void scroll_to_frame(long frame);
68 
69  QVector<int> selected_clips;
70 
71  double zoom;
72 
74  QScrollBar* verticalScrollBar;
75 
77 
78  void add_effect_paste_action(QMenu* menu);
79 public slots:
80  void cut();
81  void copy(bool del = false);
82  void update_keyframes();
83 private slots:
84  void menu_select(QAction* q);
85 
86  void video_effect_click();
87  void audio_effect_click();
90 
91  void deselect_all_effects(QWidget*);
92 
93  void update_scrollbar();
94  void queue_post_update();
95 
97 protected:
98  virtual void resizeEvent(QResizeEvent *event) override;
99  virtual void Retranslate() override;
100 private:
101  void show_effect_menu(int type, int subtype);
102  void load_effects();
103  void load_keyframes();
104  void open_effect(QVBoxLayout* hlayout, EffectPtr e);
105  void UpdateTitle();
106 
107  void setup_ui();
108 
111  QString panel_name;
112  int mode;
113 
114  QPushButton* btnAddVideoEffect;
116  QPushButton* btnAddVideoTransition;
117  QPushButton* btnAddAudioEffect;
118  QPushButton* btnAddAudioTransition;
123  QScrollArea* scrollArea;
127  QWidget* vcontainer;
128  QWidget* acontainer;
129 };
130 
131 #endif // EFFECTCONTROLS_H
QPushButton * btnAddVideoTransition
Definition: effectcontrols.h:116
-
QString panel_name
Definition: effectcontrols.h:111
-
virtual void Retranslate() override
Definition: effectcontrols.cpp:492
-
ResizableScrollBar * horizontalScrollBar
Definition: effectcontrols.h:73
-
int mode
Definition: effectcontrols.h:112
-
KeyframeView * keyframeView
Definition: effectcontrols.h:124
-
void update_scrollbar()
Definition: effectcontrols.cpp:506
-
void load_effects()
Definition: effectcontrols.cpp:524
-
void effects_area_context_menu()
Definition: effectcontrols.cpp:516
-
QPushButton * btnAddAudioEffect
Definition: effectcontrols.h:117
- -
Definition: keyframeview.h:33
-
KeyframeView * keyframe_area
Definition: effectcontrols.h:45
- -
void set_clips(QVector< int > &clips, int mode)
Definition: effectcontrols.cpp:588
-
QLabel * lblAudioEffects
Definition: effectcontrols.h:120
-
void audio_effect_click()
Definition: effectcontrols.cpp:602
-
QWidget * audio_effect_area
Definition: effectcontrols.h:126
-
Definition: effectcontrols.h:40
-
~EffectControls()
Definition: effectcontrols.cpp:84
-
EffectsArea * effects_area
Definition: effectcontrols.h:122
-
QScrollArea * scrollArea
Definition: effectcontrols.h:123
-
QWidget * video_effect_area
Definition: effectcontrols.h:125
-
EffectControls(QWidget *parent=0)
Definition: effectcontrols.cpp:55
-
void reload_clips()
Definition: effectcontrols.cpp:583
-
QVector< int > selected_clips
Definition: effectcontrols.h:69
-
QWidget * vcontainer
Definition: effectcontrols.h:127
-
int effect_menu_type
Definition: effectcontrols.h:109
-
void delete_selected_keyframes()
Definition: effectcontrols.cpp:139
-
int effect_menu_subtype
Definition: effectcontrols.h:110
-
void deselect_all_effects(QWidget *)
Definition: effectcontrols.cpp:290
-
void update_keyframes()
Definition: effectcontrols.cpp:134
-
int get_mode()
Definition: effectcontrols.cpp:86
-
void set_zoom(bool in)
Definition: effectcontrols.cpp:94
-
Definition: timelineheader.h:31
-
void load_keyframes()
-
double zoom
Definition: effectcontrols.h:71
- -
bool multiple
Definition: effectcontrols.h:66
-
void video_transition_click()
Definition: effectcontrols.cpp:606
-
TimelineHeader * headers
Definition: effectcontrols.h:121
-
Definition: effectcontrols.h:51
-
Definition: panel.h:26
-
void setup_ui()
Definition: effectcontrols.cpp:316
-
QScrollBar * verticalScrollBar
Definition: effectcontrols.h:74
-
void copy(bool del=false)
Definition: effectcontrols.cpp:143
-
void UpdateTitle()
Definition: effectcontrols.cpp:308
-
void receive_wheel_event(QWheelEvent *e)
Definition: effectcontrols.cpp:639
-
void audio_transition_click()
Definition: effectcontrols.cpp:610
-
void delete_effects()
Definition: effectcontrols.cpp:560
-
void menu_select(QAction *q)
Definition: effectcontrols.cpp:99
-
void scroll_to_frame(long frame)
Definition: effectcontrols.cpp:180
-
virtual void resizeEvent(QResizeEvent *event) override
Definition: effectcontrols.cpp:614
-
void show_effect_menu(int type, int subtype)
Definition: effectcontrols.cpp:193
-
QLabel * lblMultipleClipsSelected
Definition: effectcontrols.h:119
-
QPushButton * btnAddVideoEffect
Definition: effectcontrols.h:114
-
QLabel * lblVideoEffects
Definition: effectcontrols.h:115
-
void clear_effects(bool clear_cache)
Definition: effectcontrols.cpp:263
- -
Definition: resizablescrollbar.h:26
-
QMutex effects_loaded
Definition: effectcontrols.h:76
-
QPushButton * btnAddAudioTransition
Definition: effectcontrols.h:118
-
void queue_post_update()
Definition: effectcontrols.cpp:511
-
void cut()
Definition: effectcontrols.cpp:189
-
std::shared_ptr< Effect > EffectPtr
Definition: effect.h:48
-
EffectsArea(QWidget *parent=0)
Definition: effectcontrols.cpp:635
-
QScrollArea * parent_widget
Definition: effectcontrols.h:44
-
void video_effect_click()
Definition: effectcontrols.cpp:598
-
TimelineHeader * header
Definition: effectcontrols.h:46
- -
bool is_focused()
Definition: effectcontrols.cpp:618
-
QWidget * acontainer
Definition: effectcontrols.h:128
-
bool keyframe_focus()
Definition: effectcontrols.cpp:90
-
void add_effect_paste_action(QMenu *menu)
Definition: effectcontrols.cpp:184
-
void open_effect(QVBoxLayout *hlayout, EffectPtr e)
Definition: effectcontrols.cpp:302
-
virtual bool event(QEvent *e) override
Definition: panel.cpp:29
-
- - - - diff --git a/docs/html/effectfield_8cpp.html b/docs/html/effectfield_8cpp.html deleted file mode 100644 index 1ec00f2b4..000000000 --- a/docs/html/effectfield_8cpp.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Olive: project/effectfield.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
effectfield.cpp File Reference
-
-
-
#include "effectfield.h"
-#include "ui/labelslider.h"
-#include "ui/colorbutton.h"
-#include "ui/texteditex.h"
-#include "ui/checkboxex.h"
-#include "ui/comboboxex.h"
-#include "ui/fontcombobox.h"
-#include "ui/embeddedfilechooser.h"
-#include "io/config.h"
-#include "effectrow.h"
-#include "effect.h"
-#include "project/undo.h"
-#include "project/clip.h"
-#include "project/sequence.h"
-#include "io/math.h"
-#include <QDateTime>
-#include <QtMath>
-#include "debug.h"
-
- - - - diff --git a/docs/html/effectfield_8h.html b/docs/html/effectfield_8h.html deleted file mode 100644 index 8e0edd11c..000000000 --- a/docs/html/effectfield_8h.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - -Olive: project/effectfield.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
effectfield.h File Reference
-
-
-
#include <QObject>
-#include <QVariant>
-#include <QVector>
-#include "keyframe.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  EffectField
 
- - - -

-Enumerations

enum  EffectFieldType {
-  EFFECT_FIELD_DOUBLE, -EFFECT_FIELD_COLOR, -EFFECT_FIELD_STRING, -EFFECT_FIELD_BOOL, -
-  EFFECT_FIELD_COMBO, -EFFECT_FIELD_FONT, -EFFECT_FIELD_FILE -
- }
 
-

Enumeration Type Documentation

- -

◆ EffectFieldType

- -
-
- - - - -
enum EffectFieldType
-
- - - - - - - - -
Enumerator
EFFECT_FIELD_DOUBLE 
EFFECT_FIELD_COLOR 
EFFECT_FIELD_STRING 
EFFECT_FIELD_BOOL 
EFFECT_FIELD_COMBO 
EFFECT_FIELD_FONT 
EFFECT_FIELD_FILE 
- -
-
-
- - - - diff --git a/docs/html/effectfield_8h_source.html b/docs/html/effectfield_8h_source.html deleted file mode 100644 index c631abde6..000000000 --- a/docs/html/effectfield_8h_source.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - -Olive: project/effectfield.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
effectfield.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef EFFECTFIELD_H
22 #define EFFECTFIELD_H
23 
32 };
33 
34 #include <QObject>
35 #include <QVariant>
36 #include <QVector>
37 
38 #include "keyframe.h"
39 
40 class EffectRow;
41 class ComboAction;
42 
43 class EffectField : public QObject {
44  Q_OBJECT
45 public:
46  EffectField(EffectRow* parent, int t, const QString& i);
47  ~EffectField();
48 
50  int type;
51  QString id;
52 
53  double get_validated_keyframe_handle(int key, bool post);
54 
55  QVariant get_previous_data();
56  QVariant get_current_data();
57  double frameToTimecode(long frame);
58  long timecodeToFrame(double timecode);
59  void set_current_data(const QVariant&);
60  void get_keyframe_data(double timecode, int& before, int& after, double& d);
61  QVariant validate_keyframe_data(double timecode, bool async = false);
62 
63  double get_double_value(double timecode, bool async = false);
64  void set_double_value(double v);
65  void set_double_default_value(double v);
66  void set_double_minimum_value(double v);
67  void set_double_maximum_value(double v);
68 
69  QString get_string_value(double timecode, bool async = false);
70  void set_string_value(const QString &s);
71 
72  void add_combo_item(const QString& name, const QVariant &data);
73  int get_combo_index(double timecode, bool async = false);
74  QVariant get_combo_data(double timecode);
75  QString get_combo_string(double timecode);
76  void set_combo_index(int index);
77  void set_combo_string(const QString& s);
78 
79  bool get_bool_value(double timecode, bool async = false);
80  void set_bool_value(bool b);
81 
82  QString get_font_name(double timecode, bool async = false);
83  void set_font_name(const QString& s);
84 
85  QColor get_color_value(double timecode, bool async = false);
86  void set_color_value(QColor color);
87 
88  QString get_filename(double timecode, bool async = false);
89  void set_filename(const QString& s);
90 
91  QWidget* get_ui_element();
92  bool is_enabled();
93  void set_enabled(bool e);
94  QVector<EffectKeyframe> keyframes;
95  QWidget* ui_element;
96 
98 public slots:
99  void ui_element_change();
100 private:
101  bool hasKeyframes();
102 signals:
103  void changed();
104  void toggled(bool);
105  void clicked();
106 };
107 
108 #endif // EFFECTFIELD_H
QString get_filename(double timecode, bool async=false)
Definition: effectfield.cpp:479
-
QString get_combo_string(double timecode)
Definition: effectfield.cpp:418
-
void set_bool_value(bool b)
Definition: effectfield.cpp:439
-
Definition: effectfield.h:29
-
EffectField(EffectRow *parent, int t, const QString &i)
Definition: effectfield.cpp:47
-
int get_combo_index(double timecode, bool async=false)
Definition: effectfield.cpp:405
-
QVariant validate_keyframe_data(double timecode, bool async=false)
Definition: effectfield.cpp:246
-
void set_double_default_value(double v)
Definition: effectfield.cpp:389
-
void set_font_name(const QString &s)
Definition: effectfield.cpp:463
-
void clicked()
-
long timecodeToFrame(double timecode)
Definition: effectfield.cpp:190
-
Definition: effectfield.h:27
-
Definition: effectfield.h:30
-
double frameToTimecode(long frame)
Definition: effectfield.cpp:186
-
The ComboAction class.
Definition: comboaction.h:19
-
void set_current_data(const QVariant &)
Definition: effectfield.cpp:194
-
void ui_element_change()
Definition: effectfield.cpp:347
-
void set_combo_string(const QString &s)
Definition: effectfield.cpp:427
- -
double get_double_value(double timecode, bool async=false)
Definition: effectfield.cpp:377
-
void set_string_value(const QString &s)
Definition: effectfield.cpp:451
-
QWidget * get_ui_element()
Definition: effectfield.cpp:365
-
QVector< EffectKeyframe > keyframes
Definition: effectfield.h:94
-
Definition: effectrow.h:37
-
void toggled(bool)
-
void get_keyframe_data(double timecode, int &before, int &after, double &d)
Definition: effectfield.cpp:206
-
bool is_enabled()
Definition: effectfield.cpp:369
-
Definition: effectfield.h:25
-
void set_double_value(double v)
Definition: effectfield.cpp:385
-
void make_key_from_change(ComboAction *ca)
Definition: effectfield.cpp:356
-
QString id
Definition: effectfield.h:51
-
void set_enabled(bool e)
Definition: effectfield.cpp:373
-
QVariant get_combo_data(double timecode)
Definition: effectfield.cpp:413
-
bool hasKeyframes()
Definition: effectfield.cpp:242
-
Definition: effectfield.h:26
-
void set_double_maximum_value(double v)
Definition: effectfield.cpp:397
-
double get_validated_keyframe_handle(int key, bool post)
Definition: effectfield.cpp:114
-
QString get_font_name(double timecode, bool async=false)
Definition: effectfield.cpp:455
-
void changed()
-
Definition: effectfield.h:28
-
void set_color_value(QColor color)
Definition: effectfield.cpp:475
-
QColor get_color_value(double timecode, bool async=false)
Definition: effectfield.cpp:467
-
void set_filename(const QString &s)
Definition: effectfield.cpp:487
-
bool get_bool_value(double timecode, bool async=false)
Definition: effectfield.cpp:431
-
EffectFieldType
Definition: effectfield.h:24
-
void add_combo_item(const QString &name, const QVariant &data)
Definition: effectfield.cpp:401
-
QVariant get_previous_data()
Definition: effectfield.cpp:160
-
Definition: effectfield.h:43
-
~EffectField()
Definition: effectfield.cpp:112
-
void set_double_minimum_value(double v)
Definition: effectfield.cpp:393
-
int type
Definition: effectfield.h:50
-
void set_combo_index(int index)
Definition: effectfield.cpp:423
-
QString get_string_value(double timecode, bool async=false)
Definition: effectfield.cpp:443
-
QVariant get_current_data()
Definition: effectfield.cpp:173
-
QWidget * ui_element
Definition: effectfield.h:95
-
EffectRow * parent_row
Definition: effectfield.h:49
-
Definition: effectfield.h:31
-
- - - - diff --git a/docs/html/effectgizmo_8cpp.html b/docs/html/effectgizmo_8cpp.html deleted file mode 100644 index d31b988ba..000000000 --- a/docs/html/effectgizmo_8cpp.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: project/effectgizmo.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
effectgizmo.cpp File Reference
-
-
-
#include "effectgizmo.h"
-#include "ui/labelslider.h"
-#include "effectfield.h"
-
- - - - diff --git a/docs/html/effectgizmo_8h.html b/docs/html/effectgizmo_8h.html deleted file mode 100644 index d9dbd422d..000000000 --- a/docs/html/effectgizmo_8h.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - -Olive: project/effectgizmo.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
effectgizmo.h File Reference
-
-
-
#include <QString>
-#include <QRect>
-#include <QPoint>
-#include <QVector>
-#include <QColor>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  EffectGizmo
 
- - - - - -

-Macros

#define GIZMO_DOT_SIZE   2.5
 
#define GIZMO_TARGET_SIZE   5.0
 
- - - -

-Enumerations

enum  GizmoType { GIZMO_TYPE_DOT, -GIZMO_TYPE_POLY, -GIZMO_TYPE_TARGET - }
 
-

Macro Definition Documentation

- -

◆ GIZMO_DOT_SIZE

- -
-
- - - - -
#define GIZMO_DOT_SIZE   2.5
-
- -
-
- -

◆ GIZMO_TARGET_SIZE

- -
-
- - - - -
#define GIZMO_TARGET_SIZE   5.0
-
- -
-
-

Enumeration Type Documentation

- -

◆ GizmoType

- -
-
- - - - -
enum GizmoType
-
- - - - -
Enumerator
GIZMO_TYPE_DOT 
GIZMO_TYPE_POLY 
GIZMO_TYPE_TARGET 
- -
-
-
- - - - diff --git a/docs/html/effectgizmo_8h_source.html b/docs/html/effectgizmo_8h_source.html deleted file mode 100644 index a714e0bd5..000000000 --- a/docs/html/effectgizmo_8h_source.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Olive: project/effectgizmo.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
effectgizmo.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef EFFECTGIZMO_H
22 #define EFFECTGIZMO_H
23 
24 enum GizmoType {
28 };
29 
30 #define GIZMO_DOT_SIZE 2.5
31 #define GIZMO_TARGET_SIZE 5.0
32 
33 #include <QString>
34 #include <QRect>
35 #include <QPoint>
36 #include <QVector>
37 #include <QColor>
38 
39 class EffectField;
40 
42 {
43 public:
44  EffectGizmo(int type);
45 
46  QVector<QPoint> world_pos;
47  QVector<QPoint> screen_pos;
48 
57 
58  void set_previous_value();
59 
60  QColor color;
61  int get_point_count();
62 
63  int get_type();
64 
65  int get_cursor();
66  void set_cursor(int c);
67 private:
68  int type;
69  int cursor;
70 };
71 
72 #endif // EFFECTGIZMO_H
Definition: effectgizmo.h:26
-
int get_cursor()
Definition: effectgizmo.cpp:60
-
double y_field_multi2
Definition: effectgizmo.h:56
-
Definition: effectgizmo.h:25
-
int get_type()
Definition: effectgizmo.cpp:56
-
EffectField * x_field1
Definition: effectgizmo.h:49
-
EffectField * y_field1
Definition: effectgizmo.h:51
-
EffectField * x_field2
Definition: effectgizmo.h:53
-
int get_point_count()
Definition: effectgizmo.cpp:52
-
GizmoType
Definition: effectgizmo.h:24
-
EffectGizmo(int type)
Definition: effectgizmo.cpp:26
-
int cursor
Definition: effectgizmo.h:69
-
EffectField * y_field2
Definition: effectgizmo.h:55
-
QColor color
Definition: effectgizmo.h:60
-
Definition: effectgizmo.h:27
-
double y_field_multi1
Definition: effectgizmo.h:52
-
QVector< QPoint > screen_pos
Definition: effectgizmo.h:47
-
int type
Definition: effectgizmo.h:68
-
Definition: effectgizmo.h:41
-
QVector< QPoint > world_pos
Definition: effectgizmo.h:46
-
double x_field_multi2
Definition: effectgizmo.h:54
-
Definition: effectfield.h:43
-
void set_cursor(int c)
Definition: effectgizmo.cpp:64
-
void set_previous_value()
Definition: effectgizmo.cpp:45
-
double x_field_multi1
Definition: effectgizmo.h:50
-
- - - - diff --git a/docs/html/effectloaders_8cpp.html b/docs/html/effectloaders_8cpp.html deleted file mode 100644 index 6eb5d5ddb..000000000 --- a/docs/html/effectloaders_8cpp.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - -Olive: project/effectloaders.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
effectloaders.cpp File Reference
-
-
-
#include "effectloaders.h"
-#include "project/effect.h"
-#include "project/transition.h"
-#include "io/path.h"
-#include "panels/panels.h"
-#include "panels/effectcontrols.h"
-#include "io/crossplatformlib.h"
-#include "io/config.h"
-#include <QDir>
-#include <QXmlStreamReader>
-#include <QDebug>
-#include <frei0r.h>
-
- - - -

-Typedefs

typedef void(* f0rGetPluginInfo) (f0r_plugin_info_t *info)
 
- - - - - - - - - - - -

-Functions

void load_internal_effects ()
 
void load_shader_effects ()
 
void init_effects ()
 
void load_frei0r_effects_worker (const QString &dir, EffectMeta &em, QVector< QString > &loaded_names)
 
void load_frei0r_effects ()
 
-

Typedef Documentation

- -

◆ f0rGetPluginInfo

- -
-
- - - - -
typedef void(* f0rGetPluginInfo) (f0r_plugin_info_t *info)
-
- -
-
-

Function Documentation

- -

◆ init_effects()

- -
-
- - - - - - - -
void init_effects ()
-
- -
-
- -

◆ load_frei0r_effects()

- -
-
- - - - - - - -
void load_frei0r_effects ()
-
- -
-
- -

◆ load_frei0r_effects_worker()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void load_frei0r_effects_worker (const QString & dir,
EffectMetaem,
QVector< QString > & loaded_names 
)
-
- -
-
- -

◆ load_internal_effects()

- -
-
- - - - - - - -
void load_internal_effects ()
-
- -
-
- -

◆ load_shader_effects()

- -
-
- - - - - - - -
void load_shader_effects ()
-
- -
-
-
- - - - diff --git a/docs/html/effectloaders_8h.html b/docs/html/effectloaders_8h.html deleted file mode 100644 index 97cee2786..000000000 --- a/docs/html/effectloaders_8h.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Olive: project/effectloaders.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
effectloaders.h File Reference
-
-
-
#include <QList>
-
-

Go to the source code of this file.

- - - - -

-Functions

void init_effects ()
 
-

Function Documentation

- -

◆ init_effects()

- -
-
- - - - - - - -
void init_effects ()
-
- -
-
-
- - - - diff --git a/docs/html/effectloaders_8h_source.html b/docs/html/effectloaders_8h_source.html deleted file mode 100644 index cdcdc87bc..000000000 --- a/docs/html/effectloaders_8h_source.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: project/effectloaders.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
effectloaders.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef EFFECTLOADERS_H
22 #define EFFECTLOADERS_H
23 
24 #include <QList>
25 
26 void init_effects();
27 
28 #endif // EFFECTLOADERS_H
void init_effects()
Definition: effectloaders.cpp:185
-
- - - - diff --git a/docs/html/effectrow_8cpp.html b/docs/html/effectrow_8cpp.html deleted file mode 100644 index df3b2f670..000000000 --- a/docs/html/effectrow_8cpp.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Olive: project/effectrow.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
effectrow.cpp File Reference
-
-
-
#include "effectrow.h"
-#include <QHBoxLayout>
-#include <QPushButton>
-#include <QMessageBox>
-#include "project/undo.h"
-#include "project/clip.h"
-#include "project/sequence.h"
-#include "panels/panels.h"
-#include "panels/effectcontrols.h"
-#include "panels/viewer.h"
-#include "panels/grapheditor.h"
-#include "effect.h"
-#include "ui/viewerwidget.h"
-#include "ui/keyframenavigator.h"
-#include "ui/clickablelabel.h"
-
- - - - diff --git a/docs/html/effectrow_8h.html b/docs/html/effectrow_8h.html deleted file mode 100644 index b86f55eb5..000000000 --- a/docs/html/effectrow_8h.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: project/effectrow.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
effectrow.h File Reference
-
-
-
#include <QObject>
-#include <QVector>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  EffectRow
 
-
- - - - diff --git a/docs/html/effectrow_8h_source.html b/docs/html/effectrow_8h_source.html deleted file mode 100644 index 61a6d0cdf..000000000 --- a/docs/html/effectrow_8h_source.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Olive: project/effectrow.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
effectrow.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef EFFECTROW_H
22 #define EFFECTROW_H
23 
24 #include <QObject>
25 #include <QVector>
26 
27 class Effect;
28 class QGridLayout;
29 class EffectField;
30 class QLabel;
31 class QPushButton;
32 class ComboAction;
33 class QHBoxLayout;
34 class KeyframeNavigator;
35 class ClickableLabel;
36 
37 class EffectRow : public QObject {
38  Q_OBJECT
39 public:
40  EffectRow(Effect* parent, bool save, QGridLayout* uilayout, const QString& n, int row, bool keyframable = true);
41  ~EffectRow();
42  EffectField* add_field(int type, const QString &id, int colspan = 1);
43  void add_widget(QWidget *w);
44  EffectField* field(int i);
45  int fieldCount();
46  void set_keyframe_now(ComboAction *ca);
47  void delete_keyframe_at_time(ComboAction *ca, long time);
50  bool savable;
51  const QString& get_name();
52 
53  bool isKeyframing();
54  void setKeyframing(bool);
55 public slots:
56  void goto_previous_key();
57  void toggle_key();
58  void goto_next_key();
59  void focus_row();
60 private slots:
61  void set_keyframe_enabled(bool);
62 private:
63  bool keyframing;
64  QGridLayout* ui;
65  QString name;
66  int ui_row;
67  QVector<EffectField*> fields;
68  QVector<QWidget*> widgets;
69 
71 
73  QVector<int> unsafe_keys;
74  QVector<QVariant> unsafe_old_data;
75  QVector<bool> key_is_new;
76 
78 };
79 
80 #endif // EFFECTROW_H
int column_count
Definition: effectrow.h:77
-
bool keyframing
Definition: effectrow.h:63
-
Definition: keyframenavigator.h:29
-
QGridLayout * ui
Definition: effectrow.h:64
-
void set_keyframe_enabled(bool)
Definition: effectrow.cpp:89
-
void setKeyframing(bool)
Definition: effectrow.cpp:80
-
QVector< int > unsafe_keys
Definition: effectrow.h:73
-
The ClickableLabel class.
Definition: clickablelabel.h:31
-
The ComboAction class.
Definition: comboaction.h:19
-
~EffectRow()
Definition: effectrow.cpp:70
-
QVector< EffectField * > fields
Definition: effectrow.h:67
-
void toggle_key()
Definition: effectrow.cpp:132
-
Definition: effect.h:169
-
KeyframeNavigator * keyframe_nav
Definition: effectrow.h:70
-
void delete_keyframe_at_time(ComboAction *ca, long time)
Definition: effectrow.cpp:290
-
void focus_row()
Definition: effectrow.cpp:175
-
Definition: effectrow.h:37
-
void add_widget(QWidget *w)
Definition: effectrow.cpp:190
-
ClickableLabel * label
Definition: effectrow.h:48
-
void goto_next_key()
Definition: effectrow.cpp:160
-
bool savable
Definition: effectrow.h:50
-
QVector< bool > key_is_new
Definition: effectrow.h:75
-
int fieldCount()
Definition: effectrow.cpp:310
-
QString name
Definition: effectrow.h:65
-
const QString & get_name()
Definition: effectrow.cpp:302
-
int ui_row
Definition: effectrow.h:66
-
EffectField * field(int i)
Definition: effectrow.cpp:306
-
bool just_made_unsafe_keyframe
Definition: effectrow.h:72
-
Effect * parent_effect
Definition: effectrow.h:49
-
QVector< QWidget * > widgets
Definition: effectrow.h:68
-
EffectField * add_field(int type, const QString &id, int colspan=1)
Definition: effectrow.cpp:179
-
bool isKeyframing()
Definition: effectrow.cpp:76
-
EffectRow(Effect *parent, bool save, QGridLayout *uilayout, const QString &n, int row, bool keyframable=true)
Definition: effectrow.cpp:39
-
Definition: effectfield.h:43
-
void goto_previous_key()
Definition: effectrow.cpp:117
-
QVector< QVariant > unsafe_old_data
Definition: effectrow.h:74
-
void set_keyframe_now(ComboAction *ca)
Definition: effectrow.cpp:196
-
- - - - diff --git a/docs/html/embeddedfilechooser_8cpp.html b/docs/html/embeddedfilechooser_8cpp.html deleted file mode 100644 index dfce1de32..000000000 --- a/docs/html/embeddedfilechooser_8cpp.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: ui/embeddedfilechooser.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
embeddedfilechooser.cpp File Reference
-
-
-
#include "embeddedfilechooser.h"
-#include <QHBoxLayout>
-#include <QLabel>
-#include <QFileInfo>
-#include <QPushButton>
-#include <QFileDialog>
-
- - - - diff --git a/docs/html/embeddedfilechooser_8h.html b/docs/html/embeddedfilechooser_8h.html deleted file mode 100644 index dc3cbe500..000000000 --- a/docs/html/embeddedfilechooser_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/embeddedfilechooser.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
embeddedfilechooser.h File Reference
-
-
-
#include <QWidget>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  EmbeddedFileChooser
 
-
- - - - diff --git a/docs/html/embeddedfilechooser_8h_source.html b/docs/html/embeddedfilechooser_8h_source.html deleted file mode 100644 index e44a05249..000000000 --- a/docs/html/embeddedfilechooser_8h_source.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/embeddedfilechooser.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
embeddedfilechooser.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef EMBEDDEDFILECHOOSER_H
22 #define EMBEDDEDFILECHOOSER_H
23 
24 #include <QWidget>
25 
26 class QLabel;
27 
28 class EmbeddedFileChooser : public QWidget {
29  Q_OBJECT
30 public:
31  EmbeddedFileChooser(QWidget* parent = 0);
32 
33  const QString& getFilename();
34  const QString& getPreviousValue();
35  void setFilename(const QString& s);
36 signals:
37  void changed();
38 private:
39  QLabel* file_label;
40  QString filename;
41  QString old_filename;
42  void update_label();
43 private slots:
44  void browse();
45 };
46 
47 #endif // EMBEDDEDFILECHOOSER_H
QString old_filename
Definition: embeddedfilechooser.h:41
- -
const QString & getPreviousValue()
Definition: embeddedfilechooser.cpp:45
-
QString filename
Definition: embeddedfilechooser.h:40
-
void update_label()
Definition: embeddedfilechooser.cpp:56
-
Definition: embeddedfilechooser.h:28
-
QLabel * file_label
Definition: embeddedfilechooser.h:39
-
void browse()
Definition: embeddedfilechooser.cpp:75
-
void setFilename(const QString &s)
Definition: embeddedfilechooser.cpp:49
-
EmbeddedFileChooser(QWidget *parent=0)
Definition: embeddedfilechooser.cpp:29
-
const QString & getFilename()
Definition: embeddedfilechooser.cpp:41
-
- - - - diff --git a/docs/html/exponentialfadetransition_8cpp.html b/docs/html/exponentialfadetransition_8cpp.html deleted file mode 100644 index 645076a3f..000000000 --- a/docs/html/exponentialfadetransition_8cpp.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: effects/internal/exponentialfadetransition.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
exponentialfadetransition.cpp File Reference
-
-
-
#include "exponentialfadetransition.h"
-#include <QtMath>
-
- - - - diff --git a/docs/html/exponentialfadetransition_8h.html b/docs/html/exponentialfadetransition_8h.html deleted file mode 100644 index 48d804b6e..000000000 --- a/docs/html/exponentialfadetransition_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/exponentialfadetransition.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
exponentialfadetransition.h File Reference
-
- - - - - diff --git a/docs/html/exponentialfadetransition_8h_source.html b/docs/html/exponentialfadetransition_8h_source.html deleted file mode 100644 index bbb2c31d8..000000000 --- a/docs/html/exponentialfadetransition_8h_source.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: effects/internal/exponentialfadetransition.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
exponentialfadetransition.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef EXPONENTIALFADETRANSITION_H
22 #define EXPONENTIALFADETRANSITION_H
23 
24 #include "project/transition.h"
25 
27 public:
29  void process_audio(double timecode_start, double timecode_end, quint8* samples, int nb_bytes, int channel_count);
30 };
31 
32 #endif // LINEARFADETRANSITION_H
-
Definition: exponentialfadetransition.h:26
-
Definition: effect.h:50
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
ExponentialFadeTransition(ClipPtr c, ClipPtr s, const EffectMeta *em)
Definition: exponentialfadetransition.cpp:25
-
void process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
Definition: exponentialfadetransition.cpp:27
-
Definition: transition.h:48
-
- - - - diff --git a/docs/html/exportdialog_8cpp.html b/docs/html/exportdialog_8cpp.html deleted file mode 100644 index 930ba1214..000000000 --- a/docs/html/exportdialog_8cpp.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - -Olive: dialogs/exportdialog.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
exportdialog.cpp File Reference
-
-
-
#include "exportdialog.h"
-#include <QOpenGLWidget>
-#include <QFileDialog>
-#include <QThread>
-#include <QMessageBox>
-#include <QOpenGLContext>
-#include <QtMath>
-#include <QVBoxLayout>
-#include <QHBoxLayout>
-#include <QPushButton>
-#include "oliveglobal.h"
-#include "dialogs/advancedvideodialog.h"
-#include "panels/panels.h"
-#include "ui/viewerwidget.h"
-#include "io/exportthread.h"
-#include "playback/playback.h"
-#include "mainwindow.h"
-#include <libavformat/avformat.h>
-
- - - -

-Enumerations

enum  ExportFormats {
-  FORMAT_3GPP, -FORMAT_AIFF, -FORMAT_APNG, -FORMAT_AVI, -
-  FORMAT_DNXHD, -FORMAT_AC3, -FORMAT_FLV, -FORMAT_GIF, -
-  FORMAT_IMG, -FORMAT_MP2, -FORMAT_MP3, -FORMAT_MPEG1, -
-  FORMAT_MPEG2, -FORMAT_MPEG4, -FORMAT_MPEGTS, -FORMAT_MKV, -
-  FORMAT_OGG, -FORMAT_MOV, -FORMAT_WAV, -FORMAT_WEBM, -
-  FORMAT_WMV, -FORMAT_SIZE -
- }
 
-

Enumeration Type Documentation

- -

◆ ExportFormats

- -
-
- - - - -
enum ExportFormats
-
- - - - - - - - - - - - - - - - - - - - - - - -
Enumerator
FORMAT_3GPP 
FORMAT_AIFF 
FORMAT_APNG 
FORMAT_AVI 
FORMAT_DNXHD 
FORMAT_AC3 
FORMAT_FLV 
FORMAT_GIF 
FORMAT_IMG 
FORMAT_MP2 
FORMAT_MP3 
FORMAT_MPEG1 
FORMAT_MPEG2 
FORMAT_MPEG4 
FORMAT_MPEGTS 
FORMAT_MKV 
FORMAT_OGG 
FORMAT_MOV 
FORMAT_WAV 
FORMAT_WEBM 
FORMAT_WMV 
FORMAT_SIZE 
- -
-
-
- - - - diff --git a/docs/html/exportdialog_8h.html b/docs/html/exportdialog_8h.html deleted file mode 100644 index 1cca6a8eb..000000000 --- a/docs/html/exportdialog_8h.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Olive: dialogs/exportdialog.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
exportdialog.h File Reference
-
-
-
#include <QDialog>
-#include <QComboBox>
-#include <QSpinBox>
-#include <QDoubleSpinBox>
-#include <QLabel>
-#include <QProgressBar>
-#include <QGroupBox>
-#include "project/sequence.h"
-#include "io/exportthread.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  ExportDialog
 
-
- - - - diff --git a/docs/html/exportdialog_8h_source.html b/docs/html/exportdialog_8h_source.html deleted file mode 100644 index 86de3ec65..000000000 --- a/docs/html/exportdialog_8h_source.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - -Olive: dialogs/exportdialog.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
exportdialog.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef EXPORTDIALOG_H
22 #define EXPORTDIALOG_H
23 
24 #include <QDialog>
25 #include <QComboBox>
26 #include <QSpinBox>
27 #include <QDoubleSpinBox>
28 #include <QLabel>
29 #include <QProgressBar>
30 #include <QGroupBox>
31 
32 #include "project/sequence.h"
33 
34 #include "io/exportthread.h"
35 
36 class ExportDialog : public QDialog
37 {
38  Q_OBJECT
39 public:
40  explicit ExportDialog(QWidget *parent = 0);
41  ~ExportDialog();
42  QString export_error;
43 
44 private slots:
45  void format_changed(int index);
46  void export_action();
47  void update_progress_bar(int value, qint64 remaining_ms);
48  void cancel_render();
50  void vcodec_changed(int index);
51  void comp_type_changed(int index);
53 
54 private:
55  QVector<QString> format_strings;
56  void setup_ui();
57 
59  void prep_ui_for_render(bool r);
60  bool cancelled;
61 
62  void add_codec_to_combobox(QComboBox* box, enum AVCodecID codec);
63 
65 
66  QComboBox* rangeCombobox;
67  QSpinBox* widthSpinbox;
68  QDoubleSpinBox* videobitrateSpinbox;
70  QDoubleSpinBox* framerateSpinbox;
71  QComboBox* vcodecCombobox;
72  QComboBox* acodecCombobox;
75  QProgressBar* progressBar;
76  QComboBox* formatCombobox;
77  QSpinBox* heightSpinbox;
78  QPushButton* export_button;
79  QPushButton* cancel_button;
80  QPushButton* renderCancel;
81  QGroupBox* videoGroupbox;
82  QGroupBox* audioGroupbox;
84 };
85 
86 #endif // EXPORTDIALOG_H
QProgressBar * progressBar
Definition: exportdialog.h:75
-
void setup_ui()
Definition: exportdialog.cpp:628
-
QPushButton * export_button
Definition: exportdialog.h:78
-
QGroupBox * audioGroupbox
Definition: exportdialog.h:82
-
Definition: exportthread.h:71
-
void open_advanced_video_dialog()
Definition: exportdialog.cpp:623
-
QComboBox * acodecCombobox
Definition: exportdialog.h:72
-
void add_codec_to_combobox(QComboBox *box, enum AVCodecID codec)
Definition: exportdialog.cpp:119
-
bool cancelled
Definition: exportdialog.h:60
- -
VideoCodecParams vcodec_params
Definition: exportdialog.h:64
-
void render_thread_finished()
Definition: exportdialog.cpp:327
-
ExportThread * et
Definition: exportdialog.h:58
-
QGroupBox * videoGroupbox
Definition: exportdialog.h:81
- -
QVector< QString > format_strings
Definition: exportdialog.h:55
-
Definition: exportthread.h:67
-
~ExportDialog()
Definition: exportdialog.cpp:116
-
QComboBox * rangeCombobox
Definition: exportdialog.h:66
-
void vcodec_changed(int index)
Definition: exportdialog.cpp:568
-
QDoubleSpinBox * framerateSpinbox
Definition: exportdialog.h:70
-
QSpinBox * samplingRateSpinbox
Definition: exportdialog.h:73
-
QComboBox * compressionTypeCombobox
Definition: exportdialog.h:83
-
QString export_error
Definition: exportdialog.h:42
-
QSpinBox * heightSpinbox
Definition: exportdialog.h:77
-
QSpinBox * audiobitrateSpinbox
Definition: exportdialog.h:74
-
void cancel_render()
Definition: exportdialog.cpp:562
-
void comp_type_changed(int index)
Definition: exportdialog.cpp:600
-
Definition: exportdialog.h:36
-
QComboBox * vcodecCombobox
Definition: exportdialog.h:71
-
void update_progress_bar(int value, qint64 remaining_ms)
Definition: exportdialog.cpp:552
-
QDoubleSpinBox * videobitrateSpinbox
Definition: exportdialog.h:68
-
QLabel * videoBitrateLabel
Definition: exportdialog.h:69
-
QPushButton * renderCancel
Definition: exportdialog.h:80
-
void prep_ui_for_render(bool r)
Definition: exportdialog.cpp:344
-
void format_changed(int index)
Definition: exportdialog.cpp:133
-
ExportDialog(QWidget *parent=0)
Definition: exportdialog.cpp:70
-
QSpinBox * widthSpinbox
Definition: exportdialog.h:67
-
QPushButton * cancel_button
Definition: exportdialog.h:79
-
void export_action()
Definition: exportdialog.cpp:350
-
QComboBox * formatCombobox
Definition: exportdialog.h:76
-
- - - - diff --git a/docs/html/exportthread_8cpp.html b/docs/html/exportthread_8cpp.html deleted file mode 100644 index 2ca4255ea..000000000 --- a/docs/html/exportthread_8cpp.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Olive: io/exportthread.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
exportthread.cpp File Reference
-
-
-
#include "exportthread.h"
-#include "oliveglobal.h"
-#include "project/sequence.h"
-#include "panels/panels.h"
-#include "ui/viewerwidget.h"
-#include "ui/renderthread.h"
-#include "ui/renderfunctions.h"
-#include "playback/playback.h"
-#include "playback/audio.h"
-#include "mainwindow.h"
-#include "debug.h"
-#include <libavformat/avformat.h>
-#include <libavutil/opt.h>
-#include <libswresample/swresample.h>
-#include <libswscale/swscale.h>
-#include <QApplication>
-#include <QOffscreenSurface>
-#include <QOpenGLFramebufferObject>
-#include <QOpenGLPaintDevice>
-#include <QPainter>
-
- - - - diff --git a/docs/html/exportthread_8h.html b/docs/html/exportthread_8h.html deleted file mode 100644 index 44542537b..000000000 --- a/docs/html/exportthread_8h.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - -Olive: io/exportthread.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
exportthread.h File Reference
-
-
-
#include <QThread>
-#include <QOffscreenSurface>
-#include <QMutex>
-#include <QWaitCondition>
-#include <libavcodec/avcodec.h>
-
-

Go to the source code of this file.

- - - - - - - - -

-Classes

struct  ExportParams
 
struct  VideoCodecParams
 
class  ExportThread
 
- - - - - - - - - -

-Macros

#define COMPRESSION_TYPE_CBR   0
 
#define COMPRESSION_TYPE_CFR   1
 
#define COMPRESSION_TYPE_TARGETSIZE   2
 
#define COMPRESSION_TYPE_TARGETBR   3
 
-

Macro Definition Documentation

- -

◆ COMPRESSION_TYPE_CBR

- -
-
- - - - -
#define COMPRESSION_TYPE_CBR   0
-
- -
-
- -

◆ COMPRESSION_TYPE_CFR

- -
-
- - - - -
#define COMPRESSION_TYPE_CFR   1
-
- -
-
- -

◆ COMPRESSION_TYPE_TARGETBR

- -
-
- - - - -
#define COMPRESSION_TYPE_TARGETBR   3
-
- -
-
- -

◆ COMPRESSION_TYPE_TARGETSIZE

- -
-
- - - - -
#define COMPRESSION_TYPE_TARGETSIZE   2
-
- -
-
-
- - - - diff --git a/docs/html/exportthread_8h_source.html b/docs/html/exportthread_8h_source.html deleted file mode 100644 index ffed1604d..000000000 --- a/docs/html/exportthread_8h_source.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - -Olive: io/exportthread.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
exportthread.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef EXPORTTHREAD_H
22 #define EXPORTTHREAD_H
23 
24 #include <QThread>
25 #include <QOffscreenSurface>
26 #include <QMutex>
27 #include <QWaitCondition>
28 
29 struct AVFormatContext;
30 struct AVCodecContext;
31 struct AVFrame;
32 struct AVPacket;
33 struct AVStream;
34 struct AVCodec;
35 struct SwsContext;
36 struct SwrContext;
37 
38 extern "C" {
39  #include <libavcodec/avcodec.h>
40 }
41 
42 #define COMPRESSION_TYPE_CBR 0
43 #define COMPRESSION_TYPE_CFR 1
44 #define COMPRESSION_TYPE_TARGETSIZE 2
45 #define COMPRESSION_TYPE_TARGETBR 3
46 
47 // structs that store parameters passed from the export dialogs to this thread
48 
49 struct ExportParams {
50  // export parameters
51  QString filename;
58  double video_bitrate;
64  long end_frame;
65 };
66 
68  int pix_fmt;
69 };
70 
71 class ExportThread : public QThread {
72  Q_OBJECT
73 public:
74  ExportThread(const ExportParams& iparams, const VideoCodecParams& ivparams, QObject* parent = nullptr);
75  void run();
76 
77  const QString& getError();
78 
79  QOffscreenSurface surface;
80 
82 signals:
83  void progress_changed(int value, qint64 remaining_ms);
84 public slots:
85  void wake();
86 private:
87  bool encode(AVFormatContext* ofmt_ctx, AVCodecContext* codec_ctx, AVFrame* frame, AVPacket* packet, AVStream* stream, bool rescale);
88  bool setupVideo();
89  bool setupAudio();
90  bool setupContainer();
91 
92  // params imported from dialogs
95 
96  AVFormatContext* fmt_ctx;
97  AVStream* video_stream;
98  AVCodec* vcodec;
99  AVCodecContext* vcodec_ctx;
100  AVFrame* video_frame;
101  AVFrame* sws_frame;
102  SwsContext* sws_ctx;
103  AVStream* audio_stream;
104  AVCodec* acodec;
105  AVFrame* audio_frame;
106  AVFrame* swr_frame;
107  AVCodecContext* acodec_ctx;
108  AVPacket video_pkt;
109  AVPacket audio_pkt;
110  SwrContext* swr_ctx;
111 
114 
116  int ret;
117  char* c_filename;
118 
119  QMutex mutex;
120  QWaitCondition waitCond;
121 
122  QString export_error;
123 };
124 
125 #endif // EXPORTTHREAD_H
QString export_error
Definition: exportthread.h:122
-
void run()
Definition: exportthread.cpp:335
-
AVFormatContext * fmt_ctx
Definition: exportthread.h:96
-
ExportThread(const ExportParams &iparams, const VideoCodecParams &ivparams, QObject *parent=nullptr)
Definition: exportthread.cpp:50
-
Definition: exportthread.h:71
-
void wake()
Definition: exportthread.cpp:533
-
AVStream * video_stream
Definition: exportthread.h:97
-
bool setupAudio()
Definition: exportthread.cpp:208
-
int aframe_bytes
Definition: exportthread.h:115
-
char * c_filename
Definition: exportthread.h:117
-
const QString & getError()
Definition: exportthread.cpp:529
-
int audio_sampling_rate
Definition: exportthread.h:61
-
AVFrame * sws_frame
Definition: exportthread.h:101
-
long end_frame
Definition: exportthread.h:64
-
QString filename
Definition: exportthread.h:51
-
long start_frame
Definition: exportthread.h:63
-
AVFrame * audio_frame
Definition: exportthread.h:105
-
Definition: exportthread.h:49
-
ExportParams params
Definition: exportthread.h:93
-
int video_compression_type
Definition: exportthread.h:57
-
AVFrame * swr_frame
Definition: exportthread.h:106
-
bool audio_enabled
Definition: exportthread.h:59
-
bool continueEncode
Definition: exportthread.h:81
-
Definition: exportthread.h:67
-
int pix_fmt
Definition: exportthread.h:68
-
VideoCodecParams vcodec_params
Definition: exportthread.h:94
-
bool encode(AVFormatContext *ofmt_ctx, AVCodecContext *codec_ctx, AVFrame *frame, AVPacket *packet, AVStream *stream, bool rescale)
Definition: exportthread.cpp:78
-
AVPacket video_pkt
Definition: exportthread.h:108
-
AVPacket audio_pkt
Definition: exportthread.h:109
-
int video_width
Definition: exportthread.h:54
-
bool apkt_alloc
Definition: exportthread.h:113
-
int video_height
Definition: exportthread.h:55
-
bool vpkt_alloc
Definition: exportthread.h:112
-
bool video_enabled
Definition: exportthread.h:52
-
int video_codec
Definition: exportthread.h:53
-
double video_bitrate
Definition: exportthread.h:58
-
AVCodecContext * acodec_ctx
Definition: exportthread.h:107
-
bool setupVideo()
Definition: exportthread.cpp:106
-
int audio_bitrate
Definition: exportthread.h:62
-
QMutex mutex
Definition: exportthread.h:119
-
AVCodecContext * vcodec_ctx
Definition: exportthread.h:99
-
int audio_codec
Definition: exportthread.h:60
-
SwrContext * swr_ctx
Definition: exportthread.h:110
-
AVStream * audio_stream
Definition: exportthread.h:103
-
void progress_changed(int value, qint64 remaining_ms)
-
int ret
Definition: exportthread.h:116
-
QOffscreenSurface surface
Definition: exportthread.h:79
-
double video_frame_rate
Definition: exportthread.h:56
-
AVCodec * acodec
Definition: exportthread.h:104
-
AVCodec * vcodec
Definition: exportthread.h:98
-
bool setupContainer()
Definition: exportthread.cpp:315
-
SwsContext * sws_ctx
Definition: exportthread.h:102
-
AVFrame * video_frame
Definition: exportthread.h:100
-
QWaitCondition waitCond
Definition: exportthread.h:120
-
- - - - diff --git a/docs/html/files.html b/docs/html/files.html deleted file mode 100644 index ddea8d6ae..000000000 --- a/docs/html/files.html +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - - -Olive: File List - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
File List
-
-
-
Here is a list of all files with brief descriptions:
-
[detail level 123]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  dialogs
  effects
  include
  io
  packaging
  panels
  playback
  project
  ui
 debug.cpp
 debug.h
 main.cpp
 mainwindow.cpp
 mainwindow.h
 oliveglobal.cpp
 oliveglobal.h
-
-
- - - - diff --git a/docs/html/fillleftrighteffect_8cpp.html b/docs/html/fillleftrighteffect_8cpp.html deleted file mode 100644 index 503d1e068..000000000 --- a/docs/html/fillleftrighteffect_8cpp.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -Olive: effects/internal/fillleftrighteffect.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
fillleftrighteffect.cpp File Reference
-
-
- - - - - - -

-Macros

#define FILL_TYPE_LEFT   0
 
#define FILL_TYPE_RIGHT   1
 
-

Macro Definition Documentation

- -

◆ FILL_TYPE_LEFT

- -
-
- - - - -
#define FILL_TYPE_LEFT   0
-
- -
-
- -

◆ FILL_TYPE_RIGHT

- -
-
- - - - -
#define FILL_TYPE_RIGHT   1
-
- -
-
-
- - - - diff --git a/docs/html/fillleftrighteffect_8h.html b/docs/html/fillleftrighteffect_8h.html deleted file mode 100644 index 00f546e6c..000000000 --- a/docs/html/fillleftrighteffect_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/fillleftrighteffect.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
fillleftrighteffect.h File Reference
-
-
-
#include "project/effect.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  FillLeftRightEffect
 
-
- - - - diff --git a/docs/html/fillleftrighteffect_8h_source.html b/docs/html/fillleftrighteffect_8h_source.html deleted file mode 100644 index 4ab4634ba..000000000 --- a/docs/html/fillleftrighteffect_8h_source.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: effects/internal/fillleftrighteffect.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
fillleftrighteffect.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef FILLLEFTRIGHTEFFECT_H
22 #define FILLLEFTRIGHTEFFECT_H
23 
24 #include "project/effect.h"
25 
26 class FillLeftRightEffect : public Effect {
27  Q_OBJECT
28 public:
30  void process_audio(double timecode_start, double timecode_end, quint8* samples, int nb_bytes, int channel_count);
31 private:
33 };
34 
35 #endif // FILLLEFTRIGHTEFFECT_H
FillLeftRightEffect(ClipPtr c, const EffectMeta *em)
Definition: fillleftrighteffect.cpp:26
-
Definition: effect.h:169
- -
Definition: effect.h:50
-
void process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
Definition: fillleftrighteffect.cpp:33
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
Definition: fillleftrighteffect.h:26
-
EffectField * fill_type
Definition: fillleftrighteffect.h:32
-
Definition: effectfield.h:43
-
- - - - diff --git a/docs/html/flowlayout_8cpp.html b/docs/html/flowlayout_8cpp.html deleted file mode 100644 index 1e12c7838..000000000 --- a/docs/html/flowlayout_8cpp.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: ui/flowlayout.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
flowlayout.cpp File Reference
-
-
-
#include <QtWidgets>
-#include "flowlayout.h"
-
- - - - diff --git a/docs/html/flowlayout_8h.html b/docs/html/flowlayout_8h.html deleted file mode 100644 index 6bc91264d..000000000 --- a/docs/html/flowlayout_8h.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: ui/flowlayout.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
flowlayout.h File Reference
-
-
-
#include <QLayout>
-#include <QRect>
-#include <QStyle>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  FlowLayout
 
-
- - - - diff --git a/docs/html/flowlayout_8h_source.html b/docs/html/flowlayout_8h_source.html deleted file mode 100644 index e293073b4..000000000 --- a/docs/html/flowlayout_8h_source.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Olive: ui/flowlayout.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
flowlayout.h
-
-
-Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2016 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of the examples of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:BSD$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://www.qt.io/contact-us.
16 **
17 ** BSD License Usage
18 ** Alternatively, you may use this file under the terms of the BSD license
19 ** as follows:
20 **
21 ** "Redistribution and use in source and binary forms, with or without
22 ** modification, are permitted provided that the following conditions are
23 ** met:
24 ** * Redistributions of source code must retain the above copyright
25 ** notice, this list of conditions and the following disclaimer.
26 ** * Redistributions in binary form must reproduce the above copyright
27 ** notice, this list of conditions and the following disclaimer in
28 ** the documentation and/or other materials provided with the
29 ** distribution.
30 ** * Neither the name of The Qt Company Ltd nor the names of its
31 ** contributors may be used to endorse or promote products derived
32 ** from this software without specific prior written permission.
33 **
34 **
35 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
38 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
39 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
42 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
43 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
44 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
46 **
47 ** $QT_END_LICENSE$
48 **
49 ****************************************************************************/
50 
51 
52 #ifndef FLOWLAYOUT_H
53 #define FLOWLAYOUT_H
54 
55 #include <QLayout>
56 #include <QRect>
57 #include <QStyle>
58 class FlowLayout : public QLayout
59 {
60 public:
61  explicit FlowLayout(QWidget *parent, int margin = -1, int hSpacing = -1, int vSpacing = -1);
62  explicit FlowLayout(int margin = -1, int hSpacing = -1, int vSpacing = -1);
63  ~FlowLayout();
64 
65  void addItem(QLayoutItem *item) override;
66  int horizontalSpacing() const;
67  int verticalSpacing() const;
68  Qt::Orientations expandingDirections() const override;
69  bool hasHeightForWidth() const override;
70  int heightForWidth(int) const override;
71  int count() const override;
72  QLayoutItem *itemAt(int index) const override;
73  QSize minimumSize() const override;
74  void setGeometry(const QRect &rect) override;
75  QSize sizeHint() const override;
76  QLayoutItem *takeAt(int index) override;
77 
78 private:
79  int doLayout(const QRect &rect, bool testOnly) const;
80  int smartSpacing(QStyle::PixelMetric pm) const;
81 
82  QList<QLayoutItem *> itemList;
83  int m_hSpace;
84  int m_vSpace;
85 };
86 
87 #endif // FLOWLAYOUT_H
QLayoutItem * takeAt(int index) override
Definition: flowlayout.cpp:107
-
int heightForWidth(int) const override
Definition: flowlayout.cpp:125
-
FlowLayout(QWidget *parent, int margin=-1, int hSpacing=-1, int vSpacing=-1)
Definition: flowlayout.cpp:55
-
void setGeometry(const QRect &rect) override
Definition: flowlayout.cpp:131
-
QSize sizeHint() const override
Definition: flowlayout.cpp:137
-
int doLayout(const QRect &rect, bool testOnly) const
Definition: flowlayout.cpp:153
-
~FlowLayout()
Definition: flowlayout.cpp:67
-
Definition: flowlayout.h:58
-
int count() const override
Definition: flowlayout.cpp:97
-
bool hasHeightForWidth() const override
Definition: flowlayout.cpp:120
-
Qt::Orientations expandingDirections() const override
Definition: flowlayout.cpp:115
-
QList< QLayoutItem * > itemList
Definition: flowlayout.h:82
-
int verticalSpacing() const
Definition: flowlayout.cpp:88
-
int horizontalSpacing() const
Definition: flowlayout.cpp:79
-
int smartSpacing(QStyle::PixelMetric pm) const
Definition: flowlayout.cpp:189
-
int m_hSpace
Definition: flowlayout.h:83
-
int m_vSpace
Definition: flowlayout.h:84
-
QSize minimumSize() const override
Definition: flowlayout.cpp:142
-
QLayoutItem * itemAt(int index) const override
Definition: flowlayout.cpp:102
-
void addItem(QLayoutItem *item) override
Definition: flowlayout.cpp:74
-
- - - - diff --git a/docs/html/focusfilter_8cpp.html b/docs/html/focusfilter_8cpp.html deleted file mode 100644 index 3ac98deda..000000000 --- a/docs/html/focusfilter_8cpp.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: ui/focusfilter.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
focusfilter.cpp File Reference
-
-
-
#include "focusfilter.h"
-#include "panels/panels.h"
-#include "project/sequence.h"
-#include "ui/timelineheader.h"
-
- - - - diff --git a/docs/html/focusfilter_8h.html b/docs/html/focusfilter_8h.html deleted file mode 100644 index 9dd79f76e..000000000 --- a/docs/html/focusfilter_8h.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Olive: ui/focusfilter.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
focusfilter.h File Reference
-
-
-
#include <QObject>
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  FocusFilter
 The FocusFilter class. More...
 
- - - -

-Namespaces

 olive
 
- - - -

-Variables

FocusFilter olive::FocusFilter
 
-
- - - - diff --git a/docs/html/focusfilter_8h_source.html b/docs/html/focusfilter_8h_source.html deleted file mode 100644 index 662ceba76..000000000 --- a/docs/html/focusfilter_8h_source.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Olive: ui/focusfilter.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
focusfilter.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef FOCUSFILTER_H
22 #define FOCUSFILTER_H
23 
24 #include <QObject>
25 
37 class FocusFilter : public QObject {
38  Q_OBJECT
39 public:
45  FocusFilter();
46 
47 public slots:
53  void cut();
54 
60  void copy();
61 
67  void duplicate();
68 
74  void go_to_in();
75 
81  void go_to_out();
82 
88  void go_to_start();
89 
95  void prev_frame();
96 
102  void play_in_to_out();
103 
109  void playpause();
110 
116  void pause();
117 
123  void increase_speed();
124 
130  void decrease_speed();
131 
137  void next_frame();
138 
144  void go_to_end();
145 
151  void set_viewer_fullscreen();
152 
158  void set_marker();
159 
165  void set_in_point();
166 
172  void set_out_point();
173 
179  void clear_in();
180 
186  void clear_out();
187 
193  void clear_inout();
194 
201  void delete_function();
202 
208  void select_all();
209 
216  void zoom_in();
217 
224  void zoom_out();
225 };
226 
227 namespace olive {
228  extern FocusFilter FocusFilter;
229 }
230 
231 #endif // FOCUSFILTER_H
void cut()
Cuts selected clips or selected effects (but not both).
Definition: focusfilter.cpp:253
-
void decrease_speed()
Decrease Speed/Shuttle Left.
Definition: focusfilter.cpp:143
-
void pause()
Pause/Shuttle Stop.
Definition: focusfilter.cpp:125
-
void go_to_in()
Go to In Point.
Definition: focusfilter.cpp:31
-
void zoom_out()
Zoom Out.
Definition: focusfilter.cpp:240
-
void playpause()
Toggle Play/Pause.
Definition: focusfilter.cpp:116
-
void set_viewer_fullscreen()
Set currently focused viewer to full screen.
Definition: focusfilter.cpp:94
-
void go_to_end()
Go to End.
Definition: focusfilter.cpp:85
-
void set_marker()
Set a marker at the current playhead.
Definition: focusfilter.cpp:102
-
FocusFilter()
FocusFilter Constructor.
Definition: focusfilter.cpp:29
-
void clear_out()
Clear out point.
Definition: focusfilter.cpp:176
-
Definition: debugdialog.h:39
-
void zoom_in()
Zoom In.
Definition: focusfilter.cpp:227
-
void increase_speed()
Increase Speed/Shuttle Right.
Definition: focusfilter.cpp:134
-
void set_in_point()
Set in point.
Definition: focusfilter.cpp:152
-
void play_in_to_out()
Play In Point to Out Point.
Definition: focusfilter.cpp:67
-
void prev_frame()
Go to Previous Frame.
Definition: focusfilter.cpp:58
-
void clear_in()
Clear in point.
Definition: focusfilter.cpp:168
-
The FocusFilter class.
Definition: focusfilter.h:37
-
void set_out_point()
Set out point.
Definition: focusfilter.cpp:160
-
FocusFilter FocusFilter
Definition: focusfilter.cpp:27
-
void select_all()
Select All.
Definition: focusfilter.cpp:218
-
void go_to_out()
Go to Out Point.
Definition: focusfilter.cpp:40
-
void copy()
Copies selected clips or selected effects (but not both).
Definition: focusfilter.cpp:264
-
void duplicate()
Duplicates currently selected items.
Definition: focusfilter.cpp:212
-
void go_to_start()
Go to Start.
Definition: focusfilter.cpp:49
-
void next_frame()
Go to Next Frame.
Definition: focusfilter.cpp:76
-
void clear_inout()
Clear in/out point.
Definition: focusfilter.cpp:184
-
void delete_function()
Delete.
Definition: focusfilter.cpp:192
-
- - - - diff --git a/docs/html/folderclosed.png b/docs/html/folderclosed.png deleted file mode 100644 index bb8ab35ed..000000000 Binary files a/docs/html/folderclosed.png and /dev/null differ diff --git a/docs/html/folderopen.png b/docs/html/folderopen.png deleted file mode 100644 index d6c7f676a..000000000 Binary files a/docs/html/folderopen.png and /dev/null differ diff --git a/docs/html/fontcombobox_8cpp.html b/docs/html/fontcombobox_8cpp.html deleted file mode 100644 index 3a448d73c..000000000 --- a/docs/html/fontcombobox_8cpp.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: ui/fontcombobox.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
fontcombobox.cpp File Reference
-
-
-
#include "fontcombobox.h"
-#include <QFontDatabase>
-
- - - - diff --git a/docs/html/fontcombobox_8h.html b/docs/html/fontcombobox_8h.html deleted file mode 100644 index 698d5dbed..000000000 --- a/docs/html/fontcombobox_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/fontcombobox.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
fontcombobox.h File Reference
-
-
-
#include "comboboxex.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  FontCombobox
 
-
- - - - diff --git a/docs/html/fontcombobox_8h_source.html b/docs/html/fontcombobox_8h_source.html deleted file mode 100644 index 547e1013f..000000000 --- a/docs/html/fontcombobox_8h_source.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: ui/fontcombobox.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
fontcombobox.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef FONTCOMBOBOX_H
22 #define FONTCOMBOBOX_H
23 
24 #include "comboboxex.h"
25 
26 class FontCombobox : public ComboBoxEx {
27  Q_OBJECT
28 public:
29  FontCombobox(QWidget* parent = 0);
30  const QString &getPreviousValue();
31 private slots:
32  void updateInternals();
33 private:
34  QString previousValue;
35  QString value;
36 };
37 
38 #endif // FONTCOMBOBOX_H
FontCombobox(QWidget *parent=0)
Definition: fontcombobox.cpp:25
-
Definition: fontcombobox.h:26
-
QString value
Definition: fontcombobox.h:35
- -
Definition: comboboxex.h:27
-
QString previousValue
Definition: fontcombobox.h:34
-
void updateInternals()
Definition: fontcombobox.cpp:37
-
const QString & getPreviousValue()
Definition: fontcombobox.cpp:33
-
- - - - diff --git a/docs/html/footage_8cpp.html b/docs/html/footage_8cpp.html deleted file mode 100644 index b53def239..000000000 --- a/docs/html/footage_8cpp.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: project/footage.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
footage.cpp File Reference
-
-
-
#include "footage.h"
-#include <QDebug>
-#include <QtMath>
-#include <QPainter>
-#include "io/previewgenerator.h"
-#include <libavformat/avformat.h>
-#include "project/clip.h"
-
- - - - diff --git a/docs/html/footage_8h.html b/docs/html/footage_8h.html deleted file mode 100644 index 285a370ac..000000000 --- a/docs/html/footage_8h.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - -Olive: project/footage.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
footage.h File Reference
-
-
-
#include <QString>
-#include <QVector>
-#include <QMetaType>
-#include <QVariant>
-#include <QMutex>
-#include <QPixmap>
-#include <QIcon>
-#include "project/marker.h"
-
-

Go to the source code of this file.

- - - - - - -

-Classes

struct  FootageStream
 
struct  Footage
 
- - - -

-Typedefs

using FootagePtr = std::shared_ptr< Footage >
 
- - - -

-Enumerations

enum  VideoInterlacingMode { VIDEO_PROGRESSIVE, -VIDEO_TOP_FIELD_FIRST, -VIDEO_BOTTOM_FIELD_FIRST - }
 
-

Typedef Documentation

- -

◆ FootagePtr

- -
-
- - - - -
using FootagePtr = std::shared_ptr<Footage>
-
- -
-
-

Enumeration Type Documentation

- -

◆ VideoInterlacingMode

- -
-
- - - - -
enum VideoInterlacingMode
-
- - - - -
Enumerator
VIDEO_PROGRESSIVE 
VIDEO_TOP_FIELD_FIRST 
VIDEO_BOTTOM_FIELD_FIRST 
- -
-
-
- - - - diff --git a/docs/html/footage_8h_source.html b/docs/html/footage_8h_source.html deleted file mode 100644 index bd7d9464a..000000000 --- a/docs/html/footage_8h_source.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Olive: project/footage.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
footage.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef FOOTAGE_H
22 #define FOOTAGE_H
23 
24 #include <QString>
25 #include <QVector>
26 #include <QMetaType>
27 #include <QVariant>
28 #include <QMutex>
29 #include <QPixmap>
30 #include <QIcon>
31 
32 #include "project/marker.h"
33 
38 };
39 
40 class Sequence;
41 class Clip;
42 class PreviewGenerator;
43 
44 struct FootageStream {
55  bool enabled;
56 
57  // preview thumbnail/waveform
59  QImage video_preview;
61  QVector<char> audio_preview;
62  void make_square_thumb();
63 };
64 
65 struct Footage {
66  Footage();
67  ~Footage();
68 
69  // footage metadata
70  QString url;
71  QString name;
72  int64_t length;
73  QVector<FootageStream> video_tracks;
74  QVector<FootageStream> audio_tracks;
75  int save_id;
76  bool ready;
77  bool invalid;
78  double speed;
80 
81  // proxy config
82  bool proxy;
83  QString proxy_path;
84 
85  // thumbnail/waveform generation
87  QMutex ready_lock;
88 
89  // in/out points
91  long in;
92  long out;
93 
94  // markers
95  QVector<Marker> markers;
96 
97  // functions
98  long get_length_in_frames(double frame_rate);
99  FootageStream *get_stream_from_file_index(bool video, int index);
100  void reset();
101 };
102 
103 using FootagePtr = std::shared_ptr<Footage>;
104 
105 #endif // FOOTAGE_H
QMutex ready_lock
Definition: footage.h:87
-
bool preview_done
Definition: footage.h:58
-
QVector< Marker > markers
Definition: footage.h:95
-
FootageStream * get_stream_from_file_index(bool video, int index)
Definition: footage.cpp:65
-
Definition: sequence.h:31
-
QVector< char > audio_preview
Definition: footage.h:61
-
int file_index
Definition: footage.h:45
-
double video_frame_rate
Definition: footage.h:49
-
int video_auto_interlacing
Definition: footage.h:51
-
Definition: footage.h:35
-
Definition: previewgenerator.h:38
-
void reset()
Definition: footage.cpp:51
-
QString url
Definition: footage.h:70
-
QIcon video_preview_square
Definition: footage.h:60
-
bool proxy
Definition: footage.h:82
-
std::shared_ptr< Footage > FootagePtr
Definition: footage.h:103
-
bool ready
Definition: footage.h:76
-
QVector< FootageStream > video_tracks
Definition: footage.h:73
-
bool alpha_is_premultiplied
Definition: footage.h:79
-
long in
Definition: footage.h:91
-
VideoInterlacingMode
Definition: footage.h:34
-
int audio_frequency
Definition: footage.h:54
-
PreviewGenerator * preview_gen
Definition: footage.h:86
-
~Footage()
Definition: footage.cpp:47
-
long get_length_in_frames(double frame_rate)
Definition: footage.cpp:60
-
long out
Definition: footage.h:92
-
int video_interlacing
Definition: footage.h:50
-
double speed
Definition: footage.h:78
-
Definition: footage.h:44
-
void make_square_thumb()
Definition: footage.cpp:82
-
QImage video_preview
Definition: footage.h:59
-
int video_width
Definition: footage.h:46
-
Definition: footage.h:36
-
QString name
Definition: footage.h:71
-
bool infinite_length
Definition: footage.h:48
-
int save_id
Definition: footage.h:75
-
bool using_inout
Definition: footage.h:90
-
QString proxy_path
Definition: footage.h:83
-
Footage()
Definition: footage.cpp:34
-
bool enabled
Definition: footage.h:55
-
int audio_channels
Definition: footage.h:52
-
Definition: clip.h:50
-
Definition: footage.h:37
-
int audio_layout
Definition: footage.h:53
-
bool invalid
Definition: footage.h:77
-
int64_t length
Definition: footage.h:72
- -
Definition: footage.h:65
-
int video_height
Definition: footage.h:47
-
QVector< FootageStream > audio_tracks
Definition: footage.h:74
-
- - - - diff --git a/docs/html/frei0reffect_8cpp.html b/docs/html/frei0reffect_8cpp.html deleted file mode 100644 index 9ad115e20..000000000 --- a/docs/html/frei0reffect_8cpp.html +++ /dev/null @@ -1,203 +0,0 @@ - - - - - - - -Olive: effects/internal/frei0reffect.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
frei0reffect.cpp File Reference
-
-
-
#include "frei0reffect.h"
-#include <QMessageBox>
-#include <QDir>
-#include "project/clip.h"
-
- - - - - - - - - - - - - - - -

-Typedefs

typedef f0r_instance_t(* f0rConstructFunc) (unsigned int width, unsigned int height)
 
typedef int(* f0rInitFunc) ()
 
typedef void(* f0rDeinitFunc) ()
 
typedef void(* f0rUpdateFunc) (f0r_instance_t instance, double time, const uint32_t *inframe, uint32_t *outframe)
 
typedef void(* f0rDestructFunc) (f0r_instance_t instance)
 
typedef void(* f0rGetPluginInfo) (f0r_plugin_info_t *info)
 
typedef void(* f0rSetParamValue) (f0r_instance_t instance, f0r_param_t param, int param_index)
 
-

Typedef Documentation

- -

◆ f0rConstructFunc

- -
-
- - - - -
typedef f0r_instance_t(* f0rConstructFunc) (unsigned int width, unsigned int height)
-
- -
-
- -

◆ f0rDeinitFunc

- -
-
- - - - -
typedef void(* f0rDeinitFunc) ()
-
- -
-
- -

◆ f0rDestructFunc

- -
-
- - - - -
typedef void(* f0rDestructFunc) (f0r_instance_t instance)
-
- -
-
- -

◆ f0rGetPluginInfo

- -
-
- - - - -
typedef void(* f0rGetPluginInfo) (f0r_plugin_info_t *info)
-
- -
-
- -

◆ f0rInitFunc

- -
-
- - - - -
typedef int(* f0rInitFunc) ()
-
- -
-
- -

◆ f0rSetParamValue

- -
-
- - - - -
typedef void(* f0rSetParamValue) (f0r_instance_t instance, f0r_param_t param, int param_index)
-
- -
-
- -

◆ f0rUpdateFunc

- -
-
- - - - -
typedef void(* f0rUpdateFunc) (f0r_instance_t instance, double time, const uint32_t *inframe, uint32_t *outframe)
-
- -
-
-
- - - - diff --git a/docs/html/frei0reffect_8h.html b/docs/html/frei0reffect_8h.html deleted file mode 100644 index e0aa87d24..000000000 --- a/docs/html/frei0reffect_8h.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -Olive: effects/internal/frei0reffect.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
frei0reffect.h File Reference
-
-
-
#include "project/effect.h"
-#include <frei0r.h>
-#include "io/crossplatformlib.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  Frei0rEffect
 
- - - -

-Typedefs

typedef void(* f0rGetParamInfo) (f0r_param_info_t *info, int param_index)
 
-

Typedef Documentation

- -

◆ f0rGetParamInfo

- -
-
- - - - -
typedef void(* f0rGetParamInfo) (f0r_param_info_t *info, int param_index)
-
- -
-
-
- - - - diff --git a/docs/html/frei0reffect_8h_source.html b/docs/html/frei0reffect_8h_source.html deleted file mode 100644 index 3a9c507f4..000000000 --- a/docs/html/frei0reffect_8h_source.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Olive: effects/internal/frei0reffect.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
frei0reffect.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef FREI0REFFECT_H
22 #define FREI0REFFECT_H
23 
24 #ifndef NOFREI0R
25 
26 #include "project/effect.h"
27 
28 #include <frei0r.h>
29 
30 #include "io/crossplatformlib.h"
31 
32 typedef void (*f0rGetParamInfo)(f0r_param_info_t * info,
33  int param_index );
34 
35 class Frei0rEffect : public Effect {
36  Q_OBJECT
37 public:
38  Frei0rEffect(ClipPtr c, const EffectMeta* em);
39  ~Frei0rEffect();
40 
41  virtual void process_image(double timecode, uint8_t* input, uint8_t* output, int size);
42 
43  virtual void refresh();
44 private:
45  ModulePtr handle;
46  f0r_instance_t instance;
49  void destruct_module();
50  void construct_module();
51  bool open;
52 };
53 
54 #endif
55 
56 #endif // FREI0REFFECT_H
virtual void refresh()
Definition: frei0reffect.cpp:193
-
void destruct_module()
Definition: frei0reffect.cpp:198
-
f0r_instance_t instance
Definition: frei0reffect.h:46
-
Frei0rEffect(ClipPtr c, const EffectMeta *em)
Definition: frei0reffect.cpp:40
-
bool open
Definition: frei0reffect.h:51
-
void(* f0rGetParamInfo)(f0r_param_info_t *info, int param_index)
Definition: frei0reffect.h:32
-
Definition: effect.h:169
- -
Definition: effect.h:50
- -
void construct_module()
Definition: frei0reffect.cpp:207
-
virtual void process_image(double timecode, uint8_t *input, uint8_t *output, int size)
Definition: frei0reffect.cpp:137
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
ModulePtr handle
Definition: frei0reffect.h:45
-
f0rGetParamInfo get_param_info
Definition: frei0reffect.h:48
-
int param_count
Definition: frei0reffect.h:47
-
Definition: frei0reffect.h:35
-
~Frei0rEffect()
Definition: frei0reffect.cpp:128
-
- - - - diff --git a/docs/html/functions.html b/docs/html/functions.html deleted file mode 100644 index 19c33d9f1..000000000 --- a/docs/html/functions.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- a -

-
- - - - diff --git a/docs/html/functions_b.html b/docs/html/functions_b.html deleted file mode 100644 index 3d38708a5..000000000 --- a/docs/html/functions_b.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- b -

-
- - - - diff --git a/docs/html/functions_c.html b/docs/html/functions_c.html deleted file mode 100644 index 6178d489f..000000000 --- a/docs/html/functions_c.html +++ /dev/null @@ -1,545 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- c -

-
- - - - diff --git a/docs/html/functions_d.html b/docs/html/functions_d.html deleted file mode 100644 index 8b03d7fda..000000000 --- a/docs/html/functions_d.html +++ /dev/null @@ -1,478 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- d -

-
- - - - diff --git a/docs/html/functions_e.html b/docs/html/functions_e.html deleted file mode 100644 index 35ea582f4..000000000 --- a/docs/html/functions_e.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- e -

-
- - - - diff --git a/docs/html/functions_f.html b/docs/html/functions_f.html deleted file mode 100644 index 03b73cdbe..000000000 --- a/docs/html/functions_f.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- f -

-
- - - - diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html deleted file mode 100644 index d80dd2776..000000000 --- a/docs/html/functions_func.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- a -

-
- - - - diff --git a/docs/html/functions_func_b.html b/docs/html/functions_func_b.html deleted file mode 100644 index 1bc511af1..000000000 --- a/docs/html/functions_func_b.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- b -

-
- - - - diff --git a/docs/html/functions_func_c.html b/docs/html/functions_func_c.html deleted file mode 100644 index 2adb11498..000000000 --- a/docs/html/functions_func_c.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- c -

-
- - - - diff --git a/docs/html/functions_func_d.html b/docs/html/functions_func_d.html deleted file mode 100644 index 6554df9ce..000000000 --- a/docs/html/functions_func_d.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- d -

-
- - - - diff --git a/docs/html/functions_func_e.html b/docs/html/functions_func_e.html deleted file mode 100644 index d591a1b24..000000000 --- a/docs/html/functions_func_e.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- e -

-
- - - - diff --git a/docs/html/functions_func_f.html b/docs/html/functions_func_f.html deleted file mode 100644 index dfb8cfd77..000000000 --- a/docs/html/functions_func_f.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- f -

-
- - - - diff --git a/docs/html/functions_func_g.html b/docs/html/functions_func_g.html deleted file mode 100644 index 15ec2a67e..000000000 --- a/docs/html/functions_func_g.html +++ /dev/null @@ -1,382 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- g -

-
- - - - diff --git a/docs/html/functions_func_h.html b/docs/html/functions_func_h.html deleted file mode 100644 index 3dac4cd51..000000000 --- a/docs/html/functions_func_h.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- h -

-
- - - - diff --git a/docs/html/functions_func_i.html b/docs/html/functions_func_i.html deleted file mode 100644 index 4bcff9965..000000000 --- a/docs/html/functions_func_i.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- i -

-
- - - - diff --git a/docs/html/functions_func_k.html b/docs/html/functions_func_k.html deleted file mode 100644 index 3a6d90cb0..000000000 --- a/docs/html/functions_func_k.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- k -

-
- - - - diff --git a/docs/html/functions_func_l.html b/docs/html/functions_func_l.html deleted file mode 100644 index ce2dd11a5..000000000 --- a/docs/html/functions_func_l.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- l -

-
- - - - diff --git a/docs/html/functions_func_m.html b/docs/html/functions_func_m.html deleted file mode 100644 index 6f0891c34..000000000 --- a/docs/html/functions_func_m.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- m -

-
- - - - diff --git a/docs/html/functions_func_n.html b/docs/html/functions_func_n.html deleted file mode 100644 index dd1755ee5..000000000 --- a/docs/html/functions_func_n.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- n -

-
- - - - diff --git a/docs/html/functions_func_o.html b/docs/html/functions_func_o.html deleted file mode 100644 index 919be3948..000000000 --- a/docs/html/functions_func_o.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- o -

-
- - - - diff --git a/docs/html/functions_func_p.html b/docs/html/functions_func_p.html deleted file mode 100644 index 9c34100d7..000000000 --- a/docs/html/functions_func_p.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- p -

-
- - - - diff --git a/docs/html/functions_func_q.html b/docs/html/functions_func_q.html deleted file mode 100644 index 817e141b4..000000000 --- a/docs/html/functions_func_q.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- q -

-
- - - - diff --git a/docs/html/functions_func_r.html b/docs/html/functions_func_r.html deleted file mode 100644 index 92b1fb3ff..000000000 --- a/docs/html/functions_func_r.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- r -

-
- - - - diff --git a/docs/html/functions_func_s.html b/docs/html/functions_func_s.html deleted file mode 100644 index af72124cf..000000000 --- a/docs/html/functions_func_s.html +++ /dev/null @@ -1,661 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- s -

-
- - - - diff --git a/docs/html/functions_func_t.html b/docs/html/functions_func_t.html deleted file mode 100644 index 4fbd29548..000000000 --- a/docs/html/functions_func_t.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- t -

-
- - - - diff --git a/docs/html/functions_func_u.html b/docs/html/functions_func_u.html deleted file mode 100644 index c9a6ce12b..000000000 --- a/docs/html/functions_func_u.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- u -

-
- - - - diff --git a/docs/html/functions_func_v.html b/docs/html/functions_func_v.html deleted file mode 100644 index 2bb55ef27..000000000 --- a/docs/html/functions_func_v.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- v -

-
- - - - diff --git a/docs/html/functions_func_w.html b/docs/html/functions_func_w.html deleted file mode 100644 index 1265acd72..000000000 --- a/docs/html/functions_func_w.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- w -

-
- - - - diff --git a/docs/html/functions_func_x.html b/docs/html/functions_func_x.html deleted file mode 100644 index 1efd51690..000000000 --- a/docs/html/functions_func_x.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- x -

-
- - - - diff --git a/docs/html/functions_func_y.html b/docs/html/functions_func_y.html deleted file mode 100644 index 36aad142f..000000000 --- a/docs/html/functions_func_y.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- y -

-
- - - - diff --git a/docs/html/functions_func_z.html b/docs/html/functions_func_z.html deleted file mode 100644 index 05e9a3eb3..000000000 --- a/docs/html/functions_func_z.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- z -

-
- - - - diff --git a/docs/html/functions_func_~.html b/docs/html/functions_func_~.html deleted file mode 100644 index 42d15071f..000000000 --- a/docs/html/functions_func_~.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - -Olive: Class Members - Functions - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- ~ -

-
- - - - diff --git a/docs/html/functions_g.html b/docs/html/functions_g.html deleted file mode 100644 index 70926ea53..000000000 --- a/docs/html/functions_g.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- g -

-
- - - - diff --git a/docs/html/functions_h.html b/docs/html/functions_h.html deleted file mode 100644 index f0294d5a1..000000000 --- a/docs/html/functions_h.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- h -

-
- - - - diff --git a/docs/html/functions_i.html b/docs/html/functions_i.html deleted file mode 100644 index c457abc44..000000000 --- a/docs/html/functions_i.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- i -

-
- - - - diff --git a/docs/html/functions_j.html b/docs/html/functions_j.html deleted file mode 100644 index d7cda34a4..000000000 --- a/docs/html/functions_j.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- j -

-
- - - - diff --git a/docs/html/functions_k.html b/docs/html/functions_k.html deleted file mode 100644 index 4002c2ecb..000000000 --- a/docs/html/functions_k.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- k -

-
- - - - diff --git a/docs/html/functions_l.html b/docs/html/functions_l.html deleted file mode 100644 index dc94d661f..000000000 --- a/docs/html/functions_l.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- l -

-
- - - - diff --git a/docs/html/functions_m.html b/docs/html/functions_m.html deleted file mode 100644 index 4f17dabad..000000000 --- a/docs/html/functions_m.html +++ /dev/null @@ -1,340 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- m -

-
- - - - diff --git a/docs/html/functions_n.html b/docs/html/functions_n.html deleted file mode 100644 index d253bfcf2..000000000 --- a/docs/html/functions_n.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- n -

-
- - - - diff --git a/docs/html/functions_o.html b/docs/html/functions_o.html deleted file mode 100644 index b2d867a71..000000000 --- a/docs/html/functions_o.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- o -

-
- - - - diff --git a/docs/html/functions_p.html b/docs/html/functions_p.html deleted file mode 100644 index af790660b..000000000 --- a/docs/html/functions_p.html +++ /dev/null @@ -1,482 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- p -

-
- - - - diff --git a/docs/html/functions_q.html b/docs/html/functions_q.html deleted file mode 100644 index bf2bcb399..000000000 --- a/docs/html/functions_q.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- q -

-
- - - - diff --git a/docs/html/functions_r.html b/docs/html/functions_r.html deleted file mode 100644 index ced00d1b9..000000000 --- a/docs/html/functions_r.html +++ /dev/null @@ -1,500 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- r -

-
- - - - diff --git a/docs/html/functions_s.html b/docs/html/functions_s.html deleted file mode 100644 index f4314d9dd..000000000 --- a/docs/html/functions_s.html +++ /dev/null @@ -1,1033 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- s -

-
- - - - diff --git a/docs/html/functions_t.html b/docs/html/functions_t.html deleted file mode 100644 index 4f6ccbaa1..000000000 --- a/docs/html/functions_t.html +++ /dev/null @@ -1,504 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- t -

-
- - - - diff --git a/docs/html/functions_u.html b/docs/html/functions_u.html deleted file mode 100644 index a627ca1ac..000000000 --- a/docs/html/functions_u.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- u -

-
- - - - diff --git a/docs/html/functions_v.html b/docs/html/functions_v.html deleted file mode 100644 index 758eb2571..000000000 --- a/docs/html/functions_v.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- v -

-
- - - - diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html deleted file mode 100644 index ed71ab2f3..000000000 --- a/docs/html/functions_vars.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- a -

-
- - - - diff --git a/docs/html/functions_vars_b.html b/docs/html/functions_vars_b.html deleted file mode 100644 index 22f08bc02..000000000 --- a/docs/html/functions_vars_b.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- b -

-
- - - - diff --git a/docs/html/functions_vars_c.html b/docs/html/functions_vars_c.html deleted file mode 100644 index d6147b62b..000000000 --- a/docs/html/functions_vars_c.html +++ /dev/null @@ -1,327 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- c -

-
- - - - diff --git a/docs/html/functions_vars_d.html b/docs/html/functions_vars_d.html deleted file mode 100644 index a37f706c3..000000000 --- a/docs/html/functions_vars_d.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- d -

-
- - - - diff --git a/docs/html/functions_vars_e.html b/docs/html/functions_vars_e.html deleted file mode 100644 index de7cf8cbf..000000000 --- a/docs/html/functions_vars_e.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- e -

-
- - - - diff --git a/docs/html/functions_vars_f.html b/docs/html/functions_vars_f.html deleted file mode 100644 index ef0b506f1..000000000 --- a/docs/html/functions_vars_f.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- f -

-
- - - - diff --git a/docs/html/functions_vars_g.html b/docs/html/functions_vars_g.html deleted file mode 100644 index 9a13f57bd..000000000 --- a/docs/html/functions_vars_g.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- g -

-
- - - - diff --git a/docs/html/functions_vars_h.html b/docs/html/functions_vars_h.html deleted file mode 100644 index a4753ad1e..000000000 --- a/docs/html/functions_vars_h.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- h -

-
- - - - diff --git a/docs/html/functions_vars_i.html b/docs/html/functions_vars_i.html deleted file mode 100644 index f4691ee78..000000000 --- a/docs/html/functions_vars_i.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- i -

-
- - - - diff --git a/docs/html/functions_vars_j.html b/docs/html/functions_vars_j.html deleted file mode 100644 index 31c2b647d..000000000 --- a/docs/html/functions_vars_j.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- j -

-
- - - - diff --git a/docs/html/functions_vars_k.html b/docs/html/functions_vars_k.html deleted file mode 100644 index bcc47ba43..000000000 --- a/docs/html/functions_vars_k.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- k -

-
- - - - diff --git a/docs/html/functions_vars_l.html b/docs/html/functions_vars_l.html deleted file mode 100644 index d1edeaab4..000000000 --- a/docs/html/functions_vars_l.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- l -

-
- - - - diff --git a/docs/html/functions_vars_m.html b/docs/html/functions_vars_m.html deleted file mode 100644 index 285cf8847..000000000 --- a/docs/html/functions_vars_m.html +++ /dev/null @@ -1,203 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- m -

-
- - - - diff --git a/docs/html/functions_vars_n.html b/docs/html/functions_vars_n.html deleted file mode 100644 index f628821a5..000000000 --- a/docs/html/functions_vars_n.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- n -

-
- - - - diff --git a/docs/html/functions_vars_o.html b/docs/html/functions_vars_o.html deleted file mode 100644 index 0a5c17253..000000000 --- a/docs/html/functions_vars_o.html +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- o -

-
- - - - diff --git a/docs/html/functions_vars_p.html b/docs/html/functions_vars_p.html deleted file mode 100644 index 8b2c7c6ca..000000000 --- a/docs/html/functions_vars_p.html +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- p -

-
- - - - diff --git a/docs/html/functions_vars_q.html b/docs/html/functions_vars_q.html deleted file mode 100644 index 0dc5e82e8..000000000 --- a/docs/html/functions_vars_q.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- q -

-
- - - - diff --git a/docs/html/functions_vars_r.html b/docs/html/functions_vars_r.html deleted file mode 100644 index e0545e942..000000000 --- a/docs/html/functions_vars_r.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- r -

-
- - - - diff --git a/docs/html/functions_vars_s.html b/docs/html/functions_vars_s.html deleted file mode 100644 index 1eddc526a..000000000 --- a/docs/html/functions_vars_s.html +++ /dev/null @@ -1,448 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- s -

-
- - - - diff --git a/docs/html/functions_vars_t.html b/docs/html/functions_vars_t.html deleted file mode 100644 index f69e21fa8..000000000 --- a/docs/html/functions_vars_t.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- t -

-
- - - - diff --git a/docs/html/functions_vars_u.html b/docs/html/functions_vars_u.html deleted file mode 100644 index 5f16197af..000000000 --- a/docs/html/functions_vars_u.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- u -

-
- - - - diff --git a/docs/html/functions_vars_v.html b/docs/html/functions_vars_v.html deleted file mode 100644 index 45dc06888..000000000 --- a/docs/html/functions_vars_v.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- v -

-
- - - - diff --git a/docs/html/functions_vars_w.html b/docs/html/functions_vars_w.html deleted file mode 100644 index 61e654b3d..000000000 --- a/docs/html/functions_vars_w.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- w -

-
- - - - diff --git a/docs/html/functions_vars_x.html b/docs/html/functions_vars_x.html deleted file mode 100644 index 45ddc78fa..000000000 --- a/docs/html/functions_vars_x.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- x -

-
- - - - diff --git a/docs/html/functions_vars_y.html b/docs/html/functions_vars_y.html deleted file mode 100644 index 17c8aaeef..000000000 --- a/docs/html/functions_vars_y.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- y -

-
- - - - diff --git a/docs/html/functions_vars_z.html b/docs/html/functions_vars_z.html deleted file mode 100644 index f48b96df0..000000000 --- a/docs/html/functions_vars_z.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- z -

-
- - - - diff --git a/docs/html/functions_w.html b/docs/html/functions_w.html deleted file mode 100644 index a9191e325..000000000 --- a/docs/html/functions_w.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- w -

-
- - - - diff --git a/docs/html/functions_x.html b/docs/html/functions_x.html deleted file mode 100644 index 2f3ef8425..000000000 --- a/docs/html/functions_x.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- x -

-
- - - - diff --git a/docs/html/functions_y.html b/docs/html/functions_y.html deleted file mode 100644 index 6fae82ff2..000000000 --- a/docs/html/functions_y.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- y -

-
- - - - diff --git a/docs/html/functions_z.html b/docs/html/functions_z.html deleted file mode 100644 index 488527cb3..000000000 --- a/docs/html/functions_z.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- z -

-
- - - - diff --git a/docs/html/functions_~.html b/docs/html/functions_~.html deleted file mode 100644 index aefef129a..000000000 --- a/docs/html/functions_~.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - -Olive: Class Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- ~ -

-
- - - - diff --git a/docs/html/globals.html b/docs/html/globals.html deleted file mode 100644 index a8165c8b0..000000000 --- a/docs/html/globals.html +++ /dev/null @@ -1,327 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- a -

-
- - - - diff --git a/docs/html/globals_b.html b/docs/html/globals_b.html deleted file mode 100644 index 42130449f..000000000 --- a/docs/html/globals_b.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- b -

-
- - - - diff --git a/docs/html/globals_c.html b/docs/html/globals_c.html deleted file mode 100644 index 9ed266a2c..000000000 --- a/docs/html/globals_c.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- c -

-
- - - - diff --git a/docs/html/globals_d.html b/docs/html/globals_d.html deleted file mode 100644 index 296d3aa41..000000000 --- a/docs/html/globals_d.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- d -

-
- - - - diff --git a/docs/html/globals_defs.html b/docs/html/globals_defs.html deleted file mode 100644 index 05a4cac0c..000000000 --- a/docs/html/globals_defs.html +++ /dev/null @@ -1,603 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- a -

- - -

- b -

- - -

- c -

- - -

- d -

- - -

- e -

- - -

- f -

- - -

- g -

- - -

- k -

- - -

- l -

- - -

- m -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- v -

-
- - - - diff --git a/docs/html/globals_e.html b/docs/html/globals_e.html deleted file mode 100644 index faba2433c..000000000 --- a/docs/html/globals_e.html +++ /dev/null @@ -1,293 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- e -

-
- - - - diff --git a/docs/html/globals_enum.html b/docs/html/globals_enum.html deleted file mode 100644 index be1cb6ec4..000000000 --- a/docs/html/globals_enum.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/docs/html/globals_eval.html b/docs/html/globals_eval.html deleted file mode 100644 index 375045880..000000000 --- a/docs/html/globals_eval.html +++ /dev/null @@ -1,572 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- a -

- - -

- b -

- - -

- e -

- - -

- f -

- - -

- g -

- - -

- i -

- - -

- k -

- - -

- l -

- - -

- m -

- - -

- t -

- - -

- v -

-
- - - - diff --git a/docs/html/globals_f.html b/docs/html/globals_f.html deleted file mode 100644 index 91fb47aa2..000000000 --- a/docs/html/globals_f.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- f -

-
- - - - diff --git a/docs/html/globals_func.html b/docs/html/globals_func.html deleted file mode 100644 index 9aab3326a..000000000 --- a/docs/html/globals_func.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- a -

-
- - - - diff --git a/docs/html/globals_func_b.html b/docs/html/globals_func_b.html deleted file mode 100644 index 6e3367dc6..000000000 --- a/docs/html/globals_func_b.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- b -

-
- - - - diff --git a/docs/html/globals_func_c.html b/docs/html/globals_func_c.html deleted file mode 100644 index 2adb56d37..000000000 --- a/docs/html/globals_func_c.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- c -

-
- - - - diff --git a/docs/html/globals_func_d.html b/docs/html/globals_func_d.html deleted file mode 100644 index 0820fde2b..000000000 --- a/docs/html/globals_func_d.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- d -

-
- - - - diff --git a/docs/html/globals_func_f.html b/docs/html/globals_func_f.html deleted file mode 100644 index 28e42b0d7..000000000 --- a/docs/html/globals_func_f.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- f -

-
- - - - diff --git a/docs/html/globals_func_g.html b/docs/html/globals_func_g.html deleted file mode 100644 index a17f8faa4..000000000 --- a/docs/html/globals_func_g.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- g -

-
- - - - diff --git a/docs/html/globals_func_h.html b/docs/html/globals_func_h.html deleted file mode 100644 index d0d3918ef..000000000 --- a/docs/html/globals_func_h.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- h -

-
- - - - diff --git a/docs/html/globals_func_i.html b/docs/html/globals_func_i.html deleted file mode 100644 index 740be0ee7..000000000 --- a/docs/html/globals_func_i.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- i -

-
- - - - diff --git a/docs/html/globals_func_k.html b/docs/html/globals_func_k.html deleted file mode 100644 index de17aefbd..000000000 --- a/docs/html/globals_func_k.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- k -

-
- - - - diff --git a/docs/html/globals_func_l.html b/docs/html/globals_func_l.html deleted file mode 100644 index 18afa82c0..000000000 --- a/docs/html/globals_func_l.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- l -

-
- - - - diff --git a/docs/html/globals_func_m.html b/docs/html/globals_func_m.html deleted file mode 100644 index 6543b6f82..000000000 --- a/docs/html/globals_func_m.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- m -

-
- - - - diff --git a/docs/html/globals_func_o.html b/docs/html/globals_func_o.html deleted file mode 100644 index 4bebe4098..000000000 --- a/docs/html/globals_func_o.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- o -

-
- - - - diff --git a/docs/html/globals_func_p.html b/docs/html/globals_func_p.html deleted file mode 100644 index c6cc35656..000000000 --- a/docs/html/globals_func_p.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- p -

-
- - - - diff --git a/docs/html/globals_func_q.html b/docs/html/globals_func_q.html deleted file mode 100644 index ce30b8049..000000000 --- a/docs/html/globals_func_q.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- q -

-
- - - - diff --git a/docs/html/globals_func_r.html b/docs/html/globals_func_r.html deleted file mode 100644 index 89969150c..000000000 --- a/docs/html/globals_func_r.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- r -

-
- - - - diff --git a/docs/html/globals_func_s.html b/docs/html/globals_func_s.html deleted file mode 100644 index ac3f9cd0b..000000000 --- a/docs/html/globals_func_s.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- s -

-
- - - - diff --git a/docs/html/globals_func_t.html b/docs/html/globals_func_t.html deleted file mode 100644 index 4a705cfdc..000000000 --- a/docs/html/globals_func_t.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- t -

-
- - - - diff --git a/docs/html/globals_func_u.html b/docs/html/globals_func_u.html deleted file mode 100644 index bb4107145..000000000 --- a/docs/html/globals_func_u.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- u -

-
- - - - diff --git a/docs/html/globals_func_v.html b/docs/html/globals_func_v.html deleted file mode 100644 index 48398cdd9..000000000 --- a/docs/html/globals_func_v.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- v -

-
- - - - diff --git a/docs/html/globals_func_w.html b/docs/html/globals_func_w.html deleted file mode 100644 index c332cb084..000000000 --- a/docs/html/globals_func_w.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- w -

-
- - - - diff --git a/docs/html/globals_g.html b/docs/html/globals_g.html deleted file mode 100644 index 4706001b1..000000000 --- a/docs/html/globals_g.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- g -

-
- - - - diff --git a/docs/html/globals_h.html b/docs/html/globals_h.html deleted file mode 100644 index 76abf2817..000000000 --- a/docs/html/globals_h.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- h -

-
- - - - diff --git a/docs/html/globals_i.html b/docs/html/globals_i.html deleted file mode 100644 index edff35833..000000000 --- a/docs/html/globals_i.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- i -

-
- - - - diff --git a/docs/html/globals_k.html b/docs/html/globals_k.html deleted file mode 100644 index a50d15f73..000000000 --- a/docs/html/globals_k.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- k -

-
- - - - diff --git a/docs/html/globals_l.html b/docs/html/globals_l.html deleted file mode 100644 index b31cf1c76..000000000 --- a/docs/html/globals_l.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- l -

-
- - - - diff --git a/docs/html/globals_m.html b/docs/html/globals_m.html deleted file mode 100644 index 4f512883a..000000000 --- a/docs/html/globals_m.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- m -

-
- - - - diff --git a/docs/html/globals_n.html b/docs/html/globals_n.html deleted file mode 100644 index 8d4424b25..000000000 --- a/docs/html/globals_n.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- n -

-
- - - - diff --git a/docs/html/globals_o.html b/docs/html/globals_o.html deleted file mode 100644 index a7396edb1..000000000 --- a/docs/html/globals_o.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- o -

-
- - - - diff --git a/docs/html/globals_p.html b/docs/html/globals_p.html deleted file mode 100644 index c14240065..000000000 --- a/docs/html/globals_p.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- p -

-
- - - - diff --git a/docs/html/globals_q.html b/docs/html/globals_q.html deleted file mode 100644 index 0306a1e05..000000000 --- a/docs/html/globals_q.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- q -

-
- - - - diff --git a/docs/html/globals_r.html b/docs/html/globals_r.html deleted file mode 100644 index b8a46156b..000000000 --- a/docs/html/globals_r.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- r -

-
- - - - diff --git a/docs/html/globals_s.html b/docs/html/globals_s.html deleted file mode 100644 index 19da9b438..000000000 --- a/docs/html/globals_s.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- s -

-
- - - - diff --git a/docs/html/globals_t.html b/docs/html/globals_t.html deleted file mode 100644 index fbf685f11..000000000 --- a/docs/html/globals_t.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- t -

-
- - - - diff --git a/docs/html/globals_type.html b/docs/html/globals_type.html deleted file mode 100644 index c358c49d1..000000000 --- a/docs/html/globals_type.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- a -

- - -

- c -

- - -

- d -

- - -

- e -

- - -

- f -

- - -

- g -

- - -

- p -

- - -

- s -

- - -

- t -

- - -

- v -

-
- - - - diff --git a/docs/html/globals_u.html b/docs/html/globals_u.html deleted file mode 100644 index 652158755..000000000 --- a/docs/html/globals_u.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- u -

-
- - - - diff --git a/docs/html/globals_v.html b/docs/html/globals_v.html deleted file mode 100644 index 8b1e02049..000000000 --- a/docs/html/globals_v.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- v -

-
- - - - diff --git a/docs/html/globals_vars.html b/docs/html/globals_vars.html deleted file mode 100644 index 4c39eedd8..000000000 --- a/docs/html/globals_vars.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- a -

- - -

- c -

- - -

- d -

- - -

- e -

- - -

- k -

- - -

- l -

- - -

- n -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

-
- - - - diff --git a/docs/html/globals_w.html b/docs/html/globals_w.html deleted file mode 100644 index 111bd7763..000000000 --- a/docs/html/globals_w.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: File Members - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- w -

-
- - - - diff --git a/docs/html/grapheditor_8cpp.html b/docs/html/grapheditor_8cpp.html deleted file mode 100644 index 00af358ab..000000000 --- a/docs/html/grapheditor_8cpp.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Olive: panels/grapheditor.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
grapheditor.cpp File Reference
-
-
-
#include "grapheditor.h"
-#include <QVBoxLayout>
-#include <QLabel>
-#include <QPushButton>
-#include <QVariant>
-#include "ui/keyframenavigator.h"
-#include "ui/timelineheader.h"
-#include "ui/timelinetools.h"
-#include "ui/labelslider.h"
-#include "ui/graphview.h"
-#include "project/effect.h"
-#include "project/effectfield.h"
-#include "project/effectrow.h"
-#include "project/clip.h"
-#include "panels.h"
-#include "debug.h"
-
- - - - diff --git a/docs/html/grapheditor_8h.html b/docs/html/grapheditor_8h.html deleted file mode 100644 index 6883b6cf9..000000000 --- a/docs/html/grapheditor_8h.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Olive: panels/grapheditor.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
grapheditor.h File Reference
-
-
-
#include <QPushButton>
-#include <QHBoxLayout>
-#include <QLabel>
-#include "ui/panel.h"
-#include "ui/graphview.h"
-#include "ui/timelineheader.h"
-#include "ui/labelslider.h"
-#include "ui/keyframenavigator.h"
-#include "project/effectrow.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  GraphEditor
 
-
- - - - diff --git a/docs/html/grapheditor_8h_source.html b/docs/html/grapheditor_8h_source.html deleted file mode 100644 index d2c6a4581..000000000 --- a/docs/html/grapheditor_8h_source.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Olive: panels/grapheditor.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
grapheditor.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef GRAPHEDITOR_H
22 #define GRAPHEDITOR_H
23 
24 #include <QPushButton>
25 #include <QHBoxLayout>
26 #include <QLabel>
27 
28 #include "ui/panel.h"
29 #include "ui/graphview.h"
30 #include "ui/timelineheader.h"
31 #include "ui/labelslider.h"
32 #include "ui/keyframenavigator.h"
33 #include "project/effectrow.h"
34 
35 class GraphEditor : public Panel {
36  Q_OBJECT
37 public:
38  GraphEditor(QWidget* parent = nullptr);
39 
40  void update_panel();
41  void set_row(EffectRow* r);
42  bool view_is_focused();
43  bool view_is_under_mouse();
44  void delete_selected_keys();
45  void select_all();
46 protected:
47  virtual void Retranslate() override;
48 private:
51  QHBoxLayout* value_layout;
52  QVector<LabelSlider*> slider_proxies;
53  QVector<QPushButton*> slider_proxy_buttons;
54  QVector<LabelSlider*> slider_proxy_sources;
58  QPushButton* linear_button;
59  QPushButton* bezier_button;
60  QPushButton* hold_button;
61 private slots:
62  void set_key_button_enabled(bool e, int type);
64  void set_keyframe_type();
65  void set_field_visibility(bool b);
66 };
67 
68 #endif // GRAPHEDITOR_H
Definition: keyframenavigator.h:29
-
void select_all()
Definition: grapheditor.cpp:230
-
GraphView * view
Definition: grapheditor.h:49
-
void set_key_button_enabled(bool e, int type)
Definition: grapheditor.cpp:234
- -
QVector< LabelSlider * > slider_proxies
Definition: grapheditor.h:52
-
void passthrough_slider_value()
Definition: grapheditor.cpp:243
-
void delete_selected_keys()
Definition: grapheditor.cpp:226
-
TimelineHeader * header
Definition: grapheditor.h:50
-
void update_panel()
Definition: grapheditor.cpp:139
-
void set_row(EffectRow *r)
Definition: grapheditor.cpp:157
-
QPushButton * bezier_button
Definition: grapheditor.h:59
-
QPushButton * linear_button
Definition: grapheditor.h:58
-
bool view_is_focused()
Definition: grapheditor.cpp:218
-
Definition: timelineheader.h:31
-
Definition: effectrow.h:37
- -
QVector< QPushButton * > slider_proxy_buttons
Definition: grapheditor.h:53
-
Definition: panel.h:26
-
Definition: graphview.h:32
-
void set_keyframe_type()
Definition: grapheditor.cpp:251
-
void set_field_visibility(bool b)
Definition: grapheditor.cpp:258
-
QHBoxLayout * value_layout
Definition: grapheditor.h:51
-
bool view_is_under_mouse()
Definition: grapheditor.cpp:222
-
KeyframeNavigator * keyframe_nav
Definition: grapheditor.h:57
- -
Definition: grapheditor.h:35
-
virtual void Retranslate() override
Definition: grapheditor.cpp:132
- -
QVector< LabelSlider * > slider_proxy_sources
Definition: grapheditor.h:54
-
QPushButton * hold_button
Definition: grapheditor.h:60
- -
EffectRow * row
Definition: grapheditor.h:56
- -
GraphEditor(QWidget *parent=nullptr)
Definition: grapheditor.cpp:40
-
QLabel * current_row_desc
Definition: grapheditor.h:55
-
- - - - diff --git a/docs/html/graphview_8cpp.html b/docs/html/graphview_8cpp.html deleted file mode 100644 index 3b84844a5..000000000 --- a/docs/html/graphview_8cpp.html +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - -Olive: ui/graphview.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
graphview.cpp File Reference
-
-
-
#include "graphview.h"
-#include <QPainter>
-#include <QMouseEvent>
-#include <QtMath>
-#include <QMenu>
-#include <cfloat>
-#include "panels/panels.h"
-#include "panels/timeline.h"
-#include "panels/viewer.h"
-#include "project/sequence.h"
-#include "ui/keyframedrawing.h"
-#include "project/undo.h"
-#include "project/effect.h"
-#include "project/clip.h"
-#include "ui/rectangleselect.h"
-#include "debug.h"
-
- - - - - -

-Functions

QColor get_curve_color (int index, int length)
 
QVector< int > sort_keys_from_field (EffectField *field)
 
- - - - - - - - - - - - - - - -

-Variables

const double kGraphZoomSpeed = 0.05
 
const int kGraphSize = 100
 
const int kBezierHandleSize = 3
 
const int kBezierLineSize = 2
 
const int kBezierHandleNone = 1
 
const int kBezierHandlePre = 2
 
const int kBezierHandlePost = 3
 
-

Function Documentation

- -

◆ get_curve_color()

- -
-
- - - - - - - - - - - - - - - - - - -
QColor get_curve_color (int index,
int length 
)
-
- -
-
- -

◆ sort_keys_from_field()

- -
-
- - - - - - - - -
QVector<int> sort_keys_from_field (EffectFieldfield)
-
- -
-
-

Variable Documentation

- -

◆ kBezierHandleNone

- -
-
- - - - -
const int kBezierHandleNone = 1
-
- -
-
- -

◆ kBezierHandlePost

- -
-
- - - - -
const int kBezierHandlePost = 3
-
- -
-
- -

◆ kBezierHandlePre

- -
-
- - - - -
const int kBezierHandlePre = 2
-
- -
-
- -

◆ kBezierHandleSize

- -
-
- - - - -
const int kBezierHandleSize = 3
-
- -
-
- -

◆ kBezierLineSize

- -
-
- - - - -
const int kBezierLineSize = 2
-
- -
-
- -

◆ kGraphSize

- -
-
- - - - -
const int kGraphSize = 100
-
- -
-
- -

◆ kGraphZoomSpeed

- -
-
- - - - -
const double kGraphZoomSpeed = 0.05
-
- -
-
-
- - - - diff --git a/docs/html/graphview_8h.html b/docs/html/graphview_8h.html deleted file mode 100644 index 8a83529e1..000000000 --- a/docs/html/graphview_8h.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Olive: ui/graphview.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
graphview.h File Reference
-
-
-
#include <QWidget>
-#include <QVector>
-#include "project/effectrow.h"
-#include "project/effectfield.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  GraphView
 
- - - -

-Functions

QColor get_curve_color (int index, int length)
 
-

Function Documentation

- -

◆ get_curve_color()

- -
-
- - - - - - - - - - - - - - - - - - -
QColor get_curve_color (int index,
int length 
)
-
- -
-
-
- - - - diff --git a/docs/html/graphview_8h_source.html b/docs/html/graphview_8h_source.html deleted file mode 100644 index 1d511299e..000000000 --- a/docs/html/graphview_8h_source.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - -Olive: ui/graphview.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
graphview.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef GRAPHVIEW_H
22 #define GRAPHVIEW_H
23 
24 #include <QWidget>
25 #include <QVector>
26 
27 #include "project/effectrow.h"
28 #include "project/effectfield.h"
29 
30 QColor get_curve_color(int index, int length);
31 
32 class GraphView : public QWidget {
33  Q_OBJECT
34 public:
35  GraphView(QWidget* parent = nullptr);
36 
37  void paintEvent(QPaintEvent *event);
38  void mousePressEvent(QMouseEvent *event);
39  void mouseMoveEvent(QMouseEvent *event);
40  void mouseReleaseEvent(QMouseEvent *event);
41  void wheelEvent(QWheelEvent *event);
42 
43  void set_row(EffectRow* r);
44 
45  void set_selected_keyframe_type(int type);
46  void set_field_visibility(int field, bool b);
47 
48  void delete_selected_keys();
49  void select_all();
50 signals:
51  void x_scroll_changed(int);
52  void y_scroll_changed(int);
53  void zoom_changed(double, double);
54  void selection_changed(bool, int);
55 private:
56  int x_scroll;
57  int y_scroll;
58  bool mousedown;
59  int start_x;
60  int start_y;
61 
62  double x_zoom;
63  double y_zoom;
64 
65  void set_scroll_x(int s);
66  void set_scroll_y(int s);
67  void set_zoom(double xz, double yz);
68 
69  int get_screen_x(double);
70  int get_screen_y(double);
71  long get_value_x(int);
72  double get_value_y(int);
73 
74  void selection_update();
75 
76  QVector<bool> field_visibility;
77 
78  QVector<int> selected_keys;
79  QVector<int> selected_keys_fields;
80  QVector<long> selected_keys_old_vals;
81  QVector<double> selected_keys_old_doubles;
82 
87 
90 
91  bool moved_keys;
92 
94 
95  void draw_lines(QPainter &p, bool vert);
96  void draw_line_text(QPainter &p, bool vert, int line_no, int line_pos, int next_line_pos);
97 
99 
106 
108 
109  bool click_add;
114 private slots:
115  void show_context_menu(const QPoint& pos);
116  void reset_view();
117  void set_view_to_selection();
118  void set_view_to_all();
119  void set_view_to_rect(int x1, double y1, int x2, double y2);
120 };
121 
122 #endif // GRAPHVIEW_H
void draw_line_text(QPainter &p, bool vert, int line_no, int line_pos, int next_line_pos)
Definition: graphview.cpp:176
-
void select_all()
Definition: graphview.cpp:834
-
int start_y
Definition: graphview.h:60
-
void selection_changed(bool, int)
-
QVector< bool > field_visibility
Definition: graphview.h:76
-
int get_screen_y(double)
Definition: graphview.cpp:872
-
QVector< int > selected_keys_fields
Definition: graphview.h:79
-
bool click_add_proc
Definition: graphview.h:110
-
double y_zoom
Definition: graphview.h:63
-
double old_post_handle_x
Definition: graphview.h:85
-
void wheelEvent(QWheelEvent *event)
Definition: graphview.cpp:738
-
void set_row(EffectRow *r)
Definition: graphview.cpp:786
-
bool mousedown
Definition: graphview.h:58
-
void mouseMoveEvent(QMouseEvent *event)
Definition: graphview.cpp:471
-
double get_value_y(int)
Definition: graphview.cpp:884
-
double old_post_handle_y
Definition: graphview.h:86
-
void x_scroll_changed(int)
-
double old_pre_handle_x
Definition: graphview.h:83
-
void mousePressEvent(QMouseEvent *event)
Definition: graphview.cpp:364
-
void draw_lines(QPainter &p, bool vert)
Definition: graphview.cpp:186
-
int handle_field
Definition: graphview.h:88
-
int rect_select_x
Definition: graphview.h:101
-
EffectField * click_add_field
Definition: graphview.h:111
-
bool click_add
Definition: graphview.h:109
-
QColor get_curve_color(int index, int length)
Definition: graphview.cpp:51
-
void set_zoom(double xz, double yz)
Definition: graphview.cpp:859
-
void paintEvent(QPaintEvent *event)
Definition: graphview.cpp:229
-
Definition: effectrow.h:37
-
int rect_select_y
Definition: graphview.h:102
-
long visible_in
Definition: graphview.h:107
-
int handle_index
Definition: graphview.h:89
-
int current_handle
Definition: graphview.h:93
-
void selection_update()
Definition: graphview.cpp:888
-
void zoom_changed(double, double)
-
GraphView(QWidget *parent=nullptr)
Definition: graphview.cpp:58
-
Definition: graphview.h:32
-
void set_scroll_x(int s)
Definition: graphview.cpp:849
-
int click_add_type
Definition: graphview.h:113
-
QVector< int > selected_keys
Definition: graphview.h:78
-
void set_scroll_y(int s)
Definition: graphview.cpp:854
-
void set_view_to_selection()
Definition: graphview.cpp:116
-
int rect_select_w
Definition: graphview.h:103
-
int x_scroll
Definition: graphview.h:56
-
long get_value_x(int)
Definition: graphview.cpp:876
-
int get_screen_x(double)
Definition: graphview.cpp:865
-
int start_x
Definition: graphview.h:59
- -
void mouseReleaseEvent(QMouseEvent *event)
Definition: graphview.cpp:701
-
void set_field_visibility(int field, bool b)
Definition: graphview.cpp:819
-
void set_view_to_rect(int x1, double y1, int x2, double y2)
Definition: graphview.cpp:164
-
int rect_select_offset
Definition: graphview.h:105
-
void y_scroll_changed(int)
-
Definition: effectfield.h:43
-
double old_pre_handle_y
Definition: graphview.h:84
-
void reset_view()
Definition: graphview.cpp:107
-
void set_selected_keyframe_type(int type)
Definition: graphview.cpp:807
-
bool rect_select
Definition: graphview.h:100
-
double x_zoom
Definition: graphview.h:62
- -
int y_scroll
Definition: graphview.h:57
-
QVector< long > selected_keys_old_vals
Definition: graphview.h:80
-
EffectRow * row
Definition: graphview.h:98
-
void show_context_menu(const QPoint &pos)
Definition: graphview.cpp:78
-
int rect_select_h
Definition: graphview.h:104
-
QVector< double > selected_keys_old_doubles
Definition: graphview.h:81
-
int click_add_key
Definition: graphview.h:112
-
void set_view_to_all()
Definition: graphview.cpp:137
-
void delete_selected_keys()
Definition: graphview.cpp:824
-
bool moved_keys
Definition: graphview.h:91
-
- - - - diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html deleted file mode 100644 index 582a9df38..000000000 --- a/docs/html/hierarchy.html +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - -Olive: Class Hierarchy - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Class Hierarchy
-
-
-
This inheritance list is sorted roughly, but not completely, alphabetically:
-
[detail level 1234]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 C_AEffect
 C_VstEvent
 C_VstEvents
 C_VstMidiEvent
 C_VstParameterProperties
 C_VstTimeInfo
 CClip
 CComposeSequenceParamsThe ComposeSequenceParams struct
 CConfigThe Config struct
 CEffectGizmo
 CEffectKeyframe
 CEffectMeta
 CExportParams
 CFootage
 CFootageStream
 CGhost
 CGLTextureCoords
 CMarker
 CMedia
 CProxyInfo
 CQAbstractItemModel
 CQCheckBox
 CQComboBox
 CQDialog
 CQDockWidget
 CQKeySequenceEdit
 CQLabel
 CQLayout
 CQLineEdit
 CQListView
 CQListWidget
 CQMainWindow
 CQObject
 CQOpenGLFunctions
 CQOpenGLWidget
 CQPushButton
 CQScrollArea
 CQScrollBar
 CQSortFilterProxyModel
 CQTextEdit
 CQThread
 CQTreeView
 CQUndoCommand
 CQWidget
 CRuntimeConfigThe RuntimeConfig struct
 CSelection
 CSequence
 CTimelineTrackHeight
 CVideoCodecParams
 CVSTRect
-
-
- - - - diff --git a/docs/html/index.html b/docs/html/index.html deleted file mode 100644 index 02e0495d2..000000000 --- a/docs/html/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - -Olive: Main Page - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Olive Documentation
-
-
-
- - - - diff --git a/docs/html/jquery.js b/docs/html/jquery.js deleted file mode 100644 index 1ee895ca3..000000000 --- a/docs/html/jquery.js +++ /dev/null @@ -1,87 +0,0 @@ -/*! - * jQuery JavaScript Library v1.7.2 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Wed Mar 21 12:46:34 2012 -0700 - */ -(function(bd,L){var av=bd.document,bu=bd.navigator,bm=bd.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bd.jQuery,bH=bd.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bd.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bd.attachEvent("onload",bF.ready);var b0=false;try{b0=bd.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0!=null&&b0==b0.window},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bd.JSON&&bd.JSON.parse){return bd.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){if(typeof b2!=="string"||!b2){return null}var b0,b1;try{if(bd.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bd.execScript||function(b1){bd["eval"].call(bd,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aK.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aK.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bH=bv.getElementsByTagName("*");bE=bv.getElementsByTagName("a")[0];if(!bH||!bH.length||!bE){return{}}bF=av.createElement("select");bx=bF.appendChild(av.createElement("option"));bD=bv.getElementsByTagName("input")[0];bI={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bE.getAttribute("style")),hrefNormalized:(bE.getAttribute("href")==="/a"),opacity:/^0.55/.test(bE.style.opacity),cssFloat:!!bE.style.cssFloat,checkOn:(bD.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,pixelMargin:true};b.boxModel=bI.boxModel=(av.compatMode==="CSS1Compat");bD.checked=true;bI.noCloneChecked=bD.cloneNode(true).checked;bF.disabled=true;bI.optDisabled=!bx.disabled;try{delete bv.test}catch(bB){bI.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bI.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bD=av.createElement("input");bD.value="t";bD.setAttribute("type","radio");bI.radioValue=bD.value==="t";bD.setAttribute("checked","checked");bD.setAttribute("name","t");bv.appendChild(bD);bC=av.createDocumentFragment();bC.appendChild(bv.lastChild);bI.checkClone=bC.cloneNode(true).cloneNode(true).lastChild.checked;bI.appendChecked=bD.checked;bC.removeChild(bD);bC.appendChild(bv);if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bA="on"+by;bw=(bA in bv);if(!bw){bv.setAttribute(bA,"return;");bw=(typeof bv[bA]==="function")}bI[by+"Bubbles"]=bw}}bC.removeChild(bv);bC=bF=bx=bv=bD=null;b(function(){var bM,bV,bW,bU,bO,bP,bR,bL,bK,bQ,bN,e,bT,bS=av.getElementsByTagName("body")[0];if(!bS){return}bL=1;bT="padding:0;margin:0;border:";bN="position:absolute;top:0;left:0;width:1px;height:1px;";e=bT+"0;visibility:hidden;";bK="style='"+bN+bT+"5px solid #000;";bQ="
";bM=av.createElement("div");bM.style.cssText=e+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bS.insertBefore(bM,bS.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bI.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);if(bd.getComputedStyle){bv.innerHTML="";bR=av.createElement("div");bR.style.width="0";bR.style.marginRight="0";bv.style.width="2px";bv.appendChild(bR);bI.reliableMarginRight=(parseInt((bd.getComputedStyle(bR,null)||{marginRight:0}).marginRight,10)||0)===0}if(typeof bv.style.zoom!=="undefined"){bv.innerHTML="";bv.style.width=bv.style.padding="1px";bv.style.border=0;bv.style.overflow="hidden";bv.style.display="inline";bv.style.zoom=1;bI.inlineBlockNeedsLayout=(bv.offsetWidth===3);bv.style.display="block";bv.style.overflow="visible";bv.innerHTML="
";bI.shrinkWrapBlocks=(bv.offsetWidth!==3)}bv.style.cssText=bN+e;bv.innerHTML=bQ;bV=bv.firstChild;bW=bV.firstChild;bO=bV.nextSibling.firstChild.firstChild;bP={doesNotAddBorder:(bW.offsetTop!==5),doesAddBorderForTableAndCells:(bO.offsetTop===5)};bW.style.position="fixed";bW.style.top="20px";bP.fixedPosition=(bW.offsetTop===20||bW.offsetTop===15);bW.style.position=bW.style.top="";bV.style.overflow="hidden";bV.style.position="relative";bP.subtractsBorderForOverflowNotVisible=(bW.offsetTop===-5);bP.doesNotIncludeMarginInBodyOffset=(bS.offsetTop!==bL);if(bd.getComputedStyle){bv.style.marginTop="1%";bI.pixelMargin=(bd.getComputedStyle(bv,null)||{marginTop:0}).marginTop!=="1%"}if(typeof bM.style.zoom!=="undefined"){bM.style.zoom=1}bS.removeChild(bM);bR=bv=bM=null;b.extend(bI,bP)});return bI})();var aT=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA1,null,false)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a6(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?+by:aT.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bj(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bj(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bj(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){var bw=2;if(typeof e!=="string"){bv=e;e="fx";bw--}if(arguments.length1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,b.prop,e,bv,arguments.length>1)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(ag);for(bw=0,bv=this.length;bw-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.type]||b.valHooks[bw.nodeName.toLowerCase()];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aV,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aZ:bf)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(by,bA){var bz,bB,bw,e,bv,bx=0;if(bA&&by.nodeType===1){bB=bA.toLowerCase().split(ag);e=bB.length;for(;bx=0)}}})});var be=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/(?:^|\s)hover(\.\S+)?\b/,aP=/^key/,bg=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler;by=bv.selector}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bd,bI])}}for(bC=0;bCbC){bv.push({elem:this,matches:bD.slice(bC)})}for(bJ=0;bJ0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aP.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bg.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}bE.match.globalPOS=bD;var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(B(bx[0])||B(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function B(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||bb.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aH(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aS.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aS="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ah=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,v=/]","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bn=/\/(java|ecma)script/i,aO=/^\s*",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){return b.access(this,function(bv){return bv===L?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(bv))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(e){return b.access(this,function(by){var bx=this[0]||{},bw=0,bv=this.length;if(by===L){return bx.nodeType===1?bx.innerHTML.replace(ah,""):null}if(typeof by==="string"&&!ae.test(by)&&(b.support.leadingWhitespace||!ar.test(by))&&!ax[(d.exec(by)||["",""])[1].toLowerCase()]){by=by.replace(R,"<$1>");try{for(;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bh(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function D(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function am(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||b.isXMLDoc(by)||!ai.test("<"+by.nodeName+">")?by.cloneNode(true):am(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){aj(by,bz);e=bh(by);bv=bh(bz);for(bx=0;e[bx];++bx){if(bv[bx]){aj(e[bx],bv[bx])}}}if(bA){s(by,bz);if(bw){e=bh(by);bv=bh(bz);for(bx=0;e[bx];++bx){s(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bI,bw,bv,bx){var bA,bH,bD,bJ=[];bw=bw||av;if(typeof bw.createElement==="undefined"){bw=bw.ownerDocument||bw[0]&&bw[0].ownerDocument||av}for(var bE=0,bG;(bG=bI[bE])!=null;bE++){if(typeof bG==="number"){bG+=""}if(!bG){continue}if(typeof bG==="string"){if(!W.test(bG)){bG=bw.createTextNode(bG)}else{bG=bG.replace(R,"<$1>");var bN=(d.exec(bG)||["",""])[1].toLowerCase(),bz=ax[bN]||ax._default,bK=bz[0],bB=bw.createElement("div"),bL=ac.childNodes,bM;if(bw===av){ac.appendChild(bB)}else{a(bw).appendChild(bB)}bB.innerHTML=bz[1]+bG+bz[2];while(bK--){bB=bB.lastChild}if(!b.support.tbody){var by=v.test(bG),e=bN==="table"&&!by?bB.firstChild&&bB.firstChild.childNodes:bz[1]===""&&!by?bB.childNodes:[];for(bD=e.length-1;bD>=0;--bD){if(b.nodeName(e[bD],"tbody")&&!e[bD].childNodes.length){e[bD].parentNode.removeChild(e[bD])}}}if(!b.support.leadingWhitespace&&ar.test(bG)){bB.insertBefore(bw.createTextNode(ar.exec(bG)[0]),bB.firstChild)}bG=bB.childNodes;if(bB){bB.parentNode.removeChild(bB);if(bL.length>0){bM=bL[bL.length-1];if(bM&&bM.parentNode){bM.parentNode.removeChild(bM)}}}}}var bF;if(!b.support.appendChecked){if(bG[0]&&typeof(bF=bG.length)==="number"){for(bD=0;bD1)};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(by,bx,bz){var e={},bw,bv;for(bv in bx){e[bv]=by.style[bv];by.style[bv]=bx[bv]}bw=bz.call(by);for(bv in bx){by.style[bv]=e[bv]}return bw}});b.curCSS=b.css;if(av.defaultView&&av.defaultView.getComputedStyle){aJ=function(bA,bw){var bv,bz,e,by,bx=bA.style;bw=bw.replace(y,"-$1").toLowerCase();if((bz=bA.ownerDocument.defaultView)&&(e=bz.getComputedStyle(bA,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(bA.ownerDocument.documentElement,bA)){bv=b.style(bA,bw)}}if(!b.support.pixelMargin&&e&&aE.test(bw)&&a1.test(bv)){by=bx.width;bx.width=bv;bv=e.width;bx.width=by}return bv}}if(av.documentElement.currentStyle){aY=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv==null&&bx&&(by=bx[bw])){bv=by}if(a1.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":bv;bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aJ||aY;function af(by,bw,bv){var bz=bw==="width"?by.offsetWidth:by.offsetHeight,bx=bw==="width"?1:0,e=4;if(bz>0){if(bv!=="border"){for(;bx=1&&b.trim(bw.replace(al,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=al.test(bw)?bw.replace(al,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bv,e){return b.swap(bv,{display:"inline-block"},function(){if(e){return Z(bv,"margin-right")}else{return bv.style.marginRight}})}}}});if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}b.each({margin:"",padding:"",border:"Width"},function(e,bv){b.cssHooks[e+bv]={expand:function(by){var bx,bz=typeof by==="string"?by.split(" "):[by],bw={};for(bx=0;bx<4;bx++){bw[e+G[bx]+bv]=bz[bx]||bz[bx-2]||bz[0]}return bw}}});var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,a0=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aN=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aR=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a7=/)<[^<]*)*<\/script>/gi,p=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,z=b.fn.load,aa={},q={},aF,r,aW=["*/"]+["*"];try{aF=bm.href}catch(aw){aF=av.createElement("a");aF.href="";aF=aF.href}r=K.exec(aF.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a7,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||p.test(this.nodeName)||a0.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){an(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}an(bv,e);return bv},ajaxSettings:{url:aF,isLocal:aN.test(r[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bd.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(q),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bk(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=F(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,r[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=r[1]||bI[2]!=r[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(r[3]||(r[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aX(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aR.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aW+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aX(q,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){u(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function u(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{u(bw+"["+(typeof bz==="object"?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&b.type(by)==="object"){for(var e in by){u(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bk(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function F(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!ba){ba=av.createElement("iframe");ba.frameBorder=ba.width=ba.height=0}e.appendChild(ba);if(!m||!ba.createElement){m=(ba.contentWindow||ba.contentDocument).document;m.write((b.support.boxModel?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(ba)}Q[bx]=bw}return Q[bx]}var a8,V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){a8=function(by,bH,bw,bB){try{bB=by.getBoundingClientRect()}catch(bF){}if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aL(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{a8=function(bz,bE,bx){var bC,bw=bz.offsetParent,bv=bz,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.fn.offset=function(e){if(arguments.length){return e===L?this:this.each(function(bx){b.offset.setOffset(this,e,bx)})}var bv=this[0],bw=bv&&bv.ownerDocument;if(!bw){return null}if(bv===bw.body){return b.offset.bodyOffset(bv)}return a8(bv,bw,bw.documentElement)};b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(bw,bv){var e=/Y/.test(bv);b.fn[bw]=function(bx){return b.access(this,function(by,bB,bA){var bz=aL(by);if(bA===L){return bz?(bv in bz)?bz[bv]:b.support.boxModel&&bz.document.documentElement[bB]||bz.document.body[bB]:by[bB]}if(bz){bz.scrollTo(!e?bA:b(bz).scrollLeft(),e?bA:b(bz).scrollTop())}else{by[bB]=bA}},bw,bx,arguments.length,null)}});function aL(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each({Height:"height",Width:"width"},function(bw,bx){var bv="client"+bw,e="scroll"+bw,by="offset"+bw;b.fn["inner"+bw]=function(){var bz=this[0];return bz?bz.style?parseFloat(b.css(bz,bx,"padding")):this[bx]():null};b.fn["outer"+bw]=function(bA){var bz=this[0];return bz?bz.style?parseFloat(b.css(bz,bx,bA?"margin":"border")):this[bx]():null};b.fn[bx]=function(bz){return b.access(this,function(bC,bB,bD){var bF,bE,bG,bA;if(b.isWindow(bC)){bF=bC.document;bE=bF.documentElement[bv];return b.support.boxModel&&bE||bF.body&&bF.body[bv]||bE}if(bC.nodeType===9){bF=bC.documentElement;if(bF[bv]>=bF[e]){return bF[bv]}return Math.max(bC.body[e],bF[e],bC.body[by],bF[by])}if(bD===L){bG=b.css(bC,bB);bA=parseFloat(bG);return b.isNumeric(bA)?bA:bG}b(bC).css(bB,bD)},bx,bz,arguments.length,null)}});bd.jQuery=bd.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! - * jQuery UI 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! - * jQuery UI Widget 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Widget - */ -(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! - * jQuery UI Mouse 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Mouse - * - * Depends: - * jquery.ui.widget.js - */ -(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' - - - - -
- -
-
keyframe.cpp File Reference
-
-
-
#include "keyframe.h"
-#include <QVector>
-#include "effectfield.h"
-#include "undo.h"
-#include "panels/panels.h"
-
- - - -

-Functions

void delete_keyframes (QVector< EffectField * > &selected_key_fields, QVector< int > &selected_keys)
 
-

Function Documentation

- -

◆ delete_keyframes()

- -
-
- - - - - - - - - - - - - - - - - - -
void delete_keyframes (QVector< EffectField * > & selected_key_fields,
QVector< int > & selected_keys 
)
-
- -
-
- - - - - diff --git a/docs/html/keyframe_8h.html b/docs/html/keyframe_8h.html deleted file mode 100644 index 1f662baa2..000000000 --- a/docs/html/keyframe_8h.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - -Olive: project/keyframe.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
keyframe.h File Reference
-
-
-
#include <QVariant>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  EffectKeyframe
 
- - - -

-Functions

void delete_keyframes (QVector< EffectField * > &selected_key_fields, QVector< int > &selected_keys)
 
-

Function Documentation

- -

◆ delete_keyframes()

- -
-
- - - - - - - - - - - - - - - - - - -
void delete_keyframes (QVector< EffectField * > & selected_key_fields,
QVector< int > & selected_keys 
)
-
- -
-
-
- - - - diff --git a/docs/html/keyframe_8h_source.html b/docs/html/keyframe_8h_source.html deleted file mode 100644 index 3c24aa6f1..000000000 --- a/docs/html/keyframe_8h_source.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: project/keyframe.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
keyframe.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef KEYFRAME_H
22 #define KEYFRAME_H
23 
24 #include <QVariant>
25 
26 class EffectField;
27 
29 public:
31 
32  long time;
33  int type;
34  QVariant data;
35 
36  // only for bezier type
37  double pre_handle_x;
38  double pre_handle_y;
39  double post_handle_x;
40  double post_handle_y;
41 };
42 
43 void delete_keyframes(QVector<EffectField *> &selected_key_fields, QVector<int> &selected_keys);
44 
45 #endif // KEYFRAME_H
double pre_handle_y
Definition: keyframe.h:38
-
QVariant data
Definition: keyframe.h:34
-
long time
Definition: keyframe.h:32
-
double pre_handle_x
Definition: keyframe.h:37
-
double post_handle_y
Definition: keyframe.h:40
-
void delete_keyframes(QVector< EffectField * > &selected_key_fields, QVector< int > &selected_keys)
Definition: keyframe.cpp:36
-
EffectKeyframe()
Definition: keyframe.cpp:29
-
Definition: keyframe.h:28
-
Definition: effectfield.h:43
-
double post_handle_x
Definition: keyframe.h:39
-
int type
Definition: keyframe.h:33
-
- - - - diff --git a/docs/html/keyframedrawing_8cpp.html b/docs/html/keyframedrawing_8cpp.html deleted file mode 100644 index f9e575bd2..000000000 --- a/docs/html/keyframedrawing_8cpp.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - -Olive: ui/keyframedrawing.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
keyframedrawing.cpp File Reference
-
-
-
#include "keyframedrawing.h"
-#include "project/effect.h"
-#include "project/clip.h"
-
- - - -

-Macros

#define KEYFRAME_POINT_COUNT   4
 
- - - - - -

-Functions

void draw_keyframe (QPainter &p, int type, int x, int y, bool darker, int r, int g, int b)
 
long adjust_row_keyframe (EffectRow *row, long time, long visible_in)
 
-

Macro Definition Documentation

- -

◆ KEYFRAME_POINT_COUNT

- -
-
- - - - -
#define KEYFRAME_POINT_COUNT   4
-
- -
-
-

Function Documentation

- -

◆ adjust_row_keyframe()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
long adjust_row_keyframe (EffectRowrow,
long time,
long visible_in 
)
-
- -
-
- -

◆ draw_keyframe()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void draw_keyframe (QPainter & p,
int type,
int x,
int y,
bool darker,
int r,
int g,
int b 
)
-
- -
-
-
- - - - diff --git a/docs/html/keyframedrawing_8h.html b/docs/html/keyframedrawing_8h.html deleted file mode 100644 index 3fde1eaf1..000000000 --- a/docs/html/keyframedrawing_8h.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - -Olive: ui/keyframedrawing.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
keyframedrawing.h File Reference
-
-
-
#include <QPainter>
-
-

Go to the source code of this file.

- - - - - - -

-Macros

#define KEYFRAME_SIZE   6
 
#define KEYFRAME_COLOR   160
 
- - - - - -

-Functions

void draw_keyframe (QPainter &p, int type, int x, int y, bool darker, int r=KEYFRAME_COLOR, int g=KEYFRAME_COLOR, int b=KEYFRAME_COLOR)
 
long adjust_row_keyframe (EffectRow *row, long time, long visible_in)
 
-

Macro Definition Documentation

- -

◆ KEYFRAME_COLOR

- -
-
- - - - -
#define KEYFRAME_COLOR   160
-
- -
-
- -

◆ KEYFRAME_SIZE

- -
-
- - - - -
#define KEYFRAME_SIZE   6
-
- -
-
-

Function Documentation

- -

◆ adjust_row_keyframe()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
long adjust_row_keyframe (EffectRowrow,
long time,
long visible_in 
)
-
- -
-
- -

◆ draw_keyframe()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void draw_keyframe (QPainter & p,
int type,
int x,
int y,
bool darker,
int r = KEYFRAME_COLOR,
int g = KEYFRAME_COLOR,
int b = KEYFRAME_COLOR 
)
-
- -
-
-
- - - - diff --git a/docs/html/keyframedrawing_8h_source.html b/docs/html/keyframedrawing_8h_source.html deleted file mode 100644 index 0241c6c0f..000000000 --- a/docs/html/keyframedrawing_8h_source.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: ui/keyframedrawing.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
keyframedrawing.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef KEYFRAMEDRAWING_H
22 #define KEYFRAMEDRAWING_H
23 
24 #include <QPainter>
25 
26 #define KEYFRAME_SIZE 6
27 #define KEYFRAME_COLOR 160
28 
29 class EffectRow;
30 
31 void draw_keyframe(QPainter &p, int type, int x, int y, bool darker, int r = KEYFRAME_COLOR, int g = KEYFRAME_COLOR, int b = KEYFRAME_COLOR);
32 long adjust_row_keyframe(EffectRow* row, long time, long visible_in);
33 
34 #endif // KEYFRAMEDRAWING_H
long adjust_row_keyframe(EffectRow *row, long time, long visible_in)
Definition: keyframedrawing.cpp:57
-
Definition: effectrow.h:37
-
void draw_keyframe(QPainter &p, int type, int x, int y, bool darker, int r=KEYFRAME_COLOR, int g=KEYFRAME_COLOR, int b=KEYFRAME_COLOR)
Definition: keyframedrawing.cpp:29
-
#define KEYFRAME_COLOR
Definition: keyframedrawing.h:27
-
- - - - diff --git a/docs/html/keyframenavigator_8cpp.html b/docs/html/keyframenavigator_8cpp.html deleted file mode 100644 index c4cacc2cf..000000000 --- a/docs/html/keyframenavigator_8cpp.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Olive: ui/keyframenavigator.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
keyframenavigator.cpp File Reference
-
-
-
#include "keyframenavigator.h"
-#include <QHBoxLayout>
-#include <QPushButton>
-#include <QApplication>
-#include <QDesktopWidget>
-
- - - - diff --git a/docs/html/keyframenavigator_8h.html b/docs/html/keyframenavigator_8h.html deleted file mode 100644 index 0f0d84ea0..000000000 --- a/docs/html/keyframenavigator_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/keyframenavigator.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
keyframenavigator.h File Reference
-
-
-
#include <QWidget>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  KeyframeNavigator
 
-
- - - - diff --git a/docs/html/keyframenavigator_8h_source.html b/docs/html/keyframenavigator_8h_source.html deleted file mode 100644 index fdb6c9ced..000000000 --- a/docs/html/keyframenavigator_8h_source.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Olive: ui/keyframenavigator.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
keyframenavigator.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef KEYFRAMENAVIGATOR_H
22 #define KEYFRAMENAVIGATOR_H
23 
24 #include <QWidget>
25 
26 class QHBoxLayout;
27 class QPushButton;
28 
29 class KeyframeNavigator : public QWidget
30 {
31  Q_OBJECT
32 public:
33  KeyframeNavigator(QWidget* parent = 0, bool addLeftPad = true);
35  void enable_keyframes(bool);
36  void enable_keyframe_toggle(bool);
37 signals:
38  void goto_previous_key();
39  void toggle_key();
40  void goto_next_key();
41  void keyframe_enabled_changed(bool);
42  void clicked();
43 private slots:
44  void keyframe_ui_enabled(bool);
45 private:
46  QHBoxLayout* key_controls;
47  QPushButton* left_key_nav;
48  QPushButton* key_addremove;
49  QPushButton* right_key_nav;
50  QPushButton* keyframe_enable;
51 };
52 
53 #endif // KEYFRAMENAVIGATOR_H
QPushButton * keyframe_enable
Definition: keyframenavigator.h:50
-
Definition: keyframenavigator.h:29
-
KeyframeNavigator(QWidget *parent=0, bool addLeftPad=true)
Definition: keyframenavigator.cpp:28
- -
void keyframe_enabled_changed(bool)
-
void goto_previous_key()
-
void keyframe_ui_enabled(bool)
Definition: keyframenavigator.cpp:82
-
void enable_keyframe_toggle(bool)
Definition: keyframenavigator.cpp:78
-
~KeyframeNavigator()
Definition: keyframenavigator.cpp:72
-
void enable_keyframes(bool)
Definition: keyframenavigator.cpp:74
-
QPushButton * left_key_nav
Definition: keyframenavigator.h:47
-
QHBoxLayout * key_controls
Definition: keyframenavigator.h:46
- - -
QPushButton * key_addremove
Definition: keyframenavigator.h:48
-
QPushButton * right_key_nav
Definition: keyframenavigator.h:49
-
- - - - diff --git a/docs/html/keyframeview_8cpp.html b/docs/html/keyframeview_8cpp.html deleted file mode 100644 index f96ac72a5..000000000 --- a/docs/html/keyframeview_8cpp.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Olive: ui/keyframeview.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
keyframeview.cpp File Reference
-
-
-
#include "keyframeview.h"
-#include "project/effect.h"
-#include "ui/collapsiblewidget.h"
-#include "panels/panels.h"
-#include "panels/effectcontrols.h"
-#include "project/clip.h"
-#include "panels/timeline.h"
-#include "ui/timelineheader.h"
-#include "project/undo.h"
-#include "panels/viewer.h"
-#include "ui/viewerwidget.h"
-#include "project/sequence.h"
-#include "panels/grapheditor.h"
-#include "ui/keyframedrawing.h"
-#include "ui/clickablelabel.h"
-#include "ui/resizablescrollbar.h"
-#include "ui/rectangleselect.h"
-#include "project/keyframe.h"
-#include "ui/graphview.h"
-#include <QMouseEvent>
-#include <QtMath>
-#include <QMenu>
-
- - - - diff --git a/docs/html/keyframeview_8h.html b/docs/html/keyframeview_8h.html deleted file mode 100644 index 1b6e407b8..000000000 --- a/docs/html/keyframeview_8h.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: ui/keyframeview.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
keyframeview.h File Reference
-
-
-
#include <QWidget>
-#include <QPainter>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  KeyframeView
 
-
- - - - diff --git a/docs/html/keyframeview_8h_source.html b/docs/html/keyframeview_8h_source.html deleted file mode 100644 index 55a4d3637..000000000 --- a/docs/html/keyframeview_8h_source.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Olive: ui/keyframeview.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
keyframeview.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef KEYFRAMEVIEW_H
22 #define KEYFRAMEVIEW_H
23 
24 #include <QWidget>
25 #include <QPainter>
26 
27 class Clip;
28 class Effect;
29 class EffectRow;
30 class EffectField;
31 class TimelineHeader;
32 
33 class KeyframeView : public QWidget {
34  Q_OBJECT
35 public:
36  KeyframeView(QWidget* parent = 0);
37 
39 
41 
42  long visible_in;
44 signals:
45  void wheel_event_signal(QWheelEvent*);
46 public slots:
47  void set_x_scroll(int);
48  void set_y_scroll(int);
49  void resize_move(double d);
50 private:
51  QVector<EffectField*> selected_fields;
52  QVector<int> selected_keyframes;
53  QVector<int> rowY;
54  QVector<EffectRow*> rows;
55  QVector<long> old_key_vals;
56  void mousePressEvent(QMouseEvent* event);
57  void mouseMoveEvent(QMouseEvent* event);
58  void mouseReleaseEvent(QMouseEvent *event);
59  void paintEvent(QPaintEvent *event);
60  void wheelEvent(QWheelEvent* e);
61  bool mousedown;
62  bool dragging;
66 
67  bool keyframeIsSelected(EffectField *field, int keyframe);
68 
76 
77  int x_scroll;
78  int y_scroll;
79 
80  void update_keys();
81 private slots:
82  void show_context_menu(const QPoint& pos);
83  void menu_set_key_type(QAction*);
84 };
85 
86 #endif // KEYFRAMEVIEW_H
TimelineHeader * header
Definition: keyframeview.h:40
-
bool keyframeIsSelected(EffectField *field, int keyframe)
Definition: keyframeview.cpp:193
-
QVector< EffectField * > selected_fields
Definition: keyframeview.h:51
-
int rect_select_offset
Definition: keyframeview.h:75
-
QVector< EffectRow * > rows
Definition: keyframeview.h:54
-
Definition: keyframeview.h:33
-
bool scroll_drag
Definition: keyframeview.h:65
-
void update_keys()
Definition: keyframeview.cpp:202
-
bool dragging
Definition: keyframeview.h:62
-
void mouseMoveEvent(QMouseEvent *event)
Definition: keyframeview.cpp:321
-
long last_frame_diff
Definition: keyframeview.h:70
-
Definition: effect.h:169
-
void mouseReleaseEvent(QMouseEvent *event)
Definition: keyframeview.cpp:418
-
KeyframeView(QWidget *parent=0)
Definition: keyframeview.cpp:46
-
QVector< int > selected_keyframes
Definition: keyframeview.h:52
-
void set_x_scroll(int)
Definition: keyframeview.cpp:211
-
Definition: timelineheader.h:31
-
Definition: effectrow.h:37
-
QVector< int > rowY
Definition: keyframeview.h:53
-
QVector< long > old_key_vals
Definition: keyframeview.h:55
-
int y_scroll
Definition: keyframeview.h:78
-
void set_y_scroll(int)
Definition: keyframeview.cpp:216
-
void wheelEvent(QWheelEvent *e)
Definition: keyframeview.cpp:189
-
int rect_select_x
Definition: keyframeview.h:71
-
int rect_select_y
Definition: keyframeview.h:72
-
void menu_set_key_type(QAction *)
Definition: keyframeview.cpp:83
-
void paintEvent(QPaintEvent *event)
Definition: keyframeview.cpp:98
-
bool mousedown
Definition: keyframeview.h:61
-
long visible_in
Definition: keyframeview.h:42
-
int x_scroll
Definition: keyframeview.h:77
-
bool keys_selected
Definition: keyframeview.h:63
-
int rect_select_h
Definition: keyframeview.h:74
-
Definition: clip.h:50
-
long drag_frame_start
Definition: keyframeview.h:69
-
Definition: effectfield.h:43
-
void wheel_event_signal(QWheelEvent *)
-
bool select_rect
Definition: keyframeview.h:64
-
void show_context_menu(const QPoint &pos)
Definition: keyframeview.cpp:65
-
void delete_selected_keyframes()
Definition: keyframeview.cpp:207
-
void resize_move(double d)
Definition: keyframeview.cpp:221
-
int rect_select_w
Definition: keyframeview.h:73
-
void mousePressEvent(QMouseEvent *event)
Definition: keyframeview.cpp:227
-
long visible_out
Definition: keyframeview.h:43
-
- - - - diff --git a/docs/html/labelslider_8cpp.html b/docs/html/labelslider_8cpp.html deleted file mode 100644 index ad145e5f4..000000000 --- a/docs/html/labelslider_8cpp.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: ui/labelslider.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
labelslider.cpp File Reference
-
-
-
#include "labelslider.h"
-#include "project/undo.h"
-#include "panels/viewer.h"
-#include "io/config.h"
-#include "io/math.h"
-#include "debug.h"
-#include <QMouseEvent>
-#include <QInputDialog>
-#include <QApplication>
-
- - - - diff --git a/docs/html/labelslider_8h.html b/docs/html/labelslider_8h.html deleted file mode 100644 index a45d2c2a2..000000000 --- a/docs/html/labelslider_8h.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Olive: ui/labelslider.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
labelslider.h File Reference
-
-
-
#include <QLabel>
-#include <QUndoCommand>
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  LabelSlider
 The LabelSlider class. More...
 
- - - -

-Enumerations

enum  LabelSliderDisplayType { LABELSLIDER_NORMAL, -LABELSLIDER_FRAMENUMBER, -LABELSLIDER_PERCENT, -LABELSLIDER_DECIBEL - }
 
-

Enumeration Type Documentation

- -

◆ LabelSliderDisplayType

- -
-
- - - - -
enum LabelSliderDisplayType
-
- - - - - -
Enumerator
LABELSLIDER_NORMAL 
LABELSLIDER_FRAMENUMBER 
LABELSLIDER_PERCENT 
LABELSLIDER_DECIBEL 
- -
-
-
- - - - diff --git a/docs/html/labelslider_8h_source.html b/docs/html/labelslider_8h_source.html deleted file mode 100644 index 566880469..000000000 --- a/docs/html/labelslider_8h_source.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Olive: ui/labelslider.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
labelslider.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef LABELSLIDER_H
22 #define LABELSLIDER_H
23 
24 #include <QLabel>
25 #include <QUndoCommand>
26 
32 };
33 
40 class LabelSlider : public QLabel
41 {
42  Q_OBJECT
43 public:
44  LabelSlider(QWidget* parent = nullptr);
45 
54  void set_frame_rate(double d);
55 
70  void set_display_type(int type);
71 
84  void set_value(double v, bool userSet);
85 
95  void set_default_value(double v);
96 
107  void set_minimum_value(double v);
108 
119  void set_maximum_value(double v);
120 
126  double value();
127 
139  bool is_set();
140 
145  bool is_dragging();
146 
151  QString valueToString();
152 
162  double getPreviousValue();
163 
170  void set_previous_value();
171 
178  void set_color(QString c = nullptr);
179 
186 protected:
187  void mousePressEvent(QMouseEvent *ev);
188  void mouseMoveEvent(QMouseEvent *ev);
189  void mouseReleaseEvent(QMouseEvent *ev);
190 private:
195 
197  double min_value;
199  double max_value;
200 
202  bool drag_proc;
205 
206  bool set;
207 
209 
210  double frame_rate;
211 
215  void set_default_cursor();
216 
220  void set_active_cursor();
221 signals:
227  void valueChanged();
228 
234  void clicked();
235 };
236 
237 #endif // LABELSLIDER_H
void set_display_type(int type)
Sets the way to display the value.
Definition: labelslider.cpp:55
-
int display_type
Definition: labelslider.h:208
-
double max_value
Definition: labelslider.h:199
-
void set_maximum_value(double v)
Set the maximum value.
Definition: labelslider.cpp:146
-
bool min_enabled
Definition: labelslider.h:196
-
void set_default_value(double v)
Set the default value.
Definition: labelslider.cpp:133
-
double frame_rate
Definition: labelslider.h:210
-
double previous_value
Definition: labelslider.h:194
-
bool is_dragging()
Returns whether the user is currently dragging.
Definition: labelslider.cpp:80
-
bool drag_proc
Definition: labelslider.h:202
-
bool set
Definition: labelslider.h:206
-
LabelSliderDisplayType
Definition: labelslider.h:27
-
double drag_start_value
Definition: labelslider.h:193
-
void mousePressEvent(QMouseEvent *ev)
Definition: labelslider.cpp:151
-
LabelSlider(QWidget *parent=nullptr)
Definition: labelslider.cpp:33
-
void clicked()
clicked signal
-
Definition: labelslider.h:30
-
void set_minimum_value(double v)
Set the minimum value.
Definition: labelslider.cpp:141
-
void set_color(QString c=nullptr)
Set the display color.
Definition: labelslider.cpp:124
-
void set_value(double v, bool userSet)
Set the value.
Definition: labelslider.cpp:60
-
Definition: labelslider.h:29
-
int drag_start_x
Definition: labelslider.h:203
-
bool is_set()
Returns whether a value has been set or not.
Definition: labelslider.cpp:76
-
void mouseReleaseEvent(QMouseEvent *ev)
Definition: labelslider.cpp:239
-
bool drag_start
Definition: labelslider.h:201
-
void set_previous_value()
Updates previous value.
Definition: labelslider.cpp:120
-
double min_value
Definition: labelslider.h:197
-
double getPreviousValue()
Returns whatever value was set before the last set_value()
Definition: labelslider.cpp:116
-
double internal_value
Definition: labelslider.h:192
-
void set_frame_rate(double d)
Set the display frame rate.
Definition: labelslider.cpp:51
-
int decimal_places
Set how many decimal places to show for a floating-point number.
Definition: labelslider.h:185
-
The LabelSlider class.
Definition: labelslider.h:40
-
Definition: labelslider.h:28
-
void valueChanged()
valueChanged signal
-
double default_value
Definition: labelslider.h:191
-
int drag_start_y
Definition: labelslider.h:204
-
double value()
Returns the internal value as a double.
Definition: labelslider.cpp:129
-
void set_active_cursor()
Internal function to set the cursor while dragging (usually NoCursor aka invisible)
Definition: labelslider.cpp:339
-
bool max_enabled
Definition: labelslider.h:198
-
void set_default_cursor()
Internal function to set the standard cursor (usually SizeHorCursor)
Definition: labelslider.cpp:335
-
void mouseMoveEvent(QMouseEvent *ev)
Definition: labelslider.cpp:197
-
QString valueToString()
Convert the internal value to a displayed string according to display_type
Definition: labelslider.cpp:84
-
Definition: labelslider.h:31
-
- - - - diff --git a/docs/html/linearfadetransition_8cpp.html b/docs/html/linearfadetransition_8cpp.html deleted file mode 100644 index 56c6769c5..000000000 --- a/docs/html/linearfadetransition_8cpp.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: effects/internal/linearfadetransition.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
linearfadetransition.cpp File Reference
-
-
-
- - - - diff --git a/docs/html/linearfadetransition_8h.html b/docs/html/linearfadetransition_8h.html deleted file mode 100644 index b00736a43..000000000 --- a/docs/html/linearfadetransition_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/linearfadetransition.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
linearfadetransition.h File Reference
-
- - - - - diff --git a/docs/html/linearfadetransition_8h_source.html b/docs/html/linearfadetransition_8h_source.html deleted file mode 100644 index 2fff75f40..000000000 --- a/docs/html/linearfadetransition_8h_source.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: effects/internal/linearfadetransition.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
linearfadetransition.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef LINEARFADETRANSITION_H
22 #define LINEARFADETRANSITION_H
23 
24 #include "project/transition.h"
25 
27 public:
29  void process_audio(double timecode_start, double timecode_end, quint8* samples, int nb_bytes, int channel_count);
30 };
31 
32 #endif // LINEARFADETRANSITION_H
void process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
Definition: linearfadetransition.cpp:25
- -
Definition: linearfadetransition.h:26
-
LinearFadeTransition(ClipPtr c, ClipPtr s, const EffectMeta *em)
Definition: linearfadetransition.cpp:23
-
Definition: effect.h:50
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
Definition: transition.h:48
-
- - - - diff --git a/docs/html/loaddialog_8cpp.html b/docs/html/loaddialog_8cpp.html deleted file mode 100644 index eb59d6e1d..000000000 --- a/docs/html/loaddialog_8cpp.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: dialogs/loaddialog.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
loaddialog.cpp File Reference
-
-
-
#include "loaddialog.h"
-#include <QVBoxLayout>
-#include <QLabel>
-#include <QPushButton>
-#include "oliveglobal.h"
-#include "panels/panels.h"
-#include "playback/playback.h"
-#include "ui/sourcetable.h"
-#include "mainwindow.h"
-
- - - - diff --git a/docs/html/loaddialog_8h.html b/docs/html/loaddialog_8h.html deleted file mode 100644 index 3e4740e8e..000000000 --- a/docs/html/loaddialog_8h.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Olive: dialogs/loaddialog.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
loaddialog.h File Reference
-
-
-
#include <QDialog>
-#include <QProgressBar>
-#include <QHBoxLayout>
-#include "project/projectelements.h"
-#include "io/loadthread.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  LoadDialog
 
-
- - - - diff --git a/docs/html/loaddialog_8h_source.html b/docs/html/loaddialog_8h_source.html deleted file mode 100644 index 37767458f..000000000 --- a/docs/html/loaddialog_8h_source.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: dialogs/loaddialog.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
loaddialog.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef LOADDIALOG_H
22 #define LOADDIALOG_H
23 
24 #include <QDialog>
25 #include <QProgressBar>
26 #include <QHBoxLayout>
27 
29 #include "io/loadthread.h"
30 
31 class LoadDialog : public QDialog
32 {
33  Q_OBJECT
34 public:
35  LoadDialog(QWidget* parent, bool autorecovery);
36 private slots:
37  void cancel();
38  void die();
39  void thread_done();
40 private:
41  QProgressBar* bar;
42  QPushButton* cancel_button;
43  QHBoxLayout* hboxLayout;
45 };
46 
47 #endif // LOADDIALOG_H
Definition: loadthread.h:33
-
LoadThread * lt
Definition: loaddialog.h:44
- - -
void die()
Definition: loaddialog.cpp:72
-
QPushButton * cancel_button
Definition: loaddialog.h:42
-
Definition: loaddialog.h:31
-
LoadDialog(QWidget *parent, bool autorecovery)
Definition: loaddialog.cpp:35
-
QHBoxLayout * hboxLayout
Definition: loaddialog.h:43
-
QProgressBar * bar
Definition: loaddialog.h:41
-
void thread_done()
Definition: loaddialog.cpp:77
-
void cancel()
Definition: loaddialog.cpp:66
-
- - - - diff --git a/docs/html/loadthread_8cpp.html b/docs/html/loadthread_8cpp.html deleted file mode 100644 index bf9331a10..000000000 --- a/docs/html/loadthread_8cpp.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: io/loadthread.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
loadthread.cpp File Reference
-
-
-
#include "loadthread.h"
-#include "oliveglobal.h"
-#include "mainwindow.h"
-#include "panels/panels.h"
-#include "project/projectelements.h"
-#include "io/config.h"
-#include "playback/playback.h"
-#include "io/previewgenerator.h"
-#include "effects/internal/voideffect.h"
-#include "debug.h"
-#include <QFile>
-#include <QTreeWidgetItem>
-
- - - - diff --git a/docs/html/loadthread_8h.html b/docs/html/loadthread_8h.html deleted file mode 100644 index f9d31d6dd..000000000 --- a/docs/html/loadthread_8h.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -Olive: io/loadthread.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
loadthread.h File Reference
-
-
-
#include <QThread>
-#include <QDir>
-#include <QXmlStreamReader>
-#include <QMutex>
-#include <QWaitCondition>
-#include <QMessageBox>
-#include "project/projectelements.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  LoadThread
 
-
- - - - diff --git a/docs/html/loadthread_8h_source.html b/docs/html/loadthread_8h_source.html deleted file mode 100644 index 6cef7ce19..000000000 --- a/docs/html/loadthread_8h_source.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Olive: io/loadthread.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
loadthread.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef LOADTHREAD_H
22 #define LOADTHREAD_H
23 
24 #include <QThread>
25 #include <QDir>
26 #include <QXmlStreamReader>
27 #include <QMutex>
28 #include <QWaitCondition>
29 #include <QMessageBox>
30 
32 
33 class LoadThread : public QThread
34 {
35  Q_OBJECT
36 public:
37  LoadThread(bool a);
38  void run();
39  void cancel();
40 signals:
41  void start_question(const QString &title, const QString &text, int buttons);
42  void success();
43  void error();
44  void start_create_effect_ui(QXmlStreamReader* stream, ClipPtr c, int type, const QString *effect_name, const EffectMeta* meta, long effect_length, bool effect_enabled);
45  void report_progress(int p);
46 private slots:
47  void question_func(const QString &title, const QString &text, int buttons);
48  void error_func();
49  void success_func();
50  void create_effect_ui(QXmlStreamReader* stream, ClipPtr c, int type, const QString *effect_name, const EffectMeta* meta, long effect_length, bool effect_enabled);
51 private:
53 
54  bool load_worker(QFile& f, QXmlStreamReader& stream, int type);
55  void load_effect(QXmlStreamReader& stream, ClipPtr c);
56 
57  void read_next(QXmlStreamReader& stream);
58  void read_next_start_element(QXmlStreamReader& stream);
59  void update_current_element_count(QXmlStreamReader& stream);
60 
62  QVector<Media*> loaded_media_items;
63  QDir proj_dir;
66  bool show_err;
67  QString error_str;
68 
69  bool is_element(QXmlStreamReader& stream);
70 
71  QVector<Media*> loaded_folders;
72  QVector<ClipPtr> loaded_clips;
73  QVector<Media*> loaded_sequences;
75 
78 
79  QMutex mutex;
80  QWaitCondition waitCond;
81 
82  bool cancelled;
83  bool xml_error;
84 
85  QMessageBox::StandardButton question_btn;
86 };
87 
88 #endif // LOADTHREAD_H
Definition: loadthread.h:33
-
bool is_element(QXmlStreamReader &stream)
Definition: loadthread.cpp:133
-
LoadThread(bool a)
Definition: loadthread.cpp:40
- -
void update_current_element_count(QXmlStreamReader &stream)
Definition: loadthread.cpp:126
-
void read_next_start_element(QXmlStreamReader &stream)
Definition: loadthread.cpp:121
-
void question_func(const QString &title, const QString &text, int buttons)
Definition: loadthread.cpp:667
-
QVector< Media * > loaded_sequences
Definition: loadthread.h:73
-
int current_element_count
Definition: loadthread.h:76
-
Media * find_loaded_folder_by_id(int id)
Definition: loadthread.cpp:531
-
bool show_err
Definition: loadthread.h:66
-
QVector< Media * > loaded_media_items
Definition: loadthread.h:62
-
Definition: effect.h:50
-
bool cancelled
Definition: loadthread.h:82
-
void success_func()
Definition: loadthread.cpp:693
-
QMutex mutex
Definition: loadthread.h:79
-
void create_effect_ui(QXmlStreamReader *stream, ClipPtr c, int type, const QString *effect_name, const EffectMeta *meta, long effect_length, bool effect_enabled)
Definition: loadthread.cpp:719
-
Definition: media.h:42
-
void run()
Definition: loadthread.cpp:542
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
void error()
-
QVector< Media * > loaded_folders
Definition: loadthread.h:71
-
QString error_str
Definition: loadthread.h:67
-
QDir proj_dir
Definition: loadthread.h:63
-
void success()
-
void start_create_effect_ui(QXmlStreamReader *stream, ClipPtr c, int type, const QString *effect_name, const EffectMeta *meta, long effect_length, bool effect_enabled)
-
QMessageBox::StandardButton question_btn
Definition: loadthread.h:85
-
std::shared_ptr< Sequence > SequencePtr
Definition: clip.h:48
-
QDir internal_proj_dir
Definition: loadthread.h:64
-
void cancel()
Definition: loadthread.cpp:662
-
int total_element_count
Definition: loadthread.h:77
-
QWaitCondition waitCond
Definition: loadthread.h:80
-
QString internal_proj_url
Definition: loadthread.h:65
-
void error_func()
Definition: loadthread.cpp:678
-
SequencePtr open_seq
Definition: loadthread.h:61
-
bool xml_error
Definition: loadthread.h:83
-
void start_question(const QString &title, const QString &text, int buttons)
-
void load_effect(QXmlStreamReader &stream, ClipPtr c)
Definition: loadthread.cpp:48
-
void read_next(QXmlStreamReader &stream)
Definition: loadthread.cpp:116
-
void report_progress(int p)
-
bool autorecovery
Definition: loadthread.h:52
-
QVector< ClipPtr > loaded_clips
Definition: loadthread.h:72
-
bool load_worker(QFile &f, QXmlStreamReader &stream, int type)
Definition: loadthread.cpp:142
-
- - - - diff --git a/docs/html/logarithmicfadetransition_8cpp.html b/docs/html/logarithmicfadetransition_8cpp.html deleted file mode 100644 index 667f3e514..000000000 --- a/docs/html/logarithmicfadetransition_8cpp.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: effects/internal/logarithmicfadetransition.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
logarithmicfadetransition.cpp File Reference
-
-
-
#include "logarithmicfadetransition.h"
-#include <QtMath>
-
- - - - diff --git a/docs/html/logarithmicfadetransition_8h.html b/docs/html/logarithmicfadetransition_8h.html deleted file mode 100644 index 17540e167..000000000 --- a/docs/html/logarithmicfadetransition_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/logarithmicfadetransition.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
logarithmicfadetransition.h File Reference
-
- - - - - diff --git a/docs/html/logarithmicfadetransition_8h_source.html b/docs/html/logarithmicfadetransition_8h_source.html deleted file mode 100644 index 24f5ca731..000000000 --- a/docs/html/logarithmicfadetransition_8h_source.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: effects/internal/logarithmicfadetransition.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
logarithmicfadetransition.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef LOGARITHMICFADETRANSITION_H
22 #define LOGARITHMICFADETRANSITION_H
23 
24 #include "project/transition.h"
25 
27 public:
29  void process_audio(double timecode_start, double timecode_end, quint8* samples, int nb_bytes, int channel_count);
30 };
31 
32 #endif // LOGARITHMICFADETRANSITION_H
LogarithmicFadeTransition(ClipPtr c, ClipPtr s, const EffectMeta *em)
Definition: logarithmicfadetransition.cpp:25
- -
Definition: effect.h:50
-
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
-
void process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
Definition: logarithmicfadetransition.cpp:27
-
Definition: logarithmicfadetransition.h:26
-
Definition: transition.h:48
-
- - - - diff --git a/docs/html/main_8cpp.html b/docs/html/main_8cpp.html deleted file mode 100644 index 3def6e7d1..000000000 --- a/docs/html/main_8cpp.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - -Olive: main.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
main.cpp File Reference
-
-
-
#include "mainwindow.h"
-#include <QApplication>
-#include "debug.h"
-#include "oliveglobal.h"
-#include "ui/mediaiconservice.h"
-#include "io/config.h"
-#include <libavformat/avformat.h>
-#include <libavfilter/avfilter.h>
-
- - - -

-Functions

int main (int argc, char *argv[])
 
-

Function Documentation

- -

◆ main()

- -
-
- - - - - - - - - - - - - - - - - - -
int main (int argc,
char * argv[] 
)
-
- -
-
-
- - - - diff --git a/docs/html/mainwindow_8cpp.html b/docs/html/mainwindow_8cpp.html deleted file mode 100644 index 7424e43fe..000000000 --- a/docs/html/mainwindow_8cpp.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - -Olive: mainwindow.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
mainwindow.cpp File Reference
-
-
-
#include "mainwindow.h"
-#include "oliveglobal.h"
-#include "ui/menuhelper.h"
-#include "project/projectelements.h"
-#include "io/config.h"
-#include "io/path.h"
-#include "io/proxygenerator.h"
-#include "project/projectfilter.h"
-#include "ui/sourcetable.h"
-#include "ui/viewerwidget.h"
-#include "ui/sourceiconview.h"
-#include "ui/timelineheader.h"
-#include "ui/cursors.h"
-#include "ui/focusfilter.h"
-#include "panels/panels.h"
-#include "dialogs/debugdialog.h"
-#include "playback/audio.h"
-#include "playback/playback.h"
-#include "debug.h"
-#include <QStyleFactory>
-#include <QMessageBox>
-#include <QFileDialog>
-#include <QTimer>
-#include <QCloseEvent>
-#include <QMovie>
-#include <QInputDialog>
-#include <QRegExp>
-#include <QStatusBar>
-#include <QMenu>
-#include <QMenuBar>
-#include <QLayout>
-#include <QApplication>
-#include <QPushButton>
-#include <QTranslator>
-
- - - -

-Macros

#define DEFAULT_CSS   "QPushButton::checked { background: rgb(25, 25, 25); }"
 
- - - - - -

-Functions

 Q_DECLARE_METATYPE (ClipPtr)
 
void kbd_shortcut_processor (QByteArray &file, QMenu *menu, bool save, bool first)
 
-

Macro Definition Documentation

- -

◆ DEFAULT_CSS

- -
-
- - - - -
#define DEFAULT_CSS   "QPushButton::checked { background: rgb(25, 25, 25); }"
-
- -
-
-

Function Documentation

- -

◆ kbd_shortcut_processor()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void kbd_shortcut_processor (QByteArray & file,
QMenu * menu,
bool save,
bool first 
)
-
- -
-
- -

◆ Q_DECLARE_METATYPE()

- -
-
- - - - - - - - -
Q_DECLARE_METATYPE (ClipPtr )
-
- -
-
-
- - - - diff --git a/docs/html/mainwindow_8h.html b/docs/html/mainwindow_8h.html deleted file mode 100644 index 8f3691aa7..000000000 --- a/docs/html/mainwindow_8h.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Olive: mainwindow.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
mainwindow.h File Reference
-
-
-
#include <QMainWindow>
-
-

Go to the source code of this file.

- - - - -

-Classes

class  MainWindow
 
- - - -

-Namespaces

 olive
 
- - - -

-Variables

MainWindowolive::MainWindow
 
-
- - - - diff --git a/docs/html/mainwindow_8h_source.html b/docs/html/mainwindow_8h_source.html deleted file mode 100644 index 7e7ca44ed..000000000 --- a/docs/html/mainwindow_8h_source.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - -Olive: mainwindow.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
mainwindow.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef MAINWINDOW_H
22 #define MAINWINDOW_H
23 
24 #include <QMainWindow>
25 
26 class Project;
27 class EffectControls;
28 class Viewer;
29 class Timeline;
30 
31 class MainWindow : public QMainWindow {
32  Q_OBJECT
33 public:
34  explicit MainWindow(QWidget *parent);
35  virtual ~MainWindow() override;
36 
45  void updateTitle();
46 
57  void load_shortcuts(const QString &fn);
58 
68  void save_shortcuts(const QString &fn);
69 
77  void load_css_from_file(const QString& fn);
78 
79 public slots:
85  void toggle_full_screen();
86 
87 signals:
93  void finished_first_paint();
94 
95 protected:
103  virtual void closeEvent(QCloseEvent *) override;
104 
110  virtual void paintEvent(QPaintEvent *) override;
111 
112 private slots:
119  void maximize_panel();
120 
126  void reset_layout();
127 
134 
141 
148 
155 
163 
170 
178 
179 private:
191  void setup_layout(bool reset);
192 
199  void setup_menus();
200 
201  // menu bar menus
202  QMenu* window_menu;
203 
204  // file menu actions
205  QMenu* open_recent;
207 
208  // view menu actions
209  QAction* track_lines;
210  QAction* frames_action;
214  QAction* no_autoscroll;
215  QAction* page_autoscroll;
217  QAction* title_safe_off;
219  QAction* title_safe_43;
220  QAction* title_safe_169;
222  QAction* full_screen;
223  QAction* show_all;
224 
225  // tool menu actions
234  QAction* snap_toggle;
248  QAction* loop_action;
250 
251  // edit menu actions
252  QAction* undo_action;
253  QAction* redo_action;
254 
255  // used to store the panel state when one panel is maximized
256  QByteArray temp_panel_state;
257 
258  // used in paintEvent() to determine the first paintEvent() performed
260 };
261 
262 namespace olive {
263  extern MainWindow* MainWindow;
264 }
265 
266 #endif // MAINWINDOW_H
QByteArray temp_panel_state
Definition: mainwindow.h:256
-
void updateTitle()
Update window title.
Definition: mainwindow.cpp:741
-
QAction * seek_also_selects
Definition: mainwindow.h:249
-
QAction * edit_tool_also_seeks
Definition: mainwindow.h:236
-
QMenu * window_menu
Definition: mainwindow.h:202
-
QAction * snap_toggle
Definition: mainwindow.h:234
-
void fileMenu_About_To_Be_Shown()
Function to prepare File menu.
Definition: mainwindow.cpp:922
-
QAction * undo_action
Definition: mainwindow.h:252
-
void windowMenu_About_To_Be_Shown()
Function to prepare Window menu.
Definition: mainwindow.cpp:840
-
QMenu * open_recent
Definition: mainwindow.h:205
-
void toggle_full_screen()
Toggles full screen mode.
Definition: mainwindow.cpp:940
-
QAction * enable_drag_files_to_timeline
Definition: mainwindow.h:241
-
QAction * title_safe_169
Definition: mainwindow.h:220
-
QAction * title_safe_custom
Definition: mainwindow.h:221
-
QAction * title_safe_off
Definition: mainwindow.h:217
-
QAction * razor_tool_action
Definition: mainwindow.h:229
-
QAction * title_safe_default
Definition: mainwindow.h:218
-
virtual void closeEvent(QCloseEvent *) override
Close event.
Definition: mainwindow.cpp:748
-
void load_shortcuts(const QString &fn)
Load shortcut file.
Definition: mainwindow.cpp:297
-
QAction * edit_tool_action
Definition: mainwindow.h:227
-
Definition: timeline.h:85
-
void finished_first_paint()
Signal emitted once when the main window has finished initializing.
-
void load_css_from_file(const QString &fn)
Load a CSS/QSS style from file to customize Olive's interface.
Definition: mainwindow.cpp:328
-
void editMenu_About_To_Be_Shown()
Function to prepare Edit menu.
Definition: mainwindow.cpp:339
-
void viewMenu_About_To_Be_Shown()
Function to prepare View menu.
Definition: mainwindow.cpp:854
-
bool first_show
Definition: mainwindow.h:259
-
Definition: debugdialog.h:39
-
QAction * page_autoscroll
Definition: mainwindow.h:215
-
QAction * selecting_also_seeks
Definition: mainwindow.h:235
-
QAction * scroll_wheel_zooms
Definition: mainwindow.h:239
-
QAction * frames_action
Definition: mainwindow.h:210
-
QAction * slip_tool_action
Definition: mainwindow.h:230
-
QAction * pointer_tool_action
Definition: mainwindow.h:226
-
MainWindow(QWidget *parent)
Definition: mainwindow.cpp:101
-
QAction * enable_seek_to_import
Definition: mainwindow.h:243
-
virtual void paintEvent(QPaintEvent *) override
Paint event.
Definition: mainwindow.cpp:797
-
QAction * slide_tool_action
Definition: mainwindow.h:231
-
Definition: effectcontrols.h:51
-
QAction * seek_to_end_of_pastes
Definition: mainwindow.h:238
-
QAction * enable_audio_scrubbing
Definition: mainwindow.h:244
-
Definition: project.h:53
-
void setup_menus()
Initialize menu bar menus and items.
Definition: mainwindow.cpp:344
-
QAction * edit_tool_selects_links
Definition: mainwindow.h:237
-
MainWindow * MainWindow
Definition: mainwindow.cpp:69
-
void toolMenu_About_To_Be_Shown()
Function to prepare Tools menu.
Definition: mainwindow.cpp:881
-
QAction * drop_frame_action
Definition: mainwindow.h:211
-
void toggle_panel_visibility()
Toggle whether a panel is visible or not.
Definition: mainwindow.cpp:912
-
QAction * set_name_and_marker
Definition: mainwindow.h:247
-
void maximize_panel()
Maximizes the currently hovered panel.
Definition: mainwindow.cpp:812
-
QAction * smooth_autoscroll
Definition: mainwindow.h:216
-
QAction * nondrop_frame_action
Definition: mainwindow.h:212
-
QAction * track_lines
Definition: mainwindow.h:209
-
void reset_layout()
Reset panel layout to default.
Definition: mainwindow.cpp:806
-
QAction * transition_tool_action
Definition: mainwindow.h:233
-
void playbackMenu_About_To_Be_Shown()
Function to prepare Playback menu.
Definition: mainwindow.cpp:850
-
QAction * rectified_waveforms
Definition: mainwindow.h:240
-
QAction * no_autoscroll
Definition: mainwindow.h:214
-
QAction * enable_drop_on_media_to_replace
Definition: mainwindow.h:245
-
QAction * ripple_tool_action
Definition: mainwindow.h:228
-
QAction * hand_tool_action
Definition: mainwindow.h:232
-
virtual ~MainWindow() override
Definition: mainwindow.cpp:242
-
QAction * enable_hover_focus
Definition: mainwindow.h:246
-
QAction * redo_action
Definition: mainwindow.h:253
-
Definition: viewer.h:43
-
void setup_layout(bool reset)
Internal function for setting the panel layout to a predetermined preset.
Definition: mainwindow.cpp:73
-
Definition: mainwindow.h:31
-
QAction * loop_action
Definition: mainwindow.h:248
-
QAction * full_screen
Definition: mainwindow.h:222
-
void save_shortcuts(const QString &fn)
Save shortcut file.
Definition: mainwindow.cpp:311
-
QAction * clear_open_recent_action
Definition: mainwindow.h:206
-
QAction * title_safe_43
Definition: mainwindow.h:219
-
QAction * show_all
Definition: mainwindow.h:223
-
QAction * milliseconds_action
Definition: mainwindow.h:213
-
QAction * autoscale_by_default
Definition: mainwindow.h:242
-
- - - - diff --git a/docs/html/marker_8cpp.html b/docs/html/marker_8cpp.html deleted file mode 100644 index 6f1d89a2f..000000000 --- a/docs/html/marker_8cpp.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - -Olive: project/marker.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
marker.cpp File Reference
-
-
-
#include "marker.h"
-#include "io/config.h"
-#include "project/undo.h"
-#include "mainwindow.h"
-#include "project/sequence.h"
-#include "project/clip.h"
-#include "panels/panels.h"
-#include "panels/viewer.h"
-#include <QInputDialog>
-#include <QCoreApplication>
-
- - - - - - - -

-Functions

void draw_marker (QPainter &p, int x, int y, int bottom, bool selected)
 
void set_marker_internal (SequencePtr seq, const QVector< int > &clips)
 
void set_marker_internal (SequencePtr seq)
 
-

Function Documentation

- -

◆ draw_marker()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void draw_marker (QPainter & p,
int x,
int y,
int bottom,
bool selected 
)
-
- -
-
- -

◆ set_marker_internal() [1/2]

- -
-
- - - - - - - - - - - - - - - - - - -
void set_marker_internal (SequencePtr seq,
const QVector< int > & clips 
)
-
- -
-
- -

◆ set_marker_internal() [2/2]

- -
-
- - - - - - - - -
void set_marker_internal (SequencePtr seq)
-
- -
-
-
- - - - diff --git a/docs/html/marker_8h.html b/docs/html/marker_8h.html deleted file mode 100644 index f5eb021c3..000000000 --- a/docs/html/marker_8h.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - -Olive: project/marker.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
marker.h File Reference
-
-
-
#include <QString>
-#include <QPainter>
-
-

Go to the source code of this file.

- - - - -

-Classes

struct  Marker
 
- - - -

-Macros

#define MARKER_SIZE   4
 
- - - -

-Typedefs

using SequencePtr = std::shared_ptr< Sequence >
 
- - - - - - - -

-Functions

void draw_marker (QPainter &p, int x, int y, int bottom, bool selected)
 
void set_marker_internal (SequencePtr seq, const QVector< int > &clips)
 
void set_marker_internal (SequencePtr seq)
 
-

Macro Definition Documentation

- -

◆ MARKER_SIZE

- -
-
- - - - -
#define MARKER_SIZE   4
-
- -
-
-

Typedef Documentation

- -

◆ SequencePtr

- -
-
- - - - -
using SequencePtr = std::shared_ptr<Sequence>
-
- -
-
-

Function Documentation

- -

◆ draw_marker()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void draw_marker (QPainter & p,
int x,
int y,
int bottom,
bool selected 
)
-
- -
-
- -

◆ set_marker_internal() [1/2]

- -
-
- - - - - - - - - - - - - - - - - - -
void set_marker_internal (SequencePtr seq,
const QVector< int > & clips 
)
-
- -
-
- -

◆ set_marker_internal() [2/2]

- -
-
- - - - - - - - -
void set_marker_internal (SequencePtr seq)
-
- -
-
-
- - - - diff --git a/docs/html/marker_8h_source.html b/docs/html/marker_8h_source.html deleted file mode 100644 index 4b39ca13f..000000000 --- a/docs/html/marker_8h_source.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: project/marker.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
marker.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef MARKER_H
22 #define MARKER_H
23 
24 #define MARKER_SIZE 4
25 
26 #include <QString>
27 #include <QPainter>
28 
29 class Sequence;
30 using SequencePtr = std::shared_ptr<Sequence>;
31 
32 struct Marker {
33  long frame;
34  QString name;
35 };
36 
37 void draw_marker(QPainter& p, int x, int y, int bottom, bool selected);
38 
39 void set_marker_internal(SequencePtr seq, const QVector<int>& clips);
41 
42 #endif // MARKER_H
Definition: marker.h:32
-
Definition: sequence.h:31
-
long frame
Definition: marker.h:33
-
QString name
Definition: marker.h:34
-
void set_marker_internal(SequencePtr seq, const QVector< int > &clips)
Definition: marker.cpp:51
-
std::shared_ptr< Sequence > SequencePtr
Definition: clip.h:48
-
void draw_marker(QPainter &p, int x, int y, int bottom, bool selected)
Definition: marker.cpp:34
-
- - - - diff --git a/docs/html/math_8cpp.html b/docs/html/math_8cpp.html deleted file mode 100644 index 60b09dc1a..000000000 --- a/docs/html/math_8cpp.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - -Olive: io/math.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
math.cpp File Reference
-
-
-
#include "math.h"
-#include <QtMath>
-#include <QVector>
-#include "debug.h"
-
- - - - - - - - - - - - - - - - - - - -

-Functions

int lerp (int a, int b, double t)
 
float float_lerp (float a, float b, float t)
 
double double_lerp (double a, double b, double t)
 
double quad_from_t (double a, double b, double c, double t)
 
double quad_t_from_x (double x, double a, double b, double c)
 
double cubic_from_t (double a, double b, double c, double d, double t)
 
double cubic_t_from_x (double x_target, double a, double b, double c, double d)
 
double amplitude_to_db (double amplitude)
 
double db_to_amplitude (double db)
 
-

Function Documentation

- -

◆ amplitude_to_db()

- -
-
- - - - - - - - -
double amplitude_to_db (double amplitude)
-
- -
-
- -

◆ cubic_from_t()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
double cubic_from_t (double a,
double b,
double c,
double d,
double t 
)
-
- -
-
- -

◆ cubic_t_from_x()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
double cubic_t_from_x (double x_target,
double a,
double b,
double c,
double d 
)
-
- -
-
- -

◆ db_to_amplitude()

- -
-
- - - - - - - - -
double db_to_amplitude (double db)
-
- -
-
- -

◆ double_lerp()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
double double_lerp (double a,
double b,
double t 
)
-
- -
-
- -

◆ float_lerp()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
float float_lerp (float a,
float b,
float t 
)
-
- -
-
- -

◆ lerp()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int lerp (int a,
int b,
double t 
)
-
- -
-
- -

◆ quad_from_t()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
double quad_from_t (double a,
double b,
double c,
double t 
)
-
- -
-
- -

◆ quad_t_from_x()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
double quad_t_from_x (double x,
double a,
double b,
double c 
)
-
- -
-
-
- - - - diff --git a/docs/html/math_8h.html b/docs/html/math_8h.html deleted file mode 100644 index c8cc9a1c9..000000000 --- a/docs/html/math_8h.html +++ /dev/null @@ -1,465 +0,0 @@ - - - - - - - -Olive: io/math.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
math.h File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - -

-Functions

int lerp (int a, int b, double t)
 
float float_lerp (float a, float b, float t)
 
double double_lerp (double a, double b, double t)
 
double quad_from_t (double a, double b, double c, double t)
 
double quad_t_from_x (double x, double a, double b, double c)
 
double cubic_from_t (double a, double b, double c, double d, double t)
 
double cubic_t_from_x (double x_target, double a, double b, double c, double d)
 
double solveCubicBezier (double p0, double p1, double p2, double p3, double x)
 
double amplitude_to_db (double amplitude)
 
double db_to_amplitude (double db)
 
-

Function Documentation

- -

◆ amplitude_to_db()

- -
-
- - - - - - - - -
double amplitude_to_db (double amplitude)
-
- -
-
- -

◆ cubic_from_t()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
double cubic_from_t (double a,
double b,
double c,
double d,
double t 
)
-
- -
-
- -

◆ cubic_t_from_x()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
double cubic_t_from_x (double x_target,
double a,
double b,
double c,
double d 
)
-
- -
-
- -

◆ db_to_amplitude()

- -
-
- - - - - - - - -
double db_to_amplitude (double db)
-
- -
-
- -

◆ double_lerp()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
double double_lerp (double a,
double b,
double t 
)
-
- -
-
- -

◆ float_lerp()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
float float_lerp (float a,
float b,
float t 
)
-
- -
-
- -

◆ lerp()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int lerp (int a,
int b,
double t 
)
-
- -
-
- -

◆ quad_from_t()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
double quad_from_t (double a,
double b,
double c,
double t 
)
-
- -
-
- -

◆ quad_t_from_x()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
double quad_t_from_x (double x,
double a,
double b,
double c 
)
-
- -
-
- -

◆ solveCubicBezier()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
double solveCubicBezier (double p0,
double p1,
double p2,
double p3,
double x 
)
-
- -
-
-
- - - - diff --git a/docs/html/math_8h_source.html b/docs/html/math_8h_source.html deleted file mode 100644 index bde17b369..000000000 --- a/docs/html/math_8h_source.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: io/math.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
math.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef MATH_H
22 #define MATH_H
23 
24 int lerp(int a, int b, double t);
25 float float_lerp(float a, float b, float t);
26 double double_lerp(double a, double b, double t);
27 double quad_from_t(double a, double b, double c, double t);
28 double quad_t_from_x(double x, double a, double b, double c);
29 double cubic_from_t(double a, double b, double c, double d, double t);
30 double cubic_t_from_x(double x_target, double a, double b, double c, double d);
31 double solveCubicBezier(double p0, double p1, double p2, double p3, double x);
32 
33 // decibel conversion functions
34 double amplitude_to_db(double amplitude);
35 double db_to_amplitude(double db);
36 
37 #endif // MATH_H
int lerp(int a, int b, double t)
Definition: math.cpp:28
-
double cubic_from_t(double a, double b, double c, double d, double t)
Definition: math.cpp:49
-
double quad_from_t(double a, double b, double c, double t)
Definition: math.cpp:40
-
float float_lerp(float a, float b, float t)
Definition: math.cpp:32
-
double double_lerp(double a, double b, double t)
Definition: math.cpp:36
-
double quad_t_from_x(double x, double a, double b, double c)
Definition: math.cpp:44
-
double db_to_amplitude(double db)
Definition: math.cpp:80
-
double solveCubicBezier(double p0, double p1, double p2, double p3, double x)
-
double cubic_t_from_x(double x_target, double a, double b, double c, double d)
Definition: math.cpp:53
-
double amplitude_to_db(double amplitude)
Definition: math.cpp:76
-
- - - - diff --git a/docs/html/md__i_s_s_u_e__t_e_m_p_l_a_t_e.html b/docs/html/md__i_s_s_u_e__t_e_m_p_l_a_t_e.html deleted file mode 100644 index 656549712..000000000 --- a/docs/html/md__i_s_s_u_e__t_e_m_p_l_a_t_e.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: ISSUE_TEMPLATE - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ISSUE_TEMPLATE
-
-
-

If you are requesting a feature, you can remove the following content. If not, it would help get a faster feedback on your issue.

-

Olive version:

-

Source: *(AppImage, Website etc.)*

-

Operating system: *(Ubuntu 18.04 64-bit)*

-

CPU: Intel i5-4300U

-

GPU: NVIDIA Geforce GT 1030 2GB (Driver ver xxx.xx.xx)

-

Detailed Description

-

your issue description here

-

Steps to reproduce

-
    -
  1. -
  2. -
  3. -
  4. -
-

...

-

Output log

-
please paste it here for better reading
-
- - - - diff --git a/docs/html/md__r_e_a_d_m_e.html b/docs/html/md__r_e_a_d_m_e.html deleted file mode 100644 index dc08abe6b..000000000 --- a/docs/html/md__r_e_a_d_m_e.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: Olive Video Editor - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Olive Video Editor
-
-
-

Olive is a free non-linear video editor for Windows, macOS, and Linux.

-

Discover more and download binaries at: https://www.olivevideoeditor.org/

-

Please consider supporting Olive:

-

Become a Patron -

-

Compiling instructions for Windows, macOS, and Linux can be found on the main site.

-
-
- - - - diff --git a/docs/html/media_8cpp.html b/docs/html/media_8cpp.html deleted file mode 100644 index e2cccacc9..000000000 --- a/docs/html/media_8cpp.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - -Olive: project/media.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
media.cpp File Reference
-
-
-
#include "media.h"
-#include "footage.h"
-#include "sequence.h"
-#include "undo.h"
-#include "io/config.h"
-#include "panels/viewer.h"
-#include "panels/project.h"
-#include "projectmodel.h"
-#include <QCoreApplication>
-#include <QtMath>
-#include "debug.h"
-#include <libavformat/avformat.h>
-#include <libavcodec/avcodec.h>
-
- - - - - -

-Functions

QString get_interlacing_name (int interlacing)
 
QString get_channel_layout_name (int channels, uint64_t layout)
 
-

Function Documentation

- -

◆ get_channel_layout_name()

- -
-
- - - - - - - - - - - - - - - - - - -
QString get_channel_layout_name (int channels,
uint64_t layout 
)
-
- -
-
- -

◆ get_interlacing_name()

- -
-
- - - - - - - - -
QString get_interlacing_name (int interlacing)
-
- -
-
-
- - - - diff --git a/docs/html/media_8h.html b/docs/html/media_8h.html deleted file mode 100644 index 1025ca7d4..000000000 --- a/docs/html/media_8h.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - -Olive: project/media.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
media.h File Reference
-
-
-
#include <QList>
-#include <QVariant>
-#include <QIcon>
-#include "project/marker.h"
-#include "project/footage.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  Media
 
- - - - - -

-Typedefs

using SequencePtr = std::shared_ptr< Sequence >
 
using VoidPtr = std::shared_ptr< void >
 
- - - -

-Enumerations

enum  MediaType { MEDIA_TYPE_FOOTAGE, -MEDIA_TYPE_SEQUENCE, -MEDIA_TYPE_FOLDER - }
 
-

Typedef Documentation

- -

◆ SequencePtr

- -
-
- - - - -
using SequencePtr = std::shared_ptr<Sequence>
-
- -
-
- -

◆ VoidPtr

- -
-
- - - - -
using VoidPtr = std::shared_ptr<void>
-
- -
-
-

Enumeration Type Documentation

- -

◆ MediaType

- -
-
- - - - -
enum MediaType
-
- - - - -
Enumerator
MEDIA_TYPE_FOOTAGE 
MEDIA_TYPE_SEQUENCE 
MEDIA_TYPE_FOLDER 
- -
-
-
- - - - diff --git a/docs/html/media_8h_source.html b/docs/html/media_8h_source.html deleted file mode 100644 index ae400c7f4..000000000 --- a/docs/html/media_8h_source.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Olive: project/media.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
media.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef MEDIA_H
22 #define MEDIA_H
23 
24 #include <QList>
25 #include <QVariant>
26 #include <QIcon>
27 
28 #include "project/marker.h"
29 #include "project/footage.h"
30 
31 enum MediaType {
35 };
36 
37 class Sequence;
38 using SequencePtr = std::shared_ptr<Sequence>;
39 
40 using VoidPtr = std::shared_ptr<void>;
41 
42 class Media
43 {
44 public:
45  Media(Media* iparent);
46  ~Media();
49  void set_footage(FootagePtr f);
50  void set_sequence(SequencePtr s);
51  void set_folder();
52  void set_icon(const QIcon &ico);
53  void set_parent(Media* p);
54  void update_tooltip(const QString& error = 0);
56  int get_type();
57  const QString& get_name();
58  void set_name(const QString& n);
59 
60  double get_frame_rate(int stream = -1);
61  int get_sampling_rate(int stream = -1);
62 
63  // item functions
64  void appendChild(Media *child);
65  bool setData(int col, const QVariant &value);
66  Media *child(int row);
67  int childCount() const;
68  int columnCount() const;
69  QVariant data(int column, int role);
70  int row() const;
71  Media *parentItem();
72  void removeChild(int i);
73 
74  // get markers from internal object
75  QVector<Marker>& get_markers();
76 
77  bool root;
78  int temp_id;
79  int temp_id2;
80 private:
81  int type;
83 
84  // item functions
85  QList<Media*> children;
87  QString folder_name;
88  QString tooltip;
89  QIcon icon;
90 };
91 
92 #endif // MEDIA_H
QList< Media * > children
Definition: media.h:85
-
int row() const
Definition: media.cpp:339
-
bool root
Definition: media.h:77
-
void set_name(const QString &n)
Definition: media.cpp:221
-
std::shared_ptr< void > VoidPtr
Definition: clipboard.h:31
-
QString tooltip
Definition: media.h:88
-
Definition: sequence.h:31
-
void set_sequence(SequencePtr s)
Definition: media.cpp:88
-
bool setData(int col, const QVariant &value)
Definition: media.cpp:260
-
void removeChild(int i)
Definition: media.cpp:350
-
void set_folder()
Definition: media.cpp:95
-
const QString & get_name()
Definition: media.cpp:213
-
Media * parentItem()
Definition: media.cpp:346
-
std::shared_ptr< Footage > FootagePtr
Definition: footage.h:103
-
int get_type()
Definition: media.cpp:209
-
Definition: media.h:42
-
void update_tooltip(const QString &error=0)
Definition: media.cpp:110
-
SequencePtr to_sequence()
Definition: media.cpp:79
-
Media * parent
Definition: media.h:86
-
QString folder_name
Definition: media.h:87
-
QVector< Marker > & get_markers()
Definition: media.cpp:354
-
int type
Definition: media.h:81
- -
int childCount() const
Definition: media.cpp:275
-
VoidPtr to_object()
Definition: media.cpp:205
-
Media(Media *iparent)
Definition: media.cpp:63
-
int temp_id
Definition: media.h:78
-
void set_parent(Media *p)
Definition: media.cpp:106
-
FootagePtr to_footage()
Definition: media.cpp:75
-
int temp_id2
Definition: media.h:79
-
MediaType
Definition: media.h:31
-
int get_sampling_rate(int stream=-1)
Definition: media.cpp:242
-
Media * child(int row)
Definition: media.cpp:271
-
std::shared_ptr< Sequence > SequencePtr
Definition: clip.h:48
-
int columnCount() const
Definition: media.cpp:279
-
Definition: media.h:33
-
void set_icon(const QIcon &ico)
Definition: media.cpp:102
-
Definition: media.h:34
-
void appendChild(Media *child)
Definition: media.cpp:255
-
Definition: media.h:32
-
double get_frame_rate(int stream=-1)
Definition: media.cpp:229
- -
VoidPtr object
Definition: media.h:82
-
QVariant data(int column, int role)
Definition: media.cpp:283
-
~Media()
Definition: media.cpp:69
-
void set_footage(FootagePtr f)
Definition: media.cpp:83
-
QIcon icon
Definition: media.h:89
-
- - - - diff --git a/docs/html/mediaiconservice_8cpp.html b/docs/html/mediaiconservice_8cpp.html deleted file mode 100644 index 63c360ef8..000000000 --- a/docs/html/mediaiconservice_8cpp.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - -Olive: ui/mediaiconservice.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
mediaiconservice.cpp File Reference
-
-
- - - - - - -

-Variables

const int kThrobberLimit = 20
 
const int kThrobberSize = 50
 
-

Variable Documentation

- -

◆ kThrobberLimit

- -
-
- - - - -
const int kThrobberLimit = 20
-
- -
-
- -

◆ kThrobberSize

- -
-
- - - - -
const int kThrobberSize = 50
-
- -
-
-
- - - - diff --git a/docs/html/mediaiconservice_8h.html b/docs/html/mediaiconservice_8h.html deleted file mode 100644 index 7d7767424..000000000 --- a/docs/html/mediaiconservice_8h.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - -Olive: ui/mediaiconservice.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
mediaiconservice.h File Reference
-
-
-
#include <QObject>
-#include <QTimer>
-#include <QMutex>
-#include "project/media.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  MediaIconService
 
- - - -

-Namespaces

 olive
 
- - - -

-Enumerations

enum  IconType {
-  ICON_TYPE_VIDEO, -ICON_TYPE_AUDIO, -ICON_TYPE_IMAGE, -ICON_TYPE_LOADING, -
-  ICON_TYPE_ERROR -
- }
 
- - - -

-Variables

std::unique_ptr< MediaIconServiceolive::media_icon_service
 
-

Enumeration Type Documentation

- -

◆ IconType

- -
-
- - - - -
enum IconType
-
- - - - - - -
Enumerator
ICON_TYPE_VIDEO 
ICON_TYPE_AUDIO 
ICON_TYPE_IMAGE 
ICON_TYPE_LOADING 
ICON_TYPE_ERROR 
- -
-
-
- - - - diff --git a/docs/html/mediaiconservice_8h_source.html b/docs/html/mediaiconservice_8h_source.html deleted file mode 100644 index dcd08e119..000000000 --- a/docs/html/mediaiconservice_8h_source.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Olive: ui/mediaiconservice.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
mediaiconservice.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef MEDIAICONSERVICE_H
22 #define MEDIAICONSERVICE_H
23 
24 #include <QObject>
25 #include <QTimer>
26 #include <QMutex>
27 
28 #include "project/media.h"
29 
30 enum IconType {
36 };
37 
38 class MediaIconService : public QObject {
39  Q_OBJECT
40 public:
42 public slots:
43  void SetMediaIcon(Media* media, int icon_type);
44 signals:
45  void IconChanged();
46 private slots:
47  void AnimationUpdate();
48 private:
50  QVector<Media*> throbber_items_;
54 };
55 
56 namespace olive {
57  extern std::unique_ptr<MediaIconService> media_icon_service;
58 }
59 
60 #endif // MEDIAICONSERVICE_H
Definition: mediaiconservice.h:38
-
std::unique_ptr< MediaIconService > media_icon_service
Definition: mediaiconservice.cpp:28
-
Definition: mediaiconservice.h:33
- -
Definition: mediaiconservice.h:35
-
QVector< Media * > throbber_items_
Definition: mediaiconservice.h:50
-
Definition: mediaiconservice.h:32
-
Definition: debugdialog.h:39
-
Definition: media.h:42
-
void AnimationUpdate()
Definition: mediaiconservice.cpp:85
-
Definition: mediaiconservice.h:34
-
QMutex throbber_lock_
Definition: mediaiconservice.h:53
-
Definition: mediaiconservice.h:31
-
void SetMediaIcon(Media *media, int icon_type)
Definition: mediaiconservice.cpp:39
-
int throbber_animation_frame_
Definition: mediaiconservice.h:49
-
QTimer throbber_animator_
Definition: mediaiconservice.h:51
-
QPixmap throbber_pixmap_
Definition: mediaiconservice.h:52
- -
IconType
Definition: mediaiconservice.h:30
-
MediaIconService()
Definition: mediaiconservice.cpp:30
-
- - - - diff --git a/docs/html/mediapropertiesdialog_8cpp.html b/docs/html/mediapropertiesdialog_8cpp.html deleted file mode 100644 index 9e0e79d1f..000000000 --- a/docs/html/mediapropertiesdialog_8cpp.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Olive: dialogs/mediapropertiesdialog.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
mediapropertiesdialog.cpp File Reference
-
-
-
#include "mediapropertiesdialog.h"
-#include <QGridLayout>
-#include <QLabel>
-#include <QComboBox>
-#include <QLineEdit>
-#include <QDialogButtonBox>
-#include <QTreeWidgetItem>
-#include <QGroupBox>
-#include <QListWidget>
-#include <QCheckBox>
-#include <QSpinBox>
-#include "project/footage.h"
-#include "project/media.h"
-#include "panels/project.h"
-#include "project/undo.h"
-
- - - - diff --git a/docs/html/mediapropertiesdialog_8h.html b/docs/html/mediapropertiesdialog_8h.html deleted file mode 100644 index bb1cb8017..000000000 --- a/docs/html/mediapropertiesdialog_8h.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Olive: dialogs/mediapropertiesdialog.h File Reference - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
mediapropertiesdialog.h File Reference
-
-
-
#include <QDialog>
-#include <QComboBox>
-#include <QLineEdit>
-#include <QListWidget>
-#include <QDoubleSpinBox>
-#include <QCheckBox>
-#include "project/footage.h"
-#include "project/media.h"
-
-

Go to the source code of this file.

- - - - -

-Classes

class  MediaPropertiesDialog
 
-
- - - - diff --git a/docs/html/mediapropertiesdialog_8h_source.html b/docs/html/mediapropertiesdialog_8h_source.html deleted file mode 100644 index e7a8c7ae6..000000000 --- a/docs/html/mediapropertiesdialog_8h_source.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: dialogs/mediapropertiesdialog.h Source File - - - - - - - - - -
-
- - - - - - -
-
Olive -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
mediapropertiesdialog.h
-
-
-Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef MEDIAPROPERTIESDIALOG_H
22 #define MEDIAPROPERTIESDIALOG_H
23 
24 #include <QDialog>
25 #include <QComboBox>
26 #include <QLineEdit>
27 #include <QListWidget>
28 #include <QDoubleSpinBox>
29 #include <QCheckBox>
30 
31 #include "project/footage.h"
32 #include "project/media.h"
33 
34 class MediaPropertiesDialog : public QDialog {
35  Q_OBJECT
36 public:
37  MediaPropertiesDialog(QWidget *parent, Media* i);
38 private:
39  QComboBox* interlacing_box;
40  QLineEdit* name_box;
42  QListWidget* track_list;
43  QDoubleSpinBox* conform_fr;
45 private slots:
46  void accept();
47 };
48 
49 #endif // MEDIAPROPERTIESDIALOG_H
Definition: mediapropertiesdialog.h:34
- -
Definition: media.h:42
- -
QListWidget * track_list
Definition: mediapropertiesdialog.h:42
-
QCheckBox * premultiply_alpha_setting
Definition: mediapropertiesdialog.h:44
-
MediaPropertiesDialog(QWidget *parent, Media *i)
Definition: mediapropertiesdialog.cpp:39
-
QLineEdit * name_box
Definition: mediapropertiesdialog.h:40
-
QComboBox * interlacing_box
Definition: mediapropertiesdialog.h:39
-
void accept()
Definition: mediapropertiesdialog.cpp:145
-
Media * item
Definition: mediapropertiesdialog.h:41
-
QDoubleSpinBox * conform_fr
Definition: mediapropertiesdialog.h:43
-
- - - - diff --git a/docs/html/menu.js b/docs/html/menu.js deleted file mode 100644 index 433c15b8f..000000000 --- a/docs/html/menu.js +++ /dev/null @@ -1,50 +0,0 @@ -/* - @licstart The following is the entire license notice for the - JavaScript code in this file. - - Copyright (C) 1997-2017 by Dimitri van Heesch - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - @licend The above is the entire license notice - for the JavaScript code in this file - */ -function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { - function makeTree(data,relPath) { - var result=''; - if ('children' in data) { - result+=''; - } - return result; - } - - $('#main-nav').append(makeTree(menudata,relPath)); - $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); - if (searchEnabled) { - if (serverSide) { - $('#main-menu').append('
  • '); - } else { - $('#main-menu').append('
  • '); - } - } - $('#main-menu').smartmenus(); -} -/* @license-end */ diff --git a/docs/html/menudata.js b/docs/html/menudata.js deleted file mode 100644 index 5454ed201..000000000 --- a/docs/html/menudata.js +++ /dev/null @@ -1,231 +0,0 @@ -/* -@ @licstart The following is the entire license notice for the -JavaScript code in this file. - -Copyright (C) 1997-2017 by Dimitri van Heesch - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -@licend The above is the entire license notice -for the JavaScript code in this file -*/ -var menudata={children:[ -{text:"Main Page",url:"index.html"}, -{text:"Related Pages",url:"pages.html"}, -{text:"Namespaces",url:"namespaces.html",children:[ -{text:"Namespace List",url:"namespaces.html"}, -{text:"Namespace Members",url:"namespacemembers.html",children:[ -{text:"All",url:"namespacemembers.html",children:[ -{text:"a",url:"namespacemembers.html#index_a"}, -{text:"c",url:"namespacemembers.html#index_c"}, -{text:"d",url:"namespacemembers.html#index_d"}, -{text:"f",url:"namespacemembers.html#index_f"}, -{text:"g",url:"namespacemembers.html#index_g"}, -{text:"k",url:"namespacemembers.html#index_k"}, -{text:"m",url:"namespacemembers.html#index_m"}, -{text:"p",url:"namespacemembers.html#index_p"}, -{text:"r",url:"namespacemembers.html#index_r"}, -{text:"t",url:"namespacemembers.html#index_t"}, -{text:"u",url:"namespacemembers.html#index_u"}]}, -{text:"Variables",url:"namespacemembers_vars.html"}, -{text:"Enumerations",url:"namespacemembers_enum.html"}, -{text:"Enumerator",url:"namespacemembers_eval.html"}]}]}, -{text:"Classes",url:"annotated.html",children:[ -{text:"Class List",url:"annotated.html"}, -{text:"Class Index",url:"classes.html"}, -{text:"Class Hierarchy",url:"hierarchy.html"}, -{text:"Class Members",url:"functions.html",children:[ -{text:"All",url:"functions.html",children:[ -{text:"a",url:"functions.html#index_a"}, -{text:"b",url:"functions_b.html#index_b"}, -{text:"c",url:"functions_c.html#index_c"}, -{text:"d",url:"functions_d.html#index_d"}, -{text:"e",url:"functions_e.html#index_e"}, -{text:"f",url:"functions_f.html#index_f"}, -{text:"g",url:"functions_g.html#index_g"}, -{text:"h",url:"functions_h.html#index_h"}, -{text:"i",url:"functions_i.html#index_i"}, -{text:"j",url:"functions_j.html#index_j"}, -{text:"k",url:"functions_k.html#index_k"}, -{text:"l",url:"functions_l.html#index_l"}, -{text:"m",url:"functions_m.html#index_m"}, -{text:"n",url:"functions_n.html#index_n"}, -{text:"o",url:"functions_o.html#index_o"}, -{text:"p",url:"functions_p.html#index_p"}, -{text:"q",url:"functions_q.html#index_q"}, -{text:"r",url:"functions_r.html#index_r"}, -{text:"s",url:"functions_s.html#index_s"}, -{text:"t",url:"functions_t.html#index_t"}, -{text:"u",url:"functions_u.html#index_u"}, -{text:"v",url:"functions_v.html#index_v"}, -{text:"w",url:"functions_w.html#index_w"}, -{text:"x",url:"functions_x.html#index_x"}, -{text:"y",url:"functions_y.html#index_y"}, -{text:"z",url:"functions_z.html#index_z"}, -{text:"~",url:"functions_~.html#index__7E"}]}, -{text:"Functions",url:"functions_func.html",children:[ -{text:"a",url:"functions_func.html#index_a"}, -{text:"b",url:"functions_func_b.html#index_b"}, -{text:"c",url:"functions_func_c.html#index_c"}, -{text:"d",url:"functions_func_d.html#index_d"}, -{text:"e",url:"functions_func_e.html#index_e"}, -{text:"f",url:"functions_func_f.html#index_f"}, -{text:"g",url:"functions_func_g.html#index_g"}, -{text:"h",url:"functions_func_h.html#index_h"}, -{text:"i",url:"functions_func_i.html#index_i"}, -{text:"k",url:"functions_func_k.html#index_k"}, -{text:"l",url:"functions_func_l.html#index_l"}, -{text:"m",url:"functions_func_m.html#index_m"}, -{text:"n",url:"functions_func_n.html#index_n"}, -{text:"o",url:"functions_func_o.html#index_o"}, -{text:"p",url:"functions_func_p.html#index_p"}, -{text:"q",url:"functions_func_q.html#index_q"}, -{text:"r",url:"functions_func_r.html#index_r"}, -{text:"s",url:"functions_func_s.html#index_s"}, -{text:"t",url:"functions_func_t.html#index_t"}, -{text:"u",url:"functions_func_u.html#index_u"}, -{text:"v",url:"functions_func_v.html#index_v"}, -{text:"w",url:"functions_func_w.html#index_w"}, -{text:"x",url:"functions_func_x.html#index_x"}, -{text:"y",url:"functions_func_y.html#index_y"}, -{text:"z",url:"functions_func_z.html#index_z"}, -{text:"~",url:"functions_func_~.html#index__7E"}]}, -{text:"Variables",url:"functions_vars.html",children:[ -{text:"a",url:"functions_vars.html#index_a"}, -{text:"b",url:"functions_vars_b.html#index_b"}, -{text:"c",url:"functions_vars_c.html#index_c"}, -{text:"d",url:"functions_vars_d.html#index_d"}, -{text:"e",url:"functions_vars_e.html#index_e"}, -{text:"f",url:"functions_vars_f.html#index_f"}, -{text:"g",url:"functions_vars_g.html#index_g"}, -{text:"h",url:"functions_vars_h.html#index_h"}, -{text:"i",url:"functions_vars_i.html#index_i"}, -{text:"j",url:"functions_vars_j.html#index_j"}, -{text:"k",url:"functions_vars_k.html#index_k"}, -{text:"l",url:"functions_vars_l.html#index_l"}, -{text:"m",url:"functions_vars_m.html#index_m"}, -{text:"n",url:"functions_vars_n.html#index_n"}, -{text:"o",url:"functions_vars_o.html#index_o"}, -{text:"p",url:"functions_vars_p.html#index_p"}, -{text:"q",url:"functions_vars_q.html#index_q"}, -{text:"r",url:"functions_vars_r.html#index_r"}, -{text:"s",url:"functions_vars_s.html#index_s"}, -{text:"t",url:"functions_vars_t.html#index_t"}, -{text:"u",url:"functions_vars_u.html#index_u"}, -{text:"v",url:"functions_vars_v.html#index_v"}, -{text:"w",url:"functions_vars_w.html#index_w"}, -{text:"x",url:"functions_vars_x.html#index_x"}, -{text:"y",url:"functions_vars_y.html#index_y"}, -{text:"z",url:"functions_vars_z.html#index_z"}]}]}]}, -{text:"Files",url:"files.html",children:[ -{text:"File List",url:"files.html"}, -{text:"File Members",url:"globals.html",children:[ -{text:"All",url:"globals.html",children:[ -{text:"a",url:"globals.html#index_a"}, -{text:"b",url:"globals_b.html#index_b"}, -{text:"c",url:"globals_c.html#index_c"}, -{text:"d",url:"globals_d.html#index_d"}, -{text:"e",url:"globals_e.html#index_e"}, -{text:"f",url:"globals_f.html#index_f"}, -{text:"g",url:"globals_g.html#index_g"}, -{text:"h",url:"globals_h.html#index_h"}, -{text:"i",url:"globals_i.html#index_i"}, -{text:"k",url:"globals_k.html#index_k"}, -{text:"l",url:"globals_l.html#index_l"}, -{text:"m",url:"globals_m.html#index_m"}, -{text:"n",url:"globals_n.html#index_n"}, -{text:"o",url:"globals_o.html#index_o"}, -{text:"p",url:"globals_p.html#index_p"}, -{text:"q",url:"globals_q.html#index_q"}, -{text:"r",url:"globals_r.html#index_r"}, -{text:"s",url:"globals_s.html#index_s"}, -{text:"t",url:"globals_t.html#index_t"}, -{text:"u",url:"globals_u.html#index_u"}, -{text:"v",url:"globals_v.html#index_v"}, -{text:"w",url:"globals_w.html#index_w"}]}, -{text:"Functions",url:"globals_func.html",children:[ -{text:"a",url:"globals_func.html#index_a"}, -{text:"b",url:"globals_func_b.html#index_b"}, -{text:"c",url:"globals_func_c.html#index_c"}, -{text:"d",url:"globals_func_d.html#index_d"}, -{text:"f",url:"globals_func_f.html#index_f"}, -{text:"g",url:"globals_func_g.html#index_g"}, -{text:"h",url:"globals_func_h.html#index_h"}, -{text:"i",url:"globals_func_i.html#index_i"}, -{text:"k",url:"globals_func_k.html#index_k"}, -{text:"l",url:"globals_func_l.html#index_l"}, -{text:"m",url:"globals_func_m.html#index_m"}, -{text:"o",url:"globals_func_o.html#index_o"}, -{text:"p",url:"globals_func_p.html#index_p"}, -{text:"q",url:"globals_func_q.html#index_q"}, -{text:"r",url:"globals_func_r.html#index_r"}, -{text:"s",url:"globals_func_s.html#index_s"}, -{text:"t",url:"globals_func_t.html#index_t"}, -{text:"u",url:"globals_func_u.html#index_u"}, -{text:"v",url:"globals_func_v.html#index_v"}, -{text:"w",url:"globals_func_w.html#index_w"}]}, -{text:"Variables",url:"globals_vars.html",children:[ -{text:"a",url:"globals_vars.html#index_a"}, -{text:"c",url:"globals_vars.html#index_c"}, -{text:"d",url:"globals_vars.html#index_d"}, -{text:"e",url:"globals_vars.html#index_e"}, -{text:"k",url:"globals_vars.html#index_k"}, -{text:"l",url:"globals_vars.html#index_l"}, -{text:"n",url:"globals_vars.html#index_n"}, -{text:"o",url:"globals_vars.html#index_o"}, -{text:"p",url:"globals_vars.html#index_p"}, -{text:"r",url:"globals_vars.html#index_r"}, -{text:"s",url:"globals_vars.html#index_s"}, -{text:"t",url:"globals_vars.html#index_t"}]}, -{text:"Typedefs",url:"globals_type.html",children:[ -{text:"a",url:"globals_type.html#index_a"}, -{text:"c",url:"globals_type.html#index_c"}, -{text:"d",url:"globals_type.html#index_d"}, -{text:"e",url:"globals_type.html#index_e"}, -{text:"f",url:"globals_type.html#index_f"}, -{text:"g",url:"globals_type.html#index_g"}, -{text:"p",url:"globals_type.html#index_p"}, -{text:"s",url:"globals_type.html#index_s"}, -{text:"t",url:"globals_type.html#index_t"}, -{text:"v",url:"globals_type.html#index_v"}]}, -{text:"Enumerations",url:"globals_enum.html"}, -{text:"Enumerator",url:"globals_eval.html",children:[ -{text:"a",url:"globals_eval.html#index_a"}, -{text:"b",url:"globals_eval.html#index_b"}, -{text:"e",url:"globals_eval.html#index_e"}, -{text:"f",url:"globals_eval.html#index_f"}, -{text:"g",url:"globals_eval.html#index_g"}, -{text:"i",url:"globals_eval.html#index_i"}, -{text:"k",url:"globals_eval.html#index_k"}, -{text:"l",url:"globals_eval.html#index_l"}, -{text:"m",url:"globals_eval.html#index_m"}, -{text:"t",url:"globals_eval.html#index_t"}, -{text:"v",url:"globals_eval.html#index_v"}]}, -{text:"Macros",url:"globals_defs.html",children:[ -{text:"a",url:"globals_defs.html#index_a"}, -{text:"b",url:"globals_defs.html#index_b"}, -{text:"c",url:"globals_defs.html#index_c"}, -{text:"d",url:"globals_defs.html#index_d"}, -{text:"e",url:"globals_defs.html#index_e"}, -{text:"f",url:"globals_defs.html#index_f"}, -{text:"g",url:"globals_defs.html#index_g"}, -{text:"k",url:"globals_defs.html#index_k"}, -{text:"l",url:"globals_defs.html#index_l"}, -{text:"m",url:"globals_defs.html#index_m"}, -{text:"p",url:"globals_defs.html#index_p"}, -{text:"r",url:"globals_defs.html#index_r"}, -{text:"s",url:"globals_defs.html#index_s"}, -{text:"t",url:"globals_defs.html#index_t"}, -{text:"v",url:"globals_defs.html#index_v"}]}]}]}]} diff --git a/docs/html/menuhelper_8cpp.html b/docs/html/menuhelper_8cpp.html deleted file mode 100644 index 972c002ff..000000000 --- a/docs/html/menuhelper_8cpp.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: ui/menuhelper.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    menuhelper.cpp File Reference
    -
    -
    -
    #include "menuhelper.h"
    -#include "oliveglobal.h"
    -#include "ui/focusfilter.h"
    -#include "io/config.h"
    -#include "panels/panels.h"
    -#include "mainwindow.h"
    -#include <QMessageBox>
    -#include <QInputDialog>
    -#include <QPushButton>
    -
    - - - - diff --git a/docs/html/menuhelper_8h.html b/docs/html/menuhelper_8h.html deleted file mode 100644 index fcab6e120..000000000 --- a/docs/html/menuhelper_8h.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Olive: ui/menuhelper.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    menuhelper.h File Reference
    -
    -
    -
    #include <QObject>
    -#include <QMenu>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  MenuHelper
     
    - - - -

    -Namespaces

     olive
     
    - - - - -

    -Variables

    MenuHelper olive::MenuHelper
     A global MenuHelper object to assist menu creation throughout Olive. More...
     
    -
    - - - - diff --git a/docs/html/menuhelper_8h_source.html b/docs/html/menuhelper_8h_source.html deleted file mode 100644 index d06d466eb..000000000 --- a/docs/html/menuhelper_8h_source.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Olive: ui/menuhelper.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    menuhelper.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef MENUHELPER_H
    22 #define MENUHELPER_H
    23 
    24 #include <QObject>
    25 #include <QMenu>
    26 
    27 class MenuHelper : public QObject {
    28  Q_OBJECT
    29 public:
    40  void make_new_menu(QMenu* parent);
    41 
    52  void make_inout_menu(QMenu* parent);
    53 
    67  void make_clip_functions_menu(QMenu* parent);
    68 
    76  void make_edit_functions_menu(QMenu* parent);
    77 
    89  void set_bool_action_checked(QAction* a);
    90 
    107  void set_int_action_checked(QAction* a, const int& i);
    108 
    117  void set_button_action_checked(QAction* a);
    118 
    119 public slots:
    120 
    127  void toggle_bool_action();
    128 
    141 
    148  void set_autoscroll();
    149 
    156  void menu_click_button();
    157 
    164  void set_timecode_view();
    165 
    172  void open_recent_from_menu();
    173 
    174 private slots:
    175 
    176 
    177 };
    178 
    179 namespace olive {
    183  extern MenuHelper MenuHelper;
    184 }
    185 
    186 #endif // MENUHELPER_H
    void open_recent_from_menu()
    Calls open_recent() in Olive::Global using the index from a QAction.
    Definition: menuhelper.cpp:170
    -
    void set_bool_action_checked(QAction *a)
    Sets the checked state of a menu item based on a Boolean variable.
    Definition: menuhelper.cpp:72
    -
    void set_button_action_checked(QAction *a)
    Sets the checked state of a menu item based on a QPushButton.
    Definition: menuhelper.cpp:86
    -
    void set_int_action_checked(QAction *a, const int &i)
    Sets the checked state of a menu item based on an integer variable.
    Definition: menuhelper.cpp:79
    -
    void toggle_bool_action()
    Sets a QAction's Boolean reference to the opposite of its current value.
    Definition: menuhelper.cpp:90
    -
    Definition: debugdialog.h:39
    -
    void make_new_menu(QMenu *parent)
    Creates a menu of new items that can be created.
    Definition: menuhelper.cpp:38
    -
    void set_timecode_view()
    Sets the current timecode setting.
    Definition: menuhelper.cpp:164
    -
    MenuHelper MenuHelper
    A global MenuHelper object to assist menu creation throughout Olive.
    Definition: menuhelper.cpp:36
    -
    void make_inout_menu(QMenu *parent)
    Creates a menu of options for working with in/out points.
    Definition: menuhelper.cpp:45
    -
    void make_edit_functions_menu(QMenu *parent)
    Creates standard edit menu (cut, copy, paste, etc.)
    Definition: menuhelper.cpp:61
    -
    void menu_click_button()
    Clicks a QPushButton referenced by a QAction when triggered.
    Definition: menuhelper.cpp:160
    -
    void set_autoscroll()
    Set Autoscroll setting from QAction.
    Definition: menuhelper.cpp:155
    -
    Definition: menuhelper.h:27
    -
    void make_clip_functions_menu(QMenu *parent)
    Creates a menu of clip functions.
    Definition: menuhelper.cpp:54
    -
    void set_titlesafe_from_menu()
    Set Title/Action Safe Area from QAction.
    Definition: menuhelper.cpp:97
    -
    - - - - diff --git a/docs/html/namespacemembers.html b/docs/html/namespacemembers.html deleted file mode 100644 index fd31d0656..000000000 --- a/docs/html/namespacemembers.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - -Olive: Namespace Members - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
    -
    Here is a list of all namespace members with links to the namespace documentation for each member:
    - -

    - a -

      -
    • ActiveProjectFilename -: olive -
    • -
    • ActiveSequence -: olive -
    • -
    • AppName -: olive -
    • -
    • AUTOSCROLL_NO_SCROLL -: olive -
    • -
    • AUTOSCROLL_PAGE_SCROLL -: olive -
    • -
    • AUTOSCROLL_SMOOTH_SCROLL -: olive -
    • -
    • AutoScrollMode -: olive -
    • -
    - - -

    - c -

      -
    • CurrentConfig -: olive -
    • -
    • CurrentRuntimeConfig -: olive -
    • -
    • Cursor_LeftTrim -: olive -
    • -
    • Cursor_RightTrim -: olive -
    • -
    - - -

    - d -

      -
    • DebugDialog -: olive -
    • -
    - - -

    - f -

      -
    • FocusFilter -: olive -
    • -
    • FRAME_QUEUE_TYPE_FRAMES -: olive -
    • -
    • FRAME_QUEUE_TYPE_SECONDS -: olive -
    • -
    • FrameQueueType -: olive -
    • -
    - - -

    - g -

    - - -

    - k -

    - - -

    - m -

      -
    • MainWindow -: olive -
    • -
    • media_icon_service -: olive -
    • -
    • MenuHelper -: olive -
    • -
    - - -

    - p -

      -
    • project_model -: olive -
    • -
    • PROJECT_VIEW_ICON -: olive -
    • -
    • PROJECT_VIEW_TREE -: olive -
    • -
    • ProjectView -: olive -
    • -
    - - -

    - r -

      -
    • RECORD_MODE_MONO -: olive -
    • -
    • RECORD_MODE_STEREO -: olive -
    • -
    • RecordingMode -: olive -
    • -
    - - -

    - t -

      -
    • TimecodeType -: olive -
    • -
    - - -

    - u -

    -
    - - - - diff --git a/docs/html/namespacemembers_enum.html b/docs/html/namespacemembers_enum.html deleted file mode 100644 index 457cc3aaa..000000000 --- a/docs/html/namespacemembers_enum.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: Namespace Members - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
      -
    • AutoScrollMode -: olive -
    • -
    • FrameQueueType -: olive -
    • -
    • ProjectView -: olive -
    • -
    • RecordingMode -: olive -
    • -
    • TimecodeType -: olive -
    • -
    -
    - - - - diff --git a/docs/html/namespacemembers_eval.html b/docs/html/namespacemembers_eval.html deleted file mode 100644 index f62efe42d..000000000 --- a/docs/html/namespacemembers_eval.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Olive: Namespace Members - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
      -
    • AUTOSCROLL_NO_SCROLL -: olive -
    • -
    • AUTOSCROLL_PAGE_SCROLL -: olive -
    • -
    • AUTOSCROLL_SMOOTH_SCROLL -: olive -
    • -
    • FRAME_QUEUE_TYPE_FRAMES -: olive -
    • -
    • FRAME_QUEUE_TYPE_SECONDS -: olive -
    • -
    • kTimecodeDrop -: olive -
    • -
    • kTimecodeFrames -: olive -
    • -
    • kTimecodeMilliseconds -: olive -
    • -
    • kTimecodeNonDrop -: olive -
    • -
    • PROJECT_VIEW_ICON -: olive -
    • -
    • PROJECT_VIEW_TREE -: olive -
    • -
    • RECORD_MODE_MONO -: olive -
    • -
    • RECORD_MODE_STEREO -: olive -
    • -
    -
    - - - - diff --git a/docs/html/namespacemembers_vars.html b/docs/html/namespacemembers_vars.html deleted file mode 100644 index d77d3d349..000000000 --- a/docs/html/namespacemembers_vars.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - -Olive: Namespace Members - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
    -
    - - - - diff --git a/docs/html/namespaceolive.html b/docs/html/namespaceolive.html deleted file mode 100644 index 29f650ba4..000000000 --- a/docs/html/namespaceolive.html +++ /dev/null @@ -1,539 +0,0 @@ - - - - - - - -Olive: olive Namespace Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    olive Namespace Reference
    -
    -
    - - - - -

    -Namespaces

     timeline
     
    - - - - - - - - - - - - - - - - -

    -Enumerations

    enum  TimecodeType { kTimecodeDrop, -kTimecodeNonDrop, -kTimecodeFrames, -kTimecodeMilliseconds - }
     The TimecodeType enum. More...
     
    enum  RecordingMode { RECORD_MODE_MONO, -RECORD_MODE_STEREO - }
     The RecordingMode enum. More...
     
    enum  AutoScrollMode { AUTOSCROLL_NO_SCROLL, -AUTOSCROLL_PAGE_SCROLL, -AUTOSCROLL_SMOOTH_SCROLL - }
     The AutoScrollMode enum. More...
     
    enum  ProjectView { PROJECT_VIEW_TREE, -PROJECT_VIEW_ICON - }
     The ProjectView enum. More...
     
    enum  FrameQueueType { FRAME_QUEUE_TYPE_FRAMES, -FRAME_QUEUE_TYPE_SECONDS - }
     The FrameQueueType enum. More...
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Variables

    DebugDialogDebugDialog = nullptr
     
    const int kSaveVersion = 190219
     Version identifier for saved projects. More...
     
    const int kMinimumSaveVersion = 190219
     Minimum project version that this version of Olive can open. More...
     
    Config CurrentConfig
     
    RuntimeConfig CurrentRuntimeConfig
     
    MainWindowMainWindow
     
    std::unique_ptr< OliveGlobalGlobal
     Object resource for various global functions used throughout Olive. More...
     
    QString ActiveProjectFilename
     Currently active project filename. More...
     
    QString AppName
     Current application name. More...
     
    ProjectModel project_model
     
    SequencePtr ActiveSequence = nullptr
     
    QUndoStack UndoStack
     
    QCursor Cursor_LeftTrim
     
    QCursor Cursor_RightTrim
     
    FocusFilter FocusFilter
     
    std::unique_ptr< MediaIconServicemedia_icon_service
     
    MenuHelper MenuHelper
     A global MenuHelper object to assist menu creation throughout Olive. More...
     
    -

    Enumeration Type Documentation

    - -

    ◆ AutoScrollMode

    - -
    -
    - - - - -
    enum olive::AutoScrollMode
    -
    - -

    The AutoScrollMode enum.

    -

    The Timeline in Olive can automatically scroll to follow the playhead when the sequence is playing. The Timeline will respond to Config::autoscroll set to a value from this enum.

    - - - - -
    Enumerator
    AUTOSCROLL_NO_SCROLL 

    Don't auto-scroll, scrolling will not follow the playhead

    -
    AUTOSCROLL_PAGE_SCROLL 

    Page auto-scroll (default), if the playhead goes off-screen while playing, the scroll will jump ahead one "page" to follow it

    -
    AUTOSCROLL_SMOOTH_SCROLL 

    Smooth auto-scroll, Olive will scroll to keep the playhead in the center of the screen at all times while playing

    -
    - -
    -
    - -

    ◆ FrameQueueType

    - -
    -
    - - - - -
    enum olive::FrameQueueType
    -
    - -

    The FrameQueueType enum.

    -

    Olive keeps a "frame queue" in memory to allow smoother playback/seeking. In order to give users control over the amount of memory consumption vs. playback performance, they can control how many frames are cached into memory. For extra fidelity, they can choose this value as a metric of either frames or seconds.

    -

    The playback engine (playback/playback.h) responds to both Config::previous_queue_type and Config::upcoming_queue_type set to a value from this enum.

    - - - -
    Enumerator
    FRAME_QUEUE_TYPE_FRAMES 

    Queue size value is in frames

    -
    FRAME_QUEUE_TYPE_SECONDS 

    Queue size value is in seconds

    -
    - -
    -
    - -

    ◆ ProjectView

    - -
    -
    - - - - -
    enum olive::ProjectView
    -
    - -

    The ProjectView enum.

    -

    The media in the Project panel can be displayed as a tree hierarchy or as an icon view. The Project panel responds to Config::project_view_type set to a value from this enum.

    - - - -
    Enumerator
    PROJECT_VIEW_TREE 

    Display project media in tree hierarchy

    -
    PROJECT_VIEW_ICON 

    Display project media in icon browser

    -
    - -
    -
    - -

    ◆ RecordingMode

    - -
    -
    - - - - -
    enum olive::RecordingMode
    -
    - -

    The RecordingMode enum.

    -

    Olive currently supports recording mono or stereo and gives users the option of which mode to use when recording audio in-app. Audio recording responds to Config::recording_mode to a value from this enum.

    - - - -
    Enumerator
    RECORD_MODE_MONO 

    Record all audio in mono

    -
    RECORD_MODE_STEREO 

    Record all audio in stereo

    -
    - -
    -
    - -

    ◆ TimecodeType

    - -
    -
    - - - - -
    enum olive::TimecodeType
    -
    - -

    The TimecodeType enum.

    -

    Frame numbers can be displayed in various different ways. The timecode_to_frame() and frame_to_timecode() functions (which should be used for all frame <-> timecode conversions) respond to the timecode display type set in Config::timecode_view corresponding to a value from this enum.

    - - - - - -
    Enumerator
    kTimecodeDrop 

    Show frame number as a drop-frame timecode

    -
    kTimecodeNonDrop 

    Show frame number as a non-drop-frame timecode

    -
    kTimecodeFrames 

    Show frame number as-is with no modifications

    -
    kTimecodeMilliseconds 

    Show frame number as milliseconds

    -
    - -
    -
    -

    Variable Documentation

    - -

    ◆ ActiveProjectFilename

    - -
    -
    - - - - -
    QString olive::ActiveProjectFilename
    -
    - -

    Currently active project filename.

    -

    Filename for the currently active project. Empty means the file has not been saved yet.

    - -
    -
    - -

    ◆ ActiveSequence

    - -
    -
    - - - - -
    SequencePtr olive::ActiveSequence = nullptr
    -
    - -
    -
    - -

    ◆ AppName

    - -
    -
    - - - - -
    QString olive::AppName
    -
    - -

    Current application name.

    - -
    -
    - -

    ◆ CurrentConfig

    - -
    -
    - - - - -
    Config olive::CurrentConfig
    -
    - -
    -
    - -

    ◆ CurrentRuntimeConfig

    - -
    -
    - - - - -
    RuntimeConfig olive::CurrentRuntimeConfig
    -
    - -
    -
    - -

    ◆ Cursor_LeftTrim

    - -
    -
    - - - - -
    QCursor olive::Cursor_LeftTrim
    -
    - -
    -
    - -

    ◆ Cursor_RightTrim

    - -
    -
    - - - - -
    QCursor olive::Cursor_RightTrim
    -
    - -
    -
    - -

    ◆ DebugDialog

    - -
    -
    - - - - -
    DebugDialog * olive::DebugDialog = nullptr
    -
    - -
    -
    - -

    ◆ FocusFilter

    - -
    -
    - - - - -
    FocusFilter olive::FocusFilter
    -
    - -
    -
    - -

    ◆ Global

    - -
    -
    - - - - -
    std::unique_ptr< OliveGlobal > olive::Global
    -
    - -

    Object resource for various global functions used throughout Olive.

    - -
    -
    - -

    ◆ kMinimumSaveVersion

    - -
    -
    - - - - -
    const int olive::kMinimumSaveVersion = 190219
    -
    - -

    Minimum project version that this version of Olive can open.

    -

    When loading a project, the project's version number is actually checked whether it is somewhere between kSaveVersion and this value (inclusive). This is used if the current version of Olive contains backwards compatibility functionality for older project versions, and is bumped up if such backwards compatibility is ever removed.

    -

    As stated in kSaveVersion documentation, ideally in the future, a system would be in place to account for all project version differences and bring them up to date for the current loading algorithm. This means ideally, this constant stays the same forever, but in this early stage it's not strictly necessary.

    - -
    -
    - -

    ◆ kSaveVersion

    - -
    -
    - - - - -
    const int olive::kSaveVersion = 190219
    -
    - -

    Version identifier for saved projects.

    -

    This constant is used to identify what version of Olive a project file was saved with. Every project file is saved with the current version number and the version is checked whenever an Olive project is loaded to determine how compatible it'll be with the current version.

    -

    Sometimes this version identifier is used to invoke backwards compatibility in order to keep older project files able to load, but in this early rapidly developing stage, often backwards compatibility is abandoned. Ideally in the future, a class should be made that's able to "convert" an older project into one that the current loading system understands (so that the loading system doesn't get too bloated with backwards compatibility functions).

    - -
    -
    - -

    ◆ MainWindow

    - -
    -
    - - - - -
    MainWindow * olive::MainWindow
    -
    - -
    -
    - -

    ◆ media_icon_service

    - -
    -
    - - - - -
    std::unique_ptr< MediaIconService > olive::media_icon_service
    -
    - -
    -
    - -

    ◆ MenuHelper

    - -
    -
    - - - - -
    MenuHelper olive::MenuHelper
    -
    - -

    A global MenuHelper object to assist menu creation throughout Olive.

    - -
    -
    - -

    ◆ project_model

    - -
    -
    - - - - -
    ProjectModel olive::project_model
    -
    - -
    -
    - -

    ◆ UndoStack

    - -
    -
    - - - - -
    QUndoStack olive::UndoStack
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/namespaceolive_1_1timeline.html b/docs/html/namespaceolive_1_1timeline.html deleted file mode 100644 index 7e0d5df4e..000000000 --- a/docs/html/namespaceolive_1_1timeline.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - -Olive: olive::timeline Namespace Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    olive::timeline Namespace Reference
    -
    -
    - - - - - - - - - - - - -

    -Variables

    const int kGhostThickness = 2
     
    const int kClipTextPadding = 3
     
    const int kTrackDefaultHeight = 40
     
    const int kTrackMinHeight = 30
     
    const int kTrackHeightIncrement = 10
     
    -

    Variable Documentation

    - -

    ◆ kClipTextPadding

    - -
    -
    - - - - -
    const int olive::timeline::kClipTextPadding = 3
    -
    - -
    -
    - -

    ◆ kGhostThickness

    - -
    -
    - - - - -
    const int olive::timeline::kGhostThickness = 2
    -
    - -
    -
    - -

    ◆ kTrackDefaultHeight

    - -
    -
    - - - - -
    const int olive::timeline::kTrackDefaultHeight = 40
    -
    - -
    -
    - -

    ◆ kTrackHeightIncrement

    - -
    -
    - - - - -
    const int olive::timeline::kTrackHeightIncrement = 10
    -
    - -
    -
    - -

    ◆ kTrackMinHeight

    - -
    -
    - - - - -
    const int olive::timeline::kTrackMinHeight = 30
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/namespaces.html b/docs/html/namespaces.html deleted file mode 100644 index c316c47fa..000000000 --- a/docs/html/namespaces.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: Namespace List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    Namespace List
    -
    -
    -
    Here is a list of all namespaces with brief descriptions:
    -
    [detail level 12]
    - - -
     Nolive
     Ntimeline
    -
    -
    - - - - diff --git a/docs/html/nav_f.png b/docs/html/nav_f.png deleted file mode 100644 index 72a58a529..000000000 Binary files a/docs/html/nav_f.png and /dev/null differ diff --git a/docs/html/nav_g.png b/docs/html/nav_g.png deleted file mode 100644 index 2093a237a..000000000 Binary files a/docs/html/nav_g.png and /dev/null differ diff --git a/docs/html/nav_h.png b/docs/html/nav_h.png deleted file mode 100644 index 33389b101..000000000 Binary files a/docs/html/nav_h.png and /dev/null differ diff --git a/docs/html/newsequencedialog_8cpp.html b/docs/html/newsequencedialog_8cpp.html deleted file mode 100644 index 999ced981..000000000 --- a/docs/html/newsequencedialog_8cpp.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Olive: dialogs/newsequencedialog.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    newsequencedialog.cpp File Reference
    -
    -
    -
    #include "newsequencedialog.h"
    -#include "panels/panels.h"
    -#include "panels/project.h"
    -#include "project/sequence.h"
    -#include "project/undo.h"
    -#include "project/clip.h"
    -#include "panels/timeline.h"
    -#include "playback/playback.h"
    -#include "project/media.h"
    -#include "playback/audio.h"
    -#include <QVariant>
    -#include <QVBoxLayout>
    -#include <QComboBox>
    -#include <QGroupBox>
    -#include <QGridLayout>
    -#include <QSpinBox>
    -#include <QLabel>
    -#include <QLineEdit>
    -#include <QDialogButtonBox>
    -#include <libavcodec/avcodec.h>
    -
    - - - - diff --git a/docs/html/newsequencedialog_8h.html b/docs/html/newsequencedialog_8h.html deleted file mode 100644 index e4350fff2..000000000 --- a/docs/html/newsequencedialog_8h.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -Olive: dialogs/newsequencedialog.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    newsequencedialog.h File Reference
    -
    -
    -
    #include <QDialog>
    -#include <QComboBox>
    -#include <QSpinBox>
    -#include <QLineEdit>
    -#include "panels/project.h"
    -#include "project/media.h"
    -#include "project/sequence.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  NewSequenceDialog
     
    -
    - - - - diff --git a/docs/html/newsequencedialog_8h_source.html b/docs/html/newsequencedialog_8h_source.html deleted file mode 100644 index 8948ca55a..000000000 --- a/docs/html/newsequencedialog_8h_source.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Olive: dialogs/newsequencedialog.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    newsequencedialog.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef NEWSEQUENCEDIALOG_H
    22 #define NEWSEQUENCEDIALOG_H
    23 
    24 #include <QDialog>
    25 #include <QComboBox>
    26 #include <QSpinBox>
    27 #include <QLineEdit>
    28 
    29 #include "panels/project.h"
    30 #include "project/media.h"
    31 #include "project/sequence.h"
    32 
    33 class NewSequenceDialog : public QDialog
    34 {
    35  Q_OBJECT
    36 
    37 public:
    38  explicit NewSequenceDialog(QWidget *parent = nullptr, Media* existing = nullptr);
    40 
    41  void set_sequence_name(const QString& s);
    42 
    43 private slots:
    44  void create();
    45  void preset_changed(int index);
    46 
    47 private:
    50 
    51  void setup_ui();
    52 
    53  QComboBox* preset_combobox;
    54  QSpinBox* height_numeric;
    55  QSpinBox* width_numeric;
    56  QComboBox* par_combobox;
    58  QComboBox* frame_rate_combobox;
    60  QLineEdit* sequence_name_edit;
    61 };
    62 
    63 #endif // NEWSEQUENCEDIALOG_H
    QComboBox * interlacing_combobox
    Definition: newsequencedialog.h:57
    - -
    QLineEdit * sequence_name_edit
    Definition: newsequencedialog.h:60
    -
    void create()
    Definition: newsequencedialog.cpp:86
    -
    QSpinBox * width_numeric
    Definition: newsequencedialog.h:55
    - -
    Media * existing_item
    Definition: newsequencedialog.h:49
    - -
    Definition: newsequencedialog.h:33
    -
    Definition: media.h:42
    -
    QSpinBox * height_numeric
    Definition: newsequencedialog.h:54
    -
    QComboBox * par_combobox
    Definition: newsequencedialog.h:56
    -
    ~NewSequenceDialog()
    Definition: newsequencedialog.cpp:79
    -
    void setup_ui()
    Definition: newsequencedialog.cpp:172
    -
    QComboBox * audio_frequency_combobox
    Definition: newsequencedialog.h:59
    -
    void preset_changed(int index)
    Definition: newsequencedialog.cpp:127
    -
    QComboBox * preset_combobox
    Definition: newsequencedialog.h:53
    -
    std::shared_ptr< Sequence > SequencePtr
    Definition: clip.h:48
    -
    void set_sequence_name(const QString &s)
    Definition: newsequencedialog.cpp:82
    -
    NewSequenceDialog(QWidget *parent=nullptr, Media *existing=nullptr)
    Definition: newsequencedialog.cpp:47
    -
    SequencePtr existing_sequence
    Definition: newsequencedialog.h:48
    -
    QComboBox * frame_rate_combobox
    Definition: newsequencedialog.h:58
    -
    - - - - diff --git a/docs/html/oliveglobal_8cpp.html b/docs/html/oliveglobal_8cpp.html deleted file mode 100644 index c881e6d7c..000000000 --- a/docs/html/oliveglobal_8cpp.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Olive: oliveglobal.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    oliveglobal.cpp File Reference
    -
    -
    -
    #include "oliveglobal.h"
    -#include "mainwindow.h"
    -#include "panels/panels.h"
    -#include "io/path.h"
    -#include "io/config.h"
    -#include "playback/audio.h"
    -#include "dialogs/demonotice.h"
    -#include "dialogs/preferencesdialog.h"
    -#include "dialogs/exportdialog.h"
    -#include "dialogs/debugdialog.h"
    -#include "dialogs/aboutdialog.h"
    -#include "dialogs/speeddialog.h"
    -#include "dialogs/actionsearch.h"
    -#include "project/sequence.h"
    -#include <QMessageBox>
    -#include <QFileDialog>
    -#include <QAction>
    -#include <QApplication>
    -#include <QDebug>
    -
    - - - - diff --git a/docs/html/oliveglobal_8h.html b/docs/html/oliveglobal_8h.html deleted file mode 100644 index 05a5a8993..000000000 --- a/docs/html/oliveglobal_8h.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Olive: oliveglobal.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    oliveglobal.h File Reference
    -
    -
    -
    #include "project/undo.h"
    -#include <QTimer>
    -#include <QFile>
    -#include <QTranslator>
    -
    -

    Go to the source code of this file.

    - - - - - -

    -Classes

    class  OliveGlobal
     The Olive Global class. More...
     
    - - - -

    -Namespaces

     olive
     
    - - - - - - - - - - -

    -Variables

    std::unique_ptr< OliveGlobalolive::Global
     Object resource for various global functions used throughout Olive. More...
     
    QString olive::ActiveProjectFilename
     Currently active project filename. More...
     
    QString olive::AppName
     Current application name. More...
     
    -
    - - - - diff --git a/docs/html/oliveglobal_8h_source.html b/docs/html/oliveglobal_8h_source.html deleted file mode 100644 index 1fda8ed2d..000000000 --- a/docs/html/oliveglobal_8h_source.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -Olive: oliveglobal.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    oliveglobal.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef OLIVEGLOBAL_H
    22 #define OLIVEGLOBAL_H
    23 
    24 #include "project/undo.h"
    25 
    26 #include <QTimer>
    27 #include <QFile>
    28 #include <QTranslator>
    29 
    35 class OliveGlobal : public QObject {
    36  Q_OBJECT
    37 public:
    43  OliveGlobal();
    44 
    50  const QString& get_project_file_filter();
    51 
    65  void update_project_filename(const QString& s);
    66 
    75 
    92  void set_rendering_state(bool rendering);
    93 
    104  void load_project_on_launch(const QString& s);
    105 
    111 
    116 
    117 public slots:
    121  void undo();
    122 
    126  void redo();
    127 
    135  void paste();
    136 
    145  void paste_insert();
    146 
    153  void new_project();
    154 
    161  void open_project();
    162 
    172  void open_recent(int index);
    173 
    184  bool save_project_as();
    185 
    196  bool save_project();
    197 
    210  bool can_close_project();
    211 
    215  void open_export_dialog();
    216 
    220  void open_about_dialog();
    221 
    225  void open_debug_log();
    226 
    230  void open_speed_dialog();
    231 
    235  void open_action_search();
    236 
    242  void clear_undo_stack();
    243 
    250  void finished_initialize();
    251 
    258  void save_autorecovery_file();
    259 
    263  void open_preferences();
    264 
    265 private:
    282  void open_project_worker(const QString& fn, bool autorecovery);
    283 
    288 
    293 
    298 
    302  std::unique_ptr<QTranslator> translator;
    303 
    304 
    305 private slots:
    306 
    307 };
    308 
    309 namespace olive {
    313  extern std::unique_ptr<OliveGlobal> Global;
    314 
    321  extern QString ActiveProjectFilename;
    322 
    326  extern QString AppName;
    327 }
    328 
    329 #endif // OLIVEGLOBAL_H
    void open_debug_log()
    Open the Debug Log window.
    Definition: oliveglobal.cpp:321
    -
    bool save_project_as()
    Shows a save file dialog and saves the project as the resulting filename.
    Definition: oliveglobal.cpp:185
    - -
    void check_for_autorecovery_file()
    Check whether an auto-recovery file exists and ask the user if they want to load it.
    Definition: oliveglobal.cpp:82
    -
    QTimer autorecovery_timer
    Regular interval to save an auto-recovery project.
    Definition: oliveglobal.h:292
    -
    void load_project_on_launch(const QString &s)
    Set a project to load just after launching.
    Definition: oliveglobal.cpp:108
    -
    void set_rendering_state(bool rendering)
    Set the application state depending on if the user is exporting a video.
    Definition: oliveglobal.cpp:99
    -
    void redo()
    Redo user's last action.
    Definition: oliveglobal.cpp:296
    -
    void save_autorecovery_file()
    Save an auto-recovery file of the current project.
    Definition: oliveglobal.cpp:266
    -
    void clear_undo_stack()
    Clears the current undo stack.
    Definition: oliveglobal.cpp:338
    -
    OliveGlobal()
    OliveGlobal Constructor.
    Definition: oliveglobal.cpp:52
    -
    void open_recent(int index)
    Open recent project from list.
    Definition: oliveglobal.cpp:169
    -
    std::unique_ptr< OliveGlobal > Global
    Object resource for various global functions used throughout Olive.
    Definition: oliveglobal.cpp:48
    -
    void open_preferences()
    Opens the Preferences dialog.
    Definition: oliveglobal.cpp:273
    -
    void finished_initialize()
    Function called when Olive has finished starting up.
    Definition: oliveglobal.cpp:240
    -
    void paste_insert()
    Paste contents of clipboard, making space for it when possible.
    Definition: oliveglobal.cpp:310
    -
    QString get_recent_project_list_file()
    Retrieves the URL of the config file containing the autorecovery projects.
    Definition: oliveglobal.cpp:113
    -
    Definition: debugdialog.h:39
    -
    void open_action_search()
    Open the Action Search overlay.
    Definition: oliveglobal.cpp:342
    -
    void open_project()
    Open a project from file.
    Definition: oliveglobal.cpp:162
    -
    const QString & get_project_file_filter()
    Returns the file dialog filter used when interfacing with Olive project files.
    Definition: oliveglobal.cpp:70
    -
    void paste()
    Paste contents of clipboard.
    Definition: oliveglobal.cpp:304
    -
    bool can_close_project()
    Determine whether the current project can be closed.
    Definition: oliveglobal.cpp:207
    -
    void update_project_filename(const QString &s)
    Change the current active project filename.
    Definition: oliveglobal.cpp:74
    -
    bool save_project()
    Saves the current project to file.
    Definition: oliveglobal.cpp:198
    -
    bool enable_load_project_on_init
    Internal variable set to TRUE by main() if a project file was set as an argument.
    Definition: oliveglobal.h:297
    -
    The Olive Global class.
    Definition: oliveglobal.h:35
    -
    QString AppName
    Current application name.
    Definition: oliveglobal.cpp:50
    -
    void open_export_dialog()
    Open the Export dialog to trigger an export of the current sequence.
    Definition: oliveglobal.cpp:228
    -
    void open_project_worker(const QString &fn, bool autorecovery)
    Internal function to handle loading a project from file.
    Definition: oliveglobal.cpp:282
    -
    QString ActiveProjectFilename
    Currently active project filename.
    Definition: oliveglobal.cpp:49
    -
    void open_speed_dialog()
    Open the Speed/Duration dialog.
    Definition: oliveglobal.cpp:325
    -
    std::unique_ptr< QTranslator > translator
    Internal translator object that interfaces with the currently loaded language file.
    Definition: oliveglobal.h:302
    -
    void new_project()
    Create new project.
    Definition: oliveglobal.cpp:143
    -
    QString project_file_filter
    File filter used for any file dialogs relating to Olive project files.
    Definition: oliveglobal.h:287
    -
    void undo()
    Undo user's last action.
    Definition: oliveglobal.cpp:288
    -
    void open_about_dialog()
    Open the About Olive dialog.
    Definition: oliveglobal.cpp:316
    -
    void load_translation_from_config()
    (Re)load translation file from olive::config
    Definition: oliveglobal.cpp:117
    -
    - - - - diff --git a/docs/html/open.png b/docs/html/open.png deleted file mode 100644 index 30f75c7ef..000000000 Binary files a/docs/html/open.png and /dev/null differ diff --git a/docs/html/otreeview_8cpp.html b/docs/html/otreeview_8cpp.html deleted file mode 100644 index 9e37b9a04..000000000 --- a/docs/html/otreeview_8cpp.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: ui/otreeview.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    otreeview.cpp File Reference
    -
    -
    -
    #include "otreeview.h"
    -
    - - - - diff --git a/docs/html/otreeview_8h.html b/docs/html/otreeview_8h.html deleted file mode 100644 index 12da2e3eb..000000000 --- a/docs/html/otreeview_8h.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: ui/otreeview.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    otreeview.h File Reference
    -
    -
    -
    #include <QTreeView>
    -#include "ui/sourcetable.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  OTreeView
     
    -
    - - - - diff --git a/docs/html/otreeview_8h_source.html b/docs/html/otreeview_8h_source.html deleted file mode 100644 index 0d839bd69..000000000 --- a/docs/html/otreeview_8h_source.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: ui/otreeview.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    otreeview.h
    -
    -
    -Go to the documentation of this file.
    1 #ifndef OTREEVIEW_H
    2 #define OTREEVIEW_H
    3 
    4 #include <QTreeView>
    5 
    6 #include "ui/sourcetable.h"
    7 
    8 class OTreeView : public QTreeView {
    9  Q_OBJECT
    10 public:
    11  OTreeView(QWidget* parent = 0);
    12 private:
    13 
    14 };
    15 
    16 #endif // OTREEVIEW_H
    OTreeView(QWidget *parent=0)
    Definition: otreeview.cpp:3
    - -
    Definition: otreeview.h:8
    -
    - - - - diff --git a/docs/html/pages.html b/docs/html/pages.html deleted file mode 100644 index 50d3ad59b..000000000 --- a/docs/html/pages.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: Related Pages - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    Related Pages
    -
    -
    -
    Here is a list of all related documentation pages:
    -
    - - - - diff --git a/docs/html/paneffect_8cpp.html b/docs/html/paneffect_8cpp.html deleted file mode 100644 index 153606466..000000000 --- a/docs/html/paneffect_8cpp.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: effects/internal/paneffect.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    paneffect.cpp File Reference
    -
    -
    -
    #include "paneffect.h"
    -#include <QGridLayout>
    -#include <QLabel>
    -#include <QtMath>
    -#include <cmath>
    -#include "ui/labelslider.h"
    -#include "ui/collapsiblewidget.h"
    -
    - - - - diff --git a/docs/html/paneffect_8h.html b/docs/html/paneffect_8h.html deleted file mode 100644 index 814a9ec51..000000000 --- a/docs/html/paneffect_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/paneffect.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    paneffect.h File Reference
    -
    -
    -
    #include "project/effect.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  PanEffect
     
    -
    - - - - diff --git a/docs/html/paneffect_8h_source.html b/docs/html/paneffect_8h_source.html deleted file mode 100644 index 93f0a7c5d..000000000 --- a/docs/html/paneffect_8h_source.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: effects/internal/paneffect.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    paneffect.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PANEFFECT_H
    22 #define PANEFFECT_H
    23 
    24 #include "project/effect.h"
    25 
    26 class PanEffect : public Effect {
    27  Q_OBJECT
    28 public:
    29  PanEffect(ClipPtr c, const EffectMeta* em);
    30  void process_audio(double timecode_start, double timecode_end, quint8* samples, int nb_bytes, int channel_count);
    31 
    33 };
    34 
    35 #endif // PANEFFECT_H
    PanEffect(ClipPtr c, const EffectMeta *em)
    Definition: paneffect.cpp:31
    -
    Definition: paneffect.h:26
    -
    Definition: effect.h:169
    - -
    Definition: effect.h:50
    -
    void process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
    Definition: paneffect.cpp:41
    -
    EffectField * pan_val
    Definition: paneffect.h:32
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    Definition: effectfield.h:43
    -
    - - - - diff --git a/docs/html/panel_8cpp.html b/docs/html/panel_8cpp.html deleted file mode 100644 index 44b626c07..000000000 --- a/docs/html/panel_8cpp.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: ui/panel.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    panel.cpp File Reference
    -
    -
    -
    #include "panel.h"
    -#include <QEvent>
    -
    - - - - diff --git a/docs/html/panel_8h.html b/docs/html/panel_8h.html deleted file mode 100644 index ec3f2cabc..000000000 --- a/docs/html/panel_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/panel.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    panel.h File Reference
    -
    -
    -
    #include <QDockWidget>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  Panel
     
    -
    - - - - diff --git a/docs/html/panel_8h_source.html b/docs/html/panel_8h_source.html deleted file mode 100644 index 791038ebb..000000000 --- a/docs/html/panel_8h_source.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: ui/panel.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    panel.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PANEL_H
    22 #define PANEL_H
    23 
    24 #include <QDockWidget>
    25 
    26 class Panel : public QDockWidget {
    27  Q_OBJECT
    28 public:
    29  Panel(QWidget* parent = nullptr);
    30  virtual bool event(QEvent* e) override;
    31 protected:
    32  virtual void Retranslate() = 0;
    33 };
    34 
    35 #endif // PANEL_H
    Panel(QWidget *parent=nullptr)
    Definition: panel.cpp:25
    -
    virtual void Retranslate()=0
    -
    Definition: panel.h:26
    -
    virtual bool event(QEvent *e) override
    Definition: panel.cpp:29
    -
    - - - - diff --git a/docs/html/panels_8cpp.html b/docs/html/panels_8cpp.html deleted file mode 100644 index a9e166e7e..000000000 --- a/docs/html/panels_8cpp.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - -Olive: panels/panels.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    panels.cpp File Reference
    -
    -
    -
    #include "panels.h"
    -#include "project/sequence.h"
    -#include "project/clip.h"
    -#include "project/transition.h"
    -#include "io/config.h"
    -#include "project/effectloaders.h"
    -#include "debug.h"
    -#include <QScrollBar>
    -#include <QCoreApplication>
    -
    - - - - - - - - - - - - - -

    -Functions

    void update_effect_controls ()
     
    void update_ui (bool modified)
     
    QDockWidget * get_focused_panel (bool force_hover)
     
    void alloc_panels (QWidget *parent)
     
    void free_panels ()
     
    void scroll_to_frame_internal (QScrollBar *bar, long frame, double zoom, int area_width)
     
    - - - - - - - - - - - - - -

    -Variables

    Projectpanel_project = nullptr
     
    EffectControlspanel_effect_controls = nullptr
     
    Viewerpanel_sequence_viewer = nullptr
     
    Viewerpanel_footage_viewer = nullptr
     
    Timelinepanel_timeline = nullptr
     
    GraphEditorpanel_graph_editor = nullptr
     
    -

    Function Documentation

    - -

    ◆ alloc_panels()

    - -
    -
    - - - - - - - - -
    void alloc_panels (QWidget * parent)
    -
    - -
    -
    - -

    ◆ free_panels()

    - -
    -
    - - - - - - - -
    void free_panels ()
    -
    - -
    -
    - -

    ◆ get_focused_panel()

    - -
    -
    - - - - - - - - -
    QDockWidget* get_focused_panel (bool force_hover)
    -
    - -
    -
    - -

    ◆ scroll_to_frame_internal()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void scroll_to_frame_internal (QScrollBar * bar,
    long frame,
    double zoom,
    int area_width 
    )
    -
    - -
    -
    - -

    ◆ update_effect_controls()

    - -
    -
    - - - - - - - -
    void update_effect_controls ()
    -
    - -
    -
    - -

    ◆ update_ui()

    - -
    -
    - - - - - - - - -
    void update_ui (bool modified)
    -
    - -
    -
    -

    Variable Documentation

    - -

    ◆ panel_effect_controls

    - -
    -
    - - - - -
    EffectControls* panel_effect_controls = nullptr
    -
    - -
    -
    - -

    ◆ panel_footage_viewer

    - -
    -
    - - - - -
    Viewer* panel_footage_viewer = nullptr
    -
    - -
    -
    - -

    ◆ panel_graph_editor

    - -
    -
    - - - - -
    GraphEditor* panel_graph_editor = nullptr
    -
    - -
    -
    - -

    ◆ panel_project

    - -
    -
    - - - - -
    Project* panel_project = nullptr
    -
    - -
    -
    - -

    ◆ panel_sequence_viewer

    - -
    -
    - - - - -
    Viewer* panel_sequence_viewer = nullptr
    -
    - -
    -
    - -

    ◆ panel_timeline

    - -
    -
    - - - - -
    Timeline* panel_timeline = nullptr
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/panels_8h.html b/docs/html/panels_8h.html deleted file mode 100644 index 37f7c21b8..000000000 --- a/docs/html/panels_8h.html +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - - -Olive: panels/panels.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    panels.h File Reference
    -
    -
    -
    #include "timeline.h"
    -#include "effectcontrols.h"
    -#include "viewer.h"
    -#include "grapheditor.h"
    -#include "project.h"
    -
    -

    Go to the source code of this file.

    - - - - - - - - - - - - -

    -Functions

    void update_ui (bool modified)
     
    QDockWidget * get_focused_panel (bool force_hover=false)
     
    void alloc_panels (QWidget *parent)
     
    void free_panels ()
     
    void scroll_to_frame_internal (QScrollBar *bar, long frame, double zoom, int area_width)
     
    - - - - - - - - - - - - - -

    -Variables

    Projectpanel_project
     
    EffectControlspanel_effect_controls
     
    Viewerpanel_sequence_viewer
     
    Viewerpanel_footage_viewer
     
    Timelinepanel_timeline
     
    GraphEditorpanel_graph_editor
     
    -

    Function Documentation

    - -

    ◆ alloc_panels()

    - -
    -
    - - - - - - - - -
    void alloc_panels (QWidget * parent)
    -
    - -
    -
    - -

    ◆ free_panels()

    - -
    -
    - - - - - - - -
    void free_panels ()
    -
    - -
    -
    - -

    ◆ get_focused_panel()

    - -
    -
    - - - - - - - - -
    QDockWidget* get_focused_panel (bool force_hover = false)
    -
    - -
    -
    - -

    ◆ scroll_to_frame_internal()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void scroll_to_frame_internal (QScrollBar * bar,
    long frame,
    double zoom,
    int area_width 
    )
    -
    - -
    -
    - -

    ◆ update_ui()

    - -
    -
    - - - - - - - - -
    void update_ui (bool modified)
    -
    - -
    -
    -

    Variable Documentation

    - -

    ◆ panel_effect_controls

    - -
    -
    - - - - -
    EffectControls* panel_effect_controls
    -
    - -
    -
    - -

    ◆ panel_footage_viewer

    - -
    -
    - - - - -
    Viewer* panel_footage_viewer
    -
    - -
    -
    - -

    ◆ panel_graph_editor

    - -
    -
    - - - - -
    GraphEditor* panel_graph_editor
    -
    - -
    -
    - -

    ◆ panel_project

    - -
    -
    - - - - -
    Project* panel_project
    -
    - -
    -
    - -

    ◆ panel_sequence_viewer

    - -
    -
    - - - - -
    Viewer* panel_sequence_viewer
    -
    - -
    -
    - -

    ◆ panel_timeline

    - -
    -
    - - - - -
    Timeline* panel_timeline
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/panels_8h_source.html b/docs/html/panels_8h_source.html deleted file mode 100644 index f060432a5..000000000 --- a/docs/html/panels_8h_source.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Olive: panels/panels.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    panels.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PANELS_H
    22 #define PANELS_H
    23 
    24 #include "timeline.h"
    25 #include "effectcontrols.h"
    26 #include "viewer.h"
    27 #include "grapheditor.h"
    28 #include "project.h"
    29 
    30 extern Project* panel_project;
    34 extern Timeline* panel_timeline;
    36 
    37 void update_ui(bool modified);
    38 QDockWidget* get_focused_panel(bool force_hover = false);
    39 void alloc_panels(QWidget *parent);
    40 void free_panels();
    41 void scroll_to_frame_internal(QScrollBar* bar, long frame, double zoom, int area_width);
    42 
    43 #endif // PANELS_H
    void free_panels()
    Definition: panels.cpp:191
    - - - -
    void alloc_panels(QWidget *parent)
    Definition: panels.cpp:172
    -
    Viewer * panel_footage_viewer
    Definition: panels.cpp:37
    -
    GraphEditor * panel_graph_editor
    Definition: panels.cpp:39
    - -
    void scroll_to_frame_internal(QScrollBar *bar, long frame, double zoom, int area_width)
    Definition: panels.cpp:204
    - -
    Definition: timeline.h:85
    -
    void update_ui(bool modified)
    Definition: panels.cpp:127
    -
    Definition: effectcontrols.h:51
    -
    Definition: project.h:53
    -
    QDockWidget * get_focused_panel(bool force_hover=false)
    Definition: panels.cpp:137
    -
    Project * panel_project
    Definition: panels.cpp:34
    -
    Definition: grapheditor.h:35
    -
    Timeline * panel_timeline
    Definition: panels.cpp:38
    -
    EffectControls * panel_effect_controls
    Definition: panels.cpp:35
    -
    Definition: viewer.h:43
    -
    Viewer * panel_sequence_viewer
    Definition: panels.cpp:36
    -
    - - - - diff --git a/docs/html/path_8cpp.html b/docs/html/path_8cpp.html deleted file mode 100644 index 5ed3b0c72..000000000 --- a/docs/html/path_8cpp.html +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - -Olive: io/path.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    path.cpp File Reference
    -
    -
    -
    #include "path.h"
    -#include <QStandardPaths>
    -#include <QFileInfo>
    -#include <QCoreApplication>
    -#include <QCryptographicHash>
    -#include <QDateTime>
    -#include "debug.h"
    -
    - - - - - - - - - - - - - - - - - - - -

    -Functions

    QString get_app_path ()
     
    QDir get_app_dir ()
     
    QString get_data_path ()
     
    QDir get_data_dir ()
     
    QString get_config_path ()
     
    QDir get_config_dir ()
     
    QList< QString > get_effects_paths ()
     
    QString get_file_hash (const QString &filename)
     
    QList< QString > get_language_paths ()
     
    -

    Function Documentation

    - -

    ◆ get_app_dir()

    - -
    -
    - - - - - - - -
    QDir get_app_dir ()
    -
    - -
    -
    - -

    ◆ get_app_path()

    - -
    -
    - - - - - - - -
    QString get_app_path ()
    -
    - -
    -
    - -

    ◆ get_config_dir()

    - -
    -
    - - - - - - - -
    QDir get_config_dir ()
    -
    - -
    -
    - -

    ◆ get_config_path()

    - -
    -
    - - - - - - - -
    QString get_config_path ()
    -
    - -
    -
    - -

    ◆ get_data_dir()

    - -
    -
    - - - - - - - -
    QDir get_data_dir ()
    -
    - -
    -
    - -

    ◆ get_data_path()

    - -
    -
    - - - - - - - -
    QString get_data_path ()
    -
    - -
    -
    - -

    ◆ get_effects_paths()

    - -
    -
    - - - - - - - -
    QList<QString> get_effects_paths ()
    -
    - -
    -
    - -

    ◆ get_file_hash()

    - -
    -
    - - - - - - - - -
    QString get_file_hash (const QString & filename)
    -
    - -
    -
    - -

    ◆ get_language_paths()

    - -
    -
    - - - - - - - -
    QList<QString> get_language_paths ()
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/path_8h.html b/docs/html/path_8h.html deleted file mode 100644 index 03d26f079..000000000 --- a/docs/html/path_8h.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - -Olive: io/path.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    path.h File Reference
    -
    -
    -
    #include <QString>
    -#include <QDir>
    -
    -

    Go to the source code of this file.

    - - - - - - - - - - - - - - - - - - -

    -Functions

    QString get_app_path ()
     
    QString get_data_path ()
     
    QDir get_data_dir ()
     
    QString get_config_path ()
     
    QDir get_config_dir ()
     
    QList< QString > get_effects_paths ()
     
    QList< QString > get_language_paths ()
     
    QString get_file_hash (const QString &filename)
     
    -

    Function Documentation

    - -

    ◆ get_app_path()

    - -
    -
    - - - - - - - -
    QString get_app_path ()
    -
    - -
    -
    - -

    ◆ get_config_dir()

    - -
    -
    - - - - - - - -
    QDir get_config_dir ()
    -
    - -
    -
    - -

    ◆ get_config_path()

    - -
    -
    - - - - - - - -
    QString get_config_path ()
    -
    - -
    -
    - -

    ◆ get_data_dir()

    - -
    -
    - - - - - - - -
    QDir get_data_dir ()
    -
    - -
    -
    - -

    ◆ get_data_path()

    - -
    -
    - - - - - - - -
    QString get_data_path ()
    -
    - -
    -
    - -

    ◆ get_effects_paths()

    - -
    -
    - - - - - - - -
    QList<QString> get_effects_paths ()
    -
    - -
    -
    - -

    ◆ get_file_hash()

    - -
    -
    - - - - - - - - -
    QString get_file_hash (const QString & filename)
    -
    - -
    -
    - -

    ◆ get_language_paths()

    - -
    -
    - - - - - - - -
    QList<QString> get_language_paths ()
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/path_8h_source.html b/docs/html/path_8h_source.html deleted file mode 100644 index 763db497b..000000000 --- a/docs/html/path_8h_source.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: io/path.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    path.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PATH_H
    22 #define PATH_H
    23 
    24 #include <QString>
    25 #include <QDir>
    26 
    27 QString get_app_path();
    28 QString get_data_path();
    29 QDir get_data_dir();
    30 QString get_config_path();
    31 QDir get_config_dir();
    32 QList<QString> get_effects_paths();
    33 QList<QString> get_language_paths();
    34 
    35 // generate hash algorithm used to uniquely identify files
    36 QString get_file_hash(const QString& filename);
    37 
    38 #endif // PATH_H
    QDir get_config_dir()
    Definition: path.cpp:61
    -
    QString get_data_path()
    Definition: path.cpp:39
    -
    QList< QString > get_effects_paths()
    Definition: path.cpp:65
    -
    QString get_app_path()
    Definition: path.cpp:31
    -
    QList< QString > get_language_paths()
    Definition: path.cpp:99
    -
    QDir get_data_dir()
    Definition: path.cpp:48
    -
    QString get_file_hash(const QString &filename)
    Definition: path.cpp:89
    -
    QString get_config_path()
    Definition: path.cpp:52
    -
    - - - - diff --git a/docs/html/playback_8cpp.html b/docs/html/playback_8cpp.html deleted file mode 100644 index c0c00f402..000000000 --- a/docs/html/playback_8cpp.html +++ /dev/null @@ -1,569 +0,0 @@ - - - - - - - -Olive: playback/playback.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    playback.cpp File Reference
    -
    -
    -
    #include "playback.h"
    -#include "project/clip.h"
    -#include "project/sequence.h"
    -#include "project/footage.h"
    -#include "playback/audio.h"
    -#include "playback/cacher.h"
    -#include "panels/panels.h"
    -#include "panels/timeline.h"
    -#include "panels/viewer.h"
    -#include "project/effect.h"
    -#include "panels/effectcontrols.h"
    -#include "project/media.h"
    -#include "io/config.h"
    -#include "io/proxygenerator.h"
    -#include "debug.h"
    -#include <libavutil/pixdesc.h>
    -#include <libavcodec/avcodec.h>
    -#include <libswscale/swscale.h>
    -#include <libswresample/swresample.h>
    -#include <QtMath>
    -#include <QObject>
    -#include <QOpenGLTexture>
    -#include <QOpenGLPixelTransferOptions>
    -#include <QOpenGLFramebufferObject>
    -#include <QPainter>
    -#include <QCoreApplication>
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Functions

    long refactor_frame_number (long framenumber, double source_frame_rate, double target_frame_rate)
     
    bool clip_uses_cacher (ClipPtr clip)
     
    void open_clip (ClipPtr clip, bool multithreaded)
     
    void close_clip (ClipPtr clip, bool wait)
     
    void cache_clip (ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > &nests, int playback_speed)
     
    double get_timecode (ClipPtr c, long playhead)
     
    void get_clip_frame (ClipPtr c, long playhead, bool &texture_failed)
     
    long playhead_to_clip_frame (ClipPtr c, long playhead)
     
    double playhead_to_clip_seconds (ClipPtr c, long playhead)
     
    int64_t seconds_to_timestamp (ClipPtr c, double seconds)
     
    int64_t playhead_to_timestamp (ClipPtr c, long playhead)
     
    int retrieve_next_frame (ClipPtr c, AVFrame *f)
     
    bool is_clip_active (ClipPtr c, long playhead)
     
    void set_sequence (SequencePtr s)
     
    void closeActiveClips (SequencePtr s)
     
    -

    Function Documentation

    - -

    ◆ cache_clip()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void cache_clip (ClipPtr clip,
    long playhead,
    bool reset,
    bool scrubbing,
    QVector< ClipPtr > & nests,
    int playback_speed 
    )
    -
    - -
    -
    - -

    ◆ clip_uses_cacher()

    - -
    -
    - - - - - - - - -
    bool clip_uses_cacher (ClipPtr clip)
    -
    - -
    -
    - -

    ◆ close_clip()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void close_clip (ClipPtr clip,
    bool wait 
    )
    -
    - -
    -
    - -

    ◆ closeActiveClips()

    - -
    -
    - - - - - - - - -
    void closeActiveClips (SequencePtr s)
    -
    - -
    -
    - -

    ◆ get_clip_frame()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void get_clip_frame (ClipPtr c,
    long playhead,
    bool & texture_failed 
    )
    -
    - -
    -
    - -

    ◆ get_timecode()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    double get_timecode (ClipPtr c,
    long playhead 
    )
    -
    - -
    -
    - -

    ◆ is_clip_active()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    bool is_clip_active (ClipPtr c,
    long playhead 
    )
    -
    - -
    -
    - -

    ◆ open_clip()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void open_clip (ClipPtr clip,
    bool multithreaded 
    )
    -
    - -
    -
    - -

    ◆ playhead_to_clip_frame()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    long playhead_to_clip_frame (ClipPtr c,
    long playhead 
    )
    -
    - -
    -
    - -

    ◆ playhead_to_clip_seconds()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    double playhead_to_clip_seconds (ClipPtr c,
    long playhead 
    )
    -
    - -
    -
    - -

    ◆ playhead_to_timestamp()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    int64_t playhead_to_timestamp (ClipPtr c,
    long playhead 
    )
    -
    - -
    -
    - -

    ◆ refactor_frame_number()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    long refactor_frame_number (long framenumber,
    double source_frame_rate,
    double target_frame_rate 
    )
    -
    - -
    -
    - -

    ◆ retrieve_next_frame()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    int retrieve_next_frame (ClipPtr c,
    AVFrame * f 
    )
    -
    - -
    -
    - -

    ◆ seconds_to_timestamp()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    int64_t seconds_to_timestamp (ClipPtr c,
    double seconds 
    )
    -
    - -
    -
    - -

    ◆ set_sequence()

    - -
    -
    - - - - - - - - -
    void set_sequence (SequencePtr s)
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/playback_8h.html b/docs/html/playback_8h.html deleted file mode 100644 index 515a74ea3..000000000 --- a/docs/html/playback_8h.html +++ /dev/null @@ -1,652 +0,0 @@ - - - - - - - -Olive: playback/playback.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    playback.h File Reference
    -
    -
    -
    #include <QVector>
    -#include <QMutex>
    -#include "project/clip.h"
    -#include "project/sequence.h"
    -#include <libavformat/avformat.h>
    -
    -

    Go to the source code of this file.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Functions

    long refactor_frame_number (long framenumber, double source_frame_rate, double target_frame_rate)
     
    bool clip_uses_cacher (ClipPtr clip)
     
    void open_clip (ClipPtr clip, bool multithreaded)
     
    void cache_clip (ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > &nests, int playback_speed)
     
    void close_clip (ClipPtr clip, bool wait)
     
    void handle_media (SequencePtr sequence, long playhead, bool multithreaded)
     
    void reset_cache (ClipPtr c, long target_frame, int playback_speed)
     
    void get_clip_frame (ClipPtr c, long playhead, bool &texture_failed)
     
    double get_timecode (ClipPtr c, long playhead)
     
    long playhead_to_clip_frame (ClipPtr c, long playhead)
     
    double playhead_to_clip_seconds (ClipPtr c, long playhead)
     
    int64_t seconds_to_timestamp (ClipPtr c, double seconds)
     
    int64_t playhead_to_timestamp (ClipPtr c, long playhead)
     
    int retrieve_next_frame (ClipPtr c, AVFrame *f)
     
    bool is_clip_active (ClipPtr c, long playhead)
     
    void get_next_audio (ClipPtr c, bool mix)
     
    void set_sequence (SequencePtr s)
     
    void closeActiveClips (SequencePtr s)
     
    -

    Function Documentation

    - -

    ◆ cache_clip()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void cache_clip (ClipPtr clip,
    long playhead,
    bool reset,
    bool scrubbing,
    QVector< ClipPtr > & nests,
    int playback_speed 
    )
    -
    - -
    -
    - -

    ◆ clip_uses_cacher()

    - -
    -
    - - - - - - - - -
    bool clip_uses_cacher (ClipPtr clip)
    -
    - -
    -
    - -

    ◆ close_clip()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void close_clip (ClipPtr clip,
    bool wait 
    )
    -
    - -
    -
    - -

    ◆ closeActiveClips()

    - -
    -
    - - - - - - - - -
    void closeActiveClips (SequencePtr s)
    -
    - -
    -
    - -

    ◆ get_clip_frame()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void get_clip_frame (ClipPtr c,
    long playhead,
    bool & texture_failed 
    )
    -
    - -
    -
    - -

    ◆ get_next_audio()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void get_next_audio (ClipPtr c,
    bool mix 
    )
    -
    - -
    -
    - -

    ◆ get_timecode()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    double get_timecode (ClipPtr c,
    long playhead 
    )
    -
    - -
    -
    - -

    ◆ handle_media()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void handle_media (SequencePtr sequence,
    long playhead,
    bool multithreaded 
    )
    -
    - -
    -
    - -

    ◆ is_clip_active()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    bool is_clip_active (ClipPtr c,
    long playhead 
    )
    -
    - -
    -
    - -

    ◆ open_clip()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void open_clip (ClipPtr clip,
    bool multithreaded 
    )
    -
    - -
    -
    - -

    ◆ playhead_to_clip_frame()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    long playhead_to_clip_frame (ClipPtr c,
    long playhead 
    )
    -
    - -
    -
    - -

    ◆ playhead_to_clip_seconds()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    double playhead_to_clip_seconds (ClipPtr c,
    long playhead 
    )
    -
    - -
    -
    - -

    ◆ playhead_to_timestamp()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    int64_t playhead_to_timestamp (ClipPtr c,
    long playhead 
    )
    -
    - -
    -
    - -

    ◆ refactor_frame_number()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    long refactor_frame_number (long framenumber,
    double source_frame_rate,
    double target_frame_rate 
    )
    -
    - -
    -
    - -

    ◆ reset_cache()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void reset_cache (ClipPtr c,
    long target_frame,
    int playback_speed 
    )
    -
    - -
    -
    - -

    ◆ retrieve_next_frame()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    int retrieve_next_frame (ClipPtr c,
    AVFrame * f 
    )
    -
    - -
    -
    - -

    ◆ seconds_to_timestamp()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    int64_t seconds_to_timestamp (ClipPtr c,
    double seconds 
    )
    -
    - -
    -
    - -

    ◆ set_sequence()

    - -
    -
    - - - - - - - - -
    void set_sequence (SequencePtr s)
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/playback_8h_source.html b/docs/html/playback_8h_source.html deleted file mode 100644 index 34a531f4f..000000000 --- a/docs/html/playback_8h_source.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Olive: playback/playback.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    playback.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PLAYBACK_H
    22 #define PLAYBACK_H
    23 
    24 #include <QVector>
    25 #include <QMutex>
    26 
    27 #include "project/clip.h"
    28 #include "project/sequence.h"
    29 
    30 extern "C" {
    31  #include <libavformat/avformat.h>
    32 }
    33 
    34 long refactor_frame_number(long framenumber, double source_frame_rate, double target_frame_rate);
    35 bool clip_uses_cacher(ClipPtr clip);
    36 void open_clip(ClipPtr clip, bool multithreaded);
    37 void cache_clip(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector<ClipPtr> &nests, int playback_speed);
    38 void close_clip(ClipPtr clip, bool wait);
    39 void handle_media(SequencePtr sequence, long playhead, bool multithreaded);
    40 void reset_cache(ClipPtr c, long target_frame, int playback_speed);
    41 void get_clip_frame(ClipPtr c, long playhead, bool &texture_failed);
    42 double get_timecode(ClipPtr c, long playhead);
    43 
    44 long playhead_to_clip_frame(ClipPtr c, long playhead);
    45 double playhead_to_clip_seconds(ClipPtr c, long playhead);
    46 int64_t seconds_to_timestamp(ClipPtr c, double seconds);
    47 int64_t playhead_to_timestamp(ClipPtr c, long playhead);
    48 
    49 int retrieve_next_frame(ClipPtr c, AVFrame* f);
    50 bool is_clip_active(ClipPtr c, long playhead);
    51 void get_next_audio(ClipPtr c, bool mix);
    54 
    55 #endif // PLAYBACK_H
    void handle_media(SequencePtr sequence, long playhead, bool multithreaded)
    -
    double get_timecode(ClipPtr c, long playhead)
    Definition: playback.cpp:154
    - -
    void cache_clip(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > &nests, int playback_speed)
    Definition: playback.cpp:136
    -
    void set_sequence(SequencePtr s)
    Definition: playback.cpp:458
    -
    double playhead_to_clip_seconds(ClipPtr c, long playhead)
    Definition: playback.cpp:382
    -
    int retrieve_next_frame(ClipPtr c, AVFrame *f)
    Definition: playback.cpp:399
    -
    bool clip_uses_cacher(ClipPtr clip)
    Definition: playback.cpp:61
    -
    bool is_clip_active(ClipPtr c, long playhead)
    Definition: playback.cpp:445
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    - -
    int64_t seconds_to_timestamp(ClipPtr c, double seconds)
    Definition: playback.cpp:391
    -
    void get_next_audio(ClipPtr c, bool mix)
    -
    void close_clip(ClipPtr clip, bool wait)
    Definition: playback.cpp:87
    -
    long refactor_frame_number(long framenumber, double source_frame_rate, double target_frame_rate)
    Definition: playback.cpp:57
    -
    int64_t playhead_to_timestamp(ClipPtr c, long playhead)
    Definition: playback.cpp:395
    -
    std::shared_ptr< Sequence > SequencePtr
    Definition: clip.h:48
    -
    void open_clip(ClipPtr clip, bool multithreaded)
    Definition: playback.cpp:65
    -
    void get_clip_frame(ClipPtr c, long playhead, bool &texture_failed)
    Definition: playback.cpp:158
    -
    void closeActiveClips(SequencePtr s)
    Definition: playback.cpp:466
    -
    void reset_cache(ClipPtr c, long target_frame, int playback_speed)
    Definition: cacher.cpp:588
    -
    long playhead_to_clip_frame(ClipPtr c, long playhead)
    Definition: playback.cpp:378
    -
    - - - - diff --git a/docs/html/playbutton_8cpp.html b/docs/html/playbutton_8cpp.html deleted file mode 100644 index dac9425c9..000000000 --- a/docs/html/playbutton_8cpp.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: ui/playbutton.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    playbutton.cpp File Reference
    -
    -
    -
    #include "playbutton.h"
    -
    - - - - diff --git a/docs/html/playbutton_8h.html b/docs/html/playbutton_8h.html deleted file mode 100644 index 5192c6c47..000000000 --- a/docs/html/playbutton_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/playbutton.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    playbutton.h File Reference
    -
    -
    -
    #include <QPushButton>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  PlayButton
     
    -
    - - - - diff --git a/docs/html/playbutton_8h_source.html b/docs/html/playbutton_8h_source.html deleted file mode 100644 index d81141c8f..000000000 --- a/docs/html/playbutton_8h_source.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: ui/playbutton.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    playbutton.h
    -
    -
    -Go to the documentation of this file.
    1 #ifndef PLAYBUTTON_H
    2 #define PLAYBUTTON_H
    3 
    4 #include <QPushButton>
    5 
    6 class PlayButton : public QPushButton
    7 {
    8 public:
    9  PlayButton(QWidget* parent = 0);
    10 private:
    11  QString play_text;
    12  QString pause_text;
    13 };
    14 
    15 #endif // PLAYBUTTON_H
    PlayButton(QWidget *parent=0)
    Definition: playbutton.cpp:3
    -
    Definition: playbutton.h:6
    -
    QString pause_text
    Definition: playbutton.h:12
    -
    QString play_text
    Definition: playbutton.h:11
    -
    - - - - diff --git a/docs/html/preferencesdialog_8cpp.html b/docs/html/preferencesdialog_8cpp.html deleted file mode 100644 index 1f5ef39cf..000000000 --- a/docs/html/preferencesdialog_8cpp.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Olive: dialogs/preferencesdialog.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    preferencesdialog.cpp File Reference
    -
    -
    -
    #include "preferencesdialog.h"
    -#include "oliveglobal.h"
    -#include "io/config.h"
    -#include "io/path.h"
    -#include "playback/audio.h"
    -#include "mainwindow.h"
    -#include <QMenuBar>
    -#include <QAction>
    -#include <QVBoxLayout>
    -#include <QTabWidget>
    -#include <QLineEdit>
    -#include <QLabel>
    -#include <QComboBox>
    -#include <QGroupBox>
    -#include <QCheckBox>
    -#include <QRadioButton>
    -#include <QDialogButtonBox>
    -#include <QTreeWidget>
    -#include <QVector>
    -#include <QPushButton>
    -#include <QTreeWidgetItem>
    -#include <QList>
    -#include <QDoubleSpinBox>
    -#include <QFileDialog>
    -#include <QMessageBox>
    -#include <QAudioDeviceInfo>
    -#include <QApplication>
    -#include <QProcess>
    -#include <QDebug>
    -
    - - - - diff --git a/docs/html/preferencesdialog_8h.html b/docs/html/preferencesdialog_8h.html deleted file mode 100644 index 972fe13b8..000000000 --- a/docs/html/preferencesdialog_8h.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Olive: dialogs/preferencesdialog.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    preferencesdialog.h File Reference
    -
    -
    -
    #include <QDialog>
    -#include <QKeySequenceEdit>
    -#include <QMenuBar>
    -#include <QLineEdit>
    -#include <QComboBox>
    -#include <QRadioButton>
    -#include <QTreeWidget>
    -#include <QTreeWidgetItem>
    -#include <QMenu>
    -#include <QCheckBox>
    -#include <QDoubleSpinBox>
    -#include <QSpinBox>
    -
    -

    Go to the source code of this file.

    - - - - - - -

    -Classes

    class  KeySequenceEditor
     
    class  PreferencesDialog
     
    -
    - - - - diff --git a/docs/html/preferencesdialog_8h_source.html b/docs/html/preferencesdialog_8h_source.html deleted file mode 100644 index b863304b4..000000000 --- a/docs/html/preferencesdialog_8h_source.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Olive: dialogs/preferencesdialog.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    preferencesdialog.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PREFERENCESDIALOG_H
    22 #define PREFERENCESDIALOG_H
    23 
    24 #include <QDialog>
    25 #include <QKeySequenceEdit>
    26 #include <QMenuBar>
    27 #include <QLineEdit>
    28 #include <QComboBox>
    29 #include <QRadioButton>
    30 #include <QTreeWidget>
    31 #include <QTreeWidgetItem>
    32 #include <QMenu>
    33 #include <QCheckBox>
    34 #include <QDoubleSpinBox>
    35 #include <QSpinBox>
    36 
    37 class KeySequenceEditor : public QKeySequenceEdit {
    38  Q_OBJECT
    39 public:
    40  KeySequenceEditor(QWidget *parent, QAction* a);
    41  void set_action_shortcut();
    42  void reset_to_default();
    43  QString action_name();
    44  QString export_shortcut();
    45 private:
    46  QAction* action;
    47 };
    48 
    49 class PreferencesDialog : public QDialog
    50 {
    51  Q_OBJECT
    52 
    53 public:
    54  explicit PreferencesDialog(QWidget *parent = nullptr);
    56 
    57  void setup_kbd_shortcuts(QMenuBar* menu);
    58 
    59 private slots:
    60  void save();
    62  void reset_all_shortcuts();
    63  bool refine_shortcut_list(const QString &, QTreeWidgetItem* parent = nullptr);
    64  void load_shortcut_file();
    65  void save_shortcut_file();
    66  void browse_css_file();
    67  void delete_all_previews();
    68 
    69 private:
    70  void setup_ui();
    71  void setup_kbd_shortcut_worker(QMenu* menu, QTreeWidgetItem* parent);
    72 
    73  // used to delete previews
    74  // type can be: 't' for thumbnails, 'w' for waveforms, or 1 for all
    75  void delete_previews(char type);
    76 
    77  QLineEdit* custom_css_fn;
    78  QLineEdit* imgSeqFormatEdit;
    79  QComboBox* recordingComboBox;
    80  QRadioButton* accurateSeekButton;
    81  QRadioButton* fastSeekButton;
    82  QTreeWidget* keyboard_tree;
    83  QDoubleSpinBox* upcoming_queue_spinbox;
    84  QComboBox* upcoming_queue_type;
    85  QDoubleSpinBox* previous_queue_spinbox;
    86  QComboBox* previous_queue_type;
    90  QComboBox* audio_input_devices;
    91  QComboBox* audio_sample_rate;
    92  QComboBox* language_combobox;
    96 
    97  QVector<QAction*> key_shortcut_actions;
    98  QVector<QTreeWidgetItem*> key_shortcut_items;
    99  QVector<KeySequenceEditor*> key_shortcut_fields;
    100 };
    101 
    102 #endif // PREFERENCESDIALOG_H
    QComboBox * audio_input_devices
    Definition: preferencesdialog.h:90
    -
    QLineEdit * imgSeqFormatEdit
    Definition: preferencesdialog.h:78
    -
    KeySequenceEditor(QWidget *parent, QAction *a)
    Definition: preferencesdialog.cpp:53
    -
    QLineEdit * custom_css_fn
    Definition: preferencesdialog.h:77
    -
    QCheckBox * add_default_effects_to_clips
    Definition: preferencesdialog.h:95
    -
    QRadioButton * fastSeekButton
    Definition: preferencesdialog.h:81
    -
    QVector< QAction * > key_shortcut_actions
    Definition: preferencesdialog.h:97
    -
    QComboBox * audio_output_devices
    Definition: preferencesdialog.h:89
    -
    QSpinBox * waveform_res_spinbox
    Definition: preferencesdialog.h:94
    -
    QString action_name()
    Definition: preferencesdialog.cpp:68
    -
    void save_shortcut_file()
    Definition: preferencesdialog.cpp:403
    -
    void reset_to_default()
    Definition: preferencesdialog.cpp:64
    -
    Definition: preferencesdialog.h:37
    -
    QRadioButton * accurateSeekButton
    Definition: preferencesdialog.h:80
    -
    QComboBox * previous_queue_type
    Definition: preferencesdialog.h:86
    -
    void setup_ui()
    Definition: preferencesdialog.cpp:445
    -
    QComboBox * audio_sample_rate
    Definition: preferencesdialog.h:91
    -
    void load_shortcut_file()
    Definition: preferencesdialog.cpp:371
    -
    QComboBox * upcoming_queue_type
    Definition: preferencesdialog.h:84
    -
    void setup_kbd_shortcuts(QMenuBar *menu)
    Definition: preferencesdialog.cpp:149
    -
    void delete_all_previews()
    Definition: preferencesdialog.cpp:432
    -
    QString export_shortcut()
    Definition: preferencesdialog.cpp:72
    -
    QComboBox * recordingComboBox
    Definition: preferencesdialog.h:79
    -
    void delete_previews(char type)
    Definition: preferencesdialog.cpp:116
    -
    void setup_kbd_shortcut_worker(QMenu *menu, QTreeWidgetItem *parent)
    Definition: preferencesdialog.cpp:94
    -
    QDoubleSpinBox * upcoming_queue_spinbox
    Definition: preferencesdialog.h:83
    -
    void reset_all_shortcuts()
    Definition: preferencesdialog.cpp:318
    -
    QTreeWidget * keyboard_tree
    Definition: preferencesdialog.h:82
    -
    QSpinBox * effect_textbox_lines_field
    Definition: preferencesdialog.h:87
    -
    bool refine_shortcut_list(const QString &, QTreeWidgetItem *parent=nullptr)
    Definition: preferencesdialog.cpp:330
    -
    QVector< QTreeWidgetItem * > key_shortcut_items
    Definition: preferencesdialog.h:98
    -
    void browse_css_file()
    Definition: preferencesdialog.cpp:425
    -
    QDoubleSpinBox * previous_queue_spinbox
    Definition: preferencesdialog.h:85
    -
    QComboBox * language_combobox
    Definition: preferencesdialog.h:92
    -
    void save()
    Definition: preferencesdialog.cpp:172
    -
    QCheckBox * use_software_fallbacks_checkbox
    Definition: preferencesdialog.h:88
    -
    void set_action_shortcut()
    Definition: preferencesdialog.cpp:59
    -
    QSpinBox * thumbnail_res_spinbox
    Definition: preferencesdialog.h:93
    -
    void reset_default_shortcut()
    Definition: preferencesdialog.cpp:310
    -
    Definition: preferencesdialog.h:49
    -
    QVector< KeySequenceEditor * > key_shortcut_fields
    Definition: preferencesdialog.h:99
    -
    QAction * action
    Definition: preferencesdialog.h:46
    -
    ~PreferencesDialog()
    Definition: preferencesdialog.cpp:92
    -
    PreferencesDialog(QWidget *parent=nullptr)
    Definition: preferencesdialog.cpp:80
    -
    - - - - diff --git a/docs/html/previewgenerator_8cpp.html b/docs/html/previewgenerator_8cpp.html deleted file mode 100644 index 5d75198f3..000000000 --- a/docs/html/previewgenerator_8cpp.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - -Olive: io/previewgenerator.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    previewgenerator.cpp File Reference
    -
    -
    -
    #include "previewgenerator.h"
    -#include "ui/mediaiconservice.h"
    -#include "project/media.h"
    -#include "project/footage.h"
    -#include "panels/viewer.h"
    -#include "panels/project.h"
    -#include "io/config.h"
    -#include "io/path.h"
    -#include "debug.h"
    -#include <QPainter>
    -#include <QPixmap>
    -#include <QtMath>
    -#include <QTreeWidgetItem>
    -#include <QSemaphore>
    -#include <QFile>
    -#include <QDir>
    -
    - - - - - -

    -Functions

    QSemaphore sem (5)
     
    void thumb_data_cleanup (void *info)
     
    -

    Function Documentation

    - -

    ◆ sem()

    - -
    -
    - - - - - - - - -
    QSemaphore sem ()
    -
    - -
    -
    - -

    ◆ thumb_data_cleanup()

    - -
    -
    - - - - - - - - -
    void thumb_data_cleanup (void * info)
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/previewgenerator_8h.html b/docs/html/previewgenerator_8h.html deleted file mode 100644 index 98376fbaf..000000000 --- a/docs/html/previewgenerator_8h.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -Olive: io/previewgenerator.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    previewgenerator.h File Reference
    -
    -
    -
    #include <QThread>
    -#include <QSemaphore>
    -#include <QDir>
    -#include "project/footage.h"
    -#include "project/media.h"
    -#include <libavformat/avformat.h>
    -#include <libavcodec/avcodec.h>
    -#include <libswscale/swscale.h>
    -#include <libswresample/swresample.h>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  PreviewGenerator
     
    -
    - - - - diff --git a/docs/html/previewgenerator_8h_source.html b/docs/html/previewgenerator_8h_source.html deleted file mode 100644 index e71c9816d..000000000 --- a/docs/html/previewgenerator_8h_source.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Olive: io/previewgenerator.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    previewgenerator.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PREVIEWGENERATOR_H
    22 #define PREVIEWGENERATOR_H
    23 
    24 #include <QThread>
    25 #include <QSemaphore>
    26 #include <QDir>
    27 
    28 #include "project/footage.h"
    29 #include "project/media.h"
    30 
    31 extern "C" {
    32 #include <libavformat/avformat.h>
    33 #include <libavcodec/avcodec.h>
    34 #include <libswscale/swscale.h>
    35 #include <libswresample/swresample.h>
    36 }
    37 
    38 class PreviewGenerator : public QThread
    39 {
    40  Q_OBJECT
    41 public:
    43  void run();
    44  void cancel();
    45 private:
    46  void parse_media();
    47  bool retrieve_preview(const QString &hash);
    48  void generate_waveform();
    49  void finalize_media();
    50  AVFormatContext* fmt_ctx;
    55  bool replace;
    56  bool cancelled;
    57  QDir data_dir;
    58  QString get_thumbnail_path(const QString &hash, const FootageStream &ms);
    59  QString get_waveform_path(const QString& hash, const FootageStream &ms);
    60 };
    61 
    62 #endif // PREVIEWGENERATOR_H
    bool retrieve_preview(const QString &hash)
    Definition: previewgenerator.cpp:133
    -
    bool replace
    Definition: previewgenerator.h:55
    -
    PreviewGenerator(Media *, FootagePtr, bool)
    Definition: previewgenerator.cpp:42
    -
    void cancel()
    Definition: previewgenerator.cpp:583
    -
    QDir data_dir
    Definition: previewgenerator.h:57
    - -
    bool cancelled
    Definition: previewgenerator.h:56
    -
    Definition: previewgenerator.h:38
    -
    QString get_waveform_path(const QString &hash, const FootageStream &ms)
    Definition: previewgenerator.cpp:504
    -
    std::shared_ptr< Footage > FootagePtr
    Definition: footage.h:103
    -
    bool retrieve_duration
    Definition: previewgenerator.h:53
    -
    Definition: media.h:42
    - -
    void generate_waveform()
    Definition: previewgenerator.cpp:211
    -
    void finalize_media()
    Definition: previewgenerator.cpp:188
    -
    Definition: footage.h:44
    -
    Media * media
    Definition: previewgenerator.h:51
    -
    QString get_thumbnail_path(const QString &hash, const FootageStream &ms)
    Definition: previewgenerator.cpp:500
    -
    void parse_media()
    Definition: previewgenerator.cpp:60
    -
    bool contains_still_image
    Definition: previewgenerator.h:54
    -
    void run()
    Definition: previewgenerator.cpp:508
    -
    AVFormatContext * fmt_ctx
    Definition: previewgenerator.h:50
    -
    FootagePtr footage
    Definition: previewgenerator.h:52
    -
    - - - - diff --git a/docs/html/project_8cpp.html b/docs/html/project_8cpp.html deleted file mode 100644 index eb244285e..000000000 --- a/docs/html/project_8cpp.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - -Olive: panels/project.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    project.cpp File Reference
    -
    -
    -
    #include "project.h"
    -#include "oliveglobal.h"
    -#include "panels.h"
    -#include "playback/playback.h"
    -#include "io/previewgenerator.h"
    -#include "project/undo.h"
    -#include "mainwindow.h"
    -#include "io/config.h"
    -#include "playback/cacher.h"
    -#include "dialogs/replaceclipmediadialog.h"
    -#include "panels/effectcontrols.h"
    -#include "dialogs/newsequencedialog.h"
    -#include "dialogs/mediapropertiesdialog.h"
    -#include "dialogs/loaddialog.h"
    -#include "io/clipboard.h"
    -#include "ui/sourcetable.h"
    -#include "ui/sourceiconview.h"
    -#include "ui/menuhelper.h"
    -#include "ui/mediaiconservice.h"
    -#include "project/sourcescommon.h"
    -#include "project/projectfilter.h"
    -#include "debug.h"
    -#include <QApplication>
    -#include <QFileDialog>
    -#include <QString>
    -#include <QVariant>
    -#include <QCharRef>
    -#include <QMessageBox>
    -#include <QDropEvent>
    -#include <QMimeData>
    -#include <QPushButton>
    -#include <QInputDialog>
    -#include <QXmlStreamReader>
    -#include <QXmlStreamWriter>
    -#include <QSizePolicy>
    -#include <QVBoxLayout>
    -#include <QMenu>
    -#include <libavformat/avformat.h>
    -#include <libavcodec/avcodec.h>
    -
    - - - -

    -Macros

    #define MAXIMUM_RECENT_PROJECTS   10
     
    - - - - - - - -

    -Functions

    SequencePtr create_sequence_from_media (QVector< Media * > &media_list)
     
    bool delete_clips_in_clipboard_with_media (ComboAction *ca, Media *m)
     
    void save_marker (QXmlStreamWriter &stream, const Marker &m)
     
    - - - - - -

    -Variables

    QString autorecovery_filename
     
    QStringList recent_projects
     
    -

    Macro Definition Documentation

    - -

    ◆ MAXIMUM_RECENT_PROJECTS

    - -
    -
    - - - - -
    #define MAXIMUM_RECENT_PROJECTS   10
    -
    - -
    -
    -

    Function Documentation

    - -

    ◆ create_sequence_from_media()

    - -
    -
    - - - - - - - - -
    SequencePtr create_sequence_from_media (QVector< Media * > & media_list)
    -
    - -
    -
    - -

    ◆ delete_clips_in_clipboard_with_media()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    bool delete_clips_in_clipboard_with_media (ComboActionca,
    Mediam 
    )
    -
    - -
    -
    - -

    ◆ save_marker()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void save_marker (QXmlStreamWriter & stream,
    const Markerm 
    )
    -
    - -
    -
    -

    Variable Documentation

    - -

    ◆ autorecovery_filename

    - -
    -
    - - - - -
    QString autorecovery_filename
    -
    - -
    -
    - -

    ◆ recent_projects

    - -
    -
    - - - - -
    QStringList recent_projects
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/project_8h.html b/docs/html/project_8h.html deleted file mode 100644 index e0770e5c8..000000000 --- a/docs/html/project_8h.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - -Olive: panels/project.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    project.h File Reference
    -
    -
    -
    #include <QVector>
    -#include <QTimer>
    -#include <QDir>
    -#include <QXmlStreamReader>
    -#include <QXmlStreamWriter>
    -#include <QFile>
    -#include <QPushButton>
    -#include "project/projectmodel.h"
    -#include "project/projectfilter.h"
    -#include "project/projectelements.h"
    -#include "project/undo.h"
    -#include "project/sourcescommon.h"
    -#include "ui/panel.h"
    -#include "ui/sourceiconview.h"
    -#include "ui/sourcetable.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  Project
     
    - - - - - -

    -Macros

    #define LOAD_TYPE_VERSION   69
     
    #define LOAD_TYPE_URL   70
     
    - - - - - - - -

    -Functions

    SequencePtr create_sequence_from_media (QVector< Media * > &media_list)
     
    QString get_channel_layout_name (int channels, uint64_t layout)
     
    QString get_interlacing_name (int interlacing)
     
    - - - - - -

    -Variables

    QString autorecovery_filename
     
    QStringList recent_projects
     
    -

    Macro Definition Documentation

    - -

    ◆ LOAD_TYPE_URL

    - -
    -
    - - - - -
    #define LOAD_TYPE_URL   70
    -
    - -
    -
    - -

    ◆ LOAD_TYPE_VERSION

    - -
    -
    - - - - -
    #define LOAD_TYPE_VERSION   69
    -
    - -
    -
    -

    Function Documentation

    - -

    ◆ create_sequence_from_media()

    - -
    -
    - - - - - - - - -
    SequencePtr create_sequence_from_media (QVector< Media * > & media_list)
    -
    - -
    -
    - -

    ◆ get_channel_layout_name()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    QString get_channel_layout_name (int channels,
    uint64_t layout 
    )
    -
    - -
    -
    - -

    ◆ get_interlacing_name()

    - -
    -
    - - - - - - - - -
    QString get_interlacing_name (int interlacing)
    -
    - -
    -
    -

    Variable Documentation

    - -

    ◆ autorecovery_filename

    - -
    -
    - - - - -
    QString autorecovery_filename
    -
    - -
    -
    - -

    ◆ recent_projects

    - -
    -
    - - - - -
    QStringList recent_projects
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/project_8h_source.html b/docs/html/project_8h_source.html deleted file mode 100644 index 5768523d9..000000000 --- a/docs/html/project_8h_source.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - -Olive: panels/project.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    project.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PROJECT_H
    22 #define PROJECT_H
    23 
    24 #include <QVector>
    25 #include <QTimer>
    26 #include <QDir>
    27 #include <QXmlStreamReader>
    28 #include <QXmlStreamWriter>
    29 #include <QFile>
    30 #include <QPushButton>
    31 
    32 #include "project/projectmodel.h"
    33 #include "project/projectfilter.h"
    35 #include "project/undo.h"
    36 #include "project/sourcescommon.h"
    37 #include "ui/panel.h"
    38 #include "ui/sourceiconview.h"
    39 
    40 #include "ui/sourcetable.h"
    41 
    42 #define LOAD_TYPE_VERSION 69
    43 #define LOAD_TYPE_URL 70
    44 
    45 extern QString autorecovery_filename;
    46 extern QStringList recent_projects;
    47 
    48 SequencePtr create_sequence_from_media(QVector<Media *> &media_list);
    49 
    50 QString get_channel_layout_name(int channels, uint64_t layout);
    51 QString get_interlacing_name(int interlacing);
    52 
    53 class Project : public Panel {
    54  Q_OBJECT
    55 public:
    56  explicit Project(QWidget *parent = nullptr);
    57  ~Project();
    58 
    59  bool is_focused();
    60  void clear();
    61  Media* create_sequence_internal(ComboAction *ca, SequencePtr s, bool open, Media* parent);
    62  QString get_next_sequence_name(QString start = nullptr);
    63  void process_file_list(QStringList& files, bool recursive = false, Media* replace = nullptr, Media *parent = nullptr);
    64  void replace_media(Media* item, QString filename);
    66  bool reveal_media(Media *media, QModelIndex parent = QModelIndex());
    67  void add_recent_project(QString url);
    68 
    69  void new_project();
    70  void load_project(bool autorecovery);
    71  void save_project(bool autorecovery);
    72 
    73  Media* create_folder_internal(QString name);
    74  Media* item_to_media(const QModelIndex& index);
    75 
    76  void save_recent_projects();
    77 
    78  QVector<Media*> list_all_project_sequences();
    79 
    83 
    85 
    86  QVector<Media*> last_imported_media;
    87 
    88  QModelIndexList get_current_selected();
    89 
    90  void start_preview_generator(Media* item, bool replacing);
    91  void get_all_media_from_table(QList<Media *> &items, QList<Media *> &list, int type = -1);
    92 
    93  QWidget* toolbar_widget;
    94 protected:
    95  virtual void Retranslate() override;
    96 public slots:
    97  void import_dialog();
    98  void delete_selected_media();
    99  void duplicate_selected();
    101  void replace_selected_file();
    102  void replace_clip_media();
    103  void open_properties();
    104  void new_folder();
    105  void new_sequence();
    106 private:
    107  void save_folder(QXmlStreamWriter& stream, int type, bool set_ids_only, const QModelIndex &parent = QModelIndex());
    109  int media_id;
    111  void list_all_sequences_worker(QVector<Media *> *list, Media* parent);
    112  QString get_file_name_from_path(const QString &path);
    113  QDir proj_dir;
    115  QPushButton* directory_up;
    116  QLineEdit* toolbar_search;
    117 private slots:
    118  void update_view_type();
    119  void set_icon_view();
    120  void set_tree_view();
    121  void clear_recent_projects();
    122  void set_icon_view_size(int);
    123  void set_up_dir_enabled();
    124  void go_up_dir();
    125  void make_new_menu();
    126 };
    127 
    128 #endif // PROJECT_H
    QWidget * icon_view_container
    Definition: project.h:114
    -
    SequencePtr create_sequence_from_media(QVector< Media * > &media_list)
    Definition: project.cpp:265
    -
    QModelIndexList get_current_selected()
    Definition: project.cpp:1345
    -
    void go_up_dir()
    Definition: project.cpp:1296
    - - -
    QWidget * toolbar_widget
    Definition: project.h:93
    -
    Media * get_selected_folder()
    Definition: project.cpp:845
    - -
    bool reveal_media(Media *media, QModelIndex parent=QModelIndex())
    Definition: project.cpp:855
    -
    void new_sequence()
    Definition: project.cpp:444
    -
    Definition: sourcetable.h:31
    -
    ProjectFilter * sorter
    Definition: project.h:84
    -
    The ComboAction class.
    Definition: comboaction.h:19
    -
    void replace_media(Media *item, QString filename)
    Definition: project.cpp:358
    -
    void load_project(bool autorecovery)
    Definition: project.cpp:980
    -
    void update_view_type()
    Definition: project.cpp:1242
    - -
    QPushButton * directory_up
    Definition: project.h:115
    - -
    void make_new_menu()
    Definition: project.cpp:1301
    -
    void replace_selected_file()
    Definition: project.cpp:348
    -
    bool is_focused()
    Definition: project.cpp:482
    -
    void get_all_media_from_table(QList< Media * > &items, QList< Media * > &list, int type=-1)
    Definition: project.cpp:498
    -
    QLineEdit * toolbar_search
    Definition: project.h:116
    -
    Media * create_sequence_internal(ComboAction *ca, SequencePtr s, bool open, Media *parent)
    Definition: project.cpp:450
    -
    void duplicate_selected()
    Definition: project.cpp:330
    -
    Definition: media.h:42
    -
    QString get_file_name_from_path(const QString &path)
    Definition: project.cpp:472
    -
    void clear_recent_projects()
    Definition: project.cpp:1283
    -
    int media_id
    Definition: project.h:109
    -
    Definition: panel.h:26
    -
    Project(QWidget *parent=nullptr)
    Definition: project.cpp:72
    -
    Definition: project.h:53
    - -
    void set_tree_view()
    Definition: project.cpp:1261
    -
    ~Project()
    Definition: project.cpp:232
    -
    Media * item_to_media(const QModelIndex &index)
    Definition: project.cpp:493
    -
    SourceIconView * icon_view
    Definition: project.h:81
    -
    Definition: sourceiconview.h:28
    -
    Definition: sourcescommon.h:38
    -
    Definition: projectfilter.h:26
    -
    void set_icon_view()
    Definition: project.cpp:1256
    -
    QVector< Media * > last_imported_media
    Definition: project.h:86
    -
    void new_folder()
    Definition: project.cpp:429
    -
    void set_icon_view_size(int)
    Definition: project.cpp:1288
    -
    void delete_selected_media()
    Definition: project.cpp:527
    -
    void process_file_list(QStringList &files, bool recursive=false, Media *replace=nullptr, Media *parent=nullptr)
    Definition: project.cpp:680
    -
    void import_dialog()
    Definition: project.cpp:909
    -
    QDir proj_dir
    Definition: project.h:113
    -
    virtual void Retranslate() override
    Definition: project.cpp:236
    -
    std::shared_ptr< Sequence > SequencePtr
    Definition: clip.h:48
    - -
    QString get_next_sequence_name(QString start=nullptr)
    Definition: project.cpp:241
    -
    QVector< Media * > list_all_project_sequences()
    Definition: project.cpp:1339
    -
    QString autorecovery_filename
    Definition: project.cpp:69
    -
    void list_all_sequences_worker(QVector< Media * > *list, Media *parent)
    Definition: project.cpp:1325
    -
    void clear()
    Definition: project.cpp:954
    -
    Media * create_folder_internal(QString name)
    Definition: project.cpp:486
    -
    void save_folder(QXmlStreamWriter &stream, int type, bool set_ids_only, const QModelIndex &parent=QModelIndex())
    Definition: project.cpp:994
    -
    void save_recent_projects()
    Definition: project.cpp:1266
    -
    QString get_channel_layout_name(int channels, uint64_t layout)
    Definition: media.cpp:50
    -
    void add_recent_project(QString url)
    Definition: project.cpp:1307
    -
    int folder_id
    Definition: project.h:108
    -
    QStringList recent_projects
    Definition: project.cpp:70
    -
    QString get_interlacing_name(int interlacing)
    Definition: media.cpp:41
    -
    void start_preview_generator(Media *item, bool replacing)
    Definition: project.cpp:671
    -
    void save_project(bool autorecovery)
    Definition: project.cpp:1192
    -
    void set_up_dir_enabled()
    Definition: project.cpp:1292
    -
    void delete_clips_using_selected_media()
    Definition: project.cpp:919
    -
    SourceTable * tree_view
    Definition: project.h:80
    -
    int sequence_id
    Definition: project.h:110
    -
    SourcesCommon * sources_common
    Definition: project.h:82
    -
    void open_properties()
    Definition: project.cpp:395
    - -
    void replace_clip_media()
    Definition: project.cpp:372
    -
    void new_project()
    Definition: project.cpp:972
    -
    - - - - diff --git a/docs/html/projectelements_8h.html b/docs/html/projectelements_8h.html deleted file mode 100644 index e270977d2..000000000 --- a/docs/html/projectelements_8h.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: project/projectelements.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    projectelements.h File Reference
    -
    -
    -
    #include "media.h"
    -#include "footage.h"
    -#include "sequence.h"
    -#include "clip.h"
    -#include "transition.h"
    -#include "marker.h"
    -#include "effect.h"
    -
    -

    Go to the source code of this file.

    -
    - - - - diff --git a/docs/html/projectelements_8h_source.html b/docs/html/projectelements_8h_source.html deleted file mode 100644 index 86cc21bee..000000000 --- a/docs/html/projectelements_8h_source.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: project/projectelements.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    projectelements.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PROJECTELEMENTS_H
    22 #define PROJECTELEMENTS_H
    23 
    24 // includes elements the user can use in a project
    25 #include "media.h"
    26 #include "footage.h"
    27 #include "sequence.h"
    28 
    29 // includes elements the user can use in a sequence
    30 #include "clip.h"
    31 #include "transition.h"
    32 #include "marker.h"
    33 #include "effect.h"
    34 
    35 #endif // PROJECTELEMENTS_H
    - - - - - - -
    - - - - diff --git a/docs/html/projectfilter_8cpp.html b/docs/html/projectfilter_8cpp.html deleted file mode 100644 index d93ca774d..000000000 --- a/docs/html/projectfilter_8cpp.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: project/projectfilter.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    projectfilter.cpp File Reference
    -
    -
    -
    #include "projectfilter.h"
    -#include "project/media.h"
    -#include "project/sequence.h"
    -#include <QDebug>
    -
    - - - - diff --git a/docs/html/projectfilter_8h.html b/docs/html/projectfilter_8h.html deleted file mode 100644 index 9ed9bbde5..000000000 --- a/docs/html/projectfilter_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: project/projectfilter.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    projectfilter.h File Reference
    -
    -
    -
    #include <QSortFilterProxyModel>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  ProjectFilter
     
    -
    - - - - diff --git a/docs/html/projectfilter_8h_source.html b/docs/html/projectfilter_8h_source.html deleted file mode 100644 index c0e79774e..000000000 --- a/docs/html/projectfilter_8h_source.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: project/projectfilter.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    projectfilter.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PROJECTFILTER_H
    22 #define PROJECTFILTER_H
    23 
    24 #include <QSortFilterProxyModel>
    25 
    26 class ProjectFilter : public QSortFilterProxyModel {
    27  Q_OBJECT
    28 public:
    29  ProjectFilter(QObject *parent = nullptr);
    30 
    31  // are sequences visible
    32  bool get_show_sequences();
    33 
    34 public slots:
    35 
    36  // set whether sequences are visible
    37  void set_show_sequences(bool b);
    38 
    39  // update search filter
    40  void update_search_filter(const QString& s);
    41 
    42 protected:
    43 
    44  // function that filters whether rows are displayed or not
    45  virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
    46 
    47 private:
    48 
    49  // internal variable for whether to show sequences
    51 
    52  // search filter variable
    53  QString search_filter;
    54 
    55 };
    56 
    57 #endif // PROJECTFILTER_H
    ProjectFilter(QObject *parent=nullptr)
    Definition: projectfilter.cpp:28
    -
    void update_search_filter(const QString &s)
    Definition: projectfilter.cpp:42
    -
    bool get_show_sequences()
    Definition: projectfilter.cpp:33
    -
    Definition: projectfilter.h:26
    -
    QString search_filter
    Definition: projectfilter.h:53
    -
    void set_show_sequences(bool b)
    Definition: projectfilter.cpp:37
    -
    bool show_sequences
    Definition: projectfilter.h:50
    -
    virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
    Definition: projectfilter.cpp:47
    -
    - - - - diff --git a/docs/html/projectmodel_8cpp.html b/docs/html/projectmodel_8cpp.html deleted file mode 100644 index 786f5e8e9..000000000 --- a/docs/html/projectmodel_8cpp.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: project/projectmodel.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    projectmodel.cpp File Reference
    -
    -
    -
    #include "projectmodel.h"
    -#include "panels/panels.h"
    -#include "panels/viewer.h"
    -#include "ui/viewerwidget.h"
    -#include "project/media.h"
    -#include "debug.h"
    -
    - - - - diff --git a/docs/html/projectmodel_8h.html b/docs/html/projectmodel_8h.html deleted file mode 100644 index db2f0bc5f..000000000 --- a/docs/html/projectmodel_8h.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Olive: project/projectmodel.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    projectmodel.h File Reference
    -
    -
    -
    #include <QAbstractItemModel>
    -#include "project/media.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  ProjectModel
     
    - - - -

    -Namespaces

     olive
     
    - - - -

    -Variables

    ProjectModel olive::project_model
     
    -
    - - - - diff --git a/docs/html/projectmodel_8h_source.html b/docs/html/projectmodel_8h_source.html deleted file mode 100644 index 65f38dd0c..000000000 --- a/docs/html/projectmodel_8h_source.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Olive: project/projectmodel.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    projectmodel.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PROJECTMODEL_H
    22 #define PROJECTMODEL_H
    23 
    24 #include <QAbstractItemModel>
    25 
    26 #include "project/media.h"
    27 
    28 class ProjectModel : public QAbstractItemModel
    29 {
    30  Q_OBJECT
    31 public:
    32  ProjectModel(QObject* parent = nullptr);
    33  ~ProjectModel() override;
    34 
    35  void make_root();
    36  void destroy_root();
    37  void clear();
    38  Media* get_root();
    39  QVariant data(const QModelIndex &index, int role) const override;
    40  Qt::ItemFlags flags(const QModelIndex &index) const override;
    41  QVariant headerData(int section, Qt::Orientation orientation,
    42  int role = Qt::DisplayRole) const override;
    43  QModelIndex index(int row, int column,
    44  const QModelIndex &parent = QModelIndex()) const override;
    45  QModelIndex create_index(int arow, int acolumn, void *adata);
    46  QModelIndex parent(const QModelIndex &index) const override;
    47  bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
    48  int rowCount(const QModelIndex &parent = QModelIndex()) const override;
    49  int columnCount(const QModelIndex &parent = QModelIndex()) const override;
    50  Media* getItem(const QModelIndex &index) const;
    51 
    53  void moveChild(Media* child, Media* to);
    54  void removeChild(Media* parent, Media* m);
    55  Media* child(int i, Media* parent = nullptr);
    56  int childCount(Media* parent = nullptr);
    57  void set_icon(Media* m, const QIcon &ico);
    58 
    59 private:
    61 };
    62 
    63 namespace olive {
    65 }
    66 
    67 #endif // PROJECTMODEL_H
    void appendChild(Media *parent, Media *child)
    Definition: projectmodel.cpp:171
    -
    Qt::ItemFlags flags(const QModelIndex &index) const override
    Definition: projectmodel.cpp:72
    -
    void set_icon(Media *m, const QIcon &ico)
    Definition: projectmodel.cpp:164
    -
    Media * getItem(const QModelIndex &index) const
    Definition: projectmodel.cpp:155
    -
    Definition: projectmodel.h:28
    -
    void clear()
    Definition: projectmodel.cpp:54
    -
    QModelIndex parent(const QModelIndex &index) const override
    Definition: projectmodel.cpp:108
    -
    void destroy_root()
    Definition: projectmodel.cpp:45
    -
    int columnCount(const QModelIndex &parent=QModelIndex()) const override
    Definition: projectmodel.cpp:148
    -
    Media * get_root()
    Definition: projectmodel.cpp:61
    -
    void moveChild(Media *child, Media *to)
    Definition: projectmodel.cpp:178
    -
    ~ProjectModel() override
    Definition: projectmodel.cpp:35
    - -
    bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
    Definition: projectmodel.cpp:121
    -
    QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
    Definition: projectmodel.cpp:79
    -
    int childCount(Media *parent=nullptr)
    Definition: projectmodel.cpp:205
    -
    Media * root_item
    Definition: projectmodel.h:60
    -
    Definition: debugdialog.h:39
    -
    Definition: media.h:42
    -
    QModelIndex create_index(int arow, int acolumn, void *adata)
    Definition: projectmodel.cpp:104
    -
    int rowCount(const QModelIndex &parent=QModelIndex()) const override
    Definition: projectmodel.cpp:134
    -
    Media * child(int i, Media *parent=nullptr)
    Definition: projectmodel.cpp:200
    -
    void removeChild(Media *parent, Media *m)
    Definition: projectmodel.cpp:193
    -
    ProjectModel(QObject *parent=nullptr)
    Definition: projectmodel.cpp:31
    -
    QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
    Definition: projectmodel.cpp:86
    -
    void make_root()
    Definition: projectmodel.cpp:39
    -
    ProjectModel project_model
    Definition: projectmodel.cpp:29
    -
    QVariant data(const QModelIndex &index, int role) const override
    Definition: projectmodel.cpp:65
    -
    - - - - diff --git a/docs/html/proxydialog_8cpp.html b/docs/html/proxydialog_8cpp.html deleted file mode 100644 index 4ace5fa67..000000000 --- a/docs/html/proxydialog_8cpp.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: dialogs/proxydialog.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    proxydialog.cpp File Reference
    -
    -
    -
    #include "proxydialog.h"
    -#include <QGridLayout>
    -#include <QLabel>
    -#include <QDialogButtonBox>
    -#include <QComboBox>
    -#include <QFileDialog>
    -#include <QMessageBox>
    -#include <QDebug>
    -#include "io/proxygenerator.h"
    -#include "project/footage.h"
    -#include "mainwindow.h"
    -
    - - - - diff --git a/docs/html/proxydialog_8h.html b/docs/html/proxydialog_8h.html deleted file mode 100644 index 99aeaa6d4..000000000 --- a/docs/html/proxydialog_8h.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: dialogs/proxydialog.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    proxydialog.h File Reference
    -
    -
    -
    #include <QDialog>
    -#include <QVector>
    -#include <QComboBox>
    -#include "project/footage.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  ProxyDialog
     
    -
    - - - - diff --git a/docs/html/proxydialog_8h_source.html b/docs/html/proxydialog_8h_source.html deleted file mode 100644 index 2e1102bbb..000000000 --- a/docs/html/proxydialog_8h_source.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: dialogs/proxydialog.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    proxydialog.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PROXYDIALOG_H
    22 #define PROXYDIALOG_H
    23 
    24 #include <QDialog>
    25 #include <QVector>
    26 #include <QComboBox>
    27 
    28 #include "project/footage.h"
    29 
    30 class ProxyDialog : public QDialog {
    31  Q_OBJECT
    32 public:
    33  ProxyDialog(QWidget* parent, const QVector<FootagePtr>& footage);
    34 public slots:
    35  // called if user clicks "OK" on the dialog
    36  virtual void accept() override;
    37 private:
    38  // user's desired dimensions
    39  QComboBox* size_combobox;
    40 
    41  // user's desired proxy format
    42  QComboBox* format_combobox;
    43 
    44  // allows users to set the location to store proxies
    45  QComboBox* location_combobox;
    46 
    47  // stores the custom location to store proxies if the user sets a custom location
    48  QString custom_location;
    49 
    50  // stores the subdirectory to be made next to the source (dependent on the user's language)
    52 
    53  // list of footage to make proxies for
    54  QVector<FootagePtr> selected_footage;
    55 private slots:
    56  // triggered when the user changes the index in the location combobox
    57  void location_changed(int i);
    58 };
    59 
    60 #endif // PROXYDIALOG_H
    QComboBox * location_combobox
    Definition: proxydialog.h:45
    -
    QVector< FootagePtr > selected_footage
    Definition: proxydialog.h:54
    - -
    Definition: proxydialog.h:30
    -
    void location_changed(int i)
    Definition: proxydialog.cpp:160
    -
    virtual void accept() override
    Definition: proxydialog.cpp:90
    -
    QComboBox * size_combobox
    Definition: proxydialog.h:39
    -
    QString proxy_folder_name
    Definition: proxydialog.h:51
    -
    QString custom_location
    Definition: proxydialog.h:48
    -
    QComboBox * format_combobox
    Definition: proxydialog.h:42
    -
    ProxyDialog(QWidget *parent, const QVector< FootagePtr > &footage)
    Definition: proxydialog.cpp:35
    -
    - - - - diff --git a/docs/html/proxygenerator_8cpp.html b/docs/html/proxygenerator_8cpp.html deleted file mode 100644 index 512ba841e..000000000 --- a/docs/html/proxygenerator_8cpp.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Olive: io/proxygenerator.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    proxygenerator.cpp File Reference
    -
    -
    -
    #include "proxygenerator.h"
    -#include "io/path.h"
    -#include "mainwindow.h"
    -#include <QDir>
    -#include <QFileInfo>
    -#include <QtMath>
    -#include <QStatusBar>
    -#include <QDebug>
    -#include <libavformat/avformat.h>
    -#include <libavcodec/avcodec.h>
    -#include <libswscale/swscale.h>
    -
    - - - - - -

    -Variables

    enum AVCodecID temp_enc_codec = AV_CODEC_ID_PRORES
     
    ProxyGenerator proxy_generator
     
    -

    Variable Documentation

    - -

    ◆ proxy_generator

    - -
    -
    - - - - -
    ProxyGenerator proxy_generator
    -
    - -
    -
    - -

    ◆ temp_enc_codec

    - -
    -
    - - - - -
    enum AVCodecID temp_enc_codec = AV_CODEC_ID_PRORES
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/proxygenerator_8h.html b/docs/html/proxygenerator_8h.html deleted file mode 100644 index 7e91642c5..000000000 --- a/docs/html/proxygenerator_8h.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - -Olive: io/proxygenerator.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    proxygenerator.h File Reference
    -
    -
    -
    #include <QThread>
    -#include <QVector>
    -#include <QMutex>
    -#include <QWaitCondition>
    -#include "project/footage.h"
    -
    -

    Go to the source code of this file.

    - - - - - - -

    -Classes

    struct  ProxyInfo
     
    class  ProxyGenerator
     
    - - - -

    -Variables

    ProxyGenerator proxy_generator
     
    -

    Variable Documentation

    - -

    ◆ proxy_generator

    - -
    -
    - - - - -
    ProxyGenerator proxy_generator
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/proxygenerator_8h_source.html b/docs/html/proxygenerator_8h_source.html deleted file mode 100644 index 3af186270..000000000 --- a/docs/html/proxygenerator_8h_source.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Olive: io/proxygenerator.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    proxygenerator.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef PROXYGENERATOR_H
    22 #define PROXYGENERATOR_H
    23 
    24 #include <QThread>
    25 #include <QVector>
    26 #include <QMutex>
    27 #include <QWaitCondition>
    28 
    29 #include "project/footage.h"
    30 
    31 struct ProxyInfo {
    35  QString path;
    36 };
    37 
    38 class ProxyGenerator : public QThread {
    39  Q_OBJECT
    40 public:
    42  void run();
    43  void queue(const ProxyInfo& info);
    44  void cancel();
    46 private:
    47  // queue of footage to process proxies for
    48  QVector<ProxyInfo> proxy_queue;
    49 
    50  // threading objects
    51  QWaitCondition waitCond;
    52  QMutex mutex;
    53 
    54  // set to true if you want to permanently close ProxyGenerator
    55  bool cancelled;
    56 
    57  // set to true if you want to abort the footage currently being processed
    58  bool skip;
    59 
    60  // stores progress in percent of proxy currently being processed
    62 
    63  // function that performs the actual transcode
    64  void transcode(const ProxyInfo& info);
    65 };
    66 
    67 // proxy generator is a global omnipotent entity
    69 
    70 #endif // PROXYGENERATOR_H
    bool cancelled
    Definition: proxygenerator.h:55
    -
    FootagePtr footage
    Definition: proxygenerator.h:32
    -
    QWaitCondition waitCond
    Definition: proxygenerator.h:51
    -
    Definition: proxygenerator.h:31
    -
    std::shared_ptr< Footage > FootagePtr
    Definition: footage.h:103
    -
    int codec_type
    Definition: proxygenerator.h:34
    -
    void queue(const ProxyInfo &info)
    Definition: proxygenerator.cpp:365
    -
    bool skip
    Definition: proxygenerator.h:58
    - -
    double current_progress
    Definition: proxygenerator.h:61
    -
    ProxyGenerator proxy_generator
    Definition: proxygenerator.cpp:410
    -
    double get_proxy_progress(FootagePtr f)
    Definition: proxygenerator.cpp:402
    -
    QString path
    Definition: proxygenerator.h:35
    -
    void transcode(const ProxyInfo &info)
    Definition: proxygenerator.cpp:43
    -
    QVector< ProxyInfo > proxy_queue
    Definition: proxygenerator.h:48
    -
    Definition: proxygenerator.h:38
    -
    void cancel()
    Definition: proxygenerator.cpp:390
    -
    void run()
    Definition: proxygenerator.cpp:326
    -
    ProxyGenerator()
    Definition: proxygenerator.cpp:41
    -
    QMutex mutex
    Definition: proxygenerator.h:52
    -
    double size_multiplier
    Definition: proxygenerator.h:33
    -
    - - - - diff --git a/docs/html/qpainterwrapper_8cpp.html b/docs/html/qpainterwrapper_8cpp.html deleted file mode 100644 index 216abf9ed..000000000 --- a/docs/html/qpainterwrapper_8cpp.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - -Olive: io/qpainterwrapper.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    qpainterwrapper.cpp File Reference
    -
    -
    -
    #include "qpainterwrapper.h"
    -#include <QPainter>
    -#include "debug.h"
    -
    - - - -

    -Functions

    QColor get_color_from_string (const QString &s)
     
    - - - -

    -Variables

    QPainterWrapper painter_wrapper
     
    -

    Function Documentation

    - -

    ◆ get_color_from_string()

    - -
    -
    - - - - - - - - -
    QColor get_color_from_string (const QString & s)
    -
    - -
    -
    -

    Variable Documentation

    - -

    ◆ painter_wrapper

    - -
    -
    - - - - -
    QPainterWrapper painter_wrapper
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/qpainterwrapper_8h.html b/docs/html/qpainterwrapper_8h.html deleted file mode 100644 index 24dccbc41..000000000 --- a/docs/html/qpainterwrapper_8h.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Olive: io/qpainterwrapper.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    qpainterwrapper.h File Reference
    -
    -
    -
    #include <QObject>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  QPainterWrapper
     
    - - - -

    -Variables

    QPainterWrapper painter_wrapper
     
    -

    Variable Documentation

    - -

    ◆ painter_wrapper

    - -
    -
    - - - - -
    QPainterWrapper painter_wrapper
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/qpainterwrapper_8h_source.html b/docs/html/qpainterwrapper_8h_source.html deleted file mode 100644 index 55b0fe7ef..000000000 --- a/docs/html/qpainterwrapper_8h_source.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: io/qpainterwrapper.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    qpainterwrapper.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef QPAINTERWRAPPER_H
    22 #define QPAINTERWRAPPER_H
    23 
    24 #include <QObject>
    25 
    26 class QPainter;
    27 
    28 class QPainterWrapper : public QObject {
    29  Q_OBJECT
    30 public:
    32  QImage* img;
    33  QPainter* painter;
    34 public slots:
    35  void fill(const QString& color);
    36  void fillRect(int x, int y, int width, int height, const QString& brush);
    37  void drawRect(int x, int y, int width, int height);
    38  void setPen(const QString& pen);
    39  void setBrush(const QString& brush);
    40 };
    41 
    43 
    44 #endif // QPAINTERWRAPPER_H
    Definition: qpainterwrapper.h:28
    -
    QImage * img
    Definition: qpainterwrapper.h:32
    -
    void setPen(const QString &pen)
    Definition: qpainterwrapper.cpp:57
    -
    QPainterWrapper painter_wrapper
    Definition: qpainterwrapper.cpp:28
    -
    void drawRect(int x, int y, int width, int height)
    Definition: qpainterwrapper.cpp:53
    -
    QPainter * painter
    Definition: qpainterwrapper.h:33
    -
    QPainterWrapper()
    Definition: qpainterwrapper.cpp:30
    -
    void fillRect(int x, int y, int width, int height, const QString &brush)
    Definition: qpainterwrapper.cpp:49
    -
    void setBrush(const QString &brush)
    Definition: qpainterwrapper.cpp:61
    -
    void fill(const QString &color)
    Definition: qpainterwrapper.cpp:45
    -
    - - - - diff --git a/docs/html/rectangleselect_8cpp.html b/docs/html/rectangleselect_8cpp.html deleted file mode 100644 index a373812bc..000000000 --- a/docs/html/rectangleselect_8cpp.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - -Olive: ui/rectangleselect.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    rectangleselect.cpp File Reference
    -
    -
    -
    #include "rectangleselect.h"
    -
    - - - - -

    -Functions

    void draw_selection_rectangle (QPainter &painter, const QRect &rect)
     Routine for drawing a drag selection rectangle for any given QPainter. More...
     
    -

    Function Documentation

    - -

    ◆ draw_selection_rectangle()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void draw_selection_rectangle (QPainter & painter,
    const QRect & rect 
    )
    -
    - -

    Routine for drawing a drag selection rectangle for any given QPainter.

    -
    Parameters
    - - - -
    painterQPainter object to use for drawing
    rectRectangle to draw
    -
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/rectangleselect_8h.html b/docs/html/rectangleselect_8h.html deleted file mode 100644 index bfd098fa1..000000000 --- a/docs/html/rectangleselect_8h.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Olive: ui/rectangleselect.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    rectangleselect.h File Reference
    -
    -
    -
    #include <QPainter>
    -
    -

    Go to the source code of this file.

    - - - - - -

    -Functions

    void draw_selection_rectangle (QPainter &painter, const QRect &rect)
     Routine for drawing a drag selection rectangle for any given QPainter. More...
     
    -

    Function Documentation

    - -

    ◆ draw_selection_rectangle()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void draw_selection_rectangle (QPainter & painter,
    const QRect & rect 
    )
    -
    - -

    Routine for drawing a drag selection rectangle for any given QPainter.

    -
    Parameters
    - - - -
    painterQPainter object to use for drawing
    rectRectangle to draw
    -
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/rectangleselect_8h_source.html b/docs/html/rectangleselect_8h_source.html deleted file mode 100644 index a79dc3dd7..000000000 --- a/docs/html/rectangleselect_8h_source.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: ui/rectangleselect.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    rectangleselect.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef RECTANGLESELECT_H
    22 #define RECTANGLESELECT_H
    23 
    24 #include <QPainter>
    25 
    37 void draw_selection_rectangle(QPainter& painter, const QRect& rect);
    38 
    39 #endif // RECTANGLESELECT_H
    void draw_selection_rectangle(QPainter &painter, const QRect &rect)
    Routine for drawing a drag selection rectangle for any given QPainter.
    Definition: rectangleselect.cpp:23
    -
    - - - - diff --git a/docs/html/renderfunctions_8cpp.html b/docs/html/renderfunctions_8cpp.html deleted file mode 100644 index 498ddf1ba..000000000 --- a/docs/html/renderfunctions_8cpp.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - -Olive: ui/renderfunctions.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    renderfunctions.cpp File Reference
    -
    -
    -
    #include "renderfunctions.h"
    -#include <QOpenGLFramebufferObject>
    -#include <QApplication>
    -#include <QDesktopWidget>
    -#include <QDebug>
    -#include "project/clip.h"
    -#include "project/sequence.h"
    -#include "project/media.h"
    -#include "project/effect.h"
    -#include "project/footage.h"
    -#include "project/transition.h"
    -#include "ui/collapsiblewidget.h"
    -#include "playback/audio.h"
    -#include "playback/playback.h"
    -#include "io/math.h"
    -#include "io/config.h"
    -#include "panels/timeline.h"
    -#include "panels/viewer.h"
    -#include <libavformat/avformat.h>
    -
    - - - - - - - - - - - - - - - -

    -Functions

    void full_blit ()
     
    void draw_clip (QOpenGLContext *ctx, GLuint fbo, GLuint texture, bool clear)
     
    GLuint draw_clip (QOpenGLFramebufferObject *fbo, GLuint texture, bool clear)
     
    void process_effect (ClipPtr c, EffectPtr e, double timecode, GLTextureCoords &coords, GLuint &composite_texture, bool &fbo_switcher, bool &texture_failed, int data)
     
    GLuint compose_sequence (ComposeSequenceParams &params)
     Compose a frame of a given sequence. More...
     
    void compose_audio (Viewer *viewer, SequencePtr seq, int playback_speed)
     Convenience wrapper function for compose_sequence() to render audio. More...
     
    -

    Function Documentation

    - -

    ◆ compose_audio()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void compose_audio (Viewerviewer,
    SequencePtr seq,
    int playback_speed 
    )
    -
    - -

    Convenience wrapper function for compose_sequence() to render audio.

    -

    Much of the functionality provided (and parameters required) by compose_sequence() is only useful/necessary for video rendering. For audio rendering, this function is easier to handle and will correctly set up compose_sequence() to render audio without the cumbersome effort of setting up a ComposeSequenceParams object.

    -
    Parameters
    - - - - -
    viewerThe Viewer object calling this function
    seqThe Sequence whose audio to render.
    playback_speedThe current playback speed (controlled by Shuttle Left/Right)
    -
    -
    - -
    -
    - -

    ◆ compose_sequence()

    - -
    -
    - - - - - - - - -
    GLuint compose_sequence (ComposeSequenceParamsparams)
    -
    - -

    Compose a frame of a given sequence.

    -

    For any given Sequence, this function will render the current frame indicated by Sequence::playhead. Will automatically open and close clips (memory allocation and file handles) as necessary, communicate with the Clip::cacher objects to retrieve upcoming frames and store them in memory, run Effect processing functions, and finally composite all the currently active clips together into a final texture.

    -

    Will sometimes render a frame incomplete or inaccurately, e.g. if a video file hadn't finished opening by the time of the render or a clip's cacher didn't have the requested frame available at the time of the render. If so, the texture_failed variable of params will be set to TRUE. Check this after calling compose_sequence() and if it is TRUE, compose_sequence() should be called again later to attempt another render (unless the Sequence is being played, in which case just play the next frame rather than redrawing an old frame).

    -
    Parameters
    - - -
    paramsA struct of parameters to use while rendering.
    -
    -
    -
    Returns
    A reference to the OpenGL texture resulting from the render. Will usually be equal to ComposeSequenceParams::main_attachment unless it's rendering a nested sequence, in which case it'll be a reference to one of the textures referenced by Clip::fbo. Can be used directly to draw the rendered frame.
    - -
    -
    - -

    ◆ draw_clip() [1/2]

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void draw_clip (QOpenGLContext * ctx,
    GLuint fbo,
    GLuint texture,
    bool clear 
    )
    -
    - -
    -
    - -

    ◆ draw_clip() [2/2]

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    GLuint draw_clip (QOpenGLFramebufferObject * fbo,
    GLuint texture,
    bool clear 
    )
    -
    - -
    -
    - -

    ◆ full_blit()

    - -
    -
    - - - - - - - -
    void full_blit ()
    -
    - -
    -
    - -

    ◆ process_effect()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void process_effect (ClipPtr c,
    EffectPtr e,
    double timecode,
    GLTextureCoordscoords,
    GLuint & composite_texture,
    bool & fbo_switcher,
    bool & texture_failed,
    int data 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/renderfunctions_8h.html b/docs/html/renderfunctions_8h.html deleted file mode 100644 index 100d0088c..000000000 --- a/docs/html/renderfunctions_8h.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - -Olive: ui/renderfunctions.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    renderfunctions.h File Reference
    -
    -
    -
    #include <QOpenGLContext>
    -#include <QVector>
    -#include <QOpenGLShaderProgram>
    -#include "project/sequence.h"
    -#include "project/effect.h"
    -#include "panels/viewer.h"
    -
    -

    Go to the source code of this file.

    - - - - - -

    -Classes

    struct  ComposeSequenceParams
     The ComposeSequenceParams struct. More...
     
    - - - - - - - -

    -Functions

    GLuint compose_sequence (ComposeSequenceParams &params)
     Compose a frame of a given sequence. More...
     
    void compose_audio (Viewer *viewer, SequencePtr seq, int playback_speed)
     Convenience wrapper function for compose_sequence() to render audio. More...
     
    -

    Function Documentation

    - -

    ◆ compose_audio()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void compose_audio (Viewerviewer,
    SequencePtr seq,
    int playback_speed 
    )
    -
    - -

    Convenience wrapper function for compose_sequence() to render audio.

    -

    Much of the functionality provided (and parameters required) by compose_sequence() is only useful/necessary for video rendering. For audio rendering, this function is easier to handle and will correctly set up compose_sequence() to render audio without the cumbersome effort of setting up a ComposeSequenceParams object.

    -
    Parameters
    - - - - -
    viewerThe Viewer object calling this function
    seqThe Sequence whose audio to render.
    playback_speedThe current playback speed (controlled by Shuttle Left/Right)
    -
    -
    - -
    -
    - -

    ◆ compose_sequence()

    - -
    -
    - - - - - - - - -
    GLuint compose_sequence (ComposeSequenceParamsparams)
    -
    - -

    Compose a frame of a given sequence.

    -

    For any given Sequence, this function will render the current frame indicated by Sequence::playhead. Will automatically open and close clips (memory allocation and file handles) as necessary, communicate with the Clip::cacher objects to retrieve upcoming frames and store them in memory, run Effect processing functions, and finally composite all the currently active clips together into a final texture.

    -

    Will sometimes render a frame incomplete or inaccurately, e.g. if a video file hadn't finished opening by the time of the render or a clip's cacher didn't have the requested frame available at the time of the render. If so, the texture_failed variable of params will be set to TRUE. Check this after calling compose_sequence() and if it is TRUE, compose_sequence() should be called again later to attempt another render (unless the Sequence is being played, in which case just play the next frame rather than redrawing an old frame).

    -
    Parameters
    - - -
    paramsA struct of parameters to use while rendering.
    -
    -
    -
    Returns
    A reference to the OpenGL texture resulting from the render. Will usually be equal to ComposeSequenceParams::main_attachment unless it's rendering a nested sequence, in which case it'll be a reference to one of the textures referenced by Clip::fbo. Can be used directly to draw the rendered frame.
    - -
    -
    -
    - - - - diff --git a/docs/html/renderfunctions_8h_source.html b/docs/html/renderfunctions_8h_source.html deleted file mode 100644 index ff2357890..000000000 --- a/docs/html/renderfunctions_8h_source.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Olive: ui/renderfunctions.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    renderfunctions.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef RENDERFUNCTIONS_H
    22 #define RENDERFUNCTIONS_H
    23 
    24 #include <QOpenGLContext>
    25 #include <QVector>
    26 #include <QOpenGLShaderProgram>
    27 
    28 #include "project/sequence.h"
    29 #include "project/effect.h"
    30 
    31 #include "panels/viewer.h"
    32 
    39 
    46 
    54  QOpenGLContext* ctx;
    55 
    63 
    70  QVector<ClipPtr> nests;
    71 
    77  bool video;
    78 
    86 
    108 
    124 
    133 
    145  QOpenGLShaderProgram* blend_mode_program;
    146 
    157  QOpenGLShaderProgram* premultiply_program;
    158 
    166  GLuint main_buffer;
    167 
    176 
    184 
    192 
    200 
    208 
    212  QOpenGLShaderProgram* ocio_shader;
    213 
    218 };
    219 
    243 
    263 void compose_audio(Viewer* viewer, SequencePtr seq, int playback_speed);
    264 
    265 #endif // RENDERFUNCTIONS_H
    QOpenGLShaderProgram * ocio_shader
    OpenGL shader containing OpenColorIO shader information.
    Definition: renderfunctions.h:212
    -
    QOpenGLShaderProgram * premultiply_program
    Premultiply alpha shader.
    Definition: renderfunctions.h:157
    -
    The ComposeSequenceParams struct.
    Definition: renderfunctions.h:38
    -
    GLuint compose_sequence(ComposeSequenceParams &params)
    Compose a frame of a given sequence.
    Definition: renderfunctions.cpp:151
    - -
    GLuint backend_buffer2
    Backend OpenGL framebuffer 2 used for further processing before rendering to main_buffer.
    Definition: renderfunctions.h:199
    -
    GLuint backend_buffer1
    Backend OpenGL framebuffer 1 used for further processing before rendering to main_buffer.
    Definition: renderfunctions.h:183
    - -
    bool texture_failed
    A variable that compose_sequence() will set to TRUE if any of the clips couldn't be shown.
    Definition: renderfunctions.h:107
    - -
    QVector< ClipPtr > nests
    Array to store the nested sequence hierarchy.
    Definition: renderfunctions.h:70
    -
    GLuint ocio_lut_texture
    OpenGL texture containing LUT obtained form OpenColorIO.
    Definition: renderfunctions.h:217
    -
    bool video
    Set compose mode to video or audio.
    Definition: renderfunctions.h:77
    -
    GLuint main_attachment
    The attachment to the framebuffer in main_buffer.
    Definition: renderfunctions.h:175
    -
    Viewer * viewer
    Reference to the Viewer class that's calling compose_sequence()
    Definition: renderfunctions.h:45
    -
    std::shared_ptr< Sequence > SequencePtr
    Definition: clip.h:48
    -
    EffectPtr * gizmos
    Set to the Effect whose gizmos were chosen to be drawn on screen.
    Definition: renderfunctions.h:85
    -
    GLuint main_buffer
    The OpenGL framebuffer object that the final texture to be shown is rendered to.
    Definition: renderfunctions.h:166
    -
    QOpenGLShaderProgram * blend_mode_program
    Blending mode shader.
    Definition: renderfunctions.h:145
    -
    int playback_speed
    Set the current playback speed (adjusted with Shuttle Left/Right)
    Definition: renderfunctions.h:132
    -
    GLuint backend_attachment2
    Backend OpenGL framebuffer 2's texture attachment.
    Definition: renderfunctions.h:207
    -
    SequencePtr seq
    The sequence to compose.
    Definition: renderfunctions.h:62
    -
    std::shared_ptr< Effect > EffectPtr
    Definition: effect.h:48
    -
    Definition: viewer.h:43
    -
    QOpenGLContext * ctx
    The OpenGL context to use while rendering.
    Definition: renderfunctions.h:54
    -
    GLuint backend_attachment1
    Backend OpenGL framebuffer 1's texture attachment.
    Definition: renderfunctions.h:191
    -
    void compose_audio(Viewer *viewer, SequencePtr seq, int playback_speed)
    Convenience wrapper function for compose_sequence() to render audio.
    Definition: renderfunctions.cpp:639
    -
    bool single_threaded
    Run all cachers in the same thread that compose_sequence() is in.
    Definition: renderfunctions.h:123
    -
    - - - - diff --git a/docs/html/renderthread_8cpp.html b/docs/html/renderthread_8cpp.html deleted file mode 100644 index 0b8533fbe..000000000 --- a/docs/html/renderthread_8cpp.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: ui/renderthread.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    renderthread.cpp File Reference
    -
    -
    -
    #include "renderthread.h"
    -#include <QApplication>
    -#include <QImage>
    -#include <QOpenGLFunctions>
    -#include <QDebug>
    -#include "ui/renderfunctions.h"
    -#include "playback/playback.h"
    -#include "project/sequence.h"
    -
    - - - - diff --git a/docs/html/renderthread_8h.html b/docs/html/renderthread_8h.html deleted file mode 100644 index 16007bbb2..000000000 --- a/docs/html/renderthread_8h.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - -Olive: ui/renderthread.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    renderthread.h File Reference
    -
    -
    -
    #include <QThread>
    -#include <QMutex>
    -#include <QWaitCondition>
    -#include <QOffscreenSurface>
    -#include <QOpenGLContext>
    -#include <QOpenGLFramebufferObject>
    -#include <QOpenGLShaderProgram>
    -#include "project/sequence.h"
    -#include "project/effect.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  RenderThread
     
    - - - - - -

    -Variables

    const int LUT3D_EDGE_SIZE = 32
     
    const int NUM_3D_ENTRIES = 98304
     
    -

    Variable Documentation

    - -

    ◆ LUT3D_EDGE_SIZE

    - -
    -
    - - - - -
    const int LUT3D_EDGE_SIZE = 32
    -
    - -
    -
    - -

    ◆ NUM_3D_ENTRIES

    - -
    -
    - - - - -
    const int NUM_3D_ENTRIES = 98304
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/renderthread_8h_source.html b/docs/html/renderthread_8h_source.html deleted file mode 100644 index 5dca046cf..000000000 --- a/docs/html/renderthread_8h_source.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Olive: ui/renderthread.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    renderthread.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef RENDERTHREAD_H
    22 #define RENDERTHREAD_H
    23 
    24 #include <QThread>
    25 #include <QMutex>
    26 #include <QWaitCondition>
    27 #include <QOffscreenSurface>
    28 #include <QOpenGLContext>
    29 #include <QOpenGLFramebufferObject>
    30 #include <QOpenGLShaderProgram>
    31 
    32 #include "project/sequence.h"
    33 #include "project/effect.h"
    34 
    35 // copied from source code to OCIODisplay
    36 const int LUT3D_EDGE_SIZE = 32;
    37 
    38 // copied from source code to OCIODisplay, expanded from 3*LUT3D_EDGE_SIZE*LUT3D_EDGE_SIZE*LUT3D_EDGE_SIZE
    39 const int NUM_3D_ENTRIES = 98304;
    40 
    41 class RenderThread : public QThread {
    42  Q_OBJECT
    43 public:
    44  RenderThread();
    45  ~RenderThread();
    46  void run();
    47  QMutex mutex;
    48  GLuint front_buffer;
    49  GLuint front_texture;
    51  void paint();
    52  void start_render(QOpenGLContext* share, SequencePtr s, const QString &save = nullptr, GLvoid *pixels = nullptr, int pixel_linesize = 0, int idivider = 0);
    53  bool did_texture_fail();
    54  void cancel();
    55 
    56 public slots:
    57  // cleanup functions
    58  void delete_ctx();
    59 signals:
    60  void ready();
    61 private:
    62  // cleanup functions
    63  void delete_texture();
    64  void delete_fbo();
    65  void delete_shader_program();
    66 
    67  QWaitCondition waitCond;
    68  QOffscreenSurface surface;
    69  QOpenGLContext* share_ctx;
    70  QOpenGLContext* ctx;
    71  QOpenGLShaderProgram* blend_mode_program;
    72  QOpenGLShaderProgram* premultiply_program;
    73 
    74  GLuint back_buffer_1;
    75  GLuint back_buffer_2;
    78 
    80 
    82  int divider;
    83  int tex_width;
    85  bool queued;
    87  bool running;
    88  QString save_fn;
    89  GLvoid *pixel_buffer;
    91 };
    92 
    93 #endif // RENDERTHREAD_H
    void run()
    Definition: renderthread.cpp:54
    -
    void delete_shader_program()
    Definition: renderthread.cpp:295
    -
    void delete_ctx()
    Definition: renderthread.cpp:304
    -
    GLuint front_texture
    Definition: renderthread.h:49
    -
    ~RenderThread()
    Definition: renderthread.cpp:50
    - -
    void start_render(QOpenGLContext *share, SequencePtr s, const QString &save=nullptr, GLvoid *pixels=nullptr, int pixel_linesize=0, int idivider=0)
    Definition: renderthread.cpp:238
    -
    QOpenGLShaderProgram * premultiply_program
    Definition: renderthread.h:72
    -
    GLuint front_buffer
    Definition: renderthread.h:48
    -
    QOpenGLShaderProgram * blend_mode_program
    Definition: renderthread.h:71
    - -
    QOpenGLContext * share_ctx
    Definition: renderthread.h:69
    -
    void cancel()
    Definition: renderthread.cpp:269
    -
    int pixel_buffer_linesize
    Definition: renderthread.h:90
    -
    bool texture_failed
    Definition: renderthread.h:86
    -
    void paint()
    Definition: renderthread.cpp:164
    -
    QOffscreenSurface surface
    Definition: renderthread.h:68
    -
    QWaitCondition waitCond
    Definition: renderthread.h:67
    -
    SequencePtr seq
    Definition: renderthread.h:81
    - -
    GLuint back_texture_1
    Definition: renderthread.h:76
    -
    GLuint back_texture_2
    Definition: renderthread.h:77
    -
    void delete_fbo()
    Definition: renderthread.cpp:285
    -
    RenderThread()
    Definition: renderthread.cpp:32
    -
    EffectPtr gizmos
    Definition: renderthread.h:50
    -
    bool running
    Definition: renderthread.h:87
    -
    GLuint back_buffer_1
    Definition: renderthread.h:74
    -
    QMutex mutex
    Definition: renderthread.h:47
    -
    GLvoid * pixel_buffer
    Definition: renderthread.h:89
    -
    int divider
    Definition: renderthread.h:82
    -
    std::shared_ptr< Sequence > SequencePtr
    Definition: clip.h:48
    -
    int tex_width
    Definition: renderthread.h:83
    -
    void delete_texture()
    Definition: renderthread.cpp:275
    -
    const int NUM_3D_ENTRIES
    Definition: renderthread.h:39
    -
    const int LUT3D_EDGE_SIZE
    Definition: renderthread.h:36
    -
    std::shared_ptr< Effect > EffectPtr
    Definition: effect.h:48
    -
    bool queued
    Definition: renderthread.h:85
    -
    int tex_height
    Definition: renderthread.h:84
    -
    GLuint back_buffer_2
    Definition: renderthread.h:75
    -
    Definition: renderthread.h:41
    -
    QOpenGLContext * ctx
    Definition: renderthread.h:70
    -
    float ocio_lut_data[NUM_3D_ENTRIES]
    Definition: renderthread.h:79
    -
    QString save_fn
    Definition: renderthread.h:88
    -
    bool did_texture_fail()
    Definition: renderthread.cpp:265
    -
    - - - - diff --git a/docs/html/replaceclipmediadialog_8cpp.html b/docs/html/replaceclipmediadialog_8cpp.html deleted file mode 100644 index 299c3b684..000000000 --- a/docs/html/replaceclipmediadialog_8cpp.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: dialogs/replaceclipmediadialog.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    replaceclipmediadialog.cpp File Reference
    -
    -
    -
    #include "replaceclipmediadialog.h"
    -#include "panels/panels.h"
    -#include "playback/playback.h"
    -#include "playback/cacher.h"
    -#include "project/undo.h"
    -#include <QVBoxLayout>
    -#include <QLabel>
    -#include <QPushButton>
    -#include <QMessageBox>
    -
    - - - - diff --git a/docs/html/replaceclipmediadialog_8h.html b/docs/html/replaceclipmediadialog_8h.html deleted file mode 100644 index b3e8623d5..000000000 --- a/docs/html/replaceclipmediadialog_8h.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Olive: dialogs/replaceclipmediadialog.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    replaceclipmediadialog.h File Reference
    -
    -
    -
    #include <QDialog>
    -#include <QTreeView>
    -#include <QCheckBox>
    -#include "ui/sourcetable.h"
    -#include "project/projectelements.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  ReplaceClipMediaDialog
     
    -
    - - - - diff --git a/docs/html/replaceclipmediadialog_8h_source.html b/docs/html/replaceclipmediadialog_8h_source.html deleted file mode 100644 index b7d1932eb..000000000 --- a/docs/html/replaceclipmediadialog_8h_source.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: dialogs/replaceclipmediadialog.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    replaceclipmediadialog.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef REPLACECLIPMEDIADIALOG_H
    22 #define REPLACECLIPMEDIADIALOG_H
    23 
    24 #include <QDialog>
    25 #include <QTreeView>
    26 #include <QCheckBox>
    27 
    28 #include "ui/sourcetable.h"
    30 
    31 class ReplaceClipMediaDialog : public QDialog {
    32  Q_OBJECT
    33 public:
    34  ReplaceClipMediaDialog(QWidget* parent, Media* old_media);
    35 private slots:
    36  void replace();
    37 private:
    39  QTreeView* tree;
    41 };
    42 
    43 #endif // REPLACECLIPMEDIADIALOG_H
    QCheckBox * use_same_media_in_points
    Definition: replaceclipmediadialog.h:40
    - - -
    Definition: media.h:42
    -
    QTreeView * tree
    Definition: replaceclipmediadialog.h:39
    -
    void replace()
    Definition: replaceclipmediadialog.cpp:73
    -
    Media * media
    Definition: replaceclipmediadialog.h:38
    -
    ReplaceClipMediaDialog(QWidget *parent, Media *old_media)
    Definition: replaceclipmediadialog.cpp:34
    -
    Definition: replaceclipmediadialog.h:31
    -
    - - - - diff --git a/docs/html/resizablescrollbar_8cpp.html b/docs/html/resizablescrollbar_8cpp.html deleted file mode 100644 index 12d0ab190..000000000 --- a/docs/html/resizablescrollbar_8cpp.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Olive: ui/resizablescrollbar.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    resizablescrollbar.cpp File Reference
    -
    -
    -
    #include "resizablescrollbar.h"
    -#include <QMouseEvent>
    -#include <QStyle>
    -#include <QStyleOptionSlider>
    -#include "debug.h"
    -
    - - - -

    -Macros

    #define RESIZE_HANDLE_SIZE   10
     
    -

    Macro Definition Documentation

    - -

    ◆ RESIZE_HANDLE_SIZE

    - -
    -
    - - - - -
    #define RESIZE_HANDLE_SIZE   10
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/resizablescrollbar_8h.html b/docs/html/resizablescrollbar_8h.html deleted file mode 100644 index e5bfac6cc..000000000 --- a/docs/html/resizablescrollbar_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/resizablescrollbar.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    resizablescrollbar.h File Reference
    -
    -
    -
    #include <QScrollBar>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  ResizableScrollBar
     
    -
    - - - - diff --git a/docs/html/resizablescrollbar_8h_source.html b/docs/html/resizablescrollbar_8h_source.html deleted file mode 100644 index 61fb33e9c..000000000 --- a/docs/html/resizablescrollbar_8h_source.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: ui/resizablescrollbar.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    resizablescrollbar.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef RESIZABLESCROLLBAR_H
    22 #define RESIZABLESCROLLBAR_H
    23 
    24 #include <QScrollBar>
    25 
    26 class ResizableScrollBar : public QScrollBar
    27 {
    28  Q_OBJECT
    29 public:
    30  ResizableScrollBar(QWidget * parent = 0);
    31  bool is_resizing();
    32 signals:
    33  void resize_move(double i);
    34 protected:
    35  void resizeEvent(QResizeEvent *event) override;
    36  void mousePressEvent(QMouseEvent *) override;
    37  void mouseMoveEvent(QMouseEvent *) override;
    38  void mouseReleaseEvent(QMouseEvent *) override;
    39 private:
    43  bool resize_top;
    44 
    47 };
    48 
    49 #endif // RESIZABLESCROLLBAR_H
    ResizableScrollBar(QWidget *parent=0)
    Definition: resizablescrollbar.cpp:31
    -
    bool resize_top
    Definition: resizablescrollbar.h:43
    -
    void mouseReleaseEvent(QMouseEvent *) override
    Definition: resizablescrollbar.cpp:120
    -
    int resize_start
    Definition: resizablescrollbar.h:42
    -
    bool resize_init
    Definition: resizablescrollbar.h:40
    -
    void resize_move(double i)
    -
    void mouseMoveEvent(QMouseEvent *) override
    Definition: resizablescrollbar.cpp:67
    -
    bool is_resizing()
    Definition: resizablescrollbar.cpp:41
    -
    void mousePressEvent(QMouseEvent *) override
    Definition: resizablescrollbar.cpp:49
    -
    int resize_start_width
    Definition: resizablescrollbar.h:46
    -
    Definition: resizablescrollbar.h:26
    -
    bool resize_proc
    Definition: resizablescrollbar.h:41
    -
    int resize_start_max
    Definition: resizablescrollbar.h:45
    -
    void resizeEvent(QResizeEvent *event) override
    Definition: resizablescrollbar.cpp:45
    -
    - - - - diff --git a/docs/html/scrollarea_8cpp.html b/docs/html/scrollarea_8cpp.html deleted file mode 100644 index 2c7604103..000000000 --- a/docs/html/scrollarea_8cpp.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: ui/scrollarea.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    scrollarea.cpp File Reference
    -
    -
    -
    #include "scrollarea.h"
    -#include <QWheelEvent>
    -#include <QDebug>
    -#include "io/config.h"
    -#include "panels/panels.h"
    -#include "panels/timeline.h"
    -
    - - - - diff --git a/docs/html/scrollarea_8h.html b/docs/html/scrollarea_8h.html deleted file mode 100644 index fbcb7d691..000000000 --- a/docs/html/scrollarea_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/scrollarea.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    scrollarea.h File Reference
    -
    -
    -
    #include <QScrollArea>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  ScrollArea
     
    -
    - - - - diff --git a/docs/html/scrollarea_8h_source.html b/docs/html/scrollarea_8h_source.html deleted file mode 100644 index 127f71f27..000000000 --- a/docs/html/scrollarea_8h_source.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: ui/scrollarea.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    scrollarea.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef SCROLLAREA_H
    22 #define SCROLLAREA_H
    23 
    24 #include <QScrollArea>
    25 
    26 class ScrollArea : public QScrollArea
    27 {
    28 public:
    29  ScrollArea(QWidget* parent = 0);
    30  void wheelEvent(QWheelEvent *);
    31 };
    32 
    33 #endif // SCROLLAREA_H
    Definition: scrollarea.h:26
    -
    ScrollArea(QWidget *parent=0)
    Definition: scrollarea.cpp:30
    -
    void wheelEvent(QWheelEvent *)
    Definition: scrollarea.cpp:32
    -
    - - - - diff --git a/docs/html/search/all_0.html b/docs/html/search/all_0.html deleted file mode 100644 index 5330204c2..000000000 --- a/docs/html/search/all_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_0.js b/docs/html/search/all_0.js deleted file mode 100644 index 024724f9e..000000000 --- a/docs/html/search/all_0.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['_5faeffect',['_AEffect',['../struct___a_effect.html',1,'']]], - ['_5fvstevent',['_VstEvent',['../struct___vst_event.html',1,'']]], - ['_5fvstevents',['_VstEvents',['../struct___vst_events.html',1,'']]], - ['_5fvstmidievent',['_VstMidiEvent',['../struct___vst_midi_event.html',1,'']]], - ['_5fvstparameterproperties',['_VstParameterProperties',['../struct___vst_parameter_properties.html',1,'']]], - ['_5fvsttimeinfo',['_VstTimeInfo',['../struct___vst_time_info.html',1,'']]] -]; diff --git a/docs/html/search/all_1.html b/docs/html/search/all_1.html deleted file mode 100644 index 2f4679366..000000000 --- a/docs/html/search/all_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_1.js b/docs/html/search/all_1.js deleted file mode 100644 index 98480b2e6..000000000 --- a/docs/html/search/all_1.js +++ /dev/null @@ -1,188 +0,0 @@ -var searchData= -[ - ['aboutdialog',['AboutDialog',['../class_about_dialog.html',1,'AboutDialog'],['../class_about_dialog.html#ad96fc2ce8de7568ace543b7c69c71c56',1,'AboutDialog::AboutDialog()']]], - ['aboutdialog_2ecpp',['aboutdialog.cpp',['../aboutdialog_8cpp.html',1,'']]], - ['aboutdialog_2eh',['aboutdialog.h',['../aboutdialog_8h.html',1,'']]], - ['accept',['accept',['../class_advanced_video_dialog.html#af62fa0de930dcb29b24861bf59a58a5d',1,'AdvancedVideoDialog::accept()'],['../class_media_properties_dialog.html#a20093f2da0e6b62db871b9ed3b859afa',1,'MediaPropertiesDialog::accept()'],['../class_proxy_dialog.html#a9cd8daa76c79093e847b06c799928570',1,'ProxyDialog::accept()'],['../class_speed_dialog.html#a7aa5ad3688712741d0fc9b1faaaac7d8',1,'SpeedDialog::accept()']]], - ['accurateseekbutton',['accurateSeekButton',['../class_preferences_dialog.html#a522be03f55f4de4d17e6dd3e8047821b',1,'PreferencesDialog']]], - ['acodec',['acodec',['../class_export_thread.html#a7f607ef8f98dcd1d1f82b137f5eeb452',1,'ExportThread']]], - ['acodec_5fctx',['acodec_ctx',['../class_export_thread.html#a1db01ab51fa1eea910eb4a013713d0ad',1,'ExportThread']]], - ['acodeccombobox',['acodecCombobox',['../class_export_dialog.html#a741de75c8caee59d684609b0848ebb6e',1,'ExportDialog']]], - ['acontainer',['acontainer',['../class_effect_controls.html#a96d7b0e34e0bf3da3546c0871d79f860',1,'EffectControls']]], - ['action',['action',['../class_key_sequence_editor.html#ac3c458013e80c5d2065af0dbe1b44ab2',1,'KeySequenceEditor']]], - ['action_5fname',['action_name',['../class_key_sequence_editor.html#a8c4fbd539576482e9e9476571e499912',1,'KeySequenceEditor']]], - ['actionsearch',['ActionSearch',['../class_action_search.html',1,'ActionSearch'],['../class_action_search.html#ab62e205ffd6ba4d85e4b297f2f59bc73',1,'ActionSearch::ActionSearch()']]], - ['actionsearch_2ecpp',['actionsearch.cpp',['../actionsearch_8cpp.html',1,'']]], - ['actionsearch_2eh',['actionsearch.h',['../actionsearch_8h.html',1,'']]], - ['actionsearchentry',['ActionSearchEntry',['../class_action_search_entry.html',1,'ActionSearchEntry'],['../class_action_search_entry.html#a05b453b8333db8a3b32f5c8c1cb0cf10',1,'ActionSearchEntry::ActionSearchEntry()']]], - ['actionsearchlist',['ActionSearchList',['../class_action_search_list.html',1,'ActionSearchList'],['../class_action_search_list.html#afb635f9441a75248e0cac042720dacff',1,'ActionSearchList::ActionSearchList()']]], - ['active_5farray',['active_array',['../class_add_marker_action.html#a8a5db4dab46616337bed143d02f76343',1,'AddMarkerAction::active_array()'],['../class_delete_marker_action.html#a4af0c38848c4a35f4f5faa29f0f8fbed',1,'DeleteMarkerAction::active_array()']]], - ['activeprojectfilename',['ActiveProjectFilename',['../namespaceolive.html#ad9f6288bdf591993bd0754a5cf750d36',1,'olive']]], - ['activesequence',['ActiveSequence',['../namespaceolive.html#ae3a6d85e10b5c40dc6372ae794585cff',1,'olive']]], - ['add_5fbtn_5fclick',['add_btn_click',['../class_timeline.html#ae9cc4f482e2b061bc2659b200f018d5c',1,'Timeline']]], - ['add_5fclips_5ffrom_5fghosts',['add_clips_from_ghosts',['../class_timeline.html#a45c72c51a0dfb5bba5ec22b855d6ca17',1,'Timeline']]], - ['add_5fcodec_5fto_5fcombobox',['add_codec_to_combobox',['../class_export_dialog.html#acb420605d32cfeb38119a5c15c25915a',1,'ExportDialog']]], - ['add_5fcombo_5fitem',['add_combo_item',['../class_effect_field.html#a7a0292829ec456a702c953bf1fbd3c50',1,'EffectField']]], - ['add_5fdefault_5feffects_5fto_5fclips',['add_default_effects_to_clips',['../class_preferences_dialog.html#a29e9d9251c1c18b812afea5c24256fb9',1,'PreferencesDialog::add_default_effects_to_clips()'],['../struct_config.html#a71845f6b9fb0c41620f6dcb50887b71f',1,'Config::add_default_effects_to_clips()']]], - ['add_5feffect_5fpaste_5faction',['add_effect_paste_action',['../class_effect_controls.html#a91ed23f43cfa95505ec9fdfc4d2f5654',1,'EffectControls']]], - ['add_5ffield',['add_field',['../class_effect_row.html#ac5330bb4d1ae02e23235a5b47d4f9caa',1,'EffectRow']]], - ['add_5fgizmo',['add_gizmo',['../class_effect.html#ab6fd23ae16230595f63e00b94158764e',1,'Effect']]], - ['add_5fmenu_5fitem',['add_menu_item',['../class_timeline.html#a67ad5d65fb15a6e885724af148be006b',1,'Timeline']]], - ['add_5fobj_5faudio',['ADD_OBJ_AUDIO',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3ba0cadaec2eb6bd27baafa0b3c9246f54b',1,'timeline.h']]], - ['add_5fobj_5fbars',['ADD_OBJ_BARS',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3ba360025c6230de29eb93ae709ba14d9bd',1,'timeline.h']]], - ['add_5fobj_5fnoise',['ADD_OBJ_NOISE',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3babf84b54616e2e096a7a27ddc0570015a',1,'timeline.h']]], - ['add_5fobj_5fsolid',['ADD_OBJ_SOLID',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3ba6d46fe88db8aa90bf252b502c90dc4af',1,'timeline.h']]], - ['add_5fobj_5ftitle',['ADD_OBJ_TITLE',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3baee555361fbe7f598ad6befa4b5e5da40',1,'timeline.h']]], - ['add_5fobj_5ftone',['ADD_OBJ_TONE',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3bae93343a2d326effea464997b5b9111b7',1,'timeline.h']]], - ['add_5frecent_5fproject',['add_recent_project',['../class_project.html#aa3781cbe800f01ef02d0c3045562a3b0',1,'Project']]], - ['add_5frow',['add_row',['../class_effect.html#a709c3ae69fd83451551a2dc73b6c8639',1,'Effect']]], - ['add_5ftransition',['add_transition',['../class_timeline.html#a75c07b4a600cc2a436ccfe8ea12b249a',1,'Timeline']]], - ['add_5fwidget',['add_widget',['../class_effect_row.html#abab1b1a09526841772c8ff9e6bbc5d04',1,'EffectRow']]], - ['addbutton',['addButton',['../class_timeline.html#a8848e40d4bb289b099a6e6ec572e6c14',1,'Timeline']]], - ['addclipcommand',['AddClipCommand',['../class_add_clip_command.html',1,'AddClipCommand'],['../class_add_clip_command.html#a76bc7d58836e520d113d8d24b76275e7',1,'AddClipCommand::AddClipCommand()']]], - ['addeffectcommand',['AddEffectCommand',['../class_add_effect_command.html',1,'AddEffectCommand'],['../class_add_effect_command.html#a9656a70ae5490a61589358c3cf228214',1,'AddEffectCommand::AddEffectCommand()']]], - ['additem',['addItem',['../class_flow_layout.html#ab60fb7d4cfa8f5d2122e7db6c850ae8e',1,'FlowLayout']]], - ['addmarkeraction',['AddMarkerAction',['../class_add_marker_action.html',1,'AddMarkerAction'],['../class_add_marker_action.html#adccbdc784697a37b05e50dbc089d54c8',1,'AddMarkerAction::AddMarkerAction()']]], - ['addmediacommand',['AddMediaCommand',['../class_add_media_command.html',1,'AddMediaCommand'],['../class_add_media_command.html#a4031574f0063b2db0639f70ecd777e60',1,'AddMediaCommand::AddMediaCommand()']]], - ['addtransitioncommand',['AddTransitionCommand',['../class_add_transition_command.html',1,'AddTransitionCommand'],['../class_add_transition_command.html#abc0a5dc169215f0521d8268586f13a20',1,'AddTransitionCommand::AddTransitionCommand()']]], - ['adjust',['adjust',['../class_viewer_container.html#a1148ead515900a3f437a5bb075e83784',1,'ViewerContainer']]], - ['adjust_5ffield',['adjust_field',['../transformeffect_8cpp.html#a13398c585dd4500899b1aba9b54ac4b3',1,'transformeffect.cpp']]], - ['adjust_5frow_5fkeyframe',['adjust_row_keyframe',['../keyframedrawing_8cpp.html#ac097d912e63de04b8471d9d91533c73d',1,'adjust_row_keyframe(EffectRow *row, long time, long visible_in): keyframedrawing.cpp'],['../keyframedrawing_8h.html#ac097d912e63de04b8471d9d91533c73d',1,'adjust_row_keyframe(EffectRow *row, long time, long visible_in): keyframedrawing.cpp']]], - ['adjust_5fscrollbars',['adjust_scrollbars',['../class_viewer_container.html#a4cc5533ffffc485003a5c803fac13053',1,'ViewerContainer']]], - ['advancedvideodialog',['AdvancedVideoDialog',['../class_advanced_video_dialog.html',1,'AdvancedVideoDialog'],['../class_advanced_video_dialog.html#a1b701e2890656e8cf6aeea04168564a1',1,'AdvancedVideoDialog::AdvancedVideoDialog()']]], - ['advancedvideodialog_2ecpp',['advancedvideodialog.cpp',['../advancedvideodialog_8cpp.html',1,'']]], - ['advancedvideodialog_2eh',['advancedvideodialog.h',['../advancedvideodialog_8h.html',1,'']]], - ['aeffect',['AEffect',['../vestige_8h.html#a607fed319939c6273e716fa307804e7b',1,'vestige.h']]], - ['aframe_5fbytes',['aframe_bytes',['../class_export_thread.html#a26ed765454b5ece2e8a7672eda623792',1,'ExportThread']]], - ['alloc_5fpanels',['alloc_panels',['../panels_8cpp.html#a30ee859993636d51a677f812428ad525',1,'alloc_panels(QWidget *parent): panels.cpp'],['../panels_8h.html#a30ee859993636d51a677f812428ad525',1,'alloc_panels(QWidget *parent): panels.cpp']]], - ['alpha_5fis_5fpremultiplied',['alpha_is_premultiplied',['../struct_footage.html#a6ca2a6f9f1435915d800c7c90d892b2f',1,'Footage']]], - ['amount_5fval',['amount_val',['../class_audio_noise_effect.html#a6896a7a65af96d834a2d3b19a0728d16',1,'AudioNoiseEffect::amount_val()'],['../class_tone_effect.html#a15ce5f85b2ddbf173ab8ff0e2b42bfdb',1,'ToneEffect::amount_val()']]], - ['amplitude_5fto_5fdb',['amplitude_to_db',['../math_8cpp.html#a3207c6f1d10730cb7947383ef81e54be',1,'amplitude_to_db(double amplitude): math.cpp'],['../math_8h.html#a3207c6f1d10730cb7947383ef81e54be',1,'amplitude_to_db(double amplitude): math.cpp']]], - ['anchor_5fgizmo',['anchor_gizmo',['../class_transform_effect.html#a9cb4e9eba478751f70aeb8026a00bfee',1,'TransformEffect']]], - ['anchor_5fx_5fbox',['anchor_x_box',['../class_transform_effect.html#a23aa36c4c89db7ac5f7880fec158e3d5',1,'TransformEffect']]], - ['anchor_5fy_5fbox',['anchor_y_box',['../class_transform_effect.html#a237bf9b4c21a6d5ca33daa309d7309ce',1,'TransformEffect']]], - ['animationupdate',['AnimationUpdate',['../class_media_icon_service.html#a99c152df3a53fed8a0222a78a6de1ed2',1,'MediaIconService']]], - ['apkt_5falloc',['apkt_alloc',['../class_export_thread.html#abec631706c7c148dec2253a6a6cb567d',1,'ExportThread']]], - ['append',['append',['../class_combo_action.html#aed59b1710792cf73e05bbab38e5beb0c',1,'ComboAction']]], - ['appendchild',['appendChild',['../class_media.html#af26c3bfd9f74b8b995dc36db30997a72',1,'Media::appendChild()'],['../class_project_model.html#a02503287cbfea10c1e502158628154a3',1,'ProjectModel::appendChild()']]], - ['appendpost',['appendPost',['../class_combo_action.html#a07a1411b03555da72d480d6b00279f8b',1,'ComboAction']]], - ['apply_5faudio_5feffects',['apply_audio_effects',['../cacher_8cpp.html#afb9040a275beceda985a4c5740008316',1,'cacher.cpp']]], - ['appname',['AppName',['../namespaceolive.html#aae183b688b67aff9c80a2818235f40fb',1,'olive']]], - ['ar',['ar',['../class_viewer_window.html#a019a80599327935d4f91656363ab978f',1,'ViewerWindow']]], - ['are_5fgizmos_5fenabled',['are_gizmos_enabled',['../class_effect.html#ab1e6e6d88937b5f568ba2e78e761401b',1,'Effect']]], - ['audio_2ecpp',['audio.cpp',['../audio_8cpp.html',1,'']]], - ['audio_2eh',['audio.h',['../audio_8h.html',1,'']]], - ['audio_5farea',['audio_area',['../class_timeline.html#a2c018d3cef0503745e31f0df6ee0c5f6',1,'Timeline']]], - ['audio_5fbitrate',['audio_bitrate',['../struct_export_params.html#a2e060a5affa7e2d9e82de19ab11c8354',1,'ExportParams']]], - ['audio_5fbuffer_5fpadding',['AUDIO_BUFFER_PADDING',['../cacher_8cpp.html#adc997cbf687898f8f036a6bd2667f192',1,'cacher.cpp']]], - ['audio_5fbuffer_5fwrite',['audio_buffer_write',['../class_clip.html#a6bbc644f43b67487fe6e4ef097c84596',1,'Clip']]], - ['audio_5fchannels',['audio_channels',['../struct_footage_stream.html#a708e805b9ca7165c882c24e01f3b32d9',1,'FootageStream']]], - ['audio_5fcodec',['audio_codec',['../struct_export_params.html#a81622a6beaf2d199f643493acd3b1fc4',1,'ExportParams']]], - ['audio_5fdevice_5fset',['audio_device_set',['../audio_8cpp.html#a754c2f36daba624892ab55b0edb65524',1,'audio.cpp']]], - ['audio_5feffect_5farea',['audio_effect_area',['../class_effect_controls.html#a6715ffc08c7e82d000a0b312ef312987',1,'EffectControls']]], - ['audio_5feffect_5fclick',['audio_effect_click',['../class_effect_controls.html#aa1d0fbb3d80279ba846e85e28307d307',1,'EffectControls']]], - ['audio_5fenabled',['audio_enabled',['../struct_export_params.html#abdd0ac121706439aac5dad64767eb20b',1,'ExportParams']]], - ['audio_5fframe',['audio_frame',['../class_export_thread.html#a1e1e6341bbb191f83c66f5593786b89d',1,'ExportThread']]], - ['audio_5ffrequency',['audio_frequency',['../struct_footage_stream.html#ab213ba98d347e44c4395b6f8a4bc8d53',1,'FootageStream::audio_frequency()'],['../class_sequence.html#a1fe732a8a8555d2e33c751ef7e9168b8',1,'Sequence::audio_frequency()'],['../class_edit_sequence_command.html#a34c14135295ffe66ee03d67304d6bc60',1,'EditSequenceCommand::audio_frequency()']]], - ['audio_5ffrequency_5fcombobox',['audio_frequency_combobox',['../class_new_sequence_dialog.html#a36371ed0b085cdb201266805e5ff6112',1,'NewSequenceDialog']]], - ['audio_5fghosts',['audio_ghosts',['../class_timeline.html#af6043d57e301be5e5e6a77d1e65098e6',1,'Timeline']]], - ['audio_5fibuffer',['audio_ibuffer',['../audio_8cpp.html#a03a79481214b3d04c3bc78efc8e88aee',1,'audio_ibuffer(): audio.cpp'],['../audio_8h.html#a03a79481214b3d04c3bc78efc8e88aee',1,'audio_ibuffer(): audio.cpp']]], - ['audio_5fibuffer_5fframe',['audio_ibuffer_frame',['../audio_8cpp.html#ac655161d4cf4531b622acf62f9fbbb58',1,'audio_ibuffer_frame(): audio.cpp'],['../audio_8h.html#ac655161d4cf4531b622acf62f9fbbb58',1,'audio_ibuffer_frame(): audio.cpp']]], - ['audio_5fibuffer_5fread',['audio_ibuffer_read',['../audio_8cpp.html#a6c80563a009b62571a07639a35d96aa0',1,'audio_ibuffer_read(): audio.cpp'],['../audio_8h.html#a6c80563a009b62571a07639a35d96aa0',1,'audio_ibuffer_read(): audio.cpp']]], - ['audio_5fibuffer_5fsize',['audio_ibuffer_size',['../audio_8h.html#a515bcc4d22d8a18cb891ef2401783130',1,'audio.h']]], - ['audio_5fibuffer_5ftimecode',['audio_ibuffer_timecode',['../audio_8cpp.html#af47f84c3150c96cea5827d15eb1226ee',1,'audio_ibuffer_timecode(): audio.cpp'],['../audio_8h.html#af47f84c3150c96cea5827d15eb1226ee',1,'audio_ibuffer_timecode(): audio.cpp']]], - ['audio_5finput',['audio_input',['../audio_8cpp.html#a4f4c92e827f94115f45162e3d3b96d49',1,'audio.cpp']]], - ['audio_5finput_5fdevices',['audio_input_devices',['../class_preferences_dialog.html#a2506706aa6893d1b5a40cda86f63248d',1,'PreferencesDialog']]], - ['audio_5fio_5fdevice',['audio_io_device',['../audio_8cpp.html#a0d579c4f8107569bc87aec4e53ea7ff8',1,'audio_io_device(): audio.cpp'],['../audio_8h.html#a0d579c4f8107569bc87aec4e53ea7ff8',1,'audio_io_device(): audio.cpp']]], - ['audio_5fjust_5freset',['audio_just_reset',['../class_clip.html#aafb34a4904618e8711ad47d93452116d',1,'Clip']]], - ['audio_5flayout',['audio_layout',['../struct_footage_stream.html#afb59cb8515452572ec9eaf17176b069f',1,'FootageStream::audio_layout()'],['../class_sequence.html#aab40796fe8a0be75e54a474b2fabdfb6',1,'Sequence::audio_layout()'],['../class_edit_sequence_command.html#ad9953e98bddd4e0c6f75c9968ab89210',1,'EditSequenceCommand::audio_layout()']]], - ['audio_5fmonitor',['audio_monitor',['../class_timeline.html#a77213763d845427fa8e71b75a7d213bc',1,'Timeline']]], - ['audio_5fmonitor_5fgap',['AUDIO_MONITOR_GAP',['../audiomonitor_8cpp.html#a5fb5618596fcce111af9f5c5ae312159',1,'audiomonitor.cpp']]], - ['audio_5fmonitor_5fpeak_5fheight',['AUDIO_MONITOR_PEAK_HEIGHT',['../audiomonitor_8cpp.html#a1b9680468dd905f66317023b9ef9cc6b',1,'audiomonitor.cpp']]], - ['audio_5foutput',['audio_output',['../audio_8cpp.html#acbfe984e7a34f1b78a7188ec831d9040',1,'audio_output(): audio.cpp'],['../audio_8h.html#acbfe984e7a34f1b78a7188ec831d9040',1,'audio_output(): audio.cpp']]], - ['audio_5foutput_5fdevices',['audio_output_devices',['../class_preferences_dialog.html#a6b10c2bf776af772b76d7d641c7ce98f',1,'PreferencesDialog']]], - ['audio_5fpkt',['audio_pkt',['../class_export_thread.html#a6fde252e227f9019ad07c7431f5b1997',1,'ExportThread']]], - ['audio_5fpreview',['audio_preview',['../struct_footage_stream.html#a6977e33be87031b586fd43dff2870eb5',1,'FootageStream']]], - ['audio_5frate',['audio_rate',['../struct_config.html#a15866b8ba87a5d90d3181d8f79229376',1,'Config']]], - ['audio_5frendering',['audio_rendering',['../audio_8cpp.html#ae098b1e2d93d47e4cab42dcd97f75784',1,'audio_rendering(): audio.cpp'],['../audio_8h.html#ae098b1e2d93d47e4cab42dcd97f75784',1,'audio_rendering(): audio.cpp']]], - ['audio_5freset',['audio_reset',['../class_clip.html#a763becadccef2e3febe6ff774714aecf',1,'Clip']]], - ['audio_5fsample_5frate',['audio_sample_rate',['../class_preferences_dialog.html#a1e992b2b7e9ad37b9c33e6205676d965',1,'PreferencesDialog']]], - ['audio_5fsampling_5frate',['audio_sampling_rate',['../struct_export_params.html#a0dfcef57ecc0dc8f0d07f02e2b4d22fb',1,'ExportParams']]], - ['audio_5fscrub',['audio_scrub',['../audio_8cpp.html#a28546825ddb94cbda4c9fa20c08182fd',1,'audio_scrub(): audio.cpp'],['../audio_8h.html#a28546825ddb94cbda4c9fa20c08182fd',1,'audio_scrub(): audio.cpp']]], - ['audio_5fstream',['audio_stream',['../class_export_thread.html#a839df47fc80dc0b44cb50fd1e16faf4e',1,'ExportThread']]], - ['audio_5ftarget_5fframe',['audio_target_frame',['../class_clip.html#aa05baa3255246e20161fac3e7f393f20',1,'Clip']]], - ['audio_5fthread',['audio_thread',['../audio_8cpp.html#abc06ca7502ce25edb5f2bee25465674e',1,'audio_thread(): audio.cpp'],['../audio_8h.html#abc06ca7502ce25edb5f2bee25465674e',1,'audio_thread(): audio.cpp']]], - ['audio_5ftracks',['audio_tracks',['../struct_footage.html#ad66ef70e776f8a4909e8cb371c46ef8d',1,'Footage']]], - ['audio_5ftransition_5fclick',['audio_transition_click',['../class_effect_controls.html#a15a28f27653b643d7b70e4152c20a3a7',1,'EffectControls']]], - ['audio_5fwrite_5flock',['audio_write_lock',['../audio_8cpp.html#a14adfba26f265622e5f8f6b07c8592cc',1,'audio_write_lock(): audio.cpp'],['../audio_8h.html#a14adfba26f265622e5f8f6b07c8592cc',1,'audio_write_lock(): audio.cpp']]], - ['audiobitratespinbox',['audiobitrateSpinbox',['../class_export_dialog.html#a631ee00855db7e1f143f46dafc974025',1,'ExportDialog']]], - ['audiogroupbox',['audioGroupbox',['../class_export_dialog.html#a0d1fcf2ab06a53a38f94ec093e08358c',1,'ExportDialog']]], - ['audiomasterautomate',['audioMasterAutomate',['../vestige_8h.html#a55fb48fa76f98d785e34b83f025d3934',1,'vestige.h']]], - ['audiomasterbeginedit',['audioMasterBeginEdit',['../vestige_8h.html#a9a53b948d542f1b78a0df99c85b5b7a0',1,'vestige.h']]], - ['audiomastercallback',['audioMasterCallback',['../vestige_8h.html#a6a7e6b73cd3df750b123f10a01339fa8',1,'vestige.h']]], - ['audiomastercando',['audioMasterCanDo',['../vestige_8h.html#a59fd98591c3b85984601f76932d5100e',1,'vestige.h']]], - ['audiomasterclosefileselector',['audioMasterCloseFileSelector',['../vestige_8h.html#a850ab53eb6244f020ac834fbe713b4b3',1,'vestige.h']]], - ['audiomasterclosewindow',['audioMasterCloseWindow',['../vestige_8h.html#a1c42dd49edf068ed1366abb294d5c723',1,'vestige.h']]], - ['audiomastercurrentid',['audioMasterCurrentId',['../vestige_8h.html#a3e801323b80dac5e03832efdb6b8ec53',1,'vestige.h']]], - ['audiomastereditfile',['audioMasterEditFile',['../vestige_8h.html#a096b26e4b0352ec41a51324a37839c03',1,'vestige.h']]], - ['audiomasterendedit',['audioMasterEndEdit',['../vestige_8h.html#ad66d15b4e2ff1d03c8e22e809e9c17a0',1,'vestige.h']]], - ['audiomastergetautomationstate',['audioMasterGetAutomationState',['../vestige_8h.html#a7423873d18326429110780e7dc02aad3',1,'vestige.h']]], - ['audiomastergetblocksize',['audioMasterGetBlockSize',['../vestige_8h.html#aa34c341e9a5779bcbdc9bd30c0dec399',1,'vestige.h']]], - ['audiomastergetchunkfile',['audioMasterGetChunkFile',['../vestige_8h.html#a8d32ee899238383c74da927b0d6a8bfb',1,'vestige.h']]], - ['audiomastergetcurrentprocesslevel',['audioMasterGetCurrentProcessLevel',['../vestige_8h.html#abcf6612c823c1a27f50aeb349f88cd07',1,'vestige.h']]], - ['audiomastergetdirectory',['audioMasterGetDirectory',['../vestige_8h.html#a56c16a26bd8ebb588ddcf94882badfe9',1,'vestige.h']]], - ['audiomastergetinputlatency',['audioMasterGetInputLatency',['../vestige_8h.html#adb23b2dd2c5a0720044ff8eb40e40936',1,'vestige.h']]], - ['audiomastergetinputspeakerarrangement',['audioMasterGetInputSpeakerArrangement',['../vestige_8h.html#a161cc7500e2640cb68692f11d291a83e',1,'vestige.h']]], - ['audiomastergetlanguage',['audioMasterGetLanguage',['../vestige_8h.html#a35a42c922458590679ef2ba2594d1255',1,'vestige.h']]], - ['audiomastergetnextplug',['audioMasterGetNextPlug',['../vestige_8h.html#a9cbc2c8cb83589711de61ddd3f6db553',1,'vestige.h']]], - ['audiomastergetnumautomatableparameters',['audioMasterGetNumAutomatableParameters',['../vestige_8h.html#a5fe8e41e979b2339f3afefa0606e6774',1,'vestige.h']]], - ['audiomastergetoutputlatency',['audioMasterGetOutputLatency',['../vestige_8h.html#a9984afca98bbdc5f0e580916951b738d',1,'vestige.h']]], - ['audiomastergetparameterquantization',['audioMasterGetParameterQuantization',['../vestige_8h.html#af2bfc04fcf2833826aab01afc0037990',1,'vestige.h']]], - ['audiomastergetpreviousplug',['audioMasterGetPreviousPlug',['../vestige_8h.html#a897447d54493bc92a184dbd3dcd38f12',1,'vestige.h']]], - ['audiomastergetproductstring',['audioMasterGetProductString',['../vestige_8h.html#aed9a12766960db991ed0c24fd14f78e3',1,'vestige.h']]], - ['audiomastergetsamplerate',['audioMasterGetSampleRate',['../vestige_8h.html#ac346e8d4964bd9166c1faf98fc12d824',1,'vestige.h']]], - ['audiomastergetspeakerarrangement',['audioMasterGetSpeakerArrangement',['../vestige_8h.html#a97bc3b82e5857c9db8158c09dbaecdcc',1,'vestige.h']]], - ['audiomastergettime',['audioMasterGetTime',['../vestige_8h.html#a496097e63051592cf2d0f3a82a3ccc39',1,'vestige.h']]], - ['audiomastergetvendorstring',['audioMasterGetVendorString',['../vestige_8h.html#a3f7c73927d875f0cf063d8492822aafd',1,'vestige.h']]], - ['audiomastergetvendorversion',['audioMasterGetVendorVersion',['../vestige_8h.html#ad8d83ddb5cfe4d445ddd1d7d971e3bc1',1,'vestige.h']]], - ['audiomasteridle',['audioMasterIdle',['../vestige_8h.html#aed6d192c86ca6acd068d2286ec5a9f18',1,'vestige.h']]], - ['audiomasteriochanged',['audioMasterIOChanged',['../vestige_8h.html#ac6e4b91ff965acf330b34ac7500e1236',1,'vestige.h']]], - ['audiomasterneedidle',['audioMasterNeedIdle',['../vestige_8h.html#aa73e8a50a73eadc0eaf04096c8130c76',1,'vestige.h']]], - ['audiomasterofflinegetcurrentmetapass',['audioMasterOfflineGetCurrentMetaPass',['../vestige_8h.html#a673d9a2850b6c9e79258a9effff23947',1,'vestige.h']]], - ['audiomasterofflinegetcurrentpass',['audioMasterOfflineGetCurrentPass',['../vestige_8h.html#a402a015aadddc51b05ee4a2d2860ec23',1,'vestige.h']]], - ['audiomasterofflineread',['audioMasterOfflineRead',['../vestige_8h.html#a56f9c59ee29fd45ca30bb30ef60dc10f',1,'vestige.h']]], - ['audiomasterofflinestart',['audioMasterOfflineStart',['../vestige_8h.html#ac711efc3521b6e2b52357fd09b240f21',1,'vestige.h']]], - ['audiomasterofflinewrite',['audioMasterOfflineWrite',['../vestige_8h.html#a431d11edba526c08d7bd25444f0c0106',1,'vestige.h']]], - ['audiomasteropenfileselector',['audioMasterOpenFileSelector',['../vestige_8h.html#a3df07df293ed5e47f93f397d46b9786a',1,'vestige.h']]], - ['audiomasteropenwindow',['audioMasterOpenWindow',['../vestige_8h.html#a47892f46a8dc07912b02ded3b3345989',1,'vestige.h']]], - ['audiomasterpinconnected',['audioMasterPinConnected',['../vestige_8h.html#a1462cc2072ae3681521d00c9bd1e2213',1,'vestige.h']]], - ['audiomasterprocessevents',['audioMasterProcessEvents',['../vestige_8h.html#a7842d522b424ed9d1d72464e38095d03',1,'vestige.h']]], - ['audiomasterseticon',['audioMasterSetIcon',['../vestige_8h.html#a6a76f44f54796d24af7d0e84971231b0',1,'vestige.h']]], - ['audiomastersetoutputsamplerate',['audioMasterSetOutputSampleRate',['../vestige_8h.html#abe5bfb99bb496e519f62bd8beb09d194',1,'vestige.h']]], - ['audiomastersettime',['audioMasterSetTime',['../vestige_8h.html#ad6e4102893ec9cdd1f5ddbc8c96c1b6a',1,'vestige.h']]], - ['audiomastersizewindow',['audioMasterSizeWindow',['../vestige_8h.html#a5d6d3f721964d313148b4b69f5597da9',1,'vestige.h']]], - ['audiomastertempoat',['audioMasterTempoAt',['../vestige_8h.html#af7c14603de879ced58d7198a46c2cf08',1,'vestige.h']]], - ['audiomasterupdatedisplay',['audioMasterUpdateDisplay',['../vestige_8h.html#a7ed00a28a66f37d765ceaae05e992569',1,'vestige.h']]], - ['audiomastervendorspecific',['audioMasterVendorSpecific',['../vestige_8h.html#aa38a9329f60e32de448917efe5ebd62e',1,'vestige.h']]], - ['audiomasterversion',['audioMasterVersion',['../vestige_8h.html#ac74a1d598456f90d7d93f4ff72c38d5b',1,'vestige.h']]], - ['audiomasterwantmidi',['audioMasterWantMidi',['../vestige_8h.html#af8ac27ff4d247bfd11e95996c796a69b',1,'vestige.h']]], - ['audiomasterwillreplaceoraccumulate',['audioMasterWillReplaceOrAccumulate',['../vestige_8h.html#a891160800fedc600001a05b9652f4ce7',1,'vestige.h']]], - ['audiomonitor',['AudioMonitor',['../class_audio_monitor.html',1,'AudioMonitor'],['../class_audio_monitor.html#a8cf9a165822d7d23eedb5ab2a9ad3cc0',1,'AudioMonitor::AudioMonitor()']]], - ['audiomonitor_2ecpp',['audiomonitor.cpp',['../audiomonitor_8cpp.html',1,'']]], - ['audiomonitor_2eh',['audiomonitor.h',['../audiomonitor_8h.html',1,'']]], - ['audionoiseeffect',['AudioNoiseEffect',['../class_audio_noise_effect.html',1,'AudioNoiseEffect'],['../class_audio_noise_effect.html#a194f5003f907185e37f5b5b27aa922ca',1,'AudioNoiseEffect::AudioNoiseEffect()']]], - ['audionoiseeffect_2ecpp',['audionoiseeffect.cpp',['../audionoiseeffect_8cpp.html',1,'']]], - ['audionoiseeffect_2eh',['audionoiseeffect.h',['../audionoiseeffect_8h.html',1,'']]], - ['audioscrollbar',['audioScrollbar',['../class_timeline.html#ac79c7d07cf1b4a0519be216610020c0f',1,'Timeline']]], - ['audiosenderthread',['AudioSenderThread',['../class_audio_sender_thread.html',1,'AudioSenderThread'],['../class_audio_sender_thread.html#aa32fc860d2f5d9be97650fd3901999a9',1,'AudioSenderThread::AudioSenderThread()']]], - ['autorecovery',['autorecovery',['../class_load_thread.html#a5b6b1b46dc80fb3ba3774e1e5c3526dd',1,'LoadThread']]], - ['autorecovery_5ffilename',['autorecovery_filename',['../project_8cpp.html#aa6b894d40f0c9961aa62b3d292770628',1,'autorecovery_filename(): project.cpp'],['../project_8h.html#aa6b894d40f0c9961aa62b3d292770628',1,'autorecovery_filename(): project.cpp']]], - ['autorecovery_5ftimer',['autorecovery_timer',['../class_olive_global.html#a78f108b6ed6a5a7f13a69f51038bb2b5',1,'OliveGlobal']]], - ['autoscale',['autoscale',['../class_clip.html#a608b43abf0412387a435ecbbdb483d1d',1,'Clip']]], - ['autoscale_5fby_5fdefault',['autoscale_by_default',['../struct_config.html#a662138465fe0092365ff8bad06326bba',1,'Config::autoscale_by_default()'],['../class_main_window.html#aa4120df88bf514f41bdf2d6d750f9586',1,'MainWindow::autoscale_by_default()']]], - ['autoscroll',['autoscroll',['../struct_config.html#a0ffb85ab4ef2f8e22c1e813f08de821a',1,'Config']]], - ['autoscroll_5fno_5fscroll',['AUTOSCROLL_NO_SCROLL',['../namespaceolive.html#a6f523bdde126d522f9d2b23f03b148b5ad255804e4b6795d98f1fe8f8af99fa66',1,'olive']]], - ['autoscroll_5fpage_5fscroll',['AUTOSCROLL_PAGE_SCROLL',['../namespaceolive.html#a6f523bdde126d522f9d2b23f03b148b5a34a31a9f3485349cddb6a3a6ff5e47af',1,'olive']]], - ['autoscroll_5fsmooth_5fscroll',['AUTOSCROLL_SMOOTH_SCROLL',['../namespaceolive.html#a6f523bdde126d522f9d2b23f03b148b5a4d2c722c4d908ed0c65514a02e20a29c',1,'olive']]], - ['autoscrollmode',['AutoScrollMode',['../namespaceolive.html#a6f523bdde126d522f9d2b23f03b148b5',1,'olive']]] -]; diff --git a/docs/html/search/all_10.html b/docs/html/search/all_10.html deleted file mode 100644 index 170dc09c6..000000000 --- a/docs/html/search/all_10.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_10.js b/docs/html/search/all_10.js deleted file mode 100644 index 0431a4307..000000000 --- a/docs/html/search/all_10.js +++ /dev/null @@ -1,170 +0,0 @@ -var searchData= -[ - ['p',['p',['../class_set_int.html#a9624df0e30ef3c0868a139e37626cc6d',1,'SetInt::p()'],['../class_set_long.html#a3ff507f67b267b6bd9bdf92585ff837b',1,'SetLong::p()'],['../class_set_double.html#ad44720d859aeae4557efcc7d293a7608',1,'SetDouble::p()'],['../class_set_string.html#ad95d860f04f35aae8afe7d5b58435ac0',1,'SetString::p()'],['../class_set_pointer.html#a90178e013912bd1eda775d0a0ebb77e2',1,'SetPointer::p()']]], - ['page_5fautoscroll',['page_autoscroll',['../class_main_window.html#a83b57e2c8c4ccf04aa3151dfcf51cd33',1,'MainWindow']]], - ['paint',['paint',['../class_render_thread.html#a4e5c2c03a9310d15b79fe45e7537373b',1,'RenderThread']]], - ['painter',['painter',['../class_q_painter_wrapper.html#a82447ccb5ce7e570bd9d78167c5bd947',1,'QPainterWrapper']]], - ['painter_5fwrapper',['painter_wrapper',['../qpainterwrapper_8cpp.html#ad26659352e4317a2e950a9c280347127',1,'painter_wrapper(): qpainterwrapper.cpp'],['../qpainterwrapper_8h.html#ad26659352e4317a2e950a9c280347127',1,'painter_wrapper(): qpainterwrapper.cpp']]], - ['paintevent',['paintEvent',['../class_main_window.html#a227c9fbd4c9757d4a98c333f8a905e17',1,'MainWindow::paintEvent()'],['../class_audio_monitor.html#a01cdc8a7f6536c0ef9f0edbe877a1083',1,'AudioMonitor::paintEvent()'],['../class_collapsible_widget_header.html#a0232068430ad8f80bf15645da02f0a15',1,'CollapsibleWidgetHeader::paintEvent()'],['../class_graph_view.html#a328011f4c78bc7e88b9ed4b85ed9c0c9',1,'GraphView::paintEvent()'],['../class_keyframe_view.html#adf3aab0ac36ca3ba97bdda1dc84dcbb3',1,'KeyframeView::paintEvent()'],['../class_timeline_header.html#afa70136148f32a043fc2c8b8dcbf186b',1,'TimelineHeader::paintEvent()'],['../class_timeline_widget.html#a66904a90d979db34e4c8d2f25f8f3206',1,'TimelineWidget::paintEvent()']]], - ['paintgl',['paintGL',['../class_viewer_widget.html#a2ebe3855efa4d1df494ddeafc4a133c8',1,'ViewerWidget::paintGL()'],['../class_viewer_window.html#a18f83013f9d7e6f075ca5cf5937f8e0f',1,'ViewerWindow::paintGL()']]], - ['pan_5fval',['pan_val',['../class_pan_effect.html#ac902e1fdbd95e43bc489df23d85523ff',1,'PanEffect']]], - ['paneffect',['PanEffect',['../class_pan_effect.html',1,'PanEffect'],['../class_pan_effect.html#af8355dd4a42e2653afa991f9f8ad5bd5',1,'PanEffect::PanEffect()']]], - ['paneffect_2ecpp',['paneffect.cpp',['../paneffect_8cpp.html',1,'']]], - ['paneffect_2eh',['paneffect.h',['../paneffect_8h.html',1,'']]], - ['panel',['Panel',['../class_panel.html',1,'Panel'],['../class_panel.html#a40f24f4c425c7c02a67381f54c038375',1,'Panel::Panel()']]], - ['panel_2ecpp',['panel.cpp',['../panel_8cpp.html',1,'']]], - ['panel_2eh',['panel.h',['../panel_8h.html',1,'']]], - ['panel_5feffect_5fcontrols',['panel_effect_controls',['../panels_8cpp.html#aa2a97f737dafd57d0aaca36ec04e995f',1,'panel_effect_controls(): panels.cpp'],['../panels_8h.html#aa2a97f737dafd57d0aaca36ec04e995f',1,'panel_effect_controls(): panels.cpp']]], - ['panel_5ffootage_5fviewer',['panel_footage_viewer',['../panels_8cpp.html#a0b148b499e06ae85c5b7883d0ae0965b',1,'panel_footage_viewer(): panels.cpp'],['../panels_8h.html#a0b148b499e06ae85c5b7883d0ae0965b',1,'panel_footage_viewer(): panels.cpp']]], - ['panel_5fgraph_5feditor',['panel_graph_editor',['../panels_8cpp.html#ad79a38e4b3107d8b7bc9fdaed5ba04c6',1,'panel_graph_editor(): panels.cpp'],['../panels_8h.html#ad79a38e4b3107d8b7bc9fdaed5ba04c6',1,'panel_graph_editor(): panels.cpp']]], - ['panel_5fname',['panel_name',['../class_effect_controls.html#a80e65409daea8dda8270b15be26ae1bc',1,'EffectControls::panel_name()'],['../class_viewer.html#a9a4ecb3f28bfdc28bd379c05c957a52e',1,'Viewer::panel_name()']]], - ['panel_5fproject',['panel_project',['../panels_8cpp.html#aa6564a8736877fc51250099da1a461dc',1,'panel_project(): panels.cpp'],['../panels_8h.html#aa6564a8736877fc51250099da1a461dc',1,'panel_project(): panels.cpp']]], - ['panel_5fsequence_5fviewer',['panel_sequence_viewer',['../panels_8cpp.html#a3a6b386f106381a65d464beee0a734f9',1,'panel_sequence_viewer(): panels.cpp'],['../panels_8h.html#a3a6b386f106381a65d464beee0a734f9',1,'panel_sequence_viewer(): panels.cpp']]], - ['panel_5ftimeline',['panel_timeline',['../panels_8cpp.html#a541bd5fb05fb8730ed1f22970a8c2dba',1,'panel_timeline(): panels.cpp'],['../panels_8h.html#a541bd5fb05fb8730ed1f22970a8c2dba',1,'panel_timeline(): panels.cpp']]], - ['panels_2ecpp',['panels.cpp',['../panels_8cpp.html',1,'']]], - ['panels_2eh',['panels.h',['../panels_8h.html',1,'']]], - ['par_5fcombobox',['par_combobox',['../class_new_sequence_dialog.html#ad39b2e669d361f20962619e0ae87b787',1,'NewSequenceDialog']]], - ['param_5fcount',['param_count',['../class_frei0r_effect.html#a33afe544c4fafe2d3700800d3fb0dd1c',1,'Frei0rEffect']]], - ['params',['params',['../class_advanced_video_dialog.html#a55d424313a26f776f6663fea017505c1',1,'AdvancedVideoDialog::params()'],['../class_export_thread.html#ae405ee9998482c8717003a4b9cf1c405',1,'ExportThread::params()']]], - ['parent',['parent',['../class_media.html#a7f1610938a529715fbb0f9d16232b3c9',1,'Media::parent()'],['../class_new_sequence_command.html#ac27735b6338f7bbdccc30ac1a140e851',1,'NewSequenceCommand::parent()'],['../class_add_media_command.html#a86b5ac315ac65541b7aa3a4459a5489f',1,'AddMediaCommand::parent()'],['../class_delete_media_command.html#ab68213f4febafa1151465759708c67cc',1,'DeleteMediaCommand::parent()'],['../class_project_model.html#a03ed34464e0453fd5922958fb214991d',1,'ProjectModel::parent()']]], - ['parent_5fclip',['parent_clip',['../class_effect.html#af70534fc435d8f31d040e26412e5bf92',1,'Effect']]], - ['parent_5feffect',['parent_effect',['../class_effect_row.html#a8293f810cbfcdae61680efce9e0d298d',1,'EffectRow']]], - ['parent_5frow',['parent_row',['../class_effect_field.html#a40b8e55981e45d69e7af0c0ff7778c46',1,'EffectField']]], - ['parent_5fwidget',['parent_widget',['../class_effects_area.html#a0a5773b32d8d97ee440574ec641d0601',1,'EffectsArea']]], - ['parentitem',['parentItem',['../class_media.html#a97d8da0a8935c5f07fadf82ed3b25d10',1,'Media']]], - ['parse_5fmedia',['parse_media',['../class_preview_generator.html#adcb1a8506b5890c1e4e34bff030f8c50',1,'PreviewGenerator']]], - ['parsewheelevent',['parseWheelEvent',['../class_viewer_container.html#a228e5c038c9cb1f3c72fe9e0a1828cef',1,'ViewerContainer']]], - ['passthrough_5fslider_5fvalue',['passthrough_slider_value',['../class_graph_editor.html#a08882e992f2a9575b625cadff91d7f71',1,'GraphEditor']]], - ['paste',['paste',['../class_olive_global.html#a8574a0c2c68978756671d0289ca9e8ff',1,'OliveGlobal::paste()'],['../class_timeline.html#a12baf65f35637a36b57df7bae702b1a3',1,'Timeline::paste()']]], - ['paste_5finsert',['paste_insert',['../class_olive_global.html#a6f6f44ef9503d674851b761c927e8154',1,'OliveGlobal']]], - ['paste_5fseeks',['paste_seeks',['../struct_config.html#a2d6edc94ac3e858b68cdbea094ae8c03',1,'Config']]], - ['path',['path',['../struct_proxy_info.html#a8068fe17a1b0c45f37bab85d1f7d5dd8',1,'ProxyInfo::path()'],['../struct_effect_meta.html#ab993b4f119ffb6c6eaf496e314cc194e',1,'EffectMeta::path()']]], - ['path_2ecpp',['path.cpp',['../path_8cpp.html',1,'']]], - ['path_2eh',['path.h',['../path_8h.html',1,'']]], - ['pause',['pause',['../class_viewer.html#a28e94acf31b40f5b3633835bac5182a0',1,'Viewer::pause()'],['../class_focus_filter.html#ad19e5a72819075115ced232bc8031cc1',1,'FocusFilter::pause()']]], - ['pause_5ftext',['pause_text',['../class_play_button.html#a055a01d39a3f46ec6f8fd2a4d311d13f',1,'PlayButton']]], - ['percent',['percent',['../class_speed_dialog.html#af225835f603e190ed1f9a6d3704bdac2',1,'SpeedDialog']]], - ['percent_5fupdate',['percent_update',['../class_speed_dialog.html#ac7b33fd549a8e6dfe8a3a8aa6e60e30e',1,'SpeedDialog']]], - ['perform_5faction',['perform_action',['../class_action_search.html#a650a09918b8818e224b3698b59e364cc',1,'ActionSearch']]], - ['perspective',['perspective',['../class_corner_pin_effect.html#ae2540e69f8a0b6fd45616166056f56b1',1,'CornerPinEffect']]], - ['pix_5ffmt',['pix_fmt',['../struct_video_codec_params.html#a06835c0a2dfa30ae5958f1283b30a8a7',1,'VideoCodecParams::pix_fmt()'],['../class_clip.html#a6281dae17eb6bcce4379f0615c6cc10b',1,'Clip::pix_fmt()']]], - ['pix_5ffmt_5fcombo',['pix_fmt_combo',['../class_advanced_video_dialog.html#a983e2111eb6c5a998e28cb448916f07b',1,'AdvancedVideoDialog']]], - ['pixel_5fbuffer',['pixel_buffer',['../class_render_thread.html#ae92fd4fb6b4da250affcdbcec0198465',1,'RenderThread']]], - ['pixel_5fbuffer_5flinesize',['pixel_buffer_linesize',['../class_render_thread.html#adb4ef2e5e52a79b3bace21d74d4bd539',1,'RenderThread']]], - ['pkt',['pkt',['../class_clip.html#a1c087c4ee0c3e6307443add9353bf81d',1,'Clip']]], - ['pkt_5fwritten',['pkt_written',['../class_clip.html#a3df77d37e41cd2d55373965e21acf679',1,'Clip']]], - ['play',['play',['../class_viewer.html#a99ed88687cf24f54a70cf389e59b8433',1,'Viewer']]], - ['play_5fbutton',['play_button',['../class_viewer.html#add24288acb6454fee8d6b7e6ad62d941',1,'Viewer']]], - ['play_5fin_5fto_5fout',['play_in_to_out',['../class_focus_filter.html#af0c6edcbcbffb186efb00b77081c8f7b',1,'FocusFilter']]], - ['play_5ftext',['play_text',['../class_play_button.html#a964e76c7b56e1f876d709eed049dcbc6',1,'PlayButton']]], - ['play_5fwake',['play_wake',['../class_viewer.html#ad6bed17848f88c86ce9f20629e82c021',1,'Viewer']]], - ['playback_2ecpp',['playback.cpp',['../playback_8cpp.html',1,'']]], - ['playback_2eh',['playback.h',['../playback_8h.html',1,'']]], - ['playback_5fspeed',['playback_speed',['../class_viewer.html#af8e767f20b2425e57d21891f7cf0c6f4',1,'Viewer::playback_speed()'],['../class_cacher.html#ab5f5700dc48c5cca9c461f07ca46318a',1,'Cacher::playback_speed()'],['../struct_compose_sequence_params.html#a24021c50259cb0ee3260e82ee59916ce',1,'ComposeSequenceParams::playback_speed()']]], - ['playback_5fupdater',['playback_updater',['../class_viewer.html#a42295cf662c839e30ce29d8c4c121196',1,'Viewer']]], - ['playbackmenu_5fabout_5fto_5fbe_5fshown',['playbackMenu_About_To_Be_Shown',['../class_main_window.html#a6d6a492bfc20a7d9758d4570bced46e9',1,'MainWindow']]], - ['playbutton',['PlayButton',['../class_play_button.html',1,'PlayButton'],['../class_play_button.html#a1a408926268b0e3570a27e9dacf21e49',1,'PlayButton::PlayButton()']]], - ['playbutton_2ecpp',['playbutton.cpp',['../playbutton_8cpp.html',1,'']]], - ['playbutton_2eh',['playbutton.h',['../playbutton_8h.html',1,'']]], - ['playhead',['playhead',['../class_cacher.html#a5d0b9f109d61adb78ea1f9f9f20b7891',1,'Cacher::playhead()'],['../class_sequence.html#acc99ebdac07f29be4938cc554eff0bab',1,'Sequence::playhead()']]], - ['playhead_5fsize',['PLAYHEAD_SIZE',['../timelineheader_8cpp.html#ac910e314714195622ba8987096713897',1,'timelineheader.cpp']]], - ['playhead_5fstart',['playhead_start',['../class_viewer.html#a4e609e5466289580f096c6a727b677fa',1,'Viewer']]], - ['playhead_5fto_5fclip_5fframe',['playhead_to_clip_frame',['../playback_8cpp.html#a2a29a30234f98d506e0b62a580b49652',1,'playhead_to_clip_frame(ClipPtr c, long playhead): playback.cpp'],['../playback_8h.html#a2a29a30234f98d506e0b62a580b49652',1,'playhead_to_clip_frame(ClipPtr c, long playhead): playback.cpp']]], - ['playhead_5fto_5fclip_5fseconds',['playhead_to_clip_seconds',['../playback_8cpp.html#aaf751c2031f6b68f873a35dac6e2e061',1,'playhead_to_clip_seconds(ClipPtr c, long playhead): playback.cpp'],['../playback_8h.html#aaf751c2031f6b68f873a35dac6e2e061',1,'playhead_to_clip_seconds(ClipPtr c, long playhead): playback.cpp']]], - ['playhead_5fto_5ftimestamp',['playhead_to_timestamp',['../playback_8cpp.html#a555d2aae8d26ded4a5ca3c8eba96fbc9',1,'playhead_to_timestamp(ClipPtr c, long playhead): playback.cpp'],['../playback_8h.html#a555d2aae8d26ded4a5ca3c8eba96fbc9',1,'playhead_to_timestamp(ClipPtr c, long playhead): playback.cpp']]], - ['playicon',['playIcon',['../class_viewer.html#a3c0e0ca410c09d3f732af36a1637773b',1,'Viewer']]], - ['playing',['playing',['../class_viewer.html#abd4fa71b5f05fc34a57bef6f89416938',1,'Viewer']]], - ['playing_5fin_5fto_5fout',['playing_in_to_out',['../class_viewer.html#a46f06976146e9e8b49cbf4e7edbfe861',1,'Viewer']]], - ['playpause',['playpause',['../class_focus_filter.html#ae4862f15057c3af9b50798333bb5194e',1,'FocusFilter']]], - ['plugin',['plugin',['../class_v_s_t_host.html#ab10925b83c6b5f991e075f3f6ac0bb70',1,'VSTHost']]], - ['point',['point',['../class_ripple_action.html#a769acad0df18c9fd41d854d200291d33',1,'RippleAction']]], - ['pointer_5ftool_5faction',['pointer_tool_action',['../class_main_window.html#adc7f2eb4902ab68471efd4600de38a44',1,'MainWindow']]], - ['pos',['pos',['../class_add_effect_command.html#a4056623484e1607f7dba50468c0518a1',1,'AddEffectCommand::pos()'],['../class_remove_clips_from_clipboard.html#a114a747b45c13e40bd38332a983179a8',1,'RemoveClipsFromClipboard::pos()']]], - ['position_5fx',['position_x',['../class_transform_effect.html#aad7b8b9849d48794160242cf3884416b',1,'TransformEffect']]], - ['position_5fy',['position_y',['../class_transform_effect.html#a2837c88fcfed55dda1ba10bb92708131',1,'TransformEffect']]], - ['post_5fclips',['post_clips',['../class_timeline_widget.html#a65455b8655ff145eeb9e021c3550b14f',1,'TimelineWidget']]], - ['post_5fcommands',['post_commands',['../class_combo_action.html#a468cf4acb03d3e76e30567674b419399',1,'ComboAction']]], - ['post_5fhandle_5fx',['post_handle_x',['../class_effect_keyframe.html#a09b53983b3a2ef2e07cd10a539751d38',1,'EffectKeyframe']]], - ['post_5fhandle_5fy',['post_handle_y',['../class_effect_keyframe.html#ac21c009901d9803a3e4c2ce562d0fd6f',1,'EffectKeyframe']]], - ['ppqpos',['ppqPos',['../struct___vst_time_info.html#a48d1a239d8cbf584c10e3d940c688d8c',1,'_VstTimeInfo']]], - ['pre_5fclips',['pre_clips',['../class_timeline_widget.html#af91370a8ca81eb3d819aa1fb4d724917',1,'TimelineWidget']]], - ['pre_5fhandle_5fx',['pre_handle_x',['../class_effect_keyframe.html#a3d1da4f3ceff40d75b279a93ca664d1b',1,'EffectKeyframe']]], - ['pre_5fhandle_5fy',['pre_handle_y',['../class_effect_keyframe.html#abe3c3335f4788d0b67c9c300451e58f1',1,'EffectKeyframe']]], - ['preferencesdialog',['PreferencesDialog',['../class_preferences_dialog.html',1,'PreferencesDialog'],['../class_preferences_dialog.html#a7b7a1a0c977bd569fcd2e32ac95a23bc',1,'PreferencesDialog::PreferencesDialog()']]], - ['preferencesdialog_2ecpp',['preferencesdialog.cpp',['../preferencesdialog_8cpp.html',1,'']]], - ['preferencesdialog_2eh',['preferencesdialog.h',['../preferencesdialog_8h.html',1,'']]], - ['preferred_5faudio_5finput',['preferred_audio_input',['../struct_config.html#ae8eff91a4bf48e81146346d027ac9415',1,'Config']]], - ['preferred_5faudio_5foutput',['preferred_audio_output',['../struct_config.html#a424610c46bad4e81bdc05fa0a27f8f36',1,'Config']]], - ['premultiply_5falpha_5fsetting',['premultiply_alpha_setting',['../class_media_properties_dialog.html#a76620870b1d6fbffdfb21055529b6f3f',1,'MediaPropertiesDialog']]], - ['premultiply_5fprogram',['premultiply_program',['../struct_compose_sequence_params.html#acbe27fb20a5c6a470e1424188dfea1bd',1,'ComposeSequenceParams::premultiply_program()'],['../class_render_thread.html#ad43fce825d8d316d4aba120b5f00b47c',1,'RenderThread::premultiply_program()']]], - ['prep_5fui_5ffor_5frender',['prep_ui_for_render',['../class_export_dialog.html#a08fe62c0ec006c66aad309f37428d1c1',1,'ExportDialog']]], - ['prepend_5ftext',['prepend_text',['../class_timecode_effect.html#a5bb79afeba3b9afd235954434bddfc19',1,'TimecodeEffect']]], - ['preserve_5fclip_5fins',['preserve_clip_ins',['../class_replace_clip_media_command.html#a275546121a20e46d4f4592dbda49c292',1,'ReplaceClipMediaCommand']]], - ['preset_5fchanged',['preset_changed',['../class_new_sequence_dialog.html#a3f3d70ed17080248c371bd1585564847',1,'NewSequenceDialog']]], - ['preset_5fcombobox',['preset_combobox',['../class_new_sequence_dialog.html#a6e750b8c5678af6cddefb90630f4532e',1,'NewSequenceDialog']]], - ['prev_5fframe',['prev_frame',['../class_focus_filter.html#a27db0137e8ff818a04bf70448012a7dd',1,'FocusFilter']]], - ['prev_5fframe_5fbutton',['prev_frame_button',['../class_viewer.html#a3537e0b83f05b52acdabaf39c965b3be',1,'Viewer']]], - ['preview_5fdone',['preview_done',['../struct_footage_stream.html#a7597d3927d502122b686147f5fa7bbd9',1,'FootageStream']]], - ['preview_5fgen',['preview_gen',['../struct_footage.html#a9da5bdb2332de7e7c903c46836ef9ace',1,'Footage']]], - ['previewgenerator',['PreviewGenerator',['../class_preview_generator.html',1,'PreviewGenerator'],['../class_preview_generator.html#ae3febc86c51bd0cad9dc4e42f3cc7b3d',1,'PreviewGenerator::PreviewGenerator()']]], - ['previewgenerator_2ecpp',['previewgenerator.cpp',['../previewgenerator_8cpp.html',1,'']]], - ['previewgenerator_2eh',['previewgenerator.h',['../previewgenerator_8h.html',1,'']]], - ['previous_5fcut',['previous_cut',['../class_timeline.html#a6957271bef74259de99ec7f3ed5a890e',1,'Timeline']]], - ['previous_5fframe',['previous_frame',['../class_viewer.html#a2d625826ffb60bdfdbac881344a27a0c',1,'Viewer']]], - ['previous_5fplayhead',['previous_playhead',['../class_viewer.html#a808dc9fec00f86512c18e17924bcc386',1,'Viewer']]], - ['previous_5fqueue_5fsize',['previous_queue_size',['../struct_config.html#aeafad6f6cbeace2ac0003724bfa429c2',1,'Config']]], - ['previous_5fqueue_5fspinbox',['previous_queue_spinbox',['../class_preferences_dialog.html#af21c9a39bbf3e269642410a43a3b1079',1,'PreferencesDialog']]], - ['previous_5fqueue_5ftype',['previous_queue_type',['../class_preferences_dialog.html#aa254ffa269beca4d6499e3ef175ae9a2',1,'PreferencesDialog::previous_queue_type()'],['../struct_config.html#acd9d0f261bde3aa2737518bd898c77eb',1,'Config::previous_queue_type()']]], - ['previous_5fvalue',['previous_value',['../class_label_slider.html#a7ba73d0b4e2f33b3f65f31f2643837e3',1,'LabelSlider']]], - ['previouscolor',['previousColor',['../class_color_button.html#afdf41dba4b64ba80d937ee9c50121a36',1,'ColorButton']]], - ['previousindex',['previousIndex',['../class_combo_box_ex.html#a056cb81b38c29e2a82c187b217cada19',1,'ComboBoxEx']]], - ['previoustext',['previousText',['../class_text_edit_ex.html#aea1a5b71809521c9f00a58981f67d789',1,'TextEditEx']]], - ['previousvalue',['previousValue',['../class_font_combobox.html#afa426c528ae659d40de18116b953ba2b',1,'FontCombobox']]], - ['process',['process',['../struct___a_effect.html#ac833a9a570b01af59285cee1568af7e7',1,'_AEffect']]], - ['process_5faudio',['process_audio',['../class_audio_noise_effect.html#a2333743666cf210b43066555512d940e',1,'AudioNoiseEffect::process_audio()'],['../class_exponential_fade_transition.html#ad5c41c968be51f240c969adf63d30cdb',1,'ExponentialFadeTransition::process_audio()'],['../class_fill_left_right_effect.html#af92cba3752dbd513567e12596b3e8b31',1,'FillLeftRightEffect::process_audio()'],['../class_linear_fade_transition.html#aff7943f9c51599449c8d4a80cfdbf7d3',1,'LinearFadeTransition::process_audio()'],['../class_logarithmic_fade_transition.html#ac7c03531bde333506d77b13e761f6cb3',1,'LogarithmicFadeTransition::process_audio()'],['../class_pan_effect.html#afcf2bb25a68d858131e41d74593e417b',1,'PanEffect::process_audio()'],['../class_tone_effect.html#a65a9539e144192b42ff8c5fdb496bdcf',1,'ToneEffect::process_audio()'],['../class_volume_effect.html#ac18226afd50d9141dd9fe59b03cd3979',1,'VolumeEffect::process_audio()'],['../class_v_s_t_host.html#ac5b57e53b7f664cb0d5368199ba0ea24',1,'VSTHost::process_audio()'],['../class_effect.html#a77a6eea699072b8ecbbe9e19b22ab449',1,'Effect::process_audio()']]], - ['process_5fcoords',['process_coords',['../class_corner_pin_effect.html#a69583d3d7170bcd8972f13d2ba46ee8b',1,'CornerPinEffect::process_coords()'],['../class_cross_dissolve_transition.html#ae1e04a9f3be9316cac899e31d1cd2d08',1,'CrossDissolveTransition::process_coords()'],['../class_cube_transition.html#ace5c93ed12d42d02fe05f1a2df2552e3',1,'CubeTransition::process_coords()'],['../class_shake_effect.html#ad301df6415e5168db3eee24a903ad92a',1,'ShakeEffect::process_coords()'],['../class_transform_effect.html#af2feef48ad40594a261e58f570f0347a',1,'TransformEffect::process_coords()'],['../class_effect.html#ae5a78838a09bed4f8ca11d6b23f2df98',1,'Effect::process_coords()']]], - ['process_5feffect',['process_effect',['../renderfunctions_8cpp.html#ae9702e5c5447b13de49b9752f5330581',1,'renderfunctions.cpp']]], - ['process_5ffile_5flist',['process_file_list',['../class_project.html#ab006a403b0f15c474ddffb7e32b067ff',1,'Project']]], - ['process_5fimage',['process_image',['../class_frei0r_effect.html#a832412856c96fff4fae2984c8161aa19',1,'Frei0rEffect::process_image()'],['../class_effect.html#a0592e2ed92d28b6c9a3fbe436b04a879',1,'Effect::process_image()']]], - ['process_5fshader',['process_shader',['../class_corner_pin_effect.html#a354b33a528a2cf57cb0fcd255f02c5c7',1,'CornerPinEffect::process_shader()'],['../class_effect.html#ab76c54c12d93ee5f5d8c633cf17a8354',1,'Effect::process_shader()']]], - ['process_5fsuperimpose',['process_superimpose',['../class_effect.html#adfc5eb9b1ddbdbcc586d4bd0f7b97c37',1,'Effect']]], - ['processaudio',['processAudio',['../class_v_s_t_host.html#ab61c3ca9d8db23b799b111e2e710e4a8',1,'VSTHost']]], - ['processeventsfuncptr',['processEventsFuncPtr',['../vsthost_8cpp.html#ad610efd1eab1c4e34d5b35dab7302fb1',1,'vsthost.cpp']]], - ['processfuncptr',['processFuncPtr',['../vsthost_8cpp.html#ae543e6f8e9a3f348696ecff996254310',1,'vsthost.cpp']]], - ['processreplacing',['processReplacing',['../struct___a_effect.html#a7562f2f1f96a0058d1328eaa5fdc91fe',1,'_AEffect']]], - ['progress_5fchanged',['progress_changed',['../class_export_thread.html#adf19a2d93b577be81bb055087e59313d',1,'ExportThread']]], - ['progressbar',['progressBar',['../class_export_dialog.html#a5f515600982313e987b43fae1475414f',1,'ExportDialog']]], - ['proj_5fdir',['proj_dir',['../class_load_thread.html#a189442a4834389f629e4750a1b057ec6',1,'LoadThread::proj_dir()'],['../class_project.html#ae2001cb4d99f7774e74ee24097ddbc92',1,'Project::proj_dir()']]], - ['project',['Project',['../class_project.html',1,'Project'],['../class_project.html#ab41075e59412cee3f2956c445aab8331',1,'Project::Project()']]], - ['project_2ecpp',['project.cpp',['../project_8cpp.html',1,'']]], - ['project_2eh',['project.h',['../project_8h.html',1,'']]], - ['project_5ffile_5ffilter',['project_file_filter',['../class_olive_global.html#a053f4de79194655e0a51b538e0bb0d95',1,'OliveGlobal']]], - ['project_5fmodel',['project_model',['../namespaceolive.html#a744552310677c752db006db4d104e58e',1,'olive']]], - ['project_5fparent',['project_parent',['../class_sources_common.html#a1c2e7b787d07fd08546c9e88197bfce5',1,'SourcesCommon::project_parent()'],['../class_source_icon_view.html#a87613566594a2310d868290b1abb74f9',1,'SourceIconView::project_parent()'],['../class_source_table.html#a7064300ba443199a72e5aeb8ed776926',1,'SourceTable::project_parent()']]], - ['project_5fview_5ficon',['PROJECT_VIEW_ICON',['../namespaceolive.html#a80d6149e99745ec465de6238b1c54377a055e31e2b4a40b3651d2fedd59527db0',1,'olive']]], - ['project_5fview_5ftree',['PROJECT_VIEW_TREE',['../namespaceolive.html#a80d6149e99745ec465de6238b1c54377a8830b609d44af082be176fa7a6fa57c9',1,'olive']]], - ['project_5fview_5ftype',['project_view_type',['../struct_config.html#a92b0d6168472eac66bfa94c914fa414f',1,'Config']]], - ['projectelements_2eh',['projectelements.h',['../projectelements_8h.html',1,'']]], - ['projectfilter',['ProjectFilter',['../class_project_filter.html',1,'ProjectFilter'],['../class_project_filter.html#a3bc8e78ce009fc0db6d3b7c65157d2c4',1,'ProjectFilter::ProjectFilter()']]], - ['projectfilter_2ecpp',['projectfilter.cpp',['../projectfilter_8cpp.html',1,'']]], - ['projectfilter_2eh',['projectfilter.h',['../projectfilter_8h.html',1,'']]], - ['projectmodel',['ProjectModel',['../class_project_model.html',1,'ProjectModel'],['../class_project_model.html#a9e60b0563cb21d401d92d0fc6924f0d3',1,'ProjectModel::ProjectModel()']]], - ['projectmodel_2ecpp',['projectmodel.cpp',['../projectmodel_8cpp.html',1,'']]], - ['projectmodel_2eh',['projectmodel.h',['../projectmodel_8h.html',1,'']]], - ['projectview',['ProjectView',['../namespaceolive.html#a80d6149e99745ec465de6238b1c54377',1,'olive']]], - ['proxy',['proxy',['../struct_footage.html#a8fe1968c74c3615584815187cd836721',1,'Footage']]], - ['proxy_5ffolder_5fname',['proxy_folder_name',['../class_proxy_dialog.html#ad6a7f3cab06c25c6dc36abf5f715ebba',1,'ProxyDialog']]], - ['proxy_5fgenerator',['proxy_generator',['../proxygenerator_8cpp.html#a42be403e92317d5c4052ab11491d41d5',1,'proxy_generator(): proxygenerator.cpp'],['../proxygenerator_8h.html#a42be403e92317d5c4052ab11491d41d5',1,'proxy_generator(): proxygenerator.cpp']]], - ['proxy_5fpath',['proxy_path',['../struct_footage.html#a31398f448baeb28d9cb6748972a6217a',1,'Footage']]], - ['proxy_5fqueue',['proxy_queue',['../class_proxy_generator.html#a1c0010e1fc73940499ed2beaeb773458',1,'ProxyGenerator']]], - ['proxydialog',['ProxyDialog',['../class_proxy_dialog.html',1,'ProxyDialog'],['../class_proxy_dialog.html#a5e2659eb7c195894a5c2277b73ca6f33',1,'ProxyDialog::ProxyDialog()']]], - ['proxydialog_2ecpp',['proxydialog.cpp',['../proxydialog_8cpp.html',1,'']]], - ['proxydialog_2eh',['proxydialog.h',['../proxydialog_8h.html',1,'']]], - ['proxygenerator',['ProxyGenerator',['../class_proxy_generator.html',1,'ProxyGenerator'],['../class_proxy_generator.html#a4a2e4d8d23d93b024123cb3b337c9d33',1,'ProxyGenerator::ProxyGenerator()']]], - ['proxygenerator_2ecpp',['proxygenerator.cpp',['../proxygenerator_8cpp.html',1,'']]], - ['proxygenerator_2eh',['proxygenerator.h',['../proxygenerator_8h.html',1,'']]], - ['proxyinfo',['ProxyInfo',['../struct_proxy_info.html',1,'']]], - ['ptr1',['ptr1',['../struct___a_effect.html#a6609c7db1e00b229ca39e2a356fcbcba',1,'_AEffect']]], - ['ptr2',['ptr2',['../struct___a_effect.html#a9952e8b1d2c322cb7f5198df86cc1dd9',1,'_AEffect']]], - ['ptr3',['ptr3',['../struct___a_effect.html#abcf53f5b3492f7a31565b20ad90203c7',1,'_AEffect']]] -]; diff --git a/docs/html/search/all_11.html b/docs/html/search/all_11.html deleted file mode 100644 index 10fcd0919..000000000 --- a/docs/html/search/all_11.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_11.js b/docs/html/search/all_11.js deleted file mode 100644 index b50fb94cd..000000000 --- a/docs/html/search/all_11.js +++ /dev/null @@ -1,18 +0,0 @@ -var searchData= -[ - ['q_5fdeclare_5fmetatype',['Q_DECLARE_METATYPE',['../mainwindow_8cpp.html#a08cd1ede919d33df4cc8f905a9783620',1,'mainwindow.cpp']]], - ['qpainterwrapper',['QPainterWrapper',['../class_q_painter_wrapper.html',1,'QPainterWrapper'],['../class_q_painter_wrapper.html#a11332e6d3eb6d358379f543e9324e9c1',1,'QPainterWrapper::QPainterWrapper()']]], - ['qpainterwrapper_2ecpp',['qpainterwrapper.cpp',['../qpainterwrapper_8cpp.html',1,'']]], - ['qpainterwrapper_2eh',['qpainterwrapper.h',['../qpainterwrapper_8h.html',1,'']]], - ['quad_5ffrom_5ft',['quad_from_t',['../math_8cpp.html#ae051349b6eb88f63a351588a683baeb4',1,'quad_from_t(double a, double b, double c, double t): math.cpp'],['../math_8h.html#ae051349b6eb88f63a351588a683baeb4',1,'quad_from_t(double a, double b, double c, double t): math.cpp']]], - ['quad_5ft_5ffrom_5fx',['quad_t_from_x',['../math_8cpp.html#a596112ef6fe411ef36a171ecca86d0fc',1,'quad_t_from_x(double x, double a, double b, double c): math.cpp'],['../math_8h.html#a596112ef6fe411ef36a171ecca86d0fc',1,'quad_t_from_x(double x, double a, double b, double c): math.cpp']]], - ['question_5fbtn',['question_btn',['../class_load_thread.html#a48a6ab39ae060504fbda72a0fb95c6e7',1,'LoadThread']]], - ['question_5ffunc',['question_func',['../class_load_thread.html#a37c836e25488d2b8435c8089ba087b93',1,'LoadThread']]], - ['queue',['queue',['../class_clip.html#a270debc18a8e2fa7063b667301248c8b',1,'Clip::queue()'],['../class_proxy_generator.html#a26ed12bfe4bd5f3b44df03234fe392dc',1,'ProxyGenerator::queue()']]], - ['queue_5fclear',['queue_clear',['../class_clip.html#a7c7fcb2908da25ae8b7ae6f893a114e8',1,'Clip']]], - ['queue_5flock',['queue_lock',['../class_clip.html#a97ba6335812a8ed6f9234ae18bb12bf8',1,'Clip']]], - ['queue_5fpost_5fupdate',['queue_post_update',['../class_effect_controls.html#a846f46e6e4ce9105d8fe4f3965c59f15',1,'EffectControls']]], - ['queue_5fremove_5fearliest',['queue_remove_earliest',['../class_clip.html#af1151d6f5b2d6a93778077bef48b5a16',1,'Clip']]], - ['queue_5frepaint',['queue_repaint',['../class_viewer_widget.html#a2daee7b77b91adb27470625e00b2e301',1,'ViewerWidget']]], - ['queued',['queued',['../class_cacher.html#aaaf89c47568bed8658f96008b12af46f',1,'Cacher::queued()'],['../class_render_thread.html#ac10b6c2a1bd683adeadbeee81c530dd4',1,'RenderThread::queued()']]] -]; diff --git a/docs/html/search/all_12.html b/docs/html/search/all_12.html deleted file mode 100644 index 0876adf45..000000000 --- a/docs/html/search/all_12.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_12.js b/docs/html/search/all_12.js deleted file mode 100644 index 92a64a3c3..000000000 --- a/docs/html/search/all_12.js +++ /dev/null @@ -1,149 +0,0 @@ -var searchData= -[ - ['random_5fval_5fsize',['RANDOM_VAL_SIZE',['../shakeeffect_8h.html#a6914375765f2f5930d34d34a71d169a4',1,'shakeeffect.h']]], - ['random_5fvals',['random_vals',['../class_shake_effect.html#ad391dc51978cf6492711ca394b822733',1,'ShakeEffect']]], - ['rangecombobox',['rangeCombobox',['../class_export_dialog.html#a34e983029917c26cae1c2d9a25780673',1,'ExportDialog']]], - ['razor_5ftool_5faction',['razor_tool_action',['../class_main_window.html#af98e8c05f55913f3206dcd58340efa10',1,'MainWindow']]], - ['rc_5freveal_5fmedia',['rc_reveal_media',['../class_timeline_widget.html#acf67912c86c6c7693a75493b039a3190',1,'TimelineWidget']]], - ['rc_5fripple_5fmax',['rc_ripple_max',['../class_timeline.html#a468895a5e3f529a26340f8a8cbe1e126',1,'Timeline']]], - ['rc_5fripple_5fmin',['rc_ripple_min',['../class_timeline.html#a622be0b2ff8a907f7845ab400fa672d3',1,'Timeline']]], - ['reached_5fend',['reached_end',['../class_clip.html#ab7a1c1b5620cbfa4e43cd700f30d43b1',1,'Clip']]], - ['read_5fnext',['read_next',['../class_load_thread.html#ac59295ce01eaaced688c58ca170da623',1,'LoadThread']]], - ['read_5fnext_5fstart_5felement',['read_next_start_element',['../class_load_thread.html#a6d493cce8e1c85b304a0a9c357f9e17d',1,'LoadThread']]], - ['readme_2emd',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]], - ['ready',['ready',['../struct_footage.html#aa6ea54fc2c7a982e70dcdc5fdd01b2f6',1,'Footage::ready()'],['../class_render_thread.html#aaaf1ad347199039c1abafa65cba6cfb3',1,'RenderThread::ready()']]], - ['ready_5flock',['ready_lock',['../struct_footage.html#a0ab933c31f035c56859fd8abea5956d2',1,'Footage']]], - ['recalculatemaxlength',['recalculateMaxLength',['../class_clip.html#a504b65ac52790e74783eb132d766b5d9',1,'Clip']]], - ['receive_5fwheel_5fevent',['receive_wheel_event',['../class_effects_area.html#a3b31eeeaec993ed466d3ba5072d9868a',1,'EffectsArea']]], - ['recent_5fprojects',['recent_projects',['../project_8cpp.html#a061db38a1c6ea33f9438cf52c67d847b',1,'recent_projects(): project.cpp'],['../project_8h.html#a061db38a1c6ea33f9438cf52c67d847b',1,'recent_projects(): project.cpp']]], - ['record_5fbtn_5fclick',['record_btn_click',['../class_timeline.html#abaf44157c24cabb31c69e6b7cf1ac60d',1,'Timeline']]], - ['record_5fmode_5fmono',['RECORD_MODE_MONO',['../namespaceolive.html#af40b7205c5998320e7325168589cfdfeaeea7cf3bddb67fd8ddef33fd57247e07',1,'olive']]], - ['record_5fmode_5fstereo',['RECORD_MODE_STEREO',['../namespaceolive.html#af40b7205c5998320e7325168589cfdfeaf5f4ae88c32311ee0ec701a108e81949',1,'olive']]], - ['recordbutton',['recordButton',['../class_timeline.html#a0092a9337bf71eedcf73a762b922e39d',1,'Timeline']]], - ['recording',['recording',['../audio_8cpp.html#aaaa86cbd88875817d7896b26080d35d4',1,'recording(): audio.cpp'],['../audio_8h.html#aaaa86cbd88875817d7896b26080d35d4',1,'recording(): audio.cpp']]], - ['recording_5fend',['recording_end',['../class_viewer.html#ad3878decef7a4d0aa9c877a22173fce9',1,'Viewer']]], - ['recording_5fflasher',['recording_flasher',['../class_viewer.html#a23527d30d774bf66e088fdc007cc96cd',1,'Viewer']]], - ['recording_5fflasher_5fupdate',['recording_flasher_update',['../class_viewer.html#a785b2f651a508d775baca459a6b3234f',1,'Viewer']]], - ['recording_5fmode',['recording_mode',['../struct_config.html#a39120b972ddcfbe11be6c5daa7053128',1,'Config']]], - ['recording_5fstart',['recording_start',['../class_viewer.html#a23a8460ff5a91bcc6c8eb1e76195e7db',1,'Viewer']]], - ['recording_5ftrack',['recording_track',['../class_viewer.html#a11ced575ea07a979f893414a16c99a3b',1,'Viewer']]], - ['recordingcombobox',['recordingComboBox',['../class_preferences_dialog.html#a16c649b2780290413dd7bca7f06a461a',1,'PreferencesDialog']]], - ['recordingmode',['RecordingMode',['../namespaceolive.html#af40b7205c5998320e7325168589cfdfe',1,'olive']]], - ['rect_5fgizmo',['rect_gizmo',['../class_transform_effect.html#a9ea39e06661e6f83496a8018a1a70151',1,'TransformEffect']]], - ['rect_5fselect',['rect_select',['../class_graph_view.html#a73fdacbd9f98259d5c8f602d85f4d7ad',1,'GraphView']]], - ['rect_5fselect_5fh',['rect_select_h',['../class_graph_view.html#a1fa9393582aa8bf2daa5f3957b6fd861',1,'GraphView::rect_select_h()'],['../class_keyframe_view.html#ad56abf196388acc687ce1ab6a62b25f3',1,'KeyframeView::rect_select_h()']]], - ['rect_5fselect_5finit',['rect_select_init',['../class_timeline.html#a009b82529555f521690de66d6d32689a',1,'Timeline']]], - ['rect_5fselect_5foffset',['rect_select_offset',['../class_graph_view.html#a65ddd5da7a7af8eefc3aecc31e1eeeb6',1,'GraphView::rect_select_offset()'],['../class_keyframe_view.html#a758e9e9353840a14e930f6372382f1d5',1,'KeyframeView::rect_select_offset()']]], - ['rect_5fselect_5fproc',['rect_select_proc',['../class_timeline.html#a1ac7211e336311314a53f5a642447234',1,'Timeline']]], - ['rect_5fselect_5frect',['rect_select_rect',['../class_timeline.html#adb549777afc5eeaffef499afc9bd66f4',1,'Timeline']]], - ['rect_5fselect_5fw',['rect_select_w',['../class_graph_view.html#a8651c448fa89a04621720ded09e0e999',1,'GraphView::rect_select_w()'],['../class_keyframe_view.html#a6209441da6aee73ead566a32b8d3fe7e',1,'KeyframeView::rect_select_w()']]], - ['rect_5fselect_5fx',['rect_select_x',['../class_graph_view.html#a666fd1b4d2ebb04dff7c5a515d87a7f8',1,'GraphView::rect_select_x()'],['../class_keyframe_view.html#a02dd710b9b09850c00fcddb7bd02bc63',1,'KeyframeView::rect_select_x()']]], - ['rect_5fselect_5fy',['rect_select_y',['../class_graph_view.html#ad2ed895b3a332673246c715b016ce730',1,'GraphView::rect_select_y()'],['../class_keyframe_view.html#ab42902a86062757fcdf1313beaccf1f8',1,'KeyframeView::rect_select_y()']]], - ['rectangleselect_2ecpp',['rectangleselect.cpp',['../rectangleselect_8cpp.html',1,'']]], - ['rectangleselect_2eh',['rectangleselect.h',['../rectangleselect_8h.html',1,'']]], - ['rectified_5fwaveforms',['rectified_waveforms',['../struct_config.html#acbc35ea1a4054719f7d6d38fd302fce2',1,'Config::rectified_waveforms()'],['../class_main_window.html#a23d6c6f0c011735aa46a9ae77de56f16',1,'MainWindow::rectified_waveforms()']]], - ['redo',['redo',['../class_olive_global.html#a501c01aa8f27966ea6fc4c3b74ee8a17',1,'OliveGlobal::redo()'],['../class_combo_action.html#ad1b5b3aac00861aec74dd0d9ee1f06a0',1,'ComboAction::redo()'],['../class_olive_action.html#a4bdc5f2f1d644b02f5bce1f025698bfe',1,'OliveAction::redo()'],['../class_color_command.html#acc357a57a33f55454c328d379e668b4d',1,'ColorCommand::redo()'],['../class_combo_box_ex_command.html#adca907855bbe6eb96ea5c3d9d852234c',1,'ComboBoxExCommand::redo()']]], - ['redo_5faction',['redo_action',['../class_main_window.html#a6e193bcaba56aeea33a6868218f0adb6',1,'MainWindow']]], - ['redraw',['redraw',['../class_solid_effect.html#a555083d8cba63f1ded9df1fb4ccef8c0',1,'SolidEffect::redraw()'],['../class_text_effect.html#a8dc7ccc9adfe7731df4cf47388cd23fa',1,'TextEffect::redraw()'],['../class_timecode_effect.html#aae969aac97764ae8c603f2901bf5c3d1',1,'TimecodeEffect::redraw()'],['../class_effect.html#a8e9e683d4c8bac5c7eb7668250dbab30',1,'Effect::redraw()']]], - ['ref',['ref',['../class_delete_clip_action.html#a419b574b603d98bd3d1e1f48aadceebd',1,'DeleteClipAction::ref()'],['../class_add_effect_command.html#a42f36a1c35729cf0bbabd05d17f3503e',1,'AddEffectCommand::ref()']]], - ['refactor_5fframe_5fnumber',['refactor_frame_number',['../playback_8cpp.html#a16f638f7cc33381a9a16f27cded0d15d',1,'refactor_frame_number(long framenumber, double source_frame_rate, double target_frame_rate): playback.cpp'],['../playback_8h.html#a16f638f7cc33381a9a16f27cded0d15d',1,'refactor_frame_number(long framenumber, double source_frame_rate, double target_frame_rate): playback.cpp']]], - ['refactor_5fframe_5frate',['refactor_frame_rate',['../class_clip.html#ab58ed85eb6a78b1f200485abb6b6cc9f',1,'Clip']]], - ['refine_5fshortcut_5flist',['refine_shortcut_list',['../class_preferences_dialog.html#a55b59968755ded7573bd15aa9fb3d4e9',1,'PreferencesDialog']]], - ['refresh',['refresh',['../class_frei0r_effect.html#a799b438cccba6c20452123421233ac68',1,'Frei0rEffect::refresh()'],['../class_transform_effect.html#a62abf511922579f8bab02eef8fc55652',1,'TransformEffect::refresh()'],['../class_clip.html#aae524ef15e54c00a4672d5d2a95a9cee',1,'Clip::refresh()'],['../class_effect.html#a8c6cc1192ee9712e5139f4c341fcb733',1,'Effect::refresh()']]], - ['refreshclips',['RefreshClips',['../class_refresh_clips.html',1,'RefreshClips'],['../class_sequence.html#ae6ea438558155267cfce34fc3f87a5db',1,'Sequence::RefreshClips()'],['../class_refresh_clips.html#a4f2929e095b7b9312316759c0c46317c',1,'RefreshClips::RefreshClips()']]], - ['relative',['relative',['../class_move_clip_action.html#a2d70b825bd8be97400e556e0c16a2bf4',1,'MoveClipAction']]], - ['relink_5fclips_5fusing_5fids',['relink_clips_using_ids',['../class_timeline.html#a9dda22fa2558deeb51c4b5b94883a54a',1,'Timeline']]], - ['reload_5fclips',['reload_clips',['../class_effect_controls.html#a50a7f416c92cb798bed7ad392ae82548',1,'EffectControls']]], - ['reloadeffectscommand',['ReloadEffectsCommand',['../class_reload_effects_command.html',1,'']]], - ['removechild',['removeChild',['../class_media.html#a5d88c89fb38858958dd19311311a23a3',1,'Media::removeChild()'],['../class_project_model.html#a49d3b09601c1489f417288337ae33b23',1,'ProjectModel::removeChild()']]], - ['removeclipsfromclipboard',['RemoveClipsFromClipboard',['../class_remove_clips_from_clipboard.html',1,'RemoveClipsFromClipboard'],['../class_remove_clips_from_clipboard.html#adc15bdcbd5bb0f7e805a47609b08161d',1,'RemoveClipsFromClipboard::RemoveClipsFromClipboard()']]], - ['rename_5fclip',['rename_clip',['../class_timeline_widget.html#a57b861992530aa46e3a3cc03256a1697',1,'TimelineWidget']]], - ['rename_5finterval',['rename_interval',['../class_sources_common.html#af1f7fc9bdb1459072fbcfae16902b5eb',1,'SourcesCommon']]], - ['rename_5ftimer',['rename_timer',['../class_sources_common.html#ac07a79020e0182a8ee52d6f39592eecb',1,'SourcesCommon']]], - ['renameclipcommand',['RenameClipCommand',['../class_rename_clip_command.html',1,'RenameClipCommand'],['../class_rename_clip_command.html#a69e0d281ac5c78f08da9f383128d1fe3',1,'RenameClipCommand::RenameClipCommand()']]], - ['render_5flock',['render_lock',['../class_clip.html#aaf38f11b4696855c1cd60b95ed42d9a5',1,'Clip']]], - ['render_5fthread_5ffinished',['render_thread_finished',['../class_export_dialog.html#a716effe2d15743e942607828b2a92d8b',1,'ExportDialog']]], - ['rendercancel',['renderCancel',['../class_export_dialog.html#a03e8e125061d033fe6b9015fa8b06d1d',1,'ExportDialog']]], - ['renderer',['renderer',['../class_viewer_widget.html#af5dae6fbd3f4aa01b0aa18c8f0814a9f',1,'ViewerWidget']]], - ['renderfunctions_2ecpp',['renderfunctions.cpp',['../renderfunctions_8cpp.html',1,'']]], - ['renderfunctions_2eh',['renderfunctions.h',['../renderfunctions_8h.html',1,'']]], - ['renderthread',['RenderThread',['../class_render_thread.html',1,'RenderThread'],['../class_render_thread.html#a23dfb5ab95e0e5d9c7a7431c441db27d',1,'RenderThread::RenderThread()']]], - ['renderthread_2ecpp',['renderthread.cpp',['../renderthread_8cpp.html',1,'']]], - ['renderthread_2eh',['renderthread.h',['../renderthread_8h.html',1,'']]], - ['repaint_5ftimeline',['repaint_timeline',['../class_timeline.html#aaf3ab106e6ddd6a41b19adb9d7313c5f',1,'Timeline']]], - ['replace',['replace',['../class_preview_generator.html#a396239af0143a918e53dcfea8e10f021',1,'PreviewGenerator::replace()'],['../class_replace_clip_media_dialog.html#a471b5db4f8abb0766478f10f79e70794',1,'ReplaceClipMediaDialog::replace()'],['../class_replace_media_command.html#a0a26785846e3f6d7ebb24d0fe4a1897d',1,'ReplaceMediaCommand::replace()'],['../class_replace_clip_media_command.html#ab3144ceeccad2a19229ff9f109100a7a',1,'ReplaceClipMediaCommand::replace()']]], - ['replace_5fclip_5fmedia',['replace_clip_media',['../class_project.html#ab6f4ff731eaa49fd9e78d47dd5b0bbf5',1,'Project']]], - ['replace_5fmedia',['replace_media',['../class_project.html#a42cb52223007fd87a8ae0484e9ff6e9a',1,'Project']]], - ['replace_5fselected_5ffile',['replace_selected_file',['../class_project.html#a1997e62849a3f6e181559981fe8b70de',1,'Project']]], - ['replaceclipmediacommand',['ReplaceClipMediaCommand',['../class_replace_clip_media_command.html',1,'ReplaceClipMediaCommand'],['../class_replace_clip_media_command.html#a1384f4250957a75e6e6b874520ca19a9',1,'ReplaceClipMediaCommand::ReplaceClipMediaCommand()']]], - ['replaceclipmediadialog',['ReplaceClipMediaDialog',['../class_replace_clip_media_dialog.html',1,'ReplaceClipMediaDialog'],['../class_replace_clip_media_dialog.html#a463801c101559d8a4864faeab2fd1e64',1,'ReplaceClipMediaDialog::ReplaceClipMediaDialog()']]], - ['replaceclipmediadialog_2ecpp',['replaceclipmediadialog.cpp',['../replaceclipmediadialog_8cpp.html',1,'']]], - ['replaceclipmediadialog_2eh',['replaceclipmediadialog.h',['../replaceclipmediadialog_8h.html',1,'']]], - ['replaced',['replaced',['../class_clip.html#a9cfdc197741cb4437369dcf27af7d271',1,'Clip']]], - ['replacemediacommand',['ReplaceMediaCommand',['../class_replace_media_command.html',1,'ReplaceMediaCommand'],['../class_replace_media_command.html#a521753c7a8094e84f90e9c6f31c9e18f',1,'ReplaceMediaCommand::ReplaceMediaCommand()']]], - ['report_5fprogress',['report_progress',['../class_load_thread.html#a0f02c91285357cdb84bfc30de9ed924c',1,'LoadThread']]], - ['reserved',['reserved',['../struct___vst_events.html#a9d9a7cc3f0860c6591c99e381b679cb1',1,'_VstEvents::reserved()'],['../struct___vst_parameter_properties.html#af9725e14bb028cbe5624e46e0cd80c58',1,'_VstParameterProperties::reserved()']]], - ['reserved1',['reserved1',['../struct___vst_midi_event.html#a3ccd7eafb565941a64295dfed91c9c35',1,'_VstMidiEvent']]], - ['reserved2',['reserved2',['../struct___vst_midi_event.html#a2f662c0a70c7892247bbf1b3eea712e1',1,'_VstMidiEvent']]], - ['reset',['reset',['../class_cacher.html#ab45149cd0e420bceba0ffa01814f4cfb',1,'Cacher::reset()'],['../class_clip.html#a23d00c503f0a43488ddc2e844556bb2f',1,'Clip::reset()'],['../struct_footage.html#a5251b2675ba4f5007930d28a3b53ca98',1,'Footage::reset()']]], - ['reset_5fall_5faudio',['reset_all_audio',['../class_viewer.html#a20a4be8a8fab57715983b29d1eccc591',1,'Viewer']]], - ['reset_5fall_5fshortcuts',['reset_all_shortcuts',['../class_preferences_dialog.html#ae2bbcf602a3f0a535f41adb6dd9e85f5',1,'PreferencesDialog']]], - ['reset_5faudio',['reset_audio',['../class_clip.html#abeaeba185834f6cc3edd1500805945b6',1,'Clip']]], - ['reset_5fcache',['reset_cache',['../cacher_8cpp.html#a224c9a17d2704fa610e00c73d33c893c',1,'reset_cache(ClipPtr c, long target_frame, int playback_speed): cacher.cpp'],['../playback_8h.html#a224c9a17d2704fa610e00c73d33c893c',1,'reset_cache(ClipPtr c, long target_frame, int playback_speed): cacher.cpp']]], - ['reset_5fdefault_5fshortcut',['reset_default_shortcut',['../class_preferences_dialog.html#ad02b994c79691fa5558a03f42f91edb0',1,'PreferencesDialog']]], - ['reset_5flayout',['reset_layout',['../class_main_window.html#a71cf1b26b6f2b58ea307bc2340bed64d',1,'MainWindow']]], - ['reset_5fto_5fdefault',['reset_to_default',['../class_key_sequence_editor.html#a8b0b3ebca3eeccbd07ee048a4979d106',1,'KeySequenceEditor']]], - ['reset_5fview',['reset_view',['../class_graph_view.html#ac71c19f47d0441d2cdb49c98b9f71723',1,'GraphView']]], - ['resizablescrollbar',['ResizableScrollBar',['../class_resizable_scroll_bar.html',1,'ResizableScrollBar'],['../class_resizable_scroll_bar.html#a5ae690281a996054cc93fcc49cb1e082',1,'ResizableScrollBar::ResizableScrollBar()']]], - ['resizablescrollbar_2ecpp',['resizablescrollbar.cpp',['../resizablescrollbar_8cpp.html',1,'']]], - ['resizablescrollbar_2eh',['resizablescrollbar.h',['../resizablescrollbar_8h.html',1,'']]], - ['resize_5fhandle_5fsize',['RESIZE_HANDLE_SIZE',['../resizablescrollbar_8cpp.html#a781987c34b174ef84fcb21fd47d8f5aa',1,'resizablescrollbar.cpp']]], - ['resize_5finit',['resize_init',['../class_resizable_scroll_bar.html#ab5346f39f717bbb54f9dfc0d43f80eb5',1,'ResizableScrollBar']]], - ['resize_5fmove',['resize_move',['../class_timeline.html#a75e9e1e06316d87d2227e3b9ab61cfab',1,'Timeline::resize_move()'],['../class_viewer.html#aba2aa1e594607ed041333cd1107658de',1,'Viewer::resize_move()'],['../class_keyframe_view.html#aaf2337961783e3dda3a9b10e7df38c2a',1,'KeyframeView::resize_move()'],['../class_resizable_scroll_bar.html#a60ba51310bcfc96eb4d9244d7360c1f1',1,'ResizableScrollBar::resize_move()']]], - ['resize_5fproc',['resize_proc',['../class_resizable_scroll_bar.html#a7c0a8130e8ca5bee5952ee8071d68ef9',1,'ResizableScrollBar']]], - ['resize_5fstart',['resize_start',['../class_resizable_scroll_bar.html#a4f4af79fca3864376af4c1242b143a98',1,'ResizableScrollBar']]], - ['resize_5fstart_5fmax',['resize_start_max',['../class_resizable_scroll_bar.html#a0bb93f220b42c1fe6cc8950db0aacc27',1,'ResizableScrollBar']]], - ['resize_5fstart_5fwidth',['resize_start_width',['../class_resizable_scroll_bar.html#a5408535e353549c222bae93b7add385f',1,'ResizableScrollBar']]], - ['resize_5ftop',['resize_top',['../class_resizable_scroll_bar.html#a17bf815eb9c1b7ff4b18b7ebe00d955e',1,'ResizableScrollBar']]], - ['resized_5fscroll_5flistener',['resized_scroll_listener',['../class_timeline_header.html#ad0e609702470af984f13e562fdac85e9',1,'TimelineHeader']]], - ['resizeevent',['resizeEvent',['../class_effect_controls.html#a139180970d79f27464841c562f6f5a74',1,'EffectControls::resizeEvent()'],['../class_timeline.html#af9328bb1c4568b682c062c9224aeee29',1,'Timeline::resizeEvent()'],['../class_viewer.html#a3d647172464b4aefb78067a0e3882bd2',1,'Viewer::resizeEvent()'],['../class_audio_monitor.html#acca2f54ecedb258e9573352c6b259442',1,'AudioMonitor::resizeEvent()'],['../class_resizable_scroll_bar.html#a69ff7f47a0979c34b1935febf2fa1753',1,'ResizableScrollBar::resizeEvent()'],['../class_timeline_widget.html#ae7568d2a760a96ec56f164a15887ba68',1,'TimelineWidget::resizeEvent()'],['../class_viewer_container.html#a28b4a8484836ab2b30b77312706b070b',1,'ViewerContainer::resizeEvent()']]], - ['resizing_5fworkarea',['resizing_workarea',['../class_timeline_header.html#ad09835f4754820b4ecd0c97765e2014e',1,'TimelineHeader']]], - ['resizing_5fworkarea_5fin',['resizing_workarea_in',['../class_timeline_header.html#a37ef6cfeb22e8e9f0bad5a74a4dd0628',1,'TimelineHeader']]], - ['result_5fstr',['result_str',['../class_text_edit_dialog.html#af82aac8bf933ac8934a9e797bdfc03fa',1,'TextEditDialog']]], - ['resumeplugin',['resumePlugin',['../class_v_s_t_host.html#acd3ef43a6accb154490b985a96d8c867',1,'VSTHost']]], - ['ret',['ret',['../class_export_thread.html#ae2b34a888e8ff74f0671e7e684a27917',1,'ExportThread']]], - ['retranslate',['Retranslate',['../class_effect_controls.html#a5944df242c7dcbeae6bf6684a94e91fd',1,'EffectControls::Retranslate()'],['../class_graph_editor.html#ae90cd12f6fd498d935ab07cd5e43cd17',1,'GraphEditor::Retranslate()'],['../class_project.html#aaa7b4a13455c41c5eba5bf93c1a3f3ba',1,'Project::Retranslate()'],['../class_timeline.html#aaecf4ce0f2a3aabae4b12253f4f7185e',1,'Timeline::Retranslate()'],['../class_viewer.html#ab06b426087eed58996b1dfbcc6ad3f1e',1,'Viewer::Retranslate()'],['../class_panel.html#acc714dbdefcd643a467df84fafc6c265',1,'Panel::Retranslate()']]], - ['retrieve_5fduration',['retrieve_duration',['../class_preview_generator.html#a8af5d822321cae1f136c6888f194131a',1,'PreviewGenerator']]], - ['retrieve_5fnext_5fframe',['retrieve_next_frame',['../playback_8cpp.html#a3e3893ce22d7b270ea2df70e97bea6f0',1,'retrieve_next_frame(ClipPtr c, AVFrame *f): playback.cpp'],['../playback_8h.html#a3e3893ce22d7b270ea2df70e97bea6f0',1,'retrieve_next_frame(ClipPtr c, AVFrame *f): playback.cpp']]], - ['retrieve_5fpreview',['retrieve_preview',['../class_preview_generator.html#ae2305c9647ac699af9c493e769710993',1,'PreviewGenerator']]], - ['retry',['retry',['../class_viewer_widget.html#aef4e3e10d8a029c5a32fa972b48e1a15',1,'ViewerWidget']]], - ['reveal_5fin_5fbrowser',['reveal_in_browser',['../class_sources_common.html#afa0336fd250a610a719f98ef58424199',1,'SourcesCommon']]], - ['reveal_5fmedia',['reveal_media',['../class_project.html#a26d1ba881469d084357b869da5589308',1,'Project::reveal_media()'],['../class_timeline_widget.html#a087dc23cb2fac1dac5568469ee842de0',1,'TimelineWidget::reveal_media()']]], - ['reverse',['reverse',['../class_speed_dialog.html#a9bb68bf6f068bb50c45aadf2d307aea2',1,'SpeedDialog::reverse()'],['../class_clip.html#ad15ff65806bdd30bca356957d367e188',1,'Clip::reverse()']]], - ['reverse_5ftarget',['reverse_target',['../class_clip.html#a4c4401827b3a900551884f0a4fac994b',1,'Clip']]], - ['right',['right',['../struct_v_s_t_rect.html#ac9fb86a34ab0da8e468e666740f8ac0a',1,'VSTRect']]], - ['right_5fcenter_5fgizmo',['right_center_gizmo',['../class_transform_effect.html#a543f5c9eb1e539290daf183001d1c7ea',1,'TransformEffect']]], - ['right_5fkey_5fnav',['right_key_nav',['../class_keyframe_navigator.html#a084650c993280b12da23b771f92c08e4',1,'KeyframeNavigator']]], - ['ripple',['ripple',['../class_speed_dialog.html#ab979dacb6a890f831e083dca02901d37',1,'SpeedDialog']]], - ['ripple_5fclips',['ripple_clips',['../timeline_8cpp.html#a07505d17cc33f90155e2d871b6064e50',1,'ripple_clips(ComboAction *ca, SequencePtr s, long point, long length, const QVector< int > &ignore): timeline.cpp'],['../timeline_8h.html#aa8500cc68a91bc4e5266f34437272e2c',1,'ripple_clips(ComboAction *ca, SequencePtr s, long point, long length, const QVector< int > &ignore=QVector< int >()): timeline.cpp']]], - ['ripple_5fdelete',['ripple_delete',['../class_timeline.html#a7523787d44855bf87fccc7c43dbf436e',1,'Timeline']]], - ['ripple_5fdelete_5fempty_5fspace',['ripple_delete_empty_space',['../class_timeline.html#a61faea6126026f04918d7c3e98dfda4c',1,'Timeline']]], - ['ripple_5fdelete_5finout',['ripple_delete_inout',['../class_timeline.html#a94a4a80fd046ca4a454b72c00babf22c',1,'Timeline']]], - ['ripple_5fto_5fin_5fpoint',['ripple_to_in_point',['../class_timeline.html#a587f225fa880ad516f1b9bab4f0dbfc8',1,'Timeline']]], - ['ripple_5fto_5fout_5fpoint',['ripple_to_out_point',['../class_timeline.html#a6ac73dc6d30437f342a090fc930b460b',1,'Timeline']]], - ['ripple_5ftool_5faction',['ripple_tool_action',['../class_main_window.html#ac74cbc5976981d7054662e612f735283',1,'MainWindow']]], - ['rippleaction',['RippleAction',['../class_ripple_action.html',1,'RippleAction'],['../class_ripple_action.html#a8937389e24a321691179971a5420476b',1,'RippleAction::RippleAction()']]], - ['root',['root',['../class_media.html#a08663011330220b4de347a25c770823c',1,'Media']]], - ['root_5fitem',['root_item',['../class_project_model.html#a3d006b501951a5d5e95e2ccf67b19908',1,'ProjectModel']]], - ['rotate_5fgizmo',['rotate_gizmo',['../class_transform_effect.html#a0e87dcb3896cdef530c1868ebe933643',1,'TransformEffect']]], - ['rotation',['rotation',['../class_transform_effect.html#a450f903822dd1ae9f1b5a48d9c133c0b',1,'TransformEffect']]], - ['rotation_5fval',['rotation_val',['../class_shake_effect.html#a4ad1adf153114db693c31fb508c88fbc',1,'ShakeEffect']]], - ['row',['row',['../class_graph_editor.html#ae4a82e2205f0faf0a6cca340f7b88d7e',1,'GraphEditor::row()'],['../class_set_keyframing.html#aa671c65034c03e74a6672badf9e184de',1,'SetKeyframing::row()'],['../class_graph_view.html#a3d83c9b036f4913647439095e9d31b83',1,'GraphView::row()'],['../class_effect.html#ac6237d1b74587106f499ee8e8b87a6bc',1,'Effect::row()'],['../class_media.html#ab4a12b049a213f05411d3d9b98ed0e1b',1,'Media::row()']]], - ['row_5fcount',['row_count',['../class_effect.html#a5bfbca882f6951d45e585cfe485ae3bd',1,'Effect']]], - ['rowcount',['rowCount',['../class_project_model.html#adb9a1fe0d147855b59bd764e57aa711f',1,'ProjectModel']]], - ['rows',['rows',['../class_effect.html#a0b8769e71fc3d63034053229827f5215',1,'Effect::rows()'],['../class_keyframe_view.html#a6415c610857e2993ee3aac8a30cb1c76',1,'KeyframeView::rows()']]], - ['rowy',['rowY',['../class_keyframe_view.html#afdea3f119455343e94f6d3cd9c4d25ad',1,'KeyframeView']]], - ['run',['run',['../class_speed_dialog.html#ae168b4d37073281e6d1776e54f638522',1,'SpeedDialog::run()'],['../class_export_thread.html#a13b763676984349813b398ac4556b2cf',1,'ExportThread::run()'],['../class_load_thread.html#a4c36b2e87156b48703078eaa0ae25174',1,'LoadThread::run()'],['../class_preview_generator.html#a45fa7f7ca54861dcd43c9cf41cc382aa',1,'PreviewGenerator::run()'],['../class_proxy_generator.html#a87d99a9405a771187fc7db0229c2c1ae',1,'ProxyGenerator::run()'],['../class_audio_sender_thread.html#a51c4a95d3582f796aa1887c6cde3a741',1,'AudioSenderThread::run()'],['../class_cacher.html#a89edaa9400682322f6f9311b2cdc2a0a',1,'Cacher::run()'],['../class_effect_init.html#a7dbdb65a71c615f39ffaef197150ee0b',1,'EffectInit::run()'],['../class_render_thread.html#a43602ff1f6ddfad531eb27e4e9ebd945',1,'RenderThread::run()']]], - ['running',['running',['../class_render_thread.html#a77e9ea3fae0e7cc6f48bd46a6eacf2de',1,'RenderThread']]], - ['runtimeconfig',['RuntimeConfig',['../struct_runtime_config.html',1,'RuntimeConfig'],['../struct_runtime_config.html#aa51a896ec458a69c2a43f22482b75ad2',1,'RuntimeConfig::RuntimeConfig()']]] -]; diff --git a/docs/html/search/all_13.html b/docs/html/search/all_13.html deleted file mode 100644 index dc6c0496a..000000000 --- a/docs/html/search/all_13.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_13.js b/docs/html/search/all_13.js deleted file mode 100644 index 86a3c2996..000000000 --- a/docs/html/search/all_13.js +++ /dev/null @@ -1,340 +0,0 @@ -var searchData= -[ - ['s',['s',['../class_ripple_action.html#a888282dbc05715428a59c8c58d9cdc93',1,'RippleAction::s()'],['../class_link_command.html#a871c80441e5ec544344dc79512f28ecf',1,'LinkCommand::s()']]], - ['same_5fsign',['same_sign',['../timelinewidget_8cpp.html#a7a96d3b882fabc70e8f93cb7239fabc6',1,'same_sign(int a, int b): timelinewidget.cpp'],['../timelinewidget_8h.html#a7a96d3b882fabc70e8f93cb7239fabc6',1,'same_sign(int a, int b): timelinewidget.cpp']]], - ['sample_5fformat',['sample_format',['../cacher_8cpp.html#ab8fe659d819c36cfbea8645f3f5a31ad',1,'cacher.cpp']]], - ['samplepos',['samplePos',['../struct___vst_time_info.html#a2f00c6ef3fc122b7deb49f0431173e7c',1,'_VstTimeInfo']]], - ['samplerate',['sampleRate',['../struct___vst_time_info.html#a56dd9977e41eee06fb12075050ae99c1',1,'_VstTimeInfo']]], - ['samples',['samples',['../class_audio_sender_thread.html#a292aa67bfa5f1bb7fedd3916348465d7',1,'AudioSenderThread']]], - ['samplestonextclock',['samplesToNextClock',['../struct___vst_time_info.html#a1876941a5ab33a27d8d13c1b1d4e24a3',1,'_VstTimeInfo']]], - ['samplingratespinbox',['samplingRateSpinbox',['../class_export_dialog.html#afb347c2d11589e3069c54934b76d2e62',1,'ExportDialog']]], - ['savable',['savable',['../class_effect_row.html#abd2d285889404ad1103b22debb39c39d',1,'EffectRow']]], - ['save',['save',['../class_preferences_dialog.html#a49bca74c6f5eef9ccedc84f8fe5d8118',1,'PreferencesDialog::save()'],['../class_text_edit_dialog.html#a4d2dbe3203af850a911f483f5d1c63e3',1,'TextEditDialog::save()'],['../class_void_effect.html#a33022b606b609ce42432dd91d70ce4e1',1,'VoidEffect::save()'],['../class_v_s_t_host.html#a90093c1662a258901cf43db10e5bfd87',1,'VSTHost::save()'],['../struct_config.html#adf999ef5afad88e3ef78165860b1de5b',1,'Config::save()'],['../class_effect.html#ae1d54acbddc9b6e4373e4f53f6379c30',1,'Effect::save()'],['../class_transition.html#ab4c894807b0acca3b846c4388712c0bb',1,'Transition::save()']]], - ['save_5fautorecovery_5ffile',['save_autorecovery_file',['../class_olive_global.html#a683bdbe17929ce90db233a3cdff8fc30',1,'OliveGlobal']]], - ['save_5fdata_5fto_5fstring',['save_data_to_string',['../effect_8cpp.html#a93a1e304790e3cc62f7b347bede17f46',1,'effect.cpp']]], - ['save_5ffn',['save_fn',['../class_render_thread.html#a4796c46fe0dc2db85b71d6c58d8ff611',1,'RenderThread']]], - ['save_5ffolder',['save_folder',['../class_project.html#aea7d239134e0c5151adcf7a1ecf6c63d',1,'Project']]], - ['save_5fframe',['save_frame',['../class_viewer_widget.html#a39cc3823883bc66dfafae498b34c2d94',1,'ViewerWidget']]], - ['save_5fid',['save_id',['../struct_footage.html#a0f03bd4606f608cdf9c9c0e3ab99ee73',1,'Footage::save_id()'],['../class_sequence.html#a859e906e2160452dcd83d42cd10f9c1c',1,'Sequence::save_id()']]], - ['save_5fmarker',['save_marker',['../project_8cpp.html#ae4295339a7badc9e1e009ac49dc62022',1,'project.cpp']]], - ['save_5fproject',['save_project',['../class_olive_global.html#a465ffe390d9b615ed8216d2335039197',1,'OliveGlobal::save_project()'],['../class_project.html#a0bc78d14d5fca0bc3740f027ef3d6561',1,'Project::save_project()']]], - ['save_5fproject_5fas',['save_project_as',['../class_olive_global.html#ab3f5f0874214f7ecac66d7ab152a8141',1,'OliveGlobal']]], - ['save_5frecent_5fprojects',['save_recent_projects',['../class_project.html#af94764829772c09d166757f4c1f861ba',1,'Project']]], - ['save_5fshortcut_5ffile',['save_shortcut_file',['../class_preferences_dialog.html#a5452b3213490ff30e3064998056238cc',1,'PreferencesDialog']]], - ['save_5fshortcuts',['save_shortcuts',['../class_main_window.html#ade97fa7698ec0bd744ffef8808dfb24b',1,'MainWindow']]], - ['save_5fto_5ffile',['save_to_file',['../class_effect.html#ac24cb7838739f665bde0b408cc196b35',1,'Effect']]], - ['save_5fto_5fstring',['save_to_string',['../class_effect.html#af89725f1966ade1ac299ba53fe32b981',1,'Effect']]], - ['scale_5fval',['scale_val',['../class_timecode_effect.html#a3987f0fd908c0c0628159361b0ca17bc',1,'TimecodeEffect']]], - ['scale_5fx',['scale_x',['../class_transform_effect.html#ac77831f2ca54d0961205bb2d70a9c6f8',1,'TransformEffect']]], - ['scale_5fy',['scale_y',['../class_transform_effect.html#a3bf28640a0b6e3b06bd31f460fa78ef8',1,'TransformEffect']]], - ['screen_5fpos',['screen_pos',['../class_effect_gizmo.html#a70ab4dd0e385c0f691d14766047cf127',1,'EffectGizmo']]], - ['script',['script',['../class_effect.html#ac3fe9b30ecfb62d793c5ed60147c95f0',1,'Effect']]], - ['scroll',['scroll',['../class_timeline.html#a16f4b6e76b716b01ac9b941ac1ec7ba0',1,'Timeline::scroll()'],['../class_timeline_header.html#a645d9e713c918b7cc93e38b47a363108',1,'TimelineHeader::scroll()'],['../class_timeline_widget.html#a4a8c2ff9969c4715079cb05b5fa5023b',1,'TimelineWidget::scroll()']]], - ['scroll_5fchanged',['scroll_changed',['../class_viewer_container.html#a0fa8137d067a732f4ee2e38e38f6f5d8',1,'ViewerContainer']]], - ['scroll_5fdrag',['scroll_drag',['../class_keyframe_view.html#aa07237640671958f8b146dbb0671c188',1,'KeyframeView']]], - ['scroll_5fto_5fframe',['scroll_to_frame',['../class_effect_controls.html#a082dfe2767cce0f1d8ec1df59d6a87db',1,'EffectControls::scroll_to_frame()'],['../class_timeline.html#a1d39ab87fb04ac91410c0a0565c97046',1,'Timeline::scroll_to_frame()']]], - ['scroll_5fto_5fframe_5finternal',['scroll_to_frame_internal',['../panels_8cpp.html#ae6588090bcd7acf371a40090ce85d047',1,'scroll_to_frame_internal(QScrollBar *bar, long frame, double zoom, int area_width): panels.cpp'],['../panels_8h.html#ae6588090bcd7acf371a40090ce85d047',1,'scroll_to_frame_internal(QScrollBar *bar, long frame, double zoom, int area_width): panels.cpp']]], - ['scroll_5fwheel_5fzooms',['scroll_wheel_zooms',['../class_main_window.html#aad665ea8d2c98876bc756f80896129c3',1,'MainWindow']]], - ['scroll_5fzooms',['scroll_zooms',['../struct_config.html#aa8d9ad1e4e1bb53d38bd780cd0069572',1,'Config']]], - ['scrollarea',['ScrollArea',['../class_scroll_area.html',1,'ScrollArea'],['../class_scroll_area.html#acae5d62b867cecfbf88ffa61d94b13d6',1,'ScrollArea::ScrollArea()'],['../class_effect_controls.html#a373f0893bb6e1da33ee8211ea628f1db',1,'EffectControls::scrollArea()']]], - ['scrollarea_2ecpp',['scrollarea.cpp',['../scrollarea_8cpp.html',1,'']]], - ['scrollarea_2eh',['scrollarea.h',['../scrollarea_8h.html',1,'']]], - ['scrollbar',['scrollBar',['../class_timeline_widget.html#a0e4da235a610a9944120bd4ac7e86751',1,'TimelineWidget']]], - ['scrubbing',['scrubbing',['../class_cacher.html#abd1d896c094bc916cf2a070e2c94864a',1,'Cacher']]], - ['search_5ffilter',['search_filter',['../class_project_filter.html#a50ec59e6b3c3d1aa6e025eef1f5c0226',1,'ProjectFilter']]], - ['search_5fupdate',['search_update',['../class_action_search.html#ad9ce9f5a257569b695f30c0cc5304b7b',1,'ActionSearch']]], - ['secondary_5fclip',['secondary_clip',['../class_transition.html#a4d5804ad97ee5403092e563a3103e507',1,'Transition']]], - ['seconds_5fto_5ftimestamp',['seconds_to_timestamp',['../playback_8cpp.html#a8ed28c9e03f8090679a833e530093b5f',1,'seconds_to_timestamp(ClipPtr c, double seconds): playback.cpp'],['../playback_8h.html#a8ed28c9e03f8090679a833e530093b5f',1,'seconds_to_timestamp(ClipPtr c, double seconds): playback.cpp']]], - ['seek',['seek',['../class_viewer.html#a632bb1e0734713a4dbf99a31055fe94c',1,'Viewer']]], - ['seek_5falso_5fselects',['seek_also_selects',['../struct_config.html#afbe921c7e26bf622051229702936f502',1,'Config::seek_also_selects()'],['../class_main_window.html#a1df46c854274489d7a7f5989ec190680',1,'MainWindow::seek_also_selects()']]], - ['seek_5ffrom_5fclick',['seek_from_click',['../class_viewer_widget.html#aab6aba3ae386482f13f60db8bfc5b035',1,'ViewerWidget']]], - ['seek_5fto_5fend_5fof_5fpastes',['seek_to_end_of_pastes',['../class_main_window.html#a8ab6d5cecb3d6f5edc995d8563adbefe',1,'MainWindow']]], - ['select',['select',['../class_collapsible_widget_header.html#aac24f55a52680458598e5c30b4269d92',1,'CollapsibleWidgetHeader']]], - ['select_5fall',['select_all',['../class_graph_editor.html#a2258f07a8ff54255150f764c9f03de75',1,'GraphEditor::select_all()'],['../class_timeline.html#aba9815734309a5ea108ea3263536fc32',1,'Timeline::select_all()'],['../class_focus_filter.html#a4e91f2fe5798f054d53436247bb2f60d',1,'FocusFilter::select_all()'],['../class_graph_view.html#ac3fc657491612d94c5589a20c370aa1b',1,'GraphView::select_all()']]], - ['select_5falso_5fseeks',['select_also_seeks',['../struct_config.html#aa560e28fb08e86654ee990936e1bc6e8',1,'Config']]], - ['select_5ffrom_5fplayhead',['select_from_playhead',['../class_timeline.html#a5451b044adf5f2c919e46848e797baaf',1,'Timeline']]], - ['select_5frect',['select_rect',['../class_keyframe_view.html#addd0def27efed6fcba27c4f4ad34fc15',1,'KeyframeView']]], - ['selected',['selected',['../class_collapsible_widget_header.html#aa79a97154f60e6a08c22aa79d5479d3b',1,'CollapsibleWidgetHeader::selected()'],['../class_collapsible_widget.html#a3377f87c85de9626847d0c8d87963754',1,'CollapsibleWidget::selected()']]], - ['selected_5fclips',['selected_clips',['../class_effect_controls.html#a1c054e13b64dcd093610ab96ef52b1ba',1,'EffectControls']]], - ['selected_5ffields',['selected_fields',['../class_keyframe_view.html#aa537e8db94d940f98348656564dbd3a6',1,'KeyframeView']]], - ['selected_5ffootage',['selected_footage',['../class_proxy_dialog.html#a9fc023f056cdba9a08bad7154f930c7e',1,'ProxyDialog']]], - ['selected_5fgizmo',['selected_gizmo',['../class_viewer_widget.html#af0221541f662ef514c98e03130242db4',1,'ViewerWidget']]], - ['selected_5fitems',['selected_items',['../class_sources_common.html#aca3b738f30d58a9a53ac56e3ae2f09ce',1,'SourcesCommon']]], - ['selected_5fkeyframes',['selected_keyframes',['../class_keyframe_view.html#acc3d67402ffe59f5f83fe65902c64df6',1,'KeyframeView']]], - ['selected_5fkeys',['selected_keys',['../class_graph_view.html#a40fd77ea37f035b3d51f9311c6d95926',1,'GraphView']]], - ['selected_5fkeys_5ffields',['selected_keys_fields',['../class_graph_view.html#a6947825e5d574b8733686f948e546ff5',1,'GraphView']]], - ['selected_5fkeys_5fold_5fdoubles',['selected_keys_old_doubles',['../class_graph_view.html#aa2e70d5e577cc99e1ebf10a81ec96d42',1,'GraphView']]], - ['selected_5fkeys_5fold_5fvals',['selected_keys_old_vals',['../class_graph_view.html#a272cb07ccca40a0a6229f9eeb96f3868',1,'GraphView']]], - ['selected_5fmarker_5foriginal_5ftimes',['selected_marker_original_times',['../class_timeline_header.html#ae4cc1bb2f78a90e4b7b14409c42e87b5',1,'TimelineHeader']]], - ['selected_5fmarkers',['selected_markers',['../class_timeline_header.html#aaf167d40c3685893da9d06ce62fd2512',1,'TimelineHeader']]], - ['selecting',['selecting',['../class_timeline.html#a02974e0e12b6246454a75bc2f4c6c2e3',1,'Timeline']]], - ['selecting_5falso_5fseeks',['selecting_also_seeks',['../class_main_window.html#a74bab28ac78ce41474c50a91e5488438',1,'MainWindow']]], - ['selection',['Selection',['../struct_selection.html',1,'']]], - ['selection_2eh',['selection.h',['../selection_8h.html',1,'']]], - ['selection_5fchanged',['selection_changed',['../class_graph_view.html#a9cb67b62b179dac2470935337245a3cf',1,'GraphView']]], - ['selection_5fcommand',['selection_command',['../class_timeline_widget.html#a4a727ca9315d55782d8c976296f5dd28',1,'TimelineWidget']]], - ['selection_5fcontains_5ftransition',['selection_contains_transition',['../timeline_8cpp.html#aad629996162b669848a6113b51efffe4',1,'selection_contains_transition(const Selection &s, ClipPtr c, int type): timeline.cpp'],['../timeline_8h.html#aad629996162b669848a6113b51efffe4',1,'selection_contains_transition(const Selection &s, ClipPtr c, int type): timeline.cpp']]], - ['selection_5foffset',['selection_offset',['../class_timeline.html#a845c5da10b038613db097a41841a1553',1,'Timeline']]], - ['selection_5fupdate',['selection_update',['../class_graph_view.html#ac21e60ab7e39092544cf7be5a13419e3',1,'GraphView']]], - ['selections',['selections',['../class_sequence.html#a4a3969dd854e7dd1e2ba40dad760d968',1,'Sequence']]], - ['self_5fcreated_5fsequence',['self_created_sequence',['../class_timeline_widget.html#a81a7da832a6b35e8581bb8b225d0eafe',1,'TimelineWidget']]], - ['sem',['sem',['../previewgenerator_8cpp.html#a2d3030fe3f5067211170df664566e994',1,'previewgenerator.cpp']]], - ['send_5faudio_5fto_5foutput',['send_audio_to_output',['../class_audio_sender_thread.html#aa08ef41cea4ba98edec1fa66c4e84371',1,'AudioSenderThread']]], - ['sender',['sender',['../class_color_command.html#a78343395e366525c787bc31265568897',1,'ColorCommand']]], - ['seq',['seq',['../class_viewer.html#aa036b1c3043eed8166b7389684856f56',1,'Viewer::seq()'],['../class_delete_clip_action.html#ac79cf629b33ad78eeb03c53aecf08ca6',1,'DeleteClipAction::seq()'],['../class_set_timeline_in_out_command.html#aee835b1e7fdf02574f2de7982ed7cd51',1,'SetTimelineInOutCommand::seq()'],['../class_new_sequence_command.html#a272817e84ff886be0f5e288f4e906f43',1,'NewSequenceCommand::seq()'],['../class_add_clip_command.html#a451e6192fbab9a1df3eb352d2896e94d',1,'AddClipCommand::seq()'],['../class_set_selections_command.html#aa77bbcde0633715759222cd3e24389b8',1,'SetSelectionsCommand::seq()'],['../class_edit_sequence_command.html#af4bdd9e7ca01b7206b939c5eefcb4fa7',1,'EditSequenceCommand::seq()'],['../struct_compose_sequence_params.html#ae553daee9d1555337a78f28a1500708e',1,'ComposeSequenceParams::seq()'],['../class_render_thread.html#a75bfdff3209b022eb877d6aef21f1cf8',1,'RenderThread::seq()']]], - ['sequence',['Sequence',['../class_sequence.html',1,'Sequence'],['../class_clip.html#ac0eea858b7ba48f3800ecfb45ec42919',1,'Clip::sequence()'],['../class_sequence.html#a532b7e8df6ff6b2f990c14ae97859ca2',1,'Sequence::Sequence()']]], - ['sequence_2ecpp',['sequence.cpp',['../sequence_8cpp.html',1,'']]], - ['sequence_2eh',['sequence.h',['../sequence_8h.html',1,'']]], - ['sequence_5fend',['sequence_end',['../class_timeline_header.html#a1d2f8952fd61f48986b8a9657bf646a1',1,'TimelineHeader']]], - ['sequence_5fid',['sequence_id',['../class_project.html#a5bb60805c7614963941ad95e4eea9d03',1,'Project']]], - ['sequence_5fname_5fedit',['sequence_name_edit',['../class_new_sequence_dialog.html#af17f206154bdce516f9a5261687c554b',1,'NewSequenceDialog']]], - ['sequenceptr',['SequencePtr',['../clip_8h.html#a2a0d48184294d399b0adc41f6e1de6c7',1,'SequencePtr(): clip.h'],['../marker_8h.html#a2a0d48184294d399b0adc41f6e1de6c7',1,'SequencePtr(): marker.h'],['../media_8h.html#a2a0d48184294d399b0adc41f6e1de6c7',1,'SequencePtr(): media.h'],['../sequence_8h.html#a2a0d48184294d399b0adc41f6e1de6c7',1,'SequencePtr(): sequence.h']]], - ['set',['set',['../class_transform_effect.html#abcbf4115e3657dd9d6e88039bb1bc015',1,'TransformEffect::set()'],['../class_label_slider.html#ad4715ee7a2902c62bdb11f727fef54f9',1,'LabelSlider::set()']]], - ['set_5faction_5fshortcut',['set_action_shortcut',['../class_key_sequence_editor.html#a104e8bcece50ba4da53f2de152c1ab44',1,'KeySequenceEditor']]], - ['set_5factive_5fcursor',['set_active_cursor',['../class_label_slider.html#a654943c90cc8d87a2dbc957a42252ef0',1,'LabelSlider']]], - ['set_5fautoscroll',['set_autoscroll',['../class_menu_helper.html#aefd8a07595d457e27aabe366cd4d2dbb',1,'MenuHelper']]], - ['set_5fbool_5faction_5fchecked',['set_bool_action_checked',['../class_menu_helper.html#a03f62557c81dbffab88ad0edaf522762',1,'MenuHelper']]], - ['set_5fbool_5fvalue',['set_bool_value',['../class_effect_field.html#a1bafb0bdef1540ccbfc60e4bee8e5f37',1,'EffectField']]], - ['set_5fbutton_5faction_5fchecked',['set_button_action_checked',['../class_menu_helper.html#a26de4da960087ca481b8520b129c7b7f',1,'MenuHelper']]], - ['set_5fbutton_5fcolor',['set_button_color',['../class_color_button.html#ad2109b8ba775920a8e5325ba092004f6',1,'ColorButton']]], - ['set_5fbutton_5ficon',['set_button_icon',['../class_collapsible_widget.html#a58ccf950dae0e4990780b4a322e3fd0d',1,'CollapsibleWidget']]], - ['set_5fclips',['set_clips',['../class_effect_controls.html#a540d9b63a70ab10cbfef7e55afd96ba6',1,'EffectControls']]], - ['set_5fcolor',['set_color',['../class_color_button.html#ae3b77a064f0ba502f8cdefb00ce66bda',1,'ColorButton::set_color()'],['../class_label_slider.html#abbbf055704231fd56978fac964518be6',1,'LabelSlider::set_color()']]], - ['set_5fcolor_5fbutton',['set_color_button',['../class_text_effect.html#a945c290de48e515422df4dd88b5deebc',1,'TextEffect']]], - ['set_5fcolor_5fvalue',['set_color_value',['../class_effect_field.html#a0815397bcf2104db1d6d343f996cbba0',1,'EffectField']]], - ['set_5fcombo_5findex',['set_combo_index',['../class_effect_field.html#a9824adad374879bfa523c8d51e48202e',1,'EffectField']]], - ['set_5fcombo_5fstring',['set_combo_string',['../class_effect_field.html#a3384422aceb41d4c228de61d2a1f523e',1,'EffectField']]], - ['set_5fcurrent_5fdata',['set_current_data',['../class_effect_field.html#addb6647a846046c44fb849cc2cf31e78',1,'EffectField']]], - ['set_5fcursor',['set_cursor',['../class_effect_gizmo.html#a1a16dfb9ff7045eeaaf5daa27112e333',1,'EffectGizmo']]], - ['set_5fcustom_5fzoom',['set_custom_zoom',['../class_viewer_widget.html#acd17a44fea32f4b1234d5f66e6363df7',1,'ViewerWidget']]], - ['set_5fdefault_5fcursor',['set_default_cursor',['../class_label_slider.html#a9a5c67bed20e30581b7c0c503a93de8c',1,'LabelSlider']]], - ['set_5fdefault_5fvalue',['set_default_value',['../class_label_slider.html#a5c08c16c088f1846621bfe341fe875c7',1,'LabelSlider']]], - ['set_5fdisplay_5ftype',['set_display_type',['../class_label_slider.html#aa36f1ac8359e6ad956890c204601dc8e',1,'LabelSlider']]], - ['set_5fdouble_5fdefault_5fvalue',['set_double_default_value',['../class_effect_field.html#ad02b6db1913237ab051079e381f51063',1,'EffectField']]], - ['set_5fdouble_5fmaximum_5fvalue',['set_double_maximum_value',['../class_effect_field.html#aa5d2304bc64404053d0edb2c30294cea',1,'EffectField']]], - ['set_5fdouble_5fminimum_5fvalue',['set_double_minimum_value',['../class_effect_field.html#a22f9b178bd8ad71cc81fe09062487061',1,'EffectField']]], - ['set_5fdouble_5fvalue',['set_double_value',['../class_effect_field.html#a16ba80e073f463b8d186805063f0fb99',1,'EffectField']]], - ['set_5fenabled',['set_enabled',['../class_effect.html#aaff5e9c516c6e7c295e7d30c5da1cb2c',1,'Effect::set_enabled()'],['../class_effect_field.html#a405fcdae7f0949e755ce39a44c7424ec',1,'EffectField::set_enabled()']]], - ['set_5ffield_5fvisibility',['set_field_visibility',['../class_graph_editor.html#a16544cb1a4252ac7f6fb5ea137c73cd2',1,'GraphEditor::set_field_visibility()'],['../class_graph_view.html#adc7d53a62ba893a33f5c843b49bf5e57',1,'GraphView::set_field_visibility()']]], - ['set_5ffilename',['set_filename',['../class_effect_field.html#aa942855243c8be66d9045bc6b89041f3',1,'EffectField']]], - ['set_5ffit_5fzoom',['set_fit_zoom',['../class_viewer_widget.html#a71a9de64e69a788679542284b071a5a1',1,'ViewerWidget']]], - ['set_5ffolder',['set_folder',['../class_media.html#a6ff4d1d2e177e2b14eaf9a8e904339dd',1,'Media']]], - ['set_5ffont_5fcombobox',['set_font_combobox',['../class_text_effect.html#a6298dcbdf77991a7ab9d7a3a0c13de2f',1,'TextEffect']]], - ['set_5ffont_5fname',['set_font_name',['../class_effect_field.html#a366cdd78b0c56caaa4125da9591f4e58',1,'EffectField']]], - ['set_5ffootage',['set_footage',['../class_media.html#aaca499d0ec32050e0c96bc67f2d8b49a',1,'Media']]], - ['set_5fframe_5frate',['set_frame_rate',['../class_label_slider.html#ab304e6dfceb1678153047d8437be0ef5',1,'LabelSlider']]], - ['set_5ffullscreen',['set_fullscreen',['../class_viewer_widget.html#a8ae384d9ca761a2679afdf9bef6c7d78',1,'ViewerWidget']]], - ['set_5ficon',['set_icon',['../class_media.html#a21fa61ad57163806a517aa0aeea23011',1,'Media::set_icon()'],['../class_project_model.html#a32c48f183dbfa817cecfbc98c122f207',1,'ProjectModel::set_icon()']]], - ['set_5ficon_5fview',['set_icon_view',['../class_project.html#a36a7cbe90aa21928274b1236a0fb9cb4',1,'Project']]], - ['set_5ficon_5fview_5fsize',['set_icon_view_size',['../class_project.html#a27be16f8d2e07ebec6e23d152ac12052',1,'Project']]], - ['set_5fin_5fpoint',['set_in_point',['../class_viewer.html#a2804a5931f9fad8dc011ef22020ce766',1,'Viewer::set_in_point()'],['../class_focus_filter.html#ae92ec419038408bfe07ff359abf8a2f1',1,'FocusFilter::set_in_point()'],['../class_timeline_header.html#a1b45db2e9ade8daff9d40797db8977d7',1,'TimelineHeader::set_in_point()']]], - ['set_5fint_5faction_5fchecked',['set_int_action_checked',['../class_menu_helper.html#ab152c4e0a116a10735a4ab8e3da91736',1,'MenuHelper']]], - ['set_5fkey_5fbutton_5fenabled',['set_key_button_enabled',['../class_graph_editor.html#a7f5832504615761cf1da1afaef889de6',1,'GraphEditor']]], - ['set_5fkeyframe_5fenabled',['set_keyframe_enabled',['../class_effect_row.html#a47030c2986a62ec56e407c0c10aed9b4',1,'EffectRow']]], - ['set_5fkeyframe_5fnow',['set_keyframe_now',['../class_effect_row.html#a00106f2c42825bbf1f63c46951cdc9de',1,'EffectRow']]], - ['set_5fkeyframe_5ftype',['set_keyframe_type',['../class_graph_editor.html#a4b4ea5a7b99c67997e1512946eac4912',1,'GraphEditor']]], - ['set_5flength',['set_length',['../class_transition.html#abad669f56c6112cc1e68606f841d6171',1,'Transition']]], - ['set_5flength_5ffrom_5fslider',['set_length_from_slider',['../class_transition.html#a25ae6a34f398e23a9aa388656f7f5196',1,'Transition']]], - ['set_5fmain_5fsequence',['set_main_sequence',['../class_viewer.html#a6379f97b8795f5578c6a9000c05b04a0',1,'Viewer']]], - ['set_5fmarker',['set_marker',['../class_timeline.html#a6643fb435ab7d4b958fe055fcc5a5dfd',1,'Timeline::set_marker()'],['../class_viewer.html#a977dab0d3560292cf1a62d44a0a9671a',1,'Viewer::set_marker()'],['../class_focus_filter.html#a44ffefc5cf2559e7d08986d3cfa02c89',1,'FocusFilter::set_marker()']]], - ['set_5fmarker_5finternal',['set_marker_internal',['../marker_8cpp.html#a84aa0d565632dec6725e9b4d94add226',1,'set_marker_internal(SequencePtr seq, const QVector< int > &clips): marker.cpp'],['../marker_8cpp.html#a8acfc4eee114e0f574c2bbf663f7e967',1,'set_marker_internal(SequencePtr seq): marker.cpp'],['../marker_8h.html#a84aa0d565632dec6725e9b4d94add226',1,'set_marker_internal(SequencePtr seq, const QVector< int > &clips): marker.cpp'],['../marker_8h.html#a8acfc4eee114e0f574c2bbf663f7e967',1,'set_marker_internal(SequencePtr seq): marker.cpp']]], - ['set_5fmaximum_5fvalue',['set_maximum_value',['../class_label_slider.html#abe90995d780d3ae610358ec34b19ee48',1,'LabelSlider']]], - ['set_5fmedia',['set_media',['../class_viewer.html#a7d40bedcb4ce46e135d1f691556c4148',1,'Viewer']]], - ['set_5fmenu_5fzoom',['set_menu_zoom',['../class_viewer_widget.html#a585680d6e7611a4541a8898fafcf35aa',1,'ViewerWidget']]], - ['set_5fminimum_5fvalue',['set_minimum_value',['../class_label_slider.html#ad0915199716155c2f12c5b5292b9ecc9',1,'LabelSlider']]], - ['set_5fname',['set_name',['../class_media.html#a4106c71462e678cd92d562e34bbc7193',1,'Media']]], - ['set_5fname_5fand_5fmarker',['set_name_and_marker',['../class_main_window.html#a634b28e53557b6117f2b8d19e65220fe',1,'MainWindow']]], - ['set_5fname_5fwith_5fmarker',['set_name_with_marker',['../struct_config.html#a85c430f434d062c4797ae65e7d12375a',1,'Config']]], - ['set_5fout_5fpoint',['set_out_point',['../class_viewer.html#af53fcc5e05ed7f41ab0737a81a437420',1,'Viewer::set_out_point()'],['../class_focus_filter.html#a54d15c99741150d31a534ee057f36a9e',1,'FocusFilter::set_out_point()'],['../class_timeline_header.html#a01b323bc818e55d04f6fa7f16bc79d76',1,'TimelineHeader::set_out_point()']]], - ['set_5fpanel_5fname',['set_panel_name',['../class_viewer.html#ab67c74bcb249a1c30d716b2e3993f314',1,'Viewer']]], - ['set_5fparent',['set_parent',['../class_media.html#a4882a1c4e3e980adc60c078a147c0190',1,'Media']]], - ['set_5fplayback_5fspeed',['set_playback_speed',['../class_viewer.html#aeb12a00153186d5317c2ea45375a4606',1,'Viewer']]], - ['set_5fplayhead',['set_playhead',['../class_timeline_header.html#a07d68a951c54cbba25ddf46a1d5cc77a',1,'TimelineHeader']]], - ['set_5fplaypause_5ficon',['set_playpause_icon',['../class_viewer.html#addb5179813cb060e4425fb8ca5acdcd8',1,'Viewer']]], - ['set_5fprevious_5fvalue',['set_previous_value',['../class_effect_gizmo.html#a9a88eeca7443efe007ca046a8d90cf2b',1,'EffectGizmo::set_previous_value()'],['../class_label_slider.html#aa8e8edf8dc7ea4df8e0abb6f32c343ac',1,'LabelSlider::set_previous_value()']]], - ['set_5frendering_5fstate',['set_rendering_state',['../class_olive_global.html#a2763e87021f250965f67e175ee6c6e67',1,'OliveGlobal']]], - ['set_5frow',['set_row',['../class_graph_editor.html#ab0e74ec8ec6fc764cfd74813de8e35e6',1,'GraphEditor::set_row()'],['../class_graph_view.html#af5286106a7da2806918bb7096664840a',1,'GraphView::set_row()']]], - ['set_5fsb_5fmax',['set_sb_max',['../class_timeline.html#a57e70f0a1ccafc8085b9d0f230732d36',1,'Timeline::set_sb_max()'],['../class_viewer.html#aead8486c7ce928709b5edd7b1df7cd52',1,'Viewer::set_sb_max()']]], - ['set_5fscroll',['set_scroll',['../class_timeline_header.html#a1688fa1fc02747b7ecac349e7be03d16',1,'TimelineHeader::set_scroll()'],['../class_viewer_widget.html#a750fc1287a8e32ceec9cafa307ab9291',1,'ViewerWidget::set_scroll()']]], - ['set_5fscroll_5fx',['set_scroll_x',['../class_graph_view.html#a033d47e649c15c0d4df2d5944b79693f',1,'GraphView']]], - ['set_5fscroll_5fy',['set_scroll_y',['../class_graph_view.html#a5cd477311ae5cd11874b5daeb68b775e',1,'GraphView']]], - ['set_5fscrollbar_5fmax',['set_scrollbar_max',['../class_timeline_header.html#ad6fe0530d6f9c87faad1d5d5b021178b',1,'TimelineHeader']]], - ['set_5fselected_5fkeyframe_5ftype',['set_selected_keyframe_type',['../class_graph_view.html#aa3c5c01838f551dba6961edd2b0856d1',1,'GraphView']]], - ['set_5fsequence',['set_sequence',['../class_viewer.html#af431d8431f14b0b54ec45591299b81fd',1,'Viewer::set_sequence()'],['../class_media.html#a57821a93756f18801add4e9660d3b7af',1,'Media::set_sequence()'],['../playback_8cpp.html#a78cf127acfb6a9f8394aa68ba17daa9b',1,'set_sequence(SequencePtr s): playback.cpp'],['../playback_8h.html#a78cf127acfb6a9f8394aa68ba17daa9b',1,'set_sequence(SequencePtr s): playback.cpp']]], - ['set_5fsequence_5fname',['set_sequence_name',['../class_new_sequence_dialog.html#a5502ac85a8904e72852987473a61e57b',1,'NewSequenceDialog']]], - ['set_5fshow_5fsequences',['set_show_sequences',['../class_project_filter.html#ac210834045fd571644f603855bb4a25d',1,'ProjectFilter']]], - ['set_5fspeed',['set_speed',['../speeddialog_8cpp.html#a3f74429e006d4a4a3bdcbfcbf872f1ba',1,'speeddialog.cpp']]], - ['set_5fstring_5fvalue',['set_string_value',['../class_effect_field.html#ab94db5d479e38367f2abd38a80a8d62c',1,'EffectField']]], - ['set_5ftexture',['set_texture',['../class_viewer_window.html#a8f64e2b12d1d8e2154fd0b7f72315a53',1,'ViewerWindow']]], - ['set_5ftimecode_5fview',['set_timecode_view',['../class_menu_helper.html#a9ec427f151cf31a821db32cf71d66ef0',1,'MenuHelper']]], - ['set_5ftitlesafe_5ffrom_5fmenu',['set_titlesafe_from_menu',['../class_menu_helper.html#a9c109452d8af3237cee07e9f53030e7c',1,'MenuHelper']]], - ['set_5ftool',['set_tool',['../class_timeline.html#ac5723f631d485e9bc9f54047d64a7377',1,'Timeline::set_tool()'],['../class_timeline.html#a1274807ba471f3685fac2d79048722e2',1,'Timeline::set_tool(int tool)']]], - ['set_5ftree_5fview',['set_tree_view',['../class_project.html#a97b7aa3213cbc908016382f53647d9b0',1,'Project']]], - ['set_5fup_5fdir_5fenabled',['set_up_dir_enabled',['../class_project.html#a9344e081bc099879e90fc848ac0bac16',1,'Project']]], - ['set_5fvalue',['set_value',['../class_audio_monitor.html#af0e76dbf2d7595157b9bf826acfde765',1,'AudioMonitor::set_value()'],['../class_label_slider.html#ae05af4cf1dce88261673ed2ec5ec5d41',1,'LabelSlider::set_value()']]], - ['set_5fview_5fto_5fall',['set_view_to_all',['../class_graph_view.html#a2a3cae99acf12b9425358553ebeb0b1f',1,'GraphView']]], - ['set_5fview_5fto_5frect',['set_view_to_rect',['../class_graph_view.html#a3e0efb0b663f53150552f2d9e9cd25a9',1,'GraphView']]], - ['set_5fview_5fto_5fselection',['set_view_to_selection',['../class_graph_view.html#a1a8cfe37c44d2b0b69e5184d1170162c',1,'GraphView']]], - ['set_5fviewer_5ffullscreen',['set_viewer_fullscreen',['../class_focus_filter.html#a58f52ec833dc287619ddbd4595d15a65',1,'FocusFilter']]], - ['set_5fvisible_5fin',['set_visible_in',['../class_timeline_header.html#a5a5fa249ccc4802a8cc40a40fbc7a7a1',1,'TimelineHeader']]], - ['set_5fwaveform_5fscroll',['set_waveform_scroll',['../class_viewer_widget.html#a8aab4bb2fa6ec0ec4f3c517f46901af9',1,'ViewerWidget']]], - ['set_5fwindow_5fmodified',['set_window_modified',['../class_olive_action.html#a029f9d31c03e2ec38ad8c72ff1279746',1,'OliveAction']]], - ['set_5fx_5fscroll',['set_x_scroll',['../class_keyframe_view.html#ab015bec2124e96ec18e023e6b33efdbb',1,'KeyframeView']]], - ['set_5fy_5fscroll',['set_y_scroll',['../class_keyframe_view.html#ab5cee12fb02ebc4c76dc3ff52b2ca938',1,'KeyframeView']]], - ['set_5fzoom',['set_zoom',['../class_effect_controls.html#aa579abed1c5c11abf5da18b0f03e2de7',1,'EffectControls::set_zoom()'],['../class_viewer.html#ac705cd22418e0c33f2eb7a0d83ac1dff',1,'Viewer::set_zoom()'],['../class_graph_view.html#acd4f79fee3b6cae324228b73afb5de59',1,'GraphView::set_zoom()']]], - ['set_5fzoom_5fvalue',['set_zoom_value',['../class_timeline.html#a9da603889ceed648528a548d2e370366',1,'Timeline::set_zoom_value()'],['../class_viewer.html#a6330a9c1cea3c7a430a4964e17fafb5b',1,'Viewer::set_zoom_value()']]], - ['setautoscaleaction',['SetAutoscaleAction',['../class_set_autoscale_action.html',1,'SetAutoscaleAction'],['../class_set_autoscale_action.html#aa06375a4e286047ba8b5f12b4aac804c',1,'SetAutoscaleAction::SetAutoscaleAction()']]], - ['setbool',['SetBool',['../class_set_bool.html',1,'SetBool'],['../class_set_bool.html#adcbca90d59c3ea57b00867aad8b51dba',1,'SetBool::SetBool()']]], - ['setbrush',['setBrush',['../class_q_painter_wrapper.html#afef322e1fc4eb835e02891a01eba21a8',1,'QPainterWrapper']]], - ['setcontents',['setContents',['../class_collapsible_widget.html#a7443fa47faf8fdda23c2c6b7bc470631',1,'CollapsibleWidget']]], - ['setcurrentindexex',['setCurrentIndexEx',['../class_combo_box_ex.html#abbf708db0b4f5cc7efc0e65365a3ef56',1,'ComboBoxEx']]], - ['setcurrenttextex',['setCurrentTextEx',['../class_combo_box_ex.html#a771459058f180830f169b7f2cfc21007',1,'ComboBoxEx']]], - ['setdata',['setData',['../class_media.html#a16d71938ed5324dcccc8e7321fbf770b',1,'Media::setData()'],['../class_project_model.html#a6319d0506a03b9f6db94953791999e79',1,'ProjectModel::setData()']]], - ['setdouble',['SetDouble',['../class_set_double.html',1,'SetDouble'],['../class_set_double.html#a27761d9e23e6d30e83e0fff5924aa4fb',1,'SetDouble::SetDouble()']]], - ['seteffectdata',['SetEffectData',['../class_set_effect_data.html',1,'SetEffectData'],['../class_set_effect_data.html#af1e8280da864cf5e2e02db9c3cbf4139',1,'SetEffectData::SetEffectData()']]], - ['setfilename',['setFilename',['../class_embedded_file_chooser.html#af49268c3dd674843aa0cb26498748a15',1,'EmbeddedFileChooser']]], - ['setgeometry',['setGeometry',['../class_flow_layout.html#a64fb2f42cfdb3bcabf4d511092d032af',1,'FlowLayout']]], - ['setint',['SetInt',['../class_set_int.html',1,'SetInt'],['../class_set_int.html#aba6bd08b357153277ca2a604251efea6',1,'SetInt::SetInt()']]], - ['setiterations',['setIterations',['../class_effect.html#a20dab6e1c68621b8172737a48df9c40a',1,'Effect']]], - ['setkeyframing',['SetKeyframing',['../class_set_keyframing.html',1,'SetKeyframing'],['../class_set_keyframing.html#a8f324522ca49327e7bfcf6c995d477b4',1,'SetKeyframing::SetKeyframing()'],['../class_effect_row.html#aa6b981a694e64bb6e9ded25db3d87682',1,'EffectRow::setKeyframing()']]], - ['setlong',['SetLong',['../class_set_long.html',1,'SetLong'],['../class_set_long.html#a9142de54200d3cca4db014ed956b70dc',1,'SetLong::SetLong()']]], - ['setmediaicon',['SetMediaIcon',['../class_media_icon_service.html#a14b99cd9ac6784b75660d55f8502c27e',1,'MediaIconService']]], - ['setparameter',['setParameter',['../struct___a_effect.html#a328a2a0f8c25fbc8774c6a1f0f1a1262',1,'_AEffect']]], - ['setparameterfuncptr',['setParameterFuncPtr',['../vsthost_8cpp.html#adae716dc1c74f43a2d9e358236618fa5',1,'vsthost.cpp']]], - ['setpen',['setPen',['../class_q_painter_wrapper.html#adcf256f75c310cf108442f49a77cb6e6',1,'QPainterWrapper']]], - ['setplaintextex',['setPlainTextEx',['../class_text_edit_ex.html#aceae3221d8d57b991c2cdbe553055964',1,'TextEditEx']]], - ['setpointer',['SetPointer',['../class_set_pointer.html',1,'SetPointer'],['../class_set_pointer.html#a0624303c11073f44a6b54ac45a141a0e',1,'SetPointer::SetPointer()']]], - ['setqvariant',['SetQVariant',['../class_set_q_variant.html',1,'SetQVariant'],['../class_set_q_variant.html#ac3f23dac410d83e1a0995327b94c7aee',1,'SetQVariant::SetQVariant()']]], - ['setscroll',['setScroll',['../class_timeline.html#ae80e5dd5143fb8df0adb3abcdab29b12',1,'Timeline::setScroll()'],['../class_timeline_widget.html#af58766c3e71d5983bd729947db3798e7',1,'TimelineWidget::setScroll()']]], - ['setselectionscommand',['SetSelectionsCommand',['../class_set_selections_command.html',1,'SetSelectionsCommand'],['../class_set_selections_command.html#a73b29d419df3204f61c6b29b503e002b',1,'SetSelectionsCommand::SetSelectionsCommand()']]], - ['setspeedaction',['SetSpeedAction',['../class_set_speed_action.html',1,'SetSpeedAction'],['../class_set_speed_action.html#aa5e27662bb882bf79ac8b7af7f972a4b',1,'SetSpeedAction::SetSpeedAction()']]], - ['setstring',['SetString',['../class_set_string.html',1,'SetString'],['../class_set_string.html#a7ddada27a2a23064c91545f68d754381',1,'SetString::SetString()']]], - ['settext',['setText',['../class_collapsible_widget.html#a6e1a3e0f6db0cad6416ab02b55d9e236',1,'CollapsibleWidget']]], - ['settimelineinoutcommand',['SetTimelineInOutCommand',['../class_set_timeline_in_out_command.html',1,'SetTimelineInOutCommand'],['../class_set_timeline_in_out_command.html#a4a07a0d9ef30820d7e4635caa214a952',1,'SetTimelineInOutCommand::SetTimelineInOutCommand()']]], - ['settrackheight',['SetTrackHeight',['../class_timeline.html#adba34f5c274d7794d1fe9daf7b7386f3',1,'Timeline']]], - ['setup_5fkbd_5fshortcut_5fworker',['setup_kbd_shortcut_worker',['../class_preferences_dialog.html#a18a4c8146d92a1bfbbc02182a8ab8579',1,'PreferencesDialog']]], - ['setup_5fkbd_5fshortcuts',['setup_kbd_shortcuts',['../class_preferences_dialog.html#a5b97c631f22c1efecba548097f074d65',1,'PreferencesDialog']]], - ['setup_5flayout',['setup_layout',['../class_main_window.html#a549905e8c0d69bbd0a2ef13f1e645387',1,'MainWindow']]], - ['setup_5fmenus',['setup_menus',['../class_main_window.html#a8030447a20f462e4262b9ad5230d98c1',1,'MainWindow']]], - ['setup_5fui',['setup_ui',['../class_export_dialog.html#a01f33f1068aa33ee7ebf4a5b6aa79e75',1,'ExportDialog::setup_ui()'],['../class_new_sequence_dialog.html#a979dde82b7198c6308981a4e63f2a990',1,'NewSequenceDialog::setup_ui()'],['../class_preferences_dialog.html#a64324f4a1d80c7b7e6a93ce4ab808242',1,'PreferencesDialog::setup_ui()'],['../class_effect_controls.html#a85537bf8dd6da57746044bc548c2ebcb',1,'EffectControls::setup_ui()'],['../class_timeline.html#acc7b554c80c5e379925740595b5bc309',1,'Timeline::setup_ui()'],['../class_viewer.html#a0332bc24229c3ce5647e98fbfcde1e10',1,'Viewer::setup_ui()']]], - ['setupaudio',['setupAudio',['../class_export_thread.html#a3d7edbaf3e9712f29879d2c5b6838a0b',1,'ExportThread']]], - ['setupcontainer',['setupContainer',['../class_export_thread.html#ac4c5e7e6715b4a4663d338bfc8d89527',1,'ExportThread']]], - ['setupvideo',['setupVideo',['../class_export_thread.html#ab68cb5d2098d72c666624e38584b3c19',1,'ExportThread']]], - ['shaders_5fare_5fenabled',['shaders_are_enabled',['../struct_runtime_config.html#a74857512218b41145afd697df666a8c4',1,'RuntimeConfig']]], - ['shadow_5fbool',['shadow_bool',['../class_text_effect.html#a3c515f07ba4f38e67d68756aebd1b3b0',1,'TextEffect']]], - ['shadow_5fcolor',['shadow_color',['../class_text_effect.html#af8bbeb18077b10ab7f95adcd21e8ed49',1,'TextEffect']]], - ['shadow_5fdistance',['shadow_distance',['../class_text_effect.html#a1fcf63d34adb5579a91b6e9b46ce16fc',1,'TextEffect']]], - ['shadow_5fenable',['shadow_enable',['../class_text_effect.html#a405bfbbddd70f58dc5d30121776865d0',1,'TextEffect']]], - ['shadow_5fopacity',['shadow_opacity',['../class_text_effect.html#a82f18a6c625a9e5072c15fd5391b15ea',1,'TextEffect']]], - ['shadow_5fsoftness',['shadow_softness',['../class_text_effect.html#a0d284c4da163f61732719c4aa629c6be',1,'TextEffect']]], - ['shakeeffect',['ShakeEffect',['../class_shake_effect.html',1,'ShakeEffect'],['../class_shake_effect.html#a70fff76e30585b4e0ada7cdb17fb51a9',1,'ShakeEffect::ShakeEffect()']]], - ['shakeeffect_2ecpp',['shakeeffect.cpp',['../shakeeffect_8cpp.html',1,'']]], - ['shakeeffect_2eh',['shakeeffect.h',['../shakeeffect_8h.html',1,'']]], - ['share_5fctx',['share_ctx',['../class_render_thread.html#a81d0746d55ed54c1f8377b14700b8dc2',1,'RenderThread']]], - ['shortlabel',['shortLabel',['../struct___vst_parameter_properties.html#a5c3a160a3edcd1db195feb85b091a3ca',1,'_VstParameterProperties']]], - ['show_5fall',['show_all',['../class_main_window.html#ac02db0f29d95512520bdd2287eef4a93',1,'MainWindow']]], - ['show_5fcontext_5fmenu',['show_context_menu',['../class_effect.html#a8e450f0b534b1b6542cb083612b8d3f2',1,'Effect::show_context_menu()'],['../class_sources_common.html#ac8bc6395c71418fb271d0eb94fbacb83',1,'SourcesCommon::show_context_menu()'],['../class_graph_view.html#af601febd487b3843e22be8478f001e85',1,'GraphView::show_context_menu()'],['../class_keyframe_view.html#aaa67d6fa6c5690c21f4ee0fbeefcb850',1,'KeyframeView::show_context_menu()'],['../class_source_icon_view.html#a4bcd6e53dc8161ca134f6980b4b8d759',1,'SourceIconView::show_context_menu()'],['../class_source_table.html#ae00c3de3434782b954e8411be7dbe246',1,'SourceTable::show_context_menu()'],['../class_timeline_header.html#ad97bdc9214612b34b872de33069c88f2',1,'TimelineHeader::show_context_menu()'],['../class_timeline_widget.html#ac75dc48c71e7e2db295483a1a7f83a9f',1,'TimelineWidget::show_context_menu()'],['../class_viewer_widget.html#a3c7bbbec72af5370ddb1d8f77ff417e4',1,'ViewerWidget::show_context_menu()']]], - ['show_5feffect_5fmenu',['show_effect_menu',['../class_effect_controls.html#ab8b2343e2d7173cdb3d03c79c3ad97e9',1,'EffectControls']]], - ['show_5ferr',['show_err',['../class_load_thread.html#a92ef922f2225110400c9642b3a8475b2',1,'LoadThread']]], - ['show_5ffullscreen_5fmsg',['show_fullscreen_msg',['../class_viewer_window.html#a6c6a7648d7fe8c4b2f54c9c18856a404',1,'ViewerWindow']]], - ['show_5finterface',['show_interface',['../class_v_s_t_host.html#a102989baa811d861ba06966fae838ec3',1,'VSTHost']]], - ['show_5finterface_5fbtn',['show_interface_btn',['../class_v_s_t_host.html#a01ec506d385d0e2e49f60f2bd370412b',1,'VSTHost']]], - ['show_5fproject_5ftoolbar',['show_project_toolbar',['../struct_config.html#a90b90dea81c95c5248c5fc5c299ef646',1,'Config']]], - ['show_5fsequences',['show_sequences',['../class_project_filter.html#a71d9eb1c1b6ad743ff5769104291ac76',1,'ProjectFilter']]], - ['show_5ftext',['show_text',['../class_timeline_header.html#a1a387af4fa8f1a75fc17494e6ca653a0',1,'TimelineHeader']]], - ['show_5ftitle_5fsafe_5farea',['show_title_safe_area',['../struct_config.html#a913f00b13f5695d2f4ea9aa8dccb130e',1,'Config']]], - ['show_5ftrack_5flines',['show_track_lines',['../struct_config.html#ade2b22690693cb77c196171f1426ff03',1,'Config']]], - ['showevent',['showEvent',['../class_debug_dialog.html#a91eb1369843f06146ef6ea14bdbd03f0',1,'DebugDialog']]], - ['showing_5fall',['showing_all',['../class_timeline.html#a0e68f624863c1fecb9e4348abf7fac8e',1,'Timeline']]], - ['single_5fthreaded',['single_threaded',['../struct_compose_sequence_params.html#ae3bc6f6e6766e44dfbd4f82b60f45689',1,'ComposeSequenceParams']]], - ['sinx',['sinX',['../class_tone_effect.html#a337148827c724001ee8301a1c9223e24',1,'ToneEffect']]], - ['size_5fcombobox',['size_combobox',['../class_proxy_dialog.html#ae229245cc0170872272901d85c558887',1,'ProxyDialog']]], - ['size_5fmultiplier',['size_multiplier',['../struct_proxy_info.html#a87db25840a08533a3790a469bd6dc858',1,'ProxyInfo']]], - ['size_5fval',['size_val',['../class_text_effect.html#acaa015db37427167165a6645af34b67a',1,'TextEffect']]], - ['sizehint',['sizeHint',['../class_flow_layout.html#a44acc6a84aaeee36b9d119096f6aa30c',1,'FlowLayout']]], - ['skip',['skip',['../class_proxy_generator.html#ada904e800c9a2fb3993e2c5faf6734b5',1,'ProxyGenerator']]], - ['slide_5ftool_5faction',['slide_tool_action',['../class_main_window.html#a8f7b4eb6f33f7ca0431b824693eebb26',1,'MainWindow']]], - ['slider_5fproxies',['slider_proxies',['../class_graph_editor.html#ac78ededbfccd64f419b5159734504662',1,'GraphEditor']]], - ['slider_5fproxy_5fbuttons',['slider_proxy_buttons',['../class_graph_editor.html#a1c6464140ffc2b450204cc08c3c7e082',1,'GraphEditor']]], - ['slider_5fproxy_5fsources',['slider_proxy_sources',['../class_graph_editor.html#aee12f99c1e1fe0caa8cb7686313693b7',1,'GraphEditor']]], - ['slip_5ftool_5faction',['slip_tool_action',['../class_main_window.html#ad18ac1f15570b946b85026c023ec1035',1,'MainWindow']]], - ['smallstepfloat',['smallStepFloat',['../struct___vst_parameter_properties.html#a336751dba8c724f9c1c4090652d00373',1,'_VstParameterProperties']]], - ['smartspacing',['smartSpacing',['../class_flow_layout.html#aa8c99ccccc834c47f125040205f1aac8',1,'FlowLayout']]], - ['smooth_5fautoscroll',['smooth_autoscroll',['../class_main_window.html#a16d6c4199ddb461d293cfed60adee339',1,'MainWindow']]], - ['smpte_5fbars',['SMPTE_BARS',['../solideffect_8cpp.html#ab2938e1f9f176e37864829a851effbda',1,'solideffect.cpp']]], - ['smpte_5flower_5fbars',['SMPTE_LOWER_BARS',['../solideffect_8cpp.html#afa52f66bae26f9049697987a2fb422a3',1,'solideffect.cpp']]], - ['smpte_5fstrip_5fcount',['SMPTE_STRIP_COUNT',['../solideffect_8cpp.html#afb548e06626b0d1ea3ed2a5116f9628d',1,'solideffect.cpp']]], - ['smpteframerate',['smpteFrameRate',['../struct___vst_time_info.html#a29584d969fcf53d1944028a0130167a9',1,'_VstTimeInfo']]], - ['smpteoffset',['smpteOffset',['../struct___vst_time_info.html#ab270c5967b6ae187c56cc9da4bca262a',1,'_VstTimeInfo']]], - ['snap_5fpoint',['snap_point',['../class_timeline.html#ad927d85e616749d642f9dad63d782637',1,'Timeline']]], - ['snap_5fto_5fpoint',['snap_to_point',['../class_timeline.html#afb930fc8648119d747f56ab86874731f',1,'Timeline']]], - ['snap_5fto_5ftimeline',['snap_to_timeline',['../class_timeline.html#afc358e2916180252996726c0c103bf32',1,'Timeline']]], - ['snap_5ftoggle',['snap_toggle',['../class_main_window.html#aff042b3b66152589138ee7ac95349e93',1,'MainWindow']]], - ['snapped',['snapped',['../class_timeline.html#ab999a31e89f51e359ec7b57ade792d88',1,'Timeline']]], - ['snapping',['snapping',['../class_timeline.html#a1a6c7e2b4ee7829c2707b844a0e2aa08',1,'Timeline::snapping()'],['../class_timeline_header.html#afe83149829832ebbb18e6ed80cf26e57',1,'TimelineHeader::snapping()']]], - ['snapping_5fclicked',['snapping_clicked',['../class_timeline.html#a8054e560669d30a2a353749e0cc76f7c',1,'Timeline']]], - ['snappingbutton',['snappingButton',['../class_timeline.html#a132745770484118225d6b3ace05d16fa',1,'Timeline']]], - ['solid_5fcolor_5ffield',['solid_color_field',['../class_solid_effect.html#ad9e348fdb2b36961070f2903dcf5b6b8',1,'SolidEffect']]], - ['solid_5ftype',['solid_type',['../class_solid_effect.html#afa8e5882e65821fb4992053f2b24cc36',1,'SolidEffect']]], - ['solid_5ftype_5fbars',['SOLID_TYPE_BARS',['../solideffect_8cpp.html#ac8bd59d5411b8d3e2f3dedecdcf192ec',1,'solideffect.cpp']]], - ['solid_5ftype_5fcheckerboard',['SOLID_TYPE_CHECKERBOARD',['../solideffect_8cpp.html#a7889b8f2c8b902e78f8e7a4c47a85b68',1,'solideffect.cpp']]], - ['solid_5ftype_5fcolor',['SOLID_TYPE_COLOR',['../solideffect_8cpp.html#a9bff71d65cfa4ed1693b2cf126430644',1,'solideffect.cpp']]], - ['solideffect',['SolidEffect',['../class_solid_effect.html',1,'SolidEffect'],['../class_solid_effect.html#a3f2ac0fa13ba7f3ba585fa4cafdf0c51',1,'SolidEffect::SolidEffect()']]], - ['solideffect_2ecpp',['solideffect.cpp',['../solideffect_8cpp.html',1,'']]], - ['solideffect_2eh',['solideffect.h',['../solideffect_8h.html',1,'']]], - ['solvecubicbezier',['solveCubicBezier',['../math_8h.html#a7df4248ab22ddea7450612ed0bcaa32a',1,'math.h']]], - ['sort_5fkeys_5ffrom_5ffield',['sort_keys_from_field',['../graphview_8cpp.html#a5e4990700e8bcfc3b53862469d9944ca',1,'graphview.cpp']]], - ['sorted',['sorted',['../class_delete_marker_action.html#a2e05be25ab252184f10f0fba416705b9',1,'DeleteMarkerAction']]], - ['sorter',['sorter',['../class_project.html#a222f707f8fa09312339ae0936c70296d',1,'Project']]], - ['sourceiconview',['SourceIconView',['../class_source_icon_view.html',1,'SourceIconView'],['../class_source_icon_view.html#ab81bd81849bf26770b66a0ea112579d0',1,'SourceIconView::SourceIconView()']]], - ['sourceiconview_2ecpp',['sourceiconview.cpp',['../sourceiconview_8cpp.html',1,'']]], - ['sourceiconview_2eh',['sourceiconview.h',['../sourceiconview_8h.html',1,'']]], - ['sources_5fcommon',['sources_common',['../class_project.html#a06614a32d5d5ec981d99cfd91e6f41d0',1,'Project']]], - ['sourcescommon',['SourcesCommon',['../class_sources_common.html',1,'SourcesCommon'],['../class_sources_common.html#a6a91e956b48dacc73a711fc51b3213de',1,'SourcesCommon::SourcesCommon()']]], - ['sourcescommon_2ecpp',['sourcescommon.cpp',['../sourcescommon_8cpp.html',1,'']]], - ['sourcescommon_2eh',['sourcescommon.h',['../sourcescommon_8h.html',1,'']]], - ['sourcetable',['SourceTable',['../class_source_table.html',1,'SourceTable'],['../class_source_table.html#a9520fa53cee61afc796b69204c635dfa',1,'SourceTable::SourceTable()']]], - ['sourcetable_2ecpp',['sourcetable.cpp',['../sourcetable_8cpp.html',1,'']]], - ['sourcetable_2eh',['sourcetable.h',['../sourcetable_8h.html',1,'']]], - ['speed',['speed',['../class_clip.html#aa36a857cdf853a621fbc77d930f3d7f2',1,'Clip::speed()'],['../struct_footage.html#a9b0a1c9020039c24d3acc0da3ab00764',1,'Footage::speed()']]], - ['speeddialog',['SpeedDialog',['../class_speed_dialog.html',1,'SpeedDialog'],['../class_speed_dialog.html#a40f9938a14cf11a31818b63399ac6867',1,'SpeedDialog::SpeedDialog()']]], - ['speeddialog_2ecpp',['speeddialog.cpp',['../speeddialog_8cpp.html',1,'']]], - ['speeddialog_2eh',['speeddialog.h',['../speeddialog_8h.html',1,'']]], - ['split_5fall_5fclips_5fat_5fpoint',['split_all_clips_at_point',['../class_timeline.html#a20d8a064e587ff2c9fe6a0e76464b0a4',1,'Timeline']]], - ['split_5fat_5fplayhead',['split_at_playhead',['../class_timeline.html#a89fe8ed5541d1bc49a67030a92022d4c',1,'Timeline']]], - ['split_5fcache',['split_cache',['../class_timeline.html#ad920d274cf7d20dca40579a3b03421a0',1,'Timeline']]], - ['split_5fclip',['split_clip',['../class_timeline.html#a73220f6b8e173fbfb1a957a007de4698',1,'Timeline::split_clip(ComboAction *ca, bool transitions, int p, long frame)'],['../class_timeline.html#a3e07895282df3c413100b15bb09fb813',1,'Timeline::split_clip(ComboAction *ca, bool transitions, int p, long frame, long post_in)']]], - ['split_5fclip_5fand_5frelink',['split_clip_and_relink',['../class_timeline.html#ad6362765b69afe9dd80187124ee2074c',1,'Timeline']]], - ['split_5fselection',['split_selection',['../class_timeline.html#ae95a359ddafd02725f90d5eadd32ee94',1,'Timeline']]], - ['split_5ftracks',['split_tracks',['../class_timeline.html#a4d2ecb3699190da79c8c2b8428ea44d4',1,'Timeline']]], - ['splitting',['splitting',['../class_timeline.html#a429e16260f5dc7822ef4ef575b0333b4',1,'Timeline']]], - ['start_5fcreate_5feffect_5fui',['start_create_effect_ui',['../class_load_thread.html#a772d6a5de14ae6d804d4382cdf8658d0',1,'LoadThread']]], - ['start_5fframe',['start_frame',['../struct_export_params.html#a890195e061f6d065e65d4c72d83017c0',1,'ExportParams']]], - ['start_5fmsecs',['start_msecs',['../class_viewer.html#a586497d87b294d193bdf57d731142234',1,'Viewer']]], - ['start_5fpreview_5fgenerator',['start_preview_generator',['../class_project.html#a5d76aeccbd65e1e41df07f68a8eb34df',1,'Project']]], - ['start_5fquestion',['start_question',['../class_load_thread.html#ae89d08ecab2cf155b669748e014c52ea',1,'LoadThread']]], - ['start_5frecording',['start_recording',['../audio_8cpp.html#aeaad577cd2212f44f19b1b3ea1b9ba58',1,'start_recording(): audio.cpp'],['../audio_8h.html#aeaad577cd2212f44f19b1b3ea1b9ba58',1,'start_recording(): audio.cpp']]], - ['start_5frender',['start_render',['../class_render_thread.html#a609030f2a43eea21a8f0e4cfd5340ed1',1,'RenderThread']]], - ['start_5fx',['start_x',['../class_graph_view.html#a9a746dc63b6c68b1d88412a9378b705b',1,'GraphView']]], - ['start_5fy',['start_y',['../class_graph_view.html#aa0d54828264ed89452695c2913b5880a',1,'GraphView']]], - ['starteffect',['startEffect',['../class_effect.html#a0571fe65293da45736f5f6c52ddaf77c',1,'Effect']]], - ['startplugin',['startPlugin',['../class_v_s_t_host.html#acc18c3679cfba96dac250bf0d0cdb135',1,'VSTHost']]], - ['stepfloat',['stepFloat',['../struct___vst_parameter_properties.html#a386c298aa7d9eb8a1fee1395f9c3eac7',1,'_VstParameterProperties']]], - ['stepinteger',['stepInteger',['../struct___vst_parameter_properties.html#aa90086019bfcb9e0614484101a93854a',1,'_VstParameterProperties']]], - ['stop',['stop',['../class_audio_sender_thread.html#a08ecfb4c95b3df92762ce5099d87c49c',1,'AudioSenderThread']]], - ['stop_5faudio',['stop_audio',['../audio_8cpp.html#aa12f059ef28b8c0b4759118fab0109ce',1,'stop_audio(): audio.cpp'],['../audio_8h.html#aa12f059ef28b8c0b4759118fab0109ce',1,'stop_audio(): audio.cpp']]], - ['stop_5frecording',['stop_recording',['../audio_8cpp.html#adfcd3d53f2f595333b8f763446726ebf',1,'stop_recording(): audio.cpp'],['../audio_8h.html#adfcd3d53f2f595333b8f763446726ebf',1,'stop_recording(): audio.cpp']]], - ['stop_5frename_5ftimer',['stop_rename_timer',['../class_sources_common.html#a191499da58396de26b9f857afcb44b41',1,'SourcesCommon']]], - ['stopplugin',['stopPlugin',['../class_v_s_t_host.html#ae4185e98c2576da94d44993a04f2ad48',1,'VSTHost']]], - ['stream',['stream',['../class_clip.html#a47483ce394883e886eba4ead0abf268a',1,'Clip']]], - ['subline_5fmin_5fpadding',['SUBLINE_MIN_PADDING',['../timelineheader_8cpp.html#ac93cdca2ccd541e72bd2e29f7dae364f',1,'timelineheader.cpp']]], - ['subtype',['subtype',['../struct_effect_meta.html#aae8890eea2957bdaf23503f0024b89e2',1,'EffectMeta']]], - ['success',['success',['../class_load_thread.html#afbafb52ff0dadc85d294e411948349dd',1,'LoadThread']]], - ['success_5ffunc',['success_func',['../class_load_thread.html#a4643c0aadbb73d0b5eaf86710b4b9684',1,'LoadThread']]], - ['surface',['surface',['../class_export_thread.html#a51de400208101c726d9595075dcef83f',1,'ExportThread::surface()'],['../class_render_thread.html#a72055fd9e69a053c4922ce85dac8d4dc',1,'RenderThread::surface()']]], - ['suspendplugin',['suspendPlugin',['../class_v_s_t_host.html#a5d7a26f0c436889df232c08242773353',1,'VSTHost']]], - ['swr_5fctx',['swr_ctx',['../class_export_thread.html#a0e9e26ac853c63170574b579c414aa22',1,'ExportThread']]], - ['swr_5fframe',['swr_frame',['../class_export_thread.html#a737eff8c28e732eae96fd41e222eb75b',1,'ExportThread']]], - ['sws_5fctx',['sws_ctx',['../class_export_thread.html#acd6a226998bcf25a550658362d85efdf',1,'ExportThread']]], - ['sws_5fframe',['sws_frame',['../class_export_thread.html#a8e365fa49d5dbc83d2b7e8c8396843d6',1,'ExportThread']]] -]; diff --git a/docs/html/search/all_14.html b/docs/html/search/all_14.html deleted file mode 100644 index 7fe46634d..000000000 --- a/docs/html/search/all_14.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_14.js b/docs/html/search/all_14.js deleted file mode 100644 index a803fcb6f..000000000 --- a/docs/html/search/all_14.js +++ /dev/null @@ -1,192 +0,0 @@ -var searchData= -[ - ['takeat',['takeAt',['../class_flow_layout.html#a77bbbcb308aeb94164dc365942d28f06',1,'FlowLayout']]], - ['target',['target',['../class_set_q_variant.html#ac511d75325cc0ce1284adefaaf9017a9',1,'SetQVariant']]], - ['tc_5fselect',['tc_select',['../class_timecode_effect.html#a0fed8b0a5e9b9b23c1a93a7a05012802',1,'TimecodeEffect']]], - ['temp_5fenc_5fcodec',['temp_enc_codec',['../proxygenerator_8cpp.html#a8cbb77510c6fdc74c6b4dfcde0862ca8',1,'proxygenerator.cpp']]], - ['temp_5fid',['temp_id',['../class_media.html#a365017b95dc81fcbc3262439d9e4c847',1,'Media']]], - ['temp_5fid2',['temp_id2',['../class_media.html#a38432411796e938a9dc7c49d92d9d370',1,'Media']]], - ['temp_5fpanel_5fstate',['temp_panel_state',['../class_main_window.html#a2fec527668af97764387fa340dd26cc0',1,'MainWindow']]], - ['temp_5fworkarea_5fin',['temp_workarea_in',['../class_timeline_header.html#a1954ef6014d2d7d82245fdcacf26e2b1',1,'TimelineHeader']]], - ['temp_5fworkarea_5fout',['temp_workarea_out',['../class_timeline_header.html#ad510760f3c5fd96be10087a58c53d34e',1,'TimelineHeader']]], - ['tempo',['tempo',['../struct___vst_time_info.html#a6192a6d6c8539e3c9712dcfa5a4ac7e9',1,'_VstTimeInfo']]], - ['tex_5fheight',['tex_height',['../class_render_thread.html#a99ffc30d3601a3aeac0e1e16d9894878',1,'RenderThread']]], - ['tex_5fwidth',['tex_width',['../class_render_thread.html#af8446d4f16585121caf7c46984e4e29a',1,'RenderThread']]], - ['text',['text',['../class_text_edit_ex.html#a71631bba685bc758d3d604b1caf452ca',1,'TextEditEx']]], - ['text_5fedit_5fmenu',['text_edit_menu',['../class_text_effect.html#a87a0991b1f53660702ff0b96da8e26d1',1,'TextEffect']]], - ['text_5fenabled',['text_enabled',['../class_timeline_header.html#a2fef68afe145e041fa0cd6d9475cc8ea',1,'TimelineHeader']]], - ['text_5fpadding_5ffrom_5fline',['TEXT_PADDING_FROM_LINE',['../timelineheader_8cpp.html#a109acb3752a94846ac7fea0771a202bf',1,'timelineheader.cpp']]], - ['text_5fval',['text_val',['../class_text_effect.html#a88a6e41f96fe84c74cdf37f535d9605d',1,'TextEffect']]], - ['textedit',['textEdit',['../class_debug_dialog.html#a02b5385d14d2e09c46ec6a0ed86991b5',1,'DebugDialog::textEdit()'],['../class_text_edit_dialog.html#a9f609715de7932ad555ce15ec1f0cd6f',1,'TextEditDialog::textEdit()']]], - ['texteditdialog',['TextEditDialog',['../class_text_edit_dialog.html',1,'TextEditDialog'],['../class_text_edit_dialog.html#a2efc15e79b884c5839f3a204ed84706a',1,'TextEditDialog::TextEditDialog()']]], - ['texteditdialog_2ecpp',['texteditdialog.cpp',['../texteditdialog_8cpp.html',1,'']]], - ['texteditdialog_2eh',['texteditdialog.h',['../texteditdialog_8h.html',1,'']]], - ['texteditex',['TextEditEx',['../class_text_edit_ex.html',1,'TextEditEx'],['../class_text_edit_ex.html#aa45facec224c6c85c1e2af926f1a5f0a',1,'TextEditEx::TextEditEx()']]], - ['texteditex_2ecpp',['texteditex.cpp',['../texteditex_8cpp.html',1,'']]], - ['texteditex_2eh',['texteditex.h',['../texteditex_8h.html',1,'']]], - ['texteffect',['TextEffect',['../class_text_effect.html',1,'TextEffect'],['../class_text_effect.html#a7ac0389720aecac547d2334e07a85613',1,'TextEffect::TextEffect()']]], - ['texteffect_2ecpp',['texteffect.cpp',['../texteffect_8cpp.html',1,'']]], - ['texteffect_2eh',['texteffect.h',['../texteffect_8h.html',1,'']]], - ['texture',['texture',['../class_clip.html#a7f8cf4df016016ab3afe902832fe46b6',1,'Clip::texture()'],['../class_effect.html#a0268b161503df8d8fb180dd266686bfa',1,'Effect::texture()'],['../class_viewer_window.html#a35a903174b31a56d9b7faedace7f4cdf',1,'ViewerWindow::texture()']]], - ['texture_5ffailed',['texture_failed',['../struct_compose_sequence_params.html#a66ee6093b239f9a46d83a729a0f702ba',1,'ComposeSequenceParams::texture_failed()'],['../class_render_thread.html#a9bd4da1cf77b84c3f9d5517a3686072b',1,'RenderThread::texture_failed()']]], - ['texture_5fframe',['texture_frame',['../class_clip.html#a0803c21026f6857762b3f754131f4883',1,'Clip']]], - ['texturebottomleftq',['textureBottomLeftQ',['../struct_g_l_texture_coords.html#aeae97ad8c2404e94b6885c0cbdb453de',1,'GLTextureCoords']]], - ['texturebottomleftx',['textureBottomLeftX',['../struct_g_l_texture_coords.html#aac58563744038d283efe756a9b3668b0',1,'GLTextureCoords']]], - ['texturebottomlefty',['textureBottomLeftY',['../struct_g_l_texture_coords.html#a8221ab9a2ca698e09357c8080cf67afc',1,'GLTextureCoords']]], - ['texturebottomrightq',['textureBottomRightQ',['../struct_g_l_texture_coords.html#a9c6e8f6f3378ce99f08e68c85109d630',1,'GLTextureCoords']]], - ['texturebottomrightx',['textureBottomRightX',['../struct_g_l_texture_coords.html#a28a761e698428cf41a56d5b9afd312b0',1,'GLTextureCoords']]], - ['texturebottomrighty',['textureBottomRightY',['../struct_g_l_texture_coords.html#a2be852d624ec65cad4647b7f33217677',1,'GLTextureCoords']]], - ['texturetopleftq',['textureTopLeftQ',['../struct_g_l_texture_coords.html#a694962e105a858ff73b86eaa517a693e',1,'GLTextureCoords']]], - ['texturetopleftx',['textureTopLeftX',['../struct_g_l_texture_coords.html#aa3e2e80d3ab34b97e490bd5cdba1089e',1,'GLTextureCoords']]], - ['texturetoplefty',['textureTopLeftY',['../struct_g_l_texture_coords.html#a53ecb931381c64651b2146871cc0464e',1,'GLTextureCoords']]], - ['texturetoprightq',['textureTopRightQ',['../struct_g_l_texture_coords.html#ac70437213a9d4540eba78d83774fbff1',1,'GLTextureCoords']]], - ['texturetoprightx',['textureTopRightX',['../struct_g_l_texture_coords.html#a7c9394a6779db7c7204300c804e16b16',1,'GLTextureCoords']]], - ['texturetoprighty',['textureTopRightY',['../struct_g_l_texture_coords.html#a020cc39a725167580ddd93000b2c31ca',1,'GLTextureCoords']]], - ['thread_5fdone',['thread_done',['../class_load_dialog.html#a13b364fc56238017e7a9d7faa8a43830',1,'LoadDialog']]], - ['throbber_5fanimation_5fframe_5f',['throbber_animation_frame_',['../class_media_icon_service.html#a982237139d151d002f13992293a75c6e',1,'MediaIconService']]], - ['throbber_5fanimator_5f',['throbber_animator_',['../class_media_icon_service.html#a2693b8b0505d1da072c3b932426e6dd4',1,'MediaIconService']]], - ['throbber_5fitems_5f',['throbber_items_',['../class_media_icon_service.html#ab6463d30130baefb5eee4b90e023dc28',1,'MediaIconService']]], - ['throbber_5flock_5f',['throbber_lock_',['../class_media_icon_service.html#ad232b726d9dcf058d4feab52bc2711d0',1,'MediaIconService']]], - ['throbber_5fpixmap_5f',['throbber_pixmap_',['../class_media_icon_service.html#aa93ad15f725ca496f1de11c0450d28df',1,'MediaIconService']]], - ['thumb_5fdata_5fcleanup',['thumb_data_cleanup',['../previewgenerator_8cpp.html#a23b92914ae1ea5c33776dae6814cc32f',1,'previewgenerator.cpp']]], - ['thumbnail_5fres_5fspinbox',['thumbnail_res_spinbox',['../class_preferences_dialog.html#af8b2f4a5fcad500882d33d2f9aa911a9',1,'PreferencesDialog']]], - ['thumbnail_5fresolution',['thumbnail_resolution',['../struct_config.html#af6e3af5d3e1c47c439ded5164df3119f',1,'Config']]], - ['time',['time',['../class_effect_keyframe.html#af970dc59f108ff14ef58eaa1a1ef0798',1,'EffectKeyframe::time()'],['../class_add_marker_action.html#a8438ceb79b9310d0292427d2f3828259',1,'AddMarkerAction::time()']]], - ['timecode_5fto_5fframe',['timecode_to_frame',['../viewer_8cpp.html#a486644e61fff240c2cf1f8e5135b272d',1,'timecode_to_frame(const QString &s, int view, double frame_rate): viewer.cpp'],['../viewer_8h.html#a486644e61fff240c2cf1f8e5135b272d',1,'timecode_to_frame(const QString &s, int view, double frame_rate): viewer.cpp']]], - ['timecode_5fview',['timecode_view',['../struct_config.html#a11feea70575afedc5989f357f345b1ac',1,'Config']]], - ['timecodeeffect',['TimecodeEffect',['../class_timecode_effect.html',1,'TimecodeEffect'],['../class_timecode_effect.html#a614a0ee99fc2ac7d423f8149ca3ee086',1,'TimecodeEffect::TimecodeEffect()']]], - ['timecodeeffect_2ecpp',['timecodeeffect.cpp',['../timecodeeffect_8cpp.html',1,'']]], - ['timecodeeffect_2eh',['timecodeeffect.h',['../timecodeeffect_8h.html',1,'']]], - ['timecodetoframe',['timecodeToFrame',['../class_effect_field.html#aff4c42bc1c393b1e60b5b7b57426a7fb',1,'EffectField']]], - ['timecodetype',['TimecodeType',['../namespaceolive.html#a04099e7d8a7121ab6a67eb83dce7390f',1,'olive']]], - ['timeline',['Timeline',['../class_timeline.html',1,'Timeline'],['../class_timeline.html#a52c06629ecbc4aeecc94120469f7144b',1,'Timeline::Timeline()']]], - ['timeline_2ecpp',['timeline.cpp',['../timeline_8cpp.html',1,'']]], - ['timeline_2eh',['timeline.h',['../timeline_8h.html',1,'']]], - ['timeline_5farea',['timeline_area',['../class_timeline.html#ae16c8141b07cc7b2dd71bde668eca49b',1,'Timeline']]], - ['timeline_5fin',['timeline_in',['../class_clip.html#a01da5e208ad27543ed25a547aff60cb7',1,'Clip']]], - ['timeline_5fout',['timeline_out',['../class_clip.html#aa6bae9bd222c7924b899c565b87fd5ba',1,'Clip']]], - ['timeline_5ftool_5fcount',['TIMELINE_TOOL_COUNT',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2ac154130ebc0274d835fe4685f75710fb',1,'timelinetools.h']]], - ['timeline_5ftool_5fedit',['TIMELINE_TOOL_EDIT',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2aa0e6467cc9147779ce92a32ba4a363f6',1,'timelinetools.h']]], - ['timeline_5ftool_5fhand',['TIMELINE_TOOL_HAND',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2aa8f05408c90fdd2978897d6d3adb13ff',1,'timelinetools.h']]], - ['timeline_5ftool_5fmenu',['TIMELINE_TOOL_MENU',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a846c6d07d5f0fb8dfa1246da311496e9',1,'timelinetools.h']]], - ['timeline_5ftool_5fpointer',['TIMELINE_TOOL_POINTER',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a1cae4a2e2431def4170bc0c356c9aae9',1,'timelinetools.h']]], - ['timeline_5ftool_5frazor',['TIMELINE_TOOL_RAZOR',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a9e74a7999187e0e25673d69ce731beb8',1,'timelinetools.h']]], - ['timeline_5ftool_5fripple',['TIMELINE_TOOL_RIPPLE',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2ad4d60157b197a5fdcb42f0b56e38693b',1,'timelinetools.h']]], - ['timeline_5ftool_5frolling',['TIMELINE_TOOL_ROLLING',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2add94857945e40fe9f4450a1f04ac2092',1,'timelinetools.h']]], - ['timeline_5ftool_5fslide',['TIMELINE_TOOL_SLIDE',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a953a6999f3a97da050a70d650e2ecc63',1,'timelinetools.h']]], - ['timeline_5ftool_5fslip',['TIMELINE_TOOL_SLIP',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a546e09bf2bb13bacf32b580174b4518d',1,'timelinetools.h']]], - ['timeline_5ftool_5ftransition',['TIMELINE_TOOL_TRANSITION',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a4e830f0c765e232535e09ee796aa5086',1,'timelinetools.h']]], - ['timeline_5ftool_5fzoom',['TIMELINE_TOOL_ZOOM',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a2db317ce547d5f594304a8b5472d079e',1,'timelinetools.h']]], - ['timelineheader',['TimelineHeader',['../class_timeline_header.html',1,'TimelineHeader'],['../class_timeline_header.html#add7e74ee4cde25382ede017999daf406',1,'TimelineHeader::TimelineHeader()']]], - ['timelineheader_2ecpp',['timelineheader.cpp',['../timelineheader_8cpp.html',1,'']]], - ['timelineheader_2eh',['timelineheader.h',['../timelineheader_8h.html',1,'']]], - ['timelinetool',['TimelineTool',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2',1,'timelinetools.h']]], - ['timelinetools_2eh',['timelinetools.h',['../timelinetools_8h.html',1,'']]], - ['timelinetrackheight',['TimelineTrackHeight',['../struct_timeline_track_height.html',1,'']]], - ['timelinewidget',['TimelineWidget',['../class_timeline_widget.html',1,'TimelineWidget'],['../class_timeline_widget.html#a2a7da2c0079c849f03f982a2468b197d',1,'TimelineWidget::TimelineWidget()']]], - ['timelinewidget_2ecpp',['timelinewidget.cpp',['../timelinewidget_8cpp.html',1,'']]], - ['timelinewidget_2eh',['timelinewidget.h',['../timelinewidget_8h.html',1,'']]], - ['timer_5fupdate',['timer_update',['../class_viewer.html#a2857336d2635c59dd803f964ed02be3c',1,'Viewer']]], - ['timesigdenominator',['timeSigDenominator',['../struct___vst_time_info.html#a1b2bd58080d38a64efab7a6fe5704409',1,'_VstTimeInfo']]], - ['timesignumerator',['timeSigNumerator',['../struct___vst_time_info.html#ab6159414f43d562748a22ca639ea0805',1,'_VstTimeInfo']]], - ['title_5fbar',['title_bar',['../class_collapsible_widget.html#ac7a24450fff0f6ad906c439c2091fb24',1,'CollapsibleWidget']]], - ['title_5fbar_5flayout',['title_bar_layout',['../class_collapsible_widget.html#a1639c6211fd6d0dbafe310ee4b14c3c5',1,'CollapsibleWidget']]], - ['title_5fsafe_5f169',['title_safe_169',['../class_main_window.html#a3980c38d89adc6b8d0c9a0ae7ec11d9b',1,'MainWindow']]], - ['title_5fsafe_5f43',['title_safe_43',['../class_main_window.html#a911ea66c83e2894e71245650fabdf11a',1,'MainWindow']]], - ['title_5fsafe_5fcustom',['title_safe_custom',['../class_main_window.html#a04c50d99b7286c287238f0581c9e633e',1,'MainWindow']]], - ['title_5fsafe_5fdefault',['title_safe_default',['../class_main_window.html#aafaad55b601afeb14ba45593b7ed7e79',1,'MainWindow']]], - ['title_5fsafe_5foff',['title_safe_off',['../class_main_window.html#abdaf884d0b3a191b2b44973f51af154c',1,'MainWindow']]], - ['to',['to',['../class_media_move.html#a35cb2347b35850088756b3f7f0fb64b4',1,'MediaMove::to()'],['../class_media_rename.html#a528404a2a1bfac716d61e07bded20aa0',1,'MediaRename::to()'],['../class_move_effect_command.html#a0486112e22c21b773a616a509a3a515e',1,'MoveEffectCommand::to()']]], - ['to_5ffootage',['to_footage',['../class_media.html#ac45ea6cfc8137d8ef85e35fcc278e4be',1,'Media']]], - ['to_5fobject',['to_object',['../class_media.html#a06b8c887b6912787dab497568c1a99e5',1,'Media']]], - ['to_5fsequence',['to_sequence',['../class_media.html#a645dca73b7d3304d88f5cbe561da269b',1,'Media']]], - ['toggle_5fautoscale',['toggle_autoscale',['../class_timeline_widget.html#abbd2dcf6f918c2b3eac435a4f8ff561e',1,'TimelineWidget']]], - ['toggle_5fbool_5faction',['toggle_bool_action',['../class_menu_helper.html#a89ebceb4b52b93ea82ec7fa7ac253718',1,'MenuHelper']]], - ['toggle_5fenable_5fon_5fselected_5fclips',['toggle_enable_on_selected_clips',['../class_timeline.html#a4cb7175aab3569267adf3190471f3338',1,'Timeline']]], - ['toggle_5ffull_5fscreen',['toggle_full_screen',['../class_main_window.html#a3eb037c22e6f684831e3a8eeec0101c4',1,'MainWindow']]], - ['toggle_5fkey',['toggle_key',['../class_effect_row.html#ab27a8f41c9e473c65c13642f5ed7ba77',1,'EffectRow::toggle_key()'],['../class_keyframe_navigator.html#a979032163a5f3ffbe696f0092c6f32a9',1,'KeyframeNavigator::toggle_key()']]], - ['toggle_5flinks',['toggle_links',['../class_timeline.html#a92fca9db81bb36cb2cc6a66850d05da3',1,'Timeline']]], - ['toggle_5fpanel_5fvisibility',['toggle_panel_visibility',['../class_main_window.html#a3a8a0f75baca4ee12fc7ebfe6c05e45b',1,'MainWindow']]], - ['toggle_5fplay',['toggle_play',['../class_viewer.html#aad40885fd5e7a7151317d1b20a8ff24b',1,'Viewer']]], - ['toggle_5fshow_5fall',['toggle_show_all',['../class_timeline.html#a724f665aa4dab0f3b8a6a1a9466a88eb',1,'Timeline']]], - ['toggle_5funiform_5fscale',['toggle_uniform_scale',['../class_transform_effect.html#aabbede087616878aaaa21e21ef5d4687',1,'TransformEffect']]], - ['toggled',['toggled',['../class_effect_field.html#a23ccea5626662d050e8790a997abc20c',1,'EffectField']]], - ['tone_5ftype_5fsine',['TONE_TYPE_SINE',['../toneeffect_8cpp.html#abd4bbfc4fdc0bac412035d67e267bf89',1,'toneeffect.cpp']]], - ['toneeffect',['ToneEffect',['../class_tone_effect.html',1,'ToneEffect'],['../class_tone_effect.html#a02279d904ec5b1145c2c906272b51099',1,'ToneEffect::ToneEffect()']]], - ['toneeffect_2ecpp',['toneeffect.cpp',['../toneeffect_8cpp.html',1,'']]], - ['toneeffect_2eh',['toneeffect.h',['../toneeffect_8h.html',1,'']]], - ['tool',['tool',['../class_timeline.html#a5bcd297b6b4cfc08fe4999e2daf745a3',1,'Timeline']]], - ['tool_5fbutton_5fwidget',['tool_button_widget',['../class_timeline.html#aba356b1d8aabfde8e647b0590f890464',1,'Timeline']]], - ['tool_5fbuttons',['tool_buttons',['../class_timeline.html#a7acf0dd881d42fce85f7fe6f2691db7a',1,'Timeline']]], - ['toolarrowbutton',['toolArrowButton',['../class_timeline.html#a0a2de91fb39240de7f4f7fc68c48ab95',1,'Timeline']]], - ['toolbar_5fsearch',['toolbar_search',['../class_project.html#ad138604a2a599e84083e27a07bea0d36',1,'Project']]], - ['toolbar_5fwidget',['toolbar_widget',['../class_project.html#aeb3af8c9320e23f00c97fe5e9be1cfda',1,'Project']]], - ['tooleditbutton',['toolEditButton',['../class_timeline.html#a57570e3128f55a443251c1c8a5de98d0',1,'Timeline']]], - ['toolhandbutton',['toolHandButton',['../class_timeline.html#ab3b28a3c9f242ae5f5669647cbd0984e',1,'Timeline']]], - ['toolmenu_5fabout_5fto_5fbe_5fshown',['toolMenu_About_To_Be_Shown',['../class_main_window.html#a2de6d447c7936ae2f9964c4b5b1ee1c6',1,'MainWindow']]], - ['toolrazorbutton',['toolRazorButton',['../class_timeline.html#a47b98aa4949745d8d75e6fd4507b1911',1,'Timeline']]], - ['toolripplebutton',['toolRippleButton',['../class_timeline.html#ac72386eabe65830a5a4541849c521c71',1,'Timeline']]], - ['toolslidebutton',['toolSlideButton',['../class_timeline.html#aaac686ac73cc953d833c59aed15767c3',1,'Timeline']]], - ['toolslipbutton',['toolSlipButton',['../class_timeline.html#a3ee296eefbe3a97d60d8f8a8a6d3d55d',1,'Timeline']]], - ['tooltip',['tooltip',['../struct_effect_meta.html#aa4dc08935ee3c7877820f34c076182a5',1,'EffectMeta::tooltip()'],['../class_media.html#aff5946c600f6504e3799b044a8111fc3',1,'Media::tooltip()']]], - ['tooltip_5fclip',['tooltip_clip',['../class_timeline_widget.html#a368861b383a02f7e40d1ec7ac6a01c40',1,'TimelineWidget']]], - ['tooltip_5ftimer',['tooltip_timer',['../class_timeline_widget.html#a4634679d19a6688ef98e14572daef43d',1,'TimelineWidget']]], - ['tooltip_5ftimer_5ftimeout',['tooltip_timer_timeout',['../class_timeline_widget.html#a4d2eff0ff7415d59f028471a414f14f5',1,'TimelineWidget']]], - ['tooltransitionbutton',['toolTransitionButton',['../class_timeline.html#a511e2dae85fb6badc139852b417eb08d',1,'Timeline']]], - ['top',['top',['../struct_v_s_t_rect.html#ac3f7a1cb703ce6b84aecb2f55a18e5c4',1,'VSTRect']]], - ['top_5fcenter_5fgizmo',['top_center_gizmo',['../class_transform_effect.html#a9028cabcb840be84fac3722b81371930',1,'TransformEffect']]], - ['top_5fleft_5fgizmo',['top_left_gizmo',['../class_corner_pin_effect.html#a57586bc302a13be83ec329f8415d7c8b',1,'CornerPinEffect::top_left_gizmo()'],['../class_transform_effect.html#adbdc1226d4804f5d8bda78f1585d2cfb',1,'TransformEffect::top_left_gizmo()']]], - ['top_5fleft_5fx',['top_left_x',['../class_corner_pin_effect.html#acfdad0a879f51975d0d1da9e8e16a152',1,'CornerPinEffect']]], - ['top_5fleft_5fy',['top_left_y',['../class_corner_pin_effect.html#ad84ebb2d169a252a176f43eb5f4e48ea',1,'CornerPinEffect']]], - ['top_5fright_5fgizmo',['top_right_gizmo',['../class_corner_pin_effect.html#a7357bdd37f32dea25992fb4463e7d546',1,'CornerPinEffect::top_right_gizmo()'],['../class_transform_effect.html#a083e96b371dddae8f9087a0d4391587d',1,'TransformEffect::top_right_gizmo()']]], - ['top_5fright_5fx',['top_right_x',['../class_corner_pin_effect.html#a66067b315f157660bc879bd2e45163c7',1,'CornerPinEffect']]], - ['top_5fright_5fy',['top_right_y',['../class_corner_pin_effect.html#a542f7fc27dbe236a8f3c7680127da021',1,'CornerPinEffect']]], - ['total_5felement_5fcount',['total_element_count',['../class_load_thread.html#adf282ca6df51de613b1691a561f4c269',1,'LoadThread']]], - ['track',['track',['../struct_ghost.html#a232acead57fa7c19e18c6900428a91a0',1,'Ghost::track()'],['../class_clip.html#a3ce803fe2abee7608154a1d0c508090b',1,'Clip::track()'],['../struct_selection.html#ac248f9db579185fe71c3961a17e6c7bd',1,'Selection::track()']]], - ['track_5fheights',['track_heights',['../class_timeline.html#ab6f12e222f6ec6e931bb920e5f2eabd7',1,'Timeline']]], - ['track_5flines',['track_lines',['../class_main_window.html#a02e872dc2dd3ceefe8a696dd17b15a9f',1,'MainWindow']]], - ['track_5flist',['track_list',['../class_media_properties_dialog.html#aff18a1576e00471bc96812262d9124e7',1,'MediaPropertiesDialog']]], - ['track_5fresizing',['track_resizing',['../class_timeline_widget.html#a647df0c815a6348f8e2865d6a946c036',1,'TimelineWidget']]], - ['track_5ftarget',['track_target',['../class_timeline_widget.html#a4c1fc14303528f45edfeac5d4438114e',1,'TimelineWidget']]], - ['transcode',['transcode',['../class_proxy_generator.html#a427f27fda949b606070802f77c627709',1,'ProxyGenerator']]], - ['transformeffect',['TransformEffect',['../class_transform_effect.html',1,'TransformEffect'],['../class_transform_effect.html#af402969a317335752b59191bf772e217',1,'TransformEffect::TransformEffect()']]], - ['transformeffect_2ecpp',['transformeffect.cpp',['../transformeffect_8cpp.html',1,'']]], - ['transformeffect_2eh',['transformeffect.h',['../transformeffect_8h.html',1,'']]], - ['transition',['Transition',['../class_transition.html',1,'Transition'],['../class_transition.html#ad07fa26d8c60f408fe40bb3e7366b8db',1,'Transition::Transition()'],['../struct_ghost.html#a8909a809acc44fb1f71054878e4f7fc5',1,'Ghost::transition()']]], - ['transition_2ecpp',['transition.cpp',['../transition_8cpp.html',1,'']]], - ['transition_2eh',['transition.h',['../transition_8h.html',1,'']]], - ['transition_5fbetween_5frange',['TRANSITION_BETWEEN_RANGE',['../timelinewidget_8cpp.html#a118ad3139a821eb0c09cc3362a4611ab',1,'timelinewidget.cpp']]], - ['transition_5finternal_5fcount',['TRANSITION_INTERNAL_COUNT',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311aa254a271c876386f1c3b36b348113f55',1,'transition.h']]], - ['transition_5finternal_5fcrossdissolve',['TRANSITION_INTERNAL_CROSSDISSOLVE',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311aa44d9cc1ca8e6ffd3910b7adabbee108',1,'transition.h']]], - ['transition_5finternal_5fcube',['TRANSITION_INTERNAL_CUBE',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311ac9a526dcc7a0ddb5da3e216c1158644b',1,'transition.h']]], - ['transition_5finternal_5fexponentialfade',['TRANSITION_INTERNAL_EXPONENTIALFADE',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311aad518383a7719e4a771a916db731f4bf',1,'transition.h']]], - ['transition_5finternal_5flinearfade',['TRANSITION_INTERNAL_LINEARFADE',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311acbaa562eb851e10eabb81fbaeb535447',1,'transition.h']]], - ['transition_5finternal_5flogarithmicfade',['TRANSITION_INTERNAL_LOGARITHMICFADE',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311adf394cff45021a18f17c7a76a23ce6cd',1,'transition.h']]], - ['transition_5fmenu_5fselect',['transition_menu_select',['../class_timeline.html#a51847f64014a271f0d655e3e2f552e2f',1,'Timeline']]], - ['transition_5fmeta_5f',['transition_meta_',['../class_add_transition_command.html#a6ada0712ab493c63f62b8ace3b1388d0',1,'AddTransitionCommand']]], - ['transition_5fref_5f',['transition_ref_',['../class_modify_transition_command.html#a5dd930bf0c35ec34d13ac35f29f06c0d',1,'ModifyTransitionCommand::transition_ref_()'],['../class_delete_transition_command.html#ab6afd0bb978c8c0fc0127636d5a1296c',1,'DeleteTransitionCommand::transition_ref_()']]], - ['transition_5fselect',['transition_select',['../class_timeline.html#a5518b21518367ffecc3a148e68edd300',1,'Timeline']]], - ['transition_5fto_5fcopy_5f',['transition_to_copy_',['../class_add_transition_command.html#ac723b97aa1a88a3540e01a66440b0b18',1,'AddTransitionCommand']]], - ['transition_5ftool_5faction',['transition_tool_action',['../class_main_window.html#aa9656676df62f4e968c1e11f69462cdd',1,'MainWindow']]], - ['transition_5ftool_5fclick',['transition_tool_click',['../class_timeline.html#a38ae060d260ce6c4930960e988f47828',1,'Timeline']]], - ['transition_5ftool_5fclose_5fclip',['transition_tool_close_clip',['../class_timeline.html#ad13a23d26f96d294c9da68c80da5ea45',1,'Timeline']]], - ['transition_5ftool_5finit',['transition_tool_init',['../class_timeline.html#a103220316fa35b8ebc01f73d7ac20e11',1,'Timeline']]], - ['transition_5ftool_5fmeta',['transition_tool_meta',['../class_timeline.html#ab7e1de8cae0dc6ad5a1cfa40bc57fdcc',1,'Timeline']]], - ['transition_5ftool_5fopen_5fclip',['transition_tool_open_clip',['../class_timeline.html#a23d0cc61d346fcb83c98f4ae3551fb2c',1,'Timeline']]], - ['transition_5ftool_5fproc',['transition_tool_proc',['../class_timeline.html#a61edf25604d0d4608b75d472c81dc088',1,'Timeline']]], - ['transition_5ftool_5fside',['transition_tool_side',['../class_timeline.html#a2270318042895e56c1935cd85059859a',1,'Timeline']]], - ['transitioninternal',['TransitionInternal',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311',1,'transition.h']]], - ['transitionptr',['TransitionPtr',['../transition_8h.html#a8d0836efe0f38d1f8e07298abda7ec98',1,'transition.h']]], - ['transitiontype',['TransitionType',['../transition_8h.html#a4e38d9519e74e10eccdfda5c5b92b283',1,'transition.h']]], - ['translator',['translator',['../class_olive_global.html#a169a70f162ce78741c41ae14bf6c88bc',1,'OliveGlobal']]], - ['tree',['tree',['../class_replace_clip_media_dialog.html#a6d2dc7ce1a28cb2a524c64d72b4353af',1,'ReplaceClipMediaDialog']]], - ['tree_5fview',['tree_view',['../class_project.html#ab8a4a2becccc0566510cac2cd213801e',1,'Project']]], - ['trim_5fin',['trim_in',['../struct_selection.html#a78cea0389e54eb94df8b655731052d3c',1,'Selection::trim_in()'],['../timeline_8h.html#a3b8761f40035433d3f9bdec33a076b30aadb42980dbfc4a50bcdf82c1c2b281e7',1,'TRIM_IN(): timeline.h']]], - ['trim_5fnone',['TRIM_NONE',['../timeline_8h.html#a3b8761f40035433d3f9bdec33a076b30a0a47e283e69dc1136cbafa8ba1908843',1,'timeline.h']]], - ['trim_5fout',['TRIM_OUT',['../timeline_8h.html#a3b8761f40035433d3f9bdec33a076b30a193d4dfcef51098a7af504ce824de5c1',1,'timeline.h']]], - ['trim_5ftarget',['trim_target',['../class_timeline.html#abefa5bda6a497bb3d5131a3d283bc7fc',1,'Timeline']]], - ['trim_5ftype',['trim_type',['../struct_ghost.html#a8227360ec3d7269986a0060c9e10e768',1,'Ghost::trim_type()'],['../class_timeline.html#a0df4abb3e1cccdd409964cee26b7b604',1,'Timeline::trim_type()']]], - ['trimtype',['TrimType',['../timeline_8h.html#a3b8761f40035433d3f9bdec33a076b30',1,'timeline.h']]], - ['type',['type',['../struct___vst_midi_event.html#a42edb733588a818462895da6f805efe6',1,'_VstMidiEvent::type()'],['../struct_effect_meta.html#a9c2d2690cb99d135c0ea7928be8608ff',1,'EffectMeta::type()'],['../class_effect_field.html#adab406c9d409ac00b4acba4f54f0d04a',1,'EffectField::type()'],['../class_effect_gizmo.html#a6ca570fc63e7fcb4f084fe5ab9ed5144',1,'EffectGizmo::type()'],['../class_effect_keyframe.html#a09e75b0b6a7e006ed5e0e4429cb1b5ed',1,'EffectKeyframe::type()'],['../class_media.html#a1e6cc2ab25b503593e4558b350aee716',1,'Media::type()']]], - ['type_5fval',['type_val',['../class_tone_effect.html#a2e790bcb4d5aece938dd9903542db16a',1,'ToneEffect']]] -]; diff --git a/docs/html/search/all_15.html b/docs/html/search/all_15.html deleted file mode 100644 index c0fc0aab7..000000000 --- a/docs/html/search/all_15.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_15.js b/docs/html/search/all_15.js deleted file mode 100644 index b12393562..000000000 --- a/docs/html/search/all_15.js +++ /dev/null @@ -1,65 +0,0 @@ -var searchData= -[ - ['ui',['ui',['../class_effect.html#aa9b41501e888b96745e3d6b79c9b7a95',1,'Effect::ui()'],['../class_effect_row.html#ae910670374f71161072afc7ef77edcba',1,'EffectRow::ui()']]], - ['ui_5felement',['ui_element',['../class_effect_field.html#a6468253517cf9b5daf00a9edc1fb5cd3',1,'EffectField']]], - ['ui_5felement_5fchange',['ui_element_change',['../class_effect_field.html#a4356bcdf1f0ff9a6bd0f987bfc3294f1',1,'EffectField']]], - ['ui_5flayout',['ui_layout',['../class_effect.html#a68c960cf418decf51c62b2807fa92f7d',1,'Effect']]], - ['ui_5frow',['ui_row',['../class_effect_row.html#a8ad2b52ca48f026b1a4fdaea0b46e1a2',1,'EffectRow']]], - ['ui_5fupdate',['ui_update',['../class_solid_effect.html#a4db91ff3f85f92710045229d83b67e9d',1,'SolidEffect']]], - ['uncheck_5fshow_5fbutton',['uncheck_show_button',['../class_v_s_t_host.html#a2bbf530361c68a06ff317f863d1183ef',1,'VSTHost']]], - ['uncue_5frecording',['uncue_recording',['../class_viewer.html#ae085569f5dff5247ff1852a73e87c4d6',1,'Viewer']]], - ['undeletable',['undeletable',['../class_clip.html#a3714b62b6cf5d7e9acbcfd7db165a582',1,'Clip']]], - ['undo',['undo',['../class_olive_global.html#ac5c7fc8e77040c8260e2e817e3e7b165',1,'OliveGlobal::undo()'],['../class_combo_action.html#a61b038c9fc07f57cfd4a8a56ab04d5b6',1,'ComboAction::undo()'],['../class_olive_action.html#a6e14775c35e9c0acbef06b104c98a10c',1,'OliveAction::undo()'],['../class_color_command.html#a8de925ef45ce8097191296cc98e02724',1,'ColorCommand::undo()'],['../class_combo_box_ex_command.html#aa18df7fa807a47f7bd2c906d87b04e08',1,'ComboBoxExCommand::undo()']]], - ['undo_2ecpp',['undo.cpp',['../undo_8cpp.html',1,'']]], - ['undo_2eh',['undo.h',['../undo_8h.html',1,'']]], - ['undo_5faction',['undo_action',['../class_main_window.html#ae5d93804ebe8af57614b4951c09de9ab',1,'MainWindow']]], - ['undostack',['UndoStack',['../namespaceolive.html#a45d8824d54adc1b0ab260262c2ae24f3',1,'olive']]], - ['uniform_5fscale_5ffield',['uniform_scale_field',['../class_transform_effect.html#a675bc912871b8979d4bae429adf2b808',1,'TransformEffect']]], - ['uniqueid',['uniqueID',['../struct___a_effect.html#a376e250b3aa8887ae024afebddb551f9',1,'_AEffect']]], - ['unkown_5ffloat',['unkown_float',['../struct___a_effect.html#ae5718e40ed668233b907faad2a525bad',1,'_AEffect']]], - ['unsafe_5fkeys',['unsafe_keys',['../class_effect_row.html#a79d678a6bb3658395b31ddf01e38cbe8',1,'EffectRow']]], - ['unsafe_5fold_5fdata',['unsafe_old_data',['../class_effect_row.html#aa5bf8b85369c07e3808d256682832e00',1,'EffectRow']]], - ['upcoming_5fqueue_5fsize',['upcoming_queue_size',['../struct_config.html#afbe2216c2843faec2c8c4a0cb7fa5560',1,'Config']]], - ['upcoming_5fqueue_5fspinbox',['upcoming_queue_spinbox',['../class_preferences_dialog.html#aa03458c49f040928cfe922ab50936143',1,'PreferencesDialog']]], - ['upcoming_5fqueue_5ftype',['upcoming_queue_type',['../class_preferences_dialog.html#a8de179ce1251d937efa3b581f5b5c167',1,'PreferencesDialog::upcoming_queue_type()'],['../struct_config.html#ad59a3771a143ff08903457f21fc8f6d6',1,'Config::upcoming_queue_type()']]], - ['update',['update',['../class_edit_sequence_command.html#ac5e5358e327c3a1e9cc3202ea38ab120',1,'EditSequenceCommand']]], - ['update_5fcurrent_5felement_5fcount',['update_current_element_count',['../class_load_thread.html#ae915769df5e8697441487bcd980afa3a',1,'LoadThread']]], - ['update_5feffect_5fcontrols',['update_effect_controls',['../class_timeline.html#a4c8507378d8f0f23ac3a9eeda1a1d84c',1,'Timeline::update_effect_controls()'],['../panels_8cpp.html#a2f93fbd4e3bf4760ec81312eab5eeb12',1,'update_effect_controls(): panels.cpp']]], - ['update_5fend_5ftimecode',['update_end_timecode',['../class_viewer.html#a8087af37c7c5b98d56b9d9bc469f13ec',1,'Viewer']]], - ['update_5fghosts',['update_ghosts',['../class_timeline_widget.html#a89fefb1a9af323ca85d4ce198ccfc0d7',1,'TimelineWidget']]], - ['update_5fheader_5fzoom',['update_header_zoom',['../class_viewer.html#ac08fd7650f8dc665651152296de44a8a',1,'Viewer']]], - ['update_5fkeyframes',['update_keyframes',['../class_effect_controls.html#a5d724a6d6f4baacfb0b525779a3928de',1,'EffectControls']]], - ['update_5fkeys',['update_keys',['../class_keyframe_view.html#a4d5f11f3233421519509ff099ce8a43c',1,'KeyframeView']]], - ['update_5flabel',['update_label',['../class_embedded_file_chooser.html#aed43a01845d974652fd8a588a1d2bfb5',1,'EmbeddedFileChooser']]], - ['update_5flog',['update_log',['../class_debug_dialog.html#a94d076efe7a188bd7c256155207916c9',1,'DebugDialog']]], - ['update_5fpanel',['update_panel',['../class_graph_editor.html#a0fe847fd0780b2acb5ddec8cc4cb8b92',1,'GraphEditor']]], - ['update_5fparents',['update_parents',['../class_viewer.html#ab51f496a6f92dfff65e921b6df5aeaf7',1,'Viewer::update_parents()'],['../class_timeline_header.html#af6bc96610bba0aa6e5add50452d5913c',1,'TimelineHeader::update_parents()']]], - ['update_5fplayhead',['update_playhead',['../class_viewer.html#a9da228432a15beed50bc122a7f94b47b',1,'Viewer']]], - ['update_5fplayhead_5ftimecode',['update_playhead_timecode',['../class_viewer.html#a18ad1cca80a9522ab88fab33958d1f25',1,'Viewer']]], - ['update_5fprogress_5fbar',['update_progress_bar',['../class_export_dialog.html#ab471f8afebce32594a42fcb034e2e3d2',1,'ExportDialog']]], - ['update_5fproject_5ffilename',['update_project_filename',['../class_olive_global.html#af3ef4cb94078beb905eb916a160fe826',1,'OliveGlobal']]], - ['update_5fscrollbar',['update_scrollbar',['../class_effect_controls.html#abd28e435cb49222dd463580887ef8a4f',1,'EffectControls']]], - ['update_5fsearch_5ffilter',['update_search_filter',['../class_project_filter.html#acb8a9b744179fa268b626fa7bee9d179',1,'ProjectFilter']]], - ['update_5fsequence',['update_sequence',['../class_timeline.html#ac76affc01e3d26a484afce87692229ab',1,'Timeline']]], - ['update_5ftooltip',['update_tooltip',['../class_media.html#a947a7380aa92cf60f597ef2117a768fa',1,'Media']]], - ['update_5fui',['update_ui',['../panels_8cpp.html#ac8159c8de3514ad37e9f918dab6fcaa4',1,'update_ui(bool modified): panels.cpp'],['../panels_8h.html#ac8159c8de3514ad37e9f918dab6fcaa4',1,'update_ui(bool modified): panels.cpp']]], - ['update_5fview_5ftype',['update_view_type',['../class_project.html#ab52cadbcbef675b0bcd74d76698d6481',1,'Project']]], - ['update_5fviewer',['update_viewer',['../class_viewer.html#a6ed8759b09edc1dac64d3d91944cfd33',1,'Viewer']]], - ['update_5fwindow_5ftitle',['update_window_title',['../class_viewer.html#a61589ce5b8c5778fb7eac51f9f22a61f',1,'Viewer']]], - ['update_5fzoom',['update_zoom',['../class_timeline_header.html#a2afb6cf89d980988e697a4782df80b7a',1,'TimelineHeader']]], - ['updatefootagetooltip',['UpdateFootageTooltip',['../class_update_footage_tooltip.html',1,'UpdateFootageTooltip'],['../class_update_footage_tooltip.html#afe29dda0db08d665f2be5bc131ac8631',1,'UpdateFootageTooltip::UpdateFootageTooltip()']]], - ['updateinternals',['updateInternals',['../class_font_combobox.html#a2148c01c418e307bfc7ea2786bc507c9',1,'FontCombobox::updateInternals()'],['../class_text_edit_ex.html#ab97cfa28dd856d237ebfd3cada7b6758',1,'TextEditEx::updateInternals()']]], - ['updateself',['updateSelf',['../class_text_edit_ex.html#a5659c4c5ca0fc52b1244aa812982b492',1,'TextEditEx']]], - ['updatetext',['updateText',['../class_text_edit_ex.html#aa0d88c77b4da72bcc76b23af44b27ec4',1,'TextEditEx']]], - ['updatetitle',['UpdateTitle',['../class_effect_controls.html#a127aafb24491198ab47593c943c129bb',1,'EffectControls::UpdateTitle()'],['../class_timeline.html#a8f060175a6d6a49fa9986f798a44565f',1,'Timeline::UpdateTitle()'],['../class_main_window.html#ac62839f0a6f642f68f06729f351893e3',1,'MainWindow::updateTitle()']]], - ['updateviewer',['UpdateViewer',['../class_update_viewer.html',1,'']]], - ['url',['url',['../struct_footage.html#ab57c403e5fdd0c44cd6b2a79f8ec3bae',1,'Footage']]], - ['use_5fcustom_5ftitle_5fsafe_5fratio',['use_custom_title_safe_ratio',['../struct_config.html#abffe7c5f55e4c75db3e6913729152586',1,'Config']]], - ['use_5fexisting_5fframe',['use_existing_frame',['../class_clip.html#a4218bc22acc4edd81d43a65ce5805b45',1,'Clip']]], - ['use_5fsame_5fmedia_5fin_5fpoints',['use_same_media_in_points',['../class_replace_clip_media_dialog.html#ab25d51ca75e7c314ef5f4c1c9edfb4e8',1,'ReplaceClipMediaDialog']]], - ['use_5fsoftware_5ffallback',['use_software_fallback',['../struct_config.html#a4a5da0346cd44cb483a5c40e8a499967',1,'Config']]], - ['use_5fsoftware_5ffallbacks_5fcheckbox',['use_software_fallbacks_checkbox',['../class_preferences_dialog.html#a94cdea847740184a3dc52e2d39ed51ab',1,'PreferencesDialog']]], - ['user',['user',['../struct___a_effect.html#a1a0f94f9ceced5ee165122c8be215c0f',1,'_AEffect']]], - ['using_5finout',['using_inout',['../struct_footage.html#aac4c8266c3e8c1fa462204020efc9663',1,'Footage']]], - ['using_5fworkarea',['using_workarea',['../class_sequence.html#a043f520a7d939cb593a540b949fe950e',1,'Sequence']]] -]; diff --git a/docs/html/search/all_16.html b/docs/html/search/all_16.html deleted file mode 100644 index 1490057c3..000000000 --- a/docs/html/search/all_16.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_16.js b/docs/html/search/all_16.js deleted file mode 100644 index 376b685b6..000000000 --- a/docs/html/search/all_16.js +++ /dev/null @@ -1,133 +0,0 @@ -var searchData= -[ - ['validate_5fkeyframe_5fdata',['validate_keyframe_data',['../class_effect_field.html#aa0a058c91978a589357df5b73e3eeec4',1,'EffectField']]], - ['validate_5fmeta_5fpath',['validate_meta_path',['../class_effect.html#a2150ef69ba9843aab331164508a1481b',1,'Effect']]], - ['validate_5ftransitions',['validate_transitions',['../timelinewidget_8cpp.html#a3a93a1097fc5c949d346507be997717e',1,'timelinewidget.cpp']]], - ['valign_5ffield',['valign_field',['../class_text_effect.html#a8c2fb33f5c575af674beb39e80c1c43f',1,'TextEffect']]], - ['value',['value',['../class_font_combobox.html#a02d6148045efe513c7b4df7ee81c42b8',1,'FontCombobox::value()'],['../class_label_slider.html#a5736dbba98a0eb8958eed03046f77f8f',1,'LabelSlider::value()']]], - ['value_5flayout',['value_layout',['../class_graph_editor.html#a977313e71194daaca770717ac76c8529',1,'GraphEditor']]], - ['valuechanged',['valueChanged',['../class_label_slider.html#a9be91d45b50e409325332d441f3edf7d',1,'LabelSlider']]], - ['valuehaschanged',['valueHasChanged',['../class_effect.html#a13a2aa44d4899f75c5e020950b92745c',1,'Effect']]], - ['values',['values',['../class_audio_monitor.html#ad43ca2c66dafcbefdd068c2a3cf1da3c',1,'AudioMonitor']]], - ['valuetostring',['valueToString',['../class_label_slider.html#a8009482f1461ae35500fb5956e723f2c',1,'LabelSlider']]], - ['vcodec',['vcodec',['../class_export_thread.html#af73c94e29a0e09025b0ebf66723bbe76',1,'ExportThread']]], - ['vcodec_5fchanged',['vcodec_changed',['../class_export_dialog.html#a92a464ae5dbd04d7110764bfc1858b59',1,'ExportDialog']]], - ['vcodec_5fctx',['vcodec_ctx',['../class_export_thread.html#a24560a787ab2ab7fa2483efcf14b8468',1,'ExportThread']]], - ['vcodec_5fparams',['vcodec_params',['../class_export_dialog.html#ada3722c418fca3c4620799b9fdb6e7e4',1,'ExportDialog::vcodec_params()'],['../class_export_thread.html#a662712aaf9f725b7a1d9eab1f9065773',1,'ExportThread::vcodec_params()']]], - ['vcodeccombobox',['vcodecCombobox',['../class_export_dialog.html#a4608cce22479d2660d6837d675dafbdc',1,'ExportDialog']]], - ['vcontainer',['vcontainer',['../class_effect_controls.html#a3fe236e1a139bb90c6e79f08e61deaa2',1,'EffectControls']]], - ['ver_5fcompanydomain_5fstr',['VER_COMPANYDOMAIN_STR',['../version_8h.html#a2a7b2019dfe4e3cf3b89f7f186dc5640',1,'version.h']]], - ['ver_5fcompanyname_5fstr',['VER_COMPANYNAME_STR',['../version_8h.html#ae5e9111e9af54e6a31e3f8b369cd3e19',1,'version.h']]], - ['ver_5ffiledescription_5fstr',['VER_FILEDESCRIPTION_STR',['../version_8h.html#ad53fc999ea2c9ed67903bcc0bc88f257',1,'version.h']]], - ['ver_5ffileversion',['VER_FILEVERSION',['../version_8h.html#ae6ef9058da3d1f2efdc365d6643d1de3',1,'version.h']]], - ['ver_5ffileversion_5fstr',['VER_FILEVERSION_STR',['../version_8h.html#a9ab9575a5fdacc8d78fb6a6a982bb060',1,'version.h']]], - ['ver_5finternalname_5fstr',['VER_INTERNALNAME_STR',['../version_8h.html#a9c575d8650180954b0a0318d0bb30c71',1,'version.h']]], - ['ver_5flegalcopyright_5fstr',['VER_LEGALCOPYRIGHT_STR',['../version_8h.html#a0592f3cc57ce5994c8339bd057ae130c',1,'version.h']]], - ['ver_5flegaltrademarks1_5fstr',['VER_LEGALTRADEMARKS1_STR',['../version_8h.html#a9532e03b291a013007c17978f72d1a80',1,'version.h']]], - ['ver_5flegaltrademarks2_5fstr',['VER_LEGALTRADEMARKS2_STR',['../version_8h.html#a3788d012ee2bbc1972b1003a16608f31',1,'version.h']]], - ['ver_5foriginalfilename_5fstr',['VER_ORIGINALFILENAME_STR',['../version_8h.html#abfbc08ce9e78d5afc2d0c129643d9909',1,'version.h']]], - ['ver_5fproductname_5fstr',['VER_PRODUCTNAME_STR',['../version_8h.html#a80f0560c57c182d6c4a4aaca02d9b261',1,'version.h']]], - ['ver_5fproductversion',['VER_PRODUCTVERSION',['../version_8h.html#a1f0c72807dfc9de46855bff55bae541c',1,'version.h']]], - ['ver_5fproductversion_5fstr',['VER_PRODUCTVERSION_STR',['../version_8h.html#a5084df706ac15e76da275c143313f3d9',1,'version.h']]], - ['verifytransitionhelper',['VerifyTransitionHelper',['../class_timeline_widget.html#a23b8230d99abd746e7504e29c5849f3d',1,'TimelineWidget']]], - ['verifytransitionsaftercreating',['VerifyTransitionsAfterCreating',['../timelinewidget_8cpp.html#abc387bc73e61d224b6be00d2a294723c',1,'timelinewidget.cpp']]], - ['version',['version',['../struct___a_effect.html#a0ac4f8d2b9366f10fe0103657f35cc5c',1,'_AEffect']]], - ['version_2eh',['version.h',['../version_8h.html',1,'']]], - ['vert_5fstart',['vert_start',['../class_viewer_container.html#a18fd287245fa5d5c98e9104958bf5c45',1,'ViewerContainer']]], - ['vertexbottomleftx',['vertexBottomLeftX',['../struct_g_l_texture_coords.html#ade1c385ddb667704462e233cbe07cf1d',1,'GLTextureCoords']]], - ['vertexbottomlefty',['vertexBottomLeftY',['../struct_g_l_texture_coords.html#a09fddf141e3551e0a5f82715af742a9d',1,'GLTextureCoords']]], - ['vertexbottomleftz',['vertexBottomLeftZ',['../struct_g_l_texture_coords.html#a578b35bd4004f9aa5aea996e1d7b90cf',1,'GLTextureCoords']]], - ['vertexbottomrightx',['vertexBottomRightX',['../struct_g_l_texture_coords.html#a2607545ab5073d96a63f130d685b673c',1,'GLTextureCoords']]], - ['vertexbottomrighty',['vertexBottomRightY',['../struct_g_l_texture_coords.html#a630865979678be0969e753e0e44e9024',1,'GLTextureCoords']]], - ['vertexbottomrightz',['vertexBottomRightZ',['../struct_g_l_texture_coords.html#a27361a2e7a5b1996c9d9acfdf98071a4',1,'GLTextureCoords']]], - ['vertextopleftx',['vertexTopLeftX',['../struct_g_l_texture_coords.html#aa78c1267ed101308f313d14de37c6c9c',1,'GLTextureCoords']]], - ['vertextoplefty',['vertexTopLeftY',['../struct_g_l_texture_coords.html#a414382bef03ce437d291129cd316c858',1,'GLTextureCoords']]], - ['vertextopleftz',['vertexTopLeftZ',['../struct_g_l_texture_coords.html#a3271a6562b013a3080e998154ffe951c',1,'GLTextureCoords']]], - ['vertextoprightx',['vertexTopRightX',['../struct_g_l_texture_coords.html#a59ed5d4903a07f12f3351ae9126875c0',1,'GLTextureCoords']]], - ['vertextoprighty',['vertexTopRightY',['../struct_g_l_texture_coords.html#a19ce682123ec1fb8e7f7a5d801f2450a',1,'GLTextureCoords']]], - ['vertextoprightz',['vertexTopRightZ',['../struct_g_l_texture_coords.html#a8d6c82432d8507bc03a2d3b7d73c5b35',1,'GLTextureCoords']]], - ['vertical_5fscrollbar',['vertical_scrollbar',['../class_viewer_container.html#a4a26f84b96dd4479087f14be4c6bac85',1,'ViewerContainer']]], - ['verticalscrollbar',['verticalScrollBar',['../class_effect_controls.html#ac47c3bc06d52b83eaa0c370de8d797df',1,'EffectControls']]], - ['verticalspacing',['verticalSpacing',['../class_flow_layout.html#a06210851533f6e9d0d09477968aa0eb5',1,'FlowLayout']]], - ['vertpath',['vertPath',['../class_effect.html#a4a9608c969ad18c2c5238e89ff6a9ae3',1,'Effect']]], - ['vestige_2eh',['vestige.h',['../vestige_8h.html',1,'']]], - ['vestige2stringconstants',['Vestige2StringConstants',['../vestige_8h.html#a7d88e9204009d89f1102dc2bcfe5d637',1,'vestige.h']]], - ['vestigemaxcateglabellen',['VestigeMaxCategLabelLen',['../vestige_8h.html#a7d88e9204009d89f1102dc2bcfe5d637a18fed4be6b65b286a03f4eb0d6364afd',1,'vestige.h']]], - ['vestigemaxfilenamelen',['VestigeMaxFileNameLen',['../vestige_8h.html#a7d88e9204009d89f1102dc2bcfe5d637a41c8d4e234adcaff779f5d6651d1d967',1,'vestige.h']]], - ['vestigemaxlabellen',['VestigeMaxLabelLen',['../vestige_8h.html#a7d88e9204009d89f1102dc2bcfe5d637ac36abfd9a0555868dd470fe3b1275e8d',1,'vestige.h']]], - ['vestigemaxnamelen',['VestigeMaxNameLen',['../vestige_8h.html#a7d88e9204009d89f1102dc2bcfe5d637a58c0197dcac9de442df2e0c4c04a9ca2',1,'vestige.h']]], - ['vestigemaxshortlabellen',['VestigeMaxShortLabelLen',['../vestige_8h.html#a7d88e9204009d89f1102dc2bcfe5d637afaad291e9a7cf78cb1cfbb459303e4a4',1,'vestige.h']]], - ['video',['video',['../struct_compose_sequence_params.html#ac2002668089d1fe63177933242f284d5',1,'ComposeSequenceParams']]], - ['video_5farea',['video_area',['../class_timeline.html#a22ac292fc19a4996f435aa6de3d20a66',1,'Timeline']]], - ['video_5fauto_5finterlacing',['video_auto_interlacing',['../struct_footage_stream.html#a8fdce76f6d07b9811e90381f59752738',1,'FootageStream']]], - ['video_5fbitrate',['video_bitrate',['../struct_export_params.html#a40881d50136607ece146b8ae0be5b238',1,'ExportParams']]], - ['video_5fbottom_5ffield_5ffirst',['VIDEO_BOTTOM_FIELD_FIRST',['../footage_8h.html#af32aea380f450787c471b0483272039aa05e14685bd401e0816846f6f869c92d8',1,'footage.h']]], - ['video_5fcodec',['video_codec',['../struct_export_params.html#abae3737b038db1b5769a01c11c6b8e9c',1,'ExportParams']]], - ['video_5fcompression_5ftype',['video_compression_type',['../struct_export_params.html#aed19592f600367b62aab39d3583414a2',1,'ExportParams']]], - ['video_5feffect_5farea',['video_effect_area',['../class_effect_controls.html#a0a3da04824fd128c4819a0b7c47639b6',1,'EffectControls']]], - ['video_5feffect_5fclick',['video_effect_click',['../class_effect_controls.html#aaf67c78321a7da277d1f59bb01cf4ed0',1,'EffectControls']]], - ['video_5fenabled',['video_enabled',['../struct_export_params.html#a520af159d7385ffc56059dd12991821b',1,'ExportParams']]], - ['video_5fframe',['video_frame',['../class_export_thread.html#aff1717381d96651c99f45997622dae07',1,'ExportThread']]], - ['video_5fframe_5frate',['video_frame_rate',['../struct_export_params.html#ac06412755d1e89ddde7391d4e5545e7e',1,'ExportParams::video_frame_rate()'],['../struct_footage_stream.html#a1dba22d40e787bdf551ef9be7dfc2049',1,'FootageStream::video_frame_rate()']]], - ['video_5fghosts',['video_ghosts',['../class_timeline.html#ad889a2d6eb633374326be645277cf9ea',1,'Timeline']]], - ['video_5fheight',['video_height',['../struct_export_params.html#ae3920e552a15b97737e0d07a7887b580',1,'ExportParams::video_height()'],['../struct_footage_stream.html#a6a3f3f00c154dc003711309be2b405b9',1,'FootageStream::video_height()']]], - ['video_5finterlacing',['video_interlacing',['../struct_footage_stream.html#a7f90fe9b9cdc335e252aa30f4d63e7d0',1,'FootageStream']]], - ['video_5fpkt',['video_pkt',['../class_export_thread.html#a8f727fbf8ddab7043523f8cd0f8da94e',1,'ExportThread']]], - ['video_5fpreview',['video_preview',['../struct_footage_stream.html#a9eb40a48ae36fba5ef624897826b2517',1,'FootageStream']]], - ['video_5fpreview_5fsquare',['video_preview_square',['../struct_footage_stream.html#a2a1363484296559ed07e355c55585401',1,'FootageStream']]], - ['video_5fprogressive',['VIDEO_PROGRESSIVE',['../footage_8h.html#af32aea380f450787c471b0483272039aa5dcf319adcc01b0726f5d8ee08f179de',1,'footage.h']]], - ['video_5fstream',['video_stream',['../class_export_thread.html#a7cc8ba8c35e3df4f204d9f52a0c3659a',1,'ExportThread']]], - ['video_5ftop_5ffield_5ffirst',['VIDEO_TOP_FIELD_FIRST',['../footage_8h.html#af32aea380f450787c471b0483272039aa4e19b11429efd0865d04120427a9df4b',1,'footage.h']]], - ['video_5ftracks',['video_tracks',['../struct_footage.html#a9ab4696d686e8a4df9a336c8c451a137',1,'Footage']]], - ['video_5ftransition_5fclick',['video_transition_click',['../class_effect_controls.html#a5ef51f5009f101db906a8b1d8c1a0fc6',1,'EffectControls']]], - ['video_5fwidth',['video_width',['../struct_export_params.html#a9c0d11a470ccafc3994d99600b268740',1,'ExportParams::video_width()'],['../struct_footage_stream.html#ad3b2a05c13966bb6a08468fb6b3b82b2',1,'FootageStream::video_width()']]], - ['videobitratelabel',['videoBitrateLabel',['../class_export_dialog.html#a3fab6bac265a22f1c7e478dd2dd74457',1,'ExportDialog']]], - ['videobitratespinbox',['videobitrateSpinbox',['../class_export_dialog.html#a2a06199729fb045d3c9d49be34b3abb3',1,'ExportDialog']]], - ['videocodecparams',['VideoCodecParams',['../struct_video_codec_params.html',1,'']]], - ['videogroupbox',['videoGroupbox',['../class_export_dialog.html#a74553284228bd83778a58fa8bd66ac3f',1,'ExportDialog']]], - ['videointerlacingmode',['VideoInterlacingMode',['../footage_8h.html#af32aea380f450787c471b0483272039a',1,'footage.h']]], - ['videoscrollbar',['videoScrollbar',['../class_timeline.html#abe6665254957a089f0ea9a26f1fcef07',1,'Timeline']]], - ['view',['view',['../class_graph_editor.html#a7bf5c30682b7054808a1835146458a07',1,'GraphEditor::view()'],['../class_sources_common.html#a945b6ddf75ccdf6a3a50876abc5a25ba',1,'SourcesCommon::view()']]], - ['view_5fis_5ffocused',['view_is_focused',['../class_graph_editor.html#a4c90d9557fe3417787ade12054a8f9b1',1,'GraphEditor']]], - ['view_5fis_5funder_5fmouse',['view_is_under_mouse',['../class_graph_editor.html#a60edb4dd25153666217c2d43316a5c18',1,'GraphEditor']]], - ['viewer',['Viewer',['../class_viewer.html',1,'Viewer'],['../class_viewer.html#ad9bcb555f66a790a392d2af4b4f7f1d6',1,'Viewer::Viewer()'],['../struct_compose_sequence_params.html#a14cd6939729b5280466954797512df90',1,'ComposeSequenceParams::viewer()'],['../class_timeline_header.html#a27890be426264e4430f7007cfcc25066',1,'TimelineHeader::viewer()'],['../class_viewer_container.html#a1343e57dbd1f7be120d23500478dba9c',1,'ViewerContainer::viewer()'],['../class_viewer_widget.html#a7effeff4ac898d5c0c413ea00df36a39',1,'ViewerWidget::viewer()']]], - ['viewer_2ecpp',['viewer.cpp',['../viewer_8cpp.html',1,'']]], - ['viewer_2eh',['viewer.h',['../viewer_8h.html',1,'']]], - ['viewer_5fcontainer',['viewer_container',['../class_viewer.html#ac1ec51a5c9e543fda8b929a169542f79',1,'Viewer']]], - ['viewer_5fwidget',['viewer_widget',['../class_viewer.html#a8aabede008cd650fe5b992013df01ea6',1,'Viewer']]], - ['viewercontainer',['ViewerContainer',['../class_viewer_container.html',1,'ViewerContainer'],['../class_viewer_container.html#a29803f8b03eab2e3c9e49a632ec1ec81',1,'ViewerContainer::ViewerContainer()']]], - ['viewercontainer_2ecpp',['viewercontainer.cpp',['../viewercontainer_8cpp.html',1,'']]], - ['viewercontainer_2eh',['viewercontainer.h',['../viewercontainer_8h.html',1,'']]], - ['viewerwidget',['ViewerWidget',['../class_viewer_widget.html',1,'ViewerWidget'],['../class_viewer_widget.html#ae13cab658af91b8dffb2e53eb52f93d9',1,'ViewerWidget::ViewerWidget()']]], - ['viewerwidget_2ecpp',['viewerwidget.cpp',['../viewerwidget_8cpp.html',1,'']]], - ['viewerwidget_2eh',['viewerwidget.h',['../viewerwidget_8h.html',1,'']]], - ['viewerwindow',['ViewerWindow',['../class_viewer_window.html',1,'ViewerWindow'],['../class_viewer_window.html#a6456afa827fc3c28831f0db5b27a6a6e',1,'ViewerWindow::ViewerWindow()']]], - ['viewerwindow_2ecpp',['viewerwindow.cpp',['../viewerwindow_8cpp.html',1,'']]], - ['viewerwindow_2eh',['viewerwindow.h',['../viewerwindow_8h.html',1,'']]], - ['viewmenu_5fabout_5fto_5fbe_5fshown',['viewMenu_About_To_Be_Shown',['../class_main_window.html#a2e4fd4ecc5e0487ca2d98735b01ccf41',1,'MainWindow']]], - ['visible_5fin',['visible_in',['../class_graph_view.html#a44c945c30cc06a91b31450f994fb6009',1,'GraphView::visible_in()'],['../class_keyframe_view.html#a357226b17785c5902c4fcdc3b21c0383',1,'KeyframeView::visible_in()']]], - ['visible_5fout',['visible_out',['../class_keyframe_view.html#a212564381a53d9478498783decfd3b9e',1,'KeyframeView']]], - ['visiblechanged',['visibleChanged',['../class_collapsible_widget.html#abdab66b7f042775372ee2fc9961da4e0',1,'CollapsibleWidget']]], - ['void_5fmeta',['void_meta',['../class_void_effect.html#af648b7aaf5211aa00aed672513ffa382',1,'VoidEffect']]], - ['voideffect',['VoidEffect',['../class_void_effect.html',1,'VoidEffect'],['../class_void_effect.html#ad06382c456f9f6686dc1b980768a6ae6',1,'VoidEffect::VoidEffect()']]], - ['voideffect_2ecpp',['voideffect.cpp',['../voideffect_8cpp.html',1,'']]], - ['voideffect_2eh',['voideffect.h',['../voideffect_8h.html',1,'']]], - ['voidptr',['VoidPtr',['../clipboard_8h.html#a969a1c46c6ca2ce0e9fd360d7221bb8b',1,'VoidPtr(): clipboard.h'],['../media_8h.html#a969a1c46c6ca2ce0e9fd360d7221bb8b',1,'VoidPtr(): media.h']]], - ['volume_5fval',['volume_val',['../class_volume_effect.html#aa4ac139a39cdbcc23cd71b341fb5a5ba',1,'VolumeEffect']]], - ['volumeeffect',['VolumeEffect',['../class_volume_effect.html',1,'VolumeEffect'],['../class_volume_effect.html#a2a5eb33d0784c03ac2e9c331d3c4065f',1,'VolumeEffect::VolumeEffect()']]], - ['volumeeffect_2ecpp',['volumeeffect.cpp',['../volumeeffect_8cpp.html',1,'']]], - ['volumeeffect_2eh',['volumeeffect.h',['../volumeeffect_8h.html',1,'']]], - ['vpkt_5falloc',['vpkt_alloc',['../class_export_thread.html#a065ea0d0e913f9c5c41cc971663a3b7f',1,'ExportThread']]], - ['vstevent',['VstEvent',['../vestige_8h.html#a33c84f3b48339d55af9fb80760042975',1,'vestige.h']]], - ['vstevents',['VstEvents',['../vestige_8h.html#a453791a06582ba6008259b6387fde030',1,'vestige.h']]], - ['vsthost',['VSTHost',['../class_v_s_t_host.html',1,'VSTHost'],['../class_v_s_t_host.html#a4bd668af8ca1e9b597b6de6f5064ee19',1,'VSTHost::VSTHost()']]], - ['vsthost_2ecpp',['vsthost.cpp',['../vsthost_8cpp.html',1,'']]], - ['vsthost_2eh',['vsthost.h',['../vsthost_8h.html',1,'']]], - ['vstmidievent',['VstMidiEvent',['../vestige_8h.html#a09506e50ce5963386d7c1834d095ee7e',1,'vestige.h']]], - ['vstparameterflags',['VstParameterFlags',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921',1,'vestige.h']]], - ['vstparameterproperties',['VstParameterProperties',['../vestige_8h.html#ae53dd15a81d869e8e29429b65096ec9a',1,'vestige.h']]], - ['vstplugcategory',['VstPlugCategory',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cc',1,'vestige.h']]], - ['vstpluginfuncptr',['vstPluginFuncPtr',['../vsthost_8cpp.html#a9153f5efe6a3f7d004ea1ad9888eabba',1,'vsthost.cpp']]], - ['vstrect',['VSTRect',['../struct_v_s_t_rect.html',1,'']]], - ['vsttimeinfo',['VstTimeInfo',['../vestige_8h.html#abbb0adb3ad806fefd0c2297703fb3c3f',1,'vestige.h']]] -]; diff --git a/docs/html/search/all_17.html b/docs/html/search/all_17.html deleted file mode 100644 index a364f6fa7..000000000 --- a/docs/html/search/all_17.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_17.js b/docs/html/search/all_17.js deleted file mode 100644 index fb6005562..000000000 --- a/docs/html/search/all_17.js +++ /dev/null @@ -1,28 +0,0 @@ -var searchData= -[ - ['waitcond',['waitCond',['../class_export_thread.html#afd10af15eceab6c0c901cfeec8dabd3f',1,'ExportThread::waitCond()'],['../class_load_thread.html#a2930c5ca72a662ec92574e2c6bd4e5e8',1,'LoadThread::waitCond()'],['../class_proxy_generator.html#ada485635217b7fe0808149dd84d192a0',1,'ProxyGenerator::waitCond()'],['../class_render_thread.html#a3fc0a84efc65e78abbf70be76c3ad17c',1,'RenderThread::waitCond()']]], - ['wake',['wake',['../class_export_thread.html#a665c7502f6bc93241f159e2be4671a55',1,'ExportThread']]], - ['waveform',['waveform',['../class_viewer_widget.html#ae0bdfc98e9ee0b62299d7103078eb791',1,'ViewerWidget']]], - ['waveform_5fclip',['waveform_clip',['../class_viewer_widget.html#a37e87b0dc19e28fec8c2ce2cde4c3939',1,'ViewerWidget']]], - ['waveform_5fms',['waveform_ms',['../class_viewer_widget.html#aef8b234fecd32bafa04a94cc59459cb3',1,'ViewerWidget']]], - ['waveform_5fres_5fspinbox',['waveform_res_spinbox',['../class_preferences_dialog.html#a27a14a95ae56eedf25467b746d49f7e1',1,'PreferencesDialog']]], - ['waveform_5fresolution',['waveform_resolution',['../struct_config.html#aee3fd3d2a27260a445704470e51eee9b',1,'Config']]], - ['waveform_5fscroll',['waveform_scroll',['../class_viewer_widget.html#ae1fe1307125e8347e2df834334c67e91',1,'ViewerWidget']]], - ['waveform_5fzoom',['waveform_zoom',['../class_viewer_widget.html#a44a9e0093e663f565d62cd08886883d7',1,'ViewerWidget']]], - ['wheel_5fevent_5fsignal',['wheel_event_signal',['../class_keyframe_view.html#a8af0c8c88f1c3b9046ac9ce31e4122a0',1,'KeyframeView']]], - ['wheelevent',['wheelEvent',['../class_combo_box_ex.html#a734789af02de854a921bc49ef79fc362',1,'ComboBoxEx::wheelEvent()'],['../class_graph_view.html#a91f1203a705ef6643cbd4a3563980525',1,'GraphView::wheelEvent()'],['../class_keyframe_view.html#a83c401b25ddda0e6361ddf63be113d82',1,'KeyframeView::wheelEvent()'],['../class_scroll_area.html#a4de216cd11110ee9d3c1b94ccc49ea6d',1,'ScrollArea::wheelEvent()'],['../class_timeline_widget.html#aaceedcb66fb1bc5df18477c5c5fa9184',1,'TimelineWidget::wheelEvent()'],['../class_viewer_widget.html#a14759cb64963345178c8a00c65eab3d6',1,'ViewerWidget::wheelEvent()']]], - ['widgets',['widgets',['../class_effect_row.html#a9c07aa99f216331b4c8c332b5d9d433f',1,'EffectRow']]], - ['width',['width',['../class_sequence.html#a2736ec50ee5a6c789939c3ae93f8a686',1,'Sequence::width()'],['../class_edit_sequence_command.html#aa8ec12d9b7af5e02aa1910d4e20ebba5',1,'EditSequenceCommand::width()']]], - ['width_5fnumeric',['width_numeric',['../class_new_sequence_dialog.html#ab28e0e11c1f8bc04b2c6f8e3d55b2ae9',1,'NewSequenceDialog']]], - ['widthspinbox',['widthSpinbox',['../class_export_dialog.html#a25ce111f3b6cdd32cfb76809714b26ea',1,'ExportDialog']]], - ['window',['window',['../class_viewer_widget.html#abc1d7c0b5386fc06cebe5357ab616fda',1,'ViewerWidget']]], - ['window_5fmenu',['window_menu',['../class_main_window.html#ac0cafc5f531deb20ab4786f8a329f792',1,'MainWindow']]], - ['windowmenu_5fabout_5fto_5fbe_5fshown',['windowMenu_About_To_Be_Shown',['../class_main_window.html#a33a60acf2c71874faf766dabd446e071',1,'MainWindow']]], - ['word_5fwrap_5ffield',['word_wrap_field',['../class_text_effect.html#ad5159a8f81b36a1ac2c8284227d1dc32',1,'TextEffect']]], - ['workarea_5fin',['workarea_in',['../class_sequence.html#ad69e1e8be669a78b47476ee4eecce47a',1,'Sequence']]], - ['workarea_5fout',['workarea_out',['../class_sequence.html#ad1c2f7e31bec776611a8fae8ca0e8ea6',1,'Sequence']]], - ['world_5fpos',['world_pos',['../class_effect_gizmo.html#ac5501492cf9f287be68b809a2e8043fa',1,'EffectGizmo']]], - ['wrapper_5fsequence',['wrapper_sequence',['../class_sequence.html#aa2e2304c1f66259b560e056c0fd12c91',1,'Sequence']]], - ['write_5fwave_5fheader',['write_wave_header',['../audio_8cpp.html#a977895b7e375b37f45102d2653a6c15a',1,'audio.cpp']]], - ['write_5fwave_5ftrailer',['write_wave_trailer',['../audio_8cpp.html#a1b997af1d74b69c7395e651f6b2d5a22',1,'audio.cpp']]] -]; diff --git a/docs/html/search/all_18.html b/docs/html/search/all_18.html deleted file mode 100644 index 3dff8af24..000000000 --- a/docs/html/search/all_18.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_18.js b/docs/html/search/all_18.js deleted file mode 100644 index bc6f3733c..000000000 --- a/docs/html/search/all_18.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['x_5ffield1',['x_field1',['../class_effect_gizmo.html#af86082b9efc02bd91e3d698bc330ace8',1,'EffectGizmo']]], - ['x_5ffield2',['x_field2',['../class_effect_gizmo.html#a517efb0436bfc4215fa1b358024d239c',1,'EffectGizmo']]], - ['x_5ffield_5fmulti1',['x_field_multi1',['../class_effect_gizmo.html#a0af31d9acc4204a4d0324350c7bec89a',1,'EffectGizmo']]], - ['x_5ffield_5fmulti2',['x_field_multi2',['../class_effect_gizmo.html#a759bc38c5514b972a76c61219dc39936',1,'EffectGizmo']]], - ['x_5fscroll',['x_scroll',['../class_graph_view.html#a263942d109edaecea70c92b4ed642b78',1,'GraphView::x_scroll()'],['../class_keyframe_view.html#a3497512625380a5d8949448b2ca68bc7',1,'KeyframeView::x_scroll()'],['../class_viewer_widget.html#ae2695ccb659452ac7c43c0328604131f',1,'ViewerWidget::x_scroll()']]], - ['x_5fscroll_5fchanged',['x_scroll_changed',['../class_graph_view.html#a14549da5810725c305dc129a5e742cc5',1,'GraphView']]], - ['x_5fzoom',['x_zoom',['../class_graph_view.html#a3cb6a9531c75b3d7f5bacdc607cdaffc',1,'GraphView']]], - ['xml_5ferror',['xml_error',['../class_load_thread.html#abb091e23cbe4c42f72ec4a385d2328b4',1,'LoadThread']]] -]; diff --git a/docs/html/search/all_19.html b/docs/html/search/all_19.html deleted file mode 100644 index 22294bd31..000000000 --- a/docs/html/search/all_19.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_19.js b/docs/html/search/all_19.js deleted file mode 100644 index 9c80506b3..000000000 --- a/docs/html/search/all_19.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['y_5ffield1',['y_field1',['../class_effect_gizmo.html#a136391c587a5cdcc13672537b3a1a4ad',1,'EffectGizmo']]], - ['y_5ffield2',['y_field2',['../class_effect_gizmo.html#a6c2d8a9f0732ae2850d6937970f98c33',1,'EffectGizmo']]], - ['y_5ffield_5fmulti1',['y_field_multi1',['../class_effect_gizmo.html#ac9693ab179d77b4551bc0a006beda8b2',1,'EffectGizmo']]], - ['y_5ffield_5fmulti2',['y_field_multi2',['../class_effect_gizmo.html#a1fd57fc6d71c964e31d034ce37c8bc91',1,'EffectGizmo']]], - ['y_5fscroll',['y_scroll',['../class_graph_view.html#a5b13afa1337fa87998bc3dcb4a1db482',1,'GraphView::y_scroll()'],['../class_keyframe_view.html#a383b792c90ca1e2f6175e286b7d483f1',1,'KeyframeView::y_scroll()'],['../class_viewer_widget.html#a4fa31b1e6365726f7cecbb5adb9c82d4',1,'ViewerWidget::y_scroll()']]], - ['y_5fscroll_5fchanged',['y_scroll_changed',['../class_graph_view.html#a147dfccbfed4c487f870b5a161cd3b0b',1,'GraphView']]], - ['y_5fzoom',['y_zoom',['../class_graph_view.html#ae3a0090481974bb472729982d03fee9c',1,'GraphView']]] -]; diff --git a/docs/html/search/all_1a.html b/docs/html/search/all_1a.html deleted file mode 100644 index 7a8190201..000000000 --- a/docs/html/search/all_1a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_1a.js b/docs/html/search/all_1a.js deleted file mode 100644 index ac369c8f6..000000000 --- a/docs/html/search/all_1a.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['zoom',['zoom',['../class_effect_controls.html#a7f65dcddc371768e42feda21e545a95a',1,'EffectControls::zoom()'],['../class_timeline.html#ac3b8b136fa0c42f3a781aa973077a921',1,'Timeline::zoom()'],['../class_timeline_header.html#af198573710160df9494d7f245902707d',1,'TimelineHeader::zoom()'],['../class_viewer_container.html#a021e2e49cd45d899f48325c25cc4ade8',1,'ViewerContainer::zoom()']]], - ['zoom_5fchanged',['zoom_changed',['../class_graph_view.html#a5d3763d4c41a3636155142141cb22eb8',1,'GraphView']]], - ['zoom_5fin',['zoom_in',['../class_timeline.html#a3dc94dfcf38bb0c62391d6157fb803d1',1,'Timeline::zoom_in()'],['../class_focus_filter.html#a25c6fc709acf758f0c965420b3f10745',1,'FocusFilter::zoom_in()']]], - ['zoom_5fjust_5fchanged',['zoom_just_changed',['../class_timeline.html#ab0da4feeb231f86e23c4e3311f8a56fc',1,'Timeline']]], - ['zoom_5fout',['zoom_out',['../class_timeline.html#a4286a9444e2af2c14ac71c02ff067b97',1,'Timeline::zoom_out()'],['../class_focus_filter.html#a723180d73f272ae21ab8b8001353f610',1,'FocusFilter::zoom_out()']]], - ['zoominbutton',['zoomInButton',['../class_timeline.html#a0b9c7f685ef62ba44e461ea8de379f35',1,'Timeline']]], - ['zoomoutbutton',['zoomOutButton',['../class_timeline.html#aa6e0d9ced42a908cd610343c04177c62',1,'Timeline']]] -]; diff --git a/docs/html/search/all_1b.html b/docs/html/search/all_1b.html deleted file mode 100644 index 4c5f170bd..000000000 --- a/docs/html/search/all_1b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_1b.js b/docs/html/search/all_1b.js deleted file mode 100644 index 5a2453eb5..000000000 --- a/docs/html/search/all_1b.js +++ /dev/null @@ -1,36 +0,0 @@ -var searchData= -[ - ['_7eaddclipcommand',['~AddClipCommand',['../class_add_clip_command.html#a6e1e9bc2f299aa3c259f9c91822d20f9',1,'AddClipCommand']]], - ['_7eaddmediacommand',['~AddMediaCommand',['../class_add_media_command.html#a314901096410ba4a84cc1e3dab374474',1,'AddMediaCommand']]], - ['_7echeckboxcommand',['~CheckboxCommand',['../class_checkbox_command.html#a4de79eec9079b2852f8f1dbb5a772935',1,'CheckboxCommand']]], - ['_7eclip',['~Clip',['../class_clip.html#a88647ed65e3482b5e0533ec98667b0fa',1,'Clip']]], - ['_7ecomboaction',['~ComboAction',['../class_combo_action.html#a3eb4b90aaf178c9db34df9fc6645d9a6',1,'ComboAction']]], - ['_7edeleteclipaction',['~DeleteClipAction',['../class_delete_clip_action.html#a0730c79952b1503d8d27bba1d328f303',1,'DeleteClipAction']]], - ['_7edeletemediacommand',['~DeleteMediaCommand',['../class_delete_media_command.html#ab3acf9a59ee3428ec32b632bd193cca9',1,'DeleteMediaCommand']]], - ['_7eeffect',['~Effect',['../class_effect.html#ac26c0a394247e14c9081f875522b5b66',1,'Effect']]], - ['_7eeffectcontrols',['~EffectControls',['../class_effect_controls.html#a2c7fa77d87e53b2b08010d9376bc8cba',1,'EffectControls']]], - ['_7eeffectdeletecommand',['~EffectDeleteCommand',['../class_effect_delete_command.html#a2f5518c1b51d06b382d8f0a2ba980f38',1,'EffectDeleteCommand']]], - ['_7eeffectfield',['~EffectField',['../class_effect_field.html#af88f882424dc409d523029a0b12e6d2f',1,'EffectField']]], - ['_7eeffectrow',['~EffectRow',['../class_effect_row.html#ad9bc9b1c77532e2129230e7c7ddfc1bf',1,'EffectRow']]], - ['_7eexportdialog',['~ExportDialog',['../class_export_dialog.html#aff6cf4e48e6dcde206c3d8eb3bc9fac8',1,'ExportDialog']]], - ['_7eflowlayout',['~FlowLayout',['../class_flow_layout.html#abcbfd03a4758b98bcf13d44f5e673551',1,'FlowLayout']]], - ['_7efootage',['~Footage',['../struct_footage.html#a27754d8eab458982e1b37774bfe19039',1,'Footage']]], - ['_7efrei0reffect',['~Frei0rEffect',['../class_frei0r_effect.html#a0bc9ae694ee6b1e7df649656e90f64a7',1,'Frei0rEffect']]], - ['_7ekeyframenavigator',['~KeyframeNavigator',['../class_keyframe_navigator.html#a4c6947382de80a2f7af5649c9743a42e',1,'KeyframeNavigator']]], - ['_7emainwindow',['~MainWindow',['../class_main_window.html#a1f7d2c56410fc1bfa135bb907d43313f',1,'MainWindow']]], - ['_7emedia',['~Media',['../class_media.html#a54e7ec283f4ee48f034072776bf9c511',1,'Media']]], - ['_7enewsequencecommand',['~NewSequenceCommand',['../class_new_sequence_command.html#ae7ba9632b7390408c41ef665db63c11c',1,'NewSequenceCommand']]], - ['_7enewsequencedialog',['~NewSequenceDialog',['../class_new_sequence_dialog.html#a1ade4d21633a9a59b631407e6d3a2be3',1,'NewSequenceDialog']]], - ['_7eoliveaction',['~OliveAction',['../class_olive_action.html#a62bcbe2d4297e05349ceff9e406ef02e',1,'OliveAction']]], - ['_7epreferencesdialog',['~PreferencesDialog',['../class_preferences_dialog.html#a0e3927d4dbbc927879b4c4906e728f2d',1,'PreferencesDialog']]], - ['_7eproject',['~Project',['../class_project.html#ad165d61b76ee86ee9c27fd987a2a7b9e',1,'Project']]], - ['_7eprojectmodel',['~ProjectModel',['../class_project_model.html#a60043c7e1eb8be1ce6366ca3b337630b',1,'ProjectModel']]], - ['_7eremoveclipsfromclipboard',['~RemoveClipsFromClipboard',['../class_remove_clips_from_clipboard.html#a8afb012971e13d98c3b5370cc6f815ae',1,'RemoveClipsFromClipboard']]], - ['_7erenderthread',['~RenderThread',['../class_render_thread.html#ac9a968ad63349a9eb1109d615406afd4',1,'RenderThread']]], - ['_7esequence',['~Sequence',['../class_sequence.html#aee09a7d70c3ab523fed85da94ea1366f',1,'Sequence']]], - ['_7etimeline',['~Timeline',['../class_timeline.html#a02265431700e1ed876221c68da2ae005',1,'Timeline']]], - ['_7eviewer',['~Viewer',['../class_viewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da',1,'Viewer']]], - ['_7eviewercontainer',['~ViewerContainer',['../class_viewer_container.html#a31bdf626b8112ddde4b2882294d46feb',1,'ViewerContainer']]], - ['_7eviewerwidget',['~ViewerWidget',['../class_viewer_widget.html#a3759ff8f5d933bcf1680f8913f63c5e0',1,'ViewerWidget']]], - ['_7evsthost',['~VSTHost',['../class_v_s_t_host.html#a0348ef146e7e6b21d1fdc512512e650b',1,'VSTHost']]] -]; diff --git a/docs/html/search/all_2.html b/docs/html/search/all_2.html deleted file mode 100644 index 4c33d8557..000000000 --- a/docs/html/search/all_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_2.js b/docs/html/search/all_2.js deleted file mode 100644 index 9e0286899..000000000 --- a/docs/html/search/all_2.js +++ /dev/null @@ -1,72 +0,0 @@ -var searchData= -[ - ['b',['b',['../class_set_keyframing.html#a5126b204fd5e4796095ab7dcbfc20c98',1,'SetKeyframing']]], - ['back_5fbuffer_5f1',['back_buffer_1',['../class_render_thread.html#a0b583491120c8d4c5fbbe0c9b26f5af4',1,'RenderThread']]], - ['back_5fbuffer_5f2',['back_buffer_2',['../class_render_thread.html#a7669ad18604b10e58715ec00b15149c0',1,'RenderThread']]], - ['back_5ftexture_5f1',['back_texture_1',['../class_render_thread.html#a6e9fc08e40cedf5c24fedf7de7799514',1,'RenderThread']]], - ['back_5ftexture_5f2',['back_texture_2',['../class_render_thread.html#adcd0c5799ad64b51167a1ecf03bc42ba',1,'RenderThread']]], - ['backend_5fattachment1',['backend_attachment1',['../struct_compose_sequence_params.html#ad1594ae236345177e82216365c4d5208',1,'ComposeSequenceParams']]], - ['backend_5fattachment2',['backend_attachment2',['../struct_compose_sequence_params.html#a682c8f279c61f9fe89cc642e21c34089',1,'ComposeSequenceParams']]], - ['backend_5fbuffer1',['backend_buffer1',['../struct_compose_sequence_params.html#a48727d18da412d5763b4d9acbdc8ce7d',1,'ComposeSequenceParams']]], - ['backend_5fbuffer2',['backend_buffer2',['../struct_compose_sequence_params.html#a4aa85910febfd73c2df1f1eab6386e1d',1,'ComposeSequenceParams']]], - ['bar',['bar',['../class_load_dialog.html#a828871cf0550ff175ffc3889993cfad3',1,'LoadDialog']]], - ['barstartpos',['barStartPos',['../struct___vst_time_info.html#a1a95a6936f87e2e21e4d58169ee8c368',1,'_VstTimeInfo']]], - ['bezier_5fbutton',['bezier_button',['../class_graph_editor.html#a4f8147290188f793e2589e3d811735ba',1,'GraphEditor']]], - ['bg_5falpha',['bg_alpha',['../class_timecode_effect.html#a196832715a70faa643bd3ac3a35a0750',1,'TimecodeEffect']]], - ['blend_5fmode_5fadd',['BLEND_MODE_ADD',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba32d377820360ac53fc534cc8bb3df89a',1,'effect.h']]], - ['blend_5fmode_5faverage',['BLEND_MODE_AVERAGE',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba9d49bd257de6179a674f4a500a53938a',1,'effect.h']]], - ['blend_5fmode_5fbox',['blend_mode_box',['../class_transform_effect.html#ad87714b7710520b15b8b3f0caabfe885',1,'TransformEffect']]], - ['blend_5fmode_5fcolorburn',['BLEND_MODE_COLORBURN',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba304c9c6016087e72afc9b11d2e5230dd',1,'effect.h']]], - ['blend_5fmode_5fcolordodge',['BLEND_MODE_COLORDODGE',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba61ea64bac6210d69383a779b2956d3bf',1,'effect.h']]], - ['blend_5fmode_5fcount',['BLEND_MODE_COUNT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902baa34c61bac9de4434917e72883a3f6bfb',1,'effect.h']]], - ['blend_5fmode_5fdarken',['BLEND_MODE_DARKEN',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902baa8dc60611f173b87ba0fa62c748ad9f9',1,'effect.h']]], - ['blend_5fmode_5fdifference',['BLEND_MODE_DIFFERENCE',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba000c6dc319206174c1f3dbe55dc2fe09',1,'effect.h']]], - ['blend_5fmode_5fexclusion',['BLEND_MODE_EXCLUSION',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba3b40f151b3d80f8d7df1269838a8d3bb',1,'effect.h']]], - ['blend_5fmode_5fglow',['BLEND_MODE_GLOW',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902baa5654ebeb7315a26490f1abee47e050b',1,'effect.h']]], - ['blend_5fmode_5fhardlight',['BLEND_MODE_HARDLIGHT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba8411dd6c660d53b133901b35990f39eb',1,'effect.h']]], - ['blend_5fmode_5fhardmix',['BLEND_MODE_HARDMIX',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba89dfd10074dc180bb4f3dd262f81b61b',1,'effect.h']]], - ['blend_5fmode_5flighten',['BLEND_MODE_LIGHTEN',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902baa92f9df21e7e0c4cbf48c7d6d5befaf2',1,'effect.h']]], - ['blend_5fmode_5flinearburn',['BLEND_MODE_LINEARBURN',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902bae40bd803bf4af37aa9e85fae981283b7',1,'effect.h']]], - ['blend_5fmode_5flineardodge',['BLEND_MODE_LINEARDODGE',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba93958f6eecd3aba0849f762749222a2f',1,'effect.h']]], - ['blend_5fmode_5flinearlight',['BLEND_MODE_LINEARLIGHT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902bade5d25bfdd7b674562d96ec131f54aec',1,'effect.h']]], - ['blend_5fmode_5fmultiply',['BLEND_MODE_MULTIPLY',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba943d75a400311aae0082feb8632670d2',1,'effect.h']]], - ['blend_5fmode_5fnegation',['BLEND_MODE_NEGATION',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902bac0809129de68a7478c15395b665091d2',1,'effect.h']]], - ['blend_5fmode_5fnormal',['BLEND_MODE_NORMAL',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902baa9111213438acf1655cced47edf46265',1,'effect.h']]], - ['blend_5fmode_5foverlay',['BLEND_MODE_OVERLAY',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba8c4268c2cafd0a2bdce260bda7b04094',1,'effect.h']]], - ['blend_5fmode_5fphoenix',['BLEND_MODE_PHOENIX',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902bab5eda75b59ecc3dc458c2d38ebcfea0a',1,'effect.h']]], - ['blend_5fmode_5fpinlight',['BLEND_MODE_PINLIGHT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba8248ba743fd8b3ef00e8d6abe1377d9f',1,'effect.h']]], - ['blend_5fmode_5fprogram',['blend_mode_program',['../struct_compose_sequence_params.html#aa4046da9e298cea9013d18b13f844f64',1,'ComposeSequenceParams::blend_mode_program()'],['../class_render_thread.html#a79f92524aef4af170706f10741c65e2f',1,'RenderThread::blend_mode_program()']]], - ['blend_5fmode_5freflect',['BLEND_MODE_REFLECT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba50fe37d619c79fd09f6111de0f9d3eb2',1,'effect.h']]], - ['blend_5fmode_5fscreen',['BLEND_MODE_SCREEN',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba9395c003f6ade4471ed1b56b80632ccc',1,'effect.h']]], - ['blend_5fmode_5fsoftlight',['BLEND_MODE_SOFTLIGHT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba4f369fcee4d5e8bc77bcca814a0ba449',1,'effect.h']]], - ['blend_5fmode_5fsubstract',['BLEND_MODE_SUBSTRACT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba9d86f5d1e74a0bd9db59d7d141012cd4',1,'effect.h']]], - ['blend_5fmode_5fsubtract',['BLEND_MODE_SUBTRACT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba448b067d7891bb58c0af01769aba8467',1,'effect.h']]], - ['blend_5fmode_5fvividlight',['BLEND_MODE_VIVIDLIGHT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902bae71c4c087166d44312515797d8e829b1',1,'effect.h']]], - ['blendmode',['blendmode',['../struct_g_l_texture_coords.html#a9b06f6ce54788f068832876a33f0b317',1,'GLTextureCoords']]], - ['block_5frepaints',['block_repaints',['../class_timeline.html#adf20c17baf8dfe869ef6e56a65f837f7',1,'Timeline']]], - ['block_5fsize',['BLOCK_SIZE',['../vsthost_8cpp.html#ad51ded0bbd705f02f73fc60c0b721ced',1,'vsthost.cpp']]], - ['blurred2',['blurred2',['../texteffect_8cpp.html#a1c91186f0609d356d15f4ab40e979cd2',1,'texteffect.cpp']]], - ['boolean',['boolean',['../class_set_bool.html#ad7f25d147bb81b828e314e54b8b154de',1,'SetBool']]], - ['bottom',['bottom',['../struct_v_s_t_rect.html#aaadc655f7600b2b40d2ad82add41be20',1,'VSTRect']]], - ['bottom_5falign',['bottom_align',['../class_timeline_widget.html#a001f8b910f10745902c7329bb015bb7d',1,'TimelineWidget']]], - ['bottom_5fcenter_5fgizmo',['bottom_center_gizmo',['../class_transform_effect.html#a893dfdc02ff3d849236e4ed0eec5b0f3',1,'TransformEffect']]], - ['bottom_5fleft_5fgizmo',['bottom_left_gizmo',['../class_corner_pin_effect.html#ad7b2a75a65a708365f1e6d1234308359',1,'CornerPinEffect::bottom_left_gizmo()'],['../class_transform_effect.html#a125313f992fc8cf033664edca7bd64e8',1,'TransformEffect::bottom_left_gizmo()']]], - ['bottom_5fleft_5fx',['bottom_left_x',['../class_corner_pin_effect.html#ac3d9f7c25cf3eaf25ebe4829185eff80',1,'CornerPinEffect']]], - ['bottom_5fleft_5fy',['bottom_left_y',['../class_corner_pin_effect.html#aa8c11c8bebd60e416e3538760dd451c6',1,'CornerPinEffect']]], - ['bottom_5fright_5fgizmo',['bottom_right_gizmo',['../class_corner_pin_effect.html#a016482488303f0be7dcec8109ef06976',1,'CornerPinEffect::bottom_right_gizmo()'],['../class_transform_effect.html#a0a7229684f444b887558ea81127a330b',1,'TransformEffect::bottom_right_gizmo()']]], - ['bottom_5fright_5fx',['bottom_right_x',['../class_corner_pin_effect.html#ab827b4cd42849ab0aff7cbb9ef99de63',1,'CornerPinEffect']]], - ['bottom_5fright_5fy',['bottom_right_y',['../class_corner_pin_effect.html#aeb74d01c56bd63996aded3519081d0ad',1,'CornerPinEffect']]], - ['bound',['bound',['../class_effect.html#abe2c8ab97093e7132f33f632090d3a14',1,'Effect']]], - ['box',['box',['../class_checkbox_command.html#a99847d9db23edec167c55d59b11a87f6',1,'CheckboxCommand']]], - ['browse',['browse',['../class_embedded_file_chooser.html#a1be5ef9979d157641f3ff64ba933728d',1,'EmbeddedFileChooser']]], - ['browse_5fcss_5ffile',['browse_css_file',['../class_preferences_dialog.html#aeeba960285aa17b736f0778a0426f1ca',1,'PreferencesDialog']]], - ['btnaddaudioeffect',['btnAddAudioEffect',['../class_effect_controls.html#af751940a58accea010eed32151f79d19',1,'EffectControls']]], - ['btnaddaudiotransition',['btnAddAudioTransition',['../class_effect_controls.html#a5c045b86ffb86d72d2f64c10d1eee9b1',1,'EffectControls']]], - ['btnaddvideoeffect',['btnAddVideoEffect',['../class_effect_controls.html#a4a50dbb688e65f7f21dfc054aaa35a55',1,'EffectControls']]], - ['btnaddvideotransition',['btnAddVideoTransition',['../class_effect_controls.html#aa8e8d710307bdc0068ad47426fa6fb99',1,'EffectControls']]], - ['buffersink_5fctx',['buffersink_ctx',['../class_clip.html#a250918778e531d65e65401691546a4e6',1,'Clip']]], - ['buffersrc_5fctx',['buffersrc_ctx',['../class_clip.html#ab55d3b7967e31b458a9a63405c431be7',1,'Clip']]], - ['bytes',['bytes',['../class_void_effect.html#a8316947b3383c3bedc05ce445ec1fc16',1,'VoidEffect']]], - ['bytes_5fto_5fseconds',['bytes_to_seconds',['../cacher_8cpp.html#a673f9f122c08ad992fba3ea9cde1bc3a',1,'cacher.cpp']]], - ['bytesize',['byteSize',['../struct___vst_midi_event.html#aa055e97c75c920e691409b4f2b15fccc',1,'_VstMidiEvent']]] -]; diff --git a/docs/html/search/all_3.html b/docs/html/search/all_3.html deleted file mode 100644 index b634070bc..000000000 --- a/docs/html/search/all_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_3.js b/docs/html/search/all_3.js deleted file mode 100644 index ebb08b3c0..000000000 --- a/docs/html/search/all_3.js +++ /dev/null @@ -1,213 +0,0 @@ -var searchData= -[ - ['c_5ffilename',['c_filename',['../class_export_thread.html#a786859adf3a4eaeab9da8748bf3fb210',1,'ExportThread']]], - ['ca',['ca',['../class_ripple_action.html#a833d3e5c3d68baa1ce99b5d6eaa01232',1,'RippleAction']]], - ['cache_5faudio_5fworker',['cache_audio_worker',['../cacher_8cpp.html#ad4d1edc3dbe25272c9d73991027a4dc5',1,'cacher.cpp']]], - ['cache_5fclip',['cache_clip',['../playback_8cpp.html#a23df95737266e378e8aa3276e159d657',1,'cache_clip(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > &nests, int playback_speed): playback.cpp'],['../playback_8h.html#a23df95737266e378e8aa3276e159d657',1,'cache_clip(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > &nests, int playback_speed): playback.cpp']]], - ['cache_5fclip_5fworker',['cache_clip_worker',['../cacher_8cpp.html#a035aefad16c2f4120e278e8b60472232',1,'cache_clip_worker(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > nests, int playback_speed): cacher.cpp'],['../cacher_8h.html#a7550bdcbcaa2eb6797755e783443853e',1,'cache_clip_worker(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > nest, int playback_speed): cacher.cpp']]], - ['cache_5fvideo_5fworker',['cache_video_worker',['../cacher_8cpp.html#a64fa1a9df798c7b7992e0754345e2ca7',1,'cacher.cpp']]], - ['cached_5fend_5fframe',['cached_end_frame',['../class_viewer.html#a8c9c40c543ee55aa69053ebef20141a9',1,'Viewer']]], - ['cached_5ffr',['cached_fr',['../class_clip.html#a3aad4d39b0e0d0ff8cd842ef7cdd130d',1,'Clip']]], - ['cached_5fselected_5ffootage',['cached_selected_footage',['../class_sources_common.html#ad80cfeb8240f01e030ac77a831c642bb',1,'SourcesCommon']]], - ['cachedvalues',['cachedValues',['../class_effect.html#a24fb74a55607acaa7e836db835e08038',1,'Effect']]], - ['cacher',['Cacher',['../class_cacher.html',1,'Cacher'],['../class_clip.html#aacbce12bf47dc02acd401405240ced08',1,'Clip::cacher()'],['../class_cacher.html#a0eda328c5746dc42704f648f4333c3cd',1,'Cacher::Cacher()']]], - ['cacher_2ecpp',['cacher.cpp',['../cacher_8cpp.html',1,'']]], - ['cacher_2eh',['cacher.h',['../cacher_8h.html',1,'']]], - ['caching',['caching',['../class_cacher.html#a797742db18b4cb59ced0c8881d983b71',1,'Cacher']]], - ['calculated_5flength',['calculated_length',['../class_clip.html#abe218e9c26667dbd9be30da7bd55a673',1,'Clip']]], - ['can_5fcache',['can_cache',['../class_clip.html#ae8255eb6a6c1d60e7f8348cbe8d3b2fe',1,'Clip']]], - ['can_5fclose_5fproject',['can_close_project',['../class_olive_global.html#a634b935875324ef89ac8088b10a8707f',1,'OliveGlobal']]], - ['can_5fripple_5fempty_5fspace',['can_ripple_empty_space',['../class_timeline.html#a1be8a3b81178a4535baf6ae241bf926b',1,'Timeline']]], - ['cancel',['cancel',['../class_load_dialog.html#a665f8cf164b0ac65d65722df1cc522be',1,'LoadDialog::cancel()'],['../class_text_edit_dialog.html#a9b4531c296fe1c63a66ca23e68e04d39',1,'TextEditDialog::cancel()'],['../class_load_thread.html#a748de695a8ae7eff63af6372e0808af6',1,'LoadThread::cancel()'],['../class_preview_generator.html#aef3b64744a2ba43d257074000d39ca6d',1,'PreviewGenerator::cancel()'],['../class_proxy_generator.html#ac8172fb75376a3e35b86c795488445dd',1,'ProxyGenerator::cancel()'],['../class_render_thread.html#a7baf0d9ddf94e78b0a5078b8cb00d341',1,'RenderThread::cancel()']]], - ['cancel_5fbutton',['cancel_button',['../class_export_dialog.html#ad742c90f14dcdd83c08a05e3347eafa0',1,'ExportDialog::cancel_button()'],['../class_load_dialog.html#adb47651f751b1de28b36204a071df787',1,'LoadDialog::cancel_button()']]], - ['cancel_5frender',['cancel_render',['../class_export_dialog.html#a5f25dd61ac84ae2a89b455e84a3ab12f',1,'ExportDialog']]], - ['cancelled',['cancelled',['../class_export_dialog.html#a69db8286242fbb88091d8c0f06d363b5',1,'ExportDialog::cancelled()'],['../class_load_thread.html#a41c690a7552cc29b7bac5debe2a899ae',1,'LoadThread::cancelled()'],['../class_preview_generator.html#a6a5c4f91e5cee4f631883c628c5face5',1,'PreviewGenerator::cancelled()'],['../class_proxy_generator.html#aae876b2da2db698e6a2fcdfc08681671',1,'ProxyGenerator::cancelled()']]], - ['canplugindo',['canPluginDo',['../class_v_s_t_host.html#a66139153f600c620de97e18f67f34be9',1,'VSTHost']]], - ['category',['category',['../struct___vst_parameter_properties.html#a1b4c8ac2b604ee7d67d02c90eabd8b40',1,'_VstParameterProperties::category()'],['../struct_effect_meta.html#aba7bff8718dd1c789b499ec64d1d2c5b',1,'EffectMeta::category()']]], - ['categorylabel',['categoryLabel',['../struct___vst_parameter_properties.html#adeaa4702ed238ed3480d53fe77f01395',1,'_VstParameterProperties']]], - ['cconst',['CCONST',['../vestige_8h.html#abe9ebeb8fb703ceffa08dc69d920a27d',1,'vestige.h']]], - ['center_5fscroll_5fto_5fplayhead',['center_scroll_to_playhead',['../timelineheader_8cpp.html#a96f389fdd55c8af6080c045463851f64',1,'center_scroll_to_playhead(QScrollBar *bar, double zoom, long playhead): timelineheader.cpp'],['../timelineheader_8h.html#a96f389fdd55c8af6080c045463851f64',1,'center_scroll_to_playhead(QScrollBar *bar, double zoom, long playhead): timelineheader.cpp']]], - ['center_5ftimeline_5ftimecodes',['center_timeline_timecodes',['../struct_config.html#a20d04d60e918d9e7a90f934e55c3e4f2',1,'Config']]], - ['change_5fplugin',['change_plugin',['../class_v_s_t_host.html#ae9ae8aa89d3b9b22deeb3fd5df1b6d2c',1,'VSTHost']]], - ['changed',['changed',['../class_effect_field.html#a450233f5744ddd68c994113226622fbd',1,'EffectField::changed()'],['../class_embedded_file_chooser.html#af42748c2f0cc351d3dd81a3190b636bd',1,'EmbeddedFileChooser::changed()']]], - ['changed_5froot',['changed_root',['../class_source_icon_view.html#a04283f5d2ab619f3c3aead021d17e47b',1,'SourceIconView']]], - ['changesequenceaction',['ChangeSequenceAction',['../class_change_sequence_action.html',1,'ChangeSequenceAction'],['../class_change_sequence_action.html#a6fd1af5d0e89ea4f4cc6fa760869482e',1,'ChangeSequenceAction::ChangeSequenceAction()']]], - ['channel_5fcount',['CHANNEL_COUNT',['../vsthost_8cpp.html#a29e42927003b0aa647ee45965f4ccb07',1,'vsthost.cpp']]], - ['check_5ffor_5fautorecovery_5ffile',['check_for_autorecovery_file',['../class_olive_global.html#aed575061a3669d27854f76b3af599846',1,'OliveGlobal']]], - ['checkbox_5fcommand',['checkbox_command',['../class_checkbox_ex.html#a691c497c12520964d26f50d8ccc9d803',1,'CheckboxEx']]], - ['checkboxcommand',['CheckboxCommand',['../class_checkbox_command.html',1,'CheckboxCommand'],['../class_checkbox_command.html#abd78057d439fa11c0cc6d2e752170ee1',1,'CheckboxCommand::CheckboxCommand()']]], - ['checkboxex',['CheckboxEx',['../class_checkbox_ex.html',1,'CheckboxEx'],['../class_checkbox_ex.html#a5b28df6f739b0764f82069e2ef7ae40d',1,'CheckboxEx::CheckboxEx()']]], - ['checkboxex_2ecpp',['checkboxex.cpp',['../checkboxex_8cpp.html',1,'']]], - ['checkboxex_2eh',['checkboxex.h',['../checkboxex_8h.html',1,'']]], - ['checked',['checked',['../class_checkbox_command.html#af1a8d3099928b703d0ce92278a5261d2',1,'CheckboxCommand']]], - ['checkerboard_5fsize_5ffield',['checkerboard_size_field',['../class_solid_effect.html#ad797c489cacf405a98121fa649eb720a',1,'SolidEffect']]], - ['child',['child',['../class_viewer_container.html#a1faa2ee9de84566d3879d032ec67a667',1,'ViewerContainer::child()'],['../class_media.html#a4126ca7d13b1b480523c6eadf2584f0d',1,'Media::child()'],['../class_project_model.html#a6848982158d5791383ecc7b4d771a78a',1,'ProjectModel::child()']]], - ['childcount',['childCount',['../class_media.html#a88143944e70803865a7b740d19bc7203',1,'Media::childCount()'],['../class_project_model.html#a38dc67d7dd45902a78cfef59752b1034',1,'ProjectModel::childCount()']]], - ['children',['children',['../class_media.html#a85caaa2bd6a5ae9ca9c6d761c2c459a4',1,'Media']]], - ['clean_5fcreated_5fseq',['clean_created_seq',['../class_viewer.html#a87390cfbab6496e269d39ac720d53c24',1,'Viewer']]], - ['clean_5fup_5fselections',['clean_up_selections',['../class_timeline.html#a27b879f4e0915d04eeaf9f2311d4e6fe',1,'Timeline']]], - ['clear',['clear',['../class_project.html#ae17aae0710dad6f1aac41e5bca16f2bd',1,'Project::clear()'],['../class_project_model.html#a6a0eae0a5136c9299d91d363bc874d8e',1,'ProjectModel::clear()'],['../class_audio_monitor.html#abb8d59be2fc73186b73827f7efb260e6',1,'AudioMonitor::clear()']]], - ['clear_5faudio_5fibuffer',['clear_audio_ibuffer',['../audio_8cpp.html#abaa90648971a235c8f86b3144e21a4c6',1,'clear_audio_ibuffer(): audio.cpp'],['../audio_8h.html#abaa90648971a235c8f86b3144e21a4c6',1,'clear_audio_ibuffer(): audio.cpp']]], - ['clear_5fclipboard',['clear_clipboard',['../clipboard_8cpp.html#a58ad629f0a0bb0bb3d5d825f6002df27',1,'clear_clipboard(): clipboard.cpp'],['../clipboard_8h.html#a58ad629f0a0bb0bb3d5d825f6002df27',1,'clear_clipboard(): clipboard.cpp']]], - ['clear_5feffects',['clear_effects',['../class_effect_controls.html#aa60430417abaedd9af579ef7a093614c',1,'EffectControls']]], - ['clear_5fin',['clear_in',['../class_viewer.html#ad193578ac2b5aa2ed5a045163bce51d5',1,'Viewer::clear_in()'],['../class_focus_filter.html#a64b5f3777c6e9419e13fe388ee2975ff',1,'FocusFilter::clear_in()']]], - ['clear_5finout',['clear_inout',['../class_focus_filter.html#a96eaaf8404de284edac0aa15de9c5dc4',1,'FocusFilter']]], - ['clear_5finout_5fpoint',['clear_inout_point',['../class_viewer.html#a48999f1e2f46fe79584f39944b02574a',1,'Viewer']]], - ['clear_5fopen_5frecent_5faction',['clear_open_recent_action',['../class_main_window.html#ab48b7f339c33efa37bbe966b279bd503',1,'MainWindow']]], - ['clear_5fout',['clear_out',['../class_viewer.html#a4ad3b406eb2d43e294582555d2948e2a',1,'Viewer::clear_out()'],['../class_focus_filter.html#a7357058d6bd8b1e9ca9d5e8b25c2432e',1,'FocusFilter::clear_out()']]], - ['clear_5fproxies_5ffrom_5fselected',['clear_proxies_from_selected',['../class_sources_common.html#a9c65f492c97a555a297d79f7f5e5d20b',1,'SourcesCommon']]], - ['clear_5frecent_5fprojects',['clear_recent_projects',['../class_project.html#a8e1596b66bd160b592d9695b308d8664',1,'Project']]], - ['clear_5ftimer',['clear_timer',['../class_audio_monitor.html#a23d14d3357f0a8d8e0df8a34dfc0ba6e',1,'AudioMonitor']]], - ['clear_5fundo_5fstack',['clear_undo_stack',['../class_olive_global.html#a097586341c27234802fb42f7ee1d40c6',1,'OliveGlobal']]], - ['click_5fadd',['click_add',['../class_graph_view.html#a83cb3346dd1048f693e491fd05d02f2b',1,'GraphView']]], - ['click_5fadd_5ffield',['click_add_field',['../class_graph_view.html#ac0cc671dac193fc3084d3dce6ed3c4ee',1,'GraphView']]], - ['click_5fadd_5fkey',['click_add_key',['../class_graph_view.html#adf3e2422018f8f689ad1bdc5fd9441d8',1,'GraphView']]], - ['click_5fadd_5fproc',['click_add_proc',['../class_graph_view.html#ae7a480139a30a2dd2858e4e06756975b',1,'GraphView']]], - ['click_5fadd_5ftype',['click_add_type',['../class_graph_view.html#a9176bb6e393904eba24aa150f6bed884',1,'GraphView']]], - ['click_5frange',['CLICK_RANGE',['../timelineheader_8cpp.html#a198d8388773d1f75d1f6df984cdae61f',1,'timelineheader.cpp']]], - ['clickablelabel',['ClickableLabel',['../class_clickable_label.html',1,'ClickableLabel'],['../class_clickable_label.html#a634ef97f5aba9c2b320d61d5a3923435',1,'ClickableLabel::ClickableLabel(QWidget *parent=0, Qt::WindowFlags f=0)'],['../class_clickable_label.html#a351d055e7a28d021e8f8e87020d31199',1,'ClickableLabel::ClickableLabel(const QString &text, QWidget *parent=0, Qt::WindowFlags f=0)']]], - ['clickablelabel_2ecpp',['clickablelabel.cpp',['../clickablelabel_8cpp.html',1,'']]], - ['clickablelabel_2eh',['clickablelabel.h',['../clickablelabel_8h.html',1,'']]], - ['clicked',['clicked',['../class_effect_field.html#a2922c1e4c3e22f43e4faacfe8ad1b9e0',1,'EffectField::clicked()'],['../class_clickable_label.html#aba68cb811a595c6d90f5c994f2b31f4b',1,'ClickableLabel::clicked()'],['../class_keyframe_navigator.html#a087ee415a33d13fce71a0410ae16cf6b',1,'KeyframeNavigator::clicked()'],['../class_label_slider.html#a4b7301bbdad1d6dca30aa0e878818706',1,'LabelSlider::clicked()']]], - ['clip',['Clip',['../class_clip.html',1,'Clip'],['../class_clip.html#a57751e1af607a6da2408e04d3abd43f1',1,'Clip::Clip()'],['../struct_ghost.html#a03e911f4a3b08e0a6feb308a9a8bb000',1,'Ghost::clip()'],['../class_cacher.html#ae4c0f8fff07c174698a79c7a4b199d34',1,'Cacher::clip()'],['../class_move_clip_action.html#a00a98e34fa95b8439eb188294f1cf9ac',1,'MoveClipAction::clip()'],['../class_add_effect_command.html#a8c7c7b5a3d3be222eac4aec4193ce998',1,'AddEffectCommand::clip()'],['../class_set_speed_action.html#a43b51959ec5c7e785f410147ba7bb018',1,'SetSpeedAction::clip()'],['../class_move_effect_command.html#a5f21c146b25e01a9302e70d6316917ce',1,'MoveEffectCommand::clip()'],['../class_remove_clips_from_clipboard.html#ada727adbe459572cf5e38a9ac0b95ed8',1,'RemoveClipsFromClipboard::clip()']]], - ['clip_2ecpp',['clip.cpp',['../clip_8cpp.html',1,'']]], - ['clip_2eh',['clip.h',['../clip_8h.html',1,'']]], - ['clip_5fin',['clip_in',['../struct_ghost.html#a206241b761d7fc7c3a69d3207a38141d',1,'Ghost::clip_in()'],['../class_clip.html#af05069e2f3eec7d8302e56de02f6c4ab',1,'Clip::clip_in()']]], - ['clip_5fuses_5fcacher',['clip_uses_cacher',['../playback_8cpp.html#a6615780fb5ed39bd15868f9b967ec7c3',1,'clip_uses_cacher(ClipPtr clip): playback.cpp'],['../playback_8h.html#a6615780fb5ed39bd15868f9b967ec7c3',1,'clip_uses_cacher(ClipPtr clip): playback.cpp']]], - ['clipboard',['clipboard',['../clipboard_8cpp.html#a72ed03fc7b89ba3840d0d7ef8ed14e24',1,'clipboard(): clipboard.cpp'],['../clipboard_8h.html#a72ed03fc7b89ba3840d0d7ef8ed14e24',1,'clipboard(): clipboard.cpp']]], - ['clipboard_2ecpp',['clipboard.cpp',['../clipboard_8cpp.html',1,'']]], - ['clipboard_2eh',['clipboard.h',['../clipboard_8h.html',1,'']]], - ['clipboard_5ftransitions',['clipboard_transitions',['../clipboard_8cpp.html#a2a33bc5dfd656207b23d13c3eba13f7d',1,'clipboard_transitions(): clipboard.cpp'],['../clipboard_8h.html#a2a33bc5dfd656207b23d13c3eba13f7d',1,'clipboard_transitions(): clipboard.cpp']]], - ['clipboard_5ftype',['clipboard_type',['../clipboard_8cpp.html#a2dea59517b6f40cb48fa94291eb8a806',1,'clipboard_type(): clipboard.cpp'],['../clipboard_8h.html#a2dea59517b6f40cb48fa94291eb8a806',1,'clipboard_type(): clipboard.cpp']]], - ['clipboard_5ftype_5fclip',['CLIPBOARD_TYPE_CLIP',['../clipboard_8h.html#a2ee044c6833e37444ce7b6ee1e96269d',1,'clipboard.h']]], - ['clipboard_5ftype_5feffect',['CLIPBOARD_TYPE_EFFECT',['../clipboard_8h.html#add80b5f57a067039f7c28142be386add',1,'clipboard.h']]], - ['clipptr',['ClipPtr',['../cacher_8h.html#a06b2300f462978e17d9b586991a0af3f',1,'ClipPtr(): cacher.h'],['../clip_8h.html#a06b2300f462978e17d9b586991a0af3f',1,'ClipPtr(): clip.h'],['../effect_8h.html#a06b2300f462978e17d9b586991a0af3f',1,'ClipPtr(): effect.h']]], - ['clips',['clips',['../class_speed_dialog.html#ac484f3b0325bbcc61b45ec0deae65373',1,'SpeedDialog::clips()'],['../class_sequence.html#a2d31f3f0848570118fdbaf77d05858e7',1,'Sequence::clips()'],['../class_add_clip_command.html#acabefd3521769909f4a7fbd47f1b0364',1,'AddClipCommand::clips()'],['../class_link_command.html#a3f724fb5c1def8bc7529707b15939065',1,'LinkCommand::clips()'],['../class_replace_clip_media_command.html#a62f6addbd34e5d3385369cb6d6de567c',1,'ReplaceClipMediaCommand::clips()'],['../class_effect_delete_command.html#a5eb78bfe88ea448d68d4c3f93e167018',1,'EffectDeleteCommand::clips()'],['../class_set_autoscale_action.html#a6fa05ece036b4fec80819a4f1325af28',1,'SetAutoscaleAction::clips()'],['../class_rename_clip_command.html#a739c6732060a3d42835fd48d4613caf2',1,'RenameClipCommand::clips()']]], - ['close',['close',['../class_audio_sender_thread.html#a911753250933e30548705bb7346a9bd9',1,'AudioSenderThread::close()'],['../class_effect.html#af39cb182d07d61beab596f6f55dbedff',1,'Effect::close()']]], - ['close_5f',['close_',['../class_add_transition_command.html#a375bfd6fc0c2aaa68d2a270e1b23b88e',1,'AddTransitionCommand']]], - ['close_5fclip',['close_clip',['../playback_8cpp.html#a4ea080554d9ddc35811f5daeed7f45d8',1,'close_clip(ClipPtr clip, bool wait): playback.cpp'],['../playback_8h.html#a4ea080554d9ddc35811f5daeed7f45d8',1,'close_clip(ClipPtr clip, bool wait): playback.cpp']]], - ['close_5fclip_5fworker',['close_clip_worker',['../cacher_8cpp.html#a5d2bcde3219a99a5447ed1296def1807',1,'close_clip_worker(ClipPtr clip): cacher.cpp'],['../cacher_8h.html#a5d2bcde3219a99a5447ed1296def1807',1,'close_clip_worker(ClipPtr clip): cacher.cpp']]], - ['close_5fdebug_5ffile',['close_debug_file',['../debug_8cpp.html#ac6e1124d043e34d4c2154777a32c57b6',1,'close_debug_file(): debug.cpp'],['../debug_8h.html#ac6e1124d043e34d4c2154777a32c57b6',1,'close_debug_file(): debug.cpp']]], - ['close_5fmedia',['close_media',['../class_viewer.html#aea90b36c0b1fe4da49069048b175f4d7',1,'Viewer']]], - ['close_5fwindow',['close_window',['../class_viewer_widget.html#a18a34c6801393a970816c41cf6fd21af',1,'ViewerWidget']]], - ['closeactiveclips',['closeActiveClips',['../playback_8cpp.html#a62bf049be9d55d486961ff78ebf56938',1,'closeActiveClips(SequencePtr s): playback.cpp'],['../playback_8h.html#a62bf049be9d55d486961ff78ebf56938',1,'closeActiveClips(SequencePtr s): playback.cpp']]], - ['closeallclipscommand',['CloseAllClipsCommand',['../class_close_all_clips_command.html',1,'']]], - ['closed_5fclip_5f',['closed_clip_',['../class_delete_transition_command.html#a010d8becb4789c5b9abf58a55a21edee',1,'DeleteTransitionCommand']]], - ['closeevent',['closeEvent',['../class_main_window.html#a4aa386518569b0bbceb958df0ddc8f32',1,'MainWindow']]], - ['closing_5ftransition',['closing_transition',['../class_clip.html#aa2a7b260482cfd289403fb6d2a3e2d23',1,'Clip::closing_transition()'],['../class_delete_clip_action.html#a4ada4f51354569fa918cbfae79fcd8fd',1,'DeleteClipAction::closing_transition()']]], - ['codec',['codec',['../class_clip.html#ac55d07ef566c39942b774413e578f2d9',1,'Clip']]], - ['codec_5ftype',['codec_type',['../struct_proxy_info.html#ac20fc0846a9e29401f1a3883338c4a63',1,'ProxyInfo']]], - ['codecctx',['codecCtx',['../class_clip.html#ab3eafe9a232dd644b0ba51d814a9a172',1,'Clip']]], - ['collapse_5fbutton',['collapse_button',['../class_collapsible_widget.html#ad6f3a1620d62ede0060303d4b39616a3',1,'CollapsibleWidget']]], - ['collapsiblewidget',['CollapsibleWidget',['../class_collapsible_widget.html',1,'CollapsibleWidget'],['../class_collapsible_widget.html#a973cf82cc799f5f9e2a242158b942a10',1,'CollapsibleWidget::CollapsibleWidget()']]], - ['collapsiblewidget_2ecpp',['collapsiblewidget.cpp',['../collapsiblewidget_8cpp.html',1,'']]], - ['collapsiblewidget_2eh',['collapsiblewidget.h',['../collapsiblewidget_8h.html',1,'']]], - ['collapsiblewidgetheader',['CollapsibleWidgetHeader',['../class_collapsible_widget_header.html',1,'CollapsibleWidgetHeader'],['../class_collapsible_widget_header.html#a81a5d70a6b9ad10d93a91f92bd7b1b83',1,'CollapsibleWidgetHeader::CollapsibleWidgetHeader()']]], - ['color',['color',['../class_effect_gizmo.html#a652b6b4556c3ceb646c51ccb21d3f739',1,'EffectGizmo::color()'],['../class_color_button.html#a0804fc3096200d8ded3b5db06a377b78',1,'ColorButton::color()']]], - ['color_5fb',['color_b',['../class_clip.html#a67ae9ea4ac6729e670b312c279b471c9',1,'Clip']]], - ['color_5fbg_5fval',['color_bg_val',['../class_timecode_effect.html#a0c7d37b0402e653f5bc4a0354fd0a29d',1,'TimecodeEffect']]], - ['color_5fbrightness',['color_brightness',['../timelinewidget_8cpp.html#a504a08cc9c9b79a08266d2b764259404',1,'timelinewidget.cpp']]], - ['color_5fchanged',['color_changed',['../class_color_button.html#a11ab24ee2eed8ba098d1818eef53ae89',1,'ColorButton']]], - ['color_5fg',['color_g',['../class_clip.html#a1b4c9885119ab0265a4434727ce376e8',1,'Clip']]], - ['color_5fr',['color_r',['../class_clip.html#a587053c04d0f4a872bf87cac636ff2b5',1,'Clip']]], - ['color_5fval',['color_val',['../class_timecode_effect.html#a52b44be51a1a2dcaf5a26e671ebc8c45',1,'TimecodeEffect']]], - ['colorbutton',['ColorButton',['../class_color_button.html',1,'ColorButton'],['../class_color_button.html#a128b21900f22efdc9d71d0bffa0b64f8',1,'ColorButton::ColorButton()']]], - ['colorbutton_2ecpp',['colorbutton.cpp',['../colorbutton_8cpp.html',1,'']]], - ['colorbutton_2eh',['colorbutton.h',['../colorbutton_8h.html',1,'']]], - ['colorcommand',['ColorCommand',['../class_color_command.html',1,'ColorCommand'],['../class_color_command.html#a7dd09c97bc13d11f6e72be84f6528e9f',1,'ColorCommand::ColorCommand()']]], - ['column_5fcount',['column_count',['../class_effect_row.html#a66b49b126288b41e830bc90e0ef54314',1,'EffectRow']]], - ['columncount',['columnCount',['../class_media.html#a899f4b192ff788a90459be6e4c8a32ed',1,'Media::columnCount()'],['../class_project_model.html#a89e3b0ab9efb272edce72247e2353338',1,'ProjectModel::columnCount()']]], - ['comboaction',['ComboAction',['../class_combo_action.html',1,'ComboAction'],['../class_combo_action.html#ae2197126adbb8505326eb2fe2d16b8f3',1,'ComboAction::ComboAction()']]], - ['comboaction_2ecpp',['comboaction.cpp',['../comboaction_8cpp.html',1,'']]], - ['comboaction_2eh',['comboaction.h',['../comboaction_8h.html',1,'']]], - ['combobox',['combobox',['../class_combo_box_ex_command.html#a2d4722c19dfa892ed824101c8524af03',1,'ComboBoxExCommand']]], - ['combobox_5faudio_5fsample_5frates',['combobox_audio_sample_rates',['../audio_8cpp.html#a5311f2f51119bb68db7d42c09cf010c8',1,'combobox_audio_sample_rates(QComboBox *combobox): audio.cpp'],['../audio_8h.html#a5311f2f51119bb68db7d42c09cf010c8',1,'combobox_audio_sample_rates(QComboBox *combobox): audio.cpp']]], - ['comboboxex',['ComboBoxEx',['../class_combo_box_ex.html',1,'ComboBoxEx'],['../class_combo_box_ex.html#ae2c198f471d29928b1571d3bdb8339b4',1,'ComboBoxEx::ComboBoxEx()']]], - ['comboboxex_2ecpp',['comboboxex.cpp',['../comboboxex_8cpp.html',1,'']]], - ['comboboxex_2eh',['comboboxex.h',['../comboboxex_8h.html',1,'']]], - ['comboboxexcommand',['ComboBoxExCommand',['../class_combo_box_ex_command.html',1,'ComboBoxExCommand'],['../class_combo_box_ex_command.html#ae2b35a7571c11fab6bd342577e2a596b',1,'ComboBoxExCommand::ComboBoxExCommand()']]], - ['commands',['commands',['../class_combo_action.html#a04edf7f34077d60fc1b09e5f9ba5d92e',1,'ComboAction']]], - ['comp_5ftype_5fchanged',['comp_type_changed',['../class_export_dialog.html#aecdbe9fd331c69152ffee197733b2cb6',1,'ExportDialog']]], - ['compose',['compose',['../class_viewer.html#ab216ba91c609f7e0a766c2a10639a040',1,'Viewer']]], - ['compose_5faudio',['compose_audio',['../renderfunctions_8cpp.html#a79288c23c1ade122bc8da2eb0bfde9ef',1,'compose_audio(Viewer *viewer, SequencePtr seq, int playback_speed): renderfunctions.cpp'],['../renderfunctions_8h.html#a79288c23c1ade122bc8da2eb0bfde9ef',1,'compose_audio(Viewer *viewer, SequencePtr seq, int playback_speed): renderfunctions.cpp']]], - ['compose_5fsequence',['compose_sequence',['../renderfunctions_8cpp.html#a478845e39064301011d72a81b2a10b57',1,'compose_sequence(ComposeSequenceParams &params): renderfunctions.cpp'],['../renderfunctions_8h.html#a478845e39064301011d72a81b2a10b57',1,'compose_sequence(ComposeSequenceParams &params): renderfunctions.cpp']]], - ['composesequenceparams',['ComposeSequenceParams',['../struct_compose_sequence_params.html',1,'']]], - ['compression_5ftype_5fcbr',['COMPRESSION_TYPE_CBR',['../exportthread_8h.html#ad80727ec5896454335fa2f70baa05041',1,'exportthread.h']]], - ['compression_5ftype_5fcfr',['COMPRESSION_TYPE_CFR',['../exportthread_8h.html#ab1e0eb8db91ea1752e08b43fee22df34',1,'exportthread.h']]], - ['compression_5ftype_5ftargetbr',['COMPRESSION_TYPE_TARGETBR',['../exportthread_8h.html#aa517061361563c44ffdbbe58c85b9a29',1,'exportthread.h']]], - ['compression_5ftype_5ftargetsize',['COMPRESSION_TYPE_TARGETSIZE',['../exportthread_8h.html#abd74ba845479d94492086e596b6b48fc',1,'exportthread.h']]], - ['compressiontypecombobox',['compressionTypeCombobox',['../class_export_dialog.html#ac90e0bc2dcb644d1e4c36650ee0e746b',1,'ExportDialog']]], - ['cond',['cond',['../class_audio_sender_thread.html#a29833b2e01b25986515159b8d9910cfa',1,'AudioSenderThread']]], - ['config',['Config',['../struct_config.html',1,'Config'],['../struct_config.html#abd0c571c116924871e30444b192b792a',1,'Config::Config()']]], - ['config_2ecpp',['config.cpp',['../config_8cpp.html',1,'']]], - ['config_2eh',['config.h',['../config_8h.html',1,'']]], - ['configureplugincallbacks',['configurePluginCallbacks',['../class_v_s_t_host.html#a7b995ac73c96a0d5c44e31e096ab7cff',1,'VSTHost']]], - ['conform_5ffr',['conform_fr',['../class_media_properties_dialog.html#a0ebb1e04fe6d253cb9509fce381a35a0',1,'MediaPropertiesDialog']]], - ['construct_5fmodule',['construct_module',['../class_frei0r_effect.html#ac75a69bdba6a330b705803fad8c1aa87',1,'Frei0rEffect']]], - ['container',['container',['../class_effect.html#af2bccc43a3ac268cae6f81f24f0d4c73',1,'Effect::container()'],['../class_viewer_widget.html#acf760e04b59ce695cee266422fc8f62f',1,'ViewerWidget::container()']]], - ['contains_5fstill_5fimage',['contains_still_image',['../class_preview_generator.html#a6a4276c37512f4b086d82056c670cf91',1,'PreviewGenerator']]], - ['contents',['contents',['../class_collapsible_widget.html#a53961b2c8908359ee74672cfc5210ae1',1,'CollapsibleWidget']]], - ['context_5fdestroy',['context_destroy',['../class_viewer_widget.html#af423b815de0459249dc1d3feac3d1615',1,'ViewerWidget']]], - ['continueencode',['continueEncode',['../class_export_thread.html#abf319902abbc77a0133447c0d9c6f6b2',1,'ExportThread']]], - ['copies',['copies',['../class_delete_marker_action.html#a6df83dca9b9420a9a3a5fb4cdf3abd3a',1,'DeleteMarkerAction']]], - ['copy',['copy',['../class_void_effect.html#a9dcb2a9c5150168f2db4a26025ca7191',1,'VoidEffect::copy()'],['../class_effect_controls.html#ace1cff624bb52a4ab5b3f46bc77d920c',1,'EffectControls::copy()'],['../class_timeline.html#a8f54973a48568b533caa5e15e8effc3d',1,'Timeline::copy()'],['../class_clip.html#a6098d8eaedc3a473ca2acfe8d6bbe7d6',1,'Clip::copy()'],['../class_effect.html#aa091dbb374dacb45423ebdb487cb8d91',1,'Effect::copy()'],['../class_sequence.html#a395fbec2bf9f97179732a188e56323f8',1,'Sequence::copy()'],['../class_transition.html#a0d755eaa9437baca2635c1510a8edfc0',1,'Transition::copy()'],['../class_focus_filter.html#a28498f9a8d44f649826431e53f57863c',1,'FocusFilter::copy()']]], - ['copy_5ffield_5fkeyframes',['copy_field_keyframes',['../class_effect.html#a3426fe55f9081f8ba0e6a6e019d24e83',1,'Effect']]], - ['cornerpineffect',['CornerPinEffect',['../class_corner_pin_effect.html',1,'CornerPinEffect'],['../class_corner_pin_effect.html#a3b4d0360da9e43d4028e9501ef99a69d',1,'CornerPinEffect::CornerPinEffect()']]], - ['cornerpineffect_2ecpp',['cornerpineffect.cpp',['../cornerpineffect_8cpp.html',1,'']]], - ['cornerpineffect_2eh',['cornerpineffect.h',['../cornerpineffect_8h.html',1,'']]], - ['count',['count',['../class_flow_layout.html#a35bdf8dac35631d59767d0c0fedc7248',1,'FlowLayout']]], - ['create',['create',['../class_new_sequence_dialog.html#a5fc5c3e9a93a05a0ce1ba35fe42098a1',1,'NewSequenceDialog']]], - ['create_5feffect',['create_effect',['../effect_8cpp.html#a4185d447c06f41fc97129d98b6cf5c02',1,'create_effect(ClipPtr c, const EffectMeta *em): effect.cpp'],['../effect_8h.html#a4185d447c06f41fc97129d98b6cf5c02',1,'create_effect(ClipPtr c, const EffectMeta *em): effect.cpp']]], - ['create_5feffect_5fui',['create_effect_ui',['../class_load_thread.html#a72f8e7670b8d2ef464e81ea583c9232f',1,'LoadThread']]], - ['create_5ffolder_5finternal',['create_folder_internal',['../class_project.html#aef93eb71bac8e32a96a2993a99f1bb3a',1,'Project']]], - ['create_5fghosts_5ffrom_5fmedia',['create_ghosts_from_media',['../class_timeline.html#adf0909bb3a7f1909a792e7bb1521bd3e',1,'Timeline']]], - ['create_5findex',['create_index',['../class_project_model.html#abdc8131d78c4c2e6e6acc0260fd6c9fd',1,'ProjectModel']]], - ['create_5fseq_5ffrom_5fselected',['create_seq_from_selected',['../class_sources_common.html#a410755a74a293c38cfcccda97fea4307',1,'SourcesCommon']]], - ['create_5fsequence_5ffrom_5fmedia',['create_sequence_from_media',['../project_8cpp.html#aea0ce44b37057cb562376f90ebd46a7b',1,'create_sequence_from_media(QVector< Media * > &media_list): project.cpp'],['../project_8h.html#aea0ce44b37057cb562376f90ebd46a7b',1,'create_sequence_from_media(QVector< Media * > &media_list): project.cpp']]], - ['create_5fsequence_5finternal',['create_sequence_internal',['../class_project.html#a49ac61fef147a2db9928170b012c9ed8',1,'Project']]], - ['create_5ftransition',['create_transition',['../transition_8cpp.html#a8e1235db7b71ca5c9cc28b546465fa32',1,'create_transition(ClipPtr c, ClipPtr s, const EffectMeta *em, long length): transition.cpp'],['../transition_8h.html#a5e461d49a3e1ae4d6510a688cfb1f3c3',1,'create_transition(ClipPtr c, ClipPtr s, const EffectMeta *em, long length=0): transition.cpp']]], - ['created_5fsequence',['created_sequence',['../class_viewer.html#a853e6ed3cdc075445274aeb7e70cb49c',1,'Viewer']]], - ['createobjects',['CreateObjects',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3b',1,'timeline.h']]], - ['creating',['creating',['../class_timeline.html#a54322f55256409408b2dcbde40ab4cc9',1,'Timeline']]], - ['creating_5fobject',['creating_object',['../class_timeline.html#abac137a4612743e71d4bd341c418dca1',1,'Timeline']]], - ['crossdissolvetransition',['CrossDissolveTransition',['../class_cross_dissolve_transition.html',1,'CrossDissolveTransition'],['../class_cross_dissolve_transition.html#a0c817466505c3b7a5414a0b1ed670ddb',1,'CrossDissolveTransition::CrossDissolveTransition()']]], - ['crossdissolvetransition_2ecpp',['crossdissolvetransition.cpp',['../crossdissolvetransition_8cpp.html',1,'']]], - ['crossdissolvetransition_2eh',['crossdissolvetransition.h',['../crossdissolvetransition_8h.html',1,'']]], - ['crossplatformlib_2ecpp',['crossplatformlib.cpp',['../crossplatformlib_8cpp.html',1,'']]], - ['crossplatformlib_2eh',['crossplatformlib.h',['../crossplatformlib_8h.html',1,'']]], - ['css_5fpath',['css_path',['../struct_config.html#a70d7d123e254c64cbdaab88f54509bd3',1,'Config']]], - ['ctx',['ctx',['../struct_compose_sequence_params.html#a489d2c9b71e24f5c451cd97e6b99d154',1,'ComposeSequenceParams::ctx()'],['../class_render_thread.html#a4a2d27dcdc5585de6d00e194ac550f94',1,'RenderThread::ctx()']]], - ['cubetransition',['CubeTransition',['../class_cube_transition.html',1,'CubeTransition'],['../class_cube_transition.html#a7d78259ce226bd9ffb23f7966fffafee',1,'CubeTransition::CubeTransition()']]], - ['cubetransition_2ecpp',['cubetransition.cpp',['../cubetransition_8cpp.html',1,'']]], - ['cubetransition_2eh',['cubetransition.h',['../cubetransition_8h.html',1,'']]], - ['cubic_5ffrom_5ft',['cubic_from_t',['../math_8cpp.html#a82165838a908dade39e06e9c70c235e5',1,'cubic_from_t(double a, double b, double c, double d, double t): math.cpp'],['../math_8h.html#a82165838a908dade39e06e9c70c235e5',1,'cubic_from_t(double a, double b, double c, double d, double t): math.cpp']]], - ['cubic_5ft_5ffrom_5fx',['cubic_t_from_x',['../math_8cpp.html#a7e5546520c6da2a0bae7cde9e658e310',1,'cubic_t_from_x(double x_target, double a, double b, double c, double d): math.cpp'],['../math_8h.html#a7e5546520c6da2a0bae7cde9e658e310',1,'cubic_t_from_x(double x_target, double a, double b, double c, double d): math.cpp']]], - ['cue_5frecording',['cue_recording',['../class_viewer.html#a7e23ea97f38a09a43591b52adc27e126',1,'Viewer']]], - ['cue_5frecording_5finternal',['cue_recording_internal',['../class_viewer.html#a6677520202930763acd2e4279bdb409a',1,'Viewer']]], - ['current_5faudio_5ffreq',['current_audio_freq',['../audio_8cpp.html#a2f841dc1154f2cee4a113c851b8a4126',1,'current_audio_freq(): audio.cpp'],['../audio_8h.html#a2f841dc1154f2cee4a113c851b8a4126',1,'current_audio_freq(): audio.cpp']]], - ['current_5felement_5fcount',['current_element_count',['../class_load_thread.html#adf6f3b4f6bcd98c440ae0f9dc706618a',1,'LoadThread']]], - ['current_5fframe_5frate',['current_frame_rate',['../class_speed_dialog.html#a1e2e1cd3f161819b55dbaf0bf2195882',1,'SpeedDialog']]], - ['current_5fhandle',['current_handle',['../class_graph_view.html#a03315c798803f4bf4d984584f0f6c7ef',1,'GraphView']]], - ['current_5flength',['current_length',['../class_speed_dialog.html#adf039b581f85500e51da44db341781c8',1,'SpeedDialog']]], - ['current_5fpercent',['current_percent',['../class_speed_dialog.html#a6b2436b066cd4485bbbfc471e40a1651',1,'SpeedDialog']]], - ['current_5fprogress',['current_progress',['../class_proxy_generator.html#a98200810908dc2cbc24e4053d70930c4',1,'ProxyGenerator']]], - ['current_5frow_5fdesc',['current_row_desc',['../class_graph_editor.html#a29aaede8af416c0f2a276e39b187ddad',1,'GraphEditor']]], - ['current_5ftimecode_5fslider',['current_timecode_slider',['../class_viewer.html#a8092335fb7b3919ec27d4c5771349709',1,'Viewer']]], - ['current_5ftool_5fshows_5fcursor',['current_tool_shows_cursor',['../timelinewidget_8cpp.html#a06fdcba7aa1c4bcc28c274524f1b59b3',1,'timelinewidget.cpp']]], - ['currentconfig',['CurrentConfig',['../namespaceolive.html#aa545d1c0a2c95ff1299163779ab44063',1,'olive']]], - ['currentruntimeconfig',['CurrentRuntimeConfig',['../namespaceolive.html#ace9c09c3b2fcee17ae33537d238c7854',1,'olive']]], - ['cursor',['cursor',['../class_effect_gizmo.html#ac551fc93e713305ae527309167657bd4',1,'EffectGizmo']]], - ['cursor_5fframe',['cursor_frame',['../class_timeline.html#a40c124875f6fc15d84a37776e586f359',1,'Timeline']]], - ['cursor_5flefttrim',['Cursor_LeftTrim',['../namespaceolive.html#aa22772e6ca279d55442cff34c50ff59a',1,'olive']]], - ['cursor_5frighttrim',['Cursor_RightTrim',['../namespaceolive.html#af68dc527a9664ecccebca6ba4e180659',1,'olive']]], - ['cursor_5ftrack',['cursor_track',['../class_timeline.html#a2e30132d34c1563c8a07c7fb3949f353',1,'Timeline']]], - ['cursors_2ecpp',['cursors.cpp',['../cursors_8cpp.html',1,'']]], - ['cursors_2eh',['cursors.h',['../cursors_8h.html',1,'']]], - ['custom_5fcss_5ffn',['custom_css_fn',['../class_preferences_dialog.html#aa23d8d34ecd16c637a46d86a6517cdc8',1,'PreferencesDialog']]], - ['custom_5fload',['custom_load',['../class_v_s_t_host.html#a4d9ead374e1b4f9328cbc9705849075a',1,'VSTHost::custom_load()'],['../class_effect.html#ae14621c5d5bdb0ef41c6ea7dffcb8762',1,'Effect::custom_load()']]], - ['custom_5flocation',['custom_location',['../class_proxy_dialog.html#a1d3fcf1e4c8f2b0c3c5deb6b439c0f6e',1,'ProxyDialog']]], - ['custom_5ftitle_5fsafe_5fratio',['custom_title_safe_ratio',['../struct_config.html#afa81a0b43800dffd9e4020f83c287c4b',1,'Config']]], - ['cut',['cut',['../class_effect_controls.html#ae619a0b9b59188ba70e18aa0fdaec819',1,'EffectControls::cut()'],['../class_focus_filter.html#a222ebf21b2aefbb43085839a8b95ae3e',1,'FocusFilter::cut()']]], - ['cycleendpos',['cycleEndPos',['../struct___vst_time_info.html#a5e100949597c8db9a8054a5337aa4fee',1,'_VstTimeInfo']]], - ['cyclestartpos',['cycleStartPos',['../struct___vst_time_info.html#a54c88343e5868eaa1747a1c40b8fc1ef',1,'_VstTimeInfo']]] -]; diff --git a/docs/html/search/all_4.html b/docs/html/search/all_4.html deleted file mode 100644 index dd062aeae..000000000 --- a/docs/html/search/all_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_4.js b/docs/html/search/all_4.js deleted file mode 100644 index f522959eb..000000000 --- a/docs/html/search/all_4.js +++ /dev/null @@ -1,119 +0,0 @@ -var searchData= -[ - ['data',['data',['../class_effect_keyframe.html#aa1a6c8a363e6e974155c695a70c0b86d',1,'EffectKeyframe::data()'],['../class_set_effect_data.html#adf29f082a6393ef31e29ec10d50f30f6',1,'SetEffectData::data()'],['../class_media.html#acc23c5eec066f621c5795194b46606ed',1,'Media::data()'],['../class_project_model.html#aa2816d78895d8cc1e8439510bd59bb16',1,'ProjectModel::data()']]], - ['data_5fcache',['data_cache',['../class_v_s_t_host.html#ab59b420e2fd1603db7e165689ba94b17',1,'VSTHost']]], - ['data_5fdir',['data_dir',['../class_preview_generator.html#aeb460ee818287e57a2f27286de939ff0',1,'PreviewGenerator']]], - ['db_5fto_5famplitude',['db_to_amplitude',['../math_8cpp.html#afcdc3965d2e6901c806ad9a28f31728d',1,'db_to_amplitude(double db): math.cpp'],['../math_8h.html#afcdc3965d2e6901c806ad9a28f31728d',1,'db_to_amplitude(double db): math.cpp']]], - ['dbl_5fclick',['dbl_click',['../class_action_search_list.html#a801958dd1c595f50ff16160969a17c82',1,'ActionSearchList']]], - ['debug_2ecpp',['debug.cpp',['../debug_8cpp.html',1,'']]], - ['debug_2eh',['debug.h',['../debug_8h.html',1,'']]], - ['debug_5ffile',['debug_file',['../debug_8cpp.html#a069ab0ed9dd428234b97e71efea4d1c9',1,'debug.cpp']]], - ['debug_5finfo',['debug_info',['../debug_8cpp.html#ac46d4df0d5e0e21b9cb9900d60d5fd35',1,'debug.cpp']]], - ['debug_5fmessage_5fhandler',['debug_message_handler',['../debug_8cpp.html#ac619e032e392f516d3cd9f897bddd9ea',1,'debug_message_handler(QtMsgType type, const QMessageLogContext &context, const QString &msg): debug.cpp'],['../debug_8h.html#ac619e032e392f516d3cd9f897bddd9ea',1,'debug_message_handler(QtMsgType type, const QMessageLogContext &context, const QString &msg): debug.cpp']]], - ['debug_5fmutex',['debug_mutex',['../debug_8cpp.html#af08ac72a3cc16bec3a596ee4513c4d18',1,'debug.cpp']]], - ['debug_5fstream',['debug_stream',['../debug_8cpp.html#a2e5fb4c59c487bf023bff253c3d2bc35',1,'debug.cpp']]], - ['debugdialog',['DebugDialog',['../class_debug_dialog.html',1,'DebugDialog'],['../class_debug_dialog.html#aea51c203ccfb89967c9191f31a39faa1',1,'DebugDialog::DebugDialog()'],['../namespaceolive.html#a22cf74e5a1e641d9efd76f5c29d37233',1,'olive::DebugDialog()']]], - ['debugdialog_2ecpp',['debugdialog.cpp',['../debugdialog_8cpp.html',1,'']]], - ['debugdialog_2eh',['debugdialog.h',['../debugdialog_8h.html',1,'']]], - ['decheck_5ftool_5fbuttons',['decheck_tool_buttons',['../class_timeline.html#a06a7fbc767b4ec76b192dcb61b3540cb',1,'Timeline']]], - ['decimal_5fplaces',['decimal_places',['../class_label_slider.html#afc2a71530cff38dfe586e73dabe99be9',1,'LabelSlider']]], - ['decrease_5fspeed',['decrease_speed',['../class_viewer.html#ab39d6d0213aaf1a414d34140c8a374c1',1,'Viewer::decrease_speed()'],['../class_focus_filter.html#a7df3eede8f25fde514142046b3352c09',1,'FocusFilter::decrease_speed()']]], - ['decreasetrackheight',['DecreaseTrackHeight',['../class_timeline.html#a13210599ae8a12dabfe27da3751387eb',1,'Timeline']]], - ['default_5fcss',['DEFAULT_CSS',['../mainwindow_8cpp.html#a47259bb0c5a8e9233230e7d50271f659',1,'mainwindow.cpp']]], - ['default_5fframe_5frate',['default_frame_rate',['../class_speed_dialog.html#a5a3dfcbe4d38df16553357eb2341747a',1,'SpeedDialog']]], - ['default_5flength',['default_length',['../class_speed_dialog.html#afc369737c0aa3fec5acc89dfa38d639a',1,'SpeedDialog']]], - ['default_5ftransition_5flength',['default_transition_length',['../struct_config.html#ac6e73667141aa402aa1864c42bde592f',1,'Config']]], - ['default_5fvalue',['default_value',['../class_label_slider.html#a7cbdeb285dc88d3a64dc589267c46d59',1,'LabelSlider']]], - ['delete_5fall_5fpreviews',['delete_all_previews',['../class_preferences_dialog.html#a201a93d22aae67d48f0a26e730cb063b',1,'PreferencesDialog']]], - ['delete_5farea_5funder_5fghosts',['delete_area_under_ghosts',['../timelinewidget_8cpp.html#a6d323c02ed6629de93f9105fd725a241',1,'timelinewidget.cpp']]], - ['delete_5fareas_5fand_5frelink',['delete_areas_and_relink',['../class_timeline.html#aed9dec65c0ea386c661191b90ff85687',1,'Timeline']]], - ['delete_5fclips_5fin_5fclipboard_5fwith_5fmedia',['delete_clips_in_clipboard_with_media',['../project_8cpp.html#a48867d6a66d97239e3c17bb0e96ff61b',1,'project.cpp']]], - ['delete_5fclips_5fusing_5fselected_5fmedia',['delete_clips_using_selected_media',['../class_project.html#ab3870e4b53734681597a7f6ee4e431da',1,'Project']]], - ['delete_5fctx',['delete_ctx',['../class_render_thread.html#a993c4e26882f353765abc57230e58774',1,'RenderThread']]], - ['delete_5feffects',['delete_effects',['../class_effect_controls.html#a188b5da17e71874e113b2fbf2ea1cd99',1,'EffectControls']]], - ['delete_5ffbo',['delete_fbo',['../class_render_thread.html#aa77bcc77e1675aa77e791b2ac0ff2850',1,'RenderThread']]], - ['delete_5ffunction',['delete_function',['../class_focus_filter.html#a7d9dbfa4b9595a4e83b01c54f123b3a7',1,'FocusFilter::delete_function()'],['../class_viewer_widget.html#a7a2dfddc85608f7e506a795e1d6f4874',1,'ViewerWidget::delete_function()']]], - ['delete_5fin_5fout_5finternal',['delete_in_out_internal',['../class_timeline.html#a0db2f4cafdf8b0290b6b71989fcdf825',1,'Timeline']]], - ['delete_5finout',['delete_inout',['../class_timeline.html#a3a3ce85179228f291265e7b0aea34fd3',1,'Timeline']]], - ['delete_5fkeyframe_5fat_5ftime',['delete_keyframe_at_time',['../class_effect_row.html#ac3f27fead0d180c1e7f5bc7aff3e762f',1,'EffectRow']]], - ['delete_5fkeyframes',['delete_keyframes',['../keyframe_8cpp.html#a14c0f5036e47d131a841522ce8946cdd',1,'delete_keyframes(QVector< EffectField * > &selected_key_fields, QVector< int > &selected_keys): keyframe.cpp'],['../keyframe_8h.html#a14c0f5036e47d131a841522ce8946cdd',1,'delete_keyframes(QVector< EffectField * > &selected_key_fields, QVector< int > &selected_keys): keyframe.cpp']]], - ['delete_5fmarkers',['delete_markers',['../class_timeline_header.html#a03c5745d39e8fe5b27a805e48cc5b109',1,'TimelineHeader']]], - ['delete_5fpreviews',['delete_previews',['../class_preferences_dialog.html#aef2c68514a62f06c38edd2b9379b46e7',1,'PreferencesDialog']]], - ['delete_5fselected_5fkeyframes',['delete_selected_keyframes',['../class_effect_controls.html#abbfae67d5f9673a8039b2de601f94c7c',1,'EffectControls::delete_selected_keyframes()'],['../class_keyframe_view.html#a6fa5c4f76e0121f7d0043bdc682efacc',1,'KeyframeView::delete_selected_keyframes()']]], - ['delete_5fselected_5fkeys',['delete_selected_keys',['../class_graph_editor.html#ae735d893c5df0b7108d7b12fbef9795c',1,'GraphEditor::delete_selected_keys()'],['../class_graph_view.html#a120eab0fc7605fd3e2bbf89224f1a1fb',1,'GraphView::delete_selected_keys()']]], - ['delete_5fselected_5fmedia',['delete_selected_media',['../class_project.html#af912e769d88ef1c65a6b0729061f0130',1,'Project']]], - ['delete_5fselection',['delete_selection',['../class_timeline.html#a24721c0863116ca4e062e1449542775a',1,'Timeline']]], - ['delete_5fself',['delete_self',['../class_effect.html#a94a9730d41351f47d6f66a13c502c11f',1,'Effect']]], - ['delete_5fshader_5fprogram',['delete_shader_program',['../class_render_thread.html#ae3eaf3033c0752c20b350a6570123b4f',1,'RenderThread']]], - ['delete_5ftexture',['delete_texture',['../class_effect.html#a8e74a11978a944b1f682266c57d3db84',1,'Effect::delete_texture()'],['../class_render_thread.html#ae29eb1ce903ad3a49f0a01b50495ab86',1,'RenderThread::delete_texture()']]], - ['deleteclipaction',['DeleteClipAction',['../class_delete_clip_action.html',1,'DeleteClipAction'],['../class_delete_clip_action.html#a46d06dd649726ed8cc9e56a4c05025d0',1,'DeleteClipAction::DeleteClipAction()']]], - ['deleted_5fkey',['deleted_key',['../class_keyframe_delete.html#ae68e9bacffb2afac4674d2a33c453c60',1,'KeyframeDelete']]], - ['deleted_5fobjects',['deleted_objects',['../class_effect_delete_command.html#ad3f81960dcadc42e8c120ef266a171a1',1,'EffectDeleteCommand']]], - ['deletemarkeraction',['DeleteMarkerAction',['../class_delete_marker_action.html',1,'DeleteMarkerAction'],['../class_delete_marker_action.html#aa795f6a7c49eac4f030939ccf1187789',1,'DeleteMarkerAction::DeleteMarkerAction()']]], - ['deletemediacommand',['DeleteMediaCommand',['../class_delete_media_command.html',1,'DeleteMediaCommand'],['../class_delete_media_command.html#a7ea705c3e09e28365441958a6f11c654',1,'DeleteMediaCommand::DeleteMediaCommand()']]], - ['deletetransitioncommand',['DeleteTransitionCommand',['../class_delete_transition_command.html',1,'DeleteTransitionCommand'],['../class_delete_transition_command.html#a073745a712812e5b76510335b4d8fc55',1,'DeleteTransitionCommand::DeleteTransitionCommand()']]], - ['deltasamples',['deltaSamples',['../struct___vst_midi_event.html#a248ee6ab14747b3cc4bc81092131c30a',1,'_VstMidiEvent']]], - ['demonotice',['DemoNotice',['../class_demo_notice.html',1,'DemoNotice'],['../class_demo_notice.html#a73b7803db28f2e8e378f2d267f7258cd',1,'DemoNotice::DemoNotice()']]], - ['demonotice_2ecpp',['demonotice.cpp',['../demonotice_8cpp.html',1,'']]], - ['demonotice_2eh',['demonotice.h',['../demonotice_8h.html',1,'']]], - ['deselect',['deselect',['../class_timeline.html#a189f90a7538c3469428d2a905265ca6e',1,'Timeline']]], - ['deselect_5fall_5feffects',['deselect_all_effects',['../class_effect_controls.html#a343d39f6d7b9682e6217db8bc8e1deab',1,'EffectControls']]], - ['deselect_5farea',['deselect_area',['../class_timeline.html#a98386e82ef4b7370d854cf6d42a4e2c9',1,'Timeline']]], - ['deselect_5fothers',['deselect_others',['../class_collapsible_widget.html#a1dfc83652341abb2cc3351d61e4ef2f9',1,'CollapsibleWidget']]], - ['destroy_5froot',['destroy_root',['../class_project_model.html#ad5a6134f10f73c5fda57157c22254310',1,'ProjectModel']]], - ['destruct_5fmodule',['destruct_module',['../class_frei0r_effect.html#a81826c2bef32c787b459219c1b9c815d',1,'Frei0rEffect']]], - ['detune',['detune',['../struct___vst_midi_event.html#a71a6b890b5f57c696a4ea3438fd4c38a',1,'_VstMidiEvent']]], - ['dialog',['dialog',['../class_v_s_t_host.html#a39a3d86987940290677a1d4f0592ff9f',1,'VSTHost']]], - ['did_5ftexture_5ffail',['did_texture_fail',['../class_render_thread.html#ab887bd08f1ba6a280766f2e6ec6e58d4',1,'RenderThread']]], - ['die',['die',['../class_load_dialog.html#a695e79e424c482de853c0f6a2eed0785',1,'LoadDialog']]], - ['directory_5fup',['directory_up',['../class_project.html#a5f78a667941d689e79edfd6927f3247d',1,'Project']]], - ['disable_5fblending',['disable_blending',['../struct_runtime_config.html#aaf59a8a93e78677ea2b66a04810a97c9',1,'RuntimeConfig']]], - ['dispatcher',['dispatcher',['../class_v_s_t_host.html#a92ab064670d89e92d46b81e4cbffe3bc',1,'VSTHost::dispatcher()'],['../struct___a_effect.html#af37b5ec5d65d5f018f4ba506b98379ec',1,'_AEffect::dispatcher()']]], - ['dispatcherfuncptr',['dispatcherFuncPtr',['../vsthost_8h.html#a0299e7df3d53ced2a17da06eee806d4d',1,'vsthost.h']]], - ['display_5ftimecode',['display_timecode',['../class_timecode_effect.html#acd19bdd8b666395199b76f49da86b78b',1,'TimecodeEffect']]], - ['display_5ftype',['display_type',['../class_label_slider.html#a402abe41e54ad2a9a8cd0701bf368287',1,'LabelSlider']]], - ['displayindex',['displayIndex',['../struct___vst_parameter_properties.html#a3d86131c3f87ce31b0701cdb8c764ab0',1,'_VstParameterProperties']]], - ['divider',['divider',['../class_render_thread.html#afd5e85f7b53124b64ffff7b2f9763701',1,'RenderThread']]], - ['dolayout',['doLayout',['../class_flow_layout.html#af0e17c24ac7b5f82511658507ac9a2ac',1,'FlowLayout']]], - ['done',['done',['../class_add_effect_command.html#a8dd7c8fac2073f81351cb0d47bd1866d',1,'AddEffectCommand::done()'],['../class_new_sequence_command.html#ad111809ea7c32a00ccbd709d14d69dde',1,'NewSequenceCommand::done()'],['../class_add_media_command.html#a97b9c027ab7a1ec5953f04df106c7143',1,'AddMediaCommand::done()'],['../class_delete_media_command.html#a25bbcd268f33eb094139a0d8f13eb207',1,'DeleteMediaCommand::done()'],['../class_checkbox_command.html#a955e053796ed135ecf81e9a0511f8a19',1,'CheckboxCommand::done()'],['../class_effect_delete_command.html#a89582afd9e5193379f6db0db4864f617',1,'EffectDeleteCommand::done()'],['../class_keyframe_delete.html#af31b5748db53969b8e17cac8e55a2f9e',1,'KeyframeDelete::done()'],['../class_keyframe_field_set.html#a05377cbc864c17a1827c31ccf3e559f4',1,'KeyframeFieldSet::done()'],['../class_effect_field_undo.html#ab35e78024392ee197291756a7112a3b0',1,'EffectFieldUndo::done()'],['../class_set_selections_command.html#a475951dc67924aac527cad721d2d0b0e',1,'SetSelectionsCommand::done()'],['../class_remove_clips_from_clipboard.html#a4b23e54547de927833e36d5fc792ddbd',1,'RemoveClipsFromClipboard::done()'],['../class_combo_box_ex_command.html#a1f9ed55f0c0564ae350f8f6437969afd',1,'ComboBoxExCommand::done()']]], - ['doredo',['doRedo',['../class_olive_action.html#ad2558014854156e81631f395db38a697',1,'OliveAction::doRedo()'],['../class_move_clip_action.html#ab5e6068c5ce46a2dd6a6c2d195ad03e0',1,'MoveClipAction::doRedo()'],['../class_ripple_action.html#a6474d5bf45dd75dfccf5a8d3b2c2f649',1,'RippleAction::doRedo()'],['../class_delete_clip_action.html#a264b961dace8a3f4c96ffb8237b148a6',1,'DeleteClipAction::doRedo()'],['../class_change_sequence_action.html#a7b62988eed5d624edd5c7ba0b231a981',1,'ChangeSequenceAction::doRedo()'],['../class_add_effect_command.html#a5341c8963a398eebde7229f48f3dba54',1,'AddEffectCommand::doRedo()'],['../class_add_transition_command.html#a9aeb13d9d03221f2c6697362e6f51291',1,'AddTransitionCommand::doRedo()'],['../class_modify_transition_command.html#a2ea72911da2b126d60905d35eced443a',1,'ModifyTransitionCommand::doRedo()'],['../class_delete_transition_command.html#acbedf05e24648f631cad2fa744b970e5',1,'DeleteTransitionCommand::doRedo()'],['../class_set_timeline_in_out_command.html#a2f0effb92ba6baf0c9b6424cad325427',1,'SetTimelineInOutCommand::doRedo()'],['../class_new_sequence_command.html#a1d5f7f904f419f46426f6b0e57dc0cfa',1,'NewSequenceCommand::doRedo()'],['../class_add_media_command.html#a8c494dfd0dae65ff16b90d54e6bb7b26',1,'AddMediaCommand::doRedo()'],['../class_delete_media_command.html#ac2b0d2c43f71ee06e9f7a1a0537ccff4',1,'DeleteMediaCommand::doRedo()'],['../class_add_clip_command.html#a298b751d7f9062f5a781773ecf959ed6',1,'AddClipCommand::doRedo()'],['../class_link_command.html#a76c2bcf20a250862642dca49b83bdbf9',1,'LinkCommand::doRedo()'],['../class_checkbox_command.html#af58d0ed2b693d5b98f9ecb9aae20189e',1,'CheckboxCommand::doRedo()'],['../class_replace_media_command.html#acff97e451076031b3a224ff9bc1f3f19',1,'ReplaceMediaCommand::doRedo()'],['../class_replace_clip_media_command.html#a43158a05baeee3ae9408fbe45236ad01',1,'ReplaceClipMediaCommand::doRedo()'],['../class_effect_delete_command.html#aa378e414e2d22c7466e387b533544677',1,'EffectDeleteCommand::doRedo()'],['../class_media_move.html#a3cf89f0c7ef7f96858470de845724dcd',1,'MediaMove::doRedo()'],['../class_media_rename.html#a2f89eb446f81dedfebbe1bca9715ffbb',1,'MediaRename::doRedo()'],['../class_keyframe_delete.html#abf1a6981ee71a0b0feac2c9db26e0e17',1,'KeyframeDelete::doRedo()'],['../class_keyframe_field_set.html#a315514303fc07f950ffeb4d2aa63703b',1,'KeyframeFieldSet::doRedo()'],['../class_effect_field_undo.html#ade1090f72c6e5d56b7e7323e59f04570',1,'EffectFieldUndo::doRedo()'],['../class_set_autoscale_action.html#a921f1e9185ce11cdd3e675626ba1677d',1,'SetAutoscaleAction::doRedo()'],['../class_add_marker_action.html#ab60bfacb02b4e0842fe100abd6f7006a',1,'AddMarkerAction::doRedo()'],['../class_move_marker_action.html#afcada7bbfcfb650d81f64dbc53e6ca8e',1,'MoveMarkerAction::doRedo()'],['../class_delete_marker_action.html#a36056aa075dc72be5848e857198b4b7e',1,'DeleteMarkerAction::doRedo()'],['../class_set_speed_action.html#ac18c4556005dcaf0e729f13c250b2d3e',1,'SetSpeedAction::doRedo()'],['../class_set_bool.html#a4ac25aebffc55eefe6ffe47ebc5220b3',1,'SetBool::doRedo()'],['../class_set_selections_command.html#a263bb4cf45e6140be2660dbc8d55b768',1,'SetSelectionsCommand::doRedo()'],['../class_edit_sequence_command.html#afb50bde1c91304eea18851f455edf441',1,'EditSequenceCommand::doRedo()'],['../class_set_int.html#af0110008f4d7f3e7717e5e7c2b37ad0c',1,'SetInt::doRedo()'],['../class_set_long.html#abbf5580a343724c639a930cb89811e44',1,'SetLong::doRedo()'],['../class_set_double.html#a47837f2d1ea8408bfbf67f291ef0a58a',1,'SetDouble::doRedo()'],['../class_set_string.html#acf5f90b88d363d865a13687491551121',1,'SetString::doRedo()'],['../class_close_all_clips_command.html#a1c464986571fff9de3ae017b4b0d98ae',1,'CloseAllClipsCommand::doRedo()'],['../class_update_footage_tooltip.html#a20073fb463b17226bcf8fcfc043075c7',1,'UpdateFootageTooltip::doRedo()'],['../class_move_effect_command.html#adef5ae62d3136283e49ca739eb41fa41',1,'MoveEffectCommand::doRedo()'],['../class_remove_clips_from_clipboard.html#a106ed72f17cb6415da82d45f52146247',1,'RemoveClipsFromClipboard::doRedo()'],['../class_rename_clip_command.html#af79f8f81a6e3ba63ee2622450edd52c4',1,'RenameClipCommand::doRedo()'],['../class_set_pointer.html#a909d47ac5e08359562aa982f62d3d4b2',1,'SetPointer::doRedo()'],['../class_reload_effects_command.html#a7415c20180edb79ba03a3a3ac199dc1c',1,'ReloadEffectsCommand::doRedo()'],['../class_set_q_variant.html#a234ec838c88d8b53cba19e9bc42b623a',1,'SetQVariant::doRedo()'],['../class_set_keyframing.html#affbb4383e4bba76e20375c4784ff0076',1,'SetKeyframing::doRedo()'],['../class_refresh_clips.html#acabc4f721737c976b8b6cf654697f1c7',1,'RefreshClips::doRedo()'],['../class_update_viewer.html#adcd2b0079a038807c153e683350a5e8e',1,'UpdateViewer::doRedo()'],['../class_set_effect_data.html#abbfd9d21d28775c773e58fdc27b433c5',1,'SetEffectData::doRedo()']]], - ['double_5flerp',['double_lerp',['../math_8cpp.html#a0b582a531934027dee1432501f46e9c6',1,'double_lerp(double a, double b, double t): math.cpp'],['../math_8h.html#a0b582a531934027dee1432501f46e9c6',1,'double_lerp(double a, double b, double t): math.cpp']]], - ['doundo',['doUndo',['../class_olive_action.html#ae5c9247751022c35aebd477718113cc4',1,'OliveAction::doUndo()'],['../class_move_clip_action.html#a31b30a8b73117da3779e72035f50297e',1,'MoveClipAction::doUndo()'],['../class_ripple_action.html#afb9bdf848169fcb3de47fb2a44344127',1,'RippleAction::doUndo()'],['../class_delete_clip_action.html#ae662bc288b09a0e21906992bec124f64',1,'DeleteClipAction::doUndo()'],['../class_change_sequence_action.html#a23c17b313deea893c30ab6b45d36c777',1,'ChangeSequenceAction::doUndo()'],['../class_add_effect_command.html#ab367dccb77d7451d5dadb5cd3abb29b7',1,'AddEffectCommand::doUndo()'],['../class_add_transition_command.html#a94cee1573a515c663a754a0d2beb2d65',1,'AddTransitionCommand::doUndo()'],['../class_modify_transition_command.html#acb25d3a5f8b57948b9304bc54e7e4577',1,'ModifyTransitionCommand::doUndo()'],['../class_delete_transition_command.html#a7859092d3c3b982587cdf6f527d5a176',1,'DeleteTransitionCommand::doUndo()'],['../class_set_timeline_in_out_command.html#a8e67b8500c9d2d7b967f291b2b6c3de2',1,'SetTimelineInOutCommand::doUndo()'],['../class_new_sequence_command.html#a0a121b215a973c220a7d6a0e4bd329ca',1,'NewSequenceCommand::doUndo()'],['../class_add_media_command.html#a35a20d6048cd16bfca1624ede05f7874',1,'AddMediaCommand::doUndo()'],['../class_delete_media_command.html#a7b1d814d3711c259fb8975387de356a2',1,'DeleteMediaCommand::doUndo()'],['../class_add_clip_command.html#a9747a6af7db058d2422e11ef0948cbb2',1,'AddClipCommand::doUndo()'],['../class_link_command.html#a3909b59baeb9c5ea50ef5bb4dab04d1c',1,'LinkCommand::doUndo()'],['../class_checkbox_command.html#a1675dc2b03b316eeba9cbe1d68b016e2',1,'CheckboxCommand::doUndo()'],['../class_replace_media_command.html#ae8a3e7770c0a8f6d812000baae28e16c',1,'ReplaceMediaCommand::doUndo()'],['../class_replace_clip_media_command.html#a86d8bf281e78102b2f1846616e8f2c20',1,'ReplaceClipMediaCommand::doUndo()'],['../class_effect_delete_command.html#ab4e1997c20dc03609e0707304801daf3',1,'EffectDeleteCommand::doUndo()'],['../class_media_move.html#a2d3650b86905f0c3fb2447c2f880590d',1,'MediaMove::doUndo()'],['../class_media_rename.html#a70e29fac617da57ae18191c5ade7c5a1',1,'MediaRename::doUndo()'],['../class_keyframe_delete.html#a1ba3eb4728b3e13c32654100b2b7b203',1,'KeyframeDelete::doUndo()'],['../class_keyframe_field_set.html#a9f42f321e5d9c395c427f84339046399',1,'KeyframeFieldSet::doUndo()'],['../class_effect_field_undo.html#a99d714e5f1ff666fe995b2718cc74c5c',1,'EffectFieldUndo::doUndo()'],['../class_set_autoscale_action.html#a3bc518f7f1bde82886340a90a7575118',1,'SetAutoscaleAction::doUndo()'],['../class_add_marker_action.html#a90619cb581cf6bea328aa5ae201843f1',1,'AddMarkerAction::doUndo()'],['../class_move_marker_action.html#a8feb946fe79c22dda57d2273869d7d6a',1,'MoveMarkerAction::doUndo()'],['../class_delete_marker_action.html#a94db847784d2bd95cb0e297a990940c8',1,'DeleteMarkerAction::doUndo()'],['../class_set_speed_action.html#aae6825fdd88d85074c6c949d6cdbff2c',1,'SetSpeedAction::doUndo()'],['../class_set_bool.html#a7b104206072c104a70bf8699b53bc431',1,'SetBool::doUndo()'],['../class_set_selections_command.html#adadd22cbd22cf0bd2879334acb184064',1,'SetSelectionsCommand::doUndo()'],['../class_edit_sequence_command.html#af493392823252757811bab229f426b5d',1,'EditSequenceCommand::doUndo()'],['../class_set_int.html#a3e1fd279670f0d7d87e99c12d9825c15',1,'SetInt::doUndo()'],['../class_set_long.html#ae38cc259acd8f9cb52dce7b8d2c7e6e9',1,'SetLong::doUndo()'],['../class_set_double.html#ace1d44fe25c3ca76a1b4ad835bd3a4b8',1,'SetDouble::doUndo()'],['../class_set_string.html#a18ebef2f46c15a8d0f19cade5fefdb34',1,'SetString::doUndo()'],['../class_close_all_clips_command.html#a8bba7d56c0ead660db139e569d87ca92',1,'CloseAllClipsCommand::doUndo()'],['../class_update_footage_tooltip.html#a02d8970d2159b240a7d1006c70d7a41d',1,'UpdateFootageTooltip::doUndo()'],['../class_move_effect_command.html#a9bf86d7251a403973f284c7caff6869e',1,'MoveEffectCommand::doUndo()'],['../class_remove_clips_from_clipboard.html#ae2c6b6072997479e9f4338a6a944ee2f',1,'RemoveClipsFromClipboard::doUndo()'],['../class_rename_clip_command.html#a5d59bbce30d0829e4e96f8001c8e16a7',1,'RenameClipCommand::doUndo()'],['../class_set_pointer.html#aa11b2a64c1624ef42a0928063b240e6d',1,'SetPointer::doUndo()'],['../class_reload_effects_command.html#a6f8e0b885329c65382a5099665562fdc',1,'ReloadEffectsCommand::doUndo()'],['../class_set_q_variant.html#ab9ba7ac71bf413968b4f506a069683d6',1,'SetQVariant::doUndo()'],['../class_set_keyframing.html#adb1977c61b4cf46066b69b8085809cf2',1,'SetKeyframing::doUndo()'],['../class_refresh_clips.html#a5f48110b7395a79f86fdcae664f3fe5b',1,'RefreshClips::doUndo()'],['../class_update_viewer.html#a7f1aa60ba284092dadeb3dc1fa7323e8',1,'UpdateViewer::doUndo()'],['../class_set_effect_data.html#a210b9a58165d9847cdb8630cf1917771',1,'SetEffectData::doUndo()']]], - ['dout',['dout',['../debug_8h.html#a61fed2eba7bb9f87e1b1ab5f68be592a',1,'debug.h']]], - ['drag_5fframe_5fstart',['drag_frame_start',['../class_timeline.html#a4ab4f0a32449b84a413fe1ac61d68d1d',1,'Timeline::drag_frame_start()'],['../class_keyframe_view.html#ae7315ce6888025379bb4c8018d7f7043',1,'KeyframeView::drag_frame_start()']]], - ['drag_5fproc',['drag_proc',['../class_label_slider.html#ad3df190d66e96b29215bda71eea8fa55',1,'LabelSlider']]], - ['drag_5fstart',['drag_start',['../class_label_slider.html#a0957943e01ddf376b0dea3f1cc5933cc',1,'LabelSlider::drag_start()'],['../class_timeline_header.html#a3434d64ac7594868b6384ffdf2c073b8',1,'TimelineHeader::drag_start()']]], - ['drag_5fstart_5fvalue',['drag_start_value',['../class_label_slider.html#addd4fe1457fa77f851f4395789110dcc',1,'LabelSlider']]], - ['drag_5fstart_5fx',['drag_start_x',['../class_label_slider.html#a772bb767fbdb51ada999b4d3bbc52270',1,'LabelSlider::drag_start_x()'],['../class_viewer_container.html#a3bf84cf350cd8ebfafd00403ccc7fe41',1,'ViewerContainer::drag_start_x()'],['../class_viewer_widget.html#ac7ba3535e85564845f2b77f81a65d03e',1,'ViewerWidget::drag_start_x()']]], - ['drag_5fstart_5fy',['drag_start_y',['../class_label_slider.html#a889322916e8bea38a27e119f45562c62',1,'LabelSlider::drag_start_y()'],['../class_viewer_container.html#afe93c6dc8690eeb3f8de58776ec2c6d7',1,'ViewerContainer::drag_start_y()'],['../class_viewer_widget.html#ab6b68757582e1ac2c02bd098c712dfcd',1,'ViewerWidget::drag_start_y()']]], - ['drag_5ftrack_5fstart',['drag_track_start',['../class_timeline.html#a0bba8ad9abcd7540697171dba273eb43',1,'Timeline']]], - ['drag_5fx_5fstart',['drag_x_start',['../class_timeline.html#a38bc7069d397fad59f5a8104c3894f00',1,'Timeline']]], - ['drag_5fy_5fstart',['drag_y_start',['../class_timeline.html#a6f837c1a515c43be61605e3f48ecafbc',1,'Timeline']]], - ['dragenterevent',['dragEnterEvent',['../class_source_icon_view.html#a87ca535295d717b0dd26b1f393e2714e',1,'SourceIconView::dragEnterEvent()'],['../class_source_table.html#a162bb42007abad1e99cc7352fe588041',1,'SourceTable::dragEnterEvent()'],['../class_timeline_widget.html#a088626041d50e198e20378cf5c48fa42',1,'TimelineWidget::dragEnterEvent()']]], - ['dragging',['dragging',['../class_keyframe_view.html#a05d73fdfcd92f24914290c6d33df6e78',1,'KeyframeView::dragging()'],['../class_timeline_header.html#a31ec849e9dd9f96f2ff2506d51894e0e',1,'TimelineHeader::dragging()'],['../class_viewer_widget.html#ad1063c388fc882d7f7a36b7fc8fdbdfb',1,'ViewerWidget::dragging()']]], - ['dragging_5fmarkers',['dragging_markers',['../class_timeline_header.html#a26d31ccd319f9a9504cf0cd3b04584d8',1,'TimelineHeader']]], - ['dragleaveevent',['dragLeaveEvent',['../class_timeline_widget.html#a9b61a2ea65038c66f16ce6bd184957b4',1,'TimelineWidget']]], - ['dragmoveevent',['dragMoveEvent',['../class_source_icon_view.html#af0d2178120910ab9a7c4ac171f441633',1,'SourceIconView::dragMoveEvent()'],['../class_source_table.html#a07896006f442fb7a933b607165b1ba3f',1,'SourceTable::dragMoveEvent()'],['../class_timeline_widget.html#a2664b662686a919cae0fedfe6e433c49',1,'TimelineWidget::dragMoveEvent()']]], - ['dragscrollmove',['dragScrollMove',['../class_viewer_container.html#af6a808d1d20f2ca49b25b61ccf2ff68c',1,'ViewerContainer']]], - ['dragscrollpress',['dragScrollPress',['../class_viewer_container.html#adb5ac53d9237834c3b3032b8a3577d86',1,'ViewerContainer']]], - ['draw_5fclip',['draw_clip',['../renderfunctions_8cpp.html#a495f836a67186f3fc2b711f628f41782',1,'draw_clip(QOpenGLContext *ctx, GLuint fbo, GLuint texture, bool clear): renderfunctions.cpp'],['../renderfunctions_8cpp.html#a5bfc45789bdcb0282ad9c680f16dcc35',1,'draw_clip(QOpenGLFramebufferObject *fbo, GLuint texture, bool clear): renderfunctions.cpp']]], - ['draw_5fgizmos',['draw_gizmos',['../class_viewer_widget.html#a68f54e38a9498da4aed79ca6688ea316',1,'ViewerWidget']]], - ['draw_5fkeyframe',['draw_keyframe',['../keyframedrawing_8cpp.html#a624afc0101c99fbc652a15a2ffac9732',1,'draw_keyframe(QPainter &p, int type, int x, int y, bool darker, int r, int g, int b): keyframedrawing.cpp'],['../keyframedrawing_8h.html#a6c1a62cb202b3a9b4e8e4662b8a80865',1,'draw_keyframe(QPainter &p, int type, int x, int y, bool darker, int r=KEYFRAME_COLOR, int g=KEYFRAME_COLOR, int b=KEYFRAME_COLOR): keyframedrawing.cpp']]], - ['draw_5fline_5ftext',['draw_line_text',['../class_graph_view.html#a39db8c81e5d5c8b5162938f832a01aa4',1,'GraphView']]], - ['draw_5flines',['draw_lines',['../class_graph_view.html#a9522ebba6400d04cf29d3d35fd05e86c',1,'GraphView']]], - ['draw_5fmarker',['draw_marker',['../marker_8cpp.html#ab33db52dda838ce2fc85f0ea000b103c',1,'draw_marker(QPainter &p, int x, int y, int bottom, bool selected): marker.cpp'],['../marker_8h.html#ab33db52dda838ce2fc85f0ea000b103c',1,'draw_marker(QPainter &p, int x, int y, int bottom, bool selected): marker.cpp']]], - ['draw_5fselection_5frectangle',['draw_selection_rectangle',['../rectangleselect_8cpp.html#ab16c963f326bca84d29c60d3eca80dfe',1,'draw_selection_rectangle(QPainter &painter, const QRect &rect): rectangleselect.cpp'],['../rectangleselect_8h.html#ab16c963f326bca84d29c60d3eca80dfe',1,'draw_selection_rectangle(QPainter &painter, const QRect &rect): rectangleselect.cpp']]], - ['draw_5ftitle_5fsafe_5farea',['draw_title_safe_area',['../class_viewer_widget.html#a5a1e8b4be1a940519960a330fea7b50d',1,'ViewerWidget']]], - ['draw_5ftransition',['draw_transition',['../timelinewidget_8cpp.html#a6e71939ed6c3f830b0df28573c69569a',1,'timelinewidget.cpp']]], - ['draw_5fwaveform',['draw_waveform',['../timelinewidget_8cpp.html#a8347cbf11ff9e9d31dba05362e2a1225',1,'draw_waveform(ClipPtr clip, const FootageStream *ms, long media_length, QPainter *p, const QRect &clip_rect, int waveform_start, int waveform_limit, double zoom): timelinewidget.cpp'],['../timelinewidget_8h.html#a8347cbf11ff9e9d31dba05362e2a1225',1,'draw_waveform(ClipPtr clip, const FootageStream *ms, long media_length, QPainter *p, const QRect &clip_rect, int waveform_start, int waveform_limit, double zoom): timelinewidget.cpp']]], - ['draw_5fwaveform_5ffunc',['draw_waveform_func',['../class_viewer_widget.html#a3b476e96e498df4dfb47c417c9f84a8c',1,'ViewerWidget']]], - ['drawrect',['drawRect',['../class_q_painter_wrapper.html#ac23b442811de6d4952bc5c205c0878b9',1,'QPainterWrapper']]], - ['drop_5fframe_5faction',['drop_frame_action',['../class_main_window.html#a6935b8ac33c7e34f620e236e29b69bf3',1,'MainWindow']]], - ['drop_5fon_5fmedia_5fto_5freplace',['drop_on_media_to_replace',['../struct_config.html#a1746b8d0d025563d831e250ceb6d4d3e',1,'Config']]], - ['dropevent',['dropEvent',['../class_sources_common.html#a7a83e82f48cbe079f2794f5eccb1f239',1,'SourcesCommon::dropEvent()'],['../class_source_icon_view.html#a796f63305e73011b8f29e4887054c692',1,'SourceIconView::dropEvent()'],['../class_source_table.html#a1df2b8190bb5cd2725fa82c51e6b73c5',1,'SourceTable::dropEvent()'],['../class_timeline_widget.html#af388e8b70e46d7efe63ee227470442d1',1,'TimelineWidget::dropEvent()']]], - ['dump',['dump',['../struct___vst_event.html#a3c83b2a88e8414b832632cc568714bd0',1,'_VstEvent']]], - ['duplicate',['duplicate',['../class_focus_filter.html#a603997516bd2e5954e8cb49fa87c8bad',1,'FocusFilter']]], - ['duplicate_5fselected',['duplicate_selected',['../class_project.html#a54e95d99e76aa0d573b4ce817ffdf36c',1,'Project']]], - ['duration',['duration',['../class_speed_dialog.html#a845b3ee7e184d45bd875aeb788379725',1,'SpeedDialog']]], - ['duration_5fupdate',['duration_update',['../class_speed_dialog.html#ab5cda7c11a4c8e2a79e90ac1c91f9673',1,'SpeedDialog']]] -]; diff --git a/docs/html/search/all_5.html b/docs/html/search/all_5.html deleted file mode 100644 index f0780fdd3..000000000 --- a/docs/html/search/all_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_5.js b/docs/html/search/all_5.js deleted file mode 100644 index 65fa74701..000000000 --- a/docs/html/search/all_5.js +++ /dev/null @@ -1,163 +0,0 @@ -var searchData= -[ - ['edit_5fto_5fin_5fpoint',['edit_to_in_point',['../class_timeline.html#a29bfab6b1643de9cbfa61508f086eabb',1,'Timeline']]], - ['edit_5fto_5fout_5fpoint',['edit_to_out_point',['../class_timeline.html#acde9d38b634aeeaa82197aa72ae66d0c',1,'Timeline']]], - ['edit_5fto_5fpoint_5finternal',['edit_to_point_internal',['../class_timeline.html#a0c55cec8b0ece590e8b10acb35a264b4',1,'Timeline']]], - ['edit_5ftool_5faction',['edit_tool_action',['../class_main_window.html#a004ae68e558945c9e695cbda59417d4e',1,'MainWindow']]], - ['edit_5ftool_5falso_5fseeks',['edit_tool_also_seeks',['../struct_config.html#ad4b0f0f0eaf620d53af823e8b0ad9329',1,'Config::edit_tool_also_seeks()'],['../class_main_window.html#a8b75ba98f4fb9000f4f7486cd99e215a',1,'MainWindow::edit_tool_also_seeks()']]], - ['edit_5ftool_5fselects_5flinks',['edit_tool_selects_links',['../struct_config.html#a052b0a15edfc2687406d0f8a50b4da42',1,'Config::edit_tool_selects_links()'],['../class_main_window.html#a5e973b4f8b3fb453d27f1a58140d0ab6',1,'MainWindow::edit_tool_selects_links()']]], - ['editareas',['editAreas',['../class_timeline.html#af0aa27c4db9e9e94a225f72bc65b8f5c',1,'Timeline']]], - ['editing_5findex',['editing_index',['../class_sources_common.html#a762978102d2b6cc45266e5b2d42af817',1,'SourcesCommon']]], - ['editing_5fitem',['editing_item',['../class_sources_common.html#acbdaa865ad4a84ab5b6a5eafe5bc857d',1,'SourcesCommon']]], - ['editmenu_5fabout_5fto_5fbe_5fshown',['editMenu_About_To_Be_Shown',['../class_main_window.html#a5f23bbfaed3c23ea97640411e09cafc5',1,'MainWindow']]], - ['editsequencecommand',['EditSequenceCommand',['../class_edit_sequence_command.html',1,'EditSequenceCommand'],['../class_edit_sequence_command.html#a42d1c2923b334f51f322518d7dcb1588',1,'EditSequenceCommand::EditSequenceCommand()']]], - ['effbeginsetprogram',['effBeginSetProgram',['../vestige_8h.html#a0c6c00bdfe9feca6d015f4f749dadc29',1,'vestige.h']]], - ['effcando',['effCanDo',['../vestige_8h.html#a9fbce0f3ce9fd3c07ef002b541b55a39',1,'vestige.h']]], - ['effclose',['effClose',['../vestige_8h.html#a15840a0ae5c28fa71dcdc116fe754ddb',1,'vestige.h']]], - ['effect',['Effect',['../class_effect.html',1,'Effect'],['../class_effect.html#a1a931bb09832db8a5ad3e70ac60ba3a6',1,'Effect::Effect()'],['../class_set_effect_data.html#a601301133b1a816e3a2c51b1943cba47',1,'SetEffectData::effect()']]], - ['effect_2ecpp',['effect.cpp',['../effect_8cpp.html',1,'']]], - ['effect_2eh',['effect.h',['../effect_8h.html',1,'']]], - ['effect_5ffield_5fbool',['EFFECT_FIELD_BOOL',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6a5c920417bc4456cccf397909ef856b4d',1,'effectfield.h']]], - ['effect_5ffield_5fcolor',['EFFECT_FIELD_COLOR',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6a4f97f490548683431e615fe27d263a33',1,'effectfield.h']]], - ['effect_5ffield_5fcombo',['EFFECT_FIELD_COMBO',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6aa8d17edf6ecb561dc6eb98276f675f98',1,'effectfield.h']]], - ['effect_5ffield_5fdouble',['EFFECT_FIELD_DOUBLE',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6a3d8fa106753a4e352de95b5c926926f0',1,'effectfield.h']]], - ['effect_5ffield_5ffile',['EFFECT_FIELD_FILE',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6ac900821bd66b68f636c946f0be75d944',1,'effectfield.h']]], - ['effect_5ffield_5ffont',['EFFECT_FIELD_FONT',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6ae574ee9d835be7e515013b6b0b74da1d',1,'effectfield.h']]], - ['effect_5ffield_5fstring',['EFFECT_FIELD_STRING',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6a36cf250d834c5e6264d03dc09c5ea095',1,'effectfield.h']]], - ['effect_5finternal_5fcornerpin',['EFFECT_INTERNAL_CORNERPIN',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a4c59c19b805aef31928c5dce2ea994a8',1,'effect.h']]], - ['effect_5finternal_5fcount',['EFFECT_INTERNAL_COUNT',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a138b4d3986308fc1f6c98321156be034',1,'effect.h']]], - ['effect_5finternal_5ffillleftright',['EFFECT_INTERNAL_FILLLEFTRIGHT',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98afa437822bcc068aae16fac62244f3edb',1,'effect.h']]], - ['effect_5finternal_5ffrei0r',['EFFECT_INTERNAL_FREI0R',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a0229bb6cc1bbfb19b2d1bf964b19651c',1,'effect.h']]], - ['effect_5finternal_5fmask',['EFFECT_INTERNAL_MASK',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a935c70b4ad87b3e15c80deb773d61434',1,'effect.h']]], - ['effect_5finternal_5fnoise',['EFFECT_INTERNAL_NOISE',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98ad81afe454f6aaed726b6d8090f29e8aa',1,'effect.h']]], - ['effect_5finternal_5fpan',['EFFECT_INTERNAL_PAN',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98abacbb1641556bae8b10408c8a23d05cb',1,'effect.h']]], - ['effect_5finternal_5fshake',['EFFECT_INTERNAL_SHAKE',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a5856e7e26c70efe42bf59c30d57cf24e',1,'effect.h']]], - ['effect_5finternal_5fsolid',['EFFECT_INTERNAL_SOLID',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98ac2fd9c98a29dc392339ee2418f422fe7',1,'effect.h']]], - ['effect_5finternal_5ftext',['EFFECT_INTERNAL_TEXT',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a7553a5647e1ce6ec1ef73fbd0693f1c3',1,'effect.h']]], - ['effect_5finternal_5ftimecode',['EFFECT_INTERNAL_TIMECODE',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a352202c1815ffcc8e8ed65780ed404eb',1,'effect.h']]], - ['effect_5finternal_5ftone',['EFFECT_INTERNAL_TONE',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a700d4eeda944219fd13a1dafbe342905',1,'effect.h']]], - ['effect_5finternal_5ftransform',['EFFECT_INTERNAL_TRANSFORM',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a59ec1c82d0f1e37495ec4679cd9c59df',1,'effect.h']]], - ['effect_5finternal_5fvolume',['EFFECT_INTERNAL_VOLUME',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a2062672bfce3d25303be82f8f5528b0f',1,'effect.h']]], - ['effect_5finternal_5fvst',['EFFECT_INTERNAL_VST',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a8274422695363a84025d794cca770c31',1,'effect.h']]], - ['effect_5fkeyframe_5fbezier',['EFFECT_KEYFRAME_BEZIER',['../effect_8h.html#a90e4a48fbba18ef78aca125db8495231a46563c24e504f3c7718668db953d1b14',1,'effect.h']]], - ['effect_5fkeyframe_5fhold',['EFFECT_KEYFRAME_HOLD',['../effect_8h.html#a90e4a48fbba18ef78aca125db8495231a95a693c6b73b1a13fa79aca709a131d0',1,'effect.h']]], - ['effect_5fkeyframe_5flinear',['EFFECT_KEYFRAME_LINEAR',['../effect_8h.html#a90e4a48fbba18ef78aca125db8495231ab3195fb6250208da7bc511ff697d440b',1,'effect.h']]], - ['effect_5fmenu_5fsubtype',['effect_menu_subtype',['../class_effect_controls.html#a26797110d475772befaf9143bef7c842',1,'EffectControls']]], - ['effect_5fmenu_5ftype',['effect_menu_type',['../class_effect_controls.html#a41146e614da62a24bf4bca2f5098b698',1,'EffectControls']]], - ['effect_5ftextbox_5flines',['effect_textbox_lines',['../struct_config.html#a6a1764f9df99ea59861452ace0992c5e',1,'Config']]], - ['effect_5ftextbox_5flines_5ffield',['effect_textbox_lines_field',['../class_preferences_dialog.html#a2d82ed613f9a2efbb4f60baa06bf2fa4',1,'PreferencesDialog']]], - ['effect_5ftype_5faudio',['EFFECT_TYPE_AUDIO',['../effect_8h.html#a4809a7bb3fd1a421902a667cc1405d43a47207227bcd62647e34fd4559eb00499',1,'effect.h']]], - ['effect_5ftype_5feffect',['EFFECT_TYPE_EFFECT',['../effect_8h.html#a4809a7bb3fd1a421902a667cc1405d43ad584150d9289a9c4817129809c768a5c',1,'effect.h']]], - ['effect_5ftype_5finvalid',['EFFECT_TYPE_INVALID',['../effect_8h.html#a4809a7bb3fd1a421902a667cc1405d43af31cdffc857ae90bdb5175f5af05a938',1,'effect.h']]], - ['effect_5ftype_5ftransition',['EFFECT_TYPE_TRANSITION',['../effect_8h.html#a4809a7bb3fd1a421902a667cc1405d43a7487b61cdaae9dabf71950288460d753',1,'effect.h']]], - ['effect_5ftype_5fvideo',['EFFECT_TYPE_VIDEO',['../effect_8h.html#a4809a7bb3fd1a421902a667cc1405d43a51279732bafd16c96d7c4a520cc560f7',1,'effect.h']]], - ['effectblendmode',['EffectBlendMode',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902b',1,'effect.h']]], - ['effectcontrols',['EffectControls',['../class_effect_controls.html',1,'EffectControls'],['../class_effect_controls.html#aaf60c913a66c5e71fd9044f57558c474',1,'EffectControls::EffectControls()']]], - ['effectcontrols_2ecpp',['effectcontrols.cpp',['../effectcontrols_8cpp.html',1,'']]], - ['effectcontrols_2eh',['effectcontrols.h',['../effectcontrols_8h.html',1,'']]], - ['effectdeletecommand',['EffectDeleteCommand',['../class_effect_delete_command.html',1,'EffectDeleteCommand'],['../class_effect_delete_command.html#a27aa8f40eaa151cfc2a261032bcbca29',1,'EffectDeleteCommand::EffectDeleteCommand()']]], - ['effectfield',['EffectField',['../class_effect_field.html',1,'EffectField'],['../class_effect_field.html#a41aace86c6d91dee0259bf354f935a7a',1,'EffectField::EffectField()']]], - ['effectfield_2ecpp',['effectfield.cpp',['../effectfield_8cpp.html',1,'']]], - ['effectfield_2eh',['effectfield.h',['../effectfield_8h.html',1,'']]], - ['effectfieldtype',['EffectFieldType',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6',1,'effectfield.h']]], - ['effectfieldundo',['EffectFieldUndo',['../class_effect_field_undo.html',1,'EffectFieldUndo'],['../class_effect_field_undo.html#a5b94f6e488059dafcbce8aee72437e26',1,'EffectFieldUndo::EffectFieldUndo()']]], - ['effectgizmo',['EffectGizmo',['../class_effect_gizmo.html',1,'EffectGizmo'],['../class_effect_gizmo.html#a13681af3a5da8ab21071652b75a439a2',1,'EffectGizmo::EffectGizmo()']]], - ['effectgizmo_2ecpp',['effectgizmo.cpp',['../effectgizmo_8cpp.html',1,'']]], - ['effectgizmo_2eh',['effectgizmo.h',['../effectgizmo_8h.html',1,'']]], - ['effectinit',['EffectInit',['../class_effect_init.html',1,'EffectInit'],['../class_effect_init.html#a16bb4f42d2e05b903cf27dde9e5272b9',1,'EffectInit::EffectInit()']]], - ['effectinternal',['EffectInternal',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98',1,'effect.h']]], - ['effectkeyframe',['EffectKeyframe',['../class_effect_keyframe.html',1,'EffectKeyframe'],['../class_effect_keyframe.html#ab6aade9346d9d75eca4646d6fc093e33',1,'EffectKeyframe::EffectKeyframe()']]], - ['effectkeyframetype',['EffectKeyframeType',['../effect_8h.html#a90e4a48fbba18ef78aca125db8495231',1,'effect.h']]], - ['effectloaders_2ecpp',['effectloaders.cpp',['../effectloaders_8cpp.html',1,'']]], - ['effectloaders_2eh',['effectloaders.h',['../effectloaders_8h.html',1,'']]], - ['effectmeta',['EffectMeta',['../struct_effect_meta.html',1,'']]], - ['effectptr',['EffectPtr',['../effect_8h.html#a76f90640a8579a0d9d52d40f7147f969',1,'effect.h']]], - ['effectrow',['EffectRow',['../class_effect_row.html',1,'EffectRow'],['../class_effect_row.html#a3c43fd1e6f0a0305f10a8e2be7797187',1,'EffectRow::EffectRow()']]], - ['effectrow_2ecpp',['effectrow.cpp',['../effectrow_8cpp.html',1,'']]], - ['effectrow_2eh',['effectrow.h',['../effectrow_8h.html',1,'']]], - ['effects',['effects',['../class_clip.html#a2a066dbef586b1cecd8fde208b7e1e94',1,'Clip::effects()'],['../effect_8cpp.html#a23ce1b95bf62aa1e3538a67004ff4a4b',1,'effects(): effect.cpp'],['../effect_8h.html#a23ce1b95bf62aa1e3538a67004ff4a4b',1,'effects(): effect.cpp']]], - ['effects_5farea',['effects_area',['../class_effect_controls.html#a05b7f91ddfba3a4c9e91b9eb22fcfb69',1,'EffectControls']]], - ['effects_5farea_5fcontext_5fmenu',['effects_area_context_menu',['../class_effect_controls.html#a29d4d623cdedf7bd7511c9e7adf4046c',1,'EffectControls']]], - ['effects_5floaded',['effects_loaded',['../class_effect_controls.html#aca4259a6bdfc84b4de61f98edeed2679',1,'EffectControls']]], - ['effectsarea',['EffectsArea',['../class_effects_area.html',1,'EffectsArea'],['../class_effects_area.html#a0f633ce96299f5ec6bd9f397d7277d9b',1,'EffectsArea::EffectsArea()']]], - ['effecttype',['EffectType',['../effect_8h.html#a4809a7bb3fd1a421902a667cc1405d43',1,'effect.h']]], - ['effeditclose',['effEditClose',['../vestige_8h.html#acd64c58a6b237181b97d4ec0630a7901',1,'vestige.h']]], - ['effeditgetrect',['effEditGetRect',['../vestige_8h.html#a1a6781cf24b13aeba9def8e3258089ed',1,'vestige.h']]], - ['effeditidle',['effEditIdle',['../vestige_8h.html#a57a1ff84d6acd33e3d3fff8cc58f091e',1,'vestige.h']]], - ['effeditopen',['effEditOpen',['../vestige_8h.html#acdb66bd126b6d9614e7c2f8c7481af68',1,'vestige.h']]], - ['effedittop',['effEditTop',['../vestige_8h.html#a8b62f1714b57281ac8acdbf23b1b7775',1,'vestige.h']]], - ['effendsetprogram',['effEndSetProgram',['../vestige_8h.html#a10cc2ad2d1b9474b61f695f840ef6ec7',1,'vestige.h']]], - ['effflagscanreplacing',['effFlagsCanReplacing',['../vestige_8h.html#aaff5ae36a8b5d53f3604ba9a63f9ca15',1,'vestige.h']]], - ['effflagshaseditor',['effFlagsHasEditor',['../vestige_8h.html#a8ef0b5e603548d4f4e23b031f9715653',1,'vestige.h']]], - ['effflagsissynth',['effFlagsIsSynth',['../vestige_8h.html#a62e3dc84165b974447a64ceb6ce087fb',1,'vestige.h']]], - ['effgetchunk',['effGetChunk',['../vsthost_8cpp.html#ab5afba825226b7b2456dcd3171c94d86',1,'vsthost.cpp']]], - ['effgeteffectname',['effGetEffectName',['../vestige_8h.html#af9ba4b970222baab29f494c387e0c3da',1,'vestige.h']]], - ['effgetparameterproperties',['effGetParameterProperties',['../vestige_8h.html#a7353a1e73d1eb5a76f3deb12ebf3a5ce',1,'vestige.h']]], - ['effgetparamname',['effGetParamName',['../vestige_8h.html#ac6084d050d720538372407d12ad96f44',1,'vestige.h']]], - ['effgetplugcategory',['effGetPlugCategory',['../vestige_8h.html#a6040d2d2d0609cf2c6224872d529d22e',1,'vestige.h']]], - ['effgetproductstring',['effGetProductString',['../vestige_8h.html#a447d3c5c43ae0c76a67589c751fbf8dd',1,'vestige.h']]], - ['effgetprogram',['effGetProgram',['../vestige_8h.html#a56b6471348ea95093d17516f2eb72dd8',1,'vestige.h']]], - ['effgetprogramname',['effGetProgramName',['../vestige_8h.html#aaf80841a7ddf842981bcff37641747db',1,'vestige.h']]], - ['effgetvendorstring',['effGetVendorString',['../vestige_8h.html#acb242b2a796d63c6471758b6533baf95',1,'vestige.h']]], - ['effgetvendorversion',['effGetVendorVersion',['../vestige_8h.html#acaaf725e25f2e09d160b2dbc55768df0',1,'vestige.h']]], - ['effgetvstversion',['effGetVstVersion',['../vestige_8h.html#aaa921c483e12e6192868d999f0fcb081',1,'vestige.h']]], - ['effidle',['effIdle',['../vestige_8h.html#af7880a694045739baf0461b701732a7b',1,'vestige.h']]], - ['effmainschanged',['effMainsChanged',['../vestige_8h.html#ab17e921166075f4eb641fcc33596dca9',1,'vestige.h']]], - ['effopen',['effOpen',['../vestige_8h.html#a4118b0b38ad45e24727b9aa0b3f00fc8',1,'vestige.h']]], - ['effprocessevents',['effProcessEvents',['../vestige_8h.html#a1e93d78988180687dd55c68c5c8ed01e',1,'vestige.h']]], - ['effsetblocksize',['effSetBlockSize',['../vestige_8h.html#a25cf50d7dfae43f3ac15a7ad5afb2439',1,'vestige.h']]], - ['effsetchunk',['effSetChunk',['../vsthost_8cpp.html#aecfbce35e4251eb76a181f9dba8b9425',1,'vsthost.cpp']]], - ['effsetprogram',['effSetProgram',['../vestige_8h.html#a91156bad3b7ac76d066f4c4ebb6a8c99',1,'vestige.h']]], - ['effsetsamplerate',['effSetSampleRate',['../vestige_8h.html#a7d54bb26feae05ef75e147bb73b9998d',1,'vestige.h']]], - ['effshellgetnextplugin',['effShellGetNextPlugin',['../vestige_8h.html#a6ba5d4a212c813d05a4c236f31fafba9',1,'vestige.h']]], - ['effstartprocess',['effStartProcess',['../vestige_8h.html#aff45b61c39d930ab382d0111eb0c662f',1,'vestige.h']]], - ['effstopprocess',['effStopProcess',['../vestige_8h.html#ac213ca05095ab71576e94a770598bea3',1,'vestige.h']]], - ['embeddedfilechooser',['EmbeddedFileChooser',['../class_embedded_file_chooser.html',1,'EmbeddedFileChooser'],['../class_embedded_file_chooser.html#a6290d98b23704c193886cce0647e7236',1,'EmbeddedFileChooser::EmbeddedFileChooser()']]], - ['embeddedfilechooser_2ecpp',['embeddedfilechooser.cpp',['../embeddedfilechooser_8cpp.html',1,'']]], - ['embeddedfilechooser_2eh',['embeddedfilechooser.h',['../embeddedfilechooser_8h.html',1,'']]], - ['empty3',['empty3',['../struct___a_effect.html#a80ab09763b496076db681c26b5e3ec13',1,'_AEffect']]], - ['enable_5falways_5fupdate',['enable_always_update',['../class_effect.html#a0a74c104e615408286a9d1ad6ce7da9c',1,'Effect']]], - ['enable_5faudio_5fscrubbing',['enable_audio_scrubbing',['../struct_config.html#a3a04e062535bed2d7a8ec96e0006c8be',1,'Config::enable_audio_scrubbing()'],['../class_main_window.html#a24baee13dbb5592442f7bfe6c321dd9d',1,'MainWindow::enable_audio_scrubbing()']]], - ['enable_5fcoords',['enable_coords',['../class_effect.html#a0ae7110ec96749a4beffb4415ebc1916',1,'Effect']]], - ['enable_5fdrag_5ffiles_5fto_5ftimeline',['enable_drag_files_to_timeline',['../struct_config.html#a02bc5d289c92edded226c830c636d1ad',1,'Config::enable_drag_files_to_timeline()'],['../class_main_window.html#adae8a5651aec38fc5480ef5abab212f8',1,'MainWindow::enable_drag_files_to_timeline()']]], - ['enable_5fdrop_5fon_5fmedia_5fto_5freplace',['enable_drop_on_media_to_replace',['../class_main_window.html#a04aaa5e8e060913156777a39db9b85c7',1,'MainWindow']]], - ['enable_5fhover_5ffocus',['enable_hover_focus',['../class_main_window.html#a75a16e672140a02d91f29eea9a8f5aee',1,'MainWindow']]], - ['enable_5fimage',['enable_image',['../class_effect.html#afc4a5e6086b53d568ae0e9623fb6e364',1,'Effect']]], - ['enable_5fkeyframe_5ftoggle',['enable_keyframe_toggle',['../class_keyframe_navigator.html#a9cecbce261f6b31235ed36eeb76733f2',1,'KeyframeNavigator']]], - ['enable_5fkeyframes',['enable_keyframes',['../class_keyframe_navigator.html#a04e4aa76e4ac3eca896e8e56d6ca3f43',1,'KeyframeNavigator']]], - ['enable_5fload_5fproject_5fon_5finit',['enable_load_project_on_init',['../class_olive_global.html#a41a11e816954dbc44e2b24c1d7fe0398',1,'OliveGlobal']]], - ['enable_5fseek_5fto_5fimport',['enable_seek_to_import',['../struct_config.html#ac14bdcceb7c9220229ab40dc185f45dd',1,'Config::enable_seek_to_import()'],['../class_main_window.html#a08468db36e3060726c8b3a858a597127',1,'MainWindow::enable_seek_to_import()']]], - ['enable_5fshader',['enable_shader',['../class_effect.html#a71b2f2394049eb84d8a20a202ca8f057',1,'Effect']]], - ['enable_5fsuperimpose',['enable_superimpose',['../class_effect.html#af7166a2b7bd2cee3aedf7e1b2800b203',1,'Effect']]], - ['enabled',['enabled',['../class_clip.html#a12f1b60c9340a811752bfc38f6e3bedb',1,'Clip::enabled()'],['../struct_footage_stream.html#a75f3eb124af9974985e01c532c600a9f',1,'FootageStream::enabled()']]], - ['enabled_5fcheck',['enabled_check',['../class_collapsible_widget.html#a95f840822d274ba6b1b88ad3d702719a',1,'CollapsibleWidget']]], - ['encode',['encode',['../class_export_thread.html#a496c2bc95b6bde125fac2871e6bcf52a',1,'ExportThread']]], - ['end_5fframe',['end_frame',['../struct_export_params.html#aa8120d5e190eee74b5e28c1485d3e2c2',1,'ExportParams']]], - ['end_5ftimecode',['end_timecode',['../class_viewer.html#ac6b67da2c725f36f4ecae836ad3c2a17',1,'Viewer']]], - ['endeffect',['endEffect',['../class_effect.html#adbc1b82884bfd340ab89c96bd32cf772',1,'Effect']]], - ['error',['error',['../class_load_thread.html#a0e034bda8651fdf75cc27c9c3dcea983',1,'LoadThread']]], - ['error_5ffunc',['error_func',['../class_load_thread.html#a9e3594e638c50f41cfaa1ae7294668ea',1,'LoadThread']]], - ['error_5fstr',['error_str',['../class_load_thread.html#adc3221cbf6302b914554aa0b9082f5a4',1,'LoadThread']]], - ['et',['et',['../class_export_dialog.html#a2b7e5c56bb266c198a42888cb21abd0e',1,'ExportDialog']]], - ['event',['event',['../class_panel.html#a4b8a5a275be1cb26e0ef8668cef662f6',1,'Panel']]], - ['events',['events',['../struct___vst_events.html#a9ac3d4f5cf4f21fdfd871e48570c1034',1,'_VstEvents']]], - ['existing_5fitem',['existing_item',['../class_new_sequence_dialog.html#a05288c4f1eb64c32096d4b0cd02416f9',1,'NewSequenceDialog']]], - ['existing_5fsequence',['existing_sequence',['../class_new_sequence_dialog.html#a05e06744f697e84d45edec4d7bd13654',1,'NewSequenceDialog']]], - ['expandingdirections',['expandingDirections',['../class_flow_layout.html#a8eb4762f57ec8bea9eca6f9a535b1d50',1,'FlowLayout']]], - ['exponentialfadetransition',['ExponentialFadeTransition',['../class_exponential_fade_transition.html',1,'ExponentialFadeTransition'],['../class_exponential_fade_transition.html#a9ac527cd943579ad97d08a1f5baf9615',1,'ExponentialFadeTransition::ExponentialFadeTransition()']]], - ['exponentialfadetransition_2ecpp',['exponentialfadetransition.cpp',['../exponentialfadetransition_8cpp.html',1,'']]], - ['exponentialfadetransition_2eh',['exponentialfadetransition.h',['../exponentialfadetransition_8h.html',1,'']]], - ['export_5faction',['export_action',['../class_export_dialog.html#a3719e5c65ea37bb8f0f938317d0c02f0',1,'ExportDialog']]], - ['export_5fbutton',['export_button',['../class_export_dialog.html#a1b5ca7304dae2662bcea3c5099981a22',1,'ExportDialog']]], - ['export_5ferror',['export_error',['../class_export_dialog.html#ab90d02f95e34693b9e0465b8528fe5b8',1,'ExportDialog::export_error()'],['../class_export_thread.html#aa6d99cd04ff34416a43ab59066d03988',1,'ExportThread::export_error()']]], - ['export_5fshortcut',['export_shortcut',['../class_key_sequence_editor.html#a59462a1cb3685c22e86092df5b2a5038',1,'KeySequenceEditor']]], - ['exportdialog',['ExportDialog',['../class_export_dialog.html',1,'ExportDialog'],['../class_export_dialog.html#a046c5a42b1abdb3a6d620abf36d8a89d',1,'ExportDialog::ExportDialog()']]], - ['exportdialog_2ecpp',['exportdialog.cpp',['../exportdialog_8cpp.html',1,'']]], - ['exportdialog_2eh',['exportdialog.h',['../exportdialog_8h.html',1,'']]], - ['exportformats',['ExportFormats',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5',1,'exportdialog.cpp']]], - ['exportparams',['ExportParams',['../struct_export_params.html',1,'']]], - ['exportthread',['ExportThread',['../class_export_thread.html',1,'ExportThread'],['../class_export_thread.html#af36493de2ed1b63f5a1e58920250c6eb',1,'ExportThread::ExportThread()']]], - ['exportthread_2ecpp',['exportthread.cpp',['../exportthread_8cpp.html',1,'']]], - ['exportthread_2eh',['exportthread.h',['../exportthread_8h.html',1,'']]], - ['external_5ftranslation_5ffile',['external_translation_file',['../struct_runtime_config.html#aedcd25f65e6a9db4e9d20b8117828e39',1,'RuntimeConfig']]] -]; diff --git a/docs/html/search/all_6.html b/docs/html/search/all_6.html deleted file mode 100644 index 39b0f555c..000000000 --- a/docs/html/search/all_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_6.js b/docs/html/search/all_6.js deleted file mode 100644 index c7a7a0fab..000000000 --- a/docs/html/search/all_6.js +++ /dev/null @@ -1,129 +0,0 @@ -var searchData= -[ - ['f0rconstructfunc',['f0rConstructFunc',['../frei0reffect_8cpp.html#a5ce837a95ffdfde58aa334ff24086a71',1,'frei0reffect.cpp']]], - ['f0rdeinitfunc',['f0rDeinitFunc',['../frei0reffect_8cpp.html#a8edeea34c29b233886e3b0f94245705a',1,'frei0reffect.cpp']]], - ['f0rdestructfunc',['f0rDestructFunc',['../frei0reffect_8cpp.html#a1d9d88326ec59f684c6e8a4da06ee9cb',1,'frei0reffect.cpp']]], - ['f0rgetparaminfo',['f0rGetParamInfo',['../frei0reffect_8h.html#ae2fc1c9fb9fc111c7fdb430c27f21f9b',1,'frei0reffect.h']]], - ['f0rgetplugininfo',['f0rGetPluginInfo',['../frei0reffect_8cpp.html#a3e0aa15393104a4d4e8d274cb399f5e9',1,'f0rGetPluginInfo(): frei0reffect.cpp'],['../effectloaders_8cpp.html#a3e0aa15393104a4d4e8d274cb399f5e9',1,'f0rGetPluginInfo(): effectloaders.cpp']]], - ['f0rinitfunc',['f0rInitFunc',['../frei0reffect_8cpp.html#a41dc40737e069befcbf99331241e0fee',1,'frei0reffect.cpp']]], - ['f0rsetparamvalue',['f0rSetParamValue',['../frei0reffect_8cpp.html#a11967584fc960ba31d313f3204d48645',1,'frei0reffect.cpp']]], - ['f0rupdatefunc',['f0rUpdateFunc',['../frei0reffect_8cpp.html#a1077ba740256577e944c313f0ff22c00',1,'frei0reffect.cpp']]], - ['fast_5fseeking',['fast_seeking',['../struct_config.html#a22962c1316e6b19d9a9bfd35c542a620',1,'Config']]], - ['fastseekbutton',['fastSeekButton',['../class_preferences_dialog.html#a799a9e752d372078b4e0169d6dfa0e9c',1,'PreferencesDialog']]], - ['fbo',['fbo',['../class_clip.html#a93d0efbb1f9dd3dbbf82775a7c3ce9d7',1,'Clip']]], - ['ffmpeg_5ffilter',['ffmpeg_filter',['../class_effect.html#adeeefa9fcc3c1f8fcd0ca7b4c3a80faa',1,'Effect']]], - ['field',['field',['../class_keyframe_delete.html#a257eef1c9c832ec03069c57931afda26',1,'KeyframeDelete::field()'],['../class_keyframe_field_set.html#aeaff178ef4e56db98ba2d5202e3bda46',1,'KeyframeFieldSet::field()'],['../class_effect_field_undo.html#a52bc19a76ceb2ffa594e0c6d4953cf47',1,'EffectFieldUndo::field()'],['../class_effect_row.html#a987566eff6059a62cb646a41a76bde3e',1,'EffectRow::field()']]], - ['field_5fchanged',['field_changed',['../class_effect.html#a7216ae29b0278b5a8f4d94a6fd104cd4',1,'Effect']]], - ['field_5fvisibility',['field_visibility',['../class_graph_view.html#a3481fc8ebd9fb66fe74d6b157289b91b',1,'GraphView']]], - ['fieldcount',['fieldCount',['../class_effect_row.html#a5cb4956cc0cad7a97a3b1dc84029b70c',1,'EffectRow']]], - ['fields',['fields',['../class_effect_row.html#a97d5f9d04243b1def7cb40e1d32c1a67',1,'EffectRow']]], - ['file_5ffield',['file_field',['../class_v_s_t_host.html#a38d9d9f024ef3659e604ff845ec80abe',1,'VSTHost']]], - ['file_5findex',['file_index',['../struct_footage_stream.html#a431bc3ec370ac126783d27c228dd8f29',1,'FootageStream']]], - ['file_5flabel',['file_label',['../class_embedded_file_chooser.html#ada0bdbdc82af217f1442b33b1ca697a0',1,'EmbeddedFileChooser']]], - ['filemenu_5fabout_5fto_5fbe_5fshown',['fileMenu_About_To_Be_Shown',['../class_main_window.html#a20044854458738b479d85d5291257105',1,'MainWindow']]], - ['filename',['filename',['../struct_export_params.html#a8e4551594b537a04317d51e75691fbf5',1,'ExportParams::filename()'],['../struct_effect_meta.html#ad7087d1f9ff2e1ec4cc662493a7efc6b',1,'EffectMeta::filename()'],['../class_embedded_file_chooser.html#aa8bc2ba4b63ef055d2816909bf8b4dde',1,'EmbeddedFileChooser::filename()']]], - ['fill',['fill',['../class_q_painter_wrapper.html#acce5c894d622258a6763faefda7c8565',1,'QPainterWrapper']]], - ['fill_5ftype',['fill_type',['../class_fill_left_right_effect.html#afd133f7f521b4e2d16ed0754426bfa83',1,'FillLeftRightEffect']]], - ['fill_5ftype_5fleft',['FILL_TYPE_LEFT',['../fillleftrighteffect_8cpp.html#a2ff7d8d3014571b4a0c488a29c05fc78',1,'fillleftrighteffect.cpp']]], - ['fill_5ftype_5fright',['FILL_TYPE_RIGHT',['../fillleftrighteffect_8cpp.html#a6b144ffdb89cfd9877e6f2c5e29cb4c5',1,'fillleftrighteffect.cpp']]], - ['fillleftrighteffect',['FillLeftRightEffect',['../class_fill_left_right_effect.html',1,'FillLeftRightEffect'],['../class_fill_left_right_effect.html#a32c5c8864b3b849b5ce9281165c0b78f',1,'FillLeftRightEffect::FillLeftRightEffect()']]], - ['fillleftrighteffect_2ecpp',['fillleftrighteffect.cpp',['../fillleftrighteffect_8cpp.html',1,'']]], - ['fillleftrighteffect_2eh',['fillleftrighteffect.h',['../fillleftrighteffect_8h.html',1,'']]], - ['fillrect',['fillRect',['../class_q_painter_wrapper.html#af952711de8b5de7b3cc40eb92756884c',1,'QPainterWrapper']]], - ['filter_5fgraph',['filter_graph',['../class_clip.html#afaa2035bf537d73e34eac299a1ea7d1e',1,'Clip']]], - ['filteracceptsrow',['filterAcceptsRow',['../class_project_filter.html#afcce6f7be6b66266d6dc8fdb9149bfba',1,'ProjectFilter']]], - ['finalize_5fmedia',['finalize_media',['../class_preview_generator.html#a2cdf06b14b8042a84ca49a3b94bef0eb',1,'PreviewGenerator']]], - ['find_5floaded_5ffolder_5fby_5fid',['find_loaded_folder_by_id',['../class_load_thread.html#a1cc9c4f5aea7845a0f35e0b5f995d975',1,'LoadThread']]], - ['finished_5ffirst_5fpaint',['finished_first_paint',['../class_main_window.html#ad87af70df9998f4a30b5c5bba7eace41',1,'MainWindow']]], - ['finished_5finitialize',['finished_initialize',['../class_olive_global.html#a60dbd750a5eedea296cbe40bc8d4051e',1,'OliveGlobal']]], - ['finished_5fopening',['finished_opening',['../class_clip.html#ad2853d641aca8eeca11a96713bb2a013',1,'Clip']]], - ['first_5fshow',['first_show',['../class_main_window.html#a3295e43c4bc844b1d7e68d4ad58fb638',1,'MainWindow']]], - ['fit',['fit',['../class_viewer_container.html#ae6d94109fa9c60a59c4133e0a1f2435f',1,'ViewerContainer']]], - ['flags',['flags',['../struct___vst_midi_event.html#a346b7fdebe4a9cf8262d59ab73bb428b',1,'_VstMidiEvent::flags()'],['../struct___vst_parameter_properties.html#a1ece88dc6c130b110a0511425103d3ee',1,'_VstParameterProperties::flags()'],['../struct___a_effect.html#a6c3485a4c0a0bcd675b3ecb3b31f4165',1,'_AEffect::flags()'],['../struct___vst_time_info.html#a677b2c8935526fb0c6a96d1374d73a28',1,'_VstTimeInfo::flags()'],['../class_project_model.html#a120092321216d687fd67e7db34c29df7',1,'ProjectModel::flags()']]], - ['float_5flerp',['float_lerp',['../math_8cpp.html#a4bcd65d2c793e0b16e8b27952720651c',1,'float_lerp(float a, float b, float t): math.cpp'],['../math_8h.html#a4bcd65d2c793e0b16e8b27952720651c',1,'float_lerp(float a, float b, float t): math.cpp']]], - ['flowlayout',['FlowLayout',['../class_flow_layout.html',1,'FlowLayout'],['../class_flow_layout.html#afd3623cad3b02592123eb8a4dd01546f',1,'FlowLayout::FlowLayout(QWidget *parent, int margin=-1, int hSpacing=-1, int vSpacing=-1)'],['../class_flow_layout.html#a76357c75560d6bcbee7a4782c852ca07',1,'FlowLayout::FlowLayout(int margin=-1, int hSpacing=-1, int vSpacing=-1)']]], - ['flowlayout_2ecpp',['flowlayout.cpp',['../flowlayout_8cpp.html',1,'']]], - ['flowlayout_2eh',['flowlayout.h',['../flowlayout_8h.html',1,'']]], - ['fm',['fm',['../class_timeline_header.html#a97f35f4b3fefc88ccdd26f72e801ed7d',1,'TimelineHeader']]], - ['fmt_5fctx',['fmt_ctx',['../class_export_thread.html#a7e310108709c9e10105efad0179e6c03',1,'ExportThread::fmt_ctx()'],['../class_preview_generator.html#aeb814b62449a83290df4576f25f4d9bd',1,'PreviewGenerator::fmt_ctx()']]], - ['focus_5frow',['focus_row',['../class_effect_row.html#a8d872386b39f3b82bbb13804a326e505',1,'EffectRow']]], - ['focused',['focused',['../class_timeline.html#a705a012f3e56baa610c58732e08de8c4',1,'Timeline']]], - ['focusfilter',['FocusFilter',['../class_focus_filter.html',1,'FocusFilter'],['../class_focus_filter.html#ac1b7def442c41825dd1fc31f5cbf9fe9',1,'FocusFilter::FocusFilter()'],['../namespaceolive.html#a5dd2458c58d7d43e99b5b2b883e0ac8c',1,'olive::FocusFilter()']]], - ['focusfilter_2ecpp',['focusfilter.cpp',['../focusfilter_8cpp.html',1,'']]], - ['focusfilter_2eh',['focusfilter.h',['../focusfilter_8h.html',1,'']]], - ['focusoutevent',['focusOutEvent',['../class_timeline_header.html#a65cce6aace5ce00cb1df522506b08be9',1,'TimelineHeader']]], - ['folder_5fid',['folder_id',['../class_project.html#a37fc2546201cfac7c4890add6ef3529f',1,'Project']]], - ['folder_5fname',['folder_name',['../class_media.html#aeaee591ee5f8bbdccdd86ee522a1702b',1,'Media']]], - ['font',['font',['../class_text_effect.html#af8a29d78708433da6b6d9558a2f0db98',1,'TextEffect::font()'],['../class_timecode_effect.html#a2f12b8c0b1166fabd2dd25da5f73be17',1,'TimecodeEffect::font()']]], - ['fontcombobox',['FontCombobox',['../class_font_combobox.html',1,'FontCombobox'],['../class_font_combobox.html#a5292b60c91527aa06dd3a2eeba051fcb',1,'FontCombobox::FontCombobox()']]], - ['fontcombobox_2ecpp',['fontcombobox.cpp',['../fontcombobox_8cpp.html',1,'']]], - ['fontcombobox_2eh',['fontcombobox.h',['../fontcombobox_8h.html',1,'']]], - ['footage',['Footage',['../struct_footage.html',1,'Footage'],['../class_preview_generator.html#a0138807a0579bdcf9356e0c164080fc2',1,'PreviewGenerator::footage()'],['../struct_proxy_info.html#a07f30b94716f628294f596570c049fbb',1,'ProxyInfo::footage()'],['../struct_footage.html#a520a98b1c5cb32fc6e811336d991af70',1,'Footage::Footage()']]], - ['footage_2ecpp',['footage.cpp',['../footage_8cpp.html',1,'']]], - ['footage_2eh',['footage.h',['../footage_8h.html',1,'']]], - ['footageptr',['FootagePtr',['../footage_8h.html#a1ec6462954056c51931cc6066a7d3d71',1,'footage.h']]], - ['footagestream',['FootageStream',['../struct_footage_stream.html',1,'']]], - ['format_5f3gpp',['FORMAT_3GPP',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5ad79b9c078f784f842269c7e3430d30d6',1,'exportdialog.cpp']]], - ['format_5fac3',['FORMAT_AC3',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a0b7e62e59a31f5905e8f25ca4d60af69',1,'exportdialog.cpp']]], - ['format_5faiff',['FORMAT_AIFF',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5ac36853f3a55cec99ae21d716dc26ba4d',1,'exportdialog.cpp']]], - ['format_5fapng',['FORMAT_APNG',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a76c6c79f2a3e8b3021afd9a35ca35735',1,'exportdialog.cpp']]], - ['format_5favi',['FORMAT_AVI',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5af5716a2d43dd3a34af281bfb0f424f17',1,'exportdialog.cpp']]], - ['format_5fchanged',['format_changed',['../class_export_dialog.html#a5276d8742d428499208f48aa961e4076',1,'ExportDialog']]], - ['format_5fcombobox',['format_combobox',['../class_proxy_dialog.html#aa0992d03f9fa673e688f79cb817d4030',1,'ProxyDialog']]], - ['format_5fdnxhd',['FORMAT_DNXHD',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a1fab2766ac4ce89d60e585363ffc10a5',1,'exportdialog.cpp']]], - ['format_5fflv',['FORMAT_FLV',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a92846704d8f586983a195b4dad2214fc',1,'exportdialog.cpp']]], - ['format_5fgif',['FORMAT_GIF',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5acab6d5fbb355156e3b940835c7e011a9',1,'exportdialog.cpp']]], - ['format_5fimg',['FORMAT_IMG',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a7cf9944ffed640644861910c5ac97d47',1,'exportdialog.cpp']]], - ['format_5fmkv',['FORMAT_MKV',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a1825cbf128674383c58d42d4a9760350',1,'exportdialog.cpp']]], - ['format_5fmov',['FORMAT_MOV',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5ae5d89c4fa0eedcb136c829abd7b9e3d0',1,'exportdialog.cpp']]], - ['format_5fmp2',['FORMAT_MP2',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a762b987895f3e1b903cf7f942b4da6fa',1,'exportdialog.cpp']]], - ['format_5fmp3',['FORMAT_MP3',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5aacf8a64477d300ebb254e97cb89c592d',1,'exportdialog.cpp']]], - ['format_5fmpeg1',['FORMAT_MPEG1',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a7b9f5bb676246629e4d0eb2283a68d2f',1,'exportdialog.cpp']]], - ['format_5fmpeg2',['FORMAT_MPEG2',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a950eaa9f32753a87540d645bd295d061',1,'exportdialog.cpp']]], - ['format_5fmpeg4',['FORMAT_MPEG4',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5aae245f991922a3e66bc3ff8fc0cbccda',1,'exportdialog.cpp']]], - ['format_5fmpegts',['FORMAT_MPEGTS',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a422725fc92d1b2a9d9a1aec3fb9ff1c4',1,'exportdialog.cpp']]], - ['format_5fogg',['FORMAT_OGG',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a8dfcedd0327a2fabd3ab915d9dadc75a',1,'exportdialog.cpp']]], - ['format_5fsize',['FORMAT_SIZE',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a58d95a1f25a7a5a7d1e9f34372e7d110',1,'exportdialog.cpp']]], - ['format_5fstrings',['format_strings',['../class_export_dialog.html#a0d3d78e12da1dd3b80eea61b3480cb5d',1,'ExportDialog']]], - ['format_5fwav',['FORMAT_WAV',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a57b8c9a9e1e68df34f9323e89e690fff',1,'exportdialog.cpp']]], - ['format_5fwebm',['FORMAT_WEBM',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5abb1666f2bf241ceab4e18d75672e5ffe',1,'exportdialog.cpp']]], - ['format_5fwmv',['FORMAT_WMV',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5afb9f5731231b7f13feedd15b4ef1335b',1,'exportdialog.cpp']]], - ['formatcombobox',['formatCombobox',['../class_export_dialog.html#a9e7a79e9d7d413a4b298134bb0cf30cd',1,'ExportDialog']]], - ['formatctx',['formatCtx',['../class_clip.html#ad1a3d19136f7d3a4f17e6a4134fe8af1',1,'Clip']]], - ['fragpath',['fragPath',['../class_effect.html#af64fc534af72a12362850a0d24906565',1,'Effect']]], - ['frame',['frame',['../class_clip.html#a082ca83db497dcc257de4d9284dcb161',1,'Clip::frame()'],['../struct_marker.html#acac07d71d4271aa47bb856870a75accd',1,'Marker::frame()']]], - ['frame_5fqueue_5ftype_5fframes',['FRAME_QUEUE_TYPE_FRAMES',['../namespaceolive.html#a465c6d38e7cc002c2dbb440c33543b6bae4ea79ae92c0b383be31897685f77415',1,'olive']]], - ['frame_5fqueue_5ftype_5fseconds',['FRAME_QUEUE_TYPE_SECONDS',['../namespaceolive.html#a465c6d38e7cc002c2dbb440c33543b6baf48cfa65fef01c3f40c814359ef0a934',1,'olive']]], - ['frame_5frate',['frame_rate',['../class_speed_dialog.html#a7109bf8b0a0853319a6bcd7f50a8fb4e',1,'SpeedDialog::frame_rate()'],['../class_sequence.html#a100e8429db985c97256a596045bd2c8b',1,'Sequence::frame_rate()'],['../class_edit_sequence_command.html#a24dedfb58f98f3da9c54fdd92675f3a3',1,'EditSequenceCommand::frame_rate()'],['../class_label_slider.html#ad7f76c5ce07e9020b8838e5175fea82d',1,'LabelSlider::frame_rate()']]], - ['frame_5frate_5fcombobox',['frame_rate_combobox',['../class_new_sequence_dialog.html#a6decebba693ed9c809f3a2fe71c38ab1',1,'NewSequenceDialog']]], - ['frame_5frate_5fis_5fdroppable',['frame_rate_is_droppable',['../viewer_8cpp.html#a79c403187a24637540c4454a3a9ad627',1,'frame_rate_is_droppable(double rate): viewer.cpp'],['../viewer_8h.html#a79c403187a24637540c4454a3a9ad627',1,'frame_rate_is_droppable(double rate): viewer.cpp']]], - ['frame_5frate_5fupdate',['frame_rate_update',['../class_speed_dialog.html#a8e413b491f57bc7f94cc09d7450b8c2b',1,'SpeedDialog']]], - ['frame_5fsample_5findex',['frame_sample_index',['../class_clip.html#a88c650ef2c86cf045d66d793705a8129',1,'Clip']]], - ['frame_5fto_5ftimecode',['frame_to_timecode',['../viewer_8cpp.html#a108a12b8385df3c49197f09e8cb3ba84',1,'frame_to_timecode(long f, int view, double frame_rate): viewer.cpp'],['../viewer_8h.html#a108a12b8385df3c49197f09e8cb3ba84',1,'frame_to_timecode(long f, int view, double frame_rate): viewer.cpp']]], - ['frame_5fupdate',['frame_update',['../class_viewer_widget.html#aadfeb43e0a62a3fb13f4d0bd623cb4fc',1,'ViewerWidget']]], - ['framequeuetype',['FrameQueueType',['../namespaceolive.html#a465c6d38e7cc002c2dbb440c33543b6b',1,'olive']]], - ['frameratespinbox',['framerateSpinbox',['../class_export_dialog.html#a9292cc0a18aabf28ffd9dde88bd25d8f',1,'ExportDialog']]], - ['frames_5faction',['frames_action',['../class_main_window.html#a46deaeba4a39e8f5cdb0be2288e997e4',1,'MainWindow']]], - ['frames_5fin_5fone_5fminute',['FRAMES_IN_ONE_MINUTE',['../viewer_8cpp.html#a3f28ddf08a77d6772dcac668dad17e44',1,'viewer.cpp']]], - ['frames_5fin_5ften_5fminutes',['FRAMES_IN_TEN_MINUTES',['../viewer_8cpp.html#a92f83215a80a0e0600da4d4f73335ae7',1,'viewer.cpp']]], - ['frametotimecode',['frameToTimecode',['../class_effect_field.html#af18452c8f203196312c4fd53b0e5ef8e',1,'EffectField']]], - ['free_5fpanels',['free_panels',['../panels_8cpp.html#a2c3668623e03ff7ba17306dd49b0d0ad',1,'free_panels(): panels.cpp'],['../panels_8h.html#a2c3668623e03ff7ba17306dd49b0d0ad',1,'free_panels(): panels.cpp']]], - ['freeplugin',['freePlugin',['../class_v_s_t_host.html#ab24cbef7a8dbc489f914a3b223526aa8',1,'VSTHost']]], - ['frei0reffect',['Frei0rEffect',['../class_frei0r_effect.html',1,'Frei0rEffect'],['../class_frei0r_effect.html#a4ca9645c5e05a64dac1760eff81f5a59',1,'Frei0rEffect::Frei0rEffect()']]], - ['frei0reffect_2ecpp',['frei0reffect.cpp',['../frei0reffect_8cpp.html',1,'']]], - ['frei0reffect_2eh',['frei0reffect.h',['../frei0reffect_8h.html',1,'']]], - ['freq_5fval',['freq_val',['../class_tone_effect.html#a7958431c904ee186a0c4e25e67040dd9',1,'ToneEffect']]], - ['frequency_5fval',['frequency_val',['../class_shake_effect.html#aed978f6afe1650ea04445645ca6006d8',1,'ShakeEffect']]], - ['from',['from',['../class_media_rename.html#a07198c1e89136a0464510f424050da53',1,'MediaRename::from()'],['../class_move_effect_command.html#a0ef8d070f2cf49057f3c7402bc48f442',1,'MoveEffectCommand::from()']]], - ['froms',['froms',['../class_media_move.html#a66c35ebed4241181a413ab1e8441c8f2',1,'MediaMove']]], - ['front_5fbuffer',['front_buffer',['../class_render_thread.html#a67b613fa1c74313c0939214859eae558',1,'RenderThread']]], - ['front_5ftexture',['front_texture',['../class_render_thread.html#a0f1d1b69bccf180aa461f4cd27269b3d',1,'RenderThread']]], - ['full_5fblit',['full_blit',['../renderfunctions_8cpp.html#a3af939cdd15e751053ee44d6b8ee3fa1',1,'renderfunctions.cpp']]], - ['full_5fscreen',['full_screen',['../class_main_window.html#a85d1706a0b5dc3b31cc3ba93006168c4',1,'MainWindow']]], - ['fullscreen_5fmenu_5faction',['fullscreen_menu_action',['../class_viewer_widget.html#a6f7ab0b02f1483fac619ee7bf9f74cff',1,'ViewerWidget']]], - ['fullscreen_5fmsg_5frect',['fullscreen_msg_rect',['../class_viewer_window.html#ad28d16a6de721f3f851d6a78812b2034',1,'ViewerWindow']]], - ['fullscreen_5fmsg_5ftimeout',['fullscreen_msg_timeout',['../class_viewer_window.html#ae445eb7db67cd4475bc6e47dcc570dcb',1,'ViewerWindow']]], - ['fullscreen_5fmsg_5ftimer',['fullscreen_msg_timer',['../class_viewer_window.html#a6e2dd67d6036b728eb07f15554d865cb',1,'ViewerWindow']]], - ['future',['future',['../struct___vst_parameter_properties.html#a1e225ad92330f67a9491adbc76d73d9c',1,'_VstParameterProperties']]], - ['fx',['fx',['../class_effect_delete_command.html#a7b2f7e360b60c57d66456f377f34b86f',1,'EffectDeleteCommand']]] -]; diff --git a/docs/html/search/all_7.html b/docs/html/search/all_7.html deleted file mode 100644 index 9cd0196e7..000000000 --- a/docs/html/search/all_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_7.js b/docs/html/search/all_7.js deleted file mode 100644 index c47f47ecc..000000000 --- a/docs/html/search/all_7.js +++ /dev/null @@ -1,152 +0,0 @@ -var searchData= -[ - ['generate_5fwaveform',['generate_waveform',['../class_preview_generator.html#ad54935df72a0b312f61620a2cdc22ff7',1,'PreviewGenerator']]], - ['get_5fall_5fmedia_5ffrom_5ftable',['get_all_media_from_table',['../class_project.html#ab15da5c57b3aa85ea975bc50a06b3705',1,'Project']]], - ['get_5fapp_5fdir',['get_app_dir',['../path_8cpp.html#a6f4590e7c7de6ff44f749eb0751c232a',1,'path.cpp']]], - ['get_5fapp_5fpath',['get_app_path',['../path_8cpp.html#ab5baea26d92fa2df23b924fc13bb5fc6',1,'get_app_path(): path.cpp'],['../path_8h.html#ab5baea26d92fa2df23b924fc13bb5fc6',1,'get_app_path(): path.cpp']]], - ['get_5faudio_5fdevice',['get_audio_device',['../audio_8cpp.html#a9dd69a4e1e6b8ac05c3586b56afcae01',1,'audio.cpp']]], - ['get_5fbool_5fvalue',['get_bool_value',['../class_effect_field.html#a63cc40204e14437ed58365aa21bd7ede',1,'EffectField']]], - ['get_5fbuffer_5foffset_5ffrom_5fframe',['get_buffer_offset_from_frame',['../audio_8cpp.html#a3de327e26508d5f01fbea1886f748388',1,'get_buffer_offset_from_frame(double framerate, long frame): audio.cpp'],['../audio_8h.html#a3de327e26508d5f01fbea1886f748388',1,'get_buffer_offset_from_frame(double framerate, long frame): audio.cpp']]], - ['get_5fchannel_5flayout_5fname',['get_channel_layout_name',['../project_8h.html#a6881016163d4cdf5d47e3338a200fd98',1,'get_channel_layout_name(int channels, uint64_t layout): media.cpp'],['../media_8cpp.html#a6881016163d4cdf5d47e3338a200fd98',1,'get_channel_layout_name(int channels, uint64_t layout): media.cpp']]], - ['get_5fclip_5fframe',['get_clip_frame',['../playback_8cpp.html#a7eed9c8d9ad7088f9649113a5795baa3',1,'get_clip_frame(ClipPtr c, long playhead, bool &texture_failed): playback.cpp'],['../playback_8h.html#a7eed9c8d9ad7088f9649113a5795baa3',1,'get_clip_frame(ClipPtr c, long playhead, bool &texture_failed): playback.cpp']]], - ['get_5fclip_5fin_5fwith_5ftransition',['get_clip_in_with_transition',['../class_clip.html#af29ee3c4fc28e522d33d301b3a951e67',1,'Clip']]], - ['get_5fclosed_5fclip',['get_closed_clip',['../class_transition.html#a6d468bb01335a9b766afa7d40ba72c4c',1,'Transition']]], - ['get_5fcolor',['get_color',['../class_color_button.html#ab581ca4cf7c426c556de3ceda9569b83',1,'ColorButton']]], - ['get_5fcolor_5ffrom_5fstring',['get_color_from_string',['../qpainterwrapper_8cpp.html#a804ba3e7b16914dc75e6dd2db2b5beb0',1,'qpainterwrapper.cpp']]], - ['get_5fcolor_5fvalue',['get_color_value',['../class_effect_field.html#abfb2abcd17f1cb2dcba52532ff7c9e65',1,'EffectField']]], - ['get_5fcombo_5fdata',['get_combo_data',['../class_effect_field.html#ada890a6c7fb3ef87517f6b85430226a5',1,'EffectField']]], - ['get_5fcombo_5findex',['get_combo_index',['../class_effect_field.html#a1e3f1fcd09f062f9756efcbd120bf628',1,'EffectField']]], - ['get_5fcombo_5fstring',['get_combo_string',['../class_effect_field.html#a0cd599e0b49150d901a54c61af7e0c09',1,'EffectField']]], - ['get_5fconfig_5fdir',['get_config_dir',['../path_8cpp.html#aaac98af2cafc9a566521c189fd2b7501',1,'get_config_dir(): path.cpp'],['../path_8h.html#aaac98af2cafc9a566521c189fd2b7501',1,'get_config_dir(): path.cpp']]], - ['get_5fconfig_5fpath',['get_config_path',['../path_8cpp.html#ac02d9b7ac4b8cee55cad06abf61d1710',1,'get_config_path(): path.cpp'],['../path_8h.html#ac02d9b7ac4b8cee55cad06abf61d1710',1,'get_config_path(): path.cpp']]], - ['get_5fcurrent_5fdata',['get_current_data',['../class_effect_field.html#aae8e98739b19504c5213ad8030246156',1,'EffectField']]], - ['get_5fcurrent_5fselected',['get_current_selected',['../class_project.html#a2fabccab17335ff31523395d36d25c38',1,'Project']]], - ['get_5fcursor',['get_cursor',['../class_effect_gizmo.html#a19b6e913eadcdac972da70b9fc56452f',1,'EffectGizmo']]], - ['get_5fcurve_5fcolor',['get_curve_color',['../graphview_8cpp.html#a312711e4e58151b9c6b2bccc02eda924',1,'get_curve_color(int index, int length): graphview.cpp'],['../graphview_8h.html#a312711e4e58151b9c6b2bccc02eda924',1,'get_curve_color(int index, int length): graphview.cpp']]], - ['get_5fdata_5fdir',['get_data_dir',['../path_8cpp.html#af83d17902ede2046d74ca018b0b2dd6a',1,'get_data_dir(): path.cpp'],['../path_8h.html#af83d17902ede2046d74ca018b0b2dd6a',1,'get_data_dir(): path.cpp']]], - ['get_5fdata_5fpath',['get_data_path',['../path_8cpp.html#a0499470ec108994a557f44b431a42251',1,'get_data_path(): path.cpp'],['../path_8h.html#a0499470ec108994a557f44b431a42251',1,'get_data_path(): path.cpp']]], - ['get_5fdebug_5fstr',['get_debug_str',['../debug_8cpp.html#a8da767c7eadbda2586f2b412ed2bc2db',1,'get_debug_str(): debug.cpp'],['../debug_8h.html#a8da767c7eadbda2586f2b412ed2bc2db',1,'get_debug_str(): debug.cpp']]], - ['get_5fdouble_5fvalue',['get_double_value',['../class_effect_field.html#a28edee6787aa6c250201988a91864747',1,'EffectField']]], - ['get_5feffects_5fpaths',['get_effects_paths',['../path_8cpp.html#afa639d7fca6aed16d1ce80e830434523',1,'get_effects_paths(): path.cpp'],['../path_8h.html#afa639d7fca6aed16d1ce80e830434523',1,'get_effects_paths(): path.cpp']]], - ['get_5ffile_5fhash',['get_file_hash',['../path_8cpp.html#a75b881bf1cbe77c1772052d5400f8701',1,'get_file_hash(const QString &filename): path.cpp'],['../path_8h.html#a75b881bf1cbe77c1772052d5400f8701',1,'get_file_hash(const QString &filename): path.cpp']]], - ['get_5ffile_5fname_5ffrom_5fpath',['get_file_name_from_path',['../class_project.html#ac173db1091b73c2a9e660899c9740340',1,'Project']]], - ['get_5ffilename',['get_filename',['../class_effect_field.html#a5435359d484901475607ccc298cd39ee',1,'EffectField']]], - ['get_5ffocused_5fpanel',['get_focused_panel',['../panels_8cpp.html#a213aed28429fafcaec5a44412469a014',1,'get_focused_panel(bool force_hover): panels.cpp'],['../panels_8h.html#ae17839b439c1c6254d68e261a0fe750c',1,'get_focused_panel(bool force_hover=false): panels.cpp']]], - ['get_5ffont_5fname',['get_font_name',['../class_effect_field.html#ad77d1775ca05c8e921680ca4b2a908c1',1,'EffectField']]], - ['get_5fframe_5frate',['get_frame_rate',['../class_media.html#acfd41e2f909e78939674bec991b7d5ed',1,'Media']]], - ['get_5fgizmo_5ffrom_5fmouse',['get_gizmo_from_mouse',['../class_viewer_widget.html#abfdbc61e5e2628ecddbd58d90007c724',1,'ViewerWidget']]], - ['get_5findex_5fin_5fclip',['get_index_in_clip',['../class_effect.html#ada025a08836e332464aaadaf68b26bf3',1,'Effect']]], - ['get_5finterlacing_5fname',['get_interlacing_name',['../project_8h.html#ad62be5dea48642a87dfcf879895bb04d',1,'get_interlacing_name(int interlacing): media.cpp'],['../media_8cpp.html#ad62be5dea48642a87dfcf879895bb04d',1,'get_interlacing_name(int interlacing): media.cpp']]], - ['get_5finternal_5fmeta',['get_internal_meta',['../effect_8cpp.html#ae2f2d05d181ce69b2cd2d0dc40eb9e6f',1,'get_internal_meta(int internal_id, int type): effect.cpp'],['../effect_8h.html#ae2f2d05d181ce69b2cd2d0dc40eb9e6f',1,'get_internal_meta(int internal_id, int type): effect.cpp']]], - ['get_5fkeyframe_5fdata',['get_keyframe_data',['../class_effect_field.html#a382e615d11e9631365eff8d4189181b0',1,'EffectField']]], - ['get_5flanguage_5fpaths',['get_language_paths',['../path_8cpp.html#a3a0b65e0763c076baabc9ee12627d0dd',1,'get_language_paths(): path.cpp'],['../path_8h.html#a3a0b65e0763c076baabc9ee12627d0dd',1,'get_language_paths(): path.cpp']]], - ['get_5flength',['get_length',['../class_transition.html#abcb42b83eec8ca51b4944106612bf09c',1,'Transition']]], - ['get_5flength_5fin_5fframes',['get_length_in_frames',['../struct_footage.html#a3fe33cf6fca855c950cdeb6620d63a52',1,'Footage']]], - ['get_5fmarker_5foffset',['get_marker_offset',['../class_timeline_header.html#a2d8979f91315292afe3c12851d5c3400',1,'TimelineHeader']]], - ['get_5fmarkers',['get_markers',['../class_clip.html#a79e6987c7ef0e05c76b3eae58b8dbcba',1,'Clip::get_markers()'],['../class_media.html#aab3d0f4080ad710f5a8c5306b3b23e14',1,'Media::get_markers()']]], - ['get_5fmeta_5ffrom_5fname',['get_meta_from_name',['../effect_8cpp.html#a8d7afaab969da78652b9bc0f5ee82e37',1,'get_meta_from_name(const QString &input): effect.cpp'],['../effect_8h.html#a8d7afaab969da78652b9bc0f5ee82e37',1,'get_meta_from_name(const QString &input): effect.cpp']]], - ['get_5fmode',['get_mode',['../class_effect_controls.html#a8d0b4235ddb58fabcabd659b203866cd',1,'EffectControls']]], - ['get_5fname',['get_name',['../class_effect_row.html#a963e91f05a5d4b6e760034a0119e3fff',1,'EffectRow::get_name()'],['../class_media.html#ac847409dd0145ad7a96f3040baed68f7',1,'Media::get_name()']]], - ['get_5fnext_5faudio',['get_next_audio',['../playback_8h.html#a821ee74f52d62a86f5ac5df0cd138979',1,'playback.h']]], - ['get_5fnext_5fsequence_5fname',['get_next_sequence_name',['../class_project.html#a830d17c24625257c6e91626aecc475fd',1,'Project']]], - ['get_5fopened_5fclip',['get_opened_clip',['../class_transition.html#a815192c2f724071b6dbab0e2200df841',1,'Transition']]], - ['get_5fparam_5finfo',['get_param_info',['../class_frei0r_effect.html#a736b8a9e810b143954cfa4d5fd0c83fe',1,'Frei0rEffect']]], - ['get_5fplayback_5fspeed',['get_playback_speed',['../class_viewer.html#a2d9e640db35a369c847e2d1b3723a7d5',1,'Viewer']]], - ['get_5fpoint_5fcount',['get_point_count',['../class_effect_gizmo.html#a7af52e9307160d8691e49e643b94ea85',1,'EffectGizmo']]], - ['get_5fprevious_5fdata',['get_previous_data',['../class_effect_field.html#a3d297cfd9285d75308a052cc0b074bbd',1,'EffectField']]], - ['get_5fproject_5ffile_5ffilter',['get_project_file_filter',['../class_olive_global.html#ac57ead290b6cf9895aa11a1200d7c397',1,'OliveGlobal']]], - ['get_5fproxy_5fprogress',['get_proxy_progress',['../class_proxy_generator.html#aabfc1141be138bd822cc836c9dd92359',1,'ProxyGenerator']]], - ['get_5frecent_5fproject_5flist_5ffile',['get_recent_project_list_file',['../class_olive_global.html#acf4fdfadaf62290f28de49c12d58cb5b',1,'OliveGlobal']]], - ['get_5frecorded_5faudio_5ffilename',['get_recorded_audio_filename',['../audio_8cpp.html#a0699452c1897d5dffa3103f4d63c6df1',1,'get_recorded_audio_filename(): audio.cpp'],['../audio_8h.html#a0699452c1897d5dffa3103f4d63c6df1',1,'get_recorded_audio_filename(): audio.cpp']]], - ['get_5frenderer',['get_renderer',['../class_viewer_widget.html#aaa7556a6e7b77a0a2e5c045ba8922486',1,'ViewerWidget']]], - ['get_5froot',['get_root',['../class_project_model.html#a8881b79046dac664857d7c544f7325d6',1,'ProjectModel']]], - ['get_5fsampling_5frate',['get_sampling_rate',['../class_media.html#a20585365170209aae00f70271353472f',1,'Media']]], - ['get_5fscreen_5fx',['get_screen_x',['../class_graph_view.html#ac3f55352a5099e603593dbb8c9a38239',1,'GraphView']]], - ['get_5fscreen_5fy',['get_screen_y',['../class_graph_view.html#a5253c8af4aec01465dc6e48622ac058f',1,'GraphView']]], - ['get_5fselected_5ffolder',['get_selected_folder',['../class_project.html#ab4a27a3ce8420e4d6c58a1c5df7d678a',1,'Project']]], - ['get_5fseq_5fin',['get_seq_in',['../class_viewer.html#a6413e6090a9cbb8fcbd46a63a2647e56',1,'Viewer']]], - ['get_5fseq_5fout',['get_seq_out',['../class_viewer.html#acb4d82381f8b8b8be472fc80104e80df',1,'Viewer']]], - ['get_5fshow_5fsequences',['get_show_sequences',['../class_project_filter.html#ada6f9789e96386855cc12dcf250be526',1,'ProjectFilter']]], - ['get_5fsnap_5frange',['get_snap_range',['../class_timeline.html#aba8c20bd49982f3f0c68ce460da38e94',1,'Timeline']]], - ['get_5fstream_5ffrom_5ffile_5findex',['get_stream_from_file_index',['../struct_footage.html#a179f4b6aaecb813dd65b9852486b3876',1,'Footage']]], - ['get_5fstring',['get_string',['../class_text_edit_dialog.html#ab311df5266dc3841070a47f45b235a35',1,'TextEditDialog']]], - ['get_5fstring_5fvalue',['get_string_value',['../class_effect_field.html#aecc5fbb60d15c184f354f32a25a005ae',1,'EffectField']]], - ['get_5fthumbnail_5fpath',['get_thumbnail_path',['../class_preview_generator.html#a15740c9bb5a01fc3811fb93cdf0a2b82',1,'PreviewGenerator']]], - ['get_5ftimecode',['get_timecode',['../playback_8cpp.html#a370be57d153d81d4217295997e51c209',1,'get_timecode(ClipPtr c, long playhead): playback.cpp'],['../playback_8h.html#a370be57d153d81d4217295997e51c209',1,'get_timecode(ClipPtr c, long playhead): playback.cpp']]], - ['get_5ftimeline_5fin_5fwith_5ftransition',['get_timeline_in_with_transition',['../class_clip.html#ad6ba13ae794189625d93e4516391c738',1,'Clip']]], - ['get_5ftimeline_5fout_5fwith_5ftransition',['get_timeline_out_with_transition',['../class_clip.html#a1abd174bb097f39bea7fcdca87392cb1',1,'Clip']]], - ['get_5ftransition_5ffrom_5fmeta',['get_transition_from_meta',['../transition_8cpp.html#a76f46c849afa1ed497c237271ddc7249',1,'get_transition_from_meta(ClipPtr c, ClipPtr s, const EffectMeta *em): transition.cpp'],['../transition_8h.html#a76f46c849afa1ed497c237271ddc7249',1,'get_transition_from_meta(ClipPtr c, ClipPtr s, const EffectMeta *em): transition.cpp']]], - ['get_5ftrue_5flength',['get_true_length',['../class_transition.html#a214e23b14abff32cc6804ace89fb872e',1,'Transition']]], - ['get_5ftype',['get_type',['../class_effect_gizmo.html#abc8cc87a9ec7f0ec2f91cad974fb8fef',1,'EffectGizmo::get_type()'],['../class_media.html#a3abbae73e360435cc0d47908ee725ed3',1,'Media::get_type()']]], - ['get_5fui_5felement',['get_ui_element',['../class_effect_field.html#a3e2df9b521cbb5df882a6573513a111d',1,'EffectField']]], - ['get_5fvalidated_5fkeyframe_5fhandle',['get_validated_keyframe_handle',['../class_effect_field.html#a06c6db5500c68a36d8bb5c5e0a4f78c3',1,'EffectField']]], - ['get_5fvalue_5fx',['get_value_x',['../class_graph_view.html#a8fb88fe0ea4a54f99943b0170669e736',1,'GraphView']]], - ['get_5fvalue_5fy',['get_value_y',['../class_graph_view.html#a335fc63e13e2b5b6f91d98319e0ed51e',1,'GraphView']]], - ['get_5fwaveform_5fpath',['get_waveform_path',['../class_preview_generator.html#a4ac64338b1f3eb93f1e7209d5912acd1',1,'PreviewGenerator']]], - ['get_5fzoom',['get_zoom',['../class_timeline_header.html#acc49e2d68ea83245edb80bc4132738a1',1,'TimelineHeader']]], - ['getclipindexfromcoords',['getClipIndexFromCoords',['../class_timeline_widget.html#abda51f028dfc0c570bdb59a1fc70ec09',1,'TimelineWidget']]], - ['getdisplayframefromscreenpoint',['getDisplayFrameFromScreenPoint',['../class_timeline.html#a0941a196b60d5ff710d41767003a3981',1,'Timeline']]], - ['getdisplayscreenpointfromframe',['getDisplayScreenPointFromFrame',['../class_timeline.html#a65a6e04ecaef74ea5fe37a5ca866b7e7',1,'Timeline']]], - ['getendframe',['getEndFrame',['../class_sequence.html#ad97acfb30503557eeebcc166181c6c40',1,'Sequence']]], - ['geterror',['getError',['../class_export_thread.html#ae213d914041647885b443e4a9c15301c',1,'ExportThread']]], - ['getfilename',['getFilename',['../class_embedded_file_chooser.html#ae684809ec1df149dfdae29e35fbb5900',1,'EmbeddedFileChooser']]], - ['getframefromscreenpoint',['getFrameFromScreenPoint',['../timeline_8cpp.html#a92724b6ced537c6071e509a0d316ebf0',1,'getFrameFromScreenPoint(double zoom, int x): timeline.cpp'],['../timeline_8h.html#a92724b6ced537c6071e509a0d316ebf0',1,'getFrameFromScreenPoint(double zoom, int x): timeline.cpp']]], - ['getheaderframefromscreenpoint',['getHeaderFrameFromScreenPoint',['../class_timeline_header.html#a3bfdc9d48fbd6696b7788911d39ad5c9',1,'TimelineHeader']]], - ['getheaderscreenpointfromframe',['getHeaderScreenPointFromFrame',['../class_timeline_header.html#a0be2c1f778e0cfc8feb25a3506596abc',1,'TimelineHeader']]], - ['getheight',['getHeight',['../class_clip.html#a56eeafa26c972752de0ede29c3fef0ca',1,'Clip']]], - ['getitem',['getItem',['../class_project_model.html#a7f8c3b251180c100549b0969ff689af8',1,'ProjectModel']]], - ['getiterations',['getIterations',['../class_effect.html#afaf5c401c556fb3662b172a073acaf44',1,'Effect']]], - ['getlength',['getLength',['../class_clip.html#a4ce6cea50cf446edfba74bc899635cfc',1,'Clip']]], - ['getmaximumlength',['getMaximumLength',['../class_clip.html#af59054d710ce8cfb6d78a7794f267819',1,'Clip']]], - ['getmediaframerate',['getMediaFrameRate',['../class_clip.html#ae5e73f97ffd4c5eb226330b5e27a92f6',1,'Clip']]], - ['getparameter',['getParameter',['../struct___a_effect.html#af4fbbb3462f21df4ec126f1c0deea159',1,'_AEffect']]], - ['getparameterfuncptr',['getParameterFuncPtr',['../vsthost_8cpp.html#abd1576a464b56561c262570559afeac1',1,'vsthost.cpp']]], - ['getplaintextex',['getPlainTextEx',['../class_text_edit_ex.html#a6da269fb5d196a889c37bbfa66fcebb3',1,'TextEditEx']]], - ['getpreviousindex',['getPreviousIndex',['../class_combo_box_ex.html#a72bdf2ae47672aff296c8f24a94c42dc',1,'ComboBoxEx']]], - ['getpreviousvalue',['getPreviousValue',['../class_color_button.html#aff2590df08c6755caf7e6e07e9ea5293',1,'ColorButton::getPreviousValue()'],['../class_embedded_file_chooser.html#a7d811683ff35b490203f737bfe9059cb',1,'EmbeddedFileChooser::getPreviousValue()'],['../class_font_combobox.html#a8fd5a5dd69266c9a1d1d9dddc8462b30',1,'FontCombobox::getPreviousValue()'],['../class_label_slider.html#a4b807b5b784a7b7b9b9d0a7b3706a4e4',1,'LabelSlider::getPreviousValue()'],['../class_text_edit_ex.html#ae983e224eb99673871858219852b91a7',1,'TextEditEx::getPreviousValue()']]], - ['getscreenpointfromframe',['getScreenPointFromFrame',['../timeline_8cpp.html#a16298ef560200ecd5402d6502f33adde',1,'getScreenPointFromFrame(double zoom, long frame): timeline.cpp'],['../timeline_8h.html#a16298ef560200ecd5402d6502f33adde',1,'getScreenPointFromFrame(double zoom, long frame): timeline.cpp']]], - ['getscreenpointfromtrack',['getScreenPointFromTrack',['../class_timeline_widget.html#ac6e4770f75f23d9b7839bd3087f04a5b',1,'TimelineWidget']]], - ['gettimelineframefromscreenpoint',['getTimelineFrameFromScreenPoint',['../class_timeline.html#a4c3a95618e89ad83170f0a09c59e9e6b',1,'Timeline']]], - ['gettimelinescreenpointfromframe',['getTimelineScreenPointFromFrame',['../class_timeline.html#abc20960f8e5daf9ff5c9e35bbbce70db',1,'Timeline']]], - ['gettrackfromscreenpoint',['getTrackFromScreenPoint',['../class_timeline_widget.html#aeaa2127f94a691c0dfc697e9c2023ad8',1,'TimelineWidget']]], - ['gettrackheight',['GetTrackHeight',['../class_timeline.html#a3324c971f0f4a1e585f00517b7f13eb4',1,'Timeline']]], - ['gettracklimits',['getTrackLimits',['../class_sequence.html#a5d88ee3ae40a88f20b8143a834c7385c',1,'Sequence']]], - ['getwidth',['getWidth',['../class_clip.html#a67451b7c5472a706e92d62efeb7f7ddb',1,'Clip']]], - ['ghost',['Ghost',['../struct_ghost.html',1,'']]], - ['ghost_5flength',['ghost_length',['../struct_ghost.html#a63fd46b9c43f507c0132d4d94407f4be',1,'Ghost']]], - ['ghosts',['ghosts',['../class_timeline.html#a8385381e9aded5cc35eccbefad26c264',1,'Timeline']]], - ['gizmo',['gizmo',['../class_effect.html#aedb6c82d3d0ee5981e24f3026297b248',1,'Effect']]], - ['gizmo_5fcount',['gizmo_count',['../class_effect.html#a6a63f0ddaa131f1c3bb99c5b2aac6f59',1,'Effect']]], - ['gizmo_5fdot_5fsize',['GIZMO_DOT_SIZE',['../effectgizmo_8h.html#ad084266bdeef695cd0a7b87b5e305b08',1,'effectgizmo.h']]], - ['gizmo_5fdraw',['gizmo_draw',['../class_corner_pin_effect.html#a32e4f49147e84fceb58b1966da18db5f',1,'CornerPinEffect::gizmo_draw()'],['../class_transform_effect.html#a7eaf385598d136ecb27ed8f3af6b0d5f',1,'TransformEffect::gizmo_draw()'],['../class_effect.html#ab6b38acadf4bcd929576a8552e36341a',1,'Effect::gizmo_draw()']]], - ['gizmo_5fmove',['gizmo_move',['../class_effect.html#a06c599ea93d436db67f659203dc11ac2',1,'Effect']]], - ['gizmo_5ftarget_5fsize',['GIZMO_TARGET_SIZE',['../effectgizmo_8h.html#afa123f3143bb60936f5b31e67480d0c7',1,'effectgizmo.h']]], - ['gizmo_5ftype_5fdot',['GIZMO_TYPE_DOT',['../effectgizmo_8h.html#ae2917dc722c1d3959593328ee4a5a31faead2984293434207d89017f9f0bb2175',1,'effectgizmo.h']]], - ['gizmo_5ftype_5fpoly',['GIZMO_TYPE_POLY',['../effectgizmo_8h.html#ae2917dc722c1d3959593328ee4a5a31fa7818309fded099ac6e5b1bd29c841581',1,'effectgizmo.h']]], - ['gizmo_5ftype_5ftarget',['GIZMO_TYPE_TARGET',['../effectgizmo_8h.html#ae2917dc722c1d3959593328ee4a5a31fa789d4f98fac612cc98b522b94ac012d7',1,'effectgizmo.h']]], - ['gizmo_5fworld_5fto_5fscreen',['gizmo_world_to_screen',['../class_effect.html#a3ad209135a8f446f1ecbbfe51a4c7a5e',1,'Effect']]], - ['gizmo_5fx_5fmvmt',['gizmo_x_mvmt',['../class_viewer_widget.html#a4ed74407a84f55ce439928ddf9a6a017',1,'ViewerWidget']]], - ['gizmo_5fy_5fmvmt',['gizmo_y_mvmt',['../class_viewer_widget.html#a4c3908521513808baf66b2c9c9ec6336',1,'ViewerWidget']]], - ['gizmos',['gizmos',['../class_effect.html#afe448763f4a103ecd8cebc5270810766',1,'Effect::gizmos()'],['../struct_compose_sequence_params.html#a69f91937c67d10c8327a5b908911557e',1,'ComposeSequenceParams::gizmos()'],['../class_render_thread.html#a33f1386c8fc4e41221807bd80ae8d2ff',1,'RenderThread::gizmos()'],['../class_viewer_widget.html#afa5e5992a06df98145d1690916a5133f',1,'ViewerWidget::gizmos()']]], - ['gizmotype',['GizmoType',['../effectgizmo_8h.html#ae2917dc722c1d3959593328ee4a5a31f',1,'effectgizmo.h']]], - ['global',['Global',['../namespaceolive.html#a6258fb86e928c438816911faa7af5d8e',1,'olive']]], - ['glslprogram',['glslProgram',['../class_effect.html#afad1a793aebc117f8e7ca44e93fb0f62',1,'Effect']]], - ['gltexturecoords',['GLTextureCoords',['../struct_g_l_texture_coords.html',1,'']]], - ['go_5fto_5fend',['go_to_end',['../class_viewer.html#a110edf6bb6d3b2b5355d1958820cf35e',1,'Viewer::go_to_end()'],['../class_focus_filter.html#a508677d87d24280a9ed5012bfdb81d87',1,'FocusFilter::go_to_end()']]], - ['go_5fto_5fend_5fframe',['go_to_end_frame',['../class_viewer.html#a791d5278de70a08d4e9f1d4eb7a0d139',1,'Viewer']]], - ['go_5fto_5fin',['go_to_in',['../class_viewer.html#a9c29313fe9b35e35d94f35f3a8755434',1,'Viewer::go_to_in()'],['../class_focus_filter.html#a095e3fb9f4f9258ff1d576f0172653d6',1,'FocusFilter::go_to_in()']]], - ['go_5fto_5fout',['go_to_out',['../class_viewer.html#ada83d1036da966e0c11e9145c7086ac5',1,'Viewer::go_to_out()'],['../class_focus_filter.html#ad1433575afa3713fecae28ea2a00a026',1,'FocusFilter::go_to_out()']]], - ['go_5fto_5fstart',['go_to_start',['../class_viewer.html#a5cf60e85de31960a39a8ca9b955e928f',1,'Viewer::go_to_start()'],['../class_focus_filter.html#a8fb9425128c635829d6103f7478d8e51',1,'FocusFilter::go_to_start()']]], - ['go_5fto_5fstart_5fbutton',['go_to_start_button',['../class_viewer.html#af2a72758f6a4cefd86f8df4bc837de91',1,'Viewer']]], - ['go_5fup_5fdir',['go_up_dir',['../class_project.html#a68001732627bec2698cabad5db348068',1,'Project']]], - ['goto_5fnext_5fkey',['goto_next_key',['../class_effect_row.html#ab8c16a92d4c87a3528be78d876dd6c38',1,'EffectRow::goto_next_key()'],['../class_keyframe_navigator.html#a809cc20f212bb5473163e6e94d63f29b',1,'KeyframeNavigator::goto_next_key()']]], - ['goto_5fprevious_5fkey',['goto_previous_key',['../class_effect_row.html#a0170f1a13fb60175c908216caeec6294',1,'EffectRow::goto_previous_key()'],['../class_keyframe_navigator.html#aadf5cacf718daf1a0b3c51ceee5b0143',1,'KeyframeNavigator::goto_previous_key()']]], - ['gradient',['gradient',['../class_audio_monitor.html#a3dee10e54e0d7a598f046f526636487d',1,'AudioMonitor']]], - ['grapheditor',['GraphEditor',['../class_graph_editor.html',1,'GraphEditor'],['../class_graph_editor.html#a5b7b7727a48a3ab729fa86cd5e25f3ac',1,'GraphEditor::GraphEditor()']]], - ['grapheditor_2ecpp',['grapheditor.cpp',['../grapheditor_8cpp.html',1,'']]], - ['grapheditor_2eh',['grapheditor.h',['../grapheditor_8h.html',1,'']]], - ['graphview',['GraphView',['../class_graph_view.html',1,'GraphView'],['../class_graph_view.html#a1c0d0e1a563e35dbb0fe59d1ea5ff032',1,'GraphView::GraphView()']]], - ['graphview_2ecpp',['graphview.cpp',['../graphview_8cpp.html',1,'']]], - ['graphview_2eh',['graphview.h',['../graphview_8h.html',1,'']]], - ['grid_5fsize',['grid_size',['../struct_g_l_texture_coords.html#a089ca47df9a7b680c7549c18e36f1a8a',1,'GLTextureCoords']]] -]; diff --git a/docs/html/search/all_8.html b/docs/html/search/all_8.html deleted file mode 100644 index 1e8fb9ceb..000000000 --- a/docs/html/search/all_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_8.js b/docs/html/search/all_8.js deleted file mode 100644 index f012fff0b..000000000 --- a/docs/html/search/all_8.js +++ /dev/null @@ -1,30 +0,0 @@ -var searchData= -[ - ['halign_5ffield',['halign_field',['../class_text_effect.html#a55d7db0cb89cd1648674656b378b6fe5',1,'TextEffect']]], - ['hand_5fmoving',['hand_moving',['../class_timeline.html#a48e210028ee53fcda04f98d18f8cbac4',1,'Timeline']]], - ['hand_5ftool_5faction',['hand_tool_action',['../class_main_window.html#a0301114e4970a3fa036da283097242ff',1,'MainWindow']]], - ['handle',['handle',['../class_frei0r_effect.html#a56e667806ecd73c92a7c7dc11b0200d8',1,'Frei0rEffect']]], - ['handle_5ffield',['handle_field',['../class_graph_view.html#a7bb650172fc7373371bc3f1ef3c3948b',1,'GraphView']]], - ['handle_5findex',['handle_index',['../class_graph_view.html#aaa9a2bc0d30899fb10e62c68de32d3fe',1,'GraphView']]], - ['handle_5fmedia',['handle_media',['../playback_8h.html#a283cff0d05fa9d9399d03d22e49c330c',1,'playback.h']]], - ['hasheightforwidth',['hasHeightForWidth',['../class_flow_layout.html#a224599955b4bc40e73b615236d9803ee',1,'FlowLayout']]], - ['haskeyframes',['hasKeyframes',['../class_effect_field.html#a1acf588dc098072f13ab9baf7f1e9b06',1,'EffectField']]], - ['hboxlayout',['hboxLayout',['../class_load_dialog.html#a28314038d7881a9232a8dd3805132de0',1,'LoadDialog']]], - ['header',['header',['../class_effects_area.html#a3b968ab0b5a8ab2db05178a6a3a7adaa',1,'EffectsArea::header()'],['../class_graph_editor.html#a3f492170b1ec1641a59b2c483c2333cf',1,'GraphEditor::header()'],['../class_collapsible_widget.html#a2aca269c7e229daaadeb9755fd213ffa',1,'CollapsibleWidget::header()'],['../class_keyframe_view.html#a4b09b66e26c6f9f8cd3bd256e20ae5be',1,'KeyframeView::header()']]], - ['header_5fclick',['header_click',['../class_collapsible_widget.html#a85a5e42da0a237e13477a326d1765c0a',1,'CollapsibleWidget']]], - ['headerdata',['headerData',['../class_project_model.html#aca17cabb0503fd4a7a86b1f9ffaa0a32',1,'ProjectModel']]], - ['headers',['headers',['../class_effect_controls.html#a952c3f9715b8eaa83b6dd4f280e2fe95',1,'EffectControls::headers()'],['../class_timeline.html#ae9b0f794319dd470d69ce7480dd9fc58',1,'Timeline::headers()'],['../class_viewer.html#ab1b69ea3214175db57fda8d360032ff8',1,'Viewer::headers()']]], - ['height',['height',['../class_sequence.html#af32151d092739f4308878e6348d9c50c',1,'Sequence::height()'],['../class_edit_sequence_command.html#ac501f155e55d793a3c0001105ec90802',1,'EditSequenceCommand::height()'],['../struct_timeline_track_height.html#aaf6c6e866464cc530efa93f6a299a2e0',1,'TimelineTrackHeight::height()']]], - ['height_5factual',['height_actual',['../class_timeline_header.html#a6d262e4dbe3100fac3c2261537bef5be',1,'TimelineHeader']]], - ['height_5fnumeric',['height_numeric',['../class_new_sequence_dialog.html#ac044487189bb91dbb8c20b1c4d1b266d',1,'NewSequenceDialog']]], - ['heightforwidth',['heightForWidth',['../class_flow_layout.html#a119d89f83aa3f8ccb6e66ed1a125452e',1,'FlowLayout']]], - ['heightspinbox',['heightSpinbox',['../class_export_dialog.html#a258d867ee22db7dd7b2bd6c9f1d1069d',1,'ExportDialog']]], - ['hold_5fbutton',['hold_button',['../class_graph_editor.html#a64fc919e260867932a70b4b3ffba7c0f',1,'GraphEditor']]], - ['horiz_5fstart',['horiz_start',['../class_viewer_container.html#ac4d4b78900a53dda41045354c71f2caa',1,'ViewerContainer']]], - ['horizontal_5fbar',['horizontal_bar',['../class_viewer.html#a4707e465d87f0eb79debaac8a66491c7',1,'Viewer']]], - ['horizontal_5fscrollbar',['horizontal_scrollbar',['../class_viewer_container.html#a53c7f020a8e5bc26b2ef2a3c9da75a37',1,'ViewerContainer']]], - ['horizontalscrollbar',['horizontalScrollBar',['../class_effect_controls.html#a96d16ab8a61505c529e61c82a0c8a79f',1,'EffectControls::horizontalScrollBar()'],['../class_timeline.html#a90ab0a63353a2dfa8de4a02d48bffd5c',1,'Timeline::horizontalScrollBar()']]], - ['horizontalspacing',['horizontalSpacing',['../class_flow_layout.html#a05a9929bf2d7749c8d45afe1fc15b27e',1,'FlowLayout']]], - ['hostcallback',['hostCallback',['../vsthost_8cpp.html#a87dfcab8ca49850d9e250e7e8982a0cb',1,'vsthost.cpp']]], - ['hover_5ffocus',['hover_focus',['../struct_config.html#ab23fe6432757967edf8f7f2bb1e59bed',1,'Config']]] -]; diff --git a/docs/html/search/all_9.html b/docs/html/search/all_9.html deleted file mode 100644 index 27df366b2..000000000 --- a/docs/html/search/all_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_9.js b/docs/html/search/all_9.js deleted file mode 100644 index a2a9af611..000000000 --- a/docs/html/search/all_9.js +++ /dev/null @@ -1,74 +0,0 @@ -var searchData= -[ - ['icon',['icon',['../class_media.html#afb97392c9fec90745be81dbe94ce8b11',1,'Media']]], - ['icon_5ftype_5faudio',['ICON_TYPE_AUDIO',['../mediaiconservice_8h.html#a0ad09eae84a6167ac8765174aca532f7a0c2ab7ce14d254eb699dcc73c20c6979',1,'mediaiconservice.h']]], - ['icon_5ftype_5ferror',['ICON_TYPE_ERROR',['../mediaiconservice_8h.html#a0ad09eae84a6167ac8765174aca532f7a7637ae4ed54fc4f21bd1ea0cebc69f1c',1,'mediaiconservice.h']]], - ['icon_5ftype_5fimage',['ICON_TYPE_IMAGE',['../mediaiconservice_8h.html#a0ad09eae84a6167ac8765174aca532f7a427897eb167ea1f6394ba93adf09d242',1,'mediaiconservice.h']]], - ['icon_5ftype_5floading',['ICON_TYPE_LOADING',['../mediaiconservice_8h.html#a0ad09eae84a6167ac8765174aca532f7a0280621c3df43ce4fe156da0cede013a',1,'mediaiconservice.h']]], - ['icon_5ftype_5fvideo',['ICON_TYPE_VIDEO',['../mediaiconservice_8h.html#a0ad09eae84a6167ac8765174aca532f7a358d34920b547eeb9828128a05d39de5',1,'mediaiconservice.h']]], - ['icon_5fview',['icon_view',['../class_project.html#ad82efa22120e9a6a17dede23d4202c85',1,'Project']]], - ['icon_5fview_5fcontainer',['icon_view_container',['../class_project.html#ac06e07303cd68efd26ce9befeced8658',1,'Project']]], - ['iconchanged',['IconChanged',['../class_media_icon_service.html#aaf99ecf173a68397bac0b4fc2038fd3e',1,'MediaIconService']]], - ['icontype',['IconType',['../mediaiconservice_8h.html#a0ad09eae84a6167ac8765174aca532f7',1,'mediaiconservice.h']]], - ['id',['id',['../class_effect.html#a524b94918381a664531d2686cd743fad',1,'Effect::id()'],['../class_effect_field.html#a8b323be845bc6fecc22f112f5d34a820',1,'EffectField::id()']]], - ['ignore',['ignore',['../class_ripple_action.html#a0efc9122c5de304d7168a424af185076',1,'RippleAction']]], - ['ignore_5freverse',['ignore_reverse',['../class_clip.html#ad9a76508a47639c8504b60328ac08b7f',1,'Clip']]], - ['img',['img',['../class_q_painter_wrapper.html#a3b3a47ba9124ff7d7487a0a110a15940',1,'QPainterWrapper::img()'],['../class_effect.html#a132f7ac32faeda01f27f5bdb2f81685c',1,'Effect::img()']]], - ['img_5fseq_5fformats',['img_seq_formats',['../struct_config.html#a6b8f08f523ab1f131f30f04638483946',1,'Config']]], - ['imgseqformatedit',['imgSeqFormatEdit',['../class_preferences_dialog.html#aa77da80b883001e26737aa5b076d28a2',1,'PreferencesDialog']]], - ['import_5fdialog',['import_dialog',['../class_project.html#a5f39f95d96f82f1a034f0220e804d3e8',1,'Project']]], - ['importing',['importing',['../class_timeline.html#a9710142e063bc614fff1fd4bacbd20e5',1,'Timeline']]], - ['importing_5ffiles',['importing_files',['../class_timeline.html#a04afd33fc672a07a6b0ddd7c66d71237',1,'Timeline']]], - ['in',['in',['../struct_ghost.html#ab50a74947be9f8d84fddef0c0d98af94',1,'Ghost::in()'],['../struct_footage.html#a91b5d5c3605a301997618f4d9d9607ef',1,'Footage::in()'],['../struct_selection.html#aaa9aa2981d52210b373d4c528c68af56',1,'Selection::in()']]], - ['in_5fvisible',['in_visible',['../class_timeline_header.html#a0b09052c1315dd200f5160d286afc785',1,'TimelineHeader']]], - ['increase_5fspeed',['increase_speed',['../class_viewer.html#ae6e6ca091f7c80d5e9ea3e2c01185538',1,'Viewer::increase_speed()'],['../class_focus_filter.html#ab535fc8179e1eb6221fb8951ec0b8771',1,'FocusFilter::increase_speed()']]], - ['increasetrackheight',['IncreaseTrackHeight',['../class_timeline.html#a79bd245c8e9e508dda6161b158e22d0a',1,'Timeline']]], - ['index',['index',['../class_delete_clip_action.html#a0ea7d52a0e48ecf6411c79269edba3f9',1,'DeleteClipAction::index()'],['../class_keyframe_delete.html#aaa92bbac2a58de7fee0f92dea5849113',1,'KeyframeDelete::index()'],['../class_keyframe_field_set.html#a7a1038d64748eb2c31d8810c74d46ba7',1,'KeyframeFieldSet::index()'],['../class_add_marker_action.html#a1d55e6d8097677137c91cf8dded9f889',1,'AddMarkerAction::index()'],['../class_combo_box_ex.html#a98133a6409fb158eba991302c42c1918',1,'ComboBoxEx::index()'],['../struct_timeline_track_height.html#a89b53d1297cd42cf56e13727d74ffa49',1,'TimelineTrackHeight::index()'],['../class_project_model.html#a19acdb7f49a75ee29337e9fe7dea6692',1,'ProjectModel::index()']]], - ['index_5fchanged',['index_changed',['../class_combo_box_ex.html#ad5b582a2cf96b8a27a32ec8c4b8bcdc4',1,'ComboBoxEx']]], - ['infinite_5flength',['infinite_length',['../struct_footage_stream.html#ae4803befc10a15124279c2ba0c253ec6',1,'FootageStream']]], - ['init_5faudio',['init_audio',['../audio_8cpp.html#a72aef54bbf8430ce6d860206deb2d1ce',1,'init_audio(): audio.cpp'],['../audio_8h.html#a72aef54bbf8430ce6d860206deb2d1ce',1,'init_audio(): audio.cpp']]], - ['init_5fcustom_5fcursors',['init_custom_cursors',['../cursors_8cpp.html#aaeae35c2198aeefae822e822fb121be0',1,'init_custom_cursors(): cursors.cpp'],['../cursors_8h.html#aaeae35c2198aeefae822e822fb121be0',1,'init_custom_cursors(): cursors.cpp']]], - ['init_5feffects',['init_effects',['../effectloaders_8cpp.html#a055b9dba7b7bd22cff1ef3f5760a1d76',1,'init_effects(): effectloaders.cpp'],['../effectloaders_8h.html#a055b9dba7b7bd22cff1ef3f5760a1d76',1,'init_effects(): effectloaders.cpp']]], - ['init_5fghosts',['init_ghosts',['../class_timeline_widget.html#ad5f36712d722acdfecd87070f8616b2a',1,'TimelineWidget']]], - ['initializegl',['initializeGL',['../class_viewer_widget.html#af156ccb282871735213f25c0ac1bc8a2',1,'ViewerWidget']]], - ['inputs',['inputs',['../class_v_s_t_host.html#acbb0a1951ebede6eeb91bcc6e3d3d537',1,'VSTHost']]], - ['insert_5fclips',['insert_clips',['../timelinewidget_8cpp.html#a749e6fd7d6e2bd18b98dd2f75cfec492',1,'timelinewidget.cpp']]], - ['instance',['instance',['../class_frei0r_effect.html#a066a97f5034634d5e326c546ec7b02aa',1,'Frei0rEffect']]], - ['int32_5fto_5fchar_5farray',['int32_to_char_array',['../audio_8cpp.html#a08d7a6d9be24506e146d92ffc2f37a9d',1,'audio.cpp']]], - ['intensity_5fval',['intensity_val',['../class_shake_effect.html#a0af1bc7cb99880e48f44af3cec564b06',1,'ShakeEffect']]], - ['interlacing_5fbox',['interlacing_box',['../class_media_properties_dialog.html#aaa18f018e779ffbc707920d618fbdf14',1,'MediaPropertiesDialog']]], - ['interlacing_5fcombobox',['interlacing_combobox',['../class_new_sequence_dialog.html#a2a4aa6ee5a481bce75c88eeeedcec24e',1,'NewSequenceDialog']]], - ['internal',['internal',['../struct_effect_meta.html#a9339316501b3c5c5ea5282dc588ede29',1,'EffectMeta']]], - ['internal_5fproj_5fdir',['internal_proj_dir',['../class_load_thread.html#a28a4f18f377ef39f4c424eeff8d08bc4',1,'LoadThread']]], - ['internal_5fproj_5furl',['internal_proj_url',['../class_load_thread.html#ac31edf5ecbac0d86689c9015190093ec',1,'LoadThread']]], - ['internal_5fvalue',['internal_value',['../class_label_slider.html#a3902b8d451895bfe2b8a47a5aee8e0ea',1,'LabelSlider']]], - ['interrupt',['interrupt',['../class_cacher.html#a5751327ff0ac50991f75d1cb977c1819',1,'Cacher']]], - ['invalid',['invalid',['../struct_footage.html#ae6b00c3ad5dc1ee51c4ed1ac76150095',1,'Footage']]], - ['is_5faudio_5fdevice_5fset',['is_audio_device_set',['../audio_8cpp.html#a0da35c7cdb375c5f3542243177b12ccd',1,'is_audio_device_set(): audio.cpp'],['../audio_8h.html#a0da35c7cdb375c5f3542243177b12ccd',1,'is_audio_device_set(): audio.cpp']]], - ['is_5fclip_5factive',['is_clip_active',['../playback_8cpp.html#a71177ac900fef804a92813d5fb59074d',1,'is_clip_active(ClipPtr c, long playhead): playback.cpp'],['../playback_8h.html#a71177ac900fef804a92813d5fb59074d',1,'is_clip_active(ClipPtr c, long playhead): playback.cpp']]], - ['is_5fclip_5fselected',['is_clip_selected',['../timeline_8cpp.html#a902b3709c48067112511dc4be88d7a18',1,'is_clip_selected(ClipPtr clip, bool containing): timeline.cpp'],['../timeline_8h.html#a902b3709c48067112511dc4be88d7a18',1,'is_clip_selected(ClipPtr clip, bool containing): timeline.cpp']]], - ['is_5fdragging',['is_dragging',['../class_label_slider.html#ac51e4b18b54b182a6cb741093559b13e',1,'LabelSlider']]], - ['is_5felement',['is_element',['../class_load_thread.html#a74c6f17c568ad6d314b9304227ac8a71',1,'LoadThread']]], - ['is_5fenabled',['is_enabled',['../class_effect.html#a5229fedfc15287cca2e98ae538298343',1,'Effect::is_enabled()'],['../class_effect_field.html#a7657886255bc3ab1ad93d1c83d6dcbe7',1,'EffectField::is_enabled()']]], - ['is_5fexpanded',['is_expanded',['../class_collapsible_widget.html#a793f3f0fc44b7454bd3c619b718532c6',1,'CollapsibleWidget']]], - ['is_5ffocused',['is_focused',['../class_effect_controls.html#af5f2351e61f6dba448580d298ae818e5',1,'EffectControls::is_focused()'],['../class_project.html#ab4e5ac1c0b7117eba75ef152553ac85b',1,'Project::is_focused()'],['../class_viewer.html#a6ed173fb01f60faff90c53d9460dfc09',1,'Viewer::is_focused()'],['../class_collapsible_widget.html#a21a1f3f475ba63cb7edf8ed4805e9397',1,'CollapsibleWidget::is_focused()']]], - ['is_5fglsl_5flinked',['is_glsl_linked',['../class_effect.html#a02ecf4b85463b385d395cf7c4af43b26',1,'Effect']]], - ['is_5fmain_5fsequence',['is_main_sequence',['../class_viewer.html#a82be243ab98ebef0420bc53bd5307119',1,'Viewer']]], - ['is_5fopen',['is_open',['../class_effect.html#a987ccfac600abd4f1814f3b01ec15758',1,'Effect']]], - ['is_5frecording_5fcued',['is_recording_cued',['../class_viewer.html#a79cec34a6fb704ba9861cb89602ca7ee',1,'Viewer']]], - ['is_5fresizing',['is_resizing',['../class_resizable_scroll_bar.html#a50ead4a204b5f07359f4a38440d406f1',1,'ResizableScrollBar']]], - ['is_5fset',['is_set',['../class_label_slider.html#ac446ce259367ff1159935f812dd73f08',1,'LabelSlider']]], - ['is_5ftrack_5fvisible',['is_track_visible',['../class_timeline_widget.html#a717d7d58931d7f87417a3c5e1269f362',1,'TimelineWidget']]], - ['iskeyframing',['isKeyframing',['../class_effect_row.html#a6aebb45349b8306c06622bce30d864b9',1,'EffectRow']]], - ['isopen',['isOpen',['../class_effect.html#a8349c3af206c1d8784c06be41bf7cdba',1,'Effect']]], - ['issue_5ftemplate_2emd',['ISSUE_TEMPLATE.md',['../_i_s_s_u_e___t_e_m_p_l_a_t_e_8md.html',1,'']]], - ['item',['item',['../class_media_properties_dialog.html#a95db38981b6348e1e026558f6dffc5d0',1,'MediaPropertiesDialog::item()'],['../class_add_media_command.html#aa8583aa563db0736a8edfe3249e6f19b',1,'AddMediaCommand::item()'],['../class_delete_media_command.html#a296b5ab303520bfd5d68177118b36ac1',1,'DeleteMediaCommand::item()'],['../class_replace_media_command.html#a5a081577222b52fa1aea75a52b5d39ac',1,'ReplaceMediaCommand::item()'],['../class_media_rename.html#a2f08c9451dedf768f8b9c726694806c0',1,'MediaRename::item()'],['../class_edit_sequence_command.html#ab818c3995baff08fbc7505719d44bc72',1,'EditSequenceCommand::item()'],['../class_update_footage_tooltip.html#acce8f3271c5253a57539f4bfda188100',1,'UpdateFootageTooltip::item()']]], - ['item_5fclick',['item_click',['../class_sources_common.html#ace85d0d8857383b705f211c0b4dcbc81',1,'SourcesCommon::item_click()'],['../class_source_icon_view.html#a357cb12a6a46cfff3e2b88da5e4cf6a7',1,'SourceIconView::item_click()'],['../class_source_table.html#a0a5d912e8e12a5d611908869825dce97',1,'SourceTable::item_click()']]], - ['item_5frenamed',['item_renamed',['../class_sources_common.html#a745f1f0733cfeefbd073078e47841ddd',1,'SourcesCommon']]], - ['item_5fto_5fmedia',['item_to_media',['../class_project.html#ada20964fba08730fc1fddcc8fff82b2e',1,'Project']]], - ['itemat',['itemAt',['../class_flow_layout.html#a14c3661044dd9b97ef0c0a34d0692ce4',1,'FlowLayout']]], - ['itemlist',['itemList',['../class_flow_layout.html#ac0439e82402e53445451edfece8a499d',1,'FlowLayout']]], - ['items',['items',['../class_media_move.html#af7ae3b41eebe3c25edf218b3793a312e',1,'MediaMove']]], - ['iterations',['iterations',['../class_effect.html#a510515ff20c81c50829f8718da131824',1,'Effect']]], - ['issue_5ftemplate',['ISSUE_TEMPLATE',['../md__i_s_s_u_e__t_e_m_p_l_a_t_e.html',1,'']]] -]; diff --git a/docs/html/search/all_a.html b/docs/html/search/all_a.html deleted file mode 100644 index 63f9254d8..000000000 --- a/docs/html/search/all_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_a.js b/docs/html/search/all_a.js deleted file mode 100644 index e519a56db..000000000 --- a/docs/html/search/all_a.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['just_5fmade_5funsafe_5fkeyframe',['just_made_unsafe_keyframe',['../class_effect_row.html#a8178f392846ed2176008557ba9fe1717',1,'EffectRow']]], - ['just_5fplayed',['just_played',['../class_viewer.html#a899fdf38b570afc7b3fea616f12d99c7',1,'Viewer']]] -]; diff --git a/docs/html/search/all_b.html b/docs/html/search/all_b.html deleted file mode 100644 index 44ae3e475..000000000 --- a/docs/html/search/all_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_b.js b/docs/html/search/all_b.js deleted file mode 100644 index 0d1d1a895..000000000 --- a/docs/html/search/all_b.js +++ /dev/null @@ -1,99 +0,0 @@ -var searchData= -[ - ['kbd_5fshortcut_5fprocessor',['kbd_shortcut_processor',['../mainwindow_8cpp.html#aed016627ec8d90709938653928e8fa43',1,'mainwindow.cpp']]], - ['kbezierhandlenone',['kBezierHandleNone',['../graphview_8cpp.html#ac2e45fb21422a3f5749e6a00bd04e67b',1,'graphview.cpp']]], - ['kbezierhandlepost',['kBezierHandlePost',['../graphview_8cpp.html#aa75a347f292a11f28e6c820378b537e6',1,'graphview.cpp']]], - ['kbezierhandlepre',['kBezierHandlePre',['../graphview_8cpp.html#aa38760ace6329f03b5aa3671d8f4c7bd',1,'graphview.cpp']]], - ['kbezierhandlesize',['kBezierHandleSize',['../graphview_8cpp.html#a9c0dd6c0c8192d391ff0a6f43c62a7d0',1,'graphview.cpp']]], - ['kbezierlinesize',['kBezierLineSize',['../graphview_8cpp.html#aaf784838e46dce0366bf82802898526b',1,'graphview.cpp']]], - ['kcliptextpadding',['kClipTextPadding',['../namespaceolive_1_1timeline.html#a018939ee4aed8cd79110affd0bb8a821',1,'olive::timeline']]], - ['keffectmagic',['kEffectMagic',['../vestige_8h.html#aa5b816fd160e033988f3adb121be60a9',1,'vestige.h']]], - ['key',['key',['../class_keyframe_field_set.html#a50559491e70f5bd21c2515f112e0cd58',1,'KeyframeFieldSet']]], - ['key_5faddremove',['key_addremove',['../class_keyframe_navigator.html#a1ef7e74af70902b268045c4b290ec251',1,'KeyframeNavigator']]], - ['key_5fcontrols',['key_controls',['../class_keyframe_navigator.html#a1729b7d7471c988150311e02d828cc54',1,'KeyframeNavigator']]], - ['key_5fis_5fnew',['key_is_new',['../class_effect_row.html#a1626f35d0156a26903470b4f39e90f26',1,'EffectRow']]], - ['key_5fshortcut_5factions',['key_shortcut_actions',['../class_preferences_dialog.html#a96ad0ef64a2209f4dbbbf6e44c5ff805',1,'PreferencesDialog']]], - ['key_5fshortcut_5ffields',['key_shortcut_fields',['../class_preferences_dialog.html#a6cc911c1a16d269188a84a55a4b0a426',1,'PreferencesDialog']]], - ['key_5fshortcut_5fitems',['key_shortcut_items',['../class_preferences_dialog.html#a35a96033cd717d5942f4ea0fc6e8084b',1,'PreferencesDialog']]], - ['keyboard_5ftree',['keyboard_tree',['../class_preferences_dialog.html#a110da78c762e5d65b090eb226ccd74c8',1,'PreferencesDialog']]], - ['keyframe_2ecpp',['keyframe.cpp',['../keyframe_8cpp.html',1,'']]], - ['keyframe_2eh',['keyframe.h',['../keyframe_8h.html',1,'']]], - ['keyframe_5farea',['keyframe_area',['../class_effects_area.html#a3af210993dd65abffeaf0c71e3b37641',1,'EffectsArea']]], - ['keyframe_5fcolor',['KEYFRAME_COLOR',['../keyframedrawing_8h.html#a5f0279e662cd4582c9d6e1bd17894574',1,'keyframedrawing.h']]], - ['keyframe_5fenable',['keyframe_enable',['../class_keyframe_navigator.html#ad5c3dac90dfb06471acbf6a814eebf07',1,'KeyframeNavigator']]], - ['keyframe_5fenabled_5fchanged',['keyframe_enabled_changed',['../class_keyframe_navigator.html#a472dfe73356e902dbb318fdad35ac400',1,'KeyframeNavigator']]], - ['keyframe_5ffocus',['keyframe_focus',['../class_effect_controls.html#acaa48f97c5a24dd5fb82fed178baf073',1,'EffectControls']]], - ['keyframe_5fnav',['keyframe_nav',['../class_graph_editor.html#ae090721754a6be290cc22059dc2570ed',1,'GraphEditor::keyframe_nav()'],['../class_effect_row.html#ad76f100fb7bc5a530bb677928f2ed831',1,'EffectRow::keyframe_nav()']]], - ['keyframe_5fpoint_5fcount',['KEYFRAME_POINT_COUNT',['../keyframedrawing_8cpp.html#a5215f4ffcb3d7d84d4e83206f56fac3b',1,'keyframedrawing.cpp']]], - ['keyframe_5fsize',['KEYFRAME_SIZE',['../keyframedrawing_8h.html#a89ff4de94e57c1ba874f8ad53724932f',1,'keyframedrawing.h']]], - ['keyframe_5fui_5fenabled',['keyframe_ui_enabled',['../class_keyframe_navigator.html#afeb176c4568376e451c2598dacec05c4',1,'KeyframeNavigator']]], - ['keyframedelete',['KeyframeDelete',['../class_keyframe_delete.html',1,'KeyframeDelete'],['../class_keyframe_delete.html#a7956fc713e4679d88939e80d50719642',1,'KeyframeDelete::KeyframeDelete()']]], - ['keyframedrawing_2ecpp',['keyframedrawing.cpp',['../keyframedrawing_8cpp.html',1,'']]], - ['keyframedrawing_2eh',['keyframedrawing.h',['../keyframedrawing_8h.html',1,'']]], - ['keyframefieldset',['KeyframeFieldSet',['../class_keyframe_field_set.html',1,'KeyframeFieldSet'],['../class_keyframe_field_set.html#a9ef23fc772cad4b5d159dae28070a81d',1,'KeyframeFieldSet::KeyframeFieldSet()']]], - ['keyframeisselected',['keyframeIsSelected',['../class_keyframe_view.html#a618edbdfa239d1eb1727b56f46d3349d',1,'KeyframeView']]], - ['keyframenavigator',['KeyframeNavigator',['../class_keyframe_navigator.html',1,'KeyframeNavigator'],['../class_keyframe_navigator.html#a10983417b422bc8238eaa0c7b41097d8',1,'KeyframeNavigator::KeyframeNavigator()']]], - ['keyframenavigator_2ecpp',['keyframenavigator.cpp',['../keyframenavigator_8cpp.html',1,'']]], - ['keyframenavigator_2eh',['keyframenavigator.h',['../keyframenavigator_8h.html',1,'']]], - ['keyframes',['keyframes',['../class_effect_field.html#a0436bcc9fc31223b18cce7ff1ffb85a0',1,'EffectField']]], - ['keyframeview',['KeyframeView',['../class_keyframe_view.html',1,'KeyframeView'],['../class_effect_controls.html#ac47dfa376b7490a33f7e6b159e560866',1,'EffectControls::keyframeView()'],['../class_keyframe_view.html#a153615b0bcd09c8c0252e1527b667467',1,'KeyframeView::KeyframeView()']]], - ['keyframeview_2ecpp',['keyframeview.cpp',['../keyframeview_8cpp.html',1,'']]], - ['keyframeview_2eh',['keyframeview.h',['../keyframeview_8h.html',1,'']]], - ['keyframing',['keyframing',['../class_effect_row.html#ae3161119255e40c001aeb6ae1338f480',1,'EffectRow']]], - ['keypressevent',['keyPressEvent',['../class_action_search_entry.html#a7d89d69694d5c9eb7608fdaf48d8a925',1,'ActionSearchEntry::keyPressEvent()'],['../class_viewer_window.html#a3d42ad22507a3043c2e98a5073e39ff5',1,'ViewerWindow::keyPressEvent()']]], - ['keys_5fselected',['keys_selected',['../class_keyframe_view.html#a230df5925d3835b42aaf30e55cd9c8fc',1,'KeyframeView']]], - ['keysequenceeditor',['KeySequenceEditor',['../class_key_sequence_editor.html',1,'KeySequenceEditor'],['../class_key_sequence_editor.html#a2fbcc0c5879459862087ce3966d218c0',1,'KeySequenceEditor::KeySequenceEditor()']]], - ['kghostthickness',['kGhostThickness',['../namespaceolive_1_1timeline.html#a75e29bb3be94122a7c203f41e9145d87',1,'olive::timeline']]], - ['kgraphsize',['kGraphSize',['../graphview_8cpp.html#a0140109012cdb85c4db0ddcf0b671774',1,'graphview.cpp']]], - ['kgraphzoomspeed',['kGraphZoomSpeed',['../graphview_8cpp.html#a3624238e903763f91d6472c6e3d7e8bb',1,'graphview.cpp']]], - ['kminimumsaveversion',['kMinimumSaveVersion',['../namespaceolive.html#af7f5b251a66624a3ffd44da298ee0c03',1,'olive']]], - ['kplugcateganalysis',['kPlugCategAnalysis',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca33016aaefb7b6266b64b2acc6fe1a34b',1,'vestige.h']]], - ['kplugcategeffect',['kPlugCategEffect',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06ccad31c1e5f938ce881dc149ac8c7f5d0e1',1,'vestige.h']]], - ['kplugcateggenerator',['kPlugCategGenerator',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca1a7eea5992983435ec8eea75ff64852e',1,'vestige.h']]], - ['kplugcategmastering',['kPlugCategMastering',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca94fd16a74e18d9d47203f6a479fc1381',1,'vestige.h']]], - ['kplugcategmaxcount',['kPlugCategMaxCount',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca083d98d298ea69d7b4ec6d5f260f2022',1,'vestige.h']]], - ['kplugcategofflineprocess',['kPlugCategOfflineProcess',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca3bfdcabf75000a902695888b25504882',1,'vestige.h']]], - ['kplugcategrestoration',['kPlugCategRestoration',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca32af4edcd7dd80d832dc1000831c92b0',1,'vestige.h']]], - ['kplugcategroomfx',['kPlugCategRoomFx',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca711e84a2175350783f1da5449bb3b397',1,'vestige.h']]], - ['kplugcategshell',['kPlugCategShell',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06ccaad2d74f002fcefac31672a74bd49ab9e',1,'vestige.h']]], - ['kplugcategspacializer',['kPlugCategSpacializer',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06ccadda0ce5dce0bad9d156fcf9c23b0fe09',1,'vestige.h']]], - ['kplugcategsynth',['kPlugCategSynth',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca2e4415d5c0fae72d77cbf4bd2f30b42a',1,'vestige.h']]], - ['kplugcategunknown',['kPlugCategUnknown',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca85df4fc40b4433f5bcba1d6d44dce8b7',1,'vestige.h']]], - ['kplugsurroundfx',['kPlugSurroundFx',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca32ea191b214606731d1d25419691a118',1,'vestige.h']]], - ['ksaveversion',['kSaveVersion',['../namespaceolive.html#ab504a2f41d94a9a692ca0631aff6c5c4',1,'olive']]], - ['kthrobberlimit',['kThrobberLimit',['../mediaiconservice_8cpp.html#a120443d1903f53a93b7f18cad83f4354',1,'mediaiconservice.cpp']]], - ['kthrobbersize',['kThrobberSize',['../mediaiconservice_8cpp.html#af7f9f47feb32a4c9fd3a5490007ece15',1,'mediaiconservice.cpp']]], - ['ktimecodedrop',['kTimecodeDrop',['../namespaceolive.html#a04099e7d8a7121ab6a67eb83dce7390fa9f83e5d8e3aad103cbb84f97188d4b71',1,'olive']]], - ['ktimecodeframes',['kTimecodeFrames',['../namespaceolive.html#a04099e7d8a7121ab6a67eb83dce7390fae1f4674654164515c045d17dead8f8cf',1,'olive']]], - ['ktimecodemilliseconds',['kTimecodeMilliseconds',['../namespaceolive.html#a04099e7d8a7121ab6a67eb83dce7390fa1fefdfdf357c4a5aef332bbbb0c01a95',1,'olive']]], - ['ktimecodenondrop',['kTimecodeNonDrop',['../namespaceolive.html#a04099e7d8a7121ab6a67eb83dce7390fa22694a17ce1c462c4eee8b52268fe2d0',1,'olive']]], - ['ktrackdefaultheight',['kTrackDefaultHeight',['../namespaceolive_1_1timeline.html#a61b09a8fcfecf4b5671654f13bcd6ee1',1,'olive::timeline']]], - ['ktrackheightincrement',['kTrackHeightIncrement',['../namespaceolive_1_1timeline.html#ad45a5b4b59af16681ff136dc5f1e6f70',1,'olive::timeline']]], - ['ktrackminheight',['kTrackMinHeight',['../namespaceolive_1_1timeline.html#a6a75ff5b9ba2681953ea69fb5e2c9333',1,'olive::timeline']]], - ['ktransitionclosing',['kTransitionClosing',['../transition_8h.html#a4e38d9519e74e10eccdfda5c5b92b283a8c3f4c1f057a4f2f36b3c3140fc35d0d',1,'transition.h']]], - ['ktransitionnone',['kTransitionNone',['../transition_8h.html#a4e38d9519e74e10eccdfda5c5b92b283a6fcd5ebaa9b4cc1828a9246889a59055',1,'transition.h']]], - ['ktransitionopening',['kTransitionOpening',['../transition_8h.html#a4e38d9519e74e10eccdfda5c5b92b283a476b7d66f3eb54bc81eeddaef93f9b14',1,'transition.h']]], - ['kvstautomationreading',['kVstAutomationReading',['../vestige_8h.html#a1b1babd0d53c8bf27cbab61606144089',1,'vestige.h']]], - ['kvstautomationwriting',['kVstAutomationWriting',['../vestige_8h.html#a20adab1e8cb2f9512e90c2f3df88ad3f',1,'vestige.h']]], - ['kvstbarsvalid',['kVstBarsValid',['../vestige_8h.html#ae2cad3fd0989f1e53e36c88215b7fa51',1,'vestige.h']]], - ['kvstclockvalid',['kVstClockValid',['../vestige_8h.html#a2ba7276f8c9b779c610ec4b6c999c1f7',1,'vestige.h']]], - ['kvstcycleposvalid',['kVstCyclePosValid',['../vestige_8h.html#a0d0160934dd128b638cc0f920c7bb86e',1,'vestige.h']]], - ['kvstlangenglish',['kVstLangEnglish',['../vestige_8h.html#a1c82713ef5fec1a93e070c3abe3716f0',1,'vestige.h']]], - ['kvstmiditype',['kVstMidiType',['../vestige_8h.html#a838f6cc8455532b3ab87a1c04e01e774',1,'vestige.h']]], - ['kvstnanosvalid',['kVstNanosValid',['../vestige_8h.html#a4378af5c8232418b1d603a0d9e7e71cf',1,'vestige.h']]], - ['kvstparametercanramp',['kVstParameterCanRamp',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921ab5860e99a55b088af49913c02d5fb027',1,'vestige.h']]], - ['kvstparameterisswitch',['kVstParameterIsSwitch',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921aaa662c1ada8b0b3580ff01222e60350c',1,'vestige.h']]], - ['kvstparametersupportsdisplaycategory',['kVstParameterSupportsDisplayCategory',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921a99a0b5722c93d88b2a4419ea2c8a4bab',1,'vestige.h']]], - ['kvstparametersupportsdisplayindex',['kVstParameterSupportsDisplayIndex',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921a8679f63830cbde4dd01c7c47f6a87af8',1,'vestige.h']]], - ['kvstparameterusesfloatstep',['kVstParameterUsesFloatStep',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921a38560559b64885437f5de82c4fd9caaa',1,'vestige.h']]], - ['kvstparameterusesintegerminmax',['kVstParameterUsesIntegerMinMax',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921a132d25d53ad9c51b6c73544272cbbb39',1,'vestige.h']]], - ['kvstparameterusesintstep',['kVstParameterUsesIntStep',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921a2e120964df0c1d8aa70e4c6a05d75704',1,'vestige.h']]], - ['kvstppqposvalid',['kVstPpqPosValid',['../vestige_8h.html#aa8d2ca7b6c49310d9c71802cec4d81e2',1,'vestige.h']]], - ['kvstsmptevalid',['kVstSmpteValid',['../vestige_8h.html#ac5206836cf83490a9a7478791e87241b',1,'vestige.h']]], - ['kvsttempovalid',['kVstTempoValid',['../vestige_8h.html#ad2dbe74ef294c5ea2d7f89f387b874bc',1,'vestige.h']]], - ['kvsttimesigvalid',['kVstTimeSigValid',['../vestige_8h.html#aa989b48b027988a4e53de4eb6f0f427a',1,'vestige.h']]], - ['kvsttransportchanged',['kVstTransportChanged',['../vestige_8h.html#a8919c7d71802d7a841586aa5a053e11a',1,'vestige.h']]], - ['kvsttransportcycleactive',['kVstTransportCycleActive',['../vestige_8h.html#ac411e5b50df2b32906fd0a99df8ef7b2',1,'vestige.h']]], - ['kvsttransportplaying',['kVstTransportPlaying',['../vestige_8h.html#ad8e1d332226ba381765e2aa0d5bdea74',1,'vestige.h']]], - ['kvsttransportrecording',['kVstTransportRecording',['../vestige_8h.html#a2a6fab77e221dce0839121bcaad857ff',1,'vestige.h']]] -]; diff --git a/docs/html/search/all_c.html b/docs/html/search/all_c.html deleted file mode 100644 index 3de15867d..000000000 --- a/docs/html/search/all_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_c.js b/docs/html/search/all_c.js deleted file mode 100644 index 85f3f8350..000000000 --- a/docs/html/search/all_c.js +++ /dev/null @@ -1,93 +0,0 @@ -var searchData= -[ - ['label',['label',['../struct___vst_parameter_properties.html#af76a18d1930585ce56e07eaf9fc07d0f',1,'_VstParameterProperties::label()'],['../class_effect_row.html#ab86a421237e1373969d4ef8246fa8dc9',1,'EffectRow::label()']]], - ['labelslider',['LabelSlider',['../class_label_slider.html',1,'LabelSlider'],['../class_label_slider.html#a2819a4462b0cbf0a3c47a35be6f21d04',1,'LabelSlider::LabelSlider()']]], - ['labelslider_2ecpp',['labelslider.cpp',['../labelslider_8cpp.html',1,'']]], - ['labelslider_2eh',['labelslider.h',['../labelslider_8h.html',1,'']]], - ['labelslider_5fdecibel',['LABELSLIDER_DECIBEL',['../labelslider_8h.html#ab14275d9db49f375fde27a63a0ae483ca42cda3e314ac834193013d7be4723805',1,'labelslider.h']]], - ['labelslider_5fframenumber',['LABELSLIDER_FRAMENUMBER',['../labelslider_8h.html#ab14275d9db49f375fde27a63a0ae483caaee485c4344724313ebad58c81279d8e',1,'labelslider.h']]], - ['labelslider_5fnormal',['LABELSLIDER_NORMAL',['../labelslider_8h.html#ab14275d9db49f375fde27a63a0ae483caa67714385566058d81ce36b37151c973',1,'labelslider.h']]], - ['labelslider_5fpercent',['LABELSLIDER_PERCENT',['../labelslider_8h.html#ab14275d9db49f375fde27a63a0ae483ca18d2a4f21bd7bfadfcaadca5209f4779',1,'labelslider.h']]], - ['labelsliderdisplaytype',['LabelSliderDisplayType',['../labelslider_8h.html#ab14275d9db49f375fde27a63a0ae483c',1,'labelslider.h']]], - ['language_5fcombobox',['language_combobox',['../class_preferences_dialog.html#aef26b251c4b4c1827501a0ae9182cf3b',1,'PreferencesDialog']]], - ['language_5ffile',['language_file',['../struct_config.html#a347b9eac28e05a0e07225db0fa4321af',1,'Config']]], - ['largestepfloat',['largeStepFloat',['../struct___vst_parameter_properties.html#a14b1e9c65642afb9eb3e53618fb934cc',1,'_VstParameterProperties']]], - ['largestepinteger',['largeStepInteger',['../struct___vst_parameter_properties.html#a43b69da8f7dfffe38ea56f04874ea8cf',1,'_VstParameterProperties']]], - ['last_5fframe_5fdiff',['last_frame_diff',['../class_keyframe_view.html#a39adc7efe27d9792e4ecbd65389dabbb',1,'KeyframeView']]], - ['last_5fimported_5fmedia',['last_imported_media',['../class_project.html#abc2506f836e37bd5a08ca51ddc42150f',1,'Project']]], - ['last_5finvalid_5fts',['last_invalid_ts',['../class_clip.html#ab0cb1184e8ce78a7b826cec89f9e8f0d',1,'Clip']]], - ['last_5fplayhead',['last_playhead',['../class_viewer.html#a3266568421841d68dd471589638cf209',1,'Viewer']]], - ['layout',['layout',['../class_collapsible_widget.html#ae26cd30a079dac0944eb4b24b561ff79',1,'CollapsibleWidget']]], - ['lblaudioeffects',['lblAudioEffects',['../class_effect_controls.html#a00453db28ec21feb143db2fc830f72e0',1,'EffectControls']]], - ['lblmultipleclipsselected',['lblMultipleClipsSelected',['../class_effect_controls.html#a519fc7297ae54a3f1081de1b7c54dc58',1,'EffectControls']]], - ['lblvideoeffects',['lblVideoEffects',['../class_effect_controls.html#a511407a6ad2128cef2df778af1b2def0',1,'EffectControls']]], - ['leaveevent',['leaveEvent',['../class_timeline_widget.html#a43a19e04d1d7d8e45d0b21cae5bfae5f',1,'TimelineWidget']]], - ['left',['left',['../struct_v_s_t_rect.html#ab314f1eed54b06b9c084b46a0efefcdf',1,'VSTRect']]], - ['left_5fcenter_5fgizmo',['left_center_gizmo',['../class_transform_effect.html#af30ffd32401d1af5efb876b3672c42fe',1,'TransformEffect']]], - ['left_5fkey_5fnav',['left_key_nav',['../class_keyframe_navigator.html#a3510ff40ffda7024f160a3e591e71d8d',1,'KeyframeNavigator']]], - ['length',['length',['../struct_footage.html#ae0a34023745033d51d1438ff82b83074',1,'Footage::length()'],['../class_transition.html#a6d5dd537463992ea8dc33b76773d3378',1,'Transition::length()'],['../class_ripple_action.html#ad65ddabeaa80b04d45fd108881a832d9',1,'RippleAction::length()']]], - ['length_5f',['length_',['../class_add_transition_command.html#a44b40757e44d30a5d246b6d39860281e',1,'AddTransitionCommand']]], - ['length_5ffield',['length_field',['../class_transition.html#a0936b8dfc5447528448c6174ed284108',1,'Transition']]], - ['lerp',['lerp',['../math_8cpp.html#ab4e8555208aaea8c4ebc24a218c8b49f',1,'lerp(int a, int b, double t): math.cpp'],['../math_8h.html#ab4e8555208aaea8c4ebc24a218c8b49f',1,'lerp(int a, int b, double t): math.cpp']]], - ['libfilter',['LibFilter',['../crossplatformlib_8cpp.html#abfec25acd9f7a0290a67b0d0b2c6c45d',1,'LibFilter(): crossplatformlib.cpp'],['../crossplatformlib_8h.html#abfec25acd9f7a0290a67b0d0b2c6c45d',1,'LibFilter(): crossplatformlib.cpp']]], - ['libload',['LibLoad',['../crossplatformlib_8cpp.html#a76f8961bc293d7d609f2c259606108b8',1,'LibLoad(const QString &filename): crossplatformlib.cpp'],['../crossplatformlib_8h.html#a76f8961bc293d7d609f2c259606108b8',1,'LibLoad(const QString &filename): crossplatformlib.cpp']]], - ['line',['line',['../class_collapsible_widget.html#ac7ced0001dc3e264fde583e15cf6cd0f',1,'CollapsibleWidget']]], - ['line_5fmin_5fpadding',['LINE_MIN_PADDING',['../timelineheader_8cpp.html#aca5e3fc94f60c86097bb8360a4b8bbfa',1,'timelineheader.cpp']]], - ['linear_5fbutton',['linear_button',['../class_graph_editor.html#aedf5ea4d14b90c388453ec3f16cd2892',1,'GraphEditor']]], - ['linearfadetransition',['LinearFadeTransition',['../class_linear_fade_transition.html',1,'LinearFadeTransition'],['../class_linear_fade_transition.html#af7edb7bba7d1d06ecc60f21de3560b0d',1,'LinearFadeTransition::LinearFadeTransition()']]], - ['linearfadetransition_2ecpp',['linearfadetransition.cpp',['../linearfadetransition_8cpp.html',1,'']]], - ['linearfadetransition_2eh',['linearfadetransition.h',['../linearfadetransition_8h.html',1,'']]], - ['link',['link',['../class_link_command.html#a51a29d98fb6a3574903564f030d3fbcc',1,'LinkCommand']]], - ['link_5foffset_5f',['link_offset_',['../class_add_clip_command.html#a770cb0554708c13d59c3f7898f16a6c3',1,'AddClipCommand']]], - ['linkclipindex',['linkClipIndex',['../class_delete_clip_action.html#a8326a1e8e9a4994b132f60e2a0f59da9',1,'DeleteClipAction']]], - ['linkcommand',['LinkCommand',['../class_link_command.html',1,'LinkCommand'],['../class_link_command.html#a110c49b196d80aa09f3f658c656baaac',1,'LinkCommand::LinkCommand()']]], - ['linked',['linked',['../class_clip.html#a7b0b8e8e44010e58f5df1313b7dfb2ec',1,'Clip']]], - ['linklinkindex',['linkLinkIndex',['../class_delete_clip_action.html#ae09ada78e73f720a25f85155c76cb4c0',1,'DeleteClipAction']]], - ['list_5fall_5fproject_5fsequences',['list_all_project_sequences',['../class_project.html#aec185625e5a91960f90187bb8e2964dd',1,'Project']]], - ['list_5fall_5fsequences_5fworker',['list_all_sequences_worker',['../class_project.html#a4d3c86c3f656179f0b2484b6f2874629',1,'Project']]], - ['list_5fwidget',['list_widget',['../class_action_search.html#a82f2b7a667a9095ecd97c2a4c241d4f3',1,'ActionSearch']]], - ['load',['load',['../class_void_effect.html#a4ecfec8a96b0611671266259c4cda45c',1,'VoidEffect::load()'],['../struct_config.html#a1450fefecd0ed85c87a789d46528e231',1,'Config::load()'],['../class_effect.html#a79f987c22eb3b63a259094c9fcf2a82c',1,'Effect::load()']]], - ['load_5fcss_5ffrom_5ffile',['load_css_from_file',['../class_main_window.html#a281ed536e019361da2b5a780dd48e6b2',1,'MainWindow']]], - ['load_5fcursor',['load_cursor',['../cursors_8cpp.html#ad8d4e47fea3b83d872bbd4c08d74f492',1,'cursors.cpp']]], - ['load_5fdata_5ffrom_5fstring',['load_data_from_string',['../effect_8cpp.html#a87ff9b748153586a2342425d3a16b4e5',1,'effect.cpp']]], - ['load_5feffect',['load_effect',['../class_load_thread.html#a2f7a453be74cfe3ef4165a15958c40ec',1,'LoadThread']]], - ['load_5feffects',['load_effects',['../class_effect_controls.html#a2d165d43fe58517939dc6ec459dc0e6a',1,'EffectControls']]], - ['load_5ffrei0r_5feffects',['load_frei0r_effects',['../effectloaders_8cpp.html#aaa8b05996b21c746b9c5c555170ea9a1',1,'effectloaders.cpp']]], - ['load_5ffrei0r_5feffects_5fworker',['load_frei0r_effects_worker',['../effectloaders_8cpp.html#af5af0a763f0ff36846b00c18c26ec93f',1,'effectloaders.cpp']]], - ['load_5ffrom_5ffile',['load_from_file',['../class_effect.html#ad9807aa25ea23a5e0bae0b74ce845432',1,'Effect']]], - ['load_5ffrom_5fstring',['load_from_string',['../class_effect.html#a8153a062ec90403fc9cf943169d994cb',1,'Effect']]], - ['load_5fid',['load_id',['../class_clip.html#a8daa3fd74b37f91a9648e267d2761cd9',1,'Clip']]], - ['load_5finternal_5feffects',['load_internal_effects',['../effectloaders_8cpp.html#aea8ee6c69ea0c16dd2a75229d2d6b2c5',1,'effectloaders.cpp']]], - ['load_5fkeyframes',['load_keyframes',['../class_effect_controls.html#aa4140ffba3695314359f08f4c11126ce',1,'EffectControls']]], - ['load_5fproject',['load_project',['../class_project.html#a47e9a88c17f61d1ef21c6c0498cd6b2e',1,'Project']]], - ['load_5fproject_5fon_5flaunch',['load_project_on_launch',['../class_olive_global.html#a457ad9d7f5d716b0f23a7aa01187da5d',1,'OliveGlobal']]], - ['load_5fshader_5feffects',['load_shader_effects',['../effectloaders_8cpp.html#a954276369d61168df280969398993602',1,'effectloaders.cpp']]], - ['load_5fshortcut_5ffile',['load_shortcut_file',['../class_preferences_dialog.html#a8d09331ae8618892fa156644c0318057',1,'PreferencesDialog']]], - ['load_5fshortcuts',['load_shortcuts',['../class_main_window.html#a9f173804b8c478a35eaad1938e289947',1,'MainWindow']]], - ['load_5ftranslation_5ffrom_5fconfig',['load_translation_from_config',['../class_olive_global.html#a253062054141283225131ba1c4cdc345',1,'OliveGlobal']]], - ['load_5ftype_5furl',['LOAD_TYPE_URL',['../project_8h.html#a00a5d17e97a9587d6b281ee0d5c21de4',1,'project.h']]], - ['load_5ftype_5fversion',['LOAD_TYPE_VERSION',['../project_8h.html#a547ed4baa6721fed4d8939bb506bde8e',1,'project.h']]], - ['load_5fworker',['load_worker',['../class_load_thread.html#a5c545b57540f61194074c68a1c22b98c',1,'LoadThread']]], - ['loaddialog',['LoadDialog',['../class_load_dialog.html',1,'LoadDialog'],['../class_load_dialog.html#ade9007fd7662ea5b7fa9de108a7db2ea',1,'LoadDialog::LoadDialog()']]], - ['loaddialog_2ecpp',['loaddialog.cpp',['../loaddialog_8cpp.html',1,'']]], - ['loaddialog_2eh',['loaddialog.h',['../loaddialog_8h.html',1,'']]], - ['loaded_5fclips',['loaded_clips',['../class_load_thread.html#a9c3d027f0ff5af7dacbc1603af2931f6',1,'LoadThread']]], - ['loaded_5ffolders',['loaded_folders',['../class_load_thread.html#a2eec901fa238f23eb31d83fcf8ab7f37',1,'LoadThread']]], - ['loaded_5fmedia_5fitems',['loaded_media_items',['../class_load_thread.html#abb0c65b1fd5ec3013cf42996f54710d1',1,'LoadThread']]], - ['loaded_5fsequences',['loaded_sequences',['../class_load_thread.html#a6d6656e0d786f60445295e0bc5ecd1a5',1,'LoadThread']]], - ['loadplugin',['loadPlugin',['../class_v_s_t_host.html#a02e4c5eb490ef6b8bf177c33af8e2024',1,'VSTHost']]], - ['loadthread',['LoadThread',['../class_load_thread.html',1,'LoadThread'],['../class_load_thread.html#ad3cafb5a882e3b560b8892504b61325a',1,'LoadThread::LoadThread()']]], - ['loadthread_2ecpp',['loadthread.cpp',['../loadthread_8cpp.html',1,'']]], - ['loadthread_2eh',['loadthread.h',['../loadthread_8h.html',1,'']]], - ['location_5fchanged',['location_changed',['../class_proxy_dialog.html#a7926f85462ad1d63d57bce8ccbc19b8e',1,'ProxyDialog']]], - ['location_5fcombobox',['location_combobox',['../class_proxy_dialog.html#a71ae82edbe71096d3bde13f99d50f756',1,'ProxyDialog']]], - ['lock',['lock',['../class_audio_sender_thread.html#ac8a6e362313d53d5c653b04f6c8cd1b9',1,'AudioSenderThread::lock()'],['../class_clip.html#a97820bb062775b3fabaefdb64a3dfbdf',1,'Clip::lock()']]], - ['log_5fvolume',['log_volume',['../audio_8cpp.html#ac6db6c3c9c0d0c050d64d291539aabfb',1,'log_volume(double linear): audio.cpp'],['../audio_8h.html#ac6db6c3c9c0d0c050d64d291539aabfb',1,'log_volume(double linear): audio.cpp'],['../effect_8h.html#ac6db6c3c9c0d0c050d64d291539aabfb',1,'log_volume(double linear): audio.cpp']]], - ['logarithmicfadetransition',['LogarithmicFadeTransition',['../class_logarithmic_fade_transition.html',1,'LogarithmicFadeTransition'],['../class_logarithmic_fade_transition.html#a0b5607d9a1c3313afe21426958ecde54',1,'LogarithmicFadeTransition::LogarithmicFadeTransition()']]], - ['logarithmicfadetransition_2ecpp',['logarithmicfadetransition.cpp',['../logarithmicfadetransition_8cpp.html',1,'']]], - ['logarithmicfadetransition_2eh',['logarithmicfadetransition.h',['../logarithmicfadetransition_8h.html',1,'']]], - ['loop',['loop',['../struct_config.html#a51bd1cbf756a068a312e9f4da56cce50',1,'Config']]], - ['loop_5faction',['loop_action',['../class_main_window.html#a480e21fe283f4b4f667660cfff2da528',1,'MainWindow']]], - ['lt',['lt',['../class_load_dialog.html#a1b38ceee97462233d51f204692efb50e',1,'LoadDialog']]], - ['lut3d_5fedge_5fsize',['LUT3D_EDGE_SIZE',['../renderthread_8h.html#adfe0204d6d3a3a9ab3192fa7459ce05d',1,'renderthread.h']]] -]; diff --git a/docs/html/search/all_d.html b/docs/html/search/all_d.html deleted file mode 100644 index a2d5bd7ed..000000000 --- a/docs/html/search/all_d.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js deleted file mode 100644 index d4dc209ac..000000000 --- a/docs/html/search/all_d.js +++ /dev/null @@ -1,102 +0,0 @@ -var searchData= -[ - ['m_5fhspace',['m_hSpace',['../class_flow_layout.html#a4ca5e85c50060f2cf19d88d1e3bf9cd5',1,'FlowLayout']]], - ['m_5fvspace',['m_vSpace',['../class_flow_layout.html#ab24b23dbcc261472940b3755ba63a4c0',1,'FlowLayout']]], - ['magic',['magic',['../struct___a_effect.html#a860dbd3727e20b5a9ea5d7a47a593a03',1,'_AEffect']]], - ['main',['main',['../main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main.cpp']]], - ['main_2ecpp',['main.cpp',['../main_8cpp.html',1,'']]], - ['main_5fattachment',['main_attachment',['../struct_compose_sequence_params.html#afab132e9800988cbc00c774ff68a7a80',1,'ComposeSequenceParams']]], - ['main_5fbuffer',['main_buffer',['../struct_compose_sequence_params.html#a8427d61e5ec833c4587afff35a81590b',1,'ComposeSequenceParams']]], - ['main_5fsequence',['main_sequence',['../class_viewer.html#ab0d43149ec798de184adbe26082207a8',1,'Viewer']]], - ['maintain_5faudio_5fpitch',['maintain_audio_pitch',['../class_clip.html#aa278f8139f7708ee8f2cc9fce77302fb',1,'Clip']]], - ['maintain_5fpitch',['maintain_pitch',['../class_speed_dialog.html#ab34b6d25fe1c7cb43d1fa2e147ecd289',1,'SpeedDialog']]], - ['mainwindow',['MainWindow',['../class_main_window.html',1,'MainWindow'],['../class_main_window.html#ae7344f408a563bc6d9b1acd225da52cb',1,'MainWindow::MainWindow()'],['../namespaceolive.html#a727b94e90c57e77ac506938f91b7f296',1,'olive::MainWindow()']]], - ['mainwindow_2ecpp',['mainwindow.cpp',['../mainwindow_8cpp.html',1,'']]], - ['mainwindow_2eh',['mainwindow.h',['../mainwindow_8h.html',1,'']]], - ['make_5fclip_5ffunctions_5fmenu',['make_clip_functions_menu',['../class_menu_helper.html#ad7cc7086317b2ea8bb1774f2b749a9fd',1,'MenuHelper']]], - ['make_5fedit_5ffunctions_5fmenu',['make_edit_functions_menu',['../class_menu_helper.html#a0138f049061657ff93a41708e1e06718',1,'MenuHelper']]], - ['make_5finout_5fmenu',['make_inout_menu',['../class_menu_helper.html#aa6bb56c91cb0980a16e447dd34074fe2',1,'MenuHelper']]], - ['make_5fkey_5ffrom_5fchange',['make_key_from_change',['../class_effect_field.html#a98715205ed5c9f6c48b263136b188e69',1,'EffectField']]], - ['make_5fnew_5fmenu',['make_new_menu',['../class_project.html#a423d344c6be70c46a3895b56aec39891',1,'Project::make_new_menu()'],['../class_menu_helper.html#ad4c34ddfd794f642f42ea08bf76124cc',1,'MenuHelper::make_new_menu()']]], - ['make_5froom_5ffor_5ftransition',['make_room_for_transition',['../timelinewidget_8cpp.html#a73583b63ea14602a040b1723ab26da44',1,'timelinewidget.cpp']]], - ['make_5froot',['make_root',['../class_project_model.html#a6aa3cc3300d20a5dd761d96002e1d0c4',1,'ProjectModel']]], - ['make_5fsquare_5fthumb',['make_square_thumb',['../struct_footage_stream.html#a7ddfff9bacec8d181291b912ef88e9fe',1,'FootageStream']]], - ['marker',['Marker',['../struct_marker.html',1,'Marker'],['../class_move_marker_action.html#acabcc990ebe0101cee9ac0295ea7f3fd',1,'MoveMarkerAction::marker()']]], - ['marker_2ecpp',['marker.cpp',['../marker_8cpp.html',1,'']]], - ['marker_2eh',['marker.h',['../marker_8h.html',1,'']]], - ['marker_5fref',['marker_ref',['../class_viewer.html#a50a42a8e71f9905bcbee05f05ec99687',1,'Viewer']]], - ['marker_5fsize',['MARKER_SIZE',['../marker_8h.html#a71361395d08fca19a21783e5a9aaba29',1,'marker.h']]], - ['markers',['markers',['../class_clip.html#a7dab7c1c4bdc4e3925b6dde30ddae851',1,'Clip::markers()'],['../struct_footage.html#a8825485f303a77819c85b21c2cb2785c',1,'Footage::markers()'],['../class_sequence.html#acbff26dec140b6c0250f70a17cf75a4a',1,'Sequence::markers()'],['../class_delete_marker_action.html#a4622c6ec6d1c235fa8da9776d0979052',1,'DeleteMarkerAction::markers()']]], - ['math_2ecpp',['math.cpp',['../math_8cpp.html',1,'']]], - ['math_2eh',['math.h',['../math_8h.html',1,'']]], - ['max_5fenabled',['max_enabled',['../class_label_slider.html#a22b9ecff65c8b6e6786eb78d5345337c',1,'LabelSlider']]], - ['max_5fqueue_5fsize',['max_queue_size',['../class_clip.html#a5490e73540ef171d1b653e5eea841191',1,'Clip']]], - ['max_5ftext_5fwidth',['MAX_TEXT_WIDTH',['../timelinewidget_8cpp.html#a33bb2ed18aa4e9ed2186d4c1d1758a51',1,'timelinewidget.cpp']]], - ['max_5fvalue',['max_value',['../class_label_slider.html#aa3c56b46a732fd78984bc527aa404870',1,'LabelSlider']]], - ['maximize_5fpanel',['maximize_panel',['../class_main_window.html#af1779e3b578dd30f41e9dc59d7e0553f',1,'MainWindow']]], - ['maximum_5frecent_5fprojects',['MAXIMUM_RECENT_PROJECTS',['../project_8cpp.html#af3d73ae3f9094f603b17f8797c81a546',1,'project.cpp']]], - ['maxinteger',['maxInteger',['../struct___vst_parameter_properties.html#aed3b52f585024875cd3dfef9b3a00ae7',1,'_VstParameterProperties']]], - ['media',['Media',['../class_media.html',1,'Media'],['../class_replace_clip_media_dialog.html#a65bd89010d9bad4fe81a59f1ef272504',1,'ReplaceClipMediaDialog::media()'],['../class_preview_generator.html#aab2f6a913767c82831bfed2e09062ff6',1,'PreviewGenerator::media()'],['../struct_ghost.html#a943dc9113d7fc5aa3f285db465ac29d9',1,'Ghost::media()'],['../class_viewer.html#a70a1358796cd3677ca4038bf72f27248',1,'Viewer::media()'],['../class_clip.html#a5b55961227a5f0fffb14da879fcf1e9d',1,'Clip::media()'],['../class_refresh_clips.html#ad3d84e79928cac6a26d927ad0958822e',1,'RefreshClips::media()'],['../class_media.html#a2c7f81bba64d02b5595444d766b13188',1,'Media::Media()']]], - ['media_2ecpp',['media.cpp',['../media_8cpp.html',1,'']]], - ['media_2eh',['media.h',['../media_8h.html',1,'']]], - ['media_5ficon_5fservice',['media_icon_service',['../namespaceolive.html#a1cebcb1eb862b55634168a2f886bd9b7',1,'olive']]], - ['media_5fid',['media_id',['../class_project.html#ae41f69f50e9866c986b19b2924481053',1,'Project']]], - ['media_5flength',['media_length',['../struct_ghost.html#a9f8a6e7414d2b93569b827f70e24c174',1,'Ghost']]], - ['media_5fstream',['media_stream',['../struct_ghost.html#a34e0ce2febfb5e0af142faf1d5d4fd78',1,'Ghost::media_stream()'],['../class_clip.html#ad32b52e35440bef30cdd5da06e95c2a3',1,'Clip::media_stream()']]], - ['media_5ftype_5ffolder',['MEDIA_TYPE_FOLDER',['../media_8h.html#a1499e9f8a76cb81b43b7a4b0dbe7e44aa7e6d9235a97b3ac7fc1a45f18594c4e9',1,'media.h']]], - ['media_5ftype_5ffootage',['MEDIA_TYPE_FOOTAGE',['../media_8h.html#a1499e9f8a76cb81b43b7a4b0dbe7e44aadc411da711b29f0498b17e4a85fc1fda',1,'media.h']]], - ['media_5ftype_5fsequence',['MEDIA_TYPE_SEQUENCE',['../media_8h.html#a1499e9f8a76cb81b43b7a4b0dbe7e44aa539979b571e26889efbceb58e43273e9',1,'media.h']]], - ['mediaiconservice',['MediaIconService',['../class_media_icon_service.html',1,'MediaIconService'],['../class_media_icon_service.html#ace100a16093b6562193627d01ccb9442',1,'MediaIconService::MediaIconService()']]], - ['mediaiconservice_2ecpp',['mediaiconservice.cpp',['../mediaiconservice_8cpp.html',1,'']]], - ['mediaiconservice_2eh',['mediaiconservice.h',['../mediaiconservice_8h.html',1,'']]], - ['mediamove',['MediaMove',['../class_media_move.html',1,'MediaMove'],['../class_media_move.html#a51a4824082d85e92ee25fc2a8d1bb68b',1,'MediaMove::MediaMove()']]], - ['mediapropertiesdialog',['MediaPropertiesDialog',['../class_media_properties_dialog.html',1,'MediaPropertiesDialog'],['../class_media_properties_dialog.html#a243a419d103443b15f251bc01331c94c',1,'MediaPropertiesDialog::MediaPropertiesDialog()']]], - ['mediapropertiesdialog_2ecpp',['mediapropertiesdialog.cpp',['../mediapropertiesdialog_8cpp.html',1,'']]], - ['mediapropertiesdialog_2eh',['mediapropertiesdialog.h',['../mediapropertiesdialog_8h.html',1,'']]], - ['mediarename',['MediaRename',['../class_media_rename.html',1,'MediaRename'],['../class_media_rename.html#a381e2325ac4fb683de9a85c0ca2ff23c',1,'MediaRename::MediaRename()']]], - ['mediatype',['MediaType',['../media_8h.html#a1499e9f8a76cb81b43b7a4b0dbe7e44a',1,'media.h']]], - ['menu_5fclick_5fbutton',['menu_click_button',['../class_menu_helper.html#a508f997ac25f7c5830b03161fda1b25f',1,'MenuHelper']]], - ['menu_5fselect',['menu_select',['../class_effect_controls.html#a9391676b96463ec314fae69948faa781',1,'EffectControls']]], - ['menu_5fset_5fkey_5ftype',['menu_set_key_type',['../class_keyframe_view.html#a99bc38364b104ee1d967514f1acfd61b',1,'KeyframeView']]], - ['menuhelper',['MenuHelper',['../class_menu_helper.html',1,'MenuHelper'],['../namespaceolive.html#a89c3d4d7982b29de454d2d8b2087ef14',1,'olive::MenuHelper()']]], - ['menuhelper_2ecpp',['menuhelper.cpp',['../menuhelper_8cpp.html',1,'']]], - ['menuhelper_2eh',['menuhelper.h',['../menuhelper_8h.html',1,'']]], - ['meta',['meta',['../class_effect.html#a62d3967301d9527c7fdb3cc7593f106f',1,'Effect::meta()'],['../class_add_effect_command.html#a08b850c3ae0fa4b7b02b37652540997e',1,'AddEffectCommand::meta()']]], - ['mididata',['midiData',['../struct___vst_midi_event.html#a92839286ff3319a4bf86a3f8e133f74a',1,'_VstMidiEvent']]], - ['milliseconds_5faction',['milliseconds_action',['../class_main_window.html#a26eeb91288e62357912b9caebd8f0b64',1,'MainWindow']]], - ['min_5fenabled',['min_enabled',['../class_label_slider.html#a86e3eea15b0c01457d58ed3847f5f3ba',1,'LabelSlider']]], - ['min_5fvalue',['min_value',['../class_label_slider.html#aaee240de256aeab0ec881f74c9109693',1,'LabelSlider']]], - ['minimum_5fzoom',['minimum_zoom',['../class_viewer.html#a039f5520f48151964e9f9e6fd91d75e9',1,'Viewer']]], - ['minimumsize',['minimumSize',['../class_flow_layout.html#a18816b6e9008a0731af92749975ce63f',1,'FlowLayout']]], - ['mininteger',['minInteger',['../struct___vst_parameter_properties.html#aadb6cea236ea019dadb1cb697d890300',1,'_VstParameterProperties']]], - ['mix_5faudio_5fsample',['mix_audio_sample',['../effect_8cpp.html#acc68d7abb0c39f408ce5978186761e9e',1,'mix_audio_sample(qint16 a, qint16 b): effect.cpp'],['../effect_8h.html#acc68d7abb0c39f408ce5978186761e9e',1,'mix_audio_sample(qint16 a, qint16 b): effect.cpp']]], - ['mix_5fval',['mix_val',['../class_audio_noise_effect.html#a473aaa87a6ade2b68fa152f58d1753c3',1,'AudioNoiseEffect::mix_val()'],['../class_tone_effect.html#a73fdafc65954c828184ede73e467ab35',1,'ToneEffect::mix_val()']]], - ['mode',['mode',['../class_effect_controls.html#aeebb63760420cfcc85897a3574fde316',1,'EffectControls']]], - ['modifytransitioncommand',['ModifyTransitionCommand',['../class_modify_transition_command.html',1,'ModifyTransitionCommand'],['../class_modify_transition_command.html#a6c43145815a23a1f705346d10d167c78',1,'ModifyTransitionCommand::ModifyTransitionCommand()']]], - ['moduleptr',['modulePtr',['../class_v_s_t_host.html#ab95a18045d5fb1408f82a19887c126dd',1,'VSTHost']]], - ['mousedoubleclickevent',['mouseDoubleClickEvent',['../class_action_search_list.html#ac5c14e88b7a780dbecd5547601af1afb',1,'ActionSearchList::mouseDoubleClickEvent()'],['../class_sources_common.html#acd129b6226ca05da18682bd96687f3f1',1,'SourcesCommon::mouseDoubleClickEvent()'],['../class_source_icon_view.html#a57bf8050c021223a4299b27f87a9f089',1,'SourceIconView::mouseDoubleClickEvent()'],['../class_source_table.html#adb1bdf3906e6de86804cbd88a1f8be18',1,'SourceTable::mouseDoubleClickEvent()'],['../class_timeline_widget.html#aec8d7358864498b194c01f6e94323f23',1,'TimelineWidget::mouseDoubleClickEvent()']]], - ['mousedown',['mousedown',['../class_graph_view.html#a5626f96d5726748f346b5865090dfc36',1,'GraphView::mousedown()'],['../class_keyframe_view.html#a69b19dbc2910fe07010e9596b93e0ef1',1,'KeyframeView::mousedown()']]], - ['mousemoveevent',['mouseMoveEvent',['../class_graph_view.html#a99df2581a12e911def3481d3ec6c84a3',1,'GraphView::mouseMoveEvent()'],['../class_keyframe_view.html#a50f3f23c88471b03b80064afa5f69504',1,'KeyframeView::mouseMoveEvent()'],['../class_label_slider.html#af3f6d68db6453cd9ddd63d249e11dd17',1,'LabelSlider::mouseMoveEvent()'],['../class_resizable_scroll_bar.html#af5e8aa76cbe5cece3aa6aa7b2451a4fd',1,'ResizableScrollBar::mouseMoveEvent()'],['../class_timeline_header.html#ad05a660d3e8289d828ae6443b9e96a9f',1,'TimelineHeader::mouseMoveEvent()'],['../class_timeline_widget.html#a96da2f5429c3a527adbe79df4988fc31',1,'TimelineWidget::mouseMoveEvent()'],['../class_viewer_widget.html#a1e6087dc61780d6fc4fb633594a764ae',1,'ViewerWidget::mouseMoveEvent()'],['../class_viewer_window.html#ad3e517decf4db64e76ee98dc9fdc105f',1,'ViewerWindow::mouseMoveEvent()']]], - ['mousepressevent',['mousePressEvent',['../class_sources_common.html#a1851ed9f4379084725cfc4170b3fa6b8',1,'SourcesCommon::mousePressEvent()'],['../class_clickable_label.html#adfec8a6c2ddd87b673f3a734ea6afa2b',1,'ClickableLabel::mousePressEvent()'],['../class_collapsible_widget_header.html#ae69737c62d7b1ce0058a77e8cc49fd3f',1,'CollapsibleWidgetHeader::mousePressEvent()'],['../class_graph_view.html#a83837c38c176b1d5d160a50f5b3bd273',1,'GraphView::mousePressEvent()'],['../class_keyframe_view.html#a4eb4d1eb297051bb051ccec8d15eeba8',1,'KeyframeView::mousePressEvent()'],['../class_label_slider.html#aa1e2b3efd6e1f4ce64c465cd1e6123e1',1,'LabelSlider::mousePressEvent()'],['../class_resizable_scroll_bar.html#acdc22797d4b3b5dc344346e8f3266204',1,'ResizableScrollBar::mousePressEvent()'],['../class_source_icon_view.html#a6e6b2904b3668524739dfa9268f610f0',1,'SourceIconView::mousePressEvent()'],['../class_source_table.html#abe2d5a81d0e235ade28e84b622d71441',1,'SourceTable::mousePressEvent()'],['../class_timeline_header.html#aabf4cc43e7ec42fabd2d178faf96273f',1,'TimelineHeader::mousePressEvent()'],['../class_timeline_widget.html#acae500265542183c4edf2f75f1b23eaf',1,'TimelineWidget::mousePressEvent()'],['../class_viewer_widget.html#ae4080a6da8f1f5f99768036e470f3689',1,'ViewerWidget::mousePressEvent()'],['../class_viewer_window.html#a0647b03226dce7e12389cad3ebfc6276',1,'ViewerWindow::mousePressEvent()']]], - ['mousereleaseevent',['mouseReleaseEvent',['../class_graph_view.html#ac5dbd8c419126474c7eb1c3bd956a10d',1,'GraphView::mouseReleaseEvent()'],['../class_keyframe_view.html#ae95da6577e5c1ec8e615b84f75d92f9a',1,'KeyframeView::mouseReleaseEvent()'],['../class_label_slider.html#abe7f1fc561c4827c11ac8c463539e2e6',1,'LabelSlider::mouseReleaseEvent()'],['../class_resizable_scroll_bar.html#aec564fb558408866e610da8c74e63855',1,'ResizableScrollBar::mouseReleaseEvent()'],['../class_timeline_header.html#a0cb50365b288bf298467afc8f352aa38',1,'TimelineHeader::mouseReleaseEvent()'],['../class_timeline_widget.html#a62b3f860be509680b84081d0ce54af34',1,'TimelineWidget::mouseReleaseEvent()'],['../class_viewer_widget.html#a214365e21ace80377d8fa3f0e6959cb4',1,'ViewerWidget::mouseReleaseEvent()']]], - ['move_5fclip',['move_clip',['../timeline_8cpp.html#a956296c1b95a9d26b697efa2609db0ad',1,'move_clip(ComboAction *ca, ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool verify_transitions, bool relative): timeline.cpp'],['../timeline_8h.html#a8da874d055b559fa755e88926adcdd0c',1,'move_clip(ComboAction *ca, ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool verify_transitions=true, bool relative=false): timeline.cpp']]], - ['move_5fdown',['move_down',['../class_effect.html#a7d4bf5850cf50246f7dff93b4d2b7beb',1,'Effect']]], - ['move_5fgizmos',['move_gizmos',['../class_viewer_widget.html#a6879a6de86a254285383a2eeabf2ee2f',1,'ViewerWidget']]], - ['move_5finsert',['move_insert',['../class_timeline.html#aa31225e9f4b2fa11323b5d68f136d05e',1,'Timeline']]], - ['move_5fselection_5fdown',['move_selection_down',['../class_action_search.html#ad7c2f76affbf5b707523194ef9960b95',1,'ActionSearch']]], - ['move_5fselection_5fup',['move_selection_up',['../class_action_search.html#a9039df81c2eaf1be6eb6fb89e10bc6e1',1,'ActionSearch']]], - ['move_5fup',['move_up',['../class_effect.html#a68dad3735f3289805beb365056c81160',1,'Effect']]], - ['movechild',['moveChild',['../class_project_model.html#a79e33846e89217a3e9380861c062d4d8',1,'ProjectModel']]], - ['moveclipaction',['MoveClipAction',['../class_move_clip_action.html',1,'MoveClipAction'],['../class_move_clip_action.html#a456edb4c354472c93eedb9a72d94534e',1,'MoveClipAction::MoveClipAction()']]], - ['moved_5fkeys',['moved_keys',['../class_graph_view.html#a13c2b3dac9dccd006e331e82e69e06a7',1,'GraphView']]], - ['moveeffectcommand',['MoveEffectCommand',['../class_move_effect_command.html',1,'MoveEffectCommand'],['../class_move_effect_command.html#ad56b91c70e56e1ffcff19bc44cc1adfa',1,'MoveEffectCommand::MoveEffectCommand()']]], - ['movemarkeraction',['MoveMarkerAction',['../class_move_marker_action.html',1,'MoveMarkerAction'],['../class_move_marker_action.html#ab79a18adb273a973896c3df7ec216f55',1,'MoveMarkerAction::MoveMarkerAction()']]], - ['moveselectiondown',['moveSelectionDown',['../class_action_search_entry.html#af64a4bea133c85fd4182d7573f13688d',1,'ActionSearchEntry']]], - ['moveselectionup',['moveSelectionUp',['../class_action_search_entry.html#a3e82772c363721ccf64a23c3e3bc8225',1,'ActionSearchEntry']]], - ['moving_5finit',['moving_init',['../class_timeline.html#ae6e5a2b1d0f22833e913240e4e2517f7',1,'Timeline']]], - ['moving_5fproc',['moving_proc',['../class_timeline.html#aba3c6d4f7ce850a66ac548699939e4f9',1,'Timeline']]], - ['multiple',['multiple',['../class_effect_controls.html#a7793b11a951b281034910ec6a1100866',1,'EffectControls']]], - ['multiply_5fzoom',['multiply_zoom',['../class_timeline.html#a6f79958d70e239f1e8910cb37b64f3e2',1,'Timeline']]], - ['multithreaded',['multithreaded',['../class_clip.html#a1f15dba562d8a273fcfe831ffcce914c',1,'Clip']]], - ['mutex',['mutex',['../class_export_thread.html#a1389089a2d31ec367e5ddcbcb8081a16',1,'ExportThread::mutex()'],['../class_load_thread.html#acc985031ed65f52781af5a819ce0124a',1,'LoadThread::mutex()'],['../class_proxy_generator.html#a1f321a319309b2eeaf089eeed9a90c1b',1,'ProxyGenerator::mutex()'],['../class_render_thread.html#a456a71420ffd0b9de3d5359f39c460fe',1,'RenderThread::mutex()'],['../class_viewer_window.html#a38d6899ad4dd9c339d75c6c443687421',1,'ViewerWindow::mutex()']]] -]; diff --git a/docs/html/search/all_e.html b/docs/html/search/all_e.html deleted file mode 100644 index f9a056dcd..000000000 --- a/docs/html/search/all_e.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_e.js b/docs/html/search/all_e.js deleted file mode 100644 index 6c6f52db8..000000000 --- a/docs/html/search/all_e.js +++ /dev/null @@ -1,48 +0,0 @@ -var searchData= -[ - ['name',['name',['../class_clip.html#a99dca1e3fe29eb56d0751d5639ace0d8',1,'Clip::name()'],['../struct_effect_meta.html#af9c54ed086542bedfe1a47c0f081f509',1,'EffectMeta::name()'],['../class_effect.html#a8c818cb5ecb263bdca1cb13cfeb60021',1,'Effect::name()'],['../class_effect_row.html#a1c9dca930e2ba1d86d968e84811c577e',1,'EffectRow::name()'],['../struct_footage.html#a9c3ce3e31445fe6b137016869c27999a',1,'Footage::name()'],['../struct_marker.html#a39bd9bd110775e45b07301e99a721b30',1,'Marker::name()'],['../class_sequence.html#abeab28a73f8e7b1d6ebe42cc987c5718',1,'Sequence::name()'],['../class_add_marker_action.html#a96728a5783886e2e7ff96c76ebe8aaa2',1,'AddMarkerAction::name()'],['../class_edit_sequence_command.html#afe8cdadc3df779da21697039b7a2a947',1,'EditSequenceCommand::name()']]], - ['name_5fbox',['name_box',['../class_media_properties_dialog.html#a94fb975f3eb23bb5c89cce5539cdd142',1,'MediaPropertiesDialog']]], - ['nanoseconds',['nanoSeconds',['../struct___vst_time_info.html#ae8e2477542d48d10fda35d60652338db',1,'_VstTimeInfo']]], - ['nest',['nest',['../class_timeline.html#a8ef72ebfaff2d2a2d7cb1ffc8cb956d3',1,'Timeline']]], - ['nests',['nests',['../class_cacher.html#ac8fbf7205b43f64c5e1147734fad78bc',1,'Cacher::nests()'],['../struct_compose_sequence_params.html#a9812ba14b9e30e5b82e5545afa6874ba',1,'ComposeSequenceParams::nests()']]], - ['new_5fclip_5fin',['new_clip_in',['../class_move_clip_action.html#a928c2619d17a8507203528b2c32454d5',1,'MoveClipAction']]], - ['new_5fcolor',['new_color',['../class_color_command.html#a21ad33b4e026029d30aab46cca634773',1,'ColorCommand']]], - ['new_5fdata',['new_data',['../class_set_selections_command.html#a350a369eed704a8715de7c83dace1c0c',1,'SetSelectionsCommand::new_data()'],['../class_set_pointer.html#a064e14c81bcae2827251511987001d61',1,'SetPointer::new_data()']]], - ['new_5fenabled',['new_enabled',['../class_set_timeline_in_out_command.html#a22bc83dd05b8f25f8682f130d9612846',1,'SetTimelineInOutCommand']]], - ['new_5ffilename',['new_filename',['../class_replace_media_command.html#aa26a3908a10d657e031dae92cd0ea24d',1,'ReplaceMediaCommand']]], - ['new_5ffolder',['new_folder',['../class_project.html#ab37f95d16126bbef35253d750c061b72',1,'Project']]], - ['new_5fin',['new_in',['../class_move_clip_action.html#aa22de8e481c872c88e0d40ec3146cf55',1,'MoveClipAction::new_in()'],['../class_set_timeline_in_out_command.html#ad0bcc9b344ed02ab6f7d59e3df36e1bb',1,'SetTimelineInOutCommand::new_in()']]], - ['new_5flength_5f',['new_length_',['../class_modify_transition_command.html#a5887f12ffb39b29f42344ddeb630d29d',1,'ModifyTransitionCommand']]], - ['new_5fmedia',['new_media',['../class_replace_clip_media_command.html#ab936085e30113f7ffb08e6acd67c3e35',1,'ReplaceClipMediaCommand']]], - ['new_5fname',['new_name',['../class_rename_clip_command.html#aacc374c70c124acd8abd51d40dbdcde1',1,'RenameClipCommand']]], - ['new_5fout',['new_out',['../class_move_clip_action.html#a07c831f4b0df5075088261e83433c03f',1,'MoveClipAction::new_out()'],['../class_set_timeline_in_out_command.html#a939fbe3bdea2fde2ded6ee97c01b7f0d',1,'SetTimelineInOutCommand::new_out()']]], - ['new_5fproject',['new_project',['../class_olive_global.html#a96005523cb0a1ba0c4647ce2f2791331',1,'OliveGlobal::new_project()'],['../class_project.html#a1bc03f1a2d711f1dd6f58f996dd2adb7',1,'Project::new_project()']]], - ['new_5fsequence',['new_sequence',['../class_change_sequence_action.html#a7c1c828c8417e6a77d28824f60db48f9',1,'ChangeSequenceAction::new_sequence()'],['../class_project.html#afc9910afcca439c0526b93fe71f89449',1,'Project::new_sequence()']]], - ['new_5fsetting',['new_setting',['../class_set_bool.html#a00ef8162986a8f20b2ce94fb213a75db',1,'SetBool']]], - ['new_5fspeed',['new_speed',['../class_set_speed_action.html#acf517b769bf89975349db66b4418cc91',1,'SetSpeedAction']]], - ['new_5ftime',['new_time',['../class_move_marker_action.html#aeb233879b6d50b5c755d43170f19183b',1,'MoveMarkerAction']]], - ['new_5ftrack',['new_track',['../class_move_clip_action.html#ad13eb9ccc661d82b6f8efd987e4fd876',1,'MoveClipAction']]], - ['new_5ftransition_5fref_5f',['new_transition_ref_',['../class_add_transition_command.html#aa4ec56babc0274057f8300a1bd6ac857',1,'AddTransitionCommand']]], - ['new_5fval',['new_val',['../class_effect_field_undo.html#a3107863b70370180215a0405ee57f90b',1,'EffectFieldUndo::new_val()'],['../class_set_q_variant.html#a15611fa97a6f0e74e90c396f6b75ed23',1,'SetQVariant::new_val()'],['../class_combo_box_ex_command.html#ad51cb65a4108dea0000d21755563c619',1,'ComboBoxExCommand::new_val()']]], - ['newsequencecommand',['NewSequenceCommand',['../class_new_sequence_command.html',1,'NewSequenceCommand'],['../class_new_sequence_command.html#aeae82a493bb6d54878c63d94bee32d29',1,'NewSequenceCommand::NewSequenceCommand()']]], - ['newsequencedialog',['NewSequenceDialog',['../class_new_sequence_dialog.html',1,'NewSequenceDialog'],['../class_new_sequence_dialog.html#a8b568c5c565672ae89f408047248cade',1,'NewSequenceDialog::NewSequenceDialog()']]], - ['newsequencedialog_2ecpp',['newsequencedialog.cpp',['../newsequencedialog_8cpp.html',1,'']]], - ['newsequencedialog_2eh',['newsequencedialog.h',['../newsequencedialog_8h.html',1,'']]], - ['newval',['newval',['../class_set_int.html#ae7acff61c7783e0efac6b29b43d218f5',1,'SetInt::newval()'],['../class_set_long.html#a445922547c73582496e0c5a150c87545',1,'SetLong::newval()'],['../class_set_double.html#a151e46fcd41b8362e4fa7a9966d62412',1,'SetDouble::newval()'],['../class_set_string.html#a4413775fb59c7643326a569d3e71bda5',1,'SetString::newval()']]], - ['next_5fcut',['next_cut',['../class_timeline.html#aa6de1a9fd358a2d961641e9484a21e4f',1,'Timeline']]], - ['next_5fframe',['next_frame',['../class_viewer.html#a6f31470a09365374a6eb8263091f0cf2',1,'Viewer::next_frame()'],['../class_focus_filter.html#a65943730d91348720430b2c5ba10e21f',1,'FocusFilter::next_frame()']]], - ['next_5fframe_5fbutton',['next_frame_button',['../class_viewer.html#ac68ee5613f53abd64e3090bdf324e3de',1,'Viewer']]], - ['no_5fautoscroll',['no_autoscroll',['../class_main_window.html#aa3b1b9945a5ff1abe59271aeb2c5be67',1,'MainWindow']]], - ['nondrop_5fframe_5faction',['nondrop_frame_action',['../class_main_window.html#ac3cdb007fc33235558abf371b52b5ced',1,'MainWindow']]], - ['notelength',['noteLength',['../struct___vst_midi_event.html#a11fc86a16229589ddaf00cbc7a438efd',1,'_VstMidiEvent']]], - ['noteoffset',['noteOffset',['../struct___vst_midi_event.html#a276d46f88e1d769c686dccca6ca5c19e',1,'_VstMidiEvent']]], - ['noteoffvelocity',['noteOffVelocity',['../struct___vst_midi_event.html#a0c7cb4291714337b12c60624a2e51b2a',1,'_VstMidiEvent']]], - ['notifyreceiver',['notifyReceiver',['../class_audio_sender_thread.html#aa241116809e4770d7a19f9c41744bc39',1,'AudioSenderThread']]], - ['num_5f3d_5fentries',['NUM_3D_ENTRIES',['../renderthread_8h.html#ab649a66d35a1121e1835ad71b1f5786a',1,'renderthread.h']]], - ['numevents',['numEvents',['../struct___vst_events.html#a58c5c1034ce2b814084de6428c3bf096',1,'_VstEvents']]], - ['numinputs',['numInputs',['../struct___a_effect.html#ad13c1c461f3811ce5a0e0fa2d2c7561a',1,'_AEffect']]], - ['numoutputs',['numOutputs',['../struct___a_effect.html#a3bea5e23a21ee5fa0dc98012ae6c718d',1,'_AEffect']]], - ['numparametersincategory',['numParametersInCategory',['../struct___vst_parameter_properties.html#ada1b0e40417723f63a1dddaf77f00107',1,'_VstParameterProperties']]], - ['numparams',['numParams',['../struct___a_effect.html#a79eacba9f234cc2244c889e35886dfbf',1,'_AEffect']]], - ['numprograms',['numPrograms',['../struct___a_effect.html#a373aaca9def34df8ec985c1e394eeafe',1,'_AEffect']]] -]; diff --git a/docs/html/search/all_f.html b/docs/html/search/all_f.html deleted file mode 100644 index f6997fa5f..000000000 --- a/docs/html/search/all_f.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/all_f.js b/docs/html/search/all_f.js deleted file mode 100644 index 3e0052497..000000000 --- a/docs/html/search/all_f.js +++ /dev/null @@ -1,93 +0,0 @@ -var searchData= -[ - ['olive_20video_20editor',['Olive Video Editor',['../md__r_e_a_d_m_e.html',1,'']]], - ['object',['object',['../class_media.html#a875a5cc43e91f9418161d2fd4cfe04e5',1,'Media']]], - ['ocio_5flut_5fdata',['ocio_lut_data',['../class_render_thread.html#a0b20b28b3c254aa71c03b17d3b589500',1,'RenderThread']]], - ['ocio_5flut_5ftexture',['ocio_lut_texture',['../struct_compose_sequence_params.html#ac5f9b7bb2db527158e76d6fc5916a576',1,'ComposeSequenceParams']]], - ['ocio_5fshader',['ocio_shader',['../struct_compose_sequence_params.html#a5e790eddc0fb55df981a49ac8f935bf6',1,'ComposeSequenceParams']]], - ['offset_5fx_5fval',['offset_x_val',['../class_timecode_effect.html#ab7eb1b2fe47da3c364b04328d74a692d',1,'TimecodeEffect']]], - ['offset_5fy_5fval',['offset_y_val',['../class_timecode_effect.html#aa0e8430f36d01179996c69c8cdc35d61',1,'TimecodeEffect']]], - ['old_5faudio_5ffrequency',['old_audio_frequency',['../class_edit_sequence_command.html#a8cf82cc32f2cbf6468ce9614037fc9f2',1,'EditSequenceCommand']]], - ['old_5faudio_5flayout',['old_audio_layout',['../class_edit_sequence_command.html#a3bbfaa9ae0ae11cda89433578f8ed35c',1,'EditSequenceCommand']]], - ['old_5fchanged',['old_changed',['../class_set_pointer.html#a1af4048517b1eb02cfbf9d66c2783a7b',1,'SetPointer']]], - ['old_5fclip_5fin',['old_clip_in',['../struct_ghost.html#ab45bfcdb704b75d2d3efdafe808e11f1',1,'Ghost::old_clip_in()'],['../class_move_clip_action.html#a2a182519b7b070c7f1aa537d397323ab',1,'MoveClipAction::old_clip_in()']]], - ['old_5fclip_5fins',['old_clip_ins',['../class_replace_clip_media_command.html#a4684a466277a593293a2552372e8c458',1,'ReplaceClipMediaCommand']]], - ['old_5fclose_5ftransition_5f',['old_close_transition_',['../class_add_transition_command.html#a1b407bac0bba2944d477092059c9a85a',1,'AddTransitionCommand']]], - ['old_5fcolor',['old_color',['../class_color_command.html#a86d387e588719658612036f9626c5096',1,'ColorCommand']]], - ['old_5fdata',['old_data',['../class_set_selections_command.html#a160cf09ae651b4d754260654c4c28229',1,'SetSelectionsCommand::old_data()'],['../class_set_pointer.html#a1b165842dad2600c208d09f68674da9c',1,'SetPointer::old_data()'],['../class_set_effect_data.html#a10326cbe3d6df6095a23b04a794a3ea3',1,'SetEffectData::old_data()']]], - ['old_5fenabled',['old_enabled',['../class_set_timeline_in_out_command.html#a0fe1db4b1ec21575fcb297069f974580',1,'SetTimelineInOutCommand']]], - ['old_5ffilename',['old_filename',['../class_replace_media_command.html#aea1c2c658e2dd516e79fd74216bb755e',1,'ReplaceMediaCommand::old_filename()'],['../class_embedded_file_chooser.html#a81255bb214d48beec3120ab3dea56d76',1,'EmbeddedFileChooser::old_filename()']]], - ['old_5fframe_5frate',['old_frame_rate',['../class_edit_sequence_command.html#abce788373739cc18cd0197279b835c03',1,'EditSequenceCommand']]], - ['old_5fheight',['old_height',['../class_edit_sequence_command.html#a71c31af9c44e28dfff73e43e642624e7',1,'EditSequenceCommand']]], - ['old_5fin',['old_in',['../struct_ghost.html#a094231b1cfebbc84bdf2cef4d7804def',1,'Ghost::old_in()'],['../struct_selection.html#a7ffb136be4fb4d978c342b77aea85ec4',1,'Selection::old_in()'],['../class_move_clip_action.html#a430a10daa9f8ff4503f43543ee3a0478',1,'MoveClipAction::old_in()'],['../class_set_timeline_in_out_command.html#a28431fcf2d82416e7c1ce9e9e5a3a097',1,'SetTimelineInOutCommand::old_in()']]], - ['old_5fkey_5fvals',['old_key_vals',['../class_keyframe_view.html#a5b8b88481621c2dd7db28c7b7b696912',1,'KeyframeView']]], - ['old_5flength_5f',['old_length_',['../class_modify_transition_command.html#a2905b27757090a0bedf769d3f80c8106',1,'ModifyTransitionCommand']]], - ['old_5flinks',['old_links',['../class_link_command.html#a4314f2a1674de2e8f781c1b22fe6a27b',1,'LinkCommand']]], - ['old_5fmedia',['old_media',['../class_replace_clip_media_command.html#ad8f6d5ed6b7c0f5a122462b003e2f247',1,'ReplaceClipMediaCommand']]], - ['old_5fname',['old_name',['../class_add_marker_action.html#a6db42128b9a5290b80d1e7a34624bff6',1,'AddMarkerAction::old_name()'],['../class_edit_sequence_command.html#a54ee1a116176981d5604ac3292674a5a',1,'EditSequenceCommand::old_name()']]], - ['old_5fnames',['old_names',['../class_rename_clip_command.html#a64bd6cd5481f8753c33962b3ccc60095',1,'RenameClipCommand']]], - ['old_5fopen_5ftransition_5f',['old_open_transition_',['../class_add_transition_command.html#a8be54929a99f65e1717ebcfe6e0f0cc5',1,'AddTransitionCommand']]], - ['old_5fout',['old_out',['../struct_ghost.html#a709a10d5200ca349c11f6b07abfa240d',1,'Ghost::old_out()'],['../struct_selection.html#acdce876b3030e4eb71770f804fabc155',1,'Selection::old_out()'],['../class_move_clip_action.html#a2431a8e56568114d24aa7e3bb8db5f51',1,'MoveClipAction::old_out()'],['../class_set_timeline_in_out_command.html#ada58014bc0fcfb66dd42d8981a130123',1,'SetTimelineInOutCommand::old_out()']]], - ['old_5fpost_5fhandle_5fx',['old_post_handle_x',['../class_graph_view.html#af8ff104eeaebf5d4ae4f098ff808eb2e',1,'GraphView']]], - ['old_5fpost_5fhandle_5fy',['old_post_handle_y',['../class_graph_view.html#ae386e9ee8a0adf9977cac52049f42140',1,'GraphView']]], - ['old_5fpre_5fhandle_5fx',['old_pre_handle_x',['../class_graph_view.html#a78dca5c2b5c0ce04ff08ad9f057b3a55',1,'GraphView']]], - ['old_5fpre_5fhandle_5fy',['old_pre_handle_y',['../class_graph_view.html#ae38089fa563abbf3bbb04575ae519e60',1,'GraphView']]], - ['old_5fproject_5fchanged',['old_project_changed',['../class_combo_box_ex_command.html#a11399485aff94885240003b78912bb4c',1,'ComboBoxExCommand']]], - ['old_5fsequence',['old_sequence',['../class_change_sequence_action.html#a37af18d312a04524f58dcda7eb6eb0b3',1,'ChangeSequenceAction']]], - ['old_5fsetting',['old_setting',['../class_set_bool.html#a848958b006c4440d6fd53199ab391997',1,'SetBool']]], - ['old_5fspeed',['old_speed',['../class_set_speed_action.html#aa849add5324bdf1dfa4166e584c1bec8',1,'SetSpeedAction']]], - ['old_5ftime',['old_time',['../class_move_marker_action.html#ac2979b1c818da80388b4ff45a1d6a465',1,'MoveMarkerAction']]], - ['old_5ftrack',['old_track',['../struct_ghost.html#a206d664ba7a9e16321a464577cad54b2',1,'Ghost::old_track()'],['../struct_selection.html#aab259526380dae978cb17e806923918a',1,'Selection::old_track()'],['../class_move_clip_action.html#ae328499c1be243ac9af7543ae90513e8',1,'MoveClipAction::old_track()']]], - ['old_5fval',['old_val',['../class_effect_field_undo.html#a045e07171cf3079f4d0e9bfc9203fa72',1,'EffectFieldUndo::old_val()'],['../class_set_q_variant.html#a00c57c89aa0241fc8ab5d779c2341f85',1,'SetQVariant::old_val()'],['../class_combo_box_ex_command.html#ac815f926368bb6fa069d9f1b4b27c0bc',1,'ComboBoxExCommand::old_val()']]], - ['old_5fwidth',['old_width',['../class_edit_sequence_command.html#a9adee2296bc31b0e6eefab910214bc56',1,'EditSequenceCommand']]], - ['old_5fwindow_5fmodified',['old_window_modified',['../class_olive_action.html#a2ad0d3899c37dce7caed1b9d22a6c892',1,'OliveAction']]], - ['old_5fzoom',['old_zoom',['../class_timeline.html#a51f95ea0689ee7cd4d15e618be91145a',1,'Timeline']]], - ['oldval',['oldval',['../class_set_int.html#aa76ca582811a0a59ad33a9928dde4ae8',1,'SetInt::oldval()'],['../class_set_long.html#a8f3e690903a4489f7c388a5c7a620838',1,'SetLong::oldval()'],['../class_set_double.html#a44650f77d2631bd31e8125b7cfdec7c1',1,'SetDouble::oldval()'],['../class_set_string.html#a084b343ea130e6414d580a91cf4e1aac',1,'SetString::oldval()']]], - ['olive',['olive',['../namespaceolive.html',1,'']]], - ['oliveaction',['OliveAction',['../class_olive_action.html',1,'OliveAction'],['../class_olive_action.html#ae90cf762a471f704e9ee4c30fd13b05f',1,'OliveAction::OliveAction()']]], - ['oliveglobal',['OliveGlobal',['../class_olive_global.html',1,'OliveGlobal'],['../class_olive_global.html#a8ee567e30178cd747396c6222970de1b',1,'OliveGlobal::OliveGlobal()']]], - ['oliveglobal_2ecpp',['oliveglobal.cpp',['../oliveglobal_8cpp.html',1,'']]], - ['oliveglobal_2eh',['oliveglobal.h',['../oliveglobal_8h.html',1,'']]], - ['on_5fenabled_5fchange',['on_enabled_change',['../class_collapsible_widget.html#a59df221573f035ef0f35c2d2f1bf8c95',1,'CollapsibleWidget']]], - ['on_5fvisible_5fchange',['on_visible_change',['../class_collapsible_widget.html#aca08f49034c1ca730e9074c38c95c09c',1,'CollapsibleWidget']]], - ['opacity',['opacity',['../class_transform_effect.html#a6e344b4e2c10b6a829fc6d587592b7da',1,'TransformEffect::opacity()'],['../struct_g_l_texture_coords.html#a07a8027aeefe2aa0e43d55aed093b63e',1,'GLTextureCoords::opacity()']]], - ['opacity_5ffield',['opacity_field',['../class_solid_effect.html#ac77a80b30e8f7a2742d5f1a981301da0',1,'SolidEffect']]], - ['open',['open',['../class_frei0r_effect.html#a135601faf4b787e2ddd6b7db89cd9b06',1,'Frei0rEffect::open()'],['../class_clip.html#aa7114a6af3d3b7661d050b56b68ae33d',1,'Clip::open()'],['../class_effect.html#a3c8aa2a3c1181418f1e7d93d11cf69dd',1,'Effect::open()']]], - ['open_5f',['open_',['../class_add_transition_command.html#a95a6650a70e2d62f533b5f8c4e64003a',1,'AddTransitionCommand']]], - ['open_5fabout_5fdialog',['open_about_dialog',['../class_olive_global.html#a161a4b6f88441f82f0e90331f39044fb',1,'OliveGlobal']]], - ['open_5faction_5fsearch',['open_action_search',['../class_olive_global.html#a9a255c3b943eca104abb777243d32dee',1,'OliveGlobal']]], - ['open_5fadvanced_5fvideo_5fdialog',['open_advanced_video_dialog',['../class_export_dialog.html#a0312faf4c117e29d4fa1b488552b3a2d',1,'ExportDialog']]], - ['open_5fclip',['open_clip',['../playback_8cpp.html#afb56c356097b3ba234ab32f0cf1eff63',1,'open_clip(ClipPtr clip, bool multithreaded): playback.cpp'],['../playback_8h.html#afb56c356097b3ba234ab32f0cf1eff63',1,'open_clip(ClipPtr clip, bool multithreaded): playback.cpp']]], - ['open_5fclip_5fworker',['open_clip_worker',['../cacher_8cpp.html#a703bffbf2f7285c98345a58189db3d22',1,'open_clip_worker(ClipPtr clip): cacher.cpp'],['../cacher_8h.html#a703bffbf2f7285c98345a58189db3d22',1,'open_clip_worker(ClipPtr clip): cacher.cpp']]], - ['open_5fcreate_5fproxy_5fdialog',['open_create_proxy_dialog',['../class_sources_common.html#a93f17ed9fe93773112df26baaa844419',1,'SourcesCommon']]], - ['open_5fdebug_5ffile',['open_debug_file',['../debug_8cpp.html#a5c4a1e796aabd9f4559ed55c740204cf',1,'open_debug_file(): debug.cpp'],['../debug_8h.html#a5c4a1e796aabd9f4559ed55c740204cf',1,'open_debug_file(): debug.cpp']]], - ['open_5fdebug_5flog',['open_debug_log',['../class_olive_global.html#a0c142bf5d9f0ab9753154b3926b08d37',1,'OliveGlobal']]], - ['open_5fdialog',['open_dialog',['../class_color_button.html#a84473448347bd52773f4d02b3edd4b27',1,'ColorButton']]], - ['open_5feffect',['open_effect',['../class_effect_controls.html#a8c89fc0e3bb2f10590c12e0dc1581761',1,'EffectControls']]], - ['open_5fexport_5fdialog',['open_export_dialog',['../class_olive_global.html#abb20f21708320f258d99a2737640129e',1,'OliveGlobal']]], - ['open_5flock',['open_lock',['../class_clip.html#a219fb3be16b00ed711966294c1305b4c',1,'Clip']]], - ['open_5fpreferences',['open_preferences',['../class_olive_global.html#a481765a0b424ca37c50326dbe97fb204',1,'OliveGlobal']]], - ['open_5fproject',['open_project',['../class_olive_global.html#aaa945027c0f85fe2b65ad7be5997e02f',1,'OliveGlobal']]], - ['open_5fproject_5fworker',['open_project_worker',['../class_olive_global.html#a59e4870f994af018fb71d3871872fd7e',1,'OliveGlobal']]], - ['open_5fproperties',['open_properties',['../class_project.html#a364c7e56f2d8b7cead5b57955ae93d13',1,'Project']]], - ['open_5frecent',['open_recent',['../class_main_window.html#ab95ebbd58814ace518c2a28382cfd447',1,'MainWindow::open_recent()'],['../class_olive_global.html#a7eaad3e9ab9637f48f2a3cbcb1628a42',1,'OliveGlobal::open_recent()']]], - ['open_5frecent_5ffrom_5fmenu',['open_recent_from_menu',['../class_menu_helper.html#ae46d3ef4f566734c6d38512933cb353b',1,'MenuHelper']]], - ['open_5fseq',['open_seq',['../class_load_thread.html#a989830cd4d0ad91b61d47c9c98cc73ac',1,'LoadThread']]], - ['open_5fsequence_5fproperties',['open_sequence_properties',['../class_timeline_widget.html#abc42f2f382b072ab5a386cd166236cb7',1,'TimelineWidget']]], - ['open_5fspeed_5fdialog',['open_speed_dialog',['../class_olive_global.html#abc5fb406d67e5f62602b3806fcab04f2',1,'OliveGlobal']]], - ['open_5ftext_5fedit',['open_text_edit',['../class_text_effect.html#a3bbeb580cdae24c4403c4f7a7870eccb',1,'TextEffect']]], - ['opened_5fclip_5f',['opened_clip_',['../class_delete_transition_command.html#ad1a299da1620a81ae4a028e800f99f20',1,'DeleteTransitionCommand']]], - ['opening_5ftransition',['opening_transition',['../class_clip.html#accdb3588296c9667f86711774ed2ab00',1,'Clip::opening_transition()'],['../class_delete_clip_action.html#a3a5e7677f5ec16268ef9ebcc236308f6',1,'DeleteClipAction::opening_transition()']]], - ['opts',['opts',['../class_clip.html#a4cd77f6f294dc7c1a3249d708cd5a60c',1,'Clip']]], - ['otreeview',['OTreeView',['../class_o_tree_view.html',1,'OTreeView'],['../class_o_tree_view.html#a73191efea9de9005d88218b16d5770e7',1,'OTreeView::OTreeView()']]], - ['otreeview_2ecpp',['otreeview.cpp',['../otreeview_8cpp.html',1,'']]], - ['otreeview_2eh',['otreeview.h',['../otreeview_8h.html',1,'']]], - ['out',['out',['../struct_ghost.html#a033936bb4e829ac343f7f9f2917bce16',1,'Ghost::out()'],['../struct_footage.html#a39b764140fcb13b53da800a796212be5',1,'Footage::out()'],['../struct_selection.html#a30d0d5f225910b05354b631d0169a918',1,'Selection::out()']]], - ['outline_5fbool',['outline_bool',['../class_text_effect.html#a48b50535f6b81e859143ec883147b3b0',1,'TextEffect']]], - ['outline_5fcolor',['outline_color',['../class_text_effect.html#a18901a913c4dea67462ffa768f78e3cd',1,'TextEffect']]], - ['outline_5fenable',['outline_enable',['../class_text_effect.html#ad934ced67ad403624a361c70315e8a2f',1,'TextEffect']]], - ['outline_5fwidth',['outline_width',['../class_text_effect.html#ad9dd27318bd603d867c7841a5ad7d60c',1,'TextEffect']]], - ['output_5frecording',['output_recording',['../audio_8cpp.html#ab03dd4165a5e852026f88bf7e37803c1',1,'audio.cpp']]], - ['outputs',['outputs',['../class_v_s_t_host.html#a294542a5e2edb9bf3d8874398068fa12',1,'VSTHost']]], - ['timeline',['timeline',['../namespaceolive_1_1timeline.html',1,'olive']]] -]; diff --git a/docs/html/search/classes_0.html b/docs/html/search/classes_0.html deleted file mode 100644 index b3c6ec6af..000000000 --- a/docs/html/search/classes_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_0.js b/docs/html/search/classes_0.js deleted file mode 100644 index 024724f9e..000000000 --- a/docs/html/search/classes_0.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['_5faeffect',['_AEffect',['../struct___a_effect.html',1,'']]], - ['_5fvstevent',['_VstEvent',['../struct___vst_event.html',1,'']]], - ['_5fvstevents',['_VstEvents',['../struct___vst_events.html',1,'']]], - ['_5fvstmidievent',['_VstMidiEvent',['../struct___vst_midi_event.html',1,'']]], - ['_5fvstparameterproperties',['_VstParameterProperties',['../struct___vst_parameter_properties.html',1,'']]], - ['_5fvsttimeinfo',['_VstTimeInfo',['../struct___vst_time_info.html',1,'']]] -]; diff --git a/docs/html/search/classes_1.html b/docs/html/search/classes_1.html deleted file mode 100644 index b744c4d15..000000000 --- a/docs/html/search/classes_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_1.js b/docs/html/search/classes_1.js deleted file mode 100644 index 7cf42b4ae..000000000 --- a/docs/html/search/classes_1.js +++ /dev/null @@ -1,16 +0,0 @@ -var searchData= -[ - ['aboutdialog',['AboutDialog',['../class_about_dialog.html',1,'']]], - ['actionsearch',['ActionSearch',['../class_action_search.html',1,'']]], - ['actionsearchentry',['ActionSearchEntry',['../class_action_search_entry.html',1,'']]], - ['actionsearchlist',['ActionSearchList',['../class_action_search_list.html',1,'']]], - ['addclipcommand',['AddClipCommand',['../class_add_clip_command.html',1,'']]], - ['addeffectcommand',['AddEffectCommand',['../class_add_effect_command.html',1,'']]], - ['addmarkeraction',['AddMarkerAction',['../class_add_marker_action.html',1,'']]], - ['addmediacommand',['AddMediaCommand',['../class_add_media_command.html',1,'']]], - ['addtransitioncommand',['AddTransitionCommand',['../class_add_transition_command.html',1,'']]], - ['advancedvideodialog',['AdvancedVideoDialog',['../class_advanced_video_dialog.html',1,'']]], - ['audiomonitor',['AudioMonitor',['../class_audio_monitor.html',1,'']]], - ['audionoiseeffect',['AudioNoiseEffect',['../class_audio_noise_effect.html',1,'']]], - ['audiosenderthread',['AudioSenderThread',['../class_audio_sender_thread.html',1,'']]] -]; diff --git a/docs/html/search/classes_10.html b/docs/html/search/classes_10.html deleted file mode 100644 index 269003271..000000000 --- a/docs/html/search/classes_10.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_10.js b/docs/html/search/classes_10.js deleted file mode 100644 index 909a9da1b..000000000 --- a/docs/html/search/classes_10.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['texteditdialog',['TextEditDialog',['../class_text_edit_dialog.html',1,'']]], - ['texteditex',['TextEditEx',['../class_text_edit_ex.html',1,'']]], - ['texteffect',['TextEffect',['../class_text_effect.html',1,'']]], - ['timecodeeffect',['TimecodeEffect',['../class_timecode_effect.html',1,'']]], - ['timeline',['Timeline',['../class_timeline.html',1,'']]], - ['timelineheader',['TimelineHeader',['../class_timeline_header.html',1,'']]], - ['timelinetrackheight',['TimelineTrackHeight',['../struct_timeline_track_height.html',1,'']]], - ['timelinewidget',['TimelineWidget',['../class_timeline_widget.html',1,'']]], - ['toneeffect',['ToneEffect',['../class_tone_effect.html',1,'']]], - ['transformeffect',['TransformEffect',['../class_transform_effect.html',1,'']]], - ['transition',['Transition',['../class_transition.html',1,'']]] -]; diff --git a/docs/html/search/classes_11.html b/docs/html/search/classes_11.html deleted file mode 100644 index e9f8eabba..000000000 --- a/docs/html/search/classes_11.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_11.js b/docs/html/search/classes_11.js deleted file mode 100644 index f8d43b378..000000000 --- a/docs/html/search/classes_11.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['updatefootagetooltip',['UpdateFootageTooltip',['../class_update_footage_tooltip.html',1,'']]], - ['updateviewer',['UpdateViewer',['../class_update_viewer.html',1,'']]] -]; diff --git a/docs/html/search/classes_12.html b/docs/html/search/classes_12.html deleted file mode 100644 index c20b92628..000000000 --- a/docs/html/search/classes_12.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_12.js b/docs/html/search/classes_12.js deleted file mode 100644 index ff7e74412..000000000 --- a/docs/html/search/classes_12.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['videocodecparams',['VideoCodecParams',['../struct_video_codec_params.html',1,'']]], - ['viewer',['Viewer',['../class_viewer.html',1,'']]], - ['viewercontainer',['ViewerContainer',['../class_viewer_container.html',1,'']]], - ['viewerwidget',['ViewerWidget',['../class_viewer_widget.html',1,'']]], - ['viewerwindow',['ViewerWindow',['../class_viewer_window.html',1,'']]], - ['voideffect',['VoidEffect',['../class_void_effect.html',1,'']]], - ['volumeeffect',['VolumeEffect',['../class_volume_effect.html',1,'']]], - ['vsthost',['VSTHost',['../class_v_s_t_host.html',1,'']]], - ['vstrect',['VSTRect',['../struct_v_s_t_rect.html',1,'']]] -]; diff --git a/docs/html/search/classes_2.html b/docs/html/search/classes_2.html deleted file mode 100644 index 7878acb4f..000000000 --- a/docs/html/search/classes_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_2.js b/docs/html/search/classes_2.js deleted file mode 100644 index b82cfcc6a..000000000 --- a/docs/html/search/classes_2.js +++ /dev/null @@ -1,22 +0,0 @@ -var searchData= -[ - ['cacher',['Cacher',['../class_cacher.html',1,'']]], - ['changesequenceaction',['ChangeSequenceAction',['../class_change_sequence_action.html',1,'']]], - ['checkboxcommand',['CheckboxCommand',['../class_checkbox_command.html',1,'']]], - ['checkboxex',['CheckboxEx',['../class_checkbox_ex.html',1,'']]], - ['clickablelabel',['ClickableLabel',['../class_clickable_label.html',1,'']]], - ['clip',['Clip',['../class_clip.html',1,'']]], - ['closeallclipscommand',['CloseAllClipsCommand',['../class_close_all_clips_command.html',1,'']]], - ['collapsiblewidget',['CollapsibleWidget',['../class_collapsible_widget.html',1,'']]], - ['collapsiblewidgetheader',['CollapsibleWidgetHeader',['../class_collapsible_widget_header.html',1,'']]], - ['colorbutton',['ColorButton',['../class_color_button.html',1,'']]], - ['colorcommand',['ColorCommand',['../class_color_command.html',1,'']]], - ['comboaction',['ComboAction',['../class_combo_action.html',1,'']]], - ['comboboxex',['ComboBoxEx',['../class_combo_box_ex.html',1,'']]], - ['comboboxexcommand',['ComboBoxExCommand',['../class_combo_box_ex_command.html',1,'']]], - ['composesequenceparams',['ComposeSequenceParams',['../struct_compose_sequence_params.html',1,'']]], - ['config',['Config',['../struct_config.html',1,'']]], - ['cornerpineffect',['CornerPinEffect',['../class_corner_pin_effect.html',1,'']]], - ['crossdissolvetransition',['CrossDissolveTransition',['../class_cross_dissolve_transition.html',1,'']]], - ['cubetransition',['CubeTransition',['../class_cube_transition.html',1,'']]] -]; diff --git a/docs/html/search/classes_3.html b/docs/html/search/classes_3.html deleted file mode 100644 index c231d86f0..000000000 --- a/docs/html/search/classes_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_3.js b/docs/html/search/classes_3.js deleted file mode 100644 index 7013423f8..000000000 --- a/docs/html/search/classes_3.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['debugdialog',['DebugDialog',['../class_debug_dialog.html',1,'']]], - ['deleteclipaction',['DeleteClipAction',['../class_delete_clip_action.html',1,'']]], - ['deletemarkeraction',['DeleteMarkerAction',['../class_delete_marker_action.html',1,'']]], - ['deletemediacommand',['DeleteMediaCommand',['../class_delete_media_command.html',1,'']]], - ['deletetransitioncommand',['DeleteTransitionCommand',['../class_delete_transition_command.html',1,'']]], - ['demonotice',['DemoNotice',['../class_demo_notice.html',1,'']]] -]; diff --git a/docs/html/search/classes_4.html b/docs/html/search/classes_4.html deleted file mode 100644 index 86dd4384f..000000000 --- a/docs/html/search/classes_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_4.js b/docs/html/search/classes_4.js deleted file mode 100644 index e12e8ee64..000000000 --- a/docs/html/search/classes_4.js +++ /dev/null @@ -1,20 +0,0 @@ -var searchData= -[ - ['editsequencecommand',['EditSequenceCommand',['../class_edit_sequence_command.html',1,'']]], - ['effect',['Effect',['../class_effect.html',1,'']]], - ['effectcontrols',['EffectControls',['../class_effect_controls.html',1,'']]], - ['effectdeletecommand',['EffectDeleteCommand',['../class_effect_delete_command.html',1,'']]], - ['effectfield',['EffectField',['../class_effect_field.html',1,'']]], - ['effectfieldundo',['EffectFieldUndo',['../class_effect_field_undo.html',1,'']]], - ['effectgizmo',['EffectGizmo',['../class_effect_gizmo.html',1,'']]], - ['effectinit',['EffectInit',['../class_effect_init.html',1,'']]], - ['effectkeyframe',['EffectKeyframe',['../class_effect_keyframe.html',1,'']]], - ['effectmeta',['EffectMeta',['../struct_effect_meta.html',1,'']]], - ['effectrow',['EffectRow',['../class_effect_row.html',1,'']]], - ['effectsarea',['EffectsArea',['../class_effects_area.html',1,'']]], - ['embeddedfilechooser',['EmbeddedFileChooser',['../class_embedded_file_chooser.html',1,'']]], - ['exponentialfadetransition',['ExponentialFadeTransition',['../class_exponential_fade_transition.html',1,'']]], - ['exportdialog',['ExportDialog',['../class_export_dialog.html',1,'']]], - ['exportparams',['ExportParams',['../struct_export_params.html',1,'']]], - ['exportthread',['ExportThread',['../class_export_thread.html',1,'']]] -]; diff --git a/docs/html/search/classes_5.html b/docs/html/search/classes_5.html deleted file mode 100644 index 7aaef4df3..000000000 --- a/docs/html/search/classes_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_5.js b/docs/html/search/classes_5.js deleted file mode 100644 index 5ff4eb170..000000000 --- a/docs/html/search/classes_5.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['fillleftrighteffect',['FillLeftRightEffect',['../class_fill_left_right_effect.html',1,'']]], - ['flowlayout',['FlowLayout',['../class_flow_layout.html',1,'']]], - ['focusfilter',['FocusFilter',['../class_focus_filter.html',1,'']]], - ['fontcombobox',['FontCombobox',['../class_font_combobox.html',1,'']]], - ['footage',['Footage',['../struct_footage.html',1,'']]], - ['footagestream',['FootageStream',['../struct_footage_stream.html',1,'']]], - ['frei0reffect',['Frei0rEffect',['../class_frei0r_effect.html',1,'']]] -]; diff --git a/docs/html/search/classes_6.html b/docs/html/search/classes_6.html deleted file mode 100644 index aad7834e8..000000000 --- a/docs/html/search/classes_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_6.js b/docs/html/search/classes_6.js deleted file mode 100644 index 6c908c333..000000000 --- a/docs/html/search/classes_6.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['ghost',['Ghost',['../struct_ghost.html',1,'']]], - ['gltexturecoords',['GLTextureCoords',['../struct_g_l_texture_coords.html',1,'']]], - ['grapheditor',['GraphEditor',['../class_graph_editor.html',1,'']]], - ['graphview',['GraphView',['../class_graph_view.html',1,'']]] -]; diff --git a/docs/html/search/classes_7.html b/docs/html/search/classes_7.html deleted file mode 100644 index 794e3948f..000000000 --- a/docs/html/search/classes_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_7.js b/docs/html/search/classes_7.js deleted file mode 100644 index d013a1010..000000000 --- a/docs/html/search/classes_7.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['keyframedelete',['KeyframeDelete',['../class_keyframe_delete.html',1,'']]], - ['keyframefieldset',['KeyframeFieldSet',['../class_keyframe_field_set.html',1,'']]], - ['keyframenavigator',['KeyframeNavigator',['../class_keyframe_navigator.html',1,'']]], - ['keyframeview',['KeyframeView',['../class_keyframe_view.html',1,'']]], - ['keysequenceeditor',['KeySequenceEditor',['../class_key_sequence_editor.html',1,'']]] -]; diff --git a/docs/html/search/classes_8.html b/docs/html/search/classes_8.html deleted file mode 100644 index 1ba60c903..000000000 --- a/docs/html/search/classes_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_8.js b/docs/html/search/classes_8.js deleted file mode 100644 index 7e529c6e7..000000000 --- a/docs/html/search/classes_8.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['labelslider',['LabelSlider',['../class_label_slider.html',1,'']]], - ['linearfadetransition',['LinearFadeTransition',['../class_linear_fade_transition.html',1,'']]], - ['linkcommand',['LinkCommand',['../class_link_command.html',1,'']]], - ['loaddialog',['LoadDialog',['../class_load_dialog.html',1,'']]], - ['loadthread',['LoadThread',['../class_load_thread.html',1,'']]], - ['logarithmicfadetransition',['LogarithmicFadeTransition',['../class_logarithmic_fade_transition.html',1,'']]] -]; diff --git a/docs/html/search/classes_9.html b/docs/html/search/classes_9.html deleted file mode 100644 index 565e7d7a0..000000000 --- a/docs/html/search/classes_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_9.js b/docs/html/search/classes_9.js deleted file mode 100644 index ff1c820e8..000000000 --- a/docs/html/search/classes_9.js +++ /dev/null @@ -1,15 +0,0 @@ -var searchData= -[ - ['mainwindow',['MainWindow',['../class_main_window.html',1,'']]], - ['marker',['Marker',['../struct_marker.html',1,'']]], - ['media',['Media',['../class_media.html',1,'']]], - ['mediaiconservice',['MediaIconService',['../class_media_icon_service.html',1,'']]], - ['mediamove',['MediaMove',['../class_media_move.html',1,'']]], - ['mediapropertiesdialog',['MediaPropertiesDialog',['../class_media_properties_dialog.html',1,'']]], - ['mediarename',['MediaRename',['../class_media_rename.html',1,'']]], - ['menuhelper',['MenuHelper',['../class_menu_helper.html',1,'']]], - ['modifytransitioncommand',['ModifyTransitionCommand',['../class_modify_transition_command.html',1,'']]], - ['moveclipaction',['MoveClipAction',['../class_move_clip_action.html',1,'']]], - ['moveeffectcommand',['MoveEffectCommand',['../class_move_effect_command.html',1,'']]], - ['movemarkeraction',['MoveMarkerAction',['../class_move_marker_action.html',1,'']]] -]; diff --git a/docs/html/search/classes_a.html b/docs/html/search/classes_a.html deleted file mode 100644 index ca7479a3d..000000000 --- a/docs/html/search/classes_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_a.js b/docs/html/search/classes_a.js deleted file mode 100644 index 0c059820a..000000000 --- a/docs/html/search/classes_a.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['newsequencecommand',['NewSequenceCommand',['../class_new_sequence_command.html',1,'']]], - ['newsequencedialog',['NewSequenceDialog',['../class_new_sequence_dialog.html',1,'']]] -]; diff --git a/docs/html/search/classes_b.html b/docs/html/search/classes_b.html deleted file mode 100644 index ef8480206..000000000 --- a/docs/html/search/classes_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_b.js b/docs/html/search/classes_b.js deleted file mode 100644 index 3a3de9fae..000000000 --- a/docs/html/search/classes_b.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['oliveaction',['OliveAction',['../class_olive_action.html',1,'']]], - ['oliveglobal',['OliveGlobal',['../class_olive_global.html',1,'']]], - ['otreeview',['OTreeView',['../class_o_tree_view.html',1,'']]] -]; diff --git a/docs/html/search/classes_c.html b/docs/html/search/classes_c.html deleted file mode 100644 index 052ea3c79..000000000 --- a/docs/html/search/classes_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_c.js b/docs/html/search/classes_c.js deleted file mode 100644 index 0214d91e0..000000000 --- a/docs/html/search/classes_c.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['paneffect',['PanEffect',['../class_pan_effect.html',1,'']]], - ['panel',['Panel',['../class_panel.html',1,'']]], - ['playbutton',['PlayButton',['../class_play_button.html',1,'']]], - ['preferencesdialog',['PreferencesDialog',['../class_preferences_dialog.html',1,'']]], - ['previewgenerator',['PreviewGenerator',['../class_preview_generator.html',1,'']]], - ['project',['Project',['../class_project.html',1,'']]], - ['projectfilter',['ProjectFilter',['../class_project_filter.html',1,'']]], - ['projectmodel',['ProjectModel',['../class_project_model.html',1,'']]], - ['proxydialog',['ProxyDialog',['../class_proxy_dialog.html',1,'']]], - ['proxygenerator',['ProxyGenerator',['../class_proxy_generator.html',1,'']]], - ['proxyinfo',['ProxyInfo',['../struct_proxy_info.html',1,'']]] -]; diff --git a/docs/html/search/classes_d.html b/docs/html/search/classes_d.html deleted file mode 100644 index de68b5ab8..000000000 --- a/docs/html/search/classes_d.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_d.js b/docs/html/search/classes_d.js deleted file mode 100644 index 09ab9fd61..000000000 --- a/docs/html/search/classes_d.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['qpainterwrapper',['QPainterWrapper',['../class_q_painter_wrapper.html',1,'']]] -]; diff --git a/docs/html/search/classes_e.html b/docs/html/search/classes_e.html deleted file mode 100644 index 4ba8b8292..000000000 --- a/docs/html/search/classes_e.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_e.js b/docs/html/search/classes_e.js deleted file mode 100644 index 66355c83f..000000000 --- a/docs/html/search/classes_e.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['refreshclips',['RefreshClips',['../class_refresh_clips.html',1,'']]], - ['reloadeffectscommand',['ReloadEffectsCommand',['../class_reload_effects_command.html',1,'']]], - ['removeclipsfromclipboard',['RemoveClipsFromClipboard',['../class_remove_clips_from_clipboard.html',1,'']]], - ['renameclipcommand',['RenameClipCommand',['../class_rename_clip_command.html',1,'']]], - ['renderthread',['RenderThread',['../class_render_thread.html',1,'']]], - ['replaceclipmediacommand',['ReplaceClipMediaCommand',['../class_replace_clip_media_command.html',1,'']]], - ['replaceclipmediadialog',['ReplaceClipMediaDialog',['../class_replace_clip_media_dialog.html',1,'']]], - ['replacemediacommand',['ReplaceMediaCommand',['../class_replace_media_command.html',1,'']]], - ['resizablescrollbar',['ResizableScrollBar',['../class_resizable_scroll_bar.html',1,'']]], - ['rippleaction',['RippleAction',['../class_ripple_action.html',1,'']]], - ['runtimeconfig',['RuntimeConfig',['../struct_runtime_config.html',1,'']]] -]; diff --git a/docs/html/search/classes_f.html b/docs/html/search/classes_f.html deleted file mode 100644 index e85049739..000000000 --- a/docs/html/search/classes_f.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/classes_f.js b/docs/html/search/classes_f.js deleted file mode 100644 index 863fd0b84..000000000 --- a/docs/html/search/classes_f.js +++ /dev/null @@ -1,25 +0,0 @@ -var searchData= -[ - ['scrollarea',['ScrollArea',['../class_scroll_area.html',1,'']]], - ['selection',['Selection',['../struct_selection.html',1,'']]], - ['sequence',['Sequence',['../class_sequence.html',1,'']]], - ['setautoscaleaction',['SetAutoscaleAction',['../class_set_autoscale_action.html',1,'']]], - ['setbool',['SetBool',['../class_set_bool.html',1,'']]], - ['setdouble',['SetDouble',['../class_set_double.html',1,'']]], - ['seteffectdata',['SetEffectData',['../class_set_effect_data.html',1,'']]], - ['setint',['SetInt',['../class_set_int.html',1,'']]], - ['setkeyframing',['SetKeyframing',['../class_set_keyframing.html',1,'']]], - ['setlong',['SetLong',['../class_set_long.html',1,'']]], - ['setpointer',['SetPointer',['../class_set_pointer.html',1,'']]], - ['setqvariant',['SetQVariant',['../class_set_q_variant.html',1,'']]], - ['setselectionscommand',['SetSelectionsCommand',['../class_set_selections_command.html',1,'']]], - ['setspeedaction',['SetSpeedAction',['../class_set_speed_action.html',1,'']]], - ['setstring',['SetString',['../class_set_string.html',1,'']]], - ['settimelineinoutcommand',['SetTimelineInOutCommand',['../class_set_timeline_in_out_command.html',1,'']]], - ['shakeeffect',['ShakeEffect',['../class_shake_effect.html',1,'']]], - ['solideffect',['SolidEffect',['../class_solid_effect.html',1,'']]], - ['sourceiconview',['SourceIconView',['../class_source_icon_view.html',1,'']]], - ['sourcescommon',['SourcesCommon',['../class_sources_common.html',1,'']]], - ['sourcetable',['SourceTable',['../class_source_table.html',1,'']]], - ['speeddialog',['SpeedDialog',['../class_speed_dialog.html',1,'']]] -]; diff --git a/docs/html/search/close.png b/docs/html/search/close.png deleted file mode 100644 index 9342d3dfe..000000000 Binary files a/docs/html/search/close.png and /dev/null differ diff --git a/docs/html/search/defines_0.html b/docs/html/search/defines_0.html deleted file mode 100644 index dbe0642ef..000000000 --- a/docs/html/search/defines_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_0.js b/docs/html/search/defines_0.js deleted file mode 100644 index 6bd7a09b6..000000000 --- a/docs/html/search/defines_0.js +++ /dev/null @@ -1,56 +0,0 @@ -var searchData= -[ - ['audio_5fbuffer_5fpadding',['AUDIO_BUFFER_PADDING',['../cacher_8cpp.html#adc997cbf687898f8f036a6bd2667f192',1,'cacher.cpp']]], - ['audio_5fibuffer_5fsize',['audio_ibuffer_size',['../audio_8h.html#a515bcc4d22d8a18cb891ef2401783130',1,'audio.h']]], - ['audio_5fmonitor_5fgap',['AUDIO_MONITOR_GAP',['../audiomonitor_8cpp.html#a5fb5618596fcce111af9f5c5ae312159',1,'audiomonitor.cpp']]], - ['audio_5fmonitor_5fpeak_5fheight',['AUDIO_MONITOR_PEAK_HEIGHT',['../audiomonitor_8cpp.html#a1b9680468dd905f66317023b9ef9cc6b',1,'audiomonitor.cpp']]], - ['audiomasterautomate',['audioMasterAutomate',['../vestige_8h.html#a55fb48fa76f98d785e34b83f025d3934',1,'vestige.h']]], - ['audiomasterbeginedit',['audioMasterBeginEdit',['../vestige_8h.html#a9a53b948d542f1b78a0df99c85b5b7a0',1,'vestige.h']]], - ['audiomastercando',['audioMasterCanDo',['../vestige_8h.html#a59fd98591c3b85984601f76932d5100e',1,'vestige.h']]], - ['audiomasterclosefileselector',['audioMasterCloseFileSelector',['../vestige_8h.html#a850ab53eb6244f020ac834fbe713b4b3',1,'vestige.h']]], - ['audiomasterclosewindow',['audioMasterCloseWindow',['../vestige_8h.html#a1c42dd49edf068ed1366abb294d5c723',1,'vestige.h']]], - ['audiomastercurrentid',['audioMasterCurrentId',['../vestige_8h.html#a3e801323b80dac5e03832efdb6b8ec53',1,'vestige.h']]], - ['audiomastereditfile',['audioMasterEditFile',['../vestige_8h.html#a096b26e4b0352ec41a51324a37839c03',1,'vestige.h']]], - ['audiomasterendedit',['audioMasterEndEdit',['../vestige_8h.html#ad66d15b4e2ff1d03c8e22e809e9c17a0',1,'vestige.h']]], - ['audiomastergetautomationstate',['audioMasterGetAutomationState',['../vestige_8h.html#a7423873d18326429110780e7dc02aad3',1,'vestige.h']]], - ['audiomastergetblocksize',['audioMasterGetBlockSize',['../vestige_8h.html#aa34c341e9a5779bcbdc9bd30c0dec399',1,'vestige.h']]], - ['audiomastergetchunkfile',['audioMasterGetChunkFile',['../vestige_8h.html#a8d32ee899238383c74da927b0d6a8bfb',1,'vestige.h']]], - ['audiomastergetcurrentprocesslevel',['audioMasterGetCurrentProcessLevel',['../vestige_8h.html#abcf6612c823c1a27f50aeb349f88cd07',1,'vestige.h']]], - ['audiomastergetdirectory',['audioMasterGetDirectory',['../vestige_8h.html#a56c16a26bd8ebb588ddcf94882badfe9',1,'vestige.h']]], - ['audiomastergetinputlatency',['audioMasterGetInputLatency',['../vestige_8h.html#adb23b2dd2c5a0720044ff8eb40e40936',1,'vestige.h']]], - ['audiomastergetinputspeakerarrangement',['audioMasterGetInputSpeakerArrangement',['../vestige_8h.html#a161cc7500e2640cb68692f11d291a83e',1,'vestige.h']]], - ['audiomastergetlanguage',['audioMasterGetLanguage',['../vestige_8h.html#a35a42c922458590679ef2ba2594d1255',1,'vestige.h']]], - ['audiomastergetnextplug',['audioMasterGetNextPlug',['../vestige_8h.html#a9cbc2c8cb83589711de61ddd3f6db553',1,'vestige.h']]], - ['audiomastergetnumautomatableparameters',['audioMasterGetNumAutomatableParameters',['../vestige_8h.html#a5fe8e41e979b2339f3afefa0606e6774',1,'vestige.h']]], - ['audiomastergetoutputlatency',['audioMasterGetOutputLatency',['../vestige_8h.html#a9984afca98bbdc5f0e580916951b738d',1,'vestige.h']]], - ['audiomastergetparameterquantization',['audioMasterGetParameterQuantization',['../vestige_8h.html#af2bfc04fcf2833826aab01afc0037990',1,'vestige.h']]], - ['audiomastergetpreviousplug',['audioMasterGetPreviousPlug',['../vestige_8h.html#a897447d54493bc92a184dbd3dcd38f12',1,'vestige.h']]], - ['audiomastergetproductstring',['audioMasterGetProductString',['../vestige_8h.html#aed9a12766960db991ed0c24fd14f78e3',1,'vestige.h']]], - ['audiomastergetsamplerate',['audioMasterGetSampleRate',['../vestige_8h.html#ac346e8d4964bd9166c1faf98fc12d824',1,'vestige.h']]], - ['audiomastergetspeakerarrangement',['audioMasterGetSpeakerArrangement',['../vestige_8h.html#a97bc3b82e5857c9db8158c09dbaecdcc',1,'vestige.h']]], - ['audiomastergettime',['audioMasterGetTime',['../vestige_8h.html#a496097e63051592cf2d0f3a82a3ccc39',1,'vestige.h']]], - ['audiomastergetvendorstring',['audioMasterGetVendorString',['../vestige_8h.html#a3f7c73927d875f0cf063d8492822aafd',1,'vestige.h']]], - ['audiomastergetvendorversion',['audioMasterGetVendorVersion',['../vestige_8h.html#ad8d83ddb5cfe4d445ddd1d7d971e3bc1',1,'vestige.h']]], - ['audiomasteridle',['audioMasterIdle',['../vestige_8h.html#aed6d192c86ca6acd068d2286ec5a9f18',1,'vestige.h']]], - ['audiomasteriochanged',['audioMasterIOChanged',['../vestige_8h.html#ac6e4b91ff965acf330b34ac7500e1236',1,'vestige.h']]], - ['audiomasterneedidle',['audioMasterNeedIdle',['../vestige_8h.html#aa73e8a50a73eadc0eaf04096c8130c76',1,'vestige.h']]], - ['audiomasterofflinegetcurrentmetapass',['audioMasterOfflineGetCurrentMetaPass',['../vestige_8h.html#a673d9a2850b6c9e79258a9effff23947',1,'vestige.h']]], - ['audiomasterofflinegetcurrentpass',['audioMasterOfflineGetCurrentPass',['../vestige_8h.html#a402a015aadddc51b05ee4a2d2860ec23',1,'vestige.h']]], - ['audiomasterofflineread',['audioMasterOfflineRead',['../vestige_8h.html#a56f9c59ee29fd45ca30bb30ef60dc10f',1,'vestige.h']]], - ['audiomasterofflinestart',['audioMasterOfflineStart',['../vestige_8h.html#ac711efc3521b6e2b52357fd09b240f21',1,'vestige.h']]], - ['audiomasterofflinewrite',['audioMasterOfflineWrite',['../vestige_8h.html#a431d11edba526c08d7bd25444f0c0106',1,'vestige.h']]], - ['audiomasteropenfileselector',['audioMasterOpenFileSelector',['../vestige_8h.html#a3df07df293ed5e47f93f397d46b9786a',1,'vestige.h']]], - ['audiomasteropenwindow',['audioMasterOpenWindow',['../vestige_8h.html#a47892f46a8dc07912b02ded3b3345989',1,'vestige.h']]], - ['audiomasterpinconnected',['audioMasterPinConnected',['../vestige_8h.html#a1462cc2072ae3681521d00c9bd1e2213',1,'vestige.h']]], - ['audiomasterprocessevents',['audioMasterProcessEvents',['../vestige_8h.html#a7842d522b424ed9d1d72464e38095d03',1,'vestige.h']]], - ['audiomasterseticon',['audioMasterSetIcon',['../vestige_8h.html#a6a76f44f54796d24af7d0e84971231b0',1,'vestige.h']]], - ['audiomastersetoutputsamplerate',['audioMasterSetOutputSampleRate',['../vestige_8h.html#abe5bfb99bb496e519f62bd8beb09d194',1,'vestige.h']]], - ['audiomastersettime',['audioMasterSetTime',['../vestige_8h.html#ad6e4102893ec9cdd1f5ddbc8c96c1b6a',1,'vestige.h']]], - ['audiomastersizewindow',['audioMasterSizeWindow',['../vestige_8h.html#a5d6d3f721964d313148b4b69f5597da9',1,'vestige.h']]], - ['audiomastertempoat',['audioMasterTempoAt',['../vestige_8h.html#af7c14603de879ced58d7198a46c2cf08',1,'vestige.h']]], - ['audiomasterupdatedisplay',['audioMasterUpdateDisplay',['../vestige_8h.html#a7ed00a28a66f37d765ceaae05e992569',1,'vestige.h']]], - ['audiomastervendorspecific',['audioMasterVendorSpecific',['../vestige_8h.html#aa38a9329f60e32de448917efe5ebd62e',1,'vestige.h']]], - ['audiomasterversion',['audioMasterVersion',['../vestige_8h.html#ac74a1d598456f90d7d93f4ff72c38d5b',1,'vestige.h']]], - ['audiomasterwantmidi',['audioMasterWantMidi',['../vestige_8h.html#af8ac27ff4d247bfd11e95996c796a69b',1,'vestige.h']]], - ['audiomasterwillreplaceoraccumulate',['audioMasterWillReplaceOrAccumulate',['../vestige_8h.html#a891160800fedc600001a05b9652f4ce7',1,'vestige.h']]] -]; diff --git a/docs/html/search/defines_1.html b/docs/html/search/defines_1.html deleted file mode 100644 index 7af932407..000000000 --- a/docs/html/search/defines_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_1.js b/docs/html/search/defines_1.js deleted file mode 100644 index 4acf35094..000000000 --- a/docs/html/search/defines_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['block_5fsize',['BLOCK_SIZE',['../vsthost_8cpp.html#ad51ded0bbd705f02f73fc60c0b721ced',1,'vsthost.cpp']]] -]; diff --git a/docs/html/search/defines_2.html b/docs/html/search/defines_2.html deleted file mode 100644 index 462922115..000000000 --- a/docs/html/search/defines_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_2.js b/docs/html/search/defines_2.js deleted file mode 100644 index 33f8ade1a..000000000 --- a/docs/html/search/defines_2.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['cconst',['CCONST',['../vestige_8h.html#abe9ebeb8fb703ceffa08dc69d920a27d',1,'vestige.h']]], - ['channel_5fcount',['CHANNEL_COUNT',['../vsthost_8cpp.html#a29e42927003b0aa647ee45965f4ccb07',1,'vsthost.cpp']]], - ['click_5frange',['CLICK_RANGE',['../timelineheader_8cpp.html#a198d8388773d1f75d1f6df984cdae61f',1,'timelineheader.cpp']]], - ['clipboard_5ftype_5fclip',['CLIPBOARD_TYPE_CLIP',['../clipboard_8h.html#a2ee044c6833e37444ce7b6ee1e96269d',1,'clipboard.h']]], - ['clipboard_5ftype_5feffect',['CLIPBOARD_TYPE_EFFECT',['../clipboard_8h.html#add80b5f57a067039f7c28142be386add',1,'clipboard.h']]], - ['compression_5ftype_5fcbr',['COMPRESSION_TYPE_CBR',['../exportthread_8h.html#ad80727ec5896454335fa2f70baa05041',1,'exportthread.h']]], - ['compression_5ftype_5fcfr',['COMPRESSION_TYPE_CFR',['../exportthread_8h.html#ab1e0eb8db91ea1752e08b43fee22df34',1,'exportthread.h']]], - ['compression_5ftype_5ftargetbr',['COMPRESSION_TYPE_TARGETBR',['../exportthread_8h.html#aa517061361563c44ffdbbe58c85b9a29',1,'exportthread.h']]], - ['compression_5ftype_5ftargetsize',['COMPRESSION_TYPE_TARGETSIZE',['../exportthread_8h.html#abd74ba845479d94492086e596b6b48fc',1,'exportthread.h']]] -]; diff --git a/docs/html/search/defines_3.html b/docs/html/search/defines_3.html deleted file mode 100644 index a62cf61ab..000000000 --- a/docs/html/search/defines_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_3.js b/docs/html/search/defines_3.js deleted file mode 100644 index 493c7a004..000000000 --- a/docs/html/search/defines_3.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['default_5fcss',['DEFAULT_CSS',['../mainwindow_8cpp.html#a47259bb0c5a8e9233230e7d50271f659',1,'mainwindow.cpp']]], - ['dout',['dout',['../debug_8h.html#a61fed2eba7bb9f87e1b1ab5f68be592a',1,'debug.h']]] -]; diff --git a/docs/html/search/defines_4.html b/docs/html/search/defines_4.html deleted file mode 100644 index ebd8a2040..000000000 --- a/docs/html/search/defines_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_4.js b/docs/html/search/defines_4.js deleted file mode 100644 index fc7751eac..000000000 --- a/docs/html/search/defines_4.js +++ /dev/null @@ -1,37 +0,0 @@ -var searchData= -[ - ['effbeginsetprogram',['effBeginSetProgram',['../vestige_8h.html#a0c6c00bdfe9feca6d015f4f749dadc29',1,'vestige.h']]], - ['effcando',['effCanDo',['../vestige_8h.html#a9fbce0f3ce9fd3c07ef002b541b55a39',1,'vestige.h']]], - ['effclose',['effClose',['../vestige_8h.html#a15840a0ae5c28fa71dcdc116fe754ddb',1,'vestige.h']]], - ['effeditclose',['effEditClose',['../vestige_8h.html#acd64c58a6b237181b97d4ec0630a7901',1,'vestige.h']]], - ['effeditgetrect',['effEditGetRect',['../vestige_8h.html#a1a6781cf24b13aeba9def8e3258089ed',1,'vestige.h']]], - ['effeditidle',['effEditIdle',['../vestige_8h.html#a57a1ff84d6acd33e3d3fff8cc58f091e',1,'vestige.h']]], - ['effeditopen',['effEditOpen',['../vestige_8h.html#acdb66bd126b6d9614e7c2f8c7481af68',1,'vestige.h']]], - ['effedittop',['effEditTop',['../vestige_8h.html#a8b62f1714b57281ac8acdbf23b1b7775',1,'vestige.h']]], - ['effendsetprogram',['effEndSetProgram',['../vestige_8h.html#a10cc2ad2d1b9474b61f695f840ef6ec7',1,'vestige.h']]], - ['effflagscanreplacing',['effFlagsCanReplacing',['../vestige_8h.html#aaff5ae36a8b5d53f3604ba9a63f9ca15',1,'vestige.h']]], - ['effflagshaseditor',['effFlagsHasEditor',['../vestige_8h.html#a8ef0b5e603548d4f4e23b031f9715653',1,'vestige.h']]], - ['effflagsissynth',['effFlagsIsSynth',['../vestige_8h.html#a62e3dc84165b974447a64ceb6ce087fb',1,'vestige.h']]], - ['effgetchunk',['effGetChunk',['../vsthost_8cpp.html#ab5afba825226b7b2456dcd3171c94d86',1,'vsthost.cpp']]], - ['effgeteffectname',['effGetEffectName',['../vestige_8h.html#af9ba4b970222baab29f494c387e0c3da',1,'vestige.h']]], - ['effgetparameterproperties',['effGetParameterProperties',['../vestige_8h.html#a7353a1e73d1eb5a76f3deb12ebf3a5ce',1,'vestige.h']]], - ['effgetparamname',['effGetParamName',['../vestige_8h.html#ac6084d050d720538372407d12ad96f44',1,'vestige.h']]], - ['effgetplugcategory',['effGetPlugCategory',['../vestige_8h.html#a6040d2d2d0609cf2c6224872d529d22e',1,'vestige.h']]], - ['effgetproductstring',['effGetProductString',['../vestige_8h.html#a447d3c5c43ae0c76a67589c751fbf8dd',1,'vestige.h']]], - ['effgetprogram',['effGetProgram',['../vestige_8h.html#a56b6471348ea95093d17516f2eb72dd8',1,'vestige.h']]], - ['effgetprogramname',['effGetProgramName',['../vestige_8h.html#aaf80841a7ddf842981bcff37641747db',1,'vestige.h']]], - ['effgetvendorstring',['effGetVendorString',['../vestige_8h.html#acb242b2a796d63c6471758b6533baf95',1,'vestige.h']]], - ['effgetvendorversion',['effGetVendorVersion',['../vestige_8h.html#acaaf725e25f2e09d160b2dbc55768df0',1,'vestige.h']]], - ['effgetvstversion',['effGetVstVersion',['../vestige_8h.html#aaa921c483e12e6192868d999f0fcb081',1,'vestige.h']]], - ['effidle',['effIdle',['../vestige_8h.html#af7880a694045739baf0461b701732a7b',1,'vestige.h']]], - ['effmainschanged',['effMainsChanged',['../vestige_8h.html#ab17e921166075f4eb641fcc33596dca9',1,'vestige.h']]], - ['effopen',['effOpen',['../vestige_8h.html#a4118b0b38ad45e24727b9aa0b3f00fc8',1,'vestige.h']]], - ['effprocessevents',['effProcessEvents',['../vestige_8h.html#a1e93d78988180687dd55c68c5c8ed01e',1,'vestige.h']]], - ['effsetblocksize',['effSetBlockSize',['../vestige_8h.html#a25cf50d7dfae43f3ac15a7ad5afb2439',1,'vestige.h']]], - ['effsetchunk',['effSetChunk',['../vsthost_8cpp.html#aecfbce35e4251eb76a181f9dba8b9425',1,'vsthost.cpp']]], - ['effsetprogram',['effSetProgram',['../vestige_8h.html#a91156bad3b7ac76d066f4c4ebb6a8c99',1,'vestige.h']]], - ['effsetsamplerate',['effSetSampleRate',['../vestige_8h.html#a7d54bb26feae05ef75e147bb73b9998d',1,'vestige.h']]], - ['effshellgetnextplugin',['effShellGetNextPlugin',['../vestige_8h.html#a6ba5d4a212c813d05a4c236f31fafba9',1,'vestige.h']]], - ['effstartprocess',['effStartProcess',['../vestige_8h.html#aff45b61c39d930ab382d0111eb0c662f',1,'vestige.h']]], - ['effstopprocess',['effStopProcess',['../vestige_8h.html#ac213ca05095ab71576e94a770598bea3',1,'vestige.h']]] -]; diff --git a/docs/html/search/defines_5.html b/docs/html/search/defines_5.html deleted file mode 100644 index 4f88d78ca..000000000 --- a/docs/html/search/defines_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_5.js b/docs/html/search/defines_5.js deleted file mode 100644 index 1f6d6c891..000000000 --- a/docs/html/search/defines_5.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['fill_5ftype_5fleft',['FILL_TYPE_LEFT',['../fillleftrighteffect_8cpp.html#a2ff7d8d3014571b4a0c488a29c05fc78',1,'fillleftrighteffect.cpp']]], - ['fill_5ftype_5fright',['FILL_TYPE_RIGHT',['../fillleftrighteffect_8cpp.html#a6b144ffdb89cfd9877e6f2c5e29cb4c5',1,'fillleftrighteffect.cpp']]], - ['frames_5fin_5fone_5fminute',['FRAMES_IN_ONE_MINUTE',['../viewer_8cpp.html#a3f28ddf08a77d6772dcac668dad17e44',1,'viewer.cpp']]], - ['frames_5fin_5ften_5fminutes',['FRAMES_IN_TEN_MINUTES',['../viewer_8cpp.html#a92f83215a80a0e0600da4d4f73335ae7',1,'viewer.cpp']]] -]; diff --git a/docs/html/search/defines_6.html b/docs/html/search/defines_6.html deleted file mode 100644 index 1314ce74b..000000000 --- a/docs/html/search/defines_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_6.js b/docs/html/search/defines_6.js deleted file mode 100644 index e7787ef89..000000000 --- a/docs/html/search/defines_6.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['gizmo_5fdot_5fsize',['GIZMO_DOT_SIZE',['../effectgizmo_8h.html#ad084266bdeef695cd0a7b87b5e305b08',1,'effectgizmo.h']]], - ['gizmo_5ftarget_5fsize',['GIZMO_TARGET_SIZE',['../effectgizmo_8h.html#afa123f3143bb60936f5b31e67480d0c7',1,'effectgizmo.h']]] -]; diff --git a/docs/html/search/defines_7.html b/docs/html/search/defines_7.html deleted file mode 100644 index b7d170ce8..000000000 --- a/docs/html/search/defines_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_7.js b/docs/html/search/defines_7.js deleted file mode 100644 index 21365d3b8..000000000 --- a/docs/html/search/defines_7.js +++ /dev/null @@ -1,23 +0,0 @@ -var searchData= -[ - ['keffectmagic',['kEffectMagic',['../vestige_8h.html#aa5b816fd160e033988f3adb121be60a9',1,'vestige.h']]], - ['keyframe_5fcolor',['KEYFRAME_COLOR',['../keyframedrawing_8h.html#a5f0279e662cd4582c9d6e1bd17894574',1,'keyframedrawing.h']]], - ['keyframe_5fpoint_5fcount',['KEYFRAME_POINT_COUNT',['../keyframedrawing_8cpp.html#a5215f4ffcb3d7d84d4e83206f56fac3b',1,'keyframedrawing.cpp']]], - ['keyframe_5fsize',['KEYFRAME_SIZE',['../keyframedrawing_8h.html#a89ff4de94e57c1ba874f8ad53724932f',1,'keyframedrawing.h']]], - ['kvstautomationreading',['kVstAutomationReading',['../vestige_8h.html#a1b1babd0d53c8bf27cbab61606144089',1,'vestige.h']]], - ['kvstautomationwriting',['kVstAutomationWriting',['../vestige_8h.html#a20adab1e8cb2f9512e90c2f3df88ad3f',1,'vestige.h']]], - ['kvstbarsvalid',['kVstBarsValid',['../vestige_8h.html#ae2cad3fd0989f1e53e36c88215b7fa51',1,'vestige.h']]], - ['kvstclockvalid',['kVstClockValid',['../vestige_8h.html#a2ba7276f8c9b779c610ec4b6c999c1f7',1,'vestige.h']]], - ['kvstcycleposvalid',['kVstCyclePosValid',['../vestige_8h.html#a0d0160934dd128b638cc0f920c7bb86e',1,'vestige.h']]], - ['kvstlangenglish',['kVstLangEnglish',['../vestige_8h.html#a1c82713ef5fec1a93e070c3abe3716f0',1,'vestige.h']]], - ['kvstmiditype',['kVstMidiType',['../vestige_8h.html#a838f6cc8455532b3ab87a1c04e01e774',1,'vestige.h']]], - ['kvstnanosvalid',['kVstNanosValid',['../vestige_8h.html#a4378af5c8232418b1d603a0d9e7e71cf',1,'vestige.h']]], - ['kvstppqposvalid',['kVstPpqPosValid',['../vestige_8h.html#aa8d2ca7b6c49310d9c71802cec4d81e2',1,'vestige.h']]], - ['kvstsmptevalid',['kVstSmpteValid',['../vestige_8h.html#ac5206836cf83490a9a7478791e87241b',1,'vestige.h']]], - ['kvsttempovalid',['kVstTempoValid',['../vestige_8h.html#ad2dbe74ef294c5ea2d7f89f387b874bc',1,'vestige.h']]], - ['kvsttimesigvalid',['kVstTimeSigValid',['../vestige_8h.html#aa989b48b027988a4e53de4eb6f0f427a',1,'vestige.h']]], - ['kvsttransportchanged',['kVstTransportChanged',['../vestige_8h.html#a8919c7d71802d7a841586aa5a053e11a',1,'vestige.h']]], - ['kvsttransportcycleactive',['kVstTransportCycleActive',['../vestige_8h.html#ac411e5b50df2b32906fd0a99df8ef7b2',1,'vestige.h']]], - ['kvsttransportplaying',['kVstTransportPlaying',['../vestige_8h.html#ad8e1d332226ba381765e2aa0d5bdea74',1,'vestige.h']]], - ['kvsttransportrecording',['kVstTransportRecording',['../vestige_8h.html#a2a6fab77e221dce0839121bcaad857ff',1,'vestige.h']]] -]; diff --git a/docs/html/search/defines_8.html b/docs/html/search/defines_8.html deleted file mode 100644 index 396885f75..000000000 --- a/docs/html/search/defines_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_8.js b/docs/html/search/defines_8.js deleted file mode 100644 index dcdcf3c01..000000000 --- a/docs/html/search/defines_8.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['line_5fmin_5fpadding',['LINE_MIN_PADDING',['../timelineheader_8cpp.html#aca5e3fc94f60c86097bb8360a4b8bbfa',1,'timelineheader.cpp']]], - ['load_5ftype_5furl',['LOAD_TYPE_URL',['../project_8h.html#a00a5d17e97a9587d6b281ee0d5c21de4',1,'project.h']]], - ['load_5ftype_5fversion',['LOAD_TYPE_VERSION',['../project_8h.html#a547ed4baa6721fed4d8939bb506bde8e',1,'project.h']]] -]; diff --git a/docs/html/search/defines_9.html b/docs/html/search/defines_9.html deleted file mode 100644 index 9871b74a9..000000000 --- a/docs/html/search/defines_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_9.js b/docs/html/search/defines_9.js deleted file mode 100644 index ebcfb5c33..000000000 --- a/docs/html/search/defines_9.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['marker_5fsize',['MARKER_SIZE',['../marker_8h.html#a71361395d08fca19a21783e5a9aaba29',1,'marker.h']]], - ['max_5ftext_5fwidth',['MAX_TEXT_WIDTH',['../timelinewidget_8cpp.html#a33bb2ed18aa4e9ed2186d4c1d1758a51',1,'timelinewidget.cpp']]], - ['maximum_5frecent_5fprojects',['MAXIMUM_RECENT_PROJECTS',['../project_8cpp.html#af3d73ae3f9094f603b17f8797c81a546',1,'project.cpp']]] -]; diff --git a/docs/html/search/defines_a.html b/docs/html/search/defines_a.html deleted file mode 100644 index dcba1f540..000000000 --- a/docs/html/search/defines_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_a.js b/docs/html/search/defines_a.js deleted file mode 100644 index f59214b25..000000000 --- a/docs/html/search/defines_a.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['playhead_5fsize',['PLAYHEAD_SIZE',['../timelineheader_8cpp.html#ac910e314714195622ba8987096713897',1,'timelineheader.cpp']]] -]; diff --git a/docs/html/search/defines_b.html b/docs/html/search/defines_b.html deleted file mode 100644 index 067be08e7..000000000 --- a/docs/html/search/defines_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_b.js b/docs/html/search/defines_b.js deleted file mode 100644 index 1f97a17cc..000000000 --- a/docs/html/search/defines_b.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['random_5fval_5fsize',['RANDOM_VAL_SIZE',['../shakeeffect_8h.html#a6914375765f2f5930d34d34a71d169a4',1,'shakeeffect.h']]], - ['resize_5fhandle_5fsize',['RESIZE_HANDLE_SIZE',['../resizablescrollbar_8cpp.html#a781987c34b174ef84fcb21fd47d8f5aa',1,'resizablescrollbar.cpp']]] -]; diff --git a/docs/html/search/defines_c.html b/docs/html/search/defines_c.html deleted file mode 100644 index 259a1fcd8..000000000 --- a/docs/html/search/defines_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_c.js b/docs/html/search/defines_c.js deleted file mode 100644 index d542c5fca..000000000 --- a/docs/html/search/defines_c.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['smpte_5fbars',['SMPTE_BARS',['../solideffect_8cpp.html#ab2938e1f9f176e37864829a851effbda',1,'solideffect.cpp']]], - ['smpte_5flower_5fbars',['SMPTE_LOWER_BARS',['../solideffect_8cpp.html#afa52f66bae26f9049697987a2fb422a3',1,'solideffect.cpp']]], - ['smpte_5fstrip_5fcount',['SMPTE_STRIP_COUNT',['../solideffect_8cpp.html#afb548e06626b0d1ea3ed2a5116f9628d',1,'solideffect.cpp']]], - ['solid_5ftype_5fbars',['SOLID_TYPE_BARS',['../solideffect_8cpp.html#ac8bd59d5411b8d3e2f3dedecdcf192ec',1,'solideffect.cpp']]], - ['solid_5ftype_5fcheckerboard',['SOLID_TYPE_CHECKERBOARD',['../solideffect_8cpp.html#a7889b8f2c8b902e78f8e7a4c47a85b68',1,'solideffect.cpp']]], - ['solid_5ftype_5fcolor',['SOLID_TYPE_COLOR',['../solideffect_8cpp.html#a9bff71d65cfa4ed1693b2cf126430644',1,'solideffect.cpp']]], - ['subline_5fmin_5fpadding',['SUBLINE_MIN_PADDING',['../timelineheader_8cpp.html#ac93cdca2ccd541e72bd2e29f7dae364f',1,'timelineheader.cpp']]] -]; diff --git a/docs/html/search/defines_d.html b/docs/html/search/defines_d.html deleted file mode 100644 index 3c33b4b9a..000000000 --- a/docs/html/search/defines_d.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_d.js b/docs/html/search/defines_d.js deleted file mode 100644 index 748ddee7a..000000000 --- a/docs/html/search/defines_d.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['text_5fpadding_5ffrom_5fline',['TEXT_PADDING_FROM_LINE',['../timelineheader_8cpp.html#a109acb3752a94846ac7fea0771a202bf',1,'timelineheader.cpp']]], - ['tone_5ftype_5fsine',['TONE_TYPE_SINE',['../toneeffect_8cpp.html#abd4bbfc4fdc0bac412035d67e267bf89',1,'toneeffect.cpp']]], - ['transition_5fbetween_5frange',['TRANSITION_BETWEEN_RANGE',['../timelinewidget_8cpp.html#a118ad3139a821eb0c09cc3362a4611ab',1,'timelinewidget.cpp']]] -]; diff --git a/docs/html/search/defines_e.html b/docs/html/search/defines_e.html deleted file mode 100644 index e178c0c27..000000000 --- a/docs/html/search/defines_e.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/defines_e.js b/docs/html/search/defines_e.js deleted file mode 100644 index f8841ce9a..000000000 --- a/docs/html/search/defines_e.js +++ /dev/null @@ -1,16 +0,0 @@ -var searchData= -[ - ['ver_5fcompanydomain_5fstr',['VER_COMPANYDOMAIN_STR',['../version_8h.html#a2a7b2019dfe4e3cf3b89f7f186dc5640',1,'version.h']]], - ['ver_5fcompanyname_5fstr',['VER_COMPANYNAME_STR',['../version_8h.html#ae5e9111e9af54e6a31e3f8b369cd3e19',1,'version.h']]], - ['ver_5ffiledescription_5fstr',['VER_FILEDESCRIPTION_STR',['../version_8h.html#ad53fc999ea2c9ed67903bcc0bc88f257',1,'version.h']]], - ['ver_5ffileversion',['VER_FILEVERSION',['../version_8h.html#ae6ef9058da3d1f2efdc365d6643d1de3',1,'version.h']]], - ['ver_5ffileversion_5fstr',['VER_FILEVERSION_STR',['../version_8h.html#a9ab9575a5fdacc8d78fb6a6a982bb060',1,'version.h']]], - ['ver_5finternalname_5fstr',['VER_INTERNALNAME_STR',['../version_8h.html#a9c575d8650180954b0a0318d0bb30c71',1,'version.h']]], - ['ver_5flegalcopyright_5fstr',['VER_LEGALCOPYRIGHT_STR',['../version_8h.html#a0592f3cc57ce5994c8339bd057ae130c',1,'version.h']]], - ['ver_5flegaltrademarks1_5fstr',['VER_LEGALTRADEMARKS1_STR',['../version_8h.html#a9532e03b291a013007c17978f72d1a80',1,'version.h']]], - ['ver_5flegaltrademarks2_5fstr',['VER_LEGALTRADEMARKS2_STR',['../version_8h.html#a3788d012ee2bbc1972b1003a16608f31',1,'version.h']]], - ['ver_5foriginalfilename_5fstr',['VER_ORIGINALFILENAME_STR',['../version_8h.html#abfbc08ce9e78d5afc2d0c129643d9909',1,'version.h']]], - ['ver_5fproductname_5fstr',['VER_PRODUCTNAME_STR',['../version_8h.html#a80f0560c57c182d6c4a4aaca02d9b261',1,'version.h']]], - ['ver_5fproductversion',['VER_PRODUCTVERSION',['../version_8h.html#a1f0c72807dfc9de46855bff55bae541c',1,'version.h']]], - ['ver_5fproductversion_5fstr',['VER_PRODUCTVERSION_STR',['../version_8h.html#a5084df706ac15e76da275c143313f3d9',1,'version.h']]] -]; diff --git a/docs/html/search/enums_0.html b/docs/html/search/enums_0.html deleted file mode 100644 index 7040a9c5d..000000000 --- a/docs/html/search/enums_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enums_0.js b/docs/html/search/enums_0.js deleted file mode 100644 index 693a5f4ad..000000000 --- a/docs/html/search/enums_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['autoscrollmode',['AutoScrollMode',['../namespaceolive.html#a6f523bdde126d522f9d2b23f03b148b5',1,'olive']]] -]; diff --git a/docs/html/search/enums_1.html b/docs/html/search/enums_1.html deleted file mode 100644 index 0c65c0e09..000000000 --- a/docs/html/search/enums_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enums_1.js b/docs/html/search/enums_1.js deleted file mode 100644 index 07656e195..000000000 --- a/docs/html/search/enums_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['createobjects',['CreateObjects',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3b',1,'timeline.h']]] -]; diff --git a/docs/html/search/enums_2.html b/docs/html/search/enums_2.html deleted file mode 100644 index 4250446db..000000000 --- a/docs/html/search/enums_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enums_2.js b/docs/html/search/enums_2.js deleted file mode 100644 index 8b19f5ef8..000000000 --- a/docs/html/search/enums_2.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['effectblendmode',['EffectBlendMode',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902b',1,'effect.h']]], - ['effectfieldtype',['EffectFieldType',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6',1,'effectfield.h']]], - ['effectinternal',['EffectInternal',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98',1,'effect.h']]], - ['effectkeyframetype',['EffectKeyframeType',['../effect_8h.html#a90e4a48fbba18ef78aca125db8495231',1,'effect.h']]], - ['effecttype',['EffectType',['../effect_8h.html#a4809a7bb3fd1a421902a667cc1405d43',1,'effect.h']]], - ['exportformats',['ExportFormats',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5',1,'exportdialog.cpp']]] -]; diff --git a/docs/html/search/enums_3.html b/docs/html/search/enums_3.html deleted file mode 100644 index b118cca0c..000000000 --- a/docs/html/search/enums_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enums_3.js b/docs/html/search/enums_3.js deleted file mode 100644 index 0e6d97713..000000000 --- a/docs/html/search/enums_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['framequeuetype',['FrameQueueType',['../namespaceolive.html#a465c6d38e7cc002c2dbb440c33543b6b',1,'olive']]] -]; diff --git a/docs/html/search/enums_4.html b/docs/html/search/enums_4.html deleted file mode 100644 index 2795d4b14..000000000 --- a/docs/html/search/enums_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enums_4.js b/docs/html/search/enums_4.js deleted file mode 100644 index 7a63b2c3b..000000000 --- a/docs/html/search/enums_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['gizmotype',['GizmoType',['../effectgizmo_8h.html#ae2917dc722c1d3959593328ee4a5a31f',1,'effectgizmo.h']]] -]; diff --git a/docs/html/search/enums_5.html b/docs/html/search/enums_5.html deleted file mode 100644 index ab40bbd19..000000000 --- a/docs/html/search/enums_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enums_5.js b/docs/html/search/enums_5.js deleted file mode 100644 index 90a1a0255..000000000 --- a/docs/html/search/enums_5.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['icontype',['IconType',['../mediaiconservice_8h.html#a0ad09eae84a6167ac8765174aca532f7',1,'mediaiconservice.h']]] -]; diff --git a/docs/html/search/enums_6.html b/docs/html/search/enums_6.html deleted file mode 100644 index f32ac3681..000000000 --- a/docs/html/search/enums_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enums_6.js b/docs/html/search/enums_6.js deleted file mode 100644 index 90b0502b6..000000000 --- a/docs/html/search/enums_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['labelsliderdisplaytype',['LabelSliderDisplayType',['../labelslider_8h.html#ab14275d9db49f375fde27a63a0ae483c',1,'labelslider.h']]] -]; diff --git a/docs/html/search/enums_7.html b/docs/html/search/enums_7.html deleted file mode 100644 index 7a25d5903..000000000 --- a/docs/html/search/enums_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enums_7.js b/docs/html/search/enums_7.js deleted file mode 100644 index 67be5045f..000000000 --- a/docs/html/search/enums_7.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['mediatype',['MediaType',['../media_8h.html#a1499e9f8a76cb81b43b7a4b0dbe7e44a',1,'media.h']]] -]; diff --git a/docs/html/search/enums_8.html b/docs/html/search/enums_8.html deleted file mode 100644 index 03c3de22e..000000000 --- a/docs/html/search/enums_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enums_8.js b/docs/html/search/enums_8.js deleted file mode 100644 index 1251f6f7b..000000000 --- a/docs/html/search/enums_8.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['projectview',['ProjectView',['../namespaceolive.html#a80d6149e99745ec465de6238b1c54377',1,'olive']]] -]; diff --git a/docs/html/search/enums_9.html b/docs/html/search/enums_9.html deleted file mode 100644 index 41e9d0d1f..000000000 --- a/docs/html/search/enums_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enums_9.js b/docs/html/search/enums_9.js deleted file mode 100644 index 4dbb9c220..000000000 --- a/docs/html/search/enums_9.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['recordingmode',['RecordingMode',['../namespaceolive.html#af40b7205c5998320e7325168589cfdfe',1,'olive']]] -]; diff --git a/docs/html/search/enums_a.html b/docs/html/search/enums_a.html deleted file mode 100644 index d701fcb19..000000000 --- a/docs/html/search/enums_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enums_a.js b/docs/html/search/enums_a.js deleted file mode 100644 index 298c1079f..000000000 --- a/docs/html/search/enums_a.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['timecodetype',['TimecodeType',['../namespaceolive.html#a04099e7d8a7121ab6a67eb83dce7390f',1,'olive']]], - ['timelinetool',['TimelineTool',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2',1,'timelinetools.h']]], - ['transitioninternal',['TransitionInternal',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311',1,'transition.h']]], - ['transitiontype',['TransitionType',['../transition_8h.html#a4e38d9519e74e10eccdfda5c5b92b283',1,'transition.h']]], - ['trimtype',['TrimType',['../timeline_8h.html#a3b8761f40035433d3f9bdec33a076b30',1,'timeline.h']]] -]; diff --git a/docs/html/search/enums_b.html b/docs/html/search/enums_b.html deleted file mode 100644 index b4d016509..000000000 --- a/docs/html/search/enums_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enums_b.js b/docs/html/search/enums_b.js deleted file mode 100644 index 71b3b9a99..000000000 --- a/docs/html/search/enums_b.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['vestige2stringconstants',['Vestige2StringConstants',['../vestige_8h.html#a7d88e9204009d89f1102dc2bcfe5d637',1,'vestige.h']]], - ['videointerlacingmode',['VideoInterlacingMode',['../footage_8h.html#af32aea380f450787c471b0483272039a',1,'footage.h']]], - ['vstparameterflags',['VstParameterFlags',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921',1,'vestige.h']]], - ['vstplugcategory',['VstPlugCategory',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cc',1,'vestige.h']]] -]; diff --git a/docs/html/search/enumvalues_0.html b/docs/html/search/enumvalues_0.html deleted file mode 100644 index 78895c79b..000000000 --- a/docs/html/search/enumvalues_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_0.js b/docs/html/search/enumvalues_0.js deleted file mode 100644 index 1d4519f93..000000000 --- a/docs/html/search/enumvalues_0.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['add_5fobj_5faudio',['ADD_OBJ_AUDIO',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3ba0cadaec2eb6bd27baafa0b3c9246f54b',1,'timeline.h']]], - ['add_5fobj_5fbars',['ADD_OBJ_BARS',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3ba360025c6230de29eb93ae709ba14d9bd',1,'timeline.h']]], - ['add_5fobj_5fnoise',['ADD_OBJ_NOISE',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3babf84b54616e2e096a7a27ddc0570015a',1,'timeline.h']]], - ['add_5fobj_5fsolid',['ADD_OBJ_SOLID',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3ba6d46fe88db8aa90bf252b502c90dc4af',1,'timeline.h']]], - ['add_5fobj_5ftitle',['ADD_OBJ_TITLE',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3baee555361fbe7f598ad6befa4b5e5da40',1,'timeline.h']]], - ['add_5fobj_5ftone',['ADD_OBJ_TONE',['../timeline_8h.html#aa5e06d0c13ae570960f05640cf77ad3bae93343a2d326effea464997b5b9111b7',1,'timeline.h']]], - ['autoscroll_5fno_5fscroll',['AUTOSCROLL_NO_SCROLL',['../namespaceolive.html#a6f523bdde126d522f9d2b23f03b148b5ad255804e4b6795d98f1fe8f8af99fa66',1,'olive']]], - ['autoscroll_5fpage_5fscroll',['AUTOSCROLL_PAGE_SCROLL',['../namespaceolive.html#a6f523bdde126d522f9d2b23f03b148b5a34a31a9f3485349cddb6a3a6ff5e47af',1,'olive']]], - ['autoscroll_5fsmooth_5fscroll',['AUTOSCROLL_SMOOTH_SCROLL',['../namespaceolive.html#a6f523bdde126d522f9d2b23f03b148b5a4d2c722c4d908ed0c65514a02e20a29c',1,'olive']]] -]; diff --git a/docs/html/search/enumvalues_1.html b/docs/html/search/enumvalues_1.html deleted file mode 100644 index 9b02a4b38..000000000 --- a/docs/html/search/enumvalues_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_1.js b/docs/html/search/enumvalues_1.js deleted file mode 100644 index 77f6bf382..000000000 --- a/docs/html/search/enumvalues_1.js +++ /dev/null @@ -1,30 +0,0 @@ -var searchData= -[ - ['blend_5fmode_5fadd',['BLEND_MODE_ADD',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba32d377820360ac53fc534cc8bb3df89a',1,'effect.h']]], - ['blend_5fmode_5faverage',['BLEND_MODE_AVERAGE',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba9d49bd257de6179a674f4a500a53938a',1,'effect.h']]], - ['blend_5fmode_5fcolorburn',['BLEND_MODE_COLORBURN',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba304c9c6016087e72afc9b11d2e5230dd',1,'effect.h']]], - ['blend_5fmode_5fcolordodge',['BLEND_MODE_COLORDODGE',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba61ea64bac6210d69383a779b2956d3bf',1,'effect.h']]], - ['blend_5fmode_5fcount',['BLEND_MODE_COUNT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902baa34c61bac9de4434917e72883a3f6bfb',1,'effect.h']]], - ['blend_5fmode_5fdarken',['BLEND_MODE_DARKEN',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902baa8dc60611f173b87ba0fa62c748ad9f9',1,'effect.h']]], - ['blend_5fmode_5fdifference',['BLEND_MODE_DIFFERENCE',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba000c6dc319206174c1f3dbe55dc2fe09',1,'effect.h']]], - ['blend_5fmode_5fexclusion',['BLEND_MODE_EXCLUSION',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba3b40f151b3d80f8d7df1269838a8d3bb',1,'effect.h']]], - ['blend_5fmode_5fglow',['BLEND_MODE_GLOW',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902baa5654ebeb7315a26490f1abee47e050b',1,'effect.h']]], - ['blend_5fmode_5fhardlight',['BLEND_MODE_HARDLIGHT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba8411dd6c660d53b133901b35990f39eb',1,'effect.h']]], - ['blend_5fmode_5fhardmix',['BLEND_MODE_HARDMIX',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba89dfd10074dc180bb4f3dd262f81b61b',1,'effect.h']]], - ['blend_5fmode_5flighten',['BLEND_MODE_LIGHTEN',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902baa92f9df21e7e0c4cbf48c7d6d5befaf2',1,'effect.h']]], - ['blend_5fmode_5flinearburn',['BLEND_MODE_LINEARBURN',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902bae40bd803bf4af37aa9e85fae981283b7',1,'effect.h']]], - ['blend_5fmode_5flineardodge',['BLEND_MODE_LINEARDODGE',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba93958f6eecd3aba0849f762749222a2f',1,'effect.h']]], - ['blend_5fmode_5flinearlight',['BLEND_MODE_LINEARLIGHT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902bade5d25bfdd7b674562d96ec131f54aec',1,'effect.h']]], - ['blend_5fmode_5fmultiply',['BLEND_MODE_MULTIPLY',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba943d75a400311aae0082feb8632670d2',1,'effect.h']]], - ['blend_5fmode_5fnegation',['BLEND_MODE_NEGATION',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902bac0809129de68a7478c15395b665091d2',1,'effect.h']]], - ['blend_5fmode_5fnormal',['BLEND_MODE_NORMAL',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902baa9111213438acf1655cced47edf46265',1,'effect.h']]], - ['blend_5fmode_5foverlay',['BLEND_MODE_OVERLAY',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba8c4268c2cafd0a2bdce260bda7b04094',1,'effect.h']]], - ['blend_5fmode_5fphoenix',['BLEND_MODE_PHOENIX',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902bab5eda75b59ecc3dc458c2d38ebcfea0a',1,'effect.h']]], - ['blend_5fmode_5fpinlight',['BLEND_MODE_PINLIGHT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba8248ba743fd8b3ef00e8d6abe1377d9f',1,'effect.h']]], - ['blend_5fmode_5freflect',['BLEND_MODE_REFLECT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba50fe37d619c79fd09f6111de0f9d3eb2',1,'effect.h']]], - ['blend_5fmode_5fscreen',['BLEND_MODE_SCREEN',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba9395c003f6ade4471ed1b56b80632ccc',1,'effect.h']]], - ['blend_5fmode_5fsoftlight',['BLEND_MODE_SOFTLIGHT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba4f369fcee4d5e8bc77bcca814a0ba449',1,'effect.h']]], - ['blend_5fmode_5fsubstract',['BLEND_MODE_SUBSTRACT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba9d86f5d1e74a0bd9db59d7d141012cd4',1,'effect.h']]], - ['blend_5fmode_5fsubtract',['BLEND_MODE_SUBTRACT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902ba448b067d7891bb58c0af01769aba8467',1,'effect.h']]], - ['blend_5fmode_5fvividlight',['BLEND_MODE_VIVIDLIGHT',['../effect_8h.html#aaac547005f7baa62f3e0edaacc61902bae71c4c087166d44312515797d8e829b1',1,'effect.h']]] -]; diff --git a/docs/html/search/enumvalues_2.html b/docs/html/search/enumvalues_2.html deleted file mode 100644 index 2482854d9..000000000 --- a/docs/html/search/enumvalues_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_2.js b/docs/html/search/enumvalues_2.js deleted file mode 100644 index ebf242138..000000000 --- a/docs/html/search/enumvalues_2.js +++ /dev/null @@ -1,33 +0,0 @@ -var searchData= -[ - ['effect_5ffield_5fbool',['EFFECT_FIELD_BOOL',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6a5c920417bc4456cccf397909ef856b4d',1,'effectfield.h']]], - ['effect_5ffield_5fcolor',['EFFECT_FIELD_COLOR',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6a4f97f490548683431e615fe27d263a33',1,'effectfield.h']]], - ['effect_5ffield_5fcombo',['EFFECT_FIELD_COMBO',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6aa8d17edf6ecb561dc6eb98276f675f98',1,'effectfield.h']]], - ['effect_5ffield_5fdouble',['EFFECT_FIELD_DOUBLE',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6a3d8fa106753a4e352de95b5c926926f0',1,'effectfield.h']]], - ['effect_5ffield_5ffile',['EFFECT_FIELD_FILE',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6ac900821bd66b68f636c946f0be75d944',1,'effectfield.h']]], - ['effect_5ffield_5ffont',['EFFECT_FIELD_FONT',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6ae574ee9d835be7e515013b6b0b74da1d',1,'effectfield.h']]], - ['effect_5ffield_5fstring',['EFFECT_FIELD_STRING',['../effectfield_8h.html#a7f88c25f1b680cd610cdf7a5d829cdd6a36cf250d834c5e6264d03dc09c5ea095',1,'effectfield.h']]], - ['effect_5finternal_5fcornerpin',['EFFECT_INTERNAL_CORNERPIN',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a4c59c19b805aef31928c5dce2ea994a8',1,'effect.h']]], - ['effect_5finternal_5fcount',['EFFECT_INTERNAL_COUNT',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a138b4d3986308fc1f6c98321156be034',1,'effect.h']]], - ['effect_5finternal_5ffillleftright',['EFFECT_INTERNAL_FILLLEFTRIGHT',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98afa437822bcc068aae16fac62244f3edb',1,'effect.h']]], - ['effect_5finternal_5ffrei0r',['EFFECT_INTERNAL_FREI0R',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a0229bb6cc1bbfb19b2d1bf964b19651c',1,'effect.h']]], - ['effect_5finternal_5fmask',['EFFECT_INTERNAL_MASK',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a935c70b4ad87b3e15c80deb773d61434',1,'effect.h']]], - ['effect_5finternal_5fnoise',['EFFECT_INTERNAL_NOISE',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98ad81afe454f6aaed726b6d8090f29e8aa',1,'effect.h']]], - ['effect_5finternal_5fpan',['EFFECT_INTERNAL_PAN',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98abacbb1641556bae8b10408c8a23d05cb',1,'effect.h']]], - ['effect_5finternal_5fshake',['EFFECT_INTERNAL_SHAKE',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a5856e7e26c70efe42bf59c30d57cf24e',1,'effect.h']]], - ['effect_5finternal_5fsolid',['EFFECT_INTERNAL_SOLID',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98ac2fd9c98a29dc392339ee2418f422fe7',1,'effect.h']]], - ['effect_5finternal_5ftext',['EFFECT_INTERNAL_TEXT',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a7553a5647e1ce6ec1ef73fbd0693f1c3',1,'effect.h']]], - ['effect_5finternal_5ftimecode',['EFFECT_INTERNAL_TIMECODE',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a352202c1815ffcc8e8ed65780ed404eb',1,'effect.h']]], - ['effect_5finternal_5ftone',['EFFECT_INTERNAL_TONE',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a700d4eeda944219fd13a1dafbe342905',1,'effect.h']]], - ['effect_5finternal_5ftransform',['EFFECT_INTERNAL_TRANSFORM',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a59ec1c82d0f1e37495ec4679cd9c59df',1,'effect.h']]], - ['effect_5finternal_5fvolume',['EFFECT_INTERNAL_VOLUME',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a2062672bfce3d25303be82f8f5528b0f',1,'effect.h']]], - ['effect_5finternal_5fvst',['EFFECT_INTERNAL_VST',['../effect_8h.html#a087e6aa58d9c254faf02a99d3b4f4b98a8274422695363a84025d794cca770c31',1,'effect.h']]], - ['effect_5fkeyframe_5fbezier',['EFFECT_KEYFRAME_BEZIER',['../effect_8h.html#a90e4a48fbba18ef78aca125db8495231a46563c24e504f3c7718668db953d1b14',1,'effect.h']]], - ['effect_5fkeyframe_5fhold',['EFFECT_KEYFRAME_HOLD',['../effect_8h.html#a90e4a48fbba18ef78aca125db8495231a95a693c6b73b1a13fa79aca709a131d0',1,'effect.h']]], - ['effect_5fkeyframe_5flinear',['EFFECT_KEYFRAME_LINEAR',['../effect_8h.html#a90e4a48fbba18ef78aca125db8495231ab3195fb6250208da7bc511ff697d440b',1,'effect.h']]], - ['effect_5ftype_5faudio',['EFFECT_TYPE_AUDIO',['../effect_8h.html#a4809a7bb3fd1a421902a667cc1405d43a47207227bcd62647e34fd4559eb00499',1,'effect.h']]], - ['effect_5ftype_5feffect',['EFFECT_TYPE_EFFECT',['../effect_8h.html#a4809a7bb3fd1a421902a667cc1405d43ad584150d9289a9c4817129809c768a5c',1,'effect.h']]], - ['effect_5ftype_5finvalid',['EFFECT_TYPE_INVALID',['../effect_8h.html#a4809a7bb3fd1a421902a667cc1405d43af31cdffc857ae90bdb5175f5af05a938',1,'effect.h']]], - ['effect_5ftype_5ftransition',['EFFECT_TYPE_TRANSITION',['../effect_8h.html#a4809a7bb3fd1a421902a667cc1405d43a7487b61cdaae9dabf71950288460d753',1,'effect.h']]], - ['effect_5ftype_5fvideo',['EFFECT_TYPE_VIDEO',['../effect_8h.html#a4809a7bb3fd1a421902a667cc1405d43a51279732bafd16c96d7c4a520cc560f7',1,'effect.h']]] -]; diff --git a/docs/html/search/enumvalues_3.html b/docs/html/search/enumvalues_3.html deleted file mode 100644 index e6124b947..000000000 --- a/docs/html/search/enumvalues_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_3.js b/docs/html/search/enumvalues_3.js deleted file mode 100644 index 84b8fc955..000000000 --- a/docs/html/search/enumvalues_3.js +++ /dev/null @@ -1,27 +0,0 @@ -var searchData= -[ - ['format_5f3gpp',['FORMAT_3GPP',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5ad79b9c078f784f842269c7e3430d30d6',1,'exportdialog.cpp']]], - ['format_5fac3',['FORMAT_AC3',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a0b7e62e59a31f5905e8f25ca4d60af69',1,'exportdialog.cpp']]], - ['format_5faiff',['FORMAT_AIFF',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5ac36853f3a55cec99ae21d716dc26ba4d',1,'exportdialog.cpp']]], - ['format_5fapng',['FORMAT_APNG',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a76c6c79f2a3e8b3021afd9a35ca35735',1,'exportdialog.cpp']]], - ['format_5favi',['FORMAT_AVI',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5af5716a2d43dd3a34af281bfb0f424f17',1,'exportdialog.cpp']]], - ['format_5fdnxhd',['FORMAT_DNXHD',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a1fab2766ac4ce89d60e585363ffc10a5',1,'exportdialog.cpp']]], - ['format_5fflv',['FORMAT_FLV',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a92846704d8f586983a195b4dad2214fc',1,'exportdialog.cpp']]], - ['format_5fgif',['FORMAT_GIF',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5acab6d5fbb355156e3b940835c7e011a9',1,'exportdialog.cpp']]], - ['format_5fimg',['FORMAT_IMG',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a7cf9944ffed640644861910c5ac97d47',1,'exportdialog.cpp']]], - ['format_5fmkv',['FORMAT_MKV',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a1825cbf128674383c58d42d4a9760350',1,'exportdialog.cpp']]], - ['format_5fmov',['FORMAT_MOV',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5ae5d89c4fa0eedcb136c829abd7b9e3d0',1,'exportdialog.cpp']]], - ['format_5fmp2',['FORMAT_MP2',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a762b987895f3e1b903cf7f942b4da6fa',1,'exportdialog.cpp']]], - ['format_5fmp3',['FORMAT_MP3',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5aacf8a64477d300ebb254e97cb89c592d',1,'exportdialog.cpp']]], - ['format_5fmpeg1',['FORMAT_MPEG1',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a7b9f5bb676246629e4d0eb2283a68d2f',1,'exportdialog.cpp']]], - ['format_5fmpeg2',['FORMAT_MPEG2',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a950eaa9f32753a87540d645bd295d061',1,'exportdialog.cpp']]], - ['format_5fmpeg4',['FORMAT_MPEG4',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5aae245f991922a3e66bc3ff8fc0cbccda',1,'exportdialog.cpp']]], - ['format_5fmpegts',['FORMAT_MPEGTS',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a422725fc92d1b2a9d9a1aec3fb9ff1c4',1,'exportdialog.cpp']]], - ['format_5fogg',['FORMAT_OGG',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a8dfcedd0327a2fabd3ab915d9dadc75a',1,'exportdialog.cpp']]], - ['format_5fsize',['FORMAT_SIZE',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a58d95a1f25a7a5a7d1e9f34372e7d110',1,'exportdialog.cpp']]], - ['format_5fwav',['FORMAT_WAV',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5a57b8c9a9e1e68df34f9323e89e690fff',1,'exportdialog.cpp']]], - ['format_5fwebm',['FORMAT_WEBM',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5abb1666f2bf241ceab4e18d75672e5ffe',1,'exportdialog.cpp']]], - ['format_5fwmv',['FORMAT_WMV',['../exportdialog_8cpp.html#a25e7889198496393bf5fbe86f66201e5afb9f5731231b7f13feedd15b4ef1335b',1,'exportdialog.cpp']]], - ['frame_5fqueue_5ftype_5fframes',['FRAME_QUEUE_TYPE_FRAMES',['../namespaceolive.html#a465c6d38e7cc002c2dbb440c33543b6bae4ea79ae92c0b383be31897685f77415',1,'olive']]], - ['frame_5fqueue_5ftype_5fseconds',['FRAME_QUEUE_TYPE_SECONDS',['../namespaceolive.html#a465c6d38e7cc002c2dbb440c33543b6baf48cfa65fef01c3f40c814359ef0a934',1,'olive']]] -]; diff --git a/docs/html/search/enumvalues_4.html b/docs/html/search/enumvalues_4.html deleted file mode 100644 index 8d234cfc1..000000000 --- a/docs/html/search/enumvalues_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_4.js b/docs/html/search/enumvalues_4.js deleted file mode 100644 index 4499592fd..000000000 --- a/docs/html/search/enumvalues_4.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['gizmo_5ftype_5fdot',['GIZMO_TYPE_DOT',['../effectgizmo_8h.html#ae2917dc722c1d3959593328ee4a5a31faead2984293434207d89017f9f0bb2175',1,'effectgizmo.h']]], - ['gizmo_5ftype_5fpoly',['GIZMO_TYPE_POLY',['../effectgizmo_8h.html#ae2917dc722c1d3959593328ee4a5a31fa7818309fded099ac6e5b1bd29c841581',1,'effectgizmo.h']]], - ['gizmo_5ftype_5ftarget',['GIZMO_TYPE_TARGET',['../effectgizmo_8h.html#ae2917dc722c1d3959593328ee4a5a31fa789d4f98fac612cc98b522b94ac012d7',1,'effectgizmo.h']]] -]; diff --git a/docs/html/search/enumvalues_5.html b/docs/html/search/enumvalues_5.html deleted file mode 100644 index d16ee24be..000000000 --- a/docs/html/search/enumvalues_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_5.js b/docs/html/search/enumvalues_5.js deleted file mode 100644 index a41510972..000000000 --- a/docs/html/search/enumvalues_5.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['icon_5ftype_5faudio',['ICON_TYPE_AUDIO',['../mediaiconservice_8h.html#a0ad09eae84a6167ac8765174aca532f7a0c2ab7ce14d254eb699dcc73c20c6979',1,'mediaiconservice.h']]], - ['icon_5ftype_5ferror',['ICON_TYPE_ERROR',['../mediaiconservice_8h.html#a0ad09eae84a6167ac8765174aca532f7a7637ae4ed54fc4f21bd1ea0cebc69f1c',1,'mediaiconservice.h']]], - ['icon_5ftype_5fimage',['ICON_TYPE_IMAGE',['../mediaiconservice_8h.html#a0ad09eae84a6167ac8765174aca532f7a427897eb167ea1f6394ba93adf09d242',1,'mediaiconservice.h']]], - ['icon_5ftype_5floading',['ICON_TYPE_LOADING',['../mediaiconservice_8h.html#a0ad09eae84a6167ac8765174aca532f7a0280621c3df43ce4fe156da0cede013a',1,'mediaiconservice.h']]], - ['icon_5ftype_5fvideo',['ICON_TYPE_VIDEO',['../mediaiconservice_8h.html#a0ad09eae84a6167ac8765174aca532f7a358d34920b547eeb9828128a05d39de5',1,'mediaiconservice.h']]] -]; diff --git a/docs/html/search/enumvalues_6.html b/docs/html/search/enumvalues_6.html deleted file mode 100644 index c39f08658..000000000 --- a/docs/html/search/enumvalues_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_6.js b/docs/html/search/enumvalues_6.js deleted file mode 100644 index 192bd425f..000000000 --- a/docs/html/search/enumvalues_6.js +++ /dev/null @@ -1,30 +0,0 @@ -var searchData= -[ - ['kplugcateganalysis',['kPlugCategAnalysis',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca33016aaefb7b6266b64b2acc6fe1a34b',1,'vestige.h']]], - ['kplugcategeffect',['kPlugCategEffect',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06ccad31c1e5f938ce881dc149ac8c7f5d0e1',1,'vestige.h']]], - ['kplugcateggenerator',['kPlugCategGenerator',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca1a7eea5992983435ec8eea75ff64852e',1,'vestige.h']]], - ['kplugcategmastering',['kPlugCategMastering',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca94fd16a74e18d9d47203f6a479fc1381',1,'vestige.h']]], - ['kplugcategmaxcount',['kPlugCategMaxCount',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca083d98d298ea69d7b4ec6d5f260f2022',1,'vestige.h']]], - ['kplugcategofflineprocess',['kPlugCategOfflineProcess',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca3bfdcabf75000a902695888b25504882',1,'vestige.h']]], - ['kplugcategrestoration',['kPlugCategRestoration',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca32af4edcd7dd80d832dc1000831c92b0',1,'vestige.h']]], - ['kplugcategroomfx',['kPlugCategRoomFx',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca711e84a2175350783f1da5449bb3b397',1,'vestige.h']]], - ['kplugcategshell',['kPlugCategShell',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06ccaad2d74f002fcefac31672a74bd49ab9e',1,'vestige.h']]], - ['kplugcategspacializer',['kPlugCategSpacializer',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06ccadda0ce5dce0bad9d156fcf9c23b0fe09',1,'vestige.h']]], - ['kplugcategsynth',['kPlugCategSynth',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca2e4415d5c0fae72d77cbf4bd2f30b42a',1,'vestige.h']]], - ['kplugcategunknown',['kPlugCategUnknown',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca85df4fc40b4433f5bcba1d6d44dce8b7',1,'vestige.h']]], - ['kplugsurroundfx',['kPlugSurroundFx',['../vestige_8h.html#a0211978ec81f9647c103a78fc8ec06cca32ea191b214606731d1d25419691a118',1,'vestige.h']]], - ['ktimecodedrop',['kTimecodeDrop',['../namespaceolive.html#a04099e7d8a7121ab6a67eb83dce7390fa9f83e5d8e3aad103cbb84f97188d4b71',1,'olive']]], - ['ktimecodeframes',['kTimecodeFrames',['../namespaceolive.html#a04099e7d8a7121ab6a67eb83dce7390fae1f4674654164515c045d17dead8f8cf',1,'olive']]], - ['ktimecodemilliseconds',['kTimecodeMilliseconds',['../namespaceolive.html#a04099e7d8a7121ab6a67eb83dce7390fa1fefdfdf357c4a5aef332bbbb0c01a95',1,'olive']]], - ['ktimecodenondrop',['kTimecodeNonDrop',['../namespaceolive.html#a04099e7d8a7121ab6a67eb83dce7390fa22694a17ce1c462c4eee8b52268fe2d0',1,'olive']]], - ['ktransitionclosing',['kTransitionClosing',['../transition_8h.html#a4e38d9519e74e10eccdfda5c5b92b283a8c3f4c1f057a4f2f36b3c3140fc35d0d',1,'transition.h']]], - ['ktransitionnone',['kTransitionNone',['../transition_8h.html#a4e38d9519e74e10eccdfda5c5b92b283a6fcd5ebaa9b4cc1828a9246889a59055',1,'transition.h']]], - ['ktransitionopening',['kTransitionOpening',['../transition_8h.html#a4e38d9519e74e10eccdfda5c5b92b283a476b7d66f3eb54bc81eeddaef93f9b14',1,'transition.h']]], - ['kvstparametercanramp',['kVstParameterCanRamp',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921ab5860e99a55b088af49913c02d5fb027',1,'vestige.h']]], - ['kvstparameterisswitch',['kVstParameterIsSwitch',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921aaa662c1ada8b0b3580ff01222e60350c',1,'vestige.h']]], - ['kvstparametersupportsdisplaycategory',['kVstParameterSupportsDisplayCategory',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921a99a0b5722c93d88b2a4419ea2c8a4bab',1,'vestige.h']]], - ['kvstparametersupportsdisplayindex',['kVstParameterSupportsDisplayIndex',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921a8679f63830cbde4dd01c7c47f6a87af8',1,'vestige.h']]], - ['kvstparameterusesfloatstep',['kVstParameterUsesFloatStep',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921a38560559b64885437f5de82c4fd9caaa',1,'vestige.h']]], - ['kvstparameterusesintegerminmax',['kVstParameterUsesIntegerMinMax',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921a132d25d53ad9c51b6c73544272cbbb39',1,'vestige.h']]], - ['kvstparameterusesintstep',['kVstParameterUsesIntStep',['../vestige_8h.html#aab3ba1d404dfb04b6e9046c7ab2df921a2e120964df0c1d8aa70e4c6a05d75704',1,'vestige.h']]] -]; diff --git a/docs/html/search/enumvalues_7.html b/docs/html/search/enumvalues_7.html deleted file mode 100644 index f75419fec..000000000 --- a/docs/html/search/enumvalues_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_7.js b/docs/html/search/enumvalues_7.js deleted file mode 100644 index debf26cb2..000000000 --- a/docs/html/search/enumvalues_7.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['labelslider_5fdecibel',['LABELSLIDER_DECIBEL',['../labelslider_8h.html#ab14275d9db49f375fde27a63a0ae483ca42cda3e314ac834193013d7be4723805',1,'labelslider.h']]], - ['labelslider_5fframenumber',['LABELSLIDER_FRAMENUMBER',['../labelslider_8h.html#ab14275d9db49f375fde27a63a0ae483caaee485c4344724313ebad58c81279d8e',1,'labelslider.h']]], - ['labelslider_5fnormal',['LABELSLIDER_NORMAL',['../labelslider_8h.html#ab14275d9db49f375fde27a63a0ae483caa67714385566058d81ce36b37151c973',1,'labelslider.h']]], - ['labelslider_5fpercent',['LABELSLIDER_PERCENT',['../labelslider_8h.html#ab14275d9db49f375fde27a63a0ae483ca18d2a4f21bd7bfadfcaadca5209f4779',1,'labelslider.h']]] -]; diff --git a/docs/html/search/enumvalues_8.html b/docs/html/search/enumvalues_8.html deleted file mode 100644 index 96b5b73e7..000000000 --- a/docs/html/search/enumvalues_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_8.js b/docs/html/search/enumvalues_8.js deleted file mode 100644 index 9ba815afd..000000000 --- a/docs/html/search/enumvalues_8.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['media_5ftype_5ffolder',['MEDIA_TYPE_FOLDER',['../media_8h.html#a1499e9f8a76cb81b43b7a4b0dbe7e44aa7e6d9235a97b3ac7fc1a45f18594c4e9',1,'media.h']]], - ['media_5ftype_5ffootage',['MEDIA_TYPE_FOOTAGE',['../media_8h.html#a1499e9f8a76cb81b43b7a4b0dbe7e44aadc411da711b29f0498b17e4a85fc1fda',1,'media.h']]], - ['media_5ftype_5fsequence',['MEDIA_TYPE_SEQUENCE',['../media_8h.html#a1499e9f8a76cb81b43b7a4b0dbe7e44aa539979b571e26889efbceb58e43273e9',1,'media.h']]] -]; diff --git a/docs/html/search/enumvalues_9.html b/docs/html/search/enumvalues_9.html deleted file mode 100644 index 2e532f48f..000000000 --- a/docs/html/search/enumvalues_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_9.js b/docs/html/search/enumvalues_9.js deleted file mode 100644 index 48c4fce8f..000000000 --- a/docs/html/search/enumvalues_9.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['project_5fview_5ficon',['PROJECT_VIEW_ICON',['../namespaceolive.html#a80d6149e99745ec465de6238b1c54377a055e31e2b4a40b3651d2fedd59527db0',1,'olive']]], - ['project_5fview_5ftree',['PROJECT_VIEW_TREE',['../namespaceolive.html#a80d6149e99745ec465de6238b1c54377a8830b609d44af082be176fa7a6fa57c9',1,'olive']]] -]; diff --git a/docs/html/search/enumvalues_a.html b/docs/html/search/enumvalues_a.html deleted file mode 100644 index 848615891..000000000 --- a/docs/html/search/enumvalues_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_a.js b/docs/html/search/enumvalues_a.js deleted file mode 100644 index 561e8e1b3..000000000 --- a/docs/html/search/enumvalues_a.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['record_5fmode_5fmono',['RECORD_MODE_MONO',['../namespaceolive.html#af40b7205c5998320e7325168589cfdfeaeea7cf3bddb67fd8ddef33fd57247e07',1,'olive']]], - ['record_5fmode_5fstereo',['RECORD_MODE_STEREO',['../namespaceolive.html#af40b7205c5998320e7325168589cfdfeaf5f4ae88c32311ee0ec701a108e81949',1,'olive']]] -]; diff --git a/docs/html/search/enumvalues_b.html b/docs/html/search/enumvalues_b.html deleted file mode 100644 index 3ac456a6e..000000000 --- a/docs/html/search/enumvalues_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_b.js b/docs/html/search/enumvalues_b.js deleted file mode 100644 index b9855726a..000000000 --- a/docs/html/search/enumvalues_b.js +++ /dev/null @@ -1,24 +0,0 @@ -var searchData= -[ - ['timeline_5ftool_5fcount',['TIMELINE_TOOL_COUNT',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2ac154130ebc0274d835fe4685f75710fb',1,'timelinetools.h']]], - ['timeline_5ftool_5fedit',['TIMELINE_TOOL_EDIT',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2aa0e6467cc9147779ce92a32ba4a363f6',1,'timelinetools.h']]], - ['timeline_5ftool_5fhand',['TIMELINE_TOOL_HAND',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2aa8f05408c90fdd2978897d6d3adb13ff',1,'timelinetools.h']]], - ['timeline_5ftool_5fmenu',['TIMELINE_TOOL_MENU',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a846c6d07d5f0fb8dfa1246da311496e9',1,'timelinetools.h']]], - ['timeline_5ftool_5fpointer',['TIMELINE_TOOL_POINTER',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a1cae4a2e2431def4170bc0c356c9aae9',1,'timelinetools.h']]], - ['timeline_5ftool_5frazor',['TIMELINE_TOOL_RAZOR',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a9e74a7999187e0e25673d69ce731beb8',1,'timelinetools.h']]], - ['timeline_5ftool_5fripple',['TIMELINE_TOOL_RIPPLE',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2ad4d60157b197a5fdcb42f0b56e38693b',1,'timelinetools.h']]], - ['timeline_5ftool_5frolling',['TIMELINE_TOOL_ROLLING',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2add94857945e40fe9f4450a1f04ac2092',1,'timelinetools.h']]], - ['timeline_5ftool_5fslide',['TIMELINE_TOOL_SLIDE',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a953a6999f3a97da050a70d650e2ecc63',1,'timelinetools.h']]], - ['timeline_5ftool_5fslip',['TIMELINE_TOOL_SLIP',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a546e09bf2bb13bacf32b580174b4518d',1,'timelinetools.h']]], - ['timeline_5ftool_5ftransition',['TIMELINE_TOOL_TRANSITION',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a4e830f0c765e232535e09ee796aa5086',1,'timelinetools.h']]], - ['timeline_5ftool_5fzoom',['TIMELINE_TOOL_ZOOM',['../timelinetools_8h.html#a955a8ee5cb7f630154cc7a6fb1dab0d2a2db317ce547d5f594304a8b5472d079e',1,'timelinetools.h']]], - ['transition_5finternal_5fcount',['TRANSITION_INTERNAL_COUNT',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311aa254a271c876386f1c3b36b348113f55',1,'transition.h']]], - ['transition_5finternal_5fcrossdissolve',['TRANSITION_INTERNAL_CROSSDISSOLVE',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311aa44d9cc1ca8e6ffd3910b7adabbee108',1,'transition.h']]], - ['transition_5finternal_5fcube',['TRANSITION_INTERNAL_CUBE',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311ac9a526dcc7a0ddb5da3e216c1158644b',1,'transition.h']]], - ['transition_5finternal_5fexponentialfade',['TRANSITION_INTERNAL_EXPONENTIALFADE',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311aad518383a7719e4a771a916db731f4bf',1,'transition.h']]], - ['transition_5finternal_5flinearfade',['TRANSITION_INTERNAL_LINEARFADE',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311acbaa562eb851e10eabb81fbaeb535447',1,'transition.h']]], - ['transition_5finternal_5flogarithmicfade',['TRANSITION_INTERNAL_LOGARITHMICFADE',['../transition_8h.html#ae043e50caa1968c9f1a42e6b6523b311adf394cff45021a18f17c7a76a23ce6cd',1,'transition.h']]], - ['trim_5fin',['TRIM_IN',['../timeline_8h.html#a3b8761f40035433d3f9bdec33a076b30aadb42980dbfc4a50bcdf82c1c2b281e7',1,'timeline.h']]], - ['trim_5fnone',['TRIM_NONE',['../timeline_8h.html#a3b8761f40035433d3f9bdec33a076b30a0a47e283e69dc1136cbafa8ba1908843',1,'timeline.h']]], - ['trim_5fout',['TRIM_OUT',['../timeline_8h.html#a3b8761f40035433d3f9bdec33a076b30a193d4dfcef51098a7af504ce824de5c1',1,'timeline.h']]] -]; diff --git a/docs/html/search/enumvalues_c.html b/docs/html/search/enumvalues_c.html deleted file mode 100644 index 0f7974533..000000000 --- a/docs/html/search/enumvalues_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/enumvalues_c.js b/docs/html/search/enumvalues_c.js deleted file mode 100644 index 45955894c..000000000 --- a/docs/html/search/enumvalues_c.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['vestigemaxcateglabellen',['VestigeMaxCategLabelLen',['../vestige_8h.html#a7d88e9204009d89f1102dc2bcfe5d637a18fed4be6b65b286a03f4eb0d6364afd',1,'vestige.h']]], - ['vestigemaxfilenamelen',['VestigeMaxFileNameLen',['../vestige_8h.html#a7d88e9204009d89f1102dc2bcfe5d637a41c8d4e234adcaff779f5d6651d1d967',1,'vestige.h']]], - ['vestigemaxlabellen',['VestigeMaxLabelLen',['../vestige_8h.html#a7d88e9204009d89f1102dc2bcfe5d637ac36abfd9a0555868dd470fe3b1275e8d',1,'vestige.h']]], - ['vestigemaxnamelen',['VestigeMaxNameLen',['../vestige_8h.html#a7d88e9204009d89f1102dc2bcfe5d637a58c0197dcac9de442df2e0c4c04a9ca2',1,'vestige.h']]], - ['vestigemaxshortlabellen',['VestigeMaxShortLabelLen',['../vestige_8h.html#a7d88e9204009d89f1102dc2bcfe5d637afaad291e9a7cf78cb1cfbb459303e4a4',1,'vestige.h']]], - ['video_5fbottom_5ffield_5ffirst',['VIDEO_BOTTOM_FIELD_FIRST',['../footage_8h.html#af32aea380f450787c471b0483272039aa05e14685bd401e0816846f6f869c92d8',1,'footage.h']]], - ['video_5fprogressive',['VIDEO_PROGRESSIVE',['../footage_8h.html#af32aea380f450787c471b0483272039aa5dcf319adcc01b0726f5d8ee08f179de',1,'footage.h']]], - ['video_5ftop_5ffield_5ffirst',['VIDEO_TOP_FIELD_FIRST',['../footage_8h.html#af32aea380f450787c471b0483272039aa4e19b11429efd0865d04120427a9df4b',1,'footage.h']]] -]; diff --git a/docs/html/search/files_0.html b/docs/html/search/files_0.html deleted file mode 100644 index 40cd45543..000000000 --- a/docs/html/search/files_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_0.js b/docs/html/search/files_0.js deleted file mode 100644 index dfefaa3f1..000000000 --- a/docs/html/search/files_0.js +++ /dev/null @@ -1,15 +0,0 @@ -var searchData= -[ - ['aboutdialog_2ecpp',['aboutdialog.cpp',['../aboutdialog_8cpp.html',1,'']]], - ['aboutdialog_2eh',['aboutdialog.h',['../aboutdialog_8h.html',1,'']]], - ['actionsearch_2ecpp',['actionsearch.cpp',['../actionsearch_8cpp.html',1,'']]], - ['actionsearch_2eh',['actionsearch.h',['../actionsearch_8h.html',1,'']]], - ['advancedvideodialog_2ecpp',['advancedvideodialog.cpp',['../advancedvideodialog_8cpp.html',1,'']]], - ['advancedvideodialog_2eh',['advancedvideodialog.h',['../advancedvideodialog_8h.html',1,'']]], - ['audio_2ecpp',['audio.cpp',['../audio_8cpp.html',1,'']]], - ['audio_2eh',['audio.h',['../audio_8h.html',1,'']]], - ['audiomonitor_2ecpp',['audiomonitor.cpp',['../audiomonitor_8cpp.html',1,'']]], - ['audiomonitor_2eh',['audiomonitor.h',['../audiomonitor_8h.html',1,'']]], - ['audionoiseeffect_2ecpp',['audionoiseeffect.cpp',['../audionoiseeffect_8cpp.html',1,'']]], - ['audionoiseeffect_2eh',['audionoiseeffect.h',['../audionoiseeffect_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_1.html b/docs/html/search/files_1.html deleted file mode 100644 index 646d1f4cc..000000000 --- a/docs/html/search/files_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_1.js b/docs/html/search/files_1.js deleted file mode 100644 index 26cb06774..000000000 --- a/docs/html/search/files_1.js +++ /dev/null @@ -1,33 +0,0 @@ -var searchData= -[ - ['cacher_2ecpp',['cacher.cpp',['../cacher_8cpp.html',1,'']]], - ['cacher_2eh',['cacher.h',['../cacher_8h.html',1,'']]], - ['checkboxex_2ecpp',['checkboxex.cpp',['../checkboxex_8cpp.html',1,'']]], - ['checkboxex_2eh',['checkboxex.h',['../checkboxex_8h.html',1,'']]], - ['clickablelabel_2ecpp',['clickablelabel.cpp',['../clickablelabel_8cpp.html',1,'']]], - ['clickablelabel_2eh',['clickablelabel.h',['../clickablelabel_8h.html',1,'']]], - ['clip_2ecpp',['clip.cpp',['../clip_8cpp.html',1,'']]], - ['clip_2eh',['clip.h',['../clip_8h.html',1,'']]], - ['clipboard_2ecpp',['clipboard.cpp',['../clipboard_8cpp.html',1,'']]], - ['clipboard_2eh',['clipboard.h',['../clipboard_8h.html',1,'']]], - ['collapsiblewidget_2ecpp',['collapsiblewidget.cpp',['../collapsiblewidget_8cpp.html',1,'']]], - ['collapsiblewidget_2eh',['collapsiblewidget.h',['../collapsiblewidget_8h.html',1,'']]], - ['colorbutton_2ecpp',['colorbutton.cpp',['../colorbutton_8cpp.html',1,'']]], - ['colorbutton_2eh',['colorbutton.h',['../colorbutton_8h.html',1,'']]], - ['comboaction_2ecpp',['comboaction.cpp',['../comboaction_8cpp.html',1,'']]], - ['comboaction_2eh',['comboaction.h',['../comboaction_8h.html',1,'']]], - ['comboboxex_2ecpp',['comboboxex.cpp',['../comboboxex_8cpp.html',1,'']]], - ['comboboxex_2eh',['comboboxex.h',['../comboboxex_8h.html',1,'']]], - ['config_2ecpp',['config.cpp',['../config_8cpp.html',1,'']]], - ['config_2eh',['config.h',['../config_8h.html',1,'']]], - ['cornerpineffect_2ecpp',['cornerpineffect.cpp',['../cornerpineffect_8cpp.html',1,'']]], - ['cornerpineffect_2eh',['cornerpineffect.h',['../cornerpineffect_8h.html',1,'']]], - ['crossdissolvetransition_2ecpp',['crossdissolvetransition.cpp',['../crossdissolvetransition_8cpp.html',1,'']]], - ['crossdissolvetransition_2eh',['crossdissolvetransition.h',['../crossdissolvetransition_8h.html',1,'']]], - ['crossplatformlib_2ecpp',['crossplatformlib.cpp',['../crossplatformlib_8cpp.html',1,'']]], - ['crossplatformlib_2eh',['crossplatformlib.h',['../crossplatformlib_8h.html',1,'']]], - ['cubetransition_2ecpp',['cubetransition.cpp',['../cubetransition_8cpp.html',1,'']]], - ['cubetransition_2eh',['cubetransition.h',['../cubetransition_8h.html',1,'']]], - ['cursors_2ecpp',['cursors.cpp',['../cursors_8cpp.html',1,'']]], - ['cursors_2eh',['cursors.h',['../cursors_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_10.html b/docs/html/search/files_10.html deleted file mode 100644 index 42c42d6bc..000000000 --- a/docs/html/search/files_10.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_10.js b/docs/html/search/files_10.js deleted file mode 100644 index 853dfbdde..000000000 --- a/docs/html/search/files_10.js +++ /dev/null @@ -1,24 +0,0 @@ -var searchData= -[ - ['texteditdialog_2ecpp',['texteditdialog.cpp',['../texteditdialog_8cpp.html',1,'']]], - ['texteditdialog_2eh',['texteditdialog.h',['../texteditdialog_8h.html',1,'']]], - ['texteditex_2ecpp',['texteditex.cpp',['../texteditex_8cpp.html',1,'']]], - ['texteditex_2eh',['texteditex.h',['../texteditex_8h.html',1,'']]], - ['texteffect_2ecpp',['texteffect.cpp',['../texteffect_8cpp.html',1,'']]], - ['texteffect_2eh',['texteffect.h',['../texteffect_8h.html',1,'']]], - ['timecodeeffect_2ecpp',['timecodeeffect.cpp',['../timecodeeffect_8cpp.html',1,'']]], - ['timecodeeffect_2eh',['timecodeeffect.h',['../timecodeeffect_8h.html',1,'']]], - ['timeline_2ecpp',['timeline.cpp',['../timeline_8cpp.html',1,'']]], - ['timeline_2eh',['timeline.h',['../timeline_8h.html',1,'']]], - ['timelineheader_2ecpp',['timelineheader.cpp',['../timelineheader_8cpp.html',1,'']]], - ['timelineheader_2eh',['timelineheader.h',['../timelineheader_8h.html',1,'']]], - ['timelinetools_2eh',['timelinetools.h',['../timelinetools_8h.html',1,'']]], - ['timelinewidget_2ecpp',['timelinewidget.cpp',['../timelinewidget_8cpp.html',1,'']]], - ['timelinewidget_2eh',['timelinewidget.h',['../timelinewidget_8h.html',1,'']]], - ['toneeffect_2ecpp',['toneeffect.cpp',['../toneeffect_8cpp.html',1,'']]], - ['toneeffect_2eh',['toneeffect.h',['../toneeffect_8h.html',1,'']]], - ['transformeffect_2ecpp',['transformeffect.cpp',['../transformeffect_8cpp.html',1,'']]], - ['transformeffect_2eh',['transformeffect.h',['../transformeffect_8h.html',1,'']]], - ['transition_2ecpp',['transition.cpp',['../transition_8cpp.html',1,'']]], - ['transition_2eh',['transition.h',['../transition_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_11.html b/docs/html/search/files_11.html deleted file mode 100644 index 4ea3d72aa..000000000 --- a/docs/html/search/files_11.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_11.js b/docs/html/search/files_11.js deleted file mode 100644 index 66e8cfb39..000000000 --- a/docs/html/search/files_11.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['undo_2ecpp',['undo.cpp',['../undo_8cpp.html',1,'']]], - ['undo_2eh',['undo.h',['../undo_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_12.html b/docs/html/search/files_12.html deleted file mode 100644 index 42c849ceb..000000000 --- a/docs/html/search/files_12.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_12.js b/docs/html/search/files_12.js deleted file mode 100644 index f1c7da812..000000000 --- a/docs/html/search/files_12.js +++ /dev/null @@ -1,19 +0,0 @@ -var searchData= -[ - ['version_2eh',['version.h',['../version_8h.html',1,'']]], - ['vestige_2eh',['vestige.h',['../vestige_8h.html',1,'']]], - ['viewer_2ecpp',['viewer.cpp',['../viewer_8cpp.html',1,'']]], - ['viewer_2eh',['viewer.h',['../viewer_8h.html',1,'']]], - ['viewercontainer_2ecpp',['viewercontainer.cpp',['../viewercontainer_8cpp.html',1,'']]], - ['viewercontainer_2eh',['viewercontainer.h',['../viewercontainer_8h.html',1,'']]], - ['viewerwidget_2ecpp',['viewerwidget.cpp',['../viewerwidget_8cpp.html',1,'']]], - ['viewerwidget_2eh',['viewerwidget.h',['../viewerwidget_8h.html',1,'']]], - ['viewerwindow_2ecpp',['viewerwindow.cpp',['../viewerwindow_8cpp.html',1,'']]], - ['viewerwindow_2eh',['viewerwindow.h',['../viewerwindow_8h.html',1,'']]], - ['voideffect_2ecpp',['voideffect.cpp',['../voideffect_8cpp.html',1,'']]], - ['voideffect_2eh',['voideffect.h',['../voideffect_8h.html',1,'']]], - ['volumeeffect_2ecpp',['volumeeffect.cpp',['../volumeeffect_8cpp.html',1,'']]], - ['volumeeffect_2eh',['volumeeffect.h',['../volumeeffect_8h.html',1,'']]], - ['vsthost_2ecpp',['vsthost.cpp',['../vsthost_8cpp.html',1,'']]], - ['vsthost_2eh',['vsthost.h',['../vsthost_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_2.html b/docs/html/search/files_2.html deleted file mode 100644 index 9e47a77a2..000000000 --- a/docs/html/search/files_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_2.js b/docs/html/search/files_2.js deleted file mode 100644 index e65a3adb8..000000000 --- a/docs/html/search/files_2.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['debug_2ecpp',['debug.cpp',['../debug_8cpp.html',1,'']]], - ['debug_2eh',['debug.h',['../debug_8h.html',1,'']]], - ['debugdialog_2ecpp',['debugdialog.cpp',['../debugdialog_8cpp.html',1,'']]], - ['debugdialog_2eh',['debugdialog.h',['../debugdialog_8h.html',1,'']]], - ['demonotice_2ecpp',['demonotice.cpp',['../demonotice_8cpp.html',1,'']]], - ['demonotice_2eh',['demonotice.h',['../demonotice_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_3.html b/docs/html/search/files_3.html deleted file mode 100644 index 167679b4d..000000000 --- a/docs/html/search/files_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_3.js b/docs/html/search/files_3.js deleted file mode 100644 index 86df6af92..000000000 --- a/docs/html/search/files_3.js +++ /dev/null @@ -1,23 +0,0 @@ -var searchData= -[ - ['effect_2ecpp',['effect.cpp',['../effect_8cpp.html',1,'']]], - ['effect_2eh',['effect.h',['../effect_8h.html',1,'']]], - ['effectcontrols_2ecpp',['effectcontrols.cpp',['../effectcontrols_8cpp.html',1,'']]], - ['effectcontrols_2eh',['effectcontrols.h',['../effectcontrols_8h.html',1,'']]], - ['effectfield_2ecpp',['effectfield.cpp',['../effectfield_8cpp.html',1,'']]], - ['effectfield_2eh',['effectfield.h',['../effectfield_8h.html',1,'']]], - ['effectgizmo_2ecpp',['effectgizmo.cpp',['../effectgizmo_8cpp.html',1,'']]], - ['effectgizmo_2eh',['effectgizmo.h',['../effectgizmo_8h.html',1,'']]], - ['effectloaders_2ecpp',['effectloaders.cpp',['../effectloaders_8cpp.html',1,'']]], - ['effectloaders_2eh',['effectloaders.h',['../effectloaders_8h.html',1,'']]], - ['effectrow_2ecpp',['effectrow.cpp',['../effectrow_8cpp.html',1,'']]], - ['effectrow_2eh',['effectrow.h',['../effectrow_8h.html',1,'']]], - ['embeddedfilechooser_2ecpp',['embeddedfilechooser.cpp',['../embeddedfilechooser_8cpp.html',1,'']]], - ['embeddedfilechooser_2eh',['embeddedfilechooser.h',['../embeddedfilechooser_8h.html',1,'']]], - ['exponentialfadetransition_2ecpp',['exponentialfadetransition.cpp',['../exponentialfadetransition_8cpp.html',1,'']]], - ['exponentialfadetransition_2eh',['exponentialfadetransition.h',['../exponentialfadetransition_8h.html',1,'']]], - ['exportdialog_2ecpp',['exportdialog.cpp',['../exportdialog_8cpp.html',1,'']]], - ['exportdialog_2eh',['exportdialog.h',['../exportdialog_8h.html',1,'']]], - ['exportthread_2ecpp',['exportthread.cpp',['../exportthread_8cpp.html',1,'']]], - ['exportthread_2eh',['exportthread.h',['../exportthread_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_4.html b/docs/html/search/files_4.html deleted file mode 100644 index 0eaa44a4e..000000000 --- a/docs/html/search/files_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_4.js b/docs/html/search/files_4.js deleted file mode 100644 index 78fea0a7b..000000000 --- a/docs/html/search/files_4.js +++ /dev/null @@ -1,15 +0,0 @@ -var searchData= -[ - ['fillleftrighteffect_2ecpp',['fillleftrighteffect.cpp',['../fillleftrighteffect_8cpp.html',1,'']]], - ['fillleftrighteffect_2eh',['fillleftrighteffect.h',['../fillleftrighteffect_8h.html',1,'']]], - ['flowlayout_2ecpp',['flowlayout.cpp',['../flowlayout_8cpp.html',1,'']]], - ['flowlayout_2eh',['flowlayout.h',['../flowlayout_8h.html',1,'']]], - ['focusfilter_2ecpp',['focusfilter.cpp',['../focusfilter_8cpp.html',1,'']]], - ['focusfilter_2eh',['focusfilter.h',['../focusfilter_8h.html',1,'']]], - ['fontcombobox_2ecpp',['fontcombobox.cpp',['../fontcombobox_8cpp.html',1,'']]], - ['fontcombobox_2eh',['fontcombobox.h',['../fontcombobox_8h.html',1,'']]], - ['footage_2ecpp',['footage.cpp',['../footage_8cpp.html',1,'']]], - ['footage_2eh',['footage.h',['../footage_8h.html',1,'']]], - ['frei0reffect_2ecpp',['frei0reffect.cpp',['../frei0reffect_8cpp.html',1,'']]], - ['frei0reffect_2eh',['frei0reffect.h',['../frei0reffect_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_5.html b/docs/html/search/files_5.html deleted file mode 100644 index 25316a5ad..000000000 --- a/docs/html/search/files_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_5.js b/docs/html/search/files_5.js deleted file mode 100644 index 42541057a..000000000 --- a/docs/html/search/files_5.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['grapheditor_2ecpp',['grapheditor.cpp',['../grapheditor_8cpp.html',1,'']]], - ['grapheditor_2eh',['grapheditor.h',['../grapheditor_8h.html',1,'']]], - ['graphview_2ecpp',['graphview.cpp',['../graphview_8cpp.html',1,'']]], - ['graphview_2eh',['graphview.h',['../graphview_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_6.html b/docs/html/search/files_6.html deleted file mode 100644 index 6f326f5f7..000000000 --- a/docs/html/search/files_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_6.js b/docs/html/search/files_6.js deleted file mode 100644 index e11b322c7..000000000 --- a/docs/html/search/files_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['issue_5ftemplate_2emd',['ISSUE_TEMPLATE.md',['../_i_s_s_u_e___t_e_m_p_l_a_t_e_8md.html',1,'']]] -]; diff --git a/docs/html/search/files_7.html b/docs/html/search/files_7.html deleted file mode 100644 index 53e39bfd1..000000000 --- a/docs/html/search/files_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_7.js b/docs/html/search/files_7.js deleted file mode 100644 index 83665e160..000000000 --- a/docs/html/search/files_7.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['keyframe_2ecpp',['keyframe.cpp',['../keyframe_8cpp.html',1,'']]], - ['keyframe_2eh',['keyframe.h',['../keyframe_8h.html',1,'']]], - ['keyframedrawing_2ecpp',['keyframedrawing.cpp',['../keyframedrawing_8cpp.html',1,'']]], - ['keyframedrawing_2eh',['keyframedrawing.h',['../keyframedrawing_8h.html',1,'']]], - ['keyframenavigator_2ecpp',['keyframenavigator.cpp',['../keyframenavigator_8cpp.html',1,'']]], - ['keyframenavigator_2eh',['keyframenavigator.h',['../keyframenavigator_8h.html',1,'']]], - ['keyframeview_2ecpp',['keyframeview.cpp',['../keyframeview_8cpp.html',1,'']]], - ['keyframeview_2eh',['keyframeview.h',['../keyframeview_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_8.html b/docs/html/search/files_8.html deleted file mode 100644 index 861a02cd4..000000000 --- a/docs/html/search/files_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_8.js b/docs/html/search/files_8.js deleted file mode 100644 index eecd866b0..000000000 --- a/docs/html/search/files_8.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['labelslider_2ecpp',['labelslider.cpp',['../labelslider_8cpp.html',1,'']]], - ['labelslider_2eh',['labelslider.h',['../labelslider_8h.html',1,'']]], - ['linearfadetransition_2ecpp',['linearfadetransition.cpp',['../linearfadetransition_8cpp.html',1,'']]], - ['linearfadetransition_2eh',['linearfadetransition.h',['../linearfadetransition_8h.html',1,'']]], - ['loaddialog_2ecpp',['loaddialog.cpp',['../loaddialog_8cpp.html',1,'']]], - ['loaddialog_2eh',['loaddialog.h',['../loaddialog_8h.html',1,'']]], - ['loadthread_2ecpp',['loadthread.cpp',['../loadthread_8cpp.html',1,'']]], - ['loadthread_2eh',['loadthread.h',['../loadthread_8h.html',1,'']]], - ['logarithmicfadetransition_2ecpp',['logarithmicfadetransition.cpp',['../logarithmicfadetransition_8cpp.html',1,'']]], - ['logarithmicfadetransition_2eh',['logarithmicfadetransition.h',['../logarithmicfadetransition_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_9.html b/docs/html/search/files_9.html deleted file mode 100644 index 020cb091e..000000000 --- a/docs/html/search/files_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_9.js b/docs/html/search/files_9.js deleted file mode 100644 index f1c2a6608..000000000 --- a/docs/html/search/files_9.js +++ /dev/null @@ -1,18 +0,0 @@ -var searchData= -[ - ['main_2ecpp',['main.cpp',['../main_8cpp.html',1,'']]], - ['mainwindow_2ecpp',['mainwindow.cpp',['../mainwindow_8cpp.html',1,'']]], - ['mainwindow_2eh',['mainwindow.h',['../mainwindow_8h.html',1,'']]], - ['marker_2ecpp',['marker.cpp',['../marker_8cpp.html',1,'']]], - ['marker_2eh',['marker.h',['../marker_8h.html',1,'']]], - ['math_2ecpp',['math.cpp',['../math_8cpp.html',1,'']]], - ['math_2eh',['math.h',['../math_8h.html',1,'']]], - ['media_2ecpp',['media.cpp',['../media_8cpp.html',1,'']]], - ['media_2eh',['media.h',['../media_8h.html',1,'']]], - ['mediaiconservice_2ecpp',['mediaiconservice.cpp',['../mediaiconservice_8cpp.html',1,'']]], - ['mediaiconservice_2eh',['mediaiconservice.h',['../mediaiconservice_8h.html',1,'']]], - ['mediapropertiesdialog_2ecpp',['mediapropertiesdialog.cpp',['../mediapropertiesdialog_8cpp.html',1,'']]], - ['mediapropertiesdialog_2eh',['mediapropertiesdialog.h',['../mediapropertiesdialog_8h.html',1,'']]], - ['menuhelper_2ecpp',['menuhelper.cpp',['../menuhelper_8cpp.html',1,'']]], - ['menuhelper_2eh',['menuhelper.h',['../menuhelper_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_a.html b/docs/html/search/files_a.html deleted file mode 100644 index d7549b7d5..000000000 --- a/docs/html/search/files_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_a.js b/docs/html/search/files_a.js deleted file mode 100644 index 8b07ca117..000000000 --- a/docs/html/search/files_a.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['newsequencedialog_2ecpp',['newsequencedialog.cpp',['../newsequencedialog_8cpp.html',1,'']]], - ['newsequencedialog_2eh',['newsequencedialog.h',['../newsequencedialog_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_b.html b/docs/html/search/files_b.html deleted file mode 100644 index a761fc229..000000000 --- a/docs/html/search/files_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_b.js b/docs/html/search/files_b.js deleted file mode 100644 index 7c8e30fcd..000000000 --- a/docs/html/search/files_b.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['oliveglobal_2ecpp',['oliveglobal.cpp',['../oliveglobal_8cpp.html',1,'']]], - ['oliveglobal_2eh',['oliveglobal.h',['../oliveglobal_8h.html',1,'']]], - ['otreeview_2ecpp',['otreeview.cpp',['../otreeview_8cpp.html',1,'']]], - ['otreeview_2eh',['otreeview.h',['../otreeview_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_c.html b/docs/html/search/files_c.html deleted file mode 100644 index 1411ec6d8..000000000 --- a/docs/html/search/files_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_c.js b/docs/html/search/files_c.js deleted file mode 100644 index dd2449211..000000000 --- a/docs/html/search/files_c.js +++ /dev/null @@ -1,30 +0,0 @@ -var searchData= -[ - ['paneffect_2ecpp',['paneffect.cpp',['../paneffect_8cpp.html',1,'']]], - ['paneffect_2eh',['paneffect.h',['../paneffect_8h.html',1,'']]], - ['panel_2ecpp',['panel.cpp',['../panel_8cpp.html',1,'']]], - ['panel_2eh',['panel.h',['../panel_8h.html',1,'']]], - ['panels_2ecpp',['panels.cpp',['../panels_8cpp.html',1,'']]], - ['panels_2eh',['panels.h',['../panels_8h.html',1,'']]], - ['path_2ecpp',['path.cpp',['../path_8cpp.html',1,'']]], - ['path_2eh',['path.h',['../path_8h.html',1,'']]], - ['playback_2ecpp',['playback.cpp',['../playback_8cpp.html',1,'']]], - ['playback_2eh',['playback.h',['../playback_8h.html',1,'']]], - ['playbutton_2ecpp',['playbutton.cpp',['../playbutton_8cpp.html',1,'']]], - ['playbutton_2eh',['playbutton.h',['../playbutton_8h.html',1,'']]], - ['preferencesdialog_2ecpp',['preferencesdialog.cpp',['../preferencesdialog_8cpp.html',1,'']]], - ['preferencesdialog_2eh',['preferencesdialog.h',['../preferencesdialog_8h.html',1,'']]], - ['previewgenerator_2ecpp',['previewgenerator.cpp',['../previewgenerator_8cpp.html',1,'']]], - ['previewgenerator_2eh',['previewgenerator.h',['../previewgenerator_8h.html',1,'']]], - ['project_2ecpp',['project.cpp',['../project_8cpp.html',1,'']]], - ['project_2eh',['project.h',['../project_8h.html',1,'']]], - ['projectelements_2eh',['projectelements.h',['../projectelements_8h.html',1,'']]], - ['projectfilter_2ecpp',['projectfilter.cpp',['../projectfilter_8cpp.html',1,'']]], - ['projectfilter_2eh',['projectfilter.h',['../projectfilter_8h.html',1,'']]], - ['projectmodel_2ecpp',['projectmodel.cpp',['../projectmodel_8cpp.html',1,'']]], - ['projectmodel_2eh',['projectmodel.h',['../projectmodel_8h.html',1,'']]], - ['proxydialog_2ecpp',['proxydialog.cpp',['../proxydialog_8cpp.html',1,'']]], - ['proxydialog_2eh',['proxydialog.h',['../proxydialog_8h.html',1,'']]], - ['proxygenerator_2ecpp',['proxygenerator.cpp',['../proxygenerator_8cpp.html',1,'']]], - ['proxygenerator_2eh',['proxygenerator.h',['../proxygenerator_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_d.html b/docs/html/search/files_d.html deleted file mode 100644 index 6e7e505ad..000000000 --- a/docs/html/search/files_d.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_d.js b/docs/html/search/files_d.js deleted file mode 100644 index 9864a6178..000000000 --- a/docs/html/search/files_d.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['qpainterwrapper_2ecpp',['qpainterwrapper.cpp',['../qpainterwrapper_8cpp.html',1,'']]], - ['qpainterwrapper_2eh',['qpainterwrapper.h',['../qpainterwrapper_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_e.html b/docs/html/search/files_e.html deleted file mode 100644 index 4bfc8dd53..000000000 --- a/docs/html/search/files_e.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_e.js b/docs/html/search/files_e.js deleted file mode 100644 index 27a33cef7..000000000 --- a/docs/html/search/files_e.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['readme_2emd',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]], - ['rectangleselect_2ecpp',['rectangleselect.cpp',['../rectangleselect_8cpp.html',1,'']]], - ['rectangleselect_2eh',['rectangleselect.h',['../rectangleselect_8h.html',1,'']]], - ['renderfunctions_2ecpp',['renderfunctions.cpp',['../renderfunctions_8cpp.html',1,'']]], - ['renderfunctions_2eh',['renderfunctions.h',['../renderfunctions_8h.html',1,'']]], - ['renderthread_2ecpp',['renderthread.cpp',['../renderthread_8cpp.html',1,'']]], - ['renderthread_2eh',['renderthread.h',['../renderthread_8h.html',1,'']]], - ['replaceclipmediadialog_2ecpp',['replaceclipmediadialog.cpp',['../replaceclipmediadialog_8cpp.html',1,'']]], - ['replaceclipmediadialog_2eh',['replaceclipmediadialog.h',['../replaceclipmediadialog_8h.html',1,'']]], - ['resizablescrollbar_2ecpp',['resizablescrollbar.cpp',['../resizablescrollbar_8cpp.html',1,'']]], - ['resizablescrollbar_2eh',['resizablescrollbar.h',['../resizablescrollbar_8h.html',1,'']]] -]; diff --git a/docs/html/search/files_f.html b/docs/html/search/files_f.html deleted file mode 100644 index f5e13b567..000000000 --- a/docs/html/search/files_f.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/files_f.js b/docs/html/search/files_f.js deleted file mode 100644 index a57bc1c24..000000000 --- a/docs/html/search/files_f.js +++ /dev/null @@ -1,20 +0,0 @@ -var searchData= -[ - ['scrollarea_2ecpp',['scrollarea.cpp',['../scrollarea_8cpp.html',1,'']]], - ['scrollarea_2eh',['scrollarea.h',['../scrollarea_8h.html',1,'']]], - ['selection_2eh',['selection.h',['../selection_8h.html',1,'']]], - ['sequence_2ecpp',['sequence.cpp',['../sequence_8cpp.html',1,'']]], - ['sequence_2eh',['sequence.h',['../sequence_8h.html',1,'']]], - ['shakeeffect_2ecpp',['shakeeffect.cpp',['../shakeeffect_8cpp.html',1,'']]], - ['shakeeffect_2eh',['shakeeffect.h',['../shakeeffect_8h.html',1,'']]], - ['solideffect_2ecpp',['solideffect.cpp',['../solideffect_8cpp.html',1,'']]], - ['solideffect_2eh',['solideffect.h',['../solideffect_8h.html',1,'']]], - ['sourceiconview_2ecpp',['sourceiconview.cpp',['../sourceiconview_8cpp.html',1,'']]], - ['sourceiconview_2eh',['sourceiconview.h',['../sourceiconview_8h.html',1,'']]], - ['sourcescommon_2ecpp',['sourcescommon.cpp',['../sourcescommon_8cpp.html',1,'']]], - ['sourcescommon_2eh',['sourcescommon.h',['../sourcescommon_8h.html',1,'']]], - ['sourcetable_2ecpp',['sourcetable.cpp',['../sourcetable_8cpp.html',1,'']]], - ['sourcetable_2eh',['sourcetable.h',['../sourcetable_8h.html',1,'']]], - ['speeddialog_2ecpp',['speeddialog.cpp',['../speeddialog_8cpp.html',1,'']]], - ['speeddialog_2eh',['speeddialog.h',['../speeddialog_8h.html',1,'']]] -]; diff --git a/docs/html/search/functions_0.html b/docs/html/search/functions_0.html deleted file mode 100644 index bc73761f5..000000000 --- a/docs/html/search/functions_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_0.js b/docs/html/search/functions_0.js deleted file mode 100644 index 70ea80f5c..000000000 --- a/docs/html/search/functions_0.js +++ /dev/null @@ -1,45 +0,0 @@ -var searchData= -[ - ['aboutdialog',['AboutDialog',['../class_about_dialog.html#ad96fc2ce8de7568ace543b7c69c71c56',1,'AboutDialog']]], - ['accept',['accept',['../class_advanced_video_dialog.html#af62fa0de930dcb29b24861bf59a58a5d',1,'AdvancedVideoDialog::accept()'],['../class_media_properties_dialog.html#a20093f2da0e6b62db871b9ed3b859afa',1,'MediaPropertiesDialog::accept()'],['../class_proxy_dialog.html#a9cd8daa76c79093e847b06c799928570',1,'ProxyDialog::accept()'],['../class_speed_dialog.html#a7aa5ad3688712741d0fc9b1faaaac7d8',1,'SpeedDialog::accept()']]], - ['action_5fname',['action_name',['../class_key_sequence_editor.html#a8c4fbd539576482e9e9476571e499912',1,'KeySequenceEditor']]], - ['actionsearch',['ActionSearch',['../class_action_search.html#ab62e205ffd6ba4d85e4b297f2f59bc73',1,'ActionSearch']]], - ['actionsearchentry',['ActionSearchEntry',['../class_action_search_entry.html#a05b453b8333db8a3b32f5c8c1cb0cf10',1,'ActionSearchEntry']]], - ['actionsearchlist',['ActionSearchList',['../class_action_search_list.html#afb635f9441a75248e0cac042720dacff',1,'ActionSearchList']]], - ['add_5fbtn_5fclick',['add_btn_click',['../class_timeline.html#ae9cc4f482e2b061bc2659b200f018d5c',1,'Timeline']]], - ['add_5fclips_5ffrom_5fghosts',['add_clips_from_ghosts',['../class_timeline.html#a45c72c51a0dfb5bba5ec22b855d6ca17',1,'Timeline']]], - ['add_5fcodec_5fto_5fcombobox',['add_codec_to_combobox',['../class_export_dialog.html#acb420605d32cfeb38119a5c15c25915a',1,'ExportDialog']]], - ['add_5fcombo_5fitem',['add_combo_item',['../class_effect_field.html#a7a0292829ec456a702c953bf1fbd3c50',1,'EffectField']]], - ['add_5feffect_5fpaste_5faction',['add_effect_paste_action',['../class_effect_controls.html#a91ed23f43cfa95505ec9fdfc4d2f5654',1,'EffectControls']]], - ['add_5ffield',['add_field',['../class_effect_row.html#ac5330bb4d1ae02e23235a5b47d4f9caa',1,'EffectRow']]], - ['add_5fgizmo',['add_gizmo',['../class_effect.html#ab6fd23ae16230595f63e00b94158764e',1,'Effect']]], - ['add_5fmenu_5fitem',['add_menu_item',['../class_timeline.html#a67ad5d65fb15a6e885724af148be006b',1,'Timeline']]], - ['add_5frecent_5fproject',['add_recent_project',['../class_project.html#aa3781cbe800f01ef02d0c3045562a3b0',1,'Project']]], - ['add_5frow',['add_row',['../class_effect.html#a709c3ae69fd83451551a2dc73b6c8639',1,'Effect']]], - ['add_5ftransition',['add_transition',['../class_timeline.html#a75c07b4a600cc2a436ccfe8ea12b249a',1,'Timeline']]], - ['add_5fwidget',['add_widget',['../class_effect_row.html#abab1b1a09526841772c8ff9e6bbc5d04',1,'EffectRow']]], - ['addclipcommand',['AddClipCommand',['../class_add_clip_command.html#a76bc7d58836e520d113d8d24b76275e7',1,'AddClipCommand']]], - ['addeffectcommand',['AddEffectCommand',['../class_add_effect_command.html#a9656a70ae5490a61589358c3cf228214',1,'AddEffectCommand']]], - ['additem',['addItem',['../class_flow_layout.html#ab60fb7d4cfa8f5d2122e7db6c850ae8e',1,'FlowLayout']]], - ['addmarkeraction',['AddMarkerAction',['../class_add_marker_action.html#adccbdc784697a37b05e50dbc089d54c8',1,'AddMarkerAction']]], - ['addmediacommand',['AddMediaCommand',['../class_add_media_command.html#a4031574f0063b2db0639f70ecd777e60',1,'AddMediaCommand']]], - ['addtransitioncommand',['AddTransitionCommand',['../class_add_transition_command.html#abc0a5dc169215f0521d8268586f13a20',1,'AddTransitionCommand']]], - ['adjust',['adjust',['../class_viewer_container.html#a1148ead515900a3f437a5bb075e83784',1,'ViewerContainer']]], - ['adjust_5ffield',['adjust_field',['../transformeffect_8cpp.html#a13398c585dd4500899b1aba9b54ac4b3',1,'transformeffect.cpp']]], - ['adjust_5frow_5fkeyframe',['adjust_row_keyframe',['../keyframedrawing_8cpp.html#ac097d912e63de04b8471d9d91533c73d',1,'adjust_row_keyframe(EffectRow *row, long time, long visible_in): keyframedrawing.cpp'],['../keyframedrawing_8h.html#ac097d912e63de04b8471d9d91533c73d',1,'adjust_row_keyframe(EffectRow *row, long time, long visible_in): keyframedrawing.cpp']]], - ['adjust_5fscrollbars',['adjust_scrollbars',['../class_viewer_container.html#a4cc5533ffffc485003a5c803fac13053',1,'ViewerContainer']]], - ['advancedvideodialog',['AdvancedVideoDialog',['../class_advanced_video_dialog.html#a1b701e2890656e8cf6aeea04168564a1',1,'AdvancedVideoDialog']]], - ['alloc_5fpanels',['alloc_panels',['../panels_8cpp.html#a30ee859993636d51a677f812428ad525',1,'alloc_panels(QWidget *parent): panels.cpp'],['../panels_8h.html#a30ee859993636d51a677f812428ad525',1,'alloc_panels(QWidget *parent): panels.cpp']]], - ['amplitude_5fto_5fdb',['amplitude_to_db',['../math_8cpp.html#a3207c6f1d10730cb7947383ef81e54be',1,'amplitude_to_db(double amplitude): math.cpp'],['../math_8h.html#a3207c6f1d10730cb7947383ef81e54be',1,'amplitude_to_db(double amplitude): math.cpp']]], - ['animationupdate',['AnimationUpdate',['../class_media_icon_service.html#a99c152df3a53fed8a0222a78a6de1ed2',1,'MediaIconService']]], - ['append',['append',['../class_combo_action.html#aed59b1710792cf73e05bbab38e5beb0c',1,'ComboAction']]], - ['appendchild',['appendChild',['../class_media.html#af26c3bfd9f74b8b995dc36db30997a72',1,'Media::appendChild()'],['../class_project_model.html#a02503287cbfea10c1e502158628154a3',1,'ProjectModel::appendChild()']]], - ['appendpost',['appendPost',['../class_combo_action.html#a07a1411b03555da72d480d6b00279f8b',1,'ComboAction']]], - ['apply_5faudio_5feffects',['apply_audio_effects',['../cacher_8cpp.html#afb9040a275beceda985a4c5740008316',1,'cacher.cpp']]], - ['are_5fgizmos_5fenabled',['are_gizmos_enabled',['../class_effect.html#ab1e6e6d88937b5f568ba2e78e761401b',1,'Effect']]], - ['audio_5feffect_5fclick',['audio_effect_click',['../class_effect_controls.html#aa1d0fbb3d80279ba846e85e28307d307',1,'EffectControls']]], - ['audio_5ftransition_5fclick',['audio_transition_click',['../class_effect_controls.html#a15a28f27653b643d7b70e4152c20a3a7',1,'EffectControls']]], - ['audiomonitor',['AudioMonitor',['../class_audio_monitor.html#a8cf9a165822d7d23eedb5ab2a9ad3cc0',1,'AudioMonitor']]], - ['audionoiseeffect',['AudioNoiseEffect',['../class_audio_noise_effect.html#a194f5003f907185e37f5b5b27aa922ca',1,'AudioNoiseEffect']]], - ['audiosenderthread',['AudioSenderThread',['../class_audio_sender_thread.html#aa32fc860d2f5d9be97650fd3901999a9',1,'AudioSenderThread']]] -]; diff --git a/docs/html/search/functions_1.html b/docs/html/search/functions_1.html deleted file mode 100644 index bfcf880be..000000000 --- a/docs/html/search/functions_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_1.js b/docs/html/search/functions_1.js deleted file mode 100644 index 878c98a83..000000000 --- a/docs/html/search/functions_1.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['blurred2',['blurred2',['../texteffect_8cpp.html#a1c91186f0609d356d15f4ab40e979cd2',1,'texteffect.cpp']]], - ['browse',['browse',['../class_embedded_file_chooser.html#a1be5ef9979d157641f3ff64ba933728d',1,'EmbeddedFileChooser']]], - ['browse_5fcss_5ffile',['browse_css_file',['../class_preferences_dialog.html#aeeba960285aa17b736f0778a0426f1ca',1,'PreferencesDialog']]], - ['bytes_5fto_5fseconds',['bytes_to_seconds',['../cacher_8cpp.html#a673f9f122c08ad992fba3ea9cde1bc3a',1,'cacher.cpp']]] -]; diff --git a/docs/html/search/functions_10.html b/docs/html/search/functions_10.html deleted file mode 100644 index d69badf9e..000000000 --- a/docs/html/search/functions_10.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_10.js b/docs/html/search/functions_10.js deleted file mode 100644 index 9b0f87f6f..000000000 --- a/docs/html/search/functions_10.js +++ /dev/null @@ -1,67 +0,0 @@ -var searchData= -[ - ['read_5fnext',['read_next',['../class_load_thread.html#ac59295ce01eaaced688c58ca170da623',1,'LoadThread']]], - ['read_5fnext_5fstart_5felement',['read_next_start_element',['../class_load_thread.html#a6d493cce8e1c85b304a0a9c357f9e17d',1,'LoadThread']]], - ['ready',['ready',['../class_render_thread.html#aaaf1ad347199039c1abafa65cba6cfb3',1,'RenderThread']]], - ['recalculatemaxlength',['recalculateMaxLength',['../class_clip.html#a504b65ac52790e74783eb132d766b5d9',1,'Clip']]], - ['receive_5fwheel_5fevent',['receive_wheel_event',['../class_effects_area.html#a3b31eeeaec993ed466d3ba5072d9868a',1,'EffectsArea']]], - ['record_5fbtn_5fclick',['record_btn_click',['../class_timeline.html#abaf44157c24cabb31c69e6b7cf1ac60d',1,'Timeline']]], - ['recording_5fflasher_5fupdate',['recording_flasher_update',['../class_viewer.html#a785b2f651a508d775baca459a6b3234f',1,'Viewer']]], - ['redo',['redo',['../class_olive_global.html#a501c01aa8f27966ea6fc4c3b74ee8a17',1,'OliveGlobal::redo()'],['../class_combo_action.html#ad1b5b3aac00861aec74dd0d9ee1f06a0',1,'ComboAction::redo()'],['../class_olive_action.html#a4bdc5f2f1d644b02f5bce1f025698bfe',1,'OliveAction::redo()'],['../class_color_command.html#acc357a57a33f55454c328d379e668b4d',1,'ColorCommand::redo()'],['../class_combo_box_ex_command.html#adca907855bbe6eb96ea5c3d9d852234c',1,'ComboBoxExCommand::redo()']]], - ['redraw',['redraw',['../class_solid_effect.html#a555083d8cba63f1ded9df1fb4ccef8c0',1,'SolidEffect::redraw()'],['../class_text_effect.html#a8dc7ccc9adfe7731df4cf47388cd23fa',1,'TextEffect::redraw()'],['../class_timecode_effect.html#aae969aac97764ae8c603f2901bf5c3d1',1,'TimecodeEffect::redraw()'],['../class_effect.html#a8e9e683d4c8bac5c7eb7668250dbab30',1,'Effect::redraw()']]], - ['refactor_5fframe_5fnumber',['refactor_frame_number',['../playback_8cpp.html#a16f638f7cc33381a9a16f27cded0d15d',1,'refactor_frame_number(long framenumber, double source_frame_rate, double target_frame_rate): playback.cpp'],['../playback_8h.html#a16f638f7cc33381a9a16f27cded0d15d',1,'refactor_frame_number(long framenumber, double source_frame_rate, double target_frame_rate): playback.cpp']]], - ['refactor_5fframe_5frate',['refactor_frame_rate',['../class_clip.html#ab58ed85eb6a78b1f200485abb6b6cc9f',1,'Clip']]], - ['refine_5fshortcut_5flist',['refine_shortcut_list',['../class_preferences_dialog.html#a55b59968755ded7573bd15aa9fb3d4e9',1,'PreferencesDialog']]], - ['refresh',['refresh',['../class_frei0r_effect.html#a799b438cccba6c20452123421233ac68',1,'Frei0rEffect::refresh()'],['../class_transform_effect.html#a62abf511922579f8bab02eef8fc55652',1,'TransformEffect::refresh()'],['../class_clip.html#aae524ef15e54c00a4672d5d2a95a9cee',1,'Clip::refresh()'],['../class_effect.html#a8c6cc1192ee9712e5139f4c341fcb733',1,'Effect::refresh()']]], - ['refreshclips',['RefreshClips',['../class_sequence.html#ae6ea438558155267cfce34fc3f87a5db',1,'Sequence::RefreshClips()'],['../class_refresh_clips.html#a4f2929e095b7b9312316759c0c46317c',1,'RefreshClips::RefreshClips()']]], - ['relink_5fclips_5fusing_5fids',['relink_clips_using_ids',['../class_timeline.html#a9dda22fa2558deeb51c4b5b94883a54a',1,'Timeline']]], - ['reload_5fclips',['reload_clips',['../class_effect_controls.html#a50a7f416c92cb798bed7ad392ae82548',1,'EffectControls']]], - ['removechild',['removeChild',['../class_media.html#a5d88c89fb38858958dd19311311a23a3',1,'Media::removeChild()'],['../class_project_model.html#a49d3b09601c1489f417288337ae33b23',1,'ProjectModel::removeChild()']]], - ['removeclipsfromclipboard',['RemoveClipsFromClipboard',['../class_remove_clips_from_clipboard.html#adc15bdcbd5bb0f7e805a47609b08161d',1,'RemoveClipsFromClipboard']]], - ['rename_5fclip',['rename_clip',['../class_timeline_widget.html#a57b861992530aa46e3a3cc03256a1697',1,'TimelineWidget']]], - ['rename_5finterval',['rename_interval',['../class_sources_common.html#af1f7fc9bdb1459072fbcfae16902b5eb',1,'SourcesCommon']]], - ['renameclipcommand',['RenameClipCommand',['../class_rename_clip_command.html#a69e0d281ac5c78f08da9f383128d1fe3',1,'RenameClipCommand']]], - ['render_5fthread_5ffinished',['render_thread_finished',['../class_export_dialog.html#a716effe2d15743e942607828b2a92d8b',1,'ExportDialog']]], - ['renderthread',['RenderThread',['../class_render_thread.html#a23dfb5ab95e0e5d9c7a7431c441db27d',1,'RenderThread']]], - ['repaint_5ftimeline',['repaint_timeline',['../class_timeline.html#aaf3ab106e6ddd6a41b19adb9d7313c5f',1,'Timeline']]], - ['replace',['replace',['../class_replace_clip_media_dialog.html#a471b5db4f8abb0766478f10f79e70794',1,'ReplaceClipMediaDialog::replace()'],['../class_replace_media_command.html#a0a26785846e3f6d7ebb24d0fe4a1897d',1,'ReplaceMediaCommand::replace()'],['../class_replace_clip_media_command.html#ab3144ceeccad2a19229ff9f109100a7a',1,'ReplaceClipMediaCommand::replace()']]], - ['replace_5fclip_5fmedia',['replace_clip_media',['../class_project.html#ab6f4ff731eaa49fd9e78d47dd5b0bbf5',1,'Project']]], - ['replace_5fmedia',['replace_media',['../class_project.html#a42cb52223007fd87a8ae0484e9ff6e9a',1,'Project']]], - ['replace_5fselected_5ffile',['replace_selected_file',['../class_project.html#a1997e62849a3f6e181559981fe8b70de',1,'Project']]], - ['replaceclipmediacommand',['ReplaceClipMediaCommand',['../class_replace_clip_media_command.html#a1384f4250957a75e6e6b874520ca19a9',1,'ReplaceClipMediaCommand']]], - ['replaceclipmediadialog',['ReplaceClipMediaDialog',['../class_replace_clip_media_dialog.html#a463801c101559d8a4864faeab2fd1e64',1,'ReplaceClipMediaDialog']]], - ['replacemediacommand',['ReplaceMediaCommand',['../class_replace_media_command.html#a521753c7a8094e84f90e9c6f31c9e18f',1,'ReplaceMediaCommand']]], - ['report_5fprogress',['report_progress',['../class_load_thread.html#a0f02c91285357cdb84bfc30de9ed924c',1,'LoadThread']]], - ['reset',['reset',['../class_clip.html#a23d00c503f0a43488ddc2e844556bb2f',1,'Clip::reset()'],['../struct_footage.html#a5251b2675ba4f5007930d28a3b53ca98',1,'Footage::reset()']]], - ['reset_5fall_5faudio',['reset_all_audio',['../class_viewer.html#a20a4be8a8fab57715983b29d1eccc591',1,'Viewer']]], - ['reset_5fall_5fshortcuts',['reset_all_shortcuts',['../class_preferences_dialog.html#ae2bbcf602a3f0a535f41adb6dd9e85f5',1,'PreferencesDialog']]], - ['reset_5faudio',['reset_audio',['../class_clip.html#abeaeba185834f6cc3edd1500805945b6',1,'Clip']]], - ['reset_5fcache',['reset_cache',['../cacher_8cpp.html#a224c9a17d2704fa610e00c73d33c893c',1,'reset_cache(ClipPtr c, long target_frame, int playback_speed): cacher.cpp'],['../playback_8h.html#a224c9a17d2704fa610e00c73d33c893c',1,'reset_cache(ClipPtr c, long target_frame, int playback_speed): cacher.cpp']]], - ['reset_5fdefault_5fshortcut',['reset_default_shortcut',['../class_preferences_dialog.html#ad02b994c79691fa5558a03f42f91edb0',1,'PreferencesDialog']]], - ['reset_5flayout',['reset_layout',['../class_main_window.html#a71cf1b26b6f2b58ea307bc2340bed64d',1,'MainWindow']]], - ['reset_5fto_5fdefault',['reset_to_default',['../class_key_sequence_editor.html#a8b0b3ebca3eeccbd07ee048a4979d106',1,'KeySequenceEditor']]], - ['reset_5fview',['reset_view',['../class_graph_view.html#ac71c19f47d0441d2cdb49c98b9f71723',1,'GraphView']]], - ['resizablescrollbar',['ResizableScrollBar',['../class_resizable_scroll_bar.html#a5ae690281a996054cc93fcc49cb1e082',1,'ResizableScrollBar']]], - ['resize_5fmove',['resize_move',['../class_timeline.html#a75e9e1e06316d87d2227e3b9ab61cfab',1,'Timeline::resize_move()'],['../class_viewer.html#aba2aa1e594607ed041333cd1107658de',1,'Viewer::resize_move()'],['../class_keyframe_view.html#aaf2337961783e3dda3a9b10e7df38c2a',1,'KeyframeView::resize_move()'],['../class_resizable_scroll_bar.html#a60ba51310bcfc96eb4d9244d7360c1f1',1,'ResizableScrollBar::resize_move()']]], - ['resized_5fscroll_5flistener',['resized_scroll_listener',['../class_timeline_header.html#ad0e609702470af984f13e562fdac85e9',1,'TimelineHeader']]], - ['resizeevent',['resizeEvent',['../class_effect_controls.html#a139180970d79f27464841c562f6f5a74',1,'EffectControls::resizeEvent()'],['../class_timeline.html#af9328bb1c4568b682c062c9224aeee29',1,'Timeline::resizeEvent()'],['../class_viewer.html#a3d647172464b4aefb78067a0e3882bd2',1,'Viewer::resizeEvent()'],['../class_audio_monitor.html#acca2f54ecedb258e9573352c6b259442',1,'AudioMonitor::resizeEvent()'],['../class_resizable_scroll_bar.html#a69ff7f47a0979c34b1935febf2fa1753',1,'ResizableScrollBar::resizeEvent()'],['../class_timeline_widget.html#ae7568d2a760a96ec56f164a15887ba68',1,'TimelineWidget::resizeEvent()'],['../class_viewer_container.html#a28b4a8484836ab2b30b77312706b070b',1,'ViewerContainer::resizeEvent()']]], - ['resumeplugin',['resumePlugin',['../class_v_s_t_host.html#acd3ef43a6accb154490b985a96d8c867',1,'VSTHost']]], - ['retranslate',['Retranslate',['../class_effect_controls.html#a5944df242c7dcbeae6bf6684a94e91fd',1,'EffectControls::Retranslate()'],['../class_graph_editor.html#ae90cd12f6fd498d935ab07cd5e43cd17',1,'GraphEditor::Retranslate()'],['../class_project.html#aaa7b4a13455c41c5eba5bf93c1a3f3ba',1,'Project::Retranslate()'],['../class_timeline.html#aaecf4ce0f2a3aabae4b12253f4f7185e',1,'Timeline::Retranslate()'],['../class_viewer.html#ab06b426087eed58996b1dfbcc6ad3f1e',1,'Viewer::Retranslate()'],['../class_panel.html#acc714dbdefcd643a467df84fafc6c265',1,'Panel::Retranslate()']]], - ['retrieve_5fnext_5fframe',['retrieve_next_frame',['../playback_8cpp.html#a3e3893ce22d7b270ea2df70e97bea6f0',1,'retrieve_next_frame(ClipPtr c, AVFrame *f): playback.cpp'],['../playback_8h.html#a3e3893ce22d7b270ea2df70e97bea6f0',1,'retrieve_next_frame(ClipPtr c, AVFrame *f): playback.cpp']]], - ['retrieve_5fpreview',['retrieve_preview',['../class_preview_generator.html#ae2305c9647ac699af9c493e769710993',1,'PreviewGenerator']]], - ['retry',['retry',['../class_viewer_widget.html#aef4e3e10d8a029c5a32fa972b48e1a15',1,'ViewerWidget']]], - ['reveal_5fin_5fbrowser',['reveal_in_browser',['../class_sources_common.html#afa0336fd250a610a719f98ef58424199',1,'SourcesCommon']]], - ['reveal_5fmedia',['reveal_media',['../class_project.html#a26d1ba881469d084357b869da5589308',1,'Project::reveal_media()'],['../class_timeline_widget.html#a087dc23cb2fac1dac5568469ee842de0',1,'TimelineWidget::reveal_media()']]], - ['ripple_5fclips',['ripple_clips',['../timeline_8cpp.html#a07505d17cc33f90155e2d871b6064e50',1,'ripple_clips(ComboAction *ca, SequencePtr s, long point, long length, const QVector< int > &ignore): timeline.cpp'],['../timeline_8h.html#aa8500cc68a91bc4e5266f34437272e2c',1,'ripple_clips(ComboAction *ca, SequencePtr s, long point, long length, const QVector< int > &ignore=QVector< int >()): timeline.cpp']]], - ['ripple_5fdelete',['ripple_delete',['../class_timeline.html#a7523787d44855bf87fccc7c43dbf436e',1,'Timeline']]], - ['ripple_5fdelete_5fempty_5fspace',['ripple_delete_empty_space',['../class_timeline.html#a61faea6126026f04918d7c3e98dfda4c',1,'Timeline']]], - ['ripple_5fdelete_5finout',['ripple_delete_inout',['../class_timeline.html#a94a4a80fd046ca4a454b72c00babf22c',1,'Timeline']]], - ['ripple_5fto_5fin_5fpoint',['ripple_to_in_point',['../class_timeline.html#a587f225fa880ad516f1b9bab4f0dbfc8',1,'Timeline']]], - ['ripple_5fto_5fout_5fpoint',['ripple_to_out_point',['../class_timeline.html#a6ac73dc6d30437f342a090fc930b460b',1,'Timeline']]], - ['rippleaction',['RippleAction',['../class_ripple_action.html#a8937389e24a321691179971a5420476b',1,'RippleAction']]], - ['row',['row',['../class_effect.html#ac6237d1b74587106f499ee8e8b87a6bc',1,'Effect::row()'],['../class_media.html#ab4a12b049a213f05411d3d9b98ed0e1b',1,'Media::row()']]], - ['row_5fcount',['row_count',['../class_effect.html#a5bfbca882f6951d45e585cfe485ae3bd',1,'Effect']]], - ['rowcount',['rowCount',['../class_project_model.html#adb9a1fe0d147855b59bd764e57aa711f',1,'ProjectModel']]], - ['run',['run',['../class_speed_dialog.html#ae168b4d37073281e6d1776e54f638522',1,'SpeedDialog::run()'],['../class_export_thread.html#a13b763676984349813b398ac4556b2cf',1,'ExportThread::run()'],['../class_load_thread.html#a4c36b2e87156b48703078eaa0ae25174',1,'LoadThread::run()'],['../class_preview_generator.html#a45fa7f7ca54861dcd43c9cf41cc382aa',1,'PreviewGenerator::run()'],['../class_proxy_generator.html#a87d99a9405a771187fc7db0229c2c1ae',1,'ProxyGenerator::run()'],['../class_audio_sender_thread.html#a51c4a95d3582f796aa1887c6cde3a741',1,'AudioSenderThread::run()'],['../class_cacher.html#a89edaa9400682322f6f9311b2cdc2a0a',1,'Cacher::run()'],['../class_effect_init.html#a7dbdb65a71c615f39ffaef197150ee0b',1,'EffectInit::run()'],['../class_render_thread.html#a43602ff1f6ddfad531eb27e4e9ebd945',1,'RenderThread::run()']]], - ['runtimeconfig',['RuntimeConfig',['../struct_runtime_config.html#aa51a896ec458a69c2a43f22482b75ad2',1,'RuntimeConfig']]] -]; diff --git a/docs/html/search/functions_11.html b/docs/html/search/functions_11.html deleted file mode 100644 index 2c143588e..000000000 --- a/docs/html/search/functions_11.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_11.js b/docs/html/search/functions_11.js deleted file mode 100644 index dd22202e0..000000000 --- a/docs/html/search/functions_11.js +++ /dev/null @@ -1,196 +0,0 @@ -var searchData= -[ - ['same_5fsign',['same_sign',['../timelinewidget_8cpp.html#a7a96d3b882fabc70e8f93cb7239fabc6',1,'same_sign(int a, int b): timelinewidget.cpp'],['../timelinewidget_8h.html#a7a96d3b882fabc70e8f93cb7239fabc6',1,'same_sign(int a, int b): timelinewidget.cpp']]], - ['save',['save',['../class_preferences_dialog.html#a49bca74c6f5eef9ccedc84f8fe5d8118',1,'PreferencesDialog::save()'],['../class_text_edit_dialog.html#a4d2dbe3203af850a911f483f5d1c63e3',1,'TextEditDialog::save()'],['../class_void_effect.html#a33022b606b609ce42432dd91d70ce4e1',1,'VoidEffect::save()'],['../class_v_s_t_host.html#a90093c1662a258901cf43db10e5bfd87',1,'VSTHost::save()'],['../struct_config.html#adf999ef5afad88e3ef78165860b1de5b',1,'Config::save()'],['../class_effect.html#ae1d54acbddc9b6e4373e4f53f6379c30',1,'Effect::save()'],['../class_transition.html#ab4c894807b0acca3b846c4388712c0bb',1,'Transition::save()']]], - ['save_5fautorecovery_5ffile',['save_autorecovery_file',['../class_olive_global.html#a683bdbe17929ce90db233a3cdff8fc30',1,'OliveGlobal']]], - ['save_5fdata_5fto_5fstring',['save_data_to_string',['../effect_8cpp.html#a93a1e304790e3cc62f7b347bede17f46',1,'effect.cpp']]], - ['save_5ffolder',['save_folder',['../class_project.html#aea7d239134e0c5151adcf7a1ecf6c63d',1,'Project']]], - ['save_5fframe',['save_frame',['../class_viewer_widget.html#a39cc3823883bc66dfafae498b34c2d94',1,'ViewerWidget']]], - ['save_5fmarker',['save_marker',['../project_8cpp.html#ae4295339a7badc9e1e009ac49dc62022',1,'project.cpp']]], - ['save_5fproject',['save_project',['../class_olive_global.html#a465ffe390d9b615ed8216d2335039197',1,'OliveGlobal::save_project()'],['../class_project.html#a0bc78d14d5fca0bc3740f027ef3d6561',1,'Project::save_project()']]], - ['save_5fproject_5fas',['save_project_as',['../class_olive_global.html#ab3f5f0874214f7ecac66d7ab152a8141',1,'OliveGlobal']]], - ['save_5frecent_5fprojects',['save_recent_projects',['../class_project.html#af94764829772c09d166757f4c1f861ba',1,'Project']]], - ['save_5fshortcut_5ffile',['save_shortcut_file',['../class_preferences_dialog.html#a5452b3213490ff30e3064998056238cc',1,'PreferencesDialog']]], - ['save_5fshortcuts',['save_shortcuts',['../class_main_window.html#ade97fa7698ec0bd744ffef8808dfb24b',1,'MainWindow']]], - ['save_5fto_5ffile',['save_to_file',['../class_effect.html#ac24cb7838739f665bde0b408cc196b35',1,'Effect']]], - ['save_5fto_5fstring',['save_to_string',['../class_effect.html#af89725f1966ade1ac299ba53fe32b981',1,'Effect']]], - ['scroll_5fchanged',['scroll_changed',['../class_viewer_container.html#a0fa8137d067a732f4ee2e38e38f6f5d8',1,'ViewerContainer']]], - ['scroll_5fto_5fframe',['scroll_to_frame',['../class_effect_controls.html#a082dfe2767cce0f1d8ec1df59d6a87db',1,'EffectControls::scroll_to_frame()'],['../class_timeline.html#a1d39ab87fb04ac91410c0a0565c97046',1,'Timeline::scroll_to_frame()']]], - ['scroll_5fto_5fframe_5finternal',['scroll_to_frame_internal',['../panels_8cpp.html#ae6588090bcd7acf371a40090ce85d047',1,'scroll_to_frame_internal(QScrollBar *bar, long frame, double zoom, int area_width): panels.cpp'],['../panels_8h.html#ae6588090bcd7acf371a40090ce85d047',1,'scroll_to_frame_internal(QScrollBar *bar, long frame, double zoom, int area_width): panels.cpp']]], - ['scrollarea',['ScrollArea',['../class_scroll_area.html#acae5d62b867cecfbf88ffa61d94b13d6',1,'ScrollArea']]], - ['search_5fupdate',['search_update',['../class_action_search.html#ad9ce9f5a257569b695f30c0cc5304b7b',1,'ActionSearch']]], - ['seconds_5fto_5ftimestamp',['seconds_to_timestamp',['../playback_8cpp.html#a8ed28c9e03f8090679a833e530093b5f',1,'seconds_to_timestamp(ClipPtr c, double seconds): playback.cpp'],['../playback_8h.html#a8ed28c9e03f8090679a833e530093b5f',1,'seconds_to_timestamp(ClipPtr c, double seconds): playback.cpp']]], - ['seek',['seek',['../class_viewer.html#a632bb1e0734713a4dbf99a31055fe94c',1,'Viewer']]], - ['seek_5ffrom_5fclick',['seek_from_click',['../class_viewer_widget.html#aab6aba3ae386482f13f60db8bfc5b035',1,'ViewerWidget']]], - ['select',['select',['../class_collapsible_widget_header.html#aac24f55a52680458598e5c30b4269d92',1,'CollapsibleWidgetHeader']]], - ['select_5fall',['select_all',['../class_graph_editor.html#a2258f07a8ff54255150f764c9f03de75',1,'GraphEditor::select_all()'],['../class_timeline.html#aba9815734309a5ea108ea3263536fc32',1,'Timeline::select_all()'],['../class_focus_filter.html#a4e91f2fe5798f054d53436247bb2f60d',1,'FocusFilter::select_all()'],['../class_graph_view.html#ac3fc657491612d94c5589a20c370aa1b',1,'GraphView::select_all()']]], - ['select_5ffrom_5fplayhead',['select_from_playhead',['../class_timeline.html#a5451b044adf5f2c919e46848e797baaf',1,'Timeline']]], - ['selection_5fchanged',['selection_changed',['../class_graph_view.html#a9cb67b62b179dac2470935337245a3cf',1,'GraphView']]], - ['selection_5fcontains_5ftransition',['selection_contains_transition',['../timeline_8cpp.html#aad629996162b669848a6113b51efffe4',1,'selection_contains_transition(const Selection &s, ClipPtr c, int type): timeline.cpp'],['../timeline_8h.html#aad629996162b669848a6113b51efffe4',1,'selection_contains_transition(const Selection &s, ClipPtr c, int type): timeline.cpp']]], - ['selection_5fupdate',['selection_update',['../class_graph_view.html#ac21e60ab7e39092544cf7be5a13419e3',1,'GraphView']]], - ['sem',['sem',['../previewgenerator_8cpp.html#a2d3030fe3f5067211170df664566e994',1,'previewgenerator.cpp']]], - ['send_5faudio_5fto_5foutput',['send_audio_to_output',['../class_audio_sender_thread.html#aa08ef41cea4ba98edec1fa66c4e84371',1,'AudioSenderThread']]], - ['sequence',['Sequence',['../class_sequence.html#a532b7e8df6ff6b2f990c14ae97859ca2',1,'Sequence']]], - ['set_5faction_5fshortcut',['set_action_shortcut',['../class_key_sequence_editor.html#a104e8bcece50ba4da53f2de152c1ab44',1,'KeySequenceEditor']]], - ['set_5factive_5fcursor',['set_active_cursor',['../class_label_slider.html#a654943c90cc8d87a2dbc957a42252ef0',1,'LabelSlider']]], - ['set_5fautoscroll',['set_autoscroll',['../class_menu_helper.html#aefd8a07595d457e27aabe366cd4d2dbb',1,'MenuHelper']]], - ['set_5fbool_5faction_5fchecked',['set_bool_action_checked',['../class_menu_helper.html#a03f62557c81dbffab88ad0edaf522762',1,'MenuHelper']]], - ['set_5fbool_5fvalue',['set_bool_value',['../class_effect_field.html#a1bafb0bdef1540ccbfc60e4bee8e5f37',1,'EffectField']]], - ['set_5fbutton_5faction_5fchecked',['set_button_action_checked',['../class_menu_helper.html#a26de4da960087ca481b8520b129c7b7f',1,'MenuHelper']]], - ['set_5fbutton_5fcolor',['set_button_color',['../class_color_button.html#ad2109b8ba775920a8e5325ba092004f6',1,'ColorButton']]], - ['set_5fbutton_5ficon',['set_button_icon',['../class_collapsible_widget.html#a58ccf950dae0e4990780b4a322e3fd0d',1,'CollapsibleWidget']]], - ['set_5fclips',['set_clips',['../class_effect_controls.html#a540d9b63a70ab10cbfef7e55afd96ba6',1,'EffectControls']]], - ['set_5fcolor',['set_color',['../class_color_button.html#ae3b77a064f0ba502f8cdefb00ce66bda',1,'ColorButton::set_color()'],['../class_label_slider.html#abbbf055704231fd56978fac964518be6',1,'LabelSlider::set_color()']]], - ['set_5fcolor_5fvalue',['set_color_value',['../class_effect_field.html#a0815397bcf2104db1d6d343f996cbba0',1,'EffectField']]], - ['set_5fcombo_5findex',['set_combo_index',['../class_effect_field.html#a9824adad374879bfa523c8d51e48202e',1,'EffectField']]], - ['set_5fcombo_5fstring',['set_combo_string',['../class_effect_field.html#a3384422aceb41d4c228de61d2a1f523e',1,'EffectField']]], - ['set_5fcurrent_5fdata',['set_current_data',['../class_effect_field.html#addb6647a846046c44fb849cc2cf31e78',1,'EffectField']]], - ['set_5fcursor',['set_cursor',['../class_effect_gizmo.html#a1a16dfb9ff7045eeaaf5daa27112e333',1,'EffectGizmo']]], - ['set_5fcustom_5fzoom',['set_custom_zoom',['../class_viewer_widget.html#acd17a44fea32f4b1234d5f66e6363df7',1,'ViewerWidget']]], - ['set_5fdefault_5fcursor',['set_default_cursor',['../class_label_slider.html#a9a5c67bed20e30581b7c0c503a93de8c',1,'LabelSlider']]], - ['set_5fdefault_5fvalue',['set_default_value',['../class_label_slider.html#a5c08c16c088f1846621bfe341fe875c7',1,'LabelSlider']]], - ['set_5fdisplay_5ftype',['set_display_type',['../class_label_slider.html#aa36f1ac8359e6ad956890c204601dc8e',1,'LabelSlider']]], - ['set_5fdouble_5fdefault_5fvalue',['set_double_default_value',['../class_effect_field.html#ad02b6db1913237ab051079e381f51063',1,'EffectField']]], - ['set_5fdouble_5fmaximum_5fvalue',['set_double_maximum_value',['../class_effect_field.html#aa5d2304bc64404053d0edb2c30294cea',1,'EffectField']]], - ['set_5fdouble_5fminimum_5fvalue',['set_double_minimum_value',['../class_effect_field.html#a22f9b178bd8ad71cc81fe09062487061',1,'EffectField']]], - ['set_5fdouble_5fvalue',['set_double_value',['../class_effect_field.html#a16ba80e073f463b8d186805063f0fb99',1,'EffectField']]], - ['set_5fenabled',['set_enabled',['../class_effect.html#aaff5e9c516c6e7c295e7d30c5da1cb2c',1,'Effect::set_enabled()'],['../class_effect_field.html#a405fcdae7f0949e755ce39a44c7424ec',1,'EffectField::set_enabled()']]], - ['set_5ffield_5fvisibility',['set_field_visibility',['../class_graph_editor.html#a16544cb1a4252ac7f6fb5ea137c73cd2',1,'GraphEditor::set_field_visibility()'],['../class_graph_view.html#adc7d53a62ba893a33f5c843b49bf5e57',1,'GraphView::set_field_visibility()']]], - ['set_5ffilename',['set_filename',['../class_effect_field.html#aa942855243c8be66d9045bc6b89041f3',1,'EffectField']]], - ['set_5ffit_5fzoom',['set_fit_zoom',['../class_viewer_widget.html#a71a9de64e69a788679542284b071a5a1',1,'ViewerWidget']]], - ['set_5ffolder',['set_folder',['../class_media.html#a6ff4d1d2e177e2b14eaf9a8e904339dd',1,'Media']]], - ['set_5ffont_5fname',['set_font_name',['../class_effect_field.html#a366cdd78b0c56caaa4125da9591f4e58',1,'EffectField']]], - ['set_5ffootage',['set_footage',['../class_media.html#aaca499d0ec32050e0c96bc67f2d8b49a',1,'Media']]], - ['set_5fframe_5frate',['set_frame_rate',['../class_label_slider.html#ab304e6dfceb1678153047d8437be0ef5',1,'LabelSlider']]], - ['set_5ffullscreen',['set_fullscreen',['../class_viewer_widget.html#a8ae384d9ca761a2679afdf9bef6c7d78',1,'ViewerWidget']]], - ['set_5ficon',['set_icon',['../class_media.html#a21fa61ad57163806a517aa0aeea23011',1,'Media::set_icon()'],['../class_project_model.html#a32c48f183dbfa817cecfbc98c122f207',1,'ProjectModel::set_icon()']]], - ['set_5ficon_5fview',['set_icon_view',['../class_project.html#a36a7cbe90aa21928274b1236a0fb9cb4',1,'Project']]], - ['set_5ficon_5fview_5fsize',['set_icon_view_size',['../class_project.html#a27be16f8d2e07ebec6e23d152ac12052',1,'Project']]], - ['set_5fin_5fpoint',['set_in_point',['../class_viewer.html#a2804a5931f9fad8dc011ef22020ce766',1,'Viewer::set_in_point()'],['../class_focus_filter.html#ae92ec419038408bfe07ff359abf8a2f1',1,'FocusFilter::set_in_point()'],['../class_timeline_header.html#a1b45db2e9ade8daff9d40797db8977d7',1,'TimelineHeader::set_in_point()']]], - ['set_5fint_5faction_5fchecked',['set_int_action_checked',['../class_menu_helper.html#ab152c4e0a116a10735a4ab8e3da91736',1,'MenuHelper']]], - ['set_5fkey_5fbutton_5fenabled',['set_key_button_enabled',['../class_graph_editor.html#a7f5832504615761cf1da1afaef889de6',1,'GraphEditor']]], - ['set_5fkeyframe_5fenabled',['set_keyframe_enabled',['../class_effect_row.html#a47030c2986a62ec56e407c0c10aed9b4',1,'EffectRow']]], - ['set_5fkeyframe_5fnow',['set_keyframe_now',['../class_effect_row.html#a00106f2c42825bbf1f63c46951cdc9de',1,'EffectRow']]], - ['set_5fkeyframe_5ftype',['set_keyframe_type',['../class_graph_editor.html#a4b4ea5a7b99c67997e1512946eac4912',1,'GraphEditor']]], - ['set_5flength',['set_length',['../class_transition.html#abad669f56c6112cc1e68606f841d6171',1,'Transition']]], - ['set_5flength_5ffrom_5fslider',['set_length_from_slider',['../class_transition.html#a25ae6a34f398e23a9aa388656f7f5196',1,'Transition']]], - ['set_5fmain_5fsequence',['set_main_sequence',['../class_viewer.html#a6379f97b8795f5578c6a9000c05b04a0',1,'Viewer']]], - ['set_5fmarker',['set_marker',['../class_timeline.html#a6643fb435ab7d4b958fe055fcc5a5dfd',1,'Timeline::set_marker()'],['../class_viewer.html#a977dab0d3560292cf1a62d44a0a9671a',1,'Viewer::set_marker()'],['../class_focus_filter.html#a44ffefc5cf2559e7d08986d3cfa02c89',1,'FocusFilter::set_marker()']]], - ['set_5fmarker_5finternal',['set_marker_internal',['../marker_8cpp.html#a84aa0d565632dec6725e9b4d94add226',1,'set_marker_internal(SequencePtr seq, const QVector< int > &clips): marker.cpp'],['../marker_8cpp.html#a8acfc4eee114e0f574c2bbf663f7e967',1,'set_marker_internal(SequencePtr seq): marker.cpp'],['../marker_8h.html#a84aa0d565632dec6725e9b4d94add226',1,'set_marker_internal(SequencePtr seq, const QVector< int > &clips): marker.cpp'],['../marker_8h.html#a8acfc4eee114e0f574c2bbf663f7e967',1,'set_marker_internal(SequencePtr seq): marker.cpp']]], - ['set_5fmaximum_5fvalue',['set_maximum_value',['../class_label_slider.html#abe90995d780d3ae610358ec34b19ee48',1,'LabelSlider']]], - ['set_5fmedia',['set_media',['../class_viewer.html#a7d40bedcb4ce46e135d1f691556c4148',1,'Viewer']]], - ['set_5fmenu_5fzoom',['set_menu_zoom',['../class_viewer_widget.html#a585680d6e7611a4541a8898fafcf35aa',1,'ViewerWidget']]], - ['set_5fminimum_5fvalue',['set_minimum_value',['../class_label_slider.html#ad0915199716155c2f12c5b5292b9ecc9',1,'LabelSlider']]], - ['set_5fname',['set_name',['../class_media.html#a4106c71462e678cd92d562e34bbc7193',1,'Media']]], - ['set_5fout_5fpoint',['set_out_point',['../class_viewer.html#af53fcc5e05ed7f41ab0737a81a437420',1,'Viewer::set_out_point()'],['../class_focus_filter.html#a54d15c99741150d31a534ee057f36a9e',1,'FocusFilter::set_out_point()'],['../class_timeline_header.html#a01b323bc818e55d04f6fa7f16bc79d76',1,'TimelineHeader::set_out_point()']]], - ['set_5fpanel_5fname',['set_panel_name',['../class_viewer.html#ab67c74bcb249a1c30d716b2e3993f314',1,'Viewer']]], - ['set_5fparent',['set_parent',['../class_media.html#a4882a1c4e3e980adc60c078a147c0190',1,'Media']]], - ['set_5fplayback_5fspeed',['set_playback_speed',['../class_viewer.html#aeb12a00153186d5317c2ea45375a4606',1,'Viewer']]], - ['set_5fplayhead',['set_playhead',['../class_timeline_header.html#a07d68a951c54cbba25ddf46a1d5cc77a',1,'TimelineHeader']]], - ['set_5fplaypause_5ficon',['set_playpause_icon',['../class_viewer.html#addb5179813cb060e4425fb8ca5acdcd8',1,'Viewer']]], - ['set_5fprevious_5fvalue',['set_previous_value',['../class_effect_gizmo.html#a9a88eeca7443efe007ca046a8d90cf2b',1,'EffectGizmo::set_previous_value()'],['../class_label_slider.html#aa8e8edf8dc7ea4df8e0abb6f32c343ac',1,'LabelSlider::set_previous_value()']]], - ['set_5frendering_5fstate',['set_rendering_state',['../class_olive_global.html#a2763e87021f250965f67e175ee6c6e67',1,'OliveGlobal']]], - ['set_5frow',['set_row',['../class_graph_editor.html#ab0e74ec8ec6fc764cfd74813de8e35e6',1,'GraphEditor::set_row()'],['../class_graph_view.html#af5286106a7da2806918bb7096664840a',1,'GraphView::set_row()']]], - ['set_5fsb_5fmax',['set_sb_max',['../class_timeline.html#a57e70f0a1ccafc8085b9d0f230732d36',1,'Timeline::set_sb_max()'],['../class_viewer.html#aead8486c7ce928709b5edd7b1df7cd52',1,'Viewer::set_sb_max()']]], - ['set_5fscroll',['set_scroll',['../class_timeline_header.html#a1688fa1fc02747b7ecac349e7be03d16',1,'TimelineHeader::set_scroll()'],['../class_viewer_widget.html#a750fc1287a8e32ceec9cafa307ab9291',1,'ViewerWidget::set_scroll()']]], - ['set_5fscroll_5fx',['set_scroll_x',['../class_graph_view.html#a033d47e649c15c0d4df2d5944b79693f',1,'GraphView']]], - ['set_5fscroll_5fy',['set_scroll_y',['../class_graph_view.html#a5cd477311ae5cd11874b5daeb68b775e',1,'GraphView']]], - ['set_5fscrollbar_5fmax',['set_scrollbar_max',['../class_timeline_header.html#ad6fe0530d6f9c87faad1d5d5b021178b',1,'TimelineHeader']]], - ['set_5fselected_5fkeyframe_5ftype',['set_selected_keyframe_type',['../class_graph_view.html#aa3c5c01838f551dba6961edd2b0856d1',1,'GraphView']]], - ['set_5fsequence',['set_sequence',['../class_viewer.html#af431d8431f14b0b54ec45591299b81fd',1,'Viewer::set_sequence()'],['../class_media.html#a57821a93756f18801add4e9660d3b7af',1,'Media::set_sequence()'],['../playback_8cpp.html#a78cf127acfb6a9f8394aa68ba17daa9b',1,'set_sequence(SequencePtr s): playback.cpp'],['../playback_8h.html#a78cf127acfb6a9f8394aa68ba17daa9b',1,'set_sequence(SequencePtr s): playback.cpp']]], - ['set_5fsequence_5fname',['set_sequence_name',['../class_new_sequence_dialog.html#a5502ac85a8904e72852987473a61e57b',1,'NewSequenceDialog']]], - ['set_5fshow_5fsequences',['set_show_sequences',['../class_project_filter.html#ac210834045fd571644f603855bb4a25d',1,'ProjectFilter']]], - ['set_5fspeed',['set_speed',['../speeddialog_8cpp.html#a3f74429e006d4a4a3bdcbfcbf872f1ba',1,'speeddialog.cpp']]], - ['set_5fstring_5fvalue',['set_string_value',['../class_effect_field.html#ab94db5d479e38367f2abd38a80a8d62c',1,'EffectField']]], - ['set_5ftexture',['set_texture',['../class_viewer_window.html#a8f64e2b12d1d8e2154fd0b7f72315a53',1,'ViewerWindow']]], - ['set_5ftimecode_5fview',['set_timecode_view',['../class_menu_helper.html#a9ec427f151cf31a821db32cf71d66ef0',1,'MenuHelper']]], - ['set_5ftitlesafe_5ffrom_5fmenu',['set_titlesafe_from_menu',['../class_menu_helper.html#a9c109452d8af3237cee07e9f53030e7c',1,'MenuHelper']]], - ['set_5ftool',['set_tool',['../class_timeline.html#ac5723f631d485e9bc9f54047d64a7377',1,'Timeline::set_tool()'],['../class_timeline.html#a1274807ba471f3685fac2d79048722e2',1,'Timeline::set_tool(int tool)']]], - ['set_5ftree_5fview',['set_tree_view',['../class_project.html#a97b7aa3213cbc908016382f53647d9b0',1,'Project']]], - ['set_5fup_5fdir_5fenabled',['set_up_dir_enabled',['../class_project.html#a9344e081bc099879e90fc848ac0bac16',1,'Project']]], - ['set_5fvalue',['set_value',['../class_audio_monitor.html#af0e76dbf2d7595157b9bf826acfde765',1,'AudioMonitor::set_value()'],['../class_label_slider.html#ae05af4cf1dce88261673ed2ec5ec5d41',1,'LabelSlider::set_value()']]], - ['set_5fview_5fto_5fall',['set_view_to_all',['../class_graph_view.html#a2a3cae99acf12b9425358553ebeb0b1f',1,'GraphView']]], - ['set_5fview_5fto_5frect',['set_view_to_rect',['../class_graph_view.html#a3e0efb0b663f53150552f2d9e9cd25a9',1,'GraphView']]], - ['set_5fview_5fto_5fselection',['set_view_to_selection',['../class_graph_view.html#a1a8cfe37c44d2b0b69e5184d1170162c',1,'GraphView']]], - ['set_5fviewer_5ffullscreen',['set_viewer_fullscreen',['../class_focus_filter.html#a58f52ec833dc287619ddbd4595d15a65',1,'FocusFilter']]], - ['set_5fvisible_5fin',['set_visible_in',['../class_timeline_header.html#a5a5fa249ccc4802a8cc40a40fbc7a7a1',1,'TimelineHeader']]], - ['set_5fwaveform_5fscroll',['set_waveform_scroll',['../class_viewer_widget.html#a8aab4bb2fa6ec0ec4f3c517f46901af9',1,'ViewerWidget']]], - ['set_5fx_5fscroll',['set_x_scroll',['../class_keyframe_view.html#ab015bec2124e96ec18e023e6b33efdbb',1,'KeyframeView']]], - ['set_5fy_5fscroll',['set_y_scroll',['../class_keyframe_view.html#ab5cee12fb02ebc4c76dc3ff52b2ca938',1,'KeyframeView']]], - ['set_5fzoom',['set_zoom',['../class_effect_controls.html#aa579abed1c5c11abf5da18b0f03e2de7',1,'EffectControls::set_zoom()'],['../class_viewer.html#ac705cd22418e0c33f2eb7a0d83ac1dff',1,'Viewer::set_zoom()'],['../class_graph_view.html#acd4f79fee3b6cae324228b73afb5de59',1,'GraphView::set_zoom()']]], - ['set_5fzoom_5fvalue',['set_zoom_value',['../class_timeline.html#a9da603889ceed648528a548d2e370366',1,'Timeline::set_zoom_value()'],['../class_viewer.html#a6330a9c1cea3c7a430a4964e17fafb5b',1,'Viewer::set_zoom_value()']]], - ['setautoscaleaction',['SetAutoscaleAction',['../class_set_autoscale_action.html#aa06375a4e286047ba8b5f12b4aac804c',1,'SetAutoscaleAction']]], - ['setbool',['SetBool',['../class_set_bool.html#adcbca90d59c3ea57b00867aad8b51dba',1,'SetBool']]], - ['setbrush',['setBrush',['../class_q_painter_wrapper.html#afef322e1fc4eb835e02891a01eba21a8',1,'QPainterWrapper']]], - ['setcontents',['setContents',['../class_collapsible_widget.html#a7443fa47faf8fdda23c2c6b7bc470631',1,'CollapsibleWidget']]], - ['setcurrentindexex',['setCurrentIndexEx',['../class_combo_box_ex.html#abbf708db0b4f5cc7efc0e65365a3ef56',1,'ComboBoxEx']]], - ['setcurrenttextex',['setCurrentTextEx',['../class_combo_box_ex.html#a771459058f180830f169b7f2cfc21007',1,'ComboBoxEx']]], - ['setdata',['setData',['../class_media.html#a16d71938ed5324dcccc8e7321fbf770b',1,'Media::setData()'],['../class_project_model.html#a6319d0506a03b9f6db94953791999e79',1,'ProjectModel::setData()']]], - ['setdouble',['SetDouble',['../class_set_double.html#a27761d9e23e6d30e83e0fff5924aa4fb',1,'SetDouble']]], - ['seteffectdata',['SetEffectData',['../class_set_effect_data.html#af1e8280da864cf5e2e02db9c3cbf4139',1,'SetEffectData']]], - ['setfilename',['setFilename',['../class_embedded_file_chooser.html#af49268c3dd674843aa0cb26498748a15',1,'EmbeddedFileChooser']]], - ['setgeometry',['setGeometry',['../class_flow_layout.html#a64fb2f42cfdb3bcabf4d511092d032af',1,'FlowLayout']]], - ['setint',['SetInt',['../class_set_int.html#aba6bd08b357153277ca2a604251efea6',1,'SetInt']]], - ['setiterations',['setIterations',['../class_effect.html#a20dab6e1c68621b8172737a48df9c40a',1,'Effect']]], - ['setkeyframing',['SetKeyframing',['../class_set_keyframing.html#a8f324522ca49327e7bfcf6c995d477b4',1,'SetKeyframing::SetKeyframing()'],['../class_effect_row.html#aa6b981a694e64bb6e9ded25db3d87682',1,'EffectRow::setKeyframing()']]], - ['setlong',['SetLong',['../class_set_long.html#a9142de54200d3cca4db014ed956b70dc',1,'SetLong']]], - ['setmediaicon',['SetMediaIcon',['../class_media_icon_service.html#a14b99cd9ac6784b75660d55f8502c27e',1,'MediaIconService']]], - ['setpen',['setPen',['../class_q_painter_wrapper.html#adcf256f75c310cf108442f49a77cb6e6',1,'QPainterWrapper']]], - ['setplaintextex',['setPlainTextEx',['../class_text_edit_ex.html#aceae3221d8d57b991c2cdbe553055964',1,'TextEditEx']]], - ['setpointer',['SetPointer',['../class_set_pointer.html#a0624303c11073f44a6b54ac45a141a0e',1,'SetPointer']]], - ['setqvariant',['SetQVariant',['../class_set_q_variant.html#ac3f23dac410d83e1a0995327b94c7aee',1,'SetQVariant']]], - ['setscroll',['setScroll',['../class_timeline.html#ae80e5dd5143fb8df0adb3abcdab29b12',1,'Timeline::setScroll()'],['../class_timeline_widget.html#af58766c3e71d5983bd729947db3798e7',1,'TimelineWidget::setScroll()']]], - ['setselectionscommand',['SetSelectionsCommand',['../class_set_selections_command.html#a73b29d419df3204f61c6b29b503e002b',1,'SetSelectionsCommand']]], - ['setspeedaction',['SetSpeedAction',['../class_set_speed_action.html#aa5e27662bb882bf79ac8b7af7f972a4b',1,'SetSpeedAction']]], - ['setstring',['SetString',['../class_set_string.html#a7ddada27a2a23064c91545f68d754381',1,'SetString']]], - ['settext',['setText',['../class_collapsible_widget.html#a6e1a3e0f6db0cad6416ab02b55d9e236',1,'CollapsibleWidget']]], - ['settimelineinoutcommand',['SetTimelineInOutCommand',['../class_set_timeline_in_out_command.html#a4a07a0d9ef30820d7e4635caa214a952',1,'SetTimelineInOutCommand']]], - ['settrackheight',['SetTrackHeight',['../class_timeline.html#adba34f5c274d7794d1fe9daf7b7386f3',1,'Timeline']]], - ['setup_5fkbd_5fshortcut_5fworker',['setup_kbd_shortcut_worker',['../class_preferences_dialog.html#a18a4c8146d92a1bfbbc02182a8ab8579',1,'PreferencesDialog']]], - ['setup_5fkbd_5fshortcuts',['setup_kbd_shortcuts',['../class_preferences_dialog.html#a5b97c631f22c1efecba548097f074d65',1,'PreferencesDialog']]], - ['setup_5flayout',['setup_layout',['../class_main_window.html#a549905e8c0d69bbd0a2ef13f1e645387',1,'MainWindow']]], - ['setup_5fmenus',['setup_menus',['../class_main_window.html#a8030447a20f462e4262b9ad5230d98c1',1,'MainWindow']]], - ['setup_5fui',['setup_ui',['../class_export_dialog.html#a01f33f1068aa33ee7ebf4a5b6aa79e75',1,'ExportDialog::setup_ui()'],['../class_new_sequence_dialog.html#a979dde82b7198c6308981a4e63f2a990',1,'NewSequenceDialog::setup_ui()'],['../class_preferences_dialog.html#a64324f4a1d80c7b7e6a93ce4ab808242',1,'PreferencesDialog::setup_ui()'],['../class_effect_controls.html#a85537bf8dd6da57746044bc548c2ebcb',1,'EffectControls::setup_ui()'],['../class_timeline.html#acc7b554c80c5e379925740595b5bc309',1,'Timeline::setup_ui()'],['../class_viewer.html#a0332bc24229c3ce5647e98fbfcde1e10',1,'Viewer::setup_ui()']]], - ['setupaudio',['setupAudio',['../class_export_thread.html#a3d7edbaf3e9712f29879d2c5b6838a0b',1,'ExportThread']]], - ['setupcontainer',['setupContainer',['../class_export_thread.html#ac4c5e7e6715b4a4663d338bfc8d89527',1,'ExportThread']]], - ['setupvideo',['setupVideo',['../class_export_thread.html#ab68cb5d2098d72c666624e38584b3c19',1,'ExportThread']]], - ['shadow_5fenable',['shadow_enable',['../class_text_effect.html#a405bfbbddd70f58dc5d30121776865d0',1,'TextEffect']]], - ['shakeeffect',['ShakeEffect',['../class_shake_effect.html#a70fff76e30585b4e0ada7cdb17fb51a9',1,'ShakeEffect']]], - ['show_5fcontext_5fmenu',['show_context_menu',['../class_effect.html#a8e450f0b534b1b6542cb083612b8d3f2',1,'Effect::show_context_menu()'],['../class_sources_common.html#ac8bc6395c71418fb271d0eb94fbacb83',1,'SourcesCommon::show_context_menu()'],['../class_graph_view.html#af601febd487b3843e22be8478f001e85',1,'GraphView::show_context_menu()'],['../class_keyframe_view.html#aaa67d6fa6c5690c21f4ee0fbeefcb850',1,'KeyframeView::show_context_menu()'],['../class_source_icon_view.html#a4bcd6e53dc8161ca134f6980b4b8d759',1,'SourceIconView::show_context_menu()'],['../class_source_table.html#ae00c3de3434782b954e8411be7dbe246',1,'SourceTable::show_context_menu()'],['../class_timeline_header.html#ad97bdc9214612b34b872de33069c88f2',1,'TimelineHeader::show_context_menu()'],['../class_timeline_widget.html#ac75dc48c71e7e2db295483a1a7f83a9f',1,'TimelineWidget::show_context_menu()'],['../class_viewer_widget.html#a3c7bbbec72af5370ddb1d8f77ff417e4',1,'ViewerWidget::show_context_menu()']]], - ['show_5feffect_5fmenu',['show_effect_menu',['../class_effect_controls.html#ab8b2343e2d7173cdb3d03c79c3ad97e9',1,'EffectControls']]], - ['show_5finterface',['show_interface',['../class_v_s_t_host.html#a102989baa811d861ba06966fae838ec3',1,'VSTHost']]], - ['show_5ftext',['show_text',['../class_timeline_header.html#a1a387af4fa8f1a75fc17494e6ca653a0',1,'TimelineHeader']]], - ['showevent',['showEvent',['../class_debug_dialog.html#a91eb1369843f06146ef6ea14bdbd03f0',1,'DebugDialog']]], - ['sizehint',['sizeHint',['../class_flow_layout.html#a44acc6a84aaeee36b9d119096f6aa30c',1,'FlowLayout']]], - ['smartspacing',['smartSpacing',['../class_flow_layout.html#aa8c99ccccc834c47f125040205f1aac8',1,'FlowLayout']]], - ['snap_5fto_5fpoint',['snap_to_point',['../class_timeline.html#afb930fc8648119d747f56ab86874731f',1,'Timeline']]], - ['snap_5fto_5ftimeline',['snap_to_timeline',['../class_timeline.html#afc358e2916180252996726c0c103bf32',1,'Timeline']]], - ['snapping_5fclicked',['snapping_clicked',['../class_timeline.html#a8054e560669d30a2a353749e0cc76f7c',1,'Timeline']]], - ['solideffect',['SolidEffect',['../class_solid_effect.html#a3f2ac0fa13ba7f3ba585fa4cafdf0c51',1,'SolidEffect']]], - ['solvecubicbezier',['solveCubicBezier',['../math_8h.html#a7df4248ab22ddea7450612ed0bcaa32a',1,'math.h']]], - ['sort_5fkeys_5ffrom_5ffield',['sort_keys_from_field',['../graphview_8cpp.html#a5e4990700e8bcfc3b53862469d9944ca',1,'graphview.cpp']]], - ['sourceiconview',['SourceIconView',['../class_source_icon_view.html#ab81bd81849bf26770b66a0ea112579d0',1,'SourceIconView']]], - ['sourcescommon',['SourcesCommon',['../class_sources_common.html#a6a91e956b48dacc73a711fc51b3213de',1,'SourcesCommon']]], - ['sourcetable',['SourceTable',['../class_source_table.html#a9520fa53cee61afc796b69204c635dfa',1,'SourceTable']]], - ['speeddialog',['SpeedDialog',['../class_speed_dialog.html#a40f9938a14cf11a31818b63399ac6867',1,'SpeedDialog']]], - ['split_5fall_5fclips_5fat_5fpoint',['split_all_clips_at_point',['../class_timeline.html#a20d8a064e587ff2c9fe6a0e76464b0a4',1,'Timeline']]], - ['split_5fat_5fplayhead',['split_at_playhead',['../class_timeline.html#a89fe8ed5541d1bc49a67030a92022d4c',1,'Timeline']]], - ['split_5fclip',['split_clip',['../class_timeline.html#a73220f6b8e173fbfb1a957a007de4698',1,'Timeline::split_clip(ComboAction *ca, bool transitions, int p, long frame)'],['../class_timeline.html#a3e07895282df3c413100b15bb09fb813',1,'Timeline::split_clip(ComboAction *ca, bool transitions, int p, long frame, long post_in)']]], - ['split_5fclip_5fand_5frelink',['split_clip_and_relink',['../class_timeline.html#ad6362765b69afe9dd80187124ee2074c',1,'Timeline']]], - ['split_5fselection',['split_selection',['../class_timeline.html#ae95a359ddafd02725f90d5eadd32ee94',1,'Timeline']]], - ['start_5fcreate_5feffect_5fui',['start_create_effect_ui',['../class_load_thread.html#a772d6a5de14ae6d804d4382cdf8658d0',1,'LoadThread']]], - ['start_5fpreview_5fgenerator',['start_preview_generator',['../class_project.html#a5d76aeccbd65e1e41df07f68a8eb34df',1,'Project']]], - ['start_5fquestion',['start_question',['../class_load_thread.html#ae89d08ecab2cf155b669748e014c52ea',1,'LoadThread']]], - ['start_5frecording',['start_recording',['../audio_8cpp.html#aeaad577cd2212f44f19b1b3ea1b9ba58',1,'start_recording(): audio.cpp'],['../audio_8h.html#aeaad577cd2212f44f19b1b3ea1b9ba58',1,'start_recording(): audio.cpp']]], - ['start_5frender',['start_render',['../class_render_thread.html#a609030f2a43eea21a8f0e4cfd5340ed1',1,'RenderThread']]], - ['starteffect',['startEffect',['../class_effect.html#a0571fe65293da45736f5f6c52ddaf77c',1,'Effect']]], - ['startplugin',['startPlugin',['../class_v_s_t_host.html#acc18c3679cfba96dac250bf0d0cdb135',1,'VSTHost']]], - ['stop',['stop',['../class_audio_sender_thread.html#a08ecfb4c95b3df92762ce5099d87c49c',1,'AudioSenderThread']]], - ['stop_5faudio',['stop_audio',['../audio_8cpp.html#aa12f059ef28b8c0b4759118fab0109ce',1,'stop_audio(): audio.cpp'],['../audio_8h.html#aa12f059ef28b8c0b4759118fab0109ce',1,'stop_audio(): audio.cpp']]], - ['stop_5frecording',['stop_recording',['../audio_8cpp.html#adfcd3d53f2f595333b8f763446726ebf',1,'stop_recording(): audio.cpp'],['../audio_8h.html#adfcd3d53f2f595333b8f763446726ebf',1,'stop_recording(): audio.cpp']]], - ['stop_5frename_5ftimer',['stop_rename_timer',['../class_sources_common.html#a191499da58396de26b9f857afcb44b41',1,'SourcesCommon']]], - ['stopplugin',['stopPlugin',['../class_v_s_t_host.html#ae4185e98c2576da94d44993a04f2ad48',1,'VSTHost']]], - ['success',['success',['../class_load_thread.html#afbafb52ff0dadc85d294e411948349dd',1,'LoadThread']]], - ['success_5ffunc',['success_func',['../class_load_thread.html#a4643c0aadbb73d0b5eaf86710b4b9684',1,'LoadThread']]], - ['suspendplugin',['suspendPlugin',['../class_v_s_t_host.html#a5d7a26f0c436889df232c08242773353',1,'VSTHost']]] -]; diff --git a/docs/html/search/functions_12.html b/docs/html/search/functions_12.html deleted file mode 100644 index 3235f8dcd..000000000 --- a/docs/html/search/functions_12.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_12.js b/docs/html/search/functions_12.js deleted file mode 100644 index 80a418a4f..000000000 --- a/docs/html/search/functions_12.js +++ /dev/null @@ -1,39 +0,0 @@ -var searchData= -[ - ['takeat',['takeAt',['../class_flow_layout.html#a77bbbcb308aeb94164dc365942d28f06',1,'FlowLayout']]], - ['text_5fedit_5fmenu',['text_edit_menu',['../class_text_effect.html#a87a0991b1f53660702ff0b96da8e26d1',1,'TextEffect']]], - ['texteditdialog',['TextEditDialog',['../class_text_edit_dialog.html#a2efc15e79b884c5839f3a204ed84706a',1,'TextEditDialog']]], - ['texteditex',['TextEditEx',['../class_text_edit_ex.html#aa45facec224c6c85c1e2af926f1a5f0a',1,'TextEditEx']]], - ['texteffect',['TextEffect',['../class_text_effect.html#a7ac0389720aecac547d2334e07a85613',1,'TextEffect']]], - ['thread_5fdone',['thread_done',['../class_load_dialog.html#a13b364fc56238017e7a9d7faa8a43830',1,'LoadDialog']]], - ['thumb_5fdata_5fcleanup',['thumb_data_cleanup',['../previewgenerator_8cpp.html#a23b92914ae1ea5c33776dae6814cc32f',1,'previewgenerator.cpp']]], - ['timecode_5fto_5fframe',['timecode_to_frame',['../viewer_8cpp.html#a486644e61fff240c2cf1f8e5135b272d',1,'timecode_to_frame(const QString &s, int view, double frame_rate): viewer.cpp'],['../viewer_8h.html#a486644e61fff240c2cf1f8e5135b272d',1,'timecode_to_frame(const QString &s, int view, double frame_rate): viewer.cpp']]], - ['timecodeeffect',['TimecodeEffect',['../class_timecode_effect.html#a614a0ee99fc2ac7d423f8149ca3ee086',1,'TimecodeEffect']]], - ['timecodetoframe',['timecodeToFrame',['../class_effect_field.html#aff4c42bc1c393b1e60b5b7b57426a7fb',1,'EffectField']]], - ['timeline',['Timeline',['../class_timeline.html#a52c06629ecbc4aeecc94120469f7144b',1,'Timeline']]], - ['timelineheader',['TimelineHeader',['../class_timeline_header.html#add7e74ee4cde25382ede017999daf406',1,'TimelineHeader']]], - ['timelinewidget',['TimelineWidget',['../class_timeline_widget.html#a2a7da2c0079c849f03f982a2468b197d',1,'TimelineWidget']]], - ['timer_5fupdate',['timer_update',['../class_viewer.html#a2857336d2635c59dd803f964ed02be3c',1,'Viewer']]], - ['to_5ffootage',['to_footage',['../class_media.html#ac45ea6cfc8137d8ef85e35fcc278e4be',1,'Media']]], - ['to_5fobject',['to_object',['../class_media.html#a06b8c887b6912787dab497568c1a99e5',1,'Media']]], - ['to_5fsequence',['to_sequence',['../class_media.html#a645dca73b7d3304d88f5cbe561da269b',1,'Media']]], - ['toggle_5fautoscale',['toggle_autoscale',['../class_timeline_widget.html#abbd2dcf6f918c2b3eac435a4f8ff561e',1,'TimelineWidget']]], - ['toggle_5fbool_5faction',['toggle_bool_action',['../class_menu_helper.html#a89ebceb4b52b93ea82ec7fa7ac253718',1,'MenuHelper']]], - ['toggle_5fenable_5fon_5fselected_5fclips',['toggle_enable_on_selected_clips',['../class_timeline.html#a4cb7175aab3569267adf3190471f3338',1,'Timeline']]], - ['toggle_5ffull_5fscreen',['toggle_full_screen',['../class_main_window.html#a3eb037c22e6f684831e3a8eeec0101c4',1,'MainWindow']]], - ['toggle_5fkey',['toggle_key',['../class_effect_row.html#ab27a8f41c9e473c65c13642f5ed7ba77',1,'EffectRow::toggle_key()'],['../class_keyframe_navigator.html#a979032163a5f3ffbe696f0092c6f32a9',1,'KeyframeNavigator::toggle_key()']]], - ['toggle_5flinks',['toggle_links',['../class_timeline.html#a92fca9db81bb36cb2cc6a66850d05da3',1,'Timeline']]], - ['toggle_5fpanel_5fvisibility',['toggle_panel_visibility',['../class_main_window.html#a3a8a0f75baca4ee12fc7ebfe6c05e45b',1,'MainWindow']]], - ['toggle_5fplay',['toggle_play',['../class_viewer.html#aad40885fd5e7a7151317d1b20a8ff24b',1,'Viewer']]], - ['toggle_5fshow_5fall',['toggle_show_all',['../class_timeline.html#a724f665aa4dab0f3b8a6a1a9466a88eb',1,'Timeline']]], - ['toggle_5funiform_5fscale',['toggle_uniform_scale',['../class_transform_effect.html#aabbede087616878aaaa21e21ef5d4687',1,'TransformEffect']]], - ['toggled',['toggled',['../class_effect_field.html#a23ccea5626662d050e8790a997abc20c',1,'EffectField']]], - ['toneeffect',['ToneEffect',['../class_tone_effect.html#a02279d904ec5b1145c2c906272b51099',1,'ToneEffect']]], - ['toolmenu_5fabout_5fto_5fbe_5fshown',['toolMenu_About_To_Be_Shown',['../class_main_window.html#a2de6d447c7936ae2f9964c4b5b1ee1c6',1,'MainWindow']]], - ['tooltip_5ftimer_5ftimeout',['tooltip_timer_timeout',['../class_timeline_widget.html#a4d2eff0ff7415d59f028471a414f14f5',1,'TimelineWidget']]], - ['transcode',['transcode',['../class_proxy_generator.html#a427f27fda949b606070802f77c627709',1,'ProxyGenerator']]], - ['transformeffect',['TransformEffect',['../class_transform_effect.html#af402969a317335752b59191bf772e217',1,'TransformEffect']]], - ['transition',['Transition',['../class_transition.html#ad07fa26d8c60f408fe40bb3e7366b8db',1,'Transition']]], - ['transition_5fmenu_5fselect',['transition_menu_select',['../class_timeline.html#a51847f64014a271f0d655e3e2f552e2f',1,'Timeline']]], - ['transition_5ftool_5fclick',['transition_tool_click',['../class_timeline.html#a38ae060d260ce6c4930960e988f47828',1,'Timeline']]] -]; diff --git a/docs/html/search/functions_13.html b/docs/html/search/functions_13.html deleted file mode 100644 index dce66cc4e..000000000 --- a/docs/html/search/functions_13.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_13.js b/docs/html/search/functions_13.js deleted file mode 100644 index 679f1797c..000000000 --- a/docs/html/search/functions_13.js +++ /dev/null @@ -1,38 +0,0 @@ -var searchData= -[ - ['ui_5felement_5fchange',['ui_element_change',['../class_effect_field.html#a4356bcdf1f0ff9a6bd0f987bfc3294f1',1,'EffectField']]], - ['ui_5fupdate',['ui_update',['../class_solid_effect.html#a4db91ff3f85f92710045229d83b67e9d',1,'SolidEffect']]], - ['uncheck_5fshow_5fbutton',['uncheck_show_button',['../class_v_s_t_host.html#a2bbf530361c68a06ff317f863d1183ef',1,'VSTHost']]], - ['uncue_5frecording',['uncue_recording',['../class_viewer.html#ae085569f5dff5247ff1852a73e87c4d6',1,'Viewer']]], - ['undo',['undo',['../class_olive_global.html#ac5c7fc8e77040c8260e2e817e3e7b165',1,'OliveGlobal::undo()'],['../class_combo_action.html#a61b038c9fc07f57cfd4a8a56ab04d5b6',1,'ComboAction::undo()'],['../class_olive_action.html#a6e14775c35e9c0acbef06b104c98a10c',1,'OliveAction::undo()'],['../class_color_command.html#a8de925ef45ce8097191296cc98e02724',1,'ColorCommand::undo()'],['../class_combo_box_ex_command.html#aa18df7fa807a47f7bd2c906d87b04e08',1,'ComboBoxExCommand::undo()']]], - ['update',['update',['../class_edit_sequence_command.html#ac5e5358e327c3a1e9cc3202ea38ab120',1,'EditSequenceCommand']]], - ['update_5fcurrent_5felement_5fcount',['update_current_element_count',['../class_load_thread.html#ae915769df5e8697441487bcd980afa3a',1,'LoadThread']]], - ['update_5feffect_5fcontrols',['update_effect_controls',['../class_timeline.html#a4c8507378d8f0f23ac3a9eeda1a1d84c',1,'Timeline::update_effect_controls()'],['../panels_8cpp.html#a2f93fbd4e3bf4760ec81312eab5eeb12',1,'update_effect_controls(): panels.cpp']]], - ['update_5fend_5ftimecode',['update_end_timecode',['../class_viewer.html#a8087af37c7c5b98d56b9d9bc469f13ec',1,'Viewer']]], - ['update_5fghosts',['update_ghosts',['../class_timeline_widget.html#a89fefb1a9af323ca85d4ce198ccfc0d7',1,'TimelineWidget']]], - ['update_5fheader_5fzoom',['update_header_zoom',['../class_viewer.html#ac08fd7650f8dc665651152296de44a8a',1,'Viewer']]], - ['update_5fkeyframes',['update_keyframes',['../class_effect_controls.html#a5d724a6d6f4baacfb0b525779a3928de',1,'EffectControls']]], - ['update_5fkeys',['update_keys',['../class_keyframe_view.html#a4d5f11f3233421519509ff099ce8a43c',1,'KeyframeView']]], - ['update_5flabel',['update_label',['../class_embedded_file_chooser.html#aed43a01845d974652fd8a588a1d2bfb5',1,'EmbeddedFileChooser']]], - ['update_5flog',['update_log',['../class_debug_dialog.html#a94d076efe7a188bd7c256155207916c9',1,'DebugDialog']]], - ['update_5fpanel',['update_panel',['../class_graph_editor.html#a0fe847fd0780b2acb5ddec8cc4cb8b92',1,'GraphEditor']]], - ['update_5fparents',['update_parents',['../class_viewer.html#ab51f496a6f92dfff65e921b6df5aeaf7',1,'Viewer::update_parents()'],['../class_timeline_header.html#af6bc96610bba0aa6e5add50452d5913c',1,'TimelineHeader::update_parents()']]], - ['update_5fplayhead',['update_playhead',['../class_viewer.html#a9da228432a15beed50bc122a7f94b47b',1,'Viewer']]], - ['update_5fplayhead_5ftimecode',['update_playhead_timecode',['../class_viewer.html#a18ad1cca80a9522ab88fab33958d1f25',1,'Viewer']]], - ['update_5fprogress_5fbar',['update_progress_bar',['../class_export_dialog.html#ab471f8afebce32594a42fcb034e2e3d2',1,'ExportDialog']]], - ['update_5fproject_5ffilename',['update_project_filename',['../class_olive_global.html#af3ef4cb94078beb905eb916a160fe826',1,'OliveGlobal']]], - ['update_5fscrollbar',['update_scrollbar',['../class_effect_controls.html#abd28e435cb49222dd463580887ef8a4f',1,'EffectControls']]], - ['update_5fsearch_5ffilter',['update_search_filter',['../class_project_filter.html#acb8a9b744179fa268b626fa7bee9d179',1,'ProjectFilter']]], - ['update_5fsequence',['update_sequence',['../class_timeline.html#ac76affc01e3d26a484afce87692229ab',1,'Timeline']]], - ['update_5ftooltip',['update_tooltip',['../class_media.html#a947a7380aa92cf60f597ef2117a768fa',1,'Media']]], - ['update_5fui',['update_ui',['../panels_8cpp.html#ac8159c8de3514ad37e9f918dab6fcaa4',1,'update_ui(bool modified): panels.cpp'],['../panels_8h.html#ac8159c8de3514ad37e9f918dab6fcaa4',1,'update_ui(bool modified): panels.cpp']]], - ['update_5fview_5ftype',['update_view_type',['../class_project.html#ab52cadbcbef675b0bcd74d76698d6481',1,'Project']]], - ['update_5fviewer',['update_viewer',['../class_viewer.html#a6ed8759b09edc1dac64d3d91944cfd33',1,'Viewer']]], - ['update_5fwindow_5ftitle',['update_window_title',['../class_viewer.html#a61589ce5b8c5778fb7eac51f9f22a61f',1,'Viewer']]], - ['update_5fzoom',['update_zoom',['../class_timeline_header.html#a2afb6cf89d980988e697a4782df80b7a',1,'TimelineHeader']]], - ['updatefootagetooltip',['UpdateFootageTooltip',['../class_update_footage_tooltip.html#afe29dda0db08d665f2be5bc131ac8631',1,'UpdateFootageTooltip']]], - ['updateinternals',['updateInternals',['../class_font_combobox.html#a2148c01c418e307bfc7ea2786bc507c9',1,'FontCombobox::updateInternals()'],['../class_text_edit_ex.html#ab97cfa28dd856d237ebfd3cada7b6758',1,'TextEditEx::updateInternals()']]], - ['updateself',['updateSelf',['../class_text_edit_ex.html#a5659c4c5ca0fc52b1244aa812982b492',1,'TextEditEx']]], - ['updatetext',['updateText',['../class_text_edit_ex.html#aa0d88c77b4da72bcc76b23af44b27ec4',1,'TextEditEx']]], - ['updatetitle',['UpdateTitle',['../class_effect_controls.html#a127aafb24491198ab47593c943c129bb',1,'EffectControls::UpdateTitle()'],['../class_timeline.html#a8f060175a6d6a49fa9986f798a44565f',1,'Timeline::UpdateTitle()'],['../class_main_window.html#ac62839f0a6f642f68f06729f351893e3',1,'MainWindow::updateTitle()']]] -]; diff --git a/docs/html/search/functions_14.html b/docs/html/search/functions_14.html deleted file mode 100644 index 4c663fa5a..000000000 --- a/docs/html/search/functions_14.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_14.js b/docs/html/search/functions_14.js deleted file mode 100644 index 43bfbaf9d..000000000 --- a/docs/html/search/functions_14.js +++ /dev/null @@ -1,27 +0,0 @@ -var searchData= -[ - ['validate_5fkeyframe_5fdata',['validate_keyframe_data',['../class_effect_field.html#aa0a058c91978a589357df5b73e3eeec4',1,'EffectField']]], - ['validate_5fmeta_5fpath',['validate_meta_path',['../class_effect.html#a2150ef69ba9843aab331164508a1481b',1,'Effect']]], - ['validate_5ftransitions',['validate_transitions',['../timelinewidget_8cpp.html#a3a93a1097fc5c949d346507be997717e',1,'timelinewidget.cpp']]], - ['value',['value',['../class_label_slider.html#a5736dbba98a0eb8958eed03046f77f8f',1,'LabelSlider']]], - ['valuechanged',['valueChanged',['../class_label_slider.html#a9be91d45b50e409325332d441f3edf7d',1,'LabelSlider']]], - ['valuehaschanged',['valueHasChanged',['../class_effect.html#a13a2aa44d4899f75c5e020950b92745c',1,'Effect']]], - ['valuetostring',['valueToString',['../class_label_slider.html#a8009482f1461ae35500fb5956e723f2c',1,'LabelSlider']]], - ['vcodec_5fchanged',['vcodec_changed',['../class_export_dialog.html#a92a464ae5dbd04d7110764bfc1858b59',1,'ExportDialog']]], - ['verifytransitionhelper',['VerifyTransitionHelper',['../class_timeline_widget.html#a23b8230d99abd746e7504e29c5849f3d',1,'TimelineWidget']]], - ['verifytransitionsaftercreating',['VerifyTransitionsAfterCreating',['../timelinewidget_8cpp.html#abc387bc73e61d224b6be00d2a294723c',1,'timelinewidget.cpp']]], - ['verticalspacing',['verticalSpacing',['../class_flow_layout.html#a06210851533f6e9d0d09477968aa0eb5',1,'FlowLayout']]], - ['video_5feffect_5fclick',['video_effect_click',['../class_effect_controls.html#aaf67c78321a7da277d1f59bb01cf4ed0',1,'EffectControls']]], - ['video_5ftransition_5fclick',['video_transition_click',['../class_effect_controls.html#a5ef51f5009f101db906a8b1d8c1a0fc6',1,'EffectControls']]], - ['view_5fis_5ffocused',['view_is_focused',['../class_graph_editor.html#a4c90d9557fe3417787ade12054a8f9b1',1,'GraphEditor']]], - ['view_5fis_5funder_5fmouse',['view_is_under_mouse',['../class_graph_editor.html#a60edb4dd25153666217c2d43316a5c18',1,'GraphEditor']]], - ['viewer',['Viewer',['../class_viewer.html#ad9bcb555f66a790a392d2af4b4f7f1d6',1,'Viewer']]], - ['viewercontainer',['ViewerContainer',['../class_viewer_container.html#a29803f8b03eab2e3c9e49a632ec1ec81',1,'ViewerContainer']]], - ['viewerwidget',['ViewerWidget',['../class_viewer_widget.html#ae13cab658af91b8dffb2e53eb52f93d9',1,'ViewerWidget']]], - ['viewerwindow',['ViewerWindow',['../class_viewer_window.html#a6456afa827fc3c28831f0db5b27a6a6e',1,'ViewerWindow']]], - ['viewmenu_5fabout_5fto_5fbe_5fshown',['viewMenu_About_To_Be_Shown',['../class_main_window.html#a2e4fd4ecc5e0487ca2d98735b01ccf41',1,'MainWindow']]], - ['visiblechanged',['visibleChanged',['../class_collapsible_widget.html#abdab66b7f042775372ee2fc9961da4e0',1,'CollapsibleWidget']]], - ['voideffect',['VoidEffect',['../class_void_effect.html#ad06382c456f9f6686dc1b980768a6ae6',1,'VoidEffect']]], - ['volumeeffect',['VolumeEffect',['../class_volume_effect.html#a2a5eb33d0784c03ac2e9c331d3c4065f',1,'VolumeEffect']]], - ['vsthost',['VSTHost',['../class_v_s_t_host.html#a4bd668af8ca1e9b597b6de6f5064ee19',1,'VSTHost']]] -]; diff --git a/docs/html/search/functions_15.html b/docs/html/search/functions_15.html deleted file mode 100644 index 071f6c4f7..000000000 --- a/docs/html/search/functions_15.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_15.js b/docs/html/search/functions_15.js deleted file mode 100644 index 81bc2976f..000000000 --- a/docs/html/search/functions_15.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['wake',['wake',['../class_export_thread.html#a665c7502f6bc93241f159e2be4671a55',1,'ExportThread']]], - ['wheel_5fevent_5fsignal',['wheel_event_signal',['../class_keyframe_view.html#a8af0c8c88f1c3b9046ac9ce31e4122a0',1,'KeyframeView']]], - ['wheelevent',['wheelEvent',['../class_combo_box_ex.html#a734789af02de854a921bc49ef79fc362',1,'ComboBoxEx::wheelEvent()'],['../class_graph_view.html#a91f1203a705ef6643cbd4a3563980525',1,'GraphView::wheelEvent()'],['../class_keyframe_view.html#a83c401b25ddda0e6361ddf63be113d82',1,'KeyframeView::wheelEvent()'],['../class_scroll_area.html#a4de216cd11110ee9d3c1b94ccc49ea6d',1,'ScrollArea::wheelEvent()'],['../class_timeline_widget.html#aaceedcb66fb1bc5df18477c5c5fa9184',1,'TimelineWidget::wheelEvent()'],['../class_viewer_widget.html#a14759cb64963345178c8a00c65eab3d6',1,'ViewerWidget::wheelEvent()']]], - ['windowmenu_5fabout_5fto_5fbe_5fshown',['windowMenu_About_To_Be_Shown',['../class_main_window.html#a33a60acf2c71874faf766dabd446e071',1,'MainWindow']]], - ['write_5fwave_5fheader',['write_wave_header',['../audio_8cpp.html#a977895b7e375b37f45102d2653a6c15a',1,'audio.cpp']]], - ['write_5fwave_5ftrailer',['write_wave_trailer',['../audio_8cpp.html#a1b997af1d74b69c7395e651f6b2d5a22',1,'audio.cpp']]] -]; diff --git a/docs/html/search/functions_16.html b/docs/html/search/functions_16.html deleted file mode 100644 index 185f97102..000000000 --- a/docs/html/search/functions_16.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_16.js b/docs/html/search/functions_16.js deleted file mode 100644 index 23b9bbd65..000000000 --- a/docs/html/search/functions_16.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['x_5fscroll_5fchanged',['x_scroll_changed',['../class_graph_view.html#a14549da5810725c305dc129a5e742cc5',1,'GraphView']]] -]; diff --git a/docs/html/search/functions_17.html b/docs/html/search/functions_17.html deleted file mode 100644 index 6f92cf7ad..000000000 --- a/docs/html/search/functions_17.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_17.js b/docs/html/search/functions_17.js deleted file mode 100644 index 08da28d3d..000000000 --- a/docs/html/search/functions_17.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['y_5fscroll_5fchanged',['y_scroll_changed',['../class_graph_view.html#a147dfccbfed4c487f870b5a161cd3b0b',1,'GraphView']]] -]; diff --git a/docs/html/search/functions_18.html b/docs/html/search/functions_18.html deleted file mode 100644 index 9552ba8c8..000000000 --- a/docs/html/search/functions_18.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_18.js b/docs/html/search/functions_18.js deleted file mode 100644 index f084ae0cb..000000000 --- a/docs/html/search/functions_18.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['zoom_5fchanged',['zoom_changed',['../class_graph_view.html#a5d3763d4c41a3636155142141cb22eb8',1,'GraphView']]], - ['zoom_5fin',['zoom_in',['../class_timeline.html#a3dc94dfcf38bb0c62391d6157fb803d1',1,'Timeline::zoom_in()'],['../class_focus_filter.html#a25c6fc709acf758f0c965420b3f10745',1,'FocusFilter::zoom_in()']]], - ['zoom_5fout',['zoom_out',['../class_timeline.html#a4286a9444e2af2c14ac71c02ff067b97',1,'Timeline::zoom_out()'],['../class_focus_filter.html#a723180d73f272ae21ab8b8001353f610',1,'FocusFilter::zoom_out()']]] -]; diff --git a/docs/html/search/functions_19.html b/docs/html/search/functions_19.html deleted file mode 100644 index 7c39c28c5..000000000 --- a/docs/html/search/functions_19.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_19.js b/docs/html/search/functions_19.js deleted file mode 100644 index 5a2453eb5..000000000 --- a/docs/html/search/functions_19.js +++ /dev/null @@ -1,36 +0,0 @@ -var searchData= -[ - ['_7eaddclipcommand',['~AddClipCommand',['../class_add_clip_command.html#a6e1e9bc2f299aa3c259f9c91822d20f9',1,'AddClipCommand']]], - ['_7eaddmediacommand',['~AddMediaCommand',['../class_add_media_command.html#a314901096410ba4a84cc1e3dab374474',1,'AddMediaCommand']]], - ['_7echeckboxcommand',['~CheckboxCommand',['../class_checkbox_command.html#a4de79eec9079b2852f8f1dbb5a772935',1,'CheckboxCommand']]], - ['_7eclip',['~Clip',['../class_clip.html#a88647ed65e3482b5e0533ec98667b0fa',1,'Clip']]], - ['_7ecomboaction',['~ComboAction',['../class_combo_action.html#a3eb4b90aaf178c9db34df9fc6645d9a6',1,'ComboAction']]], - ['_7edeleteclipaction',['~DeleteClipAction',['../class_delete_clip_action.html#a0730c79952b1503d8d27bba1d328f303',1,'DeleteClipAction']]], - ['_7edeletemediacommand',['~DeleteMediaCommand',['../class_delete_media_command.html#ab3acf9a59ee3428ec32b632bd193cca9',1,'DeleteMediaCommand']]], - ['_7eeffect',['~Effect',['../class_effect.html#ac26c0a394247e14c9081f875522b5b66',1,'Effect']]], - ['_7eeffectcontrols',['~EffectControls',['../class_effect_controls.html#a2c7fa77d87e53b2b08010d9376bc8cba',1,'EffectControls']]], - ['_7eeffectdeletecommand',['~EffectDeleteCommand',['../class_effect_delete_command.html#a2f5518c1b51d06b382d8f0a2ba980f38',1,'EffectDeleteCommand']]], - ['_7eeffectfield',['~EffectField',['../class_effect_field.html#af88f882424dc409d523029a0b12e6d2f',1,'EffectField']]], - ['_7eeffectrow',['~EffectRow',['../class_effect_row.html#ad9bc9b1c77532e2129230e7c7ddfc1bf',1,'EffectRow']]], - ['_7eexportdialog',['~ExportDialog',['../class_export_dialog.html#aff6cf4e48e6dcde206c3d8eb3bc9fac8',1,'ExportDialog']]], - ['_7eflowlayout',['~FlowLayout',['../class_flow_layout.html#abcbfd03a4758b98bcf13d44f5e673551',1,'FlowLayout']]], - ['_7efootage',['~Footage',['../struct_footage.html#a27754d8eab458982e1b37774bfe19039',1,'Footage']]], - ['_7efrei0reffect',['~Frei0rEffect',['../class_frei0r_effect.html#a0bc9ae694ee6b1e7df649656e90f64a7',1,'Frei0rEffect']]], - ['_7ekeyframenavigator',['~KeyframeNavigator',['../class_keyframe_navigator.html#a4c6947382de80a2f7af5649c9743a42e',1,'KeyframeNavigator']]], - ['_7emainwindow',['~MainWindow',['../class_main_window.html#a1f7d2c56410fc1bfa135bb907d43313f',1,'MainWindow']]], - ['_7emedia',['~Media',['../class_media.html#a54e7ec283f4ee48f034072776bf9c511',1,'Media']]], - ['_7enewsequencecommand',['~NewSequenceCommand',['../class_new_sequence_command.html#ae7ba9632b7390408c41ef665db63c11c',1,'NewSequenceCommand']]], - ['_7enewsequencedialog',['~NewSequenceDialog',['../class_new_sequence_dialog.html#a1ade4d21633a9a59b631407e6d3a2be3',1,'NewSequenceDialog']]], - ['_7eoliveaction',['~OliveAction',['../class_olive_action.html#a62bcbe2d4297e05349ceff9e406ef02e',1,'OliveAction']]], - ['_7epreferencesdialog',['~PreferencesDialog',['../class_preferences_dialog.html#a0e3927d4dbbc927879b4c4906e728f2d',1,'PreferencesDialog']]], - ['_7eproject',['~Project',['../class_project.html#ad165d61b76ee86ee9c27fd987a2a7b9e',1,'Project']]], - ['_7eprojectmodel',['~ProjectModel',['../class_project_model.html#a60043c7e1eb8be1ce6366ca3b337630b',1,'ProjectModel']]], - ['_7eremoveclipsfromclipboard',['~RemoveClipsFromClipboard',['../class_remove_clips_from_clipboard.html#a8afb012971e13d98c3b5370cc6f815ae',1,'RemoveClipsFromClipboard']]], - ['_7erenderthread',['~RenderThread',['../class_render_thread.html#ac9a968ad63349a9eb1109d615406afd4',1,'RenderThread']]], - ['_7esequence',['~Sequence',['../class_sequence.html#aee09a7d70c3ab523fed85da94ea1366f',1,'Sequence']]], - ['_7etimeline',['~Timeline',['../class_timeline.html#a02265431700e1ed876221c68da2ae005',1,'Timeline']]], - ['_7eviewer',['~Viewer',['../class_viewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da',1,'Viewer']]], - ['_7eviewercontainer',['~ViewerContainer',['../class_viewer_container.html#a31bdf626b8112ddde4b2882294d46feb',1,'ViewerContainer']]], - ['_7eviewerwidget',['~ViewerWidget',['../class_viewer_widget.html#a3759ff8f5d933bcf1680f8913f63c5e0',1,'ViewerWidget']]], - ['_7evsthost',['~VSTHost',['../class_v_s_t_host.html#a0348ef146e7e6b21d1fdc512512e650b',1,'VSTHost']]] -]; diff --git a/docs/html/search/functions_2.html b/docs/html/search/functions_2.html deleted file mode 100644 index 2b44474ed..000000000 --- a/docs/html/search/functions_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_2.js b/docs/html/search/functions_2.js deleted file mode 100644 index e684896ae..000000000 --- a/docs/html/search/functions_2.js +++ /dev/null @@ -1,91 +0,0 @@ -var searchData= -[ - ['cache_5faudio_5fworker',['cache_audio_worker',['../cacher_8cpp.html#ad4d1edc3dbe25272c9d73991027a4dc5',1,'cacher.cpp']]], - ['cache_5fclip',['cache_clip',['../playback_8cpp.html#a23df95737266e378e8aa3276e159d657',1,'cache_clip(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > &nests, int playback_speed): playback.cpp'],['../playback_8h.html#a23df95737266e378e8aa3276e159d657',1,'cache_clip(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > &nests, int playback_speed): playback.cpp']]], - ['cache_5fclip_5fworker',['cache_clip_worker',['../cacher_8cpp.html#a035aefad16c2f4120e278e8b60472232',1,'cache_clip_worker(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > nests, int playback_speed): cacher.cpp'],['../cacher_8h.html#a7550bdcbcaa2eb6797755e783443853e',1,'cache_clip_worker(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector< ClipPtr > nest, int playback_speed): cacher.cpp']]], - ['cache_5fvideo_5fworker',['cache_video_worker',['../cacher_8cpp.html#a64fa1a9df798c7b7992e0754345e2ca7',1,'cacher.cpp']]], - ['cacher',['Cacher',['../class_cacher.html#a0eda328c5746dc42704f648f4333c3cd',1,'Cacher']]], - ['can_5fclose_5fproject',['can_close_project',['../class_olive_global.html#a634b935875324ef89ac8088b10a8707f',1,'OliveGlobal']]], - ['can_5fripple_5fempty_5fspace',['can_ripple_empty_space',['../class_timeline.html#a1be8a3b81178a4535baf6ae241bf926b',1,'Timeline']]], - ['cancel',['cancel',['../class_load_dialog.html#a665f8cf164b0ac65d65722df1cc522be',1,'LoadDialog::cancel()'],['../class_text_edit_dialog.html#a9b4531c296fe1c63a66ca23e68e04d39',1,'TextEditDialog::cancel()'],['../class_load_thread.html#a748de695a8ae7eff63af6372e0808af6',1,'LoadThread::cancel()'],['../class_preview_generator.html#aef3b64744a2ba43d257074000d39ca6d',1,'PreviewGenerator::cancel()'],['../class_proxy_generator.html#ac8172fb75376a3e35b86c795488445dd',1,'ProxyGenerator::cancel()'],['../class_render_thread.html#a7baf0d9ddf94e78b0a5078b8cb00d341',1,'RenderThread::cancel()']]], - ['cancel_5frender',['cancel_render',['../class_export_dialog.html#a5f25dd61ac84ae2a89b455e84a3ab12f',1,'ExportDialog']]], - ['canplugindo',['canPluginDo',['../class_v_s_t_host.html#a66139153f600c620de97e18f67f34be9',1,'VSTHost']]], - ['center_5fscroll_5fto_5fplayhead',['center_scroll_to_playhead',['../timelineheader_8cpp.html#a96f389fdd55c8af6080c045463851f64',1,'center_scroll_to_playhead(QScrollBar *bar, double zoom, long playhead): timelineheader.cpp'],['../timelineheader_8h.html#a96f389fdd55c8af6080c045463851f64',1,'center_scroll_to_playhead(QScrollBar *bar, double zoom, long playhead): timelineheader.cpp']]], - ['change_5fplugin',['change_plugin',['../class_v_s_t_host.html#ae9ae8aa89d3b9b22deeb3fd5df1b6d2c',1,'VSTHost']]], - ['changed',['changed',['../class_effect_field.html#a450233f5744ddd68c994113226622fbd',1,'EffectField::changed()'],['../class_embedded_file_chooser.html#af42748c2f0cc351d3dd81a3190b636bd',1,'EmbeddedFileChooser::changed()']]], - ['changed_5froot',['changed_root',['../class_source_icon_view.html#a04283f5d2ab619f3c3aead021d17e47b',1,'SourceIconView']]], - ['changesequenceaction',['ChangeSequenceAction',['../class_change_sequence_action.html#a6fd1af5d0e89ea4f4cc6fa760869482e',1,'ChangeSequenceAction']]], - ['check_5ffor_5fautorecovery_5ffile',['check_for_autorecovery_file',['../class_olive_global.html#aed575061a3669d27854f76b3af599846',1,'OliveGlobal']]], - ['checkbox_5fcommand',['checkbox_command',['../class_checkbox_ex.html#a691c497c12520964d26f50d8ccc9d803',1,'CheckboxEx']]], - ['checkboxcommand',['CheckboxCommand',['../class_checkbox_command.html#abd78057d439fa11c0cc6d2e752170ee1',1,'CheckboxCommand']]], - ['checkboxex',['CheckboxEx',['../class_checkbox_ex.html#a5b28df6f739b0764f82069e2ef7ae40d',1,'CheckboxEx']]], - ['child',['child',['../class_media.html#a4126ca7d13b1b480523c6eadf2584f0d',1,'Media::child()'],['../class_project_model.html#a6848982158d5791383ecc7b4d771a78a',1,'ProjectModel::child()']]], - ['childcount',['childCount',['../class_media.html#a88143944e70803865a7b740d19bc7203',1,'Media::childCount()'],['../class_project_model.html#a38dc67d7dd45902a78cfef59752b1034',1,'ProjectModel::childCount()']]], - ['clean_5fcreated_5fseq',['clean_created_seq',['../class_viewer.html#a87390cfbab6496e269d39ac720d53c24',1,'Viewer']]], - ['clean_5fup_5fselections',['clean_up_selections',['../class_timeline.html#a27b879f4e0915d04eeaf9f2311d4e6fe',1,'Timeline']]], - ['clear',['clear',['../class_project.html#ae17aae0710dad6f1aac41e5bca16f2bd',1,'Project::clear()'],['../class_project_model.html#a6a0eae0a5136c9299d91d363bc874d8e',1,'ProjectModel::clear()'],['../class_audio_monitor.html#abb8d59be2fc73186b73827f7efb260e6',1,'AudioMonitor::clear()']]], - ['clear_5faudio_5fibuffer',['clear_audio_ibuffer',['../audio_8cpp.html#abaa90648971a235c8f86b3144e21a4c6',1,'clear_audio_ibuffer(): audio.cpp'],['../audio_8h.html#abaa90648971a235c8f86b3144e21a4c6',1,'clear_audio_ibuffer(): audio.cpp']]], - ['clear_5fclipboard',['clear_clipboard',['../clipboard_8cpp.html#a58ad629f0a0bb0bb3d5d825f6002df27',1,'clear_clipboard(): clipboard.cpp'],['../clipboard_8h.html#a58ad629f0a0bb0bb3d5d825f6002df27',1,'clear_clipboard(): clipboard.cpp']]], - ['clear_5feffects',['clear_effects',['../class_effect_controls.html#aa60430417abaedd9af579ef7a093614c',1,'EffectControls']]], - ['clear_5fin',['clear_in',['../class_viewer.html#ad193578ac2b5aa2ed5a045163bce51d5',1,'Viewer::clear_in()'],['../class_focus_filter.html#a64b5f3777c6e9419e13fe388ee2975ff',1,'FocusFilter::clear_in()']]], - ['clear_5finout',['clear_inout',['../class_focus_filter.html#a96eaaf8404de284edac0aa15de9c5dc4',1,'FocusFilter']]], - ['clear_5finout_5fpoint',['clear_inout_point',['../class_viewer.html#a48999f1e2f46fe79584f39944b02574a',1,'Viewer']]], - ['clear_5fout',['clear_out',['../class_viewer.html#a4ad3b406eb2d43e294582555d2948e2a',1,'Viewer::clear_out()'],['../class_focus_filter.html#a7357058d6bd8b1e9ca9d5e8b25c2432e',1,'FocusFilter::clear_out()']]], - ['clear_5fproxies_5ffrom_5fselected',['clear_proxies_from_selected',['../class_sources_common.html#a9c65f492c97a555a297d79f7f5e5d20b',1,'SourcesCommon']]], - ['clear_5frecent_5fprojects',['clear_recent_projects',['../class_project.html#a8e1596b66bd160b592d9695b308d8664',1,'Project']]], - ['clear_5fundo_5fstack',['clear_undo_stack',['../class_olive_global.html#a097586341c27234802fb42f7ee1d40c6',1,'OliveGlobal']]], - ['clickablelabel',['ClickableLabel',['../class_clickable_label.html#a634ef97f5aba9c2b320d61d5a3923435',1,'ClickableLabel::ClickableLabel(QWidget *parent=0, Qt::WindowFlags f=0)'],['../class_clickable_label.html#a351d055e7a28d021e8f8e87020d31199',1,'ClickableLabel::ClickableLabel(const QString &text, QWidget *parent=0, Qt::WindowFlags f=0)']]], - ['clicked',['clicked',['../class_effect_field.html#a2922c1e4c3e22f43e4faacfe8ad1b9e0',1,'EffectField::clicked()'],['../class_clickable_label.html#aba68cb811a595c6d90f5c994f2b31f4b',1,'ClickableLabel::clicked()'],['../class_keyframe_navigator.html#a087ee415a33d13fce71a0410ae16cf6b',1,'KeyframeNavigator::clicked()'],['../class_label_slider.html#a4b7301bbdad1d6dca30aa0e878818706',1,'LabelSlider::clicked()']]], - ['clip',['Clip',['../class_clip.html#a57751e1af607a6da2408e04d3abd43f1',1,'Clip']]], - ['clip_5fuses_5fcacher',['clip_uses_cacher',['../playback_8cpp.html#a6615780fb5ed39bd15868f9b967ec7c3',1,'clip_uses_cacher(ClipPtr clip): playback.cpp'],['../playback_8h.html#a6615780fb5ed39bd15868f9b967ec7c3',1,'clip_uses_cacher(ClipPtr clip): playback.cpp']]], - ['close',['close',['../class_effect.html#af39cb182d07d61beab596f6f55dbedff',1,'Effect']]], - ['close_5fclip',['close_clip',['../playback_8cpp.html#a4ea080554d9ddc35811f5daeed7f45d8',1,'close_clip(ClipPtr clip, bool wait): playback.cpp'],['../playback_8h.html#a4ea080554d9ddc35811f5daeed7f45d8',1,'close_clip(ClipPtr clip, bool wait): playback.cpp']]], - ['close_5fclip_5fworker',['close_clip_worker',['../cacher_8cpp.html#a5d2bcde3219a99a5447ed1296def1807',1,'close_clip_worker(ClipPtr clip): cacher.cpp'],['../cacher_8h.html#a5d2bcde3219a99a5447ed1296def1807',1,'close_clip_worker(ClipPtr clip): cacher.cpp']]], - ['close_5fdebug_5ffile',['close_debug_file',['../debug_8cpp.html#ac6e1124d043e34d4c2154777a32c57b6',1,'close_debug_file(): debug.cpp'],['../debug_8h.html#ac6e1124d043e34d4c2154777a32c57b6',1,'close_debug_file(): debug.cpp']]], - ['close_5fmedia',['close_media',['../class_viewer.html#aea90b36c0b1fe4da49069048b175f4d7',1,'Viewer']]], - ['close_5fwindow',['close_window',['../class_viewer_widget.html#a18a34c6801393a970816c41cf6fd21af',1,'ViewerWidget']]], - ['closeactiveclips',['closeActiveClips',['../playback_8cpp.html#a62bf049be9d55d486961ff78ebf56938',1,'closeActiveClips(SequencePtr s): playback.cpp'],['../playback_8h.html#a62bf049be9d55d486961ff78ebf56938',1,'closeActiveClips(SequencePtr s): playback.cpp']]], - ['closeevent',['closeEvent',['../class_main_window.html#a4aa386518569b0bbceb958df0ddc8f32',1,'MainWindow']]], - ['collapsiblewidget',['CollapsibleWidget',['../class_collapsible_widget.html#a973cf82cc799f5f9e2a242158b942a10',1,'CollapsibleWidget']]], - ['collapsiblewidgetheader',['CollapsibleWidgetHeader',['../class_collapsible_widget_header.html#a81a5d70a6b9ad10d93a91f92bd7b1b83',1,'CollapsibleWidgetHeader']]], - ['color_5fbrightness',['color_brightness',['../timelinewidget_8cpp.html#a504a08cc9c9b79a08266d2b764259404',1,'timelinewidget.cpp']]], - ['color_5fchanged',['color_changed',['../class_color_button.html#a11ab24ee2eed8ba098d1818eef53ae89',1,'ColorButton']]], - ['colorbutton',['ColorButton',['../class_color_button.html#a128b21900f22efdc9d71d0bffa0b64f8',1,'ColorButton']]], - ['colorcommand',['ColorCommand',['../class_color_command.html#a7dd09c97bc13d11f6e72be84f6528e9f',1,'ColorCommand']]], - ['columncount',['columnCount',['../class_media.html#a899f4b192ff788a90459be6e4c8a32ed',1,'Media::columnCount()'],['../class_project_model.html#a89e3b0ab9efb272edce72247e2353338',1,'ProjectModel::columnCount()']]], - ['comboaction',['ComboAction',['../class_combo_action.html#ae2197126adbb8505326eb2fe2d16b8f3',1,'ComboAction']]], - ['combobox_5faudio_5fsample_5frates',['combobox_audio_sample_rates',['../audio_8cpp.html#a5311f2f51119bb68db7d42c09cf010c8',1,'combobox_audio_sample_rates(QComboBox *combobox): audio.cpp'],['../audio_8h.html#a5311f2f51119bb68db7d42c09cf010c8',1,'combobox_audio_sample_rates(QComboBox *combobox): audio.cpp']]], - ['comboboxex',['ComboBoxEx',['../class_combo_box_ex.html#ae2c198f471d29928b1571d3bdb8339b4',1,'ComboBoxEx']]], - ['comboboxexcommand',['ComboBoxExCommand',['../class_combo_box_ex_command.html#ae2b35a7571c11fab6bd342577e2a596b',1,'ComboBoxExCommand']]], - ['comp_5ftype_5fchanged',['comp_type_changed',['../class_export_dialog.html#aecdbe9fd331c69152ffee197733b2cb6',1,'ExportDialog']]], - ['compose',['compose',['../class_viewer.html#ab216ba91c609f7e0a766c2a10639a040',1,'Viewer']]], - ['compose_5faudio',['compose_audio',['../renderfunctions_8cpp.html#a79288c23c1ade122bc8da2eb0bfde9ef',1,'compose_audio(Viewer *viewer, SequencePtr seq, int playback_speed): renderfunctions.cpp'],['../renderfunctions_8h.html#a79288c23c1ade122bc8da2eb0bfde9ef',1,'compose_audio(Viewer *viewer, SequencePtr seq, int playback_speed): renderfunctions.cpp']]], - ['compose_5fsequence',['compose_sequence',['../renderfunctions_8cpp.html#a478845e39064301011d72a81b2a10b57',1,'compose_sequence(ComposeSequenceParams &params): renderfunctions.cpp'],['../renderfunctions_8h.html#a478845e39064301011d72a81b2a10b57',1,'compose_sequence(ComposeSequenceParams &params): renderfunctions.cpp']]], - ['config',['Config',['../struct_config.html#abd0c571c116924871e30444b192b792a',1,'Config']]], - ['configureplugincallbacks',['configurePluginCallbacks',['../class_v_s_t_host.html#a7b995ac73c96a0d5c44e31e096ab7cff',1,'VSTHost']]], - ['construct_5fmodule',['construct_module',['../class_frei0r_effect.html#ac75a69bdba6a330b705803fad8c1aa87',1,'Frei0rEffect']]], - ['context_5fdestroy',['context_destroy',['../class_viewer_widget.html#af423b815de0459249dc1d3feac3d1615',1,'ViewerWidget']]], - ['copy',['copy',['../class_void_effect.html#a9dcb2a9c5150168f2db4a26025ca7191',1,'VoidEffect::copy()'],['../class_effect_controls.html#ace1cff624bb52a4ab5b3f46bc77d920c',1,'EffectControls::copy()'],['../class_timeline.html#a8f54973a48568b533caa5e15e8effc3d',1,'Timeline::copy()'],['../class_clip.html#a6098d8eaedc3a473ca2acfe8d6bbe7d6',1,'Clip::copy()'],['../class_effect.html#aa091dbb374dacb45423ebdb487cb8d91',1,'Effect::copy()'],['../class_sequence.html#a395fbec2bf9f97179732a188e56323f8',1,'Sequence::copy()'],['../class_transition.html#a0d755eaa9437baca2635c1510a8edfc0',1,'Transition::copy()'],['../class_focus_filter.html#a28498f9a8d44f649826431e53f57863c',1,'FocusFilter::copy()']]], - ['copy_5ffield_5fkeyframes',['copy_field_keyframes',['../class_effect.html#a3426fe55f9081f8ba0e6a6e019d24e83',1,'Effect']]], - ['cornerpineffect',['CornerPinEffect',['../class_corner_pin_effect.html#a3b4d0360da9e43d4028e9501ef99a69d',1,'CornerPinEffect']]], - ['count',['count',['../class_flow_layout.html#a35bdf8dac35631d59767d0c0fedc7248',1,'FlowLayout']]], - ['create',['create',['../class_new_sequence_dialog.html#a5fc5c3e9a93a05a0ce1ba35fe42098a1',1,'NewSequenceDialog']]], - ['create_5feffect',['create_effect',['../effect_8cpp.html#a4185d447c06f41fc97129d98b6cf5c02',1,'create_effect(ClipPtr c, const EffectMeta *em): effect.cpp'],['../effect_8h.html#a4185d447c06f41fc97129d98b6cf5c02',1,'create_effect(ClipPtr c, const EffectMeta *em): effect.cpp']]], - ['create_5feffect_5fui',['create_effect_ui',['../class_load_thread.html#a72f8e7670b8d2ef464e81ea583c9232f',1,'LoadThread']]], - ['create_5ffolder_5finternal',['create_folder_internal',['../class_project.html#aef93eb71bac8e32a96a2993a99f1bb3a',1,'Project']]], - ['create_5fghosts_5ffrom_5fmedia',['create_ghosts_from_media',['../class_timeline.html#adf0909bb3a7f1909a792e7bb1521bd3e',1,'Timeline']]], - ['create_5findex',['create_index',['../class_project_model.html#abdc8131d78c4c2e6e6acc0260fd6c9fd',1,'ProjectModel']]], - ['create_5fseq_5ffrom_5fselected',['create_seq_from_selected',['../class_sources_common.html#a410755a74a293c38cfcccda97fea4307',1,'SourcesCommon']]], - ['create_5fsequence_5ffrom_5fmedia',['create_sequence_from_media',['../project_8cpp.html#aea0ce44b37057cb562376f90ebd46a7b',1,'create_sequence_from_media(QVector< Media * > &media_list): project.cpp'],['../project_8h.html#aea0ce44b37057cb562376f90ebd46a7b',1,'create_sequence_from_media(QVector< Media * > &media_list): project.cpp']]], - ['create_5fsequence_5finternal',['create_sequence_internal',['../class_project.html#a49ac61fef147a2db9928170b012c9ed8',1,'Project']]], - ['create_5ftransition',['create_transition',['../transition_8cpp.html#a8e1235db7b71ca5c9cc28b546465fa32',1,'create_transition(ClipPtr c, ClipPtr s, const EffectMeta *em, long length): transition.cpp'],['../transition_8h.html#a5e461d49a3e1ae4d6510a688cfb1f3c3',1,'create_transition(ClipPtr c, ClipPtr s, const EffectMeta *em, long length=0): transition.cpp']]], - ['crossdissolvetransition',['CrossDissolveTransition',['../class_cross_dissolve_transition.html#a0c817466505c3b7a5414a0b1ed670ddb',1,'CrossDissolveTransition']]], - ['cubetransition',['CubeTransition',['../class_cube_transition.html#a7d78259ce226bd9ffb23f7966fffafee',1,'CubeTransition']]], - ['cubic_5ffrom_5ft',['cubic_from_t',['../math_8cpp.html#a82165838a908dade39e06e9c70c235e5',1,'cubic_from_t(double a, double b, double c, double d, double t): math.cpp'],['../math_8h.html#a82165838a908dade39e06e9c70c235e5',1,'cubic_from_t(double a, double b, double c, double d, double t): math.cpp']]], - ['cubic_5ft_5ffrom_5fx',['cubic_t_from_x',['../math_8cpp.html#a7e5546520c6da2a0bae7cde9e658e310',1,'cubic_t_from_x(double x_target, double a, double b, double c, double d): math.cpp'],['../math_8h.html#a7e5546520c6da2a0bae7cde9e658e310',1,'cubic_t_from_x(double x_target, double a, double b, double c, double d): math.cpp']]], - ['cue_5frecording',['cue_recording',['../class_viewer.html#a7e23ea97f38a09a43591b52adc27e126',1,'Viewer']]], - ['current_5faudio_5ffreq',['current_audio_freq',['../audio_8cpp.html#a2f841dc1154f2cee4a113c851b8a4126',1,'current_audio_freq(): audio.cpp'],['../audio_8h.html#a2f841dc1154f2cee4a113c851b8a4126',1,'current_audio_freq(): audio.cpp']]], - ['current_5ftool_5fshows_5fcursor',['current_tool_shows_cursor',['../timelinewidget_8cpp.html#a06fdcba7aa1c4bcc28c274524f1b59b3',1,'timelinewidget.cpp']]], - ['custom_5fload',['custom_load',['../class_v_s_t_host.html#a4d9ead374e1b4f9328cbc9705849075a',1,'VSTHost::custom_load()'],['../class_effect.html#ae14621c5d5bdb0ef41c6ea7dffcb8762',1,'Effect::custom_load()']]], - ['cut',['cut',['../class_effect_controls.html#ae619a0b9b59188ba70e18aa0fdaec819',1,'EffectControls::cut()'],['../class_focus_filter.html#a222ebf21b2aefbb43085839a8b95ae3e',1,'FocusFilter::cut()']]] -]; diff --git a/docs/html/search/functions_3.html b/docs/html/search/functions_3.html deleted file mode 100644 index 3dca36715..000000000 --- a/docs/html/search/functions_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_3.js b/docs/html/search/functions_3.js deleted file mode 100644 index d68f37c46..000000000 --- a/docs/html/search/functions_3.js +++ /dev/null @@ -1,71 +0,0 @@ -var searchData= -[ - ['data',['data',['../class_media.html#acc23c5eec066f621c5795194b46606ed',1,'Media::data()'],['../class_project_model.html#aa2816d78895d8cc1e8439510bd59bb16',1,'ProjectModel::data()']]], - ['db_5fto_5famplitude',['db_to_amplitude',['../math_8cpp.html#afcdc3965d2e6901c806ad9a28f31728d',1,'db_to_amplitude(double db): math.cpp'],['../math_8h.html#afcdc3965d2e6901c806ad9a28f31728d',1,'db_to_amplitude(double db): math.cpp']]], - ['dbl_5fclick',['dbl_click',['../class_action_search_list.html#a801958dd1c595f50ff16160969a17c82',1,'ActionSearchList']]], - ['debug_5fmessage_5fhandler',['debug_message_handler',['../debug_8cpp.html#ac619e032e392f516d3cd9f897bddd9ea',1,'debug_message_handler(QtMsgType type, const QMessageLogContext &context, const QString &msg): debug.cpp'],['../debug_8h.html#ac619e032e392f516d3cd9f897bddd9ea',1,'debug_message_handler(QtMsgType type, const QMessageLogContext &context, const QString &msg): debug.cpp']]], - ['debugdialog',['DebugDialog',['../class_debug_dialog.html#aea51c203ccfb89967c9191f31a39faa1',1,'DebugDialog']]], - ['decheck_5ftool_5fbuttons',['decheck_tool_buttons',['../class_timeline.html#a06a7fbc767b4ec76b192dcb61b3540cb',1,'Timeline']]], - ['decrease_5fspeed',['decrease_speed',['../class_viewer.html#ab39d6d0213aaf1a414d34140c8a374c1',1,'Viewer::decrease_speed()'],['../class_focus_filter.html#a7df3eede8f25fde514142046b3352c09',1,'FocusFilter::decrease_speed()']]], - ['decreasetrackheight',['DecreaseTrackHeight',['../class_timeline.html#a13210599ae8a12dabfe27da3751387eb',1,'Timeline']]], - ['delete_5fall_5fpreviews',['delete_all_previews',['../class_preferences_dialog.html#a201a93d22aae67d48f0a26e730cb063b',1,'PreferencesDialog']]], - ['delete_5farea_5funder_5fghosts',['delete_area_under_ghosts',['../timelinewidget_8cpp.html#a6d323c02ed6629de93f9105fd725a241',1,'timelinewidget.cpp']]], - ['delete_5fareas_5fand_5frelink',['delete_areas_and_relink',['../class_timeline.html#aed9dec65c0ea386c661191b90ff85687',1,'Timeline']]], - ['delete_5fclips_5fin_5fclipboard_5fwith_5fmedia',['delete_clips_in_clipboard_with_media',['../project_8cpp.html#a48867d6a66d97239e3c17bb0e96ff61b',1,'project.cpp']]], - ['delete_5fclips_5fusing_5fselected_5fmedia',['delete_clips_using_selected_media',['../class_project.html#ab3870e4b53734681597a7f6ee4e431da',1,'Project']]], - ['delete_5fctx',['delete_ctx',['../class_render_thread.html#a993c4e26882f353765abc57230e58774',1,'RenderThread']]], - ['delete_5feffects',['delete_effects',['../class_effect_controls.html#a188b5da17e71874e113b2fbf2ea1cd99',1,'EffectControls']]], - ['delete_5ffbo',['delete_fbo',['../class_render_thread.html#aa77bcc77e1675aa77e791b2ac0ff2850',1,'RenderThread']]], - ['delete_5ffunction',['delete_function',['../class_focus_filter.html#a7d9dbfa4b9595a4e83b01c54f123b3a7',1,'FocusFilter::delete_function()'],['../class_viewer_widget.html#a7a2dfddc85608f7e506a795e1d6f4874',1,'ViewerWidget::delete_function()']]], - ['delete_5fin_5fout_5finternal',['delete_in_out_internal',['../class_timeline.html#a0db2f4cafdf8b0290b6b71989fcdf825',1,'Timeline']]], - ['delete_5finout',['delete_inout',['../class_timeline.html#a3a3ce85179228f291265e7b0aea34fd3',1,'Timeline']]], - ['delete_5fkeyframe_5fat_5ftime',['delete_keyframe_at_time',['../class_effect_row.html#ac3f27fead0d180c1e7f5bc7aff3e762f',1,'EffectRow']]], - ['delete_5fkeyframes',['delete_keyframes',['../keyframe_8cpp.html#a14c0f5036e47d131a841522ce8946cdd',1,'delete_keyframes(QVector< EffectField * > &selected_key_fields, QVector< int > &selected_keys): keyframe.cpp'],['../keyframe_8h.html#a14c0f5036e47d131a841522ce8946cdd',1,'delete_keyframes(QVector< EffectField * > &selected_key_fields, QVector< int > &selected_keys): keyframe.cpp']]], - ['delete_5fmarkers',['delete_markers',['../class_timeline_header.html#a03c5745d39e8fe5b27a805e48cc5b109',1,'TimelineHeader']]], - ['delete_5fpreviews',['delete_previews',['../class_preferences_dialog.html#aef2c68514a62f06c38edd2b9379b46e7',1,'PreferencesDialog']]], - ['delete_5fselected_5fkeyframes',['delete_selected_keyframes',['../class_effect_controls.html#abbfae67d5f9673a8039b2de601f94c7c',1,'EffectControls::delete_selected_keyframes()'],['../class_keyframe_view.html#a6fa5c4f76e0121f7d0043bdc682efacc',1,'KeyframeView::delete_selected_keyframes()']]], - ['delete_5fselected_5fkeys',['delete_selected_keys',['../class_graph_editor.html#ae735d893c5df0b7108d7b12fbef9795c',1,'GraphEditor::delete_selected_keys()'],['../class_graph_view.html#a120eab0fc7605fd3e2bbf89224f1a1fb',1,'GraphView::delete_selected_keys()']]], - ['delete_5fselected_5fmedia',['delete_selected_media',['../class_project.html#af912e769d88ef1c65a6b0729061f0130',1,'Project']]], - ['delete_5fselection',['delete_selection',['../class_timeline.html#a24721c0863116ca4e062e1449542775a',1,'Timeline']]], - ['delete_5fself',['delete_self',['../class_effect.html#a94a9730d41351f47d6f66a13c502c11f',1,'Effect']]], - ['delete_5fshader_5fprogram',['delete_shader_program',['../class_render_thread.html#ae3eaf3033c0752c20b350a6570123b4f',1,'RenderThread']]], - ['delete_5ftexture',['delete_texture',['../class_effect.html#a8e74a11978a944b1f682266c57d3db84',1,'Effect::delete_texture()'],['../class_render_thread.html#ae29eb1ce903ad3a49f0a01b50495ab86',1,'RenderThread::delete_texture()']]], - ['deleteclipaction',['DeleteClipAction',['../class_delete_clip_action.html#a46d06dd649726ed8cc9e56a4c05025d0',1,'DeleteClipAction']]], - ['deletemarkeraction',['DeleteMarkerAction',['../class_delete_marker_action.html#aa795f6a7c49eac4f030939ccf1187789',1,'DeleteMarkerAction']]], - ['deletemediacommand',['DeleteMediaCommand',['../class_delete_media_command.html#a7ea705c3e09e28365441958a6f11c654',1,'DeleteMediaCommand']]], - ['deletetransitioncommand',['DeleteTransitionCommand',['../class_delete_transition_command.html#a073745a712812e5b76510335b4d8fc55',1,'DeleteTransitionCommand']]], - ['demonotice',['DemoNotice',['../class_demo_notice.html#a73b7803db28f2e8e378f2d267f7258cd',1,'DemoNotice']]], - ['deselect',['deselect',['../class_timeline.html#a189f90a7538c3469428d2a905265ca6e',1,'Timeline']]], - ['deselect_5fall_5feffects',['deselect_all_effects',['../class_effect_controls.html#a343d39f6d7b9682e6217db8bc8e1deab',1,'EffectControls']]], - ['deselect_5farea',['deselect_area',['../class_timeline.html#a98386e82ef4b7370d854cf6d42a4e2c9',1,'Timeline']]], - ['deselect_5fothers',['deselect_others',['../class_collapsible_widget.html#a1dfc83652341abb2cc3351d61e4ef2f9',1,'CollapsibleWidget']]], - ['destroy_5froot',['destroy_root',['../class_project_model.html#ad5a6134f10f73c5fda57157c22254310',1,'ProjectModel']]], - ['destruct_5fmodule',['destruct_module',['../class_frei0r_effect.html#a81826c2bef32c787b459219c1b9c815d',1,'Frei0rEffect']]], - ['did_5ftexture_5ffail',['did_texture_fail',['../class_render_thread.html#ab887bd08f1ba6a280766f2e6ec6e58d4',1,'RenderThread']]], - ['die',['die',['../class_load_dialog.html#a695e79e424c482de853c0f6a2eed0785',1,'LoadDialog']]], - ['dolayout',['doLayout',['../class_flow_layout.html#af0e17c24ac7b5f82511658507ac9a2ac',1,'FlowLayout']]], - ['doredo',['doRedo',['../class_olive_action.html#ad2558014854156e81631f395db38a697',1,'OliveAction::doRedo()'],['../class_move_clip_action.html#ab5e6068c5ce46a2dd6a6c2d195ad03e0',1,'MoveClipAction::doRedo()'],['../class_ripple_action.html#a6474d5bf45dd75dfccf5a8d3b2c2f649',1,'RippleAction::doRedo()'],['../class_delete_clip_action.html#a264b961dace8a3f4c96ffb8237b148a6',1,'DeleteClipAction::doRedo()'],['../class_change_sequence_action.html#a7b62988eed5d624edd5c7ba0b231a981',1,'ChangeSequenceAction::doRedo()'],['../class_add_effect_command.html#a5341c8963a398eebde7229f48f3dba54',1,'AddEffectCommand::doRedo()'],['../class_add_transition_command.html#a9aeb13d9d03221f2c6697362e6f51291',1,'AddTransitionCommand::doRedo()'],['../class_modify_transition_command.html#a2ea72911da2b126d60905d35eced443a',1,'ModifyTransitionCommand::doRedo()'],['../class_delete_transition_command.html#acbedf05e24648f631cad2fa744b970e5',1,'DeleteTransitionCommand::doRedo()'],['../class_set_timeline_in_out_command.html#a2f0effb92ba6baf0c9b6424cad325427',1,'SetTimelineInOutCommand::doRedo()'],['../class_new_sequence_command.html#a1d5f7f904f419f46426f6b0e57dc0cfa',1,'NewSequenceCommand::doRedo()'],['../class_add_media_command.html#a8c494dfd0dae65ff16b90d54e6bb7b26',1,'AddMediaCommand::doRedo()'],['../class_delete_media_command.html#ac2b0d2c43f71ee06e9f7a1a0537ccff4',1,'DeleteMediaCommand::doRedo()'],['../class_add_clip_command.html#a298b751d7f9062f5a781773ecf959ed6',1,'AddClipCommand::doRedo()'],['../class_link_command.html#a76c2bcf20a250862642dca49b83bdbf9',1,'LinkCommand::doRedo()'],['../class_checkbox_command.html#af58d0ed2b693d5b98f9ecb9aae20189e',1,'CheckboxCommand::doRedo()'],['../class_replace_media_command.html#acff97e451076031b3a224ff9bc1f3f19',1,'ReplaceMediaCommand::doRedo()'],['../class_replace_clip_media_command.html#a43158a05baeee3ae9408fbe45236ad01',1,'ReplaceClipMediaCommand::doRedo()'],['../class_effect_delete_command.html#aa378e414e2d22c7466e387b533544677',1,'EffectDeleteCommand::doRedo()'],['../class_media_move.html#a3cf89f0c7ef7f96858470de845724dcd',1,'MediaMove::doRedo()'],['../class_media_rename.html#a2f89eb446f81dedfebbe1bca9715ffbb',1,'MediaRename::doRedo()'],['../class_keyframe_delete.html#abf1a6981ee71a0b0feac2c9db26e0e17',1,'KeyframeDelete::doRedo()'],['../class_keyframe_field_set.html#a315514303fc07f950ffeb4d2aa63703b',1,'KeyframeFieldSet::doRedo()'],['../class_effect_field_undo.html#ade1090f72c6e5d56b7e7323e59f04570',1,'EffectFieldUndo::doRedo()'],['../class_set_autoscale_action.html#a921f1e9185ce11cdd3e675626ba1677d',1,'SetAutoscaleAction::doRedo()'],['../class_add_marker_action.html#ab60bfacb02b4e0842fe100abd6f7006a',1,'AddMarkerAction::doRedo()'],['../class_move_marker_action.html#afcada7bbfcfb650d81f64dbc53e6ca8e',1,'MoveMarkerAction::doRedo()'],['../class_delete_marker_action.html#a36056aa075dc72be5848e857198b4b7e',1,'DeleteMarkerAction::doRedo()'],['../class_set_speed_action.html#ac18c4556005dcaf0e729f13c250b2d3e',1,'SetSpeedAction::doRedo()'],['../class_set_bool.html#a4ac25aebffc55eefe6ffe47ebc5220b3',1,'SetBool::doRedo()'],['../class_set_selections_command.html#a263bb4cf45e6140be2660dbc8d55b768',1,'SetSelectionsCommand::doRedo()'],['../class_edit_sequence_command.html#afb50bde1c91304eea18851f455edf441',1,'EditSequenceCommand::doRedo()'],['../class_set_int.html#af0110008f4d7f3e7717e5e7c2b37ad0c',1,'SetInt::doRedo()'],['../class_set_long.html#abbf5580a343724c639a930cb89811e44',1,'SetLong::doRedo()'],['../class_set_double.html#a47837f2d1ea8408bfbf67f291ef0a58a',1,'SetDouble::doRedo()'],['../class_set_string.html#acf5f90b88d363d865a13687491551121',1,'SetString::doRedo()'],['../class_close_all_clips_command.html#a1c464986571fff9de3ae017b4b0d98ae',1,'CloseAllClipsCommand::doRedo()'],['../class_update_footage_tooltip.html#a20073fb463b17226bcf8fcfc043075c7',1,'UpdateFootageTooltip::doRedo()'],['../class_move_effect_command.html#adef5ae62d3136283e49ca739eb41fa41',1,'MoveEffectCommand::doRedo()'],['../class_remove_clips_from_clipboard.html#a106ed72f17cb6415da82d45f52146247',1,'RemoveClipsFromClipboard::doRedo()'],['../class_rename_clip_command.html#af79f8f81a6e3ba63ee2622450edd52c4',1,'RenameClipCommand::doRedo()'],['../class_set_pointer.html#a909d47ac5e08359562aa982f62d3d4b2',1,'SetPointer::doRedo()'],['../class_reload_effects_command.html#a7415c20180edb79ba03a3a3ac199dc1c',1,'ReloadEffectsCommand::doRedo()'],['../class_set_q_variant.html#a234ec838c88d8b53cba19e9bc42b623a',1,'SetQVariant::doRedo()'],['../class_set_keyframing.html#affbb4383e4bba76e20375c4784ff0076',1,'SetKeyframing::doRedo()'],['../class_refresh_clips.html#acabc4f721737c976b8b6cf654697f1c7',1,'RefreshClips::doRedo()'],['../class_update_viewer.html#adcd2b0079a038807c153e683350a5e8e',1,'UpdateViewer::doRedo()'],['../class_set_effect_data.html#abbfd9d21d28775c773e58fdc27b433c5',1,'SetEffectData::doRedo()']]], - ['double_5flerp',['double_lerp',['../math_8cpp.html#a0b582a531934027dee1432501f46e9c6',1,'double_lerp(double a, double b, double t): math.cpp'],['../math_8h.html#a0b582a531934027dee1432501f46e9c6',1,'double_lerp(double a, double b, double t): math.cpp']]], - ['doundo',['doUndo',['../class_olive_action.html#ae5c9247751022c35aebd477718113cc4',1,'OliveAction::doUndo()'],['../class_move_clip_action.html#a31b30a8b73117da3779e72035f50297e',1,'MoveClipAction::doUndo()'],['../class_ripple_action.html#afb9bdf848169fcb3de47fb2a44344127',1,'RippleAction::doUndo()'],['../class_delete_clip_action.html#ae662bc288b09a0e21906992bec124f64',1,'DeleteClipAction::doUndo()'],['../class_change_sequence_action.html#a23c17b313deea893c30ab6b45d36c777',1,'ChangeSequenceAction::doUndo()'],['../class_add_effect_command.html#ab367dccb77d7451d5dadb5cd3abb29b7',1,'AddEffectCommand::doUndo()'],['../class_add_transition_command.html#a94cee1573a515c663a754a0d2beb2d65',1,'AddTransitionCommand::doUndo()'],['../class_modify_transition_command.html#acb25d3a5f8b57948b9304bc54e7e4577',1,'ModifyTransitionCommand::doUndo()'],['../class_delete_transition_command.html#a7859092d3c3b982587cdf6f527d5a176',1,'DeleteTransitionCommand::doUndo()'],['../class_set_timeline_in_out_command.html#a8e67b8500c9d2d7b967f291b2b6c3de2',1,'SetTimelineInOutCommand::doUndo()'],['../class_new_sequence_command.html#a0a121b215a973c220a7d6a0e4bd329ca',1,'NewSequenceCommand::doUndo()'],['../class_add_media_command.html#a35a20d6048cd16bfca1624ede05f7874',1,'AddMediaCommand::doUndo()'],['../class_delete_media_command.html#a7b1d814d3711c259fb8975387de356a2',1,'DeleteMediaCommand::doUndo()'],['../class_add_clip_command.html#a9747a6af7db058d2422e11ef0948cbb2',1,'AddClipCommand::doUndo()'],['../class_link_command.html#a3909b59baeb9c5ea50ef5bb4dab04d1c',1,'LinkCommand::doUndo()'],['../class_checkbox_command.html#a1675dc2b03b316eeba9cbe1d68b016e2',1,'CheckboxCommand::doUndo()'],['../class_replace_media_command.html#ae8a3e7770c0a8f6d812000baae28e16c',1,'ReplaceMediaCommand::doUndo()'],['../class_replace_clip_media_command.html#a86d8bf281e78102b2f1846616e8f2c20',1,'ReplaceClipMediaCommand::doUndo()'],['../class_effect_delete_command.html#ab4e1997c20dc03609e0707304801daf3',1,'EffectDeleteCommand::doUndo()'],['../class_media_move.html#a2d3650b86905f0c3fb2447c2f880590d',1,'MediaMove::doUndo()'],['../class_media_rename.html#a70e29fac617da57ae18191c5ade7c5a1',1,'MediaRename::doUndo()'],['../class_keyframe_delete.html#a1ba3eb4728b3e13c32654100b2b7b203',1,'KeyframeDelete::doUndo()'],['../class_keyframe_field_set.html#a9f42f321e5d9c395c427f84339046399',1,'KeyframeFieldSet::doUndo()'],['../class_effect_field_undo.html#a99d714e5f1ff666fe995b2718cc74c5c',1,'EffectFieldUndo::doUndo()'],['../class_set_autoscale_action.html#a3bc518f7f1bde82886340a90a7575118',1,'SetAutoscaleAction::doUndo()'],['../class_add_marker_action.html#a90619cb581cf6bea328aa5ae201843f1',1,'AddMarkerAction::doUndo()'],['../class_move_marker_action.html#a8feb946fe79c22dda57d2273869d7d6a',1,'MoveMarkerAction::doUndo()'],['../class_delete_marker_action.html#a94db847784d2bd95cb0e297a990940c8',1,'DeleteMarkerAction::doUndo()'],['../class_set_speed_action.html#aae6825fdd88d85074c6c949d6cdbff2c',1,'SetSpeedAction::doUndo()'],['../class_set_bool.html#a7b104206072c104a70bf8699b53bc431',1,'SetBool::doUndo()'],['../class_set_selections_command.html#adadd22cbd22cf0bd2879334acb184064',1,'SetSelectionsCommand::doUndo()'],['../class_edit_sequence_command.html#af493392823252757811bab229f426b5d',1,'EditSequenceCommand::doUndo()'],['../class_set_int.html#a3e1fd279670f0d7d87e99c12d9825c15',1,'SetInt::doUndo()'],['../class_set_long.html#ae38cc259acd8f9cb52dce7b8d2c7e6e9',1,'SetLong::doUndo()'],['../class_set_double.html#ace1d44fe25c3ca76a1b4ad835bd3a4b8',1,'SetDouble::doUndo()'],['../class_set_string.html#a18ebef2f46c15a8d0f19cade5fefdb34',1,'SetString::doUndo()'],['../class_close_all_clips_command.html#a8bba7d56c0ead660db139e569d87ca92',1,'CloseAllClipsCommand::doUndo()'],['../class_update_footage_tooltip.html#a02d8970d2159b240a7d1006c70d7a41d',1,'UpdateFootageTooltip::doUndo()'],['../class_move_effect_command.html#a9bf86d7251a403973f284c7caff6869e',1,'MoveEffectCommand::doUndo()'],['../class_remove_clips_from_clipboard.html#ae2c6b6072997479e9f4338a6a944ee2f',1,'RemoveClipsFromClipboard::doUndo()'],['../class_rename_clip_command.html#a5d59bbce30d0829e4e96f8001c8e16a7',1,'RenameClipCommand::doUndo()'],['../class_set_pointer.html#aa11b2a64c1624ef42a0928063b240e6d',1,'SetPointer::doUndo()'],['../class_reload_effects_command.html#a6f8e0b885329c65382a5099665562fdc',1,'ReloadEffectsCommand::doUndo()'],['../class_set_q_variant.html#ab9ba7ac71bf413968b4f506a069683d6',1,'SetQVariant::doUndo()'],['../class_set_keyframing.html#adb1977c61b4cf46066b69b8085809cf2',1,'SetKeyframing::doUndo()'],['../class_refresh_clips.html#a5f48110b7395a79f86fdcae664f3fe5b',1,'RefreshClips::doUndo()'],['../class_update_viewer.html#a7f1aa60ba284092dadeb3dc1fa7323e8',1,'UpdateViewer::doUndo()'],['../class_set_effect_data.html#a210b9a58165d9847cdb8630cf1917771',1,'SetEffectData::doUndo()']]], - ['dragenterevent',['dragEnterEvent',['../class_source_icon_view.html#a87ca535295d717b0dd26b1f393e2714e',1,'SourceIconView::dragEnterEvent()'],['../class_source_table.html#a162bb42007abad1e99cc7352fe588041',1,'SourceTable::dragEnterEvent()'],['../class_timeline_widget.html#a088626041d50e198e20378cf5c48fa42',1,'TimelineWidget::dragEnterEvent()']]], - ['dragleaveevent',['dragLeaveEvent',['../class_timeline_widget.html#a9b61a2ea65038c66f16ce6bd184957b4',1,'TimelineWidget']]], - ['dragmoveevent',['dragMoveEvent',['../class_source_icon_view.html#af0d2178120910ab9a7c4ac171f441633',1,'SourceIconView::dragMoveEvent()'],['../class_source_table.html#a07896006f442fb7a933b607165b1ba3f',1,'SourceTable::dragMoveEvent()'],['../class_timeline_widget.html#a2664b662686a919cae0fedfe6e433c49',1,'TimelineWidget::dragMoveEvent()']]], - ['dragscrollmove',['dragScrollMove',['../class_viewer_container.html#af6a808d1d20f2ca49b25b61ccf2ff68c',1,'ViewerContainer']]], - ['dragscrollpress',['dragScrollPress',['../class_viewer_container.html#adb5ac53d9237834c3b3032b8a3577d86',1,'ViewerContainer']]], - ['draw_5fclip',['draw_clip',['../renderfunctions_8cpp.html#a495f836a67186f3fc2b711f628f41782',1,'draw_clip(QOpenGLContext *ctx, GLuint fbo, GLuint texture, bool clear): renderfunctions.cpp'],['../renderfunctions_8cpp.html#a5bfc45789bdcb0282ad9c680f16dcc35',1,'draw_clip(QOpenGLFramebufferObject *fbo, GLuint texture, bool clear): renderfunctions.cpp']]], - ['draw_5fgizmos',['draw_gizmos',['../class_viewer_widget.html#a68f54e38a9498da4aed79ca6688ea316',1,'ViewerWidget']]], - ['draw_5fkeyframe',['draw_keyframe',['../keyframedrawing_8cpp.html#a624afc0101c99fbc652a15a2ffac9732',1,'draw_keyframe(QPainter &p, int type, int x, int y, bool darker, int r, int g, int b): keyframedrawing.cpp'],['../keyframedrawing_8h.html#a6c1a62cb202b3a9b4e8e4662b8a80865',1,'draw_keyframe(QPainter &p, int type, int x, int y, bool darker, int r=KEYFRAME_COLOR, int g=KEYFRAME_COLOR, int b=KEYFRAME_COLOR): keyframedrawing.cpp']]], - ['draw_5fline_5ftext',['draw_line_text',['../class_graph_view.html#a39db8c81e5d5c8b5162938f832a01aa4',1,'GraphView']]], - ['draw_5flines',['draw_lines',['../class_graph_view.html#a9522ebba6400d04cf29d3d35fd05e86c',1,'GraphView']]], - ['draw_5fmarker',['draw_marker',['../marker_8cpp.html#ab33db52dda838ce2fc85f0ea000b103c',1,'draw_marker(QPainter &p, int x, int y, int bottom, bool selected): marker.cpp'],['../marker_8h.html#ab33db52dda838ce2fc85f0ea000b103c',1,'draw_marker(QPainter &p, int x, int y, int bottom, bool selected): marker.cpp']]], - ['draw_5fselection_5frectangle',['draw_selection_rectangle',['../rectangleselect_8cpp.html#ab16c963f326bca84d29c60d3eca80dfe',1,'draw_selection_rectangle(QPainter &painter, const QRect &rect): rectangleselect.cpp'],['../rectangleselect_8h.html#ab16c963f326bca84d29c60d3eca80dfe',1,'draw_selection_rectangle(QPainter &painter, const QRect &rect): rectangleselect.cpp']]], - ['draw_5ftitle_5fsafe_5farea',['draw_title_safe_area',['../class_viewer_widget.html#a5a1e8b4be1a940519960a330fea7b50d',1,'ViewerWidget']]], - ['draw_5ftransition',['draw_transition',['../timelinewidget_8cpp.html#a6e71939ed6c3f830b0df28573c69569a',1,'timelinewidget.cpp']]], - ['draw_5fwaveform',['draw_waveform',['../timelinewidget_8cpp.html#a8347cbf11ff9e9d31dba05362e2a1225',1,'draw_waveform(ClipPtr clip, const FootageStream *ms, long media_length, QPainter *p, const QRect &clip_rect, int waveform_start, int waveform_limit, double zoom): timelinewidget.cpp'],['../timelinewidget_8h.html#a8347cbf11ff9e9d31dba05362e2a1225',1,'draw_waveform(ClipPtr clip, const FootageStream *ms, long media_length, QPainter *p, const QRect &clip_rect, int waveform_start, int waveform_limit, double zoom): timelinewidget.cpp']]], - ['draw_5fwaveform_5ffunc',['draw_waveform_func',['../class_viewer_widget.html#a3b476e96e498df4dfb47c417c9f84a8c',1,'ViewerWidget']]], - ['drawrect',['drawRect',['../class_q_painter_wrapper.html#ac23b442811de6d4952bc5c205c0878b9',1,'QPainterWrapper']]], - ['dropevent',['dropEvent',['../class_sources_common.html#a7a83e82f48cbe079f2794f5eccb1f239',1,'SourcesCommon::dropEvent()'],['../class_source_icon_view.html#a796f63305e73011b8f29e4887054c692',1,'SourceIconView::dropEvent()'],['../class_source_table.html#a1df2b8190bb5cd2725fa82c51e6b73c5',1,'SourceTable::dropEvent()'],['../class_timeline_widget.html#af388e8b70e46d7efe63ee227470442d1',1,'TimelineWidget::dropEvent()']]], - ['duplicate',['duplicate',['../class_focus_filter.html#a603997516bd2e5954e8cb49fa87c8bad',1,'FocusFilter']]], - ['duplicate_5fselected',['duplicate_selected',['../class_project.html#a54e95d99e76aa0d573b4ce817ffdf36c',1,'Project']]], - ['duration_5fupdate',['duration_update',['../class_speed_dialog.html#ab5cda7c11a4c8e2a79e90ac1c91f9673',1,'SpeedDialog']]] -]; diff --git a/docs/html/search/functions_4.html b/docs/html/search/functions_4.html deleted file mode 100644 index e713f2867..000000000 --- a/docs/html/search/functions_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_4.js b/docs/html/search/functions_4.js deleted file mode 100644 index eb3bd2a65..000000000 --- a/docs/html/search/functions_4.js +++ /dev/null @@ -1,33 +0,0 @@ -var searchData= -[ - ['edit_5fto_5fin_5fpoint',['edit_to_in_point',['../class_timeline.html#a29bfab6b1643de9cbfa61508f086eabb',1,'Timeline']]], - ['edit_5fto_5fout_5fpoint',['edit_to_out_point',['../class_timeline.html#acde9d38b634aeeaa82197aa72ae66d0c',1,'Timeline']]], - ['edit_5fto_5fpoint_5finternal',['edit_to_point_internal',['../class_timeline.html#a0c55cec8b0ece590e8b10acb35a264b4',1,'Timeline']]], - ['editmenu_5fabout_5fto_5fbe_5fshown',['editMenu_About_To_Be_Shown',['../class_main_window.html#a5f23bbfaed3c23ea97640411e09cafc5',1,'MainWindow']]], - ['editsequencecommand',['EditSequenceCommand',['../class_edit_sequence_command.html#a42d1c2923b334f51f322518d7dcb1588',1,'EditSequenceCommand']]], - ['effect',['Effect',['../class_effect.html#a1a931bb09832db8a5ad3e70ac60ba3a6',1,'Effect']]], - ['effectcontrols',['EffectControls',['../class_effect_controls.html#aaf60c913a66c5e71fd9044f57558c474',1,'EffectControls']]], - ['effectdeletecommand',['EffectDeleteCommand',['../class_effect_delete_command.html#a27aa8f40eaa151cfc2a261032bcbca29',1,'EffectDeleteCommand']]], - ['effectfield',['EffectField',['../class_effect_field.html#a41aace86c6d91dee0259bf354f935a7a',1,'EffectField']]], - ['effectfieldundo',['EffectFieldUndo',['../class_effect_field_undo.html#a5b94f6e488059dafcbce8aee72437e26',1,'EffectFieldUndo']]], - ['effectgizmo',['EffectGizmo',['../class_effect_gizmo.html#a13681af3a5da8ab21071652b75a439a2',1,'EffectGizmo']]], - ['effectinit',['EffectInit',['../class_effect_init.html#a16bb4f42d2e05b903cf27dde9e5272b9',1,'EffectInit']]], - ['effectkeyframe',['EffectKeyframe',['../class_effect_keyframe.html#ab6aade9346d9d75eca4646d6fc093e33',1,'EffectKeyframe']]], - ['effectrow',['EffectRow',['../class_effect_row.html#a3c43fd1e6f0a0305f10a8e2be7797187',1,'EffectRow']]], - ['effects_5farea_5fcontext_5fmenu',['effects_area_context_menu',['../class_effect_controls.html#a29d4d623cdedf7bd7511c9e7adf4046c',1,'EffectControls']]], - ['effectsarea',['EffectsArea',['../class_effects_area.html#a0f633ce96299f5ec6bd9f397d7277d9b',1,'EffectsArea']]], - ['embeddedfilechooser',['EmbeddedFileChooser',['../class_embedded_file_chooser.html#a6290d98b23704c193886cce0647e7236',1,'EmbeddedFileChooser']]], - ['enable_5fkeyframe_5ftoggle',['enable_keyframe_toggle',['../class_keyframe_navigator.html#a9cecbce261f6b31235ed36eeb76733f2',1,'KeyframeNavigator']]], - ['enable_5fkeyframes',['enable_keyframes',['../class_keyframe_navigator.html#a04e4aa76e4ac3eca896e8e56d6ca3f43',1,'KeyframeNavigator']]], - ['encode',['encode',['../class_export_thread.html#a496c2bc95b6bde125fac2871e6bcf52a',1,'ExportThread']]], - ['endeffect',['endEffect',['../class_effect.html#adbc1b82884bfd340ab89c96bd32cf772',1,'Effect']]], - ['error',['error',['../class_load_thread.html#a0e034bda8651fdf75cc27c9c3dcea983',1,'LoadThread']]], - ['error_5ffunc',['error_func',['../class_load_thread.html#a9e3594e638c50f41cfaa1ae7294668ea',1,'LoadThread']]], - ['event',['event',['../class_panel.html#a4b8a5a275be1cb26e0ef8668cef662f6',1,'Panel']]], - ['expandingdirections',['expandingDirections',['../class_flow_layout.html#a8eb4762f57ec8bea9eca6f9a535b1d50',1,'FlowLayout']]], - ['exponentialfadetransition',['ExponentialFadeTransition',['../class_exponential_fade_transition.html#a9ac527cd943579ad97d08a1f5baf9615',1,'ExponentialFadeTransition']]], - ['export_5faction',['export_action',['../class_export_dialog.html#a3719e5c65ea37bb8f0f938317d0c02f0',1,'ExportDialog']]], - ['export_5fshortcut',['export_shortcut',['../class_key_sequence_editor.html#a59462a1cb3685c22e86092df5b2a5038',1,'KeySequenceEditor']]], - ['exportdialog',['ExportDialog',['../class_export_dialog.html#a046c5a42b1abdb3a6d620abf36d8a89d',1,'ExportDialog']]], - ['exportthread',['ExportThread',['../class_export_thread.html#af36493de2ed1b63f5a1e58920250c6eb',1,'ExportThread']]] -]; diff --git a/docs/html/search/functions_5.html b/docs/html/search/functions_5.html deleted file mode 100644 index cfe6b17d9..000000000 --- a/docs/html/search/functions_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_5.js b/docs/html/search/functions_5.js deleted file mode 100644 index aeba1782b..000000000 --- a/docs/html/search/functions_5.js +++ /dev/null @@ -1,36 +0,0 @@ -var searchData= -[ - ['field',['field',['../class_effect_row.html#a987566eff6059a62cb646a41a76bde3e',1,'EffectRow']]], - ['field_5fchanged',['field_changed',['../class_effect.html#a7216ae29b0278b5a8f4d94a6fd104cd4',1,'Effect']]], - ['fieldcount',['fieldCount',['../class_effect_row.html#a5cb4956cc0cad7a97a3b1dc84029b70c',1,'EffectRow']]], - ['filemenu_5fabout_5fto_5fbe_5fshown',['fileMenu_About_To_Be_Shown',['../class_main_window.html#a20044854458738b479d85d5291257105',1,'MainWindow']]], - ['fill',['fill',['../class_q_painter_wrapper.html#acce5c894d622258a6763faefda7c8565',1,'QPainterWrapper']]], - ['fillleftrighteffect',['FillLeftRightEffect',['../class_fill_left_right_effect.html#a32c5c8864b3b849b5ce9281165c0b78f',1,'FillLeftRightEffect']]], - ['fillrect',['fillRect',['../class_q_painter_wrapper.html#af952711de8b5de7b3cc40eb92756884c',1,'QPainterWrapper']]], - ['filteracceptsrow',['filterAcceptsRow',['../class_project_filter.html#afcce6f7be6b66266d6dc8fdb9149bfba',1,'ProjectFilter']]], - ['finalize_5fmedia',['finalize_media',['../class_preview_generator.html#a2cdf06b14b8042a84ca49a3b94bef0eb',1,'PreviewGenerator']]], - ['find_5floaded_5ffolder_5fby_5fid',['find_loaded_folder_by_id',['../class_load_thread.html#a1cc9c4f5aea7845a0f35e0b5f995d975',1,'LoadThread']]], - ['finished_5ffirst_5fpaint',['finished_first_paint',['../class_main_window.html#ad87af70df9998f4a30b5c5bba7eace41',1,'MainWindow']]], - ['finished_5finitialize',['finished_initialize',['../class_olive_global.html#a60dbd750a5eedea296cbe40bc8d4051e',1,'OliveGlobal']]], - ['flags',['flags',['../class_project_model.html#a120092321216d687fd67e7db34c29df7',1,'ProjectModel']]], - ['float_5flerp',['float_lerp',['../math_8cpp.html#a4bcd65d2c793e0b16e8b27952720651c',1,'float_lerp(float a, float b, float t): math.cpp'],['../math_8h.html#a4bcd65d2c793e0b16e8b27952720651c',1,'float_lerp(float a, float b, float t): math.cpp']]], - ['flowlayout',['FlowLayout',['../class_flow_layout.html#afd3623cad3b02592123eb8a4dd01546f',1,'FlowLayout::FlowLayout(QWidget *parent, int margin=-1, int hSpacing=-1, int vSpacing=-1)'],['../class_flow_layout.html#a76357c75560d6bcbee7a4782c852ca07',1,'FlowLayout::FlowLayout(int margin=-1, int hSpacing=-1, int vSpacing=-1)']]], - ['focus_5frow',['focus_row',['../class_effect_row.html#a8d872386b39f3b82bbb13804a326e505',1,'EffectRow']]], - ['focused',['focused',['../class_timeline.html#a705a012f3e56baa610c58732e08de8c4',1,'Timeline']]], - ['focusfilter',['FocusFilter',['../class_focus_filter.html#ac1b7def442c41825dd1fc31f5cbf9fe9',1,'FocusFilter']]], - ['focusoutevent',['focusOutEvent',['../class_timeline_header.html#a65cce6aace5ce00cb1df522506b08be9',1,'TimelineHeader']]], - ['fontcombobox',['FontCombobox',['../class_font_combobox.html#a5292b60c91527aa06dd3a2eeba051fcb',1,'FontCombobox']]], - ['footage',['Footage',['../struct_footage.html#a520a98b1c5cb32fc6e811336d991af70',1,'Footage']]], - ['format_5fchanged',['format_changed',['../class_export_dialog.html#a5276d8742d428499208f48aa961e4076',1,'ExportDialog']]], - ['frame_5frate_5fis_5fdroppable',['frame_rate_is_droppable',['../viewer_8cpp.html#a79c403187a24637540c4454a3a9ad627',1,'frame_rate_is_droppable(double rate): viewer.cpp'],['../viewer_8h.html#a79c403187a24637540c4454a3a9ad627',1,'frame_rate_is_droppable(double rate): viewer.cpp']]], - ['frame_5frate_5fupdate',['frame_rate_update',['../class_speed_dialog.html#a8e413b491f57bc7f94cc09d7450b8c2b',1,'SpeedDialog']]], - ['frame_5fto_5ftimecode',['frame_to_timecode',['../viewer_8cpp.html#a108a12b8385df3c49197f09e8cb3ba84',1,'frame_to_timecode(long f, int view, double frame_rate): viewer.cpp'],['../viewer_8h.html#a108a12b8385df3c49197f09e8cb3ba84',1,'frame_to_timecode(long f, int view, double frame_rate): viewer.cpp']]], - ['frame_5fupdate',['frame_update',['../class_viewer_widget.html#aadfeb43e0a62a3fb13f4d0bd623cb4fc',1,'ViewerWidget']]], - ['frametotimecode',['frameToTimecode',['../class_effect_field.html#af18452c8f203196312c4fd53b0e5ef8e',1,'EffectField']]], - ['free_5fpanels',['free_panels',['../panels_8cpp.html#a2c3668623e03ff7ba17306dd49b0d0ad',1,'free_panels(): panels.cpp'],['../panels_8h.html#a2c3668623e03ff7ba17306dd49b0d0ad',1,'free_panels(): panels.cpp']]], - ['freeplugin',['freePlugin',['../class_v_s_t_host.html#ab24cbef7a8dbc489f914a3b223526aa8',1,'VSTHost']]], - ['frei0reffect',['Frei0rEffect',['../class_frei0r_effect.html#a4ca9645c5e05a64dac1760eff81f5a59',1,'Frei0rEffect']]], - ['full_5fblit',['full_blit',['../renderfunctions_8cpp.html#a3af939cdd15e751053ee44d6b8ee3fa1',1,'renderfunctions.cpp']]], - ['fullscreen_5fmenu_5faction',['fullscreen_menu_action',['../class_viewer_widget.html#a6f7ab0b02f1483fac619ee7bf9f74cff',1,'ViewerWidget']]], - ['fullscreen_5fmsg_5ftimeout',['fullscreen_msg_timeout',['../class_viewer_window.html#ae445eb7db67cd4475bc6e47dcc570dcb',1,'ViewerWindow']]] -]; diff --git a/docs/html/search/functions_6.html b/docs/html/search/functions_6.html deleted file mode 100644 index a78ec13f1..000000000 --- a/docs/html/search/functions_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_6.js b/docs/html/search/functions_6.js deleted file mode 100644 index 44be08340..000000000 --- a/docs/html/search/functions_6.js +++ /dev/null @@ -1,126 +0,0 @@ -var searchData= -[ - ['generate_5fwaveform',['generate_waveform',['../class_preview_generator.html#ad54935df72a0b312f61620a2cdc22ff7',1,'PreviewGenerator']]], - ['get_5fall_5fmedia_5ffrom_5ftable',['get_all_media_from_table',['../class_project.html#ab15da5c57b3aa85ea975bc50a06b3705',1,'Project']]], - ['get_5fapp_5fdir',['get_app_dir',['../path_8cpp.html#a6f4590e7c7de6ff44f749eb0751c232a',1,'path.cpp']]], - ['get_5fapp_5fpath',['get_app_path',['../path_8cpp.html#ab5baea26d92fa2df23b924fc13bb5fc6',1,'get_app_path(): path.cpp'],['../path_8h.html#ab5baea26d92fa2df23b924fc13bb5fc6',1,'get_app_path(): path.cpp']]], - ['get_5faudio_5fdevice',['get_audio_device',['../audio_8cpp.html#a9dd69a4e1e6b8ac05c3586b56afcae01',1,'audio.cpp']]], - ['get_5fbool_5fvalue',['get_bool_value',['../class_effect_field.html#a63cc40204e14437ed58365aa21bd7ede',1,'EffectField']]], - ['get_5fbuffer_5foffset_5ffrom_5fframe',['get_buffer_offset_from_frame',['../audio_8cpp.html#a3de327e26508d5f01fbea1886f748388',1,'get_buffer_offset_from_frame(double framerate, long frame): audio.cpp'],['../audio_8h.html#a3de327e26508d5f01fbea1886f748388',1,'get_buffer_offset_from_frame(double framerate, long frame): audio.cpp']]], - ['get_5fchannel_5flayout_5fname',['get_channel_layout_name',['../project_8h.html#a6881016163d4cdf5d47e3338a200fd98',1,'get_channel_layout_name(int channels, uint64_t layout): media.cpp'],['../media_8cpp.html#a6881016163d4cdf5d47e3338a200fd98',1,'get_channel_layout_name(int channels, uint64_t layout): media.cpp']]], - ['get_5fclip_5fframe',['get_clip_frame',['../playback_8cpp.html#a7eed9c8d9ad7088f9649113a5795baa3',1,'get_clip_frame(ClipPtr c, long playhead, bool &texture_failed): playback.cpp'],['../playback_8h.html#a7eed9c8d9ad7088f9649113a5795baa3',1,'get_clip_frame(ClipPtr c, long playhead, bool &texture_failed): playback.cpp']]], - ['get_5fclip_5fin_5fwith_5ftransition',['get_clip_in_with_transition',['../class_clip.html#af29ee3c4fc28e522d33d301b3a951e67',1,'Clip']]], - ['get_5fclosed_5fclip',['get_closed_clip',['../class_transition.html#a6d468bb01335a9b766afa7d40ba72c4c',1,'Transition']]], - ['get_5fcolor',['get_color',['../class_color_button.html#ab581ca4cf7c426c556de3ceda9569b83',1,'ColorButton']]], - ['get_5fcolor_5ffrom_5fstring',['get_color_from_string',['../qpainterwrapper_8cpp.html#a804ba3e7b16914dc75e6dd2db2b5beb0',1,'qpainterwrapper.cpp']]], - ['get_5fcolor_5fvalue',['get_color_value',['../class_effect_field.html#abfb2abcd17f1cb2dcba52532ff7c9e65',1,'EffectField']]], - ['get_5fcombo_5fdata',['get_combo_data',['../class_effect_field.html#ada890a6c7fb3ef87517f6b85430226a5',1,'EffectField']]], - ['get_5fcombo_5findex',['get_combo_index',['../class_effect_field.html#a1e3f1fcd09f062f9756efcbd120bf628',1,'EffectField']]], - ['get_5fcombo_5fstring',['get_combo_string',['../class_effect_field.html#a0cd599e0b49150d901a54c61af7e0c09',1,'EffectField']]], - ['get_5fconfig_5fdir',['get_config_dir',['../path_8cpp.html#aaac98af2cafc9a566521c189fd2b7501',1,'get_config_dir(): path.cpp'],['../path_8h.html#aaac98af2cafc9a566521c189fd2b7501',1,'get_config_dir(): path.cpp']]], - ['get_5fconfig_5fpath',['get_config_path',['../path_8cpp.html#ac02d9b7ac4b8cee55cad06abf61d1710',1,'get_config_path(): path.cpp'],['../path_8h.html#ac02d9b7ac4b8cee55cad06abf61d1710',1,'get_config_path(): path.cpp']]], - ['get_5fcurrent_5fdata',['get_current_data',['../class_effect_field.html#aae8e98739b19504c5213ad8030246156',1,'EffectField']]], - ['get_5fcurrent_5fselected',['get_current_selected',['../class_project.html#a2fabccab17335ff31523395d36d25c38',1,'Project']]], - ['get_5fcursor',['get_cursor',['../class_effect_gizmo.html#a19b6e913eadcdac972da70b9fc56452f',1,'EffectGizmo']]], - ['get_5fcurve_5fcolor',['get_curve_color',['../graphview_8cpp.html#a312711e4e58151b9c6b2bccc02eda924',1,'get_curve_color(int index, int length): graphview.cpp'],['../graphview_8h.html#a312711e4e58151b9c6b2bccc02eda924',1,'get_curve_color(int index, int length): graphview.cpp']]], - ['get_5fdata_5fdir',['get_data_dir',['../path_8cpp.html#af83d17902ede2046d74ca018b0b2dd6a',1,'get_data_dir(): path.cpp'],['../path_8h.html#af83d17902ede2046d74ca018b0b2dd6a',1,'get_data_dir(): path.cpp']]], - ['get_5fdata_5fpath',['get_data_path',['../path_8cpp.html#a0499470ec108994a557f44b431a42251',1,'get_data_path(): path.cpp'],['../path_8h.html#a0499470ec108994a557f44b431a42251',1,'get_data_path(): path.cpp']]], - ['get_5fdebug_5fstr',['get_debug_str',['../debug_8cpp.html#a8da767c7eadbda2586f2b412ed2bc2db',1,'get_debug_str(): debug.cpp'],['../debug_8h.html#a8da767c7eadbda2586f2b412ed2bc2db',1,'get_debug_str(): debug.cpp']]], - ['get_5fdouble_5fvalue',['get_double_value',['../class_effect_field.html#a28edee6787aa6c250201988a91864747',1,'EffectField']]], - ['get_5feffects_5fpaths',['get_effects_paths',['../path_8cpp.html#afa639d7fca6aed16d1ce80e830434523',1,'get_effects_paths(): path.cpp'],['../path_8h.html#afa639d7fca6aed16d1ce80e830434523',1,'get_effects_paths(): path.cpp']]], - ['get_5ffile_5fhash',['get_file_hash',['../path_8cpp.html#a75b881bf1cbe77c1772052d5400f8701',1,'get_file_hash(const QString &filename): path.cpp'],['../path_8h.html#a75b881bf1cbe77c1772052d5400f8701',1,'get_file_hash(const QString &filename): path.cpp']]], - ['get_5ffile_5fname_5ffrom_5fpath',['get_file_name_from_path',['../class_project.html#ac173db1091b73c2a9e660899c9740340',1,'Project']]], - ['get_5ffilename',['get_filename',['../class_effect_field.html#a5435359d484901475607ccc298cd39ee',1,'EffectField']]], - ['get_5ffocused_5fpanel',['get_focused_panel',['../panels_8cpp.html#a213aed28429fafcaec5a44412469a014',1,'get_focused_panel(bool force_hover): panels.cpp'],['../panels_8h.html#ae17839b439c1c6254d68e261a0fe750c',1,'get_focused_panel(bool force_hover=false): panels.cpp']]], - ['get_5ffont_5fname',['get_font_name',['../class_effect_field.html#ad77d1775ca05c8e921680ca4b2a908c1',1,'EffectField']]], - ['get_5fframe_5frate',['get_frame_rate',['../class_media.html#acfd41e2f909e78939674bec991b7d5ed',1,'Media']]], - ['get_5fgizmo_5ffrom_5fmouse',['get_gizmo_from_mouse',['../class_viewer_widget.html#abfdbc61e5e2628ecddbd58d90007c724',1,'ViewerWidget']]], - ['get_5findex_5fin_5fclip',['get_index_in_clip',['../class_effect.html#ada025a08836e332464aaadaf68b26bf3',1,'Effect']]], - ['get_5finterlacing_5fname',['get_interlacing_name',['../project_8h.html#ad62be5dea48642a87dfcf879895bb04d',1,'get_interlacing_name(int interlacing): media.cpp'],['../media_8cpp.html#ad62be5dea48642a87dfcf879895bb04d',1,'get_interlacing_name(int interlacing): media.cpp']]], - ['get_5finternal_5fmeta',['get_internal_meta',['../effect_8cpp.html#ae2f2d05d181ce69b2cd2d0dc40eb9e6f',1,'get_internal_meta(int internal_id, int type): effect.cpp'],['../effect_8h.html#ae2f2d05d181ce69b2cd2d0dc40eb9e6f',1,'get_internal_meta(int internal_id, int type): effect.cpp']]], - ['get_5fkeyframe_5fdata',['get_keyframe_data',['../class_effect_field.html#a382e615d11e9631365eff8d4189181b0',1,'EffectField']]], - ['get_5flanguage_5fpaths',['get_language_paths',['../path_8cpp.html#a3a0b65e0763c076baabc9ee12627d0dd',1,'get_language_paths(): path.cpp'],['../path_8h.html#a3a0b65e0763c076baabc9ee12627d0dd',1,'get_language_paths(): path.cpp']]], - ['get_5flength',['get_length',['../class_transition.html#abcb42b83eec8ca51b4944106612bf09c',1,'Transition']]], - ['get_5flength_5fin_5fframes',['get_length_in_frames',['../struct_footage.html#a3fe33cf6fca855c950cdeb6620d63a52',1,'Footage']]], - ['get_5fmarker_5foffset',['get_marker_offset',['../class_timeline_header.html#a2d8979f91315292afe3c12851d5c3400',1,'TimelineHeader']]], - ['get_5fmarkers',['get_markers',['../class_clip.html#a79e6987c7ef0e05c76b3eae58b8dbcba',1,'Clip::get_markers()'],['../class_media.html#aab3d0f4080ad710f5a8c5306b3b23e14',1,'Media::get_markers()']]], - ['get_5fmeta_5ffrom_5fname',['get_meta_from_name',['../effect_8cpp.html#a8d7afaab969da78652b9bc0f5ee82e37',1,'get_meta_from_name(const QString &input): effect.cpp'],['../effect_8h.html#a8d7afaab969da78652b9bc0f5ee82e37',1,'get_meta_from_name(const QString &input): effect.cpp']]], - ['get_5fmode',['get_mode',['../class_effect_controls.html#a8d0b4235ddb58fabcabd659b203866cd',1,'EffectControls']]], - ['get_5fname',['get_name',['../class_effect_row.html#a963e91f05a5d4b6e760034a0119e3fff',1,'EffectRow::get_name()'],['../class_media.html#ac847409dd0145ad7a96f3040baed68f7',1,'Media::get_name()']]], - ['get_5fnext_5faudio',['get_next_audio',['../playback_8h.html#a821ee74f52d62a86f5ac5df0cd138979',1,'playback.h']]], - ['get_5fnext_5fsequence_5fname',['get_next_sequence_name',['../class_project.html#a830d17c24625257c6e91626aecc475fd',1,'Project']]], - ['get_5fopened_5fclip',['get_opened_clip',['../class_transition.html#a815192c2f724071b6dbab0e2200df841',1,'Transition']]], - ['get_5fplayback_5fspeed',['get_playback_speed',['../class_viewer.html#a2d9e640db35a369c847e2d1b3723a7d5',1,'Viewer']]], - ['get_5fpoint_5fcount',['get_point_count',['../class_effect_gizmo.html#a7af52e9307160d8691e49e643b94ea85',1,'EffectGizmo']]], - ['get_5fprevious_5fdata',['get_previous_data',['../class_effect_field.html#a3d297cfd9285d75308a052cc0b074bbd',1,'EffectField']]], - ['get_5fproject_5ffile_5ffilter',['get_project_file_filter',['../class_olive_global.html#ac57ead290b6cf9895aa11a1200d7c397',1,'OliveGlobal']]], - ['get_5fproxy_5fprogress',['get_proxy_progress',['../class_proxy_generator.html#aabfc1141be138bd822cc836c9dd92359',1,'ProxyGenerator']]], - ['get_5frecent_5fproject_5flist_5ffile',['get_recent_project_list_file',['../class_olive_global.html#acf4fdfadaf62290f28de49c12d58cb5b',1,'OliveGlobal']]], - ['get_5frecorded_5faudio_5ffilename',['get_recorded_audio_filename',['../audio_8cpp.html#a0699452c1897d5dffa3103f4d63c6df1',1,'get_recorded_audio_filename(): audio.cpp'],['../audio_8h.html#a0699452c1897d5dffa3103f4d63c6df1',1,'get_recorded_audio_filename(): audio.cpp']]], - ['get_5frenderer',['get_renderer',['../class_viewer_widget.html#aaa7556a6e7b77a0a2e5c045ba8922486',1,'ViewerWidget']]], - ['get_5froot',['get_root',['../class_project_model.html#a8881b79046dac664857d7c544f7325d6',1,'ProjectModel']]], - ['get_5fsampling_5frate',['get_sampling_rate',['../class_media.html#a20585365170209aae00f70271353472f',1,'Media']]], - ['get_5fscreen_5fx',['get_screen_x',['../class_graph_view.html#ac3f55352a5099e603593dbb8c9a38239',1,'GraphView']]], - ['get_5fscreen_5fy',['get_screen_y',['../class_graph_view.html#a5253c8af4aec01465dc6e48622ac058f',1,'GraphView']]], - ['get_5fselected_5ffolder',['get_selected_folder',['../class_project.html#ab4a27a3ce8420e4d6c58a1c5df7d678a',1,'Project']]], - ['get_5fseq_5fin',['get_seq_in',['../class_viewer.html#a6413e6090a9cbb8fcbd46a63a2647e56',1,'Viewer']]], - ['get_5fseq_5fout',['get_seq_out',['../class_viewer.html#acb4d82381f8b8b8be472fc80104e80df',1,'Viewer']]], - ['get_5fshow_5fsequences',['get_show_sequences',['../class_project_filter.html#ada6f9789e96386855cc12dcf250be526',1,'ProjectFilter']]], - ['get_5fsnap_5frange',['get_snap_range',['../class_timeline.html#aba8c20bd49982f3f0c68ce460da38e94',1,'Timeline']]], - ['get_5fstream_5ffrom_5ffile_5findex',['get_stream_from_file_index',['../struct_footage.html#a179f4b6aaecb813dd65b9852486b3876',1,'Footage']]], - ['get_5fstring',['get_string',['../class_text_edit_dialog.html#ab311df5266dc3841070a47f45b235a35',1,'TextEditDialog']]], - ['get_5fstring_5fvalue',['get_string_value',['../class_effect_field.html#aecc5fbb60d15c184f354f32a25a005ae',1,'EffectField']]], - ['get_5fthumbnail_5fpath',['get_thumbnail_path',['../class_preview_generator.html#a15740c9bb5a01fc3811fb93cdf0a2b82',1,'PreviewGenerator']]], - ['get_5ftimecode',['get_timecode',['../playback_8cpp.html#a370be57d153d81d4217295997e51c209',1,'get_timecode(ClipPtr c, long playhead): playback.cpp'],['../playback_8h.html#a370be57d153d81d4217295997e51c209',1,'get_timecode(ClipPtr c, long playhead): playback.cpp']]], - ['get_5ftimeline_5fin_5fwith_5ftransition',['get_timeline_in_with_transition',['../class_clip.html#ad6ba13ae794189625d93e4516391c738',1,'Clip']]], - ['get_5ftimeline_5fout_5fwith_5ftransition',['get_timeline_out_with_transition',['../class_clip.html#a1abd174bb097f39bea7fcdca87392cb1',1,'Clip']]], - ['get_5ftransition_5ffrom_5fmeta',['get_transition_from_meta',['../transition_8cpp.html#a76f46c849afa1ed497c237271ddc7249',1,'get_transition_from_meta(ClipPtr c, ClipPtr s, const EffectMeta *em): transition.cpp'],['../transition_8h.html#a76f46c849afa1ed497c237271ddc7249',1,'get_transition_from_meta(ClipPtr c, ClipPtr s, const EffectMeta *em): transition.cpp']]], - ['get_5ftrue_5flength',['get_true_length',['../class_transition.html#a214e23b14abff32cc6804ace89fb872e',1,'Transition']]], - ['get_5ftype',['get_type',['../class_effect_gizmo.html#abc8cc87a9ec7f0ec2f91cad974fb8fef',1,'EffectGizmo::get_type()'],['../class_media.html#a3abbae73e360435cc0d47908ee725ed3',1,'Media::get_type()']]], - ['get_5fui_5felement',['get_ui_element',['../class_effect_field.html#a3e2df9b521cbb5df882a6573513a111d',1,'EffectField']]], - ['get_5fvalidated_5fkeyframe_5fhandle',['get_validated_keyframe_handle',['../class_effect_field.html#a06c6db5500c68a36d8bb5c5e0a4f78c3',1,'EffectField']]], - ['get_5fvalue_5fx',['get_value_x',['../class_graph_view.html#a8fb88fe0ea4a54f99943b0170669e736',1,'GraphView']]], - ['get_5fvalue_5fy',['get_value_y',['../class_graph_view.html#a335fc63e13e2b5b6f91d98319e0ed51e',1,'GraphView']]], - ['get_5fwaveform_5fpath',['get_waveform_path',['../class_preview_generator.html#a4ac64338b1f3eb93f1e7209d5912acd1',1,'PreviewGenerator']]], - ['get_5fzoom',['get_zoom',['../class_timeline_header.html#acc49e2d68ea83245edb80bc4132738a1',1,'TimelineHeader']]], - ['getclipindexfromcoords',['getClipIndexFromCoords',['../class_timeline_widget.html#abda51f028dfc0c570bdb59a1fc70ec09',1,'TimelineWidget']]], - ['getdisplayframefromscreenpoint',['getDisplayFrameFromScreenPoint',['../class_timeline.html#a0941a196b60d5ff710d41767003a3981',1,'Timeline']]], - ['getdisplayscreenpointfromframe',['getDisplayScreenPointFromFrame',['../class_timeline.html#a65a6e04ecaef74ea5fe37a5ca866b7e7',1,'Timeline']]], - ['getendframe',['getEndFrame',['../class_sequence.html#ad97acfb30503557eeebcc166181c6c40',1,'Sequence']]], - ['geterror',['getError',['../class_export_thread.html#ae213d914041647885b443e4a9c15301c',1,'ExportThread']]], - ['getfilename',['getFilename',['../class_embedded_file_chooser.html#ae684809ec1df149dfdae29e35fbb5900',1,'EmbeddedFileChooser']]], - ['getframefromscreenpoint',['getFrameFromScreenPoint',['../timeline_8cpp.html#a92724b6ced537c6071e509a0d316ebf0',1,'getFrameFromScreenPoint(double zoom, int x): timeline.cpp'],['../timeline_8h.html#a92724b6ced537c6071e509a0d316ebf0',1,'getFrameFromScreenPoint(double zoom, int x): timeline.cpp']]], - ['getheaderframefromscreenpoint',['getHeaderFrameFromScreenPoint',['../class_timeline_header.html#a3bfdc9d48fbd6696b7788911d39ad5c9',1,'TimelineHeader']]], - ['getheaderscreenpointfromframe',['getHeaderScreenPointFromFrame',['../class_timeline_header.html#a0be2c1f778e0cfc8feb25a3506596abc',1,'TimelineHeader']]], - ['getheight',['getHeight',['../class_clip.html#a56eeafa26c972752de0ede29c3fef0ca',1,'Clip']]], - ['getitem',['getItem',['../class_project_model.html#a7f8c3b251180c100549b0969ff689af8',1,'ProjectModel']]], - ['getiterations',['getIterations',['../class_effect.html#afaf5c401c556fb3662b172a073acaf44',1,'Effect']]], - ['getlength',['getLength',['../class_clip.html#a4ce6cea50cf446edfba74bc899635cfc',1,'Clip']]], - ['getmaximumlength',['getMaximumLength',['../class_clip.html#af59054d710ce8cfb6d78a7794f267819',1,'Clip']]], - ['getmediaframerate',['getMediaFrameRate',['../class_clip.html#ae5e73f97ffd4c5eb226330b5e27a92f6',1,'Clip']]], - ['getplaintextex',['getPlainTextEx',['../class_text_edit_ex.html#a6da269fb5d196a889c37bbfa66fcebb3',1,'TextEditEx']]], - ['getpreviousindex',['getPreviousIndex',['../class_combo_box_ex.html#a72bdf2ae47672aff296c8f24a94c42dc',1,'ComboBoxEx']]], - ['getpreviousvalue',['getPreviousValue',['../class_color_button.html#aff2590df08c6755caf7e6e07e9ea5293',1,'ColorButton::getPreviousValue()'],['../class_embedded_file_chooser.html#a7d811683ff35b490203f737bfe9059cb',1,'EmbeddedFileChooser::getPreviousValue()'],['../class_font_combobox.html#a8fd5a5dd69266c9a1d1d9dddc8462b30',1,'FontCombobox::getPreviousValue()'],['../class_label_slider.html#a4b807b5b784a7b7b9b9d0a7b3706a4e4',1,'LabelSlider::getPreviousValue()'],['../class_text_edit_ex.html#ae983e224eb99673871858219852b91a7',1,'TextEditEx::getPreviousValue()']]], - ['getscreenpointfromframe',['getScreenPointFromFrame',['../timeline_8cpp.html#a16298ef560200ecd5402d6502f33adde',1,'getScreenPointFromFrame(double zoom, long frame): timeline.cpp'],['../timeline_8h.html#a16298ef560200ecd5402d6502f33adde',1,'getScreenPointFromFrame(double zoom, long frame): timeline.cpp']]], - ['getscreenpointfromtrack',['getScreenPointFromTrack',['../class_timeline_widget.html#ac6e4770f75f23d9b7839bd3087f04a5b',1,'TimelineWidget']]], - ['gettimelineframefromscreenpoint',['getTimelineFrameFromScreenPoint',['../class_timeline.html#a4c3a95618e89ad83170f0a09c59e9e6b',1,'Timeline']]], - ['gettimelinescreenpointfromframe',['getTimelineScreenPointFromFrame',['../class_timeline.html#abc20960f8e5daf9ff5c9e35bbbce70db',1,'Timeline']]], - ['gettrackfromscreenpoint',['getTrackFromScreenPoint',['../class_timeline_widget.html#aeaa2127f94a691c0dfc697e9c2023ad8',1,'TimelineWidget']]], - ['gettrackheight',['GetTrackHeight',['../class_timeline.html#a3324c971f0f4a1e585f00517b7f13eb4',1,'Timeline']]], - ['gettracklimits',['getTrackLimits',['../class_sequence.html#a5d88ee3ae40a88f20b8143a834c7385c',1,'Sequence']]], - ['getwidth',['getWidth',['../class_clip.html#a67451b7c5472a706e92d62efeb7f7ddb',1,'Clip']]], - ['gizmo',['gizmo',['../class_effect.html#aedb6c82d3d0ee5981e24f3026297b248',1,'Effect']]], - ['gizmo_5fcount',['gizmo_count',['../class_effect.html#a6a63f0ddaa131f1c3bb99c5b2aac6f59',1,'Effect']]], - ['gizmo_5fdraw',['gizmo_draw',['../class_corner_pin_effect.html#a32e4f49147e84fceb58b1966da18db5f',1,'CornerPinEffect::gizmo_draw()'],['../class_transform_effect.html#a7eaf385598d136ecb27ed8f3af6b0d5f',1,'TransformEffect::gizmo_draw()'],['../class_effect.html#ab6b38acadf4bcd929576a8552e36341a',1,'Effect::gizmo_draw()']]], - ['gizmo_5fmove',['gizmo_move',['../class_effect.html#a06c599ea93d436db67f659203dc11ac2',1,'Effect']]], - ['gizmo_5fworld_5fto_5fscreen',['gizmo_world_to_screen',['../class_effect.html#a3ad209135a8f446f1ecbbfe51a4c7a5e',1,'Effect']]], - ['go_5fto_5fend',['go_to_end',['../class_viewer.html#a110edf6bb6d3b2b5355d1958820cf35e',1,'Viewer::go_to_end()'],['../class_focus_filter.html#a508677d87d24280a9ed5012bfdb81d87',1,'FocusFilter::go_to_end()']]], - ['go_5fto_5fin',['go_to_in',['../class_viewer.html#a9c29313fe9b35e35d94f35f3a8755434',1,'Viewer::go_to_in()'],['../class_focus_filter.html#a095e3fb9f4f9258ff1d576f0172653d6',1,'FocusFilter::go_to_in()']]], - ['go_5fto_5fout',['go_to_out',['../class_viewer.html#ada83d1036da966e0c11e9145c7086ac5',1,'Viewer::go_to_out()'],['../class_focus_filter.html#ad1433575afa3713fecae28ea2a00a026',1,'FocusFilter::go_to_out()']]], - ['go_5fto_5fstart',['go_to_start',['../class_viewer.html#a5cf60e85de31960a39a8ca9b955e928f',1,'Viewer::go_to_start()'],['../class_focus_filter.html#a8fb9425128c635829d6103f7478d8e51',1,'FocusFilter::go_to_start()']]], - ['go_5fup_5fdir',['go_up_dir',['../class_project.html#a68001732627bec2698cabad5db348068',1,'Project']]], - ['goto_5fnext_5fkey',['goto_next_key',['../class_effect_row.html#ab8c16a92d4c87a3528be78d876dd6c38',1,'EffectRow::goto_next_key()'],['../class_keyframe_navigator.html#a809cc20f212bb5473163e6e94d63f29b',1,'KeyframeNavigator::goto_next_key()']]], - ['goto_5fprevious_5fkey',['goto_previous_key',['../class_effect_row.html#a0170f1a13fb60175c908216caeec6294',1,'EffectRow::goto_previous_key()'],['../class_keyframe_navigator.html#aadf5cacf718daf1a0b3c51ceee5b0143',1,'KeyframeNavigator::goto_previous_key()']]], - ['grapheditor',['GraphEditor',['../class_graph_editor.html#a5b7b7727a48a3ab729fa86cd5e25f3ac',1,'GraphEditor']]], - ['graphview',['GraphView',['../class_graph_view.html#a1c0d0e1a563e35dbb0fe59d1ea5ff032',1,'GraphView']]] -]; diff --git a/docs/html/search/functions_7.html b/docs/html/search/functions_7.html deleted file mode 100644 index 7842361ff..000000000 --- a/docs/html/search/functions_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_7.js b/docs/html/search/functions_7.js deleted file mode 100644 index d1b88b545..000000000 --- a/docs/html/search/functions_7.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['handle_5fmedia',['handle_media',['../playback_8h.html#a283cff0d05fa9d9399d03d22e49c330c',1,'playback.h']]], - ['hasheightforwidth',['hasHeightForWidth',['../class_flow_layout.html#a224599955b4bc40e73b615236d9803ee',1,'FlowLayout']]], - ['haskeyframes',['hasKeyframes',['../class_effect_field.html#a1acf588dc098072f13ab9baf7f1e9b06',1,'EffectField']]], - ['header_5fclick',['header_click',['../class_collapsible_widget.html#a85a5e42da0a237e13477a326d1765c0a',1,'CollapsibleWidget']]], - ['headerdata',['headerData',['../class_project_model.html#aca17cabb0503fd4a7a86b1f9ffaa0a32',1,'ProjectModel']]], - ['heightforwidth',['heightForWidth',['../class_flow_layout.html#a119d89f83aa3f8ccb6e66ed1a125452e',1,'FlowLayout']]], - ['horizontalspacing',['horizontalSpacing',['../class_flow_layout.html#a05a9929bf2d7749c8d45afe1fc15b27e',1,'FlowLayout']]], - ['hostcallback',['hostCallback',['../vsthost_8cpp.html#a87dfcab8ca49850d9e250e7e8982a0cb',1,'vsthost.cpp']]] -]; diff --git a/docs/html/search/functions_8.html b/docs/html/search/functions_8.html deleted file mode 100644 index 48feafe56..000000000 --- a/docs/html/search/functions_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_8.js b/docs/html/search/functions_8.js deleted file mode 100644 index 0e61a3755..000000000 --- a/docs/html/search/functions_8.js +++ /dev/null @@ -1,36 +0,0 @@ -var searchData= -[ - ['iconchanged',['IconChanged',['../class_media_icon_service.html#aaf99ecf173a68397bac0b4fc2038fd3e',1,'MediaIconService']]], - ['import_5fdialog',['import_dialog',['../class_project.html#a5f39f95d96f82f1a034f0220e804d3e8',1,'Project']]], - ['increase_5fspeed',['increase_speed',['../class_viewer.html#ae6e6ca091f7c80d5e9ea3e2c01185538',1,'Viewer::increase_speed()'],['../class_focus_filter.html#ab535fc8179e1eb6221fb8951ec0b8771',1,'FocusFilter::increase_speed()']]], - ['increasetrackheight',['IncreaseTrackHeight',['../class_timeline.html#a79bd245c8e9e508dda6161b158e22d0a',1,'Timeline']]], - ['index',['index',['../class_project_model.html#a19acdb7f49a75ee29337e9fe7dea6692',1,'ProjectModel']]], - ['index_5fchanged',['index_changed',['../class_combo_box_ex.html#ad5b582a2cf96b8a27a32ec8c4b8bcdc4',1,'ComboBoxEx']]], - ['init_5faudio',['init_audio',['../audio_8cpp.html#a72aef54bbf8430ce6d860206deb2d1ce',1,'init_audio(): audio.cpp'],['../audio_8h.html#a72aef54bbf8430ce6d860206deb2d1ce',1,'init_audio(): audio.cpp']]], - ['init_5fcustom_5fcursors',['init_custom_cursors',['../cursors_8cpp.html#aaeae35c2198aeefae822e822fb121be0',1,'init_custom_cursors(): cursors.cpp'],['../cursors_8h.html#aaeae35c2198aeefae822e822fb121be0',1,'init_custom_cursors(): cursors.cpp']]], - ['init_5feffects',['init_effects',['../effectloaders_8cpp.html#a055b9dba7b7bd22cff1ef3f5760a1d76',1,'init_effects(): effectloaders.cpp'],['../effectloaders_8h.html#a055b9dba7b7bd22cff1ef3f5760a1d76',1,'init_effects(): effectloaders.cpp']]], - ['init_5fghosts',['init_ghosts',['../class_timeline_widget.html#ad5f36712d722acdfecd87070f8616b2a',1,'TimelineWidget']]], - ['initializegl',['initializeGL',['../class_viewer_widget.html#af156ccb282871735213f25c0ac1bc8a2',1,'ViewerWidget']]], - ['insert_5fclips',['insert_clips',['../timelinewidget_8cpp.html#a749e6fd7d6e2bd18b98dd2f75cfec492',1,'timelinewidget.cpp']]], - ['int32_5fto_5fchar_5farray',['int32_to_char_array',['../audio_8cpp.html#a08d7a6d9be24506e146d92ffc2f37a9d',1,'audio.cpp']]], - ['is_5faudio_5fdevice_5fset',['is_audio_device_set',['../audio_8cpp.html#a0da35c7cdb375c5f3542243177b12ccd',1,'is_audio_device_set(): audio.cpp'],['../audio_8h.html#a0da35c7cdb375c5f3542243177b12ccd',1,'is_audio_device_set(): audio.cpp']]], - ['is_5fclip_5factive',['is_clip_active',['../playback_8cpp.html#a71177ac900fef804a92813d5fb59074d',1,'is_clip_active(ClipPtr c, long playhead): playback.cpp'],['../playback_8h.html#a71177ac900fef804a92813d5fb59074d',1,'is_clip_active(ClipPtr c, long playhead): playback.cpp']]], - ['is_5fclip_5fselected',['is_clip_selected',['../timeline_8cpp.html#a902b3709c48067112511dc4be88d7a18',1,'is_clip_selected(ClipPtr clip, bool containing): timeline.cpp'],['../timeline_8h.html#a902b3709c48067112511dc4be88d7a18',1,'is_clip_selected(ClipPtr clip, bool containing): timeline.cpp']]], - ['is_5fdragging',['is_dragging',['../class_label_slider.html#ac51e4b18b54b182a6cb741093559b13e',1,'LabelSlider']]], - ['is_5felement',['is_element',['../class_load_thread.html#a74c6f17c568ad6d314b9304227ac8a71',1,'LoadThread']]], - ['is_5fenabled',['is_enabled',['../class_effect.html#a5229fedfc15287cca2e98ae538298343',1,'Effect::is_enabled()'],['../class_effect_field.html#a7657886255bc3ab1ad93d1c83d6dcbe7',1,'EffectField::is_enabled()']]], - ['is_5fexpanded',['is_expanded',['../class_collapsible_widget.html#a793f3f0fc44b7454bd3c619b718532c6',1,'CollapsibleWidget']]], - ['is_5ffocused',['is_focused',['../class_effect_controls.html#af5f2351e61f6dba448580d298ae818e5',1,'EffectControls::is_focused()'],['../class_project.html#ab4e5ac1c0b7117eba75ef152553ac85b',1,'Project::is_focused()'],['../class_viewer.html#a6ed173fb01f60faff90c53d9460dfc09',1,'Viewer::is_focused()'],['../class_collapsible_widget.html#a21a1f3f475ba63cb7edf8ed4805e9397',1,'CollapsibleWidget::is_focused()']]], - ['is_5fglsl_5flinked',['is_glsl_linked',['../class_effect.html#a02ecf4b85463b385d395cf7c4af43b26',1,'Effect']]], - ['is_5fmain_5fsequence',['is_main_sequence',['../class_viewer.html#a82be243ab98ebef0420bc53bd5307119',1,'Viewer']]], - ['is_5fopen',['is_open',['../class_effect.html#a987ccfac600abd4f1814f3b01ec15758',1,'Effect']]], - ['is_5frecording_5fcued',['is_recording_cued',['../class_viewer.html#a79cec34a6fb704ba9861cb89602ca7ee',1,'Viewer']]], - ['is_5fresizing',['is_resizing',['../class_resizable_scroll_bar.html#a50ead4a204b5f07359f4a38440d406f1',1,'ResizableScrollBar']]], - ['is_5fset',['is_set',['../class_label_slider.html#ac446ce259367ff1159935f812dd73f08',1,'LabelSlider']]], - ['is_5ftrack_5fvisible',['is_track_visible',['../class_timeline_widget.html#a717d7d58931d7f87417a3c5e1269f362',1,'TimelineWidget']]], - ['iskeyframing',['isKeyframing',['../class_effect_row.html#a6aebb45349b8306c06622bce30d864b9',1,'EffectRow']]], - ['item_5fclick',['item_click',['../class_sources_common.html#ace85d0d8857383b705f211c0b4dcbc81',1,'SourcesCommon::item_click()'],['../class_source_icon_view.html#a357cb12a6a46cfff3e2b88da5e4cf6a7',1,'SourceIconView::item_click()'],['../class_source_table.html#a0a5d912e8e12a5d611908869825dce97',1,'SourceTable::item_click()']]], - ['item_5frenamed',['item_renamed',['../class_sources_common.html#a745f1f0733cfeefbd073078e47841ddd',1,'SourcesCommon']]], - ['item_5fto_5fmedia',['item_to_media',['../class_project.html#ada20964fba08730fc1fddcc8fff82b2e',1,'Project']]], - ['itemat',['itemAt',['../class_flow_layout.html#a14c3661044dd9b97ef0c0a34d0692ce4',1,'FlowLayout']]] -]; diff --git a/docs/html/search/functions_9.html b/docs/html/search/functions_9.html deleted file mode 100644 index 0f05a8ba4..000000000 --- a/docs/html/search/functions_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_9.js b/docs/html/search/functions_9.js deleted file mode 100644 index cfdd07a88..000000000 --- a/docs/html/search/functions_9.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['kbd_5fshortcut_5fprocessor',['kbd_shortcut_processor',['../mainwindow_8cpp.html#aed016627ec8d90709938653928e8fa43',1,'mainwindow.cpp']]], - ['keyframe_5fenabled_5fchanged',['keyframe_enabled_changed',['../class_keyframe_navigator.html#a472dfe73356e902dbb318fdad35ac400',1,'KeyframeNavigator']]], - ['keyframe_5ffocus',['keyframe_focus',['../class_effect_controls.html#acaa48f97c5a24dd5fb82fed178baf073',1,'EffectControls']]], - ['keyframe_5fui_5fenabled',['keyframe_ui_enabled',['../class_keyframe_navigator.html#afeb176c4568376e451c2598dacec05c4',1,'KeyframeNavigator']]], - ['keyframedelete',['KeyframeDelete',['../class_keyframe_delete.html#a7956fc713e4679d88939e80d50719642',1,'KeyframeDelete']]], - ['keyframefieldset',['KeyframeFieldSet',['../class_keyframe_field_set.html#a9ef23fc772cad4b5d159dae28070a81d',1,'KeyframeFieldSet']]], - ['keyframeisselected',['keyframeIsSelected',['../class_keyframe_view.html#a618edbdfa239d1eb1727b56f46d3349d',1,'KeyframeView']]], - ['keyframenavigator',['KeyframeNavigator',['../class_keyframe_navigator.html#a10983417b422bc8238eaa0c7b41097d8',1,'KeyframeNavigator']]], - ['keyframeview',['KeyframeView',['../class_keyframe_view.html#a153615b0bcd09c8c0252e1527b667467',1,'KeyframeView']]], - ['keypressevent',['keyPressEvent',['../class_action_search_entry.html#a7d89d69694d5c9eb7608fdaf48d8a925',1,'ActionSearchEntry::keyPressEvent()'],['../class_viewer_window.html#a3d42ad22507a3043c2e98a5073e39ff5',1,'ViewerWindow::keyPressEvent()']]], - ['keysequenceeditor',['KeySequenceEditor',['../class_key_sequence_editor.html#a2fbcc0c5879459862087ce3966d218c0',1,'KeySequenceEditor']]] -]; diff --git a/docs/html/search/functions_a.html b/docs/html/search/functions_a.html deleted file mode 100644 index 03faad22f..000000000 --- a/docs/html/search/functions_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_a.js b/docs/html/search/functions_a.js deleted file mode 100644 index a1170e881..000000000 --- a/docs/html/search/functions_a.js +++ /dev/null @@ -1,37 +0,0 @@ -var searchData= -[ - ['labelslider',['LabelSlider',['../class_label_slider.html#a2819a4462b0cbf0a3c47a35be6f21d04',1,'LabelSlider']]], - ['leaveevent',['leaveEvent',['../class_timeline_widget.html#a43a19e04d1d7d8e45d0b21cae5bfae5f',1,'TimelineWidget']]], - ['lerp',['lerp',['../math_8cpp.html#ab4e8555208aaea8c4ebc24a218c8b49f',1,'lerp(int a, int b, double t): math.cpp'],['../math_8h.html#ab4e8555208aaea8c4ebc24a218c8b49f',1,'lerp(int a, int b, double t): math.cpp']]], - ['libfilter',['LibFilter',['../crossplatformlib_8cpp.html#abfec25acd9f7a0290a67b0d0b2c6c45d',1,'LibFilter(): crossplatformlib.cpp'],['../crossplatformlib_8h.html#abfec25acd9f7a0290a67b0d0b2c6c45d',1,'LibFilter(): crossplatformlib.cpp']]], - ['libload',['LibLoad',['../crossplatformlib_8cpp.html#a76f8961bc293d7d609f2c259606108b8',1,'LibLoad(const QString &filename): crossplatformlib.cpp'],['../crossplatformlib_8h.html#a76f8961bc293d7d609f2c259606108b8',1,'LibLoad(const QString &filename): crossplatformlib.cpp']]], - ['linearfadetransition',['LinearFadeTransition',['../class_linear_fade_transition.html#af7edb7bba7d1d06ecc60f21de3560b0d',1,'LinearFadeTransition']]], - ['linkcommand',['LinkCommand',['../class_link_command.html#a110c49b196d80aa09f3f658c656baaac',1,'LinkCommand']]], - ['list_5fall_5fproject_5fsequences',['list_all_project_sequences',['../class_project.html#aec185625e5a91960f90187bb8e2964dd',1,'Project']]], - ['list_5fall_5fsequences_5fworker',['list_all_sequences_worker',['../class_project.html#a4d3c86c3f656179f0b2484b6f2874629',1,'Project']]], - ['load',['load',['../class_void_effect.html#a4ecfec8a96b0611671266259c4cda45c',1,'VoidEffect::load()'],['../struct_config.html#a1450fefecd0ed85c87a789d46528e231',1,'Config::load()'],['../class_effect.html#a79f987c22eb3b63a259094c9fcf2a82c',1,'Effect::load()']]], - ['load_5fcss_5ffrom_5ffile',['load_css_from_file',['../class_main_window.html#a281ed536e019361da2b5a780dd48e6b2',1,'MainWindow']]], - ['load_5fcursor',['load_cursor',['../cursors_8cpp.html#ad8d4e47fea3b83d872bbd4c08d74f492',1,'cursors.cpp']]], - ['load_5fdata_5ffrom_5fstring',['load_data_from_string',['../effect_8cpp.html#a87ff9b748153586a2342425d3a16b4e5',1,'effect.cpp']]], - ['load_5feffect',['load_effect',['../class_load_thread.html#a2f7a453be74cfe3ef4165a15958c40ec',1,'LoadThread']]], - ['load_5feffects',['load_effects',['../class_effect_controls.html#a2d165d43fe58517939dc6ec459dc0e6a',1,'EffectControls']]], - ['load_5ffrei0r_5feffects',['load_frei0r_effects',['../effectloaders_8cpp.html#aaa8b05996b21c746b9c5c555170ea9a1',1,'effectloaders.cpp']]], - ['load_5ffrei0r_5feffects_5fworker',['load_frei0r_effects_worker',['../effectloaders_8cpp.html#af5af0a763f0ff36846b00c18c26ec93f',1,'effectloaders.cpp']]], - ['load_5ffrom_5ffile',['load_from_file',['../class_effect.html#ad9807aa25ea23a5e0bae0b74ce845432',1,'Effect']]], - ['load_5ffrom_5fstring',['load_from_string',['../class_effect.html#a8153a062ec90403fc9cf943169d994cb',1,'Effect']]], - ['load_5finternal_5feffects',['load_internal_effects',['../effectloaders_8cpp.html#aea8ee6c69ea0c16dd2a75229d2d6b2c5',1,'effectloaders.cpp']]], - ['load_5fkeyframes',['load_keyframes',['../class_effect_controls.html#aa4140ffba3695314359f08f4c11126ce',1,'EffectControls']]], - ['load_5fproject',['load_project',['../class_project.html#a47e9a88c17f61d1ef21c6c0498cd6b2e',1,'Project']]], - ['load_5fproject_5fon_5flaunch',['load_project_on_launch',['../class_olive_global.html#a457ad9d7f5d716b0f23a7aa01187da5d',1,'OliveGlobal']]], - ['load_5fshader_5feffects',['load_shader_effects',['../effectloaders_8cpp.html#a954276369d61168df280969398993602',1,'effectloaders.cpp']]], - ['load_5fshortcut_5ffile',['load_shortcut_file',['../class_preferences_dialog.html#a8d09331ae8618892fa156644c0318057',1,'PreferencesDialog']]], - ['load_5fshortcuts',['load_shortcuts',['../class_main_window.html#a9f173804b8c478a35eaad1938e289947',1,'MainWindow']]], - ['load_5ftranslation_5ffrom_5fconfig',['load_translation_from_config',['../class_olive_global.html#a253062054141283225131ba1c4cdc345',1,'OliveGlobal']]], - ['load_5fworker',['load_worker',['../class_load_thread.html#a5c545b57540f61194074c68a1c22b98c',1,'LoadThread']]], - ['loaddialog',['LoadDialog',['../class_load_dialog.html#ade9007fd7662ea5b7fa9de108a7db2ea',1,'LoadDialog']]], - ['loadplugin',['loadPlugin',['../class_v_s_t_host.html#a02e4c5eb490ef6b8bf177c33af8e2024',1,'VSTHost']]], - ['loadthread',['LoadThread',['../class_load_thread.html#ad3cafb5a882e3b560b8892504b61325a',1,'LoadThread']]], - ['location_5fchanged',['location_changed',['../class_proxy_dialog.html#a7926f85462ad1d63d57bce8ccbc19b8e',1,'ProxyDialog']]], - ['log_5fvolume',['log_volume',['../audio_8cpp.html#ac6db6c3c9c0d0c050d64d291539aabfb',1,'log_volume(double linear): audio.cpp'],['../audio_8h.html#ac6db6c3c9c0d0c050d64d291539aabfb',1,'log_volume(double linear): audio.cpp'],['../effect_8h.html#ac6db6c3c9c0d0c050d64d291539aabfb',1,'log_volume(double linear): audio.cpp']]], - ['logarithmicfadetransition',['LogarithmicFadeTransition',['../class_logarithmic_fade_transition.html#a0b5607d9a1c3313afe21426958ecde54',1,'LogarithmicFadeTransition']]] -]; diff --git a/docs/html/search/functions_b.html b/docs/html/search/functions_b.html deleted file mode 100644 index c690013ae..000000000 --- a/docs/html/search/functions_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_b.js b/docs/html/search/functions_b.js deleted file mode 100644 index e1a11d33e..000000000 --- a/docs/html/search/functions_b.js +++ /dev/null @@ -1,42 +0,0 @@ -var searchData= -[ - ['main',['main',['../main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main.cpp']]], - ['mainwindow',['MainWindow',['../class_main_window.html#ae7344f408a563bc6d9b1acd225da52cb',1,'MainWindow']]], - ['make_5fclip_5ffunctions_5fmenu',['make_clip_functions_menu',['../class_menu_helper.html#ad7cc7086317b2ea8bb1774f2b749a9fd',1,'MenuHelper']]], - ['make_5fedit_5ffunctions_5fmenu',['make_edit_functions_menu',['../class_menu_helper.html#a0138f049061657ff93a41708e1e06718',1,'MenuHelper']]], - ['make_5finout_5fmenu',['make_inout_menu',['../class_menu_helper.html#aa6bb56c91cb0980a16e447dd34074fe2',1,'MenuHelper']]], - ['make_5fkey_5ffrom_5fchange',['make_key_from_change',['../class_effect_field.html#a98715205ed5c9f6c48b263136b188e69',1,'EffectField']]], - ['make_5fnew_5fmenu',['make_new_menu',['../class_project.html#a423d344c6be70c46a3895b56aec39891',1,'Project::make_new_menu()'],['../class_menu_helper.html#ad4c34ddfd794f642f42ea08bf76124cc',1,'MenuHelper::make_new_menu()']]], - ['make_5froom_5ffor_5ftransition',['make_room_for_transition',['../timelinewidget_8cpp.html#a73583b63ea14602a040b1723ab26da44',1,'timelinewidget.cpp']]], - ['make_5froot',['make_root',['../class_project_model.html#a6aa3cc3300d20a5dd761d96002e1d0c4',1,'ProjectModel']]], - ['make_5fsquare_5fthumb',['make_square_thumb',['../struct_footage_stream.html#a7ddfff9bacec8d181291b912ef88e9fe',1,'FootageStream']]], - ['maximize_5fpanel',['maximize_panel',['../class_main_window.html#af1779e3b578dd30f41e9dc59d7e0553f',1,'MainWindow']]], - ['media',['Media',['../class_media.html#a2c7f81bba64d02b5595444d766b13188',1,'Media']]], - ['mediaiconservice',['MediaIconService',['../class_media_icon_service.html#ace100a16093b6562193627d01ccb9442',1,'MediaIconService']]], - ['mediamove',['MediaMove',['../class_media_move.html#a51a4824082d85e92ee25fc2a8d1bb68b',1,'MediaMove']]], - ['mediapropertiesdialog',['MediaPropertiesDialog',['../class_media_properties_dialog.html#a243a419d103443b15f251bc01331c94c',1,'MediaPropertiesDialog']]], - ['mediarename',['MediaRename',['../class_media_rename.html#a381e2325ac4fb683de9a85c0ca2ff23c',1,'MediaRename']]], - ['menu_5fclick_5fbutton',['menu_click_button',['../class_menu_helper.html#a508f997ac25f7c5830b03161fda1b25f',1,'MenuHelper']]], - ['menu_5fselect',['menu_select',['../class_effect_controls.html#a9391676b96463ec314fae69948faa781',1,'EffectControls']]], - ['menu_5fset_5fkey_5ftype',['menu_set_key_type',['../class_keyframe_view.html#a99bc38364b104ee1d967514f1acfd61b',1,'KeyframeView']]], - ['minimumsize',['minimumSize',['../class_flow_layout.html#a18816b6e9008a0731af92749975ce63f',1,'FlowLayout']]], - ['mix_5faudio_5fsample',['mix_audio_sample',['../effect_8cpp.html#acc68d7abb0c39f408ce5978186761e9e',1,'mix_audio_sample(qint16 a, qint16 b): effect.cpp'],['../effect_8h.html#acc68d7abb0c39f408ce5978186761e9e',1,'mix_audio_sample(qint16 a, qint16 b): effect.cpp']]], - ['modifytransitioncommand',['ModifyTransitionCommand',['../class_modify_transition_command.html#a6c43145815a23a1f705346d10d167c78',1,'ModifyTransitionCommand']]], - ['mousedoubleclickevent',['mouseDoubleClickEvent',['../class_action_search_list.html#ac5c14e88b7a780dbecd5547601af1afb',1,'ActionSearchList::mouseDoubleClickEvent()'],['../class_sources_common.html#acd129b6226ca05da18682bd96687f3f1',1,'SourcesCommon::mouseDoubleClickEvent()'],['../class_source_icon_view.html#a57bf8050c021223a4299b27f87a9f089',1,'SourceIconView::mouseDoubleClickEvent()'],['../class_source_table.html#adb1bdf3906e6de86804cbd88a1f8be18',1,'SourceTable::mouseDoubleClickEvent()'],['../class_timeline_widget.html#aec8d7358864498b194c01f6e94323f23',1,'TimelineWidget::mouseDoubleClickEvent()']]], - ['mousemoveevent',['mouseMoveEvent',['../class_graph_view.html#a99df2581a12e911def3481d3ec6c84a3',1,'GraphView::mouseMoveEvent()'],['../class_keyframe_view.html#a50f3f23c88471b03b80064afa5f69504',1,'KeyframeView::mouseMoveEvent()'],['../class_label_slider.html#af3f6d68db6453cd9ddd63d249e11dd17',1,'LabelSlider::mouseMoveEvent()'],['../class_resizable_scroll_bar.html#af5e8aa76cbe5cece3aa6aa7b2451a4fd',1,'ResizableScrollBar::mouseMoveEvent()'],['../class_timeline_header.html#ad05a660d3e8289d828ae6443b9e96a9f',1,'TimelineHeader::mouseMoveEvent()'],['../class_timeline_widget.html#a96da2f5429c3a527adbe79df4988fc31',1,'TimelineWidget::mouseMoveEvent()'],['../class_viewer_widget.html#a1e6087dc61780d6fc4fb633594a764ae',1,'ViewerWidget::mouseMoveEvent()'],['../class_viewer_window.html#ad3e517decf4db64e76ee98dc9fdc105f',1,'ViewerWindow::mouseMoveEvent()']]], - ['mousepressevent',['mousePressEvent',['../class_sources_common.html#a1851ed9f4379084725cfc4170b3fa6b8',1,'SourcesCommon::mousePressEvent()'],['../class_clickable_label.html#adfec8a6c2ddd87b673f3a734ea6afa2b',1,'ClickableLabel::mousePressEvent()'],['../class_collapsible_widget_header.html#ae69737c62d7b1ce0058a77e8cc49fd3f',1,'CollapsibleWidgetHeader::mousePressEvent()'],['../class_graph_view.html#a83837c38c176b1d5d160a50f5b3bd273',1,'GraphView::mousePressEvent()'],['../class_keyframe_view.html#a4eb4d1eb297051bb051ccec8d15eeba8',1,'KeyframeView::mousePressEvent()'],['../class_label_slider.html#aa1e2b3efd6e1f4ce64c465cd1e6123e1',1,'LabelSlider::mousePressEvent()'],['../class_resizable_scroll_bar.html#acdc22797d4b3b5dc344346e8f3266204',1,'ResizableScrollBar::mousePressEvent()'],['../class_source_icon_view.html#a6e6b2904b3668524739dfa9268f610f0',1,'SourceIconView::mousePressEvent()'],['../class_source_table.html#abe2d5a81d0e235ade28e84b622d71441',1,'SourceTable::mousePressEvent()'],['../class_timeline_header.html#aabf4cc43e7ec42fabd2d178faf96273f',1,'TimelineHeader::mousePressEvent()'],['../class_timeline_widget.html#acae500265542183c4edf2f75f1b23eaf',1,'TimelineWidget::mousePressEvent()'],['../class_viewer_widget.html#ae4080a6da8f1f5f99768036e470f3689',1,'ViewerWidget::mousePressEvent()'],['../class_viewer_window.html#a0647b03226dce7e12389cad3ebfc6276',1,'ViewerWindow::mousePressEvent()']]], - ['mousereleaseevent',['mouseReleaseEvent',['../class_graph_view.html#ac5dbd8c419126474c7eb1c3bd956a10d',1,'GraphView::mouseReleaseEvent()'],['../class_keyframe_view.html#ae95da6577e5c1ec8e615b84f75d92f9a',1,'KeyframeView::mouseReleaseEvent()'],['../class_label_slider.html#abe7f1fc561c4827c11ac8c463539e2e6',1,'LabelSlider::mouseReleaseEvent()'],['../class_resizable_scroll_bar.html#aec564fb558408866e610da8c74e63855',1,'ResizableScrollBar::mouseReleaseEvent()'],['../class_timeline_header.html#a0cb50365b288bf298467afc8f352aa38',1,'TimelineHeader::mouseReleaseEvent()'],['../class_timeline_widget.html#a62b3f860be509680b84081d0ce54af34',1,'TimelineWidget::mouseReleaseEvent()'],['../class_viewer_widget.html#a214365e21ace80377d8fa3f0e6959cb4',1,'ViewerWidget::mouseReleaseEvent()']]], - ['move_5fclip',['move_clip',['../timeline_8cpp.html#a956296c1b95a9d26b697efa2609db0ad',1,'move_clip(ComboAction *ca, ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool verify_transitions, bool relative): timeline.cpp'],['../timeline_8h.html#a8da874d055b559fa755e88926adcdd0c',1,'move_clip(ComboAction *ca, ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool verify_transitions=true, bool relative=false): timeline.cpp']]], - ['move_5fdown',['move_down',['../class_effect.html#a7d4bf5850cf50246f7dff93b4d2b7beb',1,'Effect']]], - ['move_5fgizmos',['move_gizmos',['../class_viewer_widget.html#a6879a6de86a254285383a2eeabf2ee2f',1,'ViewerWidget']]], - ['move_5fselection_5fdown',['move_selection_down',['../class_action_search.html#ad7c2f76affbf5b707523194ef9960b95',1,'ActionSearch']]], - ['move_5fselection_5fup',['move_selection_up',['../class_action_search.html#a9039df81c2eaf1be6eb6fb89e10bc6e1',1,'ActionSearch']]], - ['move_5fup',['move_up',['../class_effect.html#a68dad3735f3289805beb365056c81160',1,'Effect']]], - ['movechild',['moveChild',['../class_project_model.html#a79e33846e89217a3e9380861c062d4d8',1,'ProjectModel']]], - ['moveclipaction',['MoveClipAction',['../class_move_clip_action.html#a456edb4c354472c93eedb9a72d94534e',1,'MoveClipAction']]], - ['moveeffectcommand',['MoveEffectCommand',['../class_move_effect_command.html#ad56b91c70e56e1ffcff19bc44cc1adfa',1,'MoveEffectCommand']]], - ['movemarkeraction',['MoveMarkerAction',['../class_move_marker_action.html#ab79a18adb273a973896c3df7ec216f55',1,'MoveMarkerAction']]], - ['moveselectiondown',['moveSelectionDown',['../class_action_search_entry.html#af64a4bea133c85fd4182d7573f13688d',1,'ActionSearchEntry']]], - ['moveselectionup',['moveSelectionUp',['../class_action_search_entry.html#a3e82772c363721ccf64a23c3e3bc8225',1,'ActionSearchEntry']]], - ['multiply_5fzoom',['multiply_zoom',['../class_timeline.html#a6f79958d70e239f1e8910cb37b64f3e2',1,'Timeline']]] -]; diff --git a/docs/html/search/functions_c.html b/docs/html/search/functions_c.html deleted file mode 100644 index 3b2976a04..000000000 --- a/docs/html/search/functions_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_c.js b/docs/html/search/functions_c.js deleted file mode 100644 index 6b62c8a26..000000000 --- a/docs/html/search/functions_c.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['nest',['nest',['../class_timeline.html#a8ef72ebfaff2d2a2d7cb1ffc8cb956d3',1,'Timeline']]], - ['new_5ffolder',['new_folder',['../class_project.html#ab37f95d16126bbef35253d750c061b72',1,'Project']]], - ['new_5fproject',['new_project',['../class_olive_global.html#a96005523cb0a1ba0c4647ce2f2791331',1,'OliveGlobal::new_project()'],['../class_project.html#a1bc03f1a2d711f1dd6f58f996dd2adb7',1,'Project::new_project()']]], - ['new_5fsequence',['new_sequence',['../class_project.html#afc9910afcca439c0526b93fe71f89449',1,'Project']]], - ['newsequencecommand',['NewSequenceCommand',['../class_new_sequence_command.html#aeae82a493bb6d54878c63d94bee32d29',1,'NewSequenceCommand']]], - ['newsequencedialog',['NewSequenceDialog',['../class_new_sequence_dialog.html#a8b568c5c565672ae89f408047248cade',1,'NewSequenceDialog']]], - ['next_5fcut',['next_cut',['../class_timeline.html#aa6de1a9fd358a2d961641e9484a21e4f',1,'Timeline']]], - ['next_5fframe',['next_frame',['../class_viewer.html#a6f31470a09365374a6eb8263091f0cf2',1,'Viewer::next_frame()'],['../class_focus_filter.html#a65943730d91348720430b2c5ba10e21f',1,'FocusFilter::next_frame()']]], - ['notifyreceiver',['notifyReceiver',['../class_audio_sender_thread.html#aa241116809e4770d7a19f9c41744bc39',1,'AudioSenderThread']]] -]; diff --git a/docs/html/search/functions_d.html b/docs/html/search/functions_d.html deleted file mode 100644 index 0c542463f..000000000 --- a/docs/html/search/functions_d.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_d.js b/docs/html/search/functions_d.js deleted file mode 100644 index e6feff0b6..000000000 --- a/docs/html/search/functions_d.js +++ /dev/null @@ -1,30 +0,0 @@ -var searchData= -[ - ['oliveaction',['OliveAction',['../class_olive_action.html#ae90cf762a471f704e9ee4c30fd13b05f',1,'OliveAction']]], - ['oliveglobal',['OliveGlobal',['../class_olive_global.html#a8ee567e30178cd747396c6222970de1b',1,'OliveGlobal']]], - ['on_5fenabled_5fchange',['on_enabled_change',['../class_collapsible_widget.html#a59df221573f035ef0f35c2d2f1bf8c95',1,'CollapsibleWidget']]], - ['on_5fvisible_5fchange',['on_visible_change',['../class_collapsible_widget.html#aca08f49034c1ca730e9074c38c95c09c',1,'CollapsibleWidget']]], - ['open',['open',['../class_effect.html#a3c8aa2a3c1181418f1e7d93d11cf69dd',1,'Effect']]], - ['open_5fabout_5fdialog',['open_about_dialog',['../class_olive_global.html#a161a4b6f88441f82f0e90331f39044fb',1,'OliveGlobal']]], - ['open_5faction_5fsearch',['open_action_search',['../class_olive_global.html#a9a255c3b943eca104abb777243d32dee',1,'OliveGlobal']]], - ['open_5fadvanced_5fvideo_5fdialog',['open_advanced_video_dialog',['../class_export_dialog.html#a0312faf4c117e29d4fa1b488552b3a2d',1,'ExportDialog']]], - ['open_5fclip',['open_clip',['../playback_8cpp.html#afb56c356097b3ba234ab32f0cf1eff63',1,'open_clip(ClipPtr clip, bool multithreaded): playback.cpp'],['../playback_8h.html#afb56c356097b3ba234ab32f0cf1eff63',1,'open_clip(ClipPtr clip, bool multithreaded): playback.cpp']]], - ['open_5fclip_5fworker',['open_clip_worker',['../cacher_8cpp.html#a703bffbf2f7285c98345a58189db3d22',1,'open_clip_worker(ClipPtr clip): cacher.cpp'],['../cacher_8h.html#a703bffbf2f7285c98345a58189db3d22',1,'open_clip_worker(ClipPtr clip): cacher.cpp']]], - ['open_5fcreate_5fproxy_5fdialog',['open_create_proxy_dialog',['../class_sources_common.html#a93f17ed9fe93773112df26baaa844419',1,'SourcesCommon']]], - ['open_5fdebug_5ffile',['open_debug_file',['../debug_8cpp.html#a5c4a1e796aabd9f4559ed55c740204cf',1,'open_debug_file(): debug.cpp'],['../debug_8h.html#a5c4a1e796aabd9f4559ed55c740204cf',1,'open_debug_file(): debug.cpp']]], - ['open_5fdebug_5flog',['open_debug_log',['../class_olive_global.html#a0c142bf5d9f0ab9753154b3926b08d37',1,'OliveGlobal']]], - ['open_5fdialog',['open_dialog',['../class_color_button.html#a84473448347bd52773f4d02b3edd4b27',1,'ColorButton']]], - ['open_5feffect',['open_effect',['../class_effect_controls.html#a8c89fc0e3bb2f10590c12e0dc1581761',1,'EffectControls']]], - ['open_5fexport_5fdialog',['open_export_dialog',['../class_olive_global.html#abb20f21708320f258d99a2737640129e',1,'OliveGlobal']]], - ['open_5fpreferences',['open_preferences',['../class_olive_global.html#a481765a0b424ca37c50326dbe97fb204',1,'OliveGlobal']]], - ['open_5fproject',['open_project',['../class_olive_global.html#aaa945027c0f85fe2b65ad7be5997e02f',1,'OliveGlobal']]], - ['open_5fproject_5fworker',['open_project_worker',['../class_olive_global.html#a59e4870f994af018fb71d3871872fd7e',1,'OliveGlobal']]], - ['open_5fproperties',['open_properties',['../class_project.html#a364c7e56f2d8b7cead5b57955ae93d13',1,'Project']]], - ['open_5frecent',['open_recent',['../class_olive_global.html#a7eaad3e9ab9637f48f2a3cbcb1628a42',1,'OliveGlobal']]], - ['open_5frecent_5ffrom_5fmenu',['open_recent_from_menu',['../class_menu_helper.html#ae46d3ef4f566734c6d38512933cb353b',1,'MenuHelper']]], - ['open_5fsequence_5fproperties',['open_sequence_properties',['../class_timeline_widget.html#abc42f2f382b072ab5a386cd166236cb7',1,'TimelineWidget']]], - ['open_5fspeed_5fdialog',['open_speed_dialog',['../class_olive_global.html#abc5fb406d67e5f62602b3806fcab04f2',1,'OliveGlobal']]], - ['open_5ftext_5fedit',['open_text_edit',['../class_text_effect.html#a3bbeb580cdae24c4403c4f7a7870eccb',1,'TextEffect']]], - ['otreeview',['OTreeView',['../class_o_tree_view.html#a73191efea9de9005d88218b16d5770e7',1,'OTreeView']]], - ['outline_5fenable',['outline_enable',['../class_text_effect.html#ad934ced67ad403624a361c70315e8a2f',1,'TextEffect']]] -]; diff --git a/docs/html/search/functions_e.html b/docs/html/search/functions_e.html deleted file mode 100644 index c1bd8701e..000000000 --- a/docs/html/search/functions_e.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_e.js b/docs/html/search/functions_e.js deleted file mode 100644 index 440ccf239..000000000 --- a/docs/html/search/functions_e.js +++ /dev/null @@ -1,48 +0,0 @@ -var searchData= -[ - ['paint',['paint',['../class_render_thread.html#a4e5c2c03a9310d15b79fe45e7537373b',1,'RenderThread']]], - ['paintevent',['paintEvent',['../class_main_window.html#a227c9fbd4c9757d4a98c333f8a905e17',1,'MainWindow::paintEvent()'],['../class_audio_monitor.html#a01cdc8a7f6536c0ef9f0edbe877a1083',1,'AudioMonitor::paintEvent()'],['../class_collapsible_widget_header.html#a0232068430ad8f80bf15645da02f0a15',1,'CollapsibleWidgetHeader::paintEvent()'],['../class_graph_view.html#a328011f4c78bc7e88b9ed4b85ed9c0c9',1,'GraphView::paintEvent()'],['../class_keyframe_view.html#adf3aab0ac36ca3ba97bdda1dc84dcbb3',1,'KeyframeView::paintEvent()'],['../class_timeline_header.html#afa70136148f32a043fc2c8b8dcbf186b',1,'TimelineHeader::paintEvent()'],['../class_timeline_widget.html#a66904a90d979db34e4c8d2f25f8f3206',1,'TimelineWidget::paintEvent()']]], - ['paintgl',['paintGL',['../class_viewer_widget.html#a2ebe3855efa4d1df494ddeafc4a133c8',1,'ViewerWidget::paintGL()'],['../class_viewer_window.html#a18f83013f9d7e6f075ca5cf5937f8e0f',1,'ViewerWindow::paintGL()']]], - ['paneffect',['PanEffect',['../class_pan_effect.html#af8355dd4a42e2653afa991f9f8ad5bd5',1,'PanEffect']]], - ['panel',['Panel',['../class_panel.html#a40f24f4c425c7c02a67381f54c038375',1,'Panel']]], - ['parent',['parent',['../class_project_model.html#a03ed34464e0453fd5922958fb214991d',1,'ProjectModel']]], - ['parentitem',['parentItem',['../class_media.html#a97d8da0a8935c5f07fadf82ed3b25d10',1,'Media']]], - ['parse_5fmedia',['parse_media',['../class_preview_generator.html#adcb1a8506b5890c1e4e34bff030f8c50',1,'PreviewGenerator']]], - ['parsewheelevent',['parseWheelEvent',['../class_viewer_container.html#a228e5c038c9cb1f3c72fe9e0a1828cef',1,'ViewerContainer']]], - ['passthrough_5fslider_5fvalue',['passthrough_slider_value',['../class_graph_editor.html#a08882e992f2a9575b625cadff91d7f71',1,'GraphEditor']]], - ['paste',['paste',['../class_olive_global.html#a8574a0c2c68978756671d0289ca9e8ff',1,'OliveGlobal::paste()'],['../class_timeline.html#a12baf65f35637a36b57df7bae702b1a3',1,'Timeline::paste()']]], - ['paste_5finsert',['paste_insert',['../class_olive_global.html#a6f6f44ef9503d674851b761c927e8154',1,'OliveGlobal']]], - ['pause',['pause',['../class_viewer.html#a28e94acf31b40f5b3633835bac5182a0',1,'Viewer::pause()'],['../class_focus_filter.html#ad19e5a72819075115ced232bc8031cc1',1,'FocusFilter::pause()']]], - ['percent_5fupdate',['percent_update',['../class_speed_dialog.html#ac7b33fd549a8e6dfe8a3a8aa6e60e30e',1,'SpeedDialog']]], - ['perform_5faction',['perform_action',['../class_action_search.html#a650a09918b8818e224b3698b59e364cc',1,'ActionSearch']]], - ['play',['play',['../class_viewer.html#a99ed88687cf24f54a70cf389e59b8433',1,'Viewer']]], - ['play_5fin_5fto_5fout',['play_in_to_out',['../class_focus_filter.html#af0c6edcbcbffb186efb00b77081c8f7b',1,'FocusFilter']]], - ['play_5fwake',['play_wake',['../class_viewer.html#ad6bed17848f88c86ce9f20629e82c021',1,'Viewer']]], - ['playbackmenu_5fabout_5fto_5fbe_5fshown',['playbackMenu_About_To_Be_Shown',['../class_main_window.html#a6d6a492bfc20a7d9758d4570bced46e9',1,'MainWindow']]], - ['playbutton',['PlayButton',['../class_play_button.html#a1a408926268b0e3570a27e9dacf21e49',1,'PlayButton']]], - ['playhead_5fto_5fclip_5fframe',['playhead_to_clip_frame',['../playback_8cpp.html#a2a29a30234f98d506e0b62a580b49652',1,'playhead_to_clip_frame(ClipPtr c, long playhead): playback.cpp'],['../playback_8h.html#a2a29a30234f98d506e0b62a580b49652',1,'playhead_to_clip_frame(ClipPtr c, long playhead): playback.cpp']]], - ['playhead_5fto_5fclip_5fseconds',['playhead_to_clip_seconds',['../playback_8cpp.html#aaf751c2031f6b68f873a35dac6e2e061',1,'playhead_to_clip_seconds(ClipPtr c, long playhead): playback.cpp'],['../playback_8h.html#aaf751c2031f6b68f873a35dac6e2e061',1,'playhead_to_clip_seconds(ClipPtr c, long playhead): playback.cpp']]], - ['playhead_5fto_5ftimestamp',['playhead_to_timestamp',['../playback_8cpp.html#a555d2aae8d26ded4a5ca3c8eba96fbc9',1,'playhead_to_timestamp(ClipPtr c, long playhead): playback.cpp'],['../playback_8h.html#a555d2aae8d26ded4a5ca3c8eba96fbc9',1,'playhead_to_timestamp(ClipPtr c, long playhead): playback.cpp']]], - ['playpause',['playpause',['../class_focus_filter.html#ae4862f15057c3af9b50798333bb5194e',1,'FocusFilter']]], - ['preferencesdialog',['PreferencesDialog',['../class_preferences_dialog.html#a7b7a1a0c977bd569fcd2e32ac95a23bc',1,'PreferencesDialog']]], - ['prep_5fui_5ffor_5frender',['prep_ui_for_render',['../class_export_dialog.html#a08fe62c0ec006c66aad309f37428d1c1',1,'ExportDialog']]], - ['preset_5fchanged',['preset_changed',['../class_new_sequence_dialog.html#a3f3d70ed17080248c371bd1585564847',1,'NewSequenceDialog']]], - ['prev_5fframe',['prev_frame',['../class_focus_filter.html#a27db0137e8ff818a04bf70448012a7dd',1,'FocusFilter']]], - ['previewgenerator',['PreviewGenerator',['../class_preview_generator.html#ae3febc86c51bd0cad9dc4e42f3cc7b3d',1,'PreviewGenerator']]], - ['previous_5fcut',['previous_cut',['../class_timeline.html#a6957271bef74259de99ec7f3ed5a890e',1,'Timeline']]], - ['previous_5fframe',['previous_frame',['../class_viewer.html#a2d625826ffb60bdfdbac881344a27a0c',1,'Viewer']]], - ['process_5faudio',['process_audio',['../class_audio_noise_effect.html#a2333743666cf210b43066555512d940e',1,'AudioNoiseEffect::process_audio()'],['../class_exponential_fade_transition.html#ad5c41c968be51f240c969adf63d30cdb',1,'ExponentialFadeTransition::process_audio()'],['../class_fill_left_right_effect.html#af92cba3752dbd513567e12596b3e8b31',1,'FillLeftRightEffect::process_audio()'],['../class_linear_fade_transition.html#aff7943f9c51599449c8d4a80cfdbf7d3',1,'LinearFadeTransition::process_audio()'],['../class_logarithmic_fade_transition.html#ac7c03531bde333506d77b13e761f6cb3',1,'LogarithmicFadeTransition::process_audio()'],['../class_pan_effect.html#afcf2bb25a68d858131e41d74593e417b',1,'PanEffect::process_audio()'],['../class_tone_effect.html#a65a9539e144192b42ff8c5fdb496bdcf',1,'ToneEffect::process_audio()'],['../class_volume_effect.html#ac18226afd50d9141dd9fe59b03cd3979',1,'VolumeEffect::process_audio()'],['../class_v_s_t_host.html#ac5b57e53b7f664cb0d5368199ba0ea24',1,'VSTHost::process_audio()'],['../class_effect.html#a77a6eea699072b8ecbbe9e19b22ab449',1,'Effect::process_audio()']]], - ['process_5fcoords',['process_coords',['../class_corner_pin_effect.html#a69583d3d7170bcd8972f13d2ba46ee8b',1,'CornerPinEffect::process_coords()'],['../class_cross_dissolve_transition.html#ae1e04a9f3be9316cac899e31d1cd2d08',1,'CrossDissolveTransition::process_coords()'],['../class_cube_transition.html#ace5c93ed12d42d02fe05f1a2df2552e3',1,'CubeTransition::process_coords()'],['../class_shake_effect.html#ad301df6415e5168db3eee24a903ad92a',1,'ShakeEffect::process_coords()'],['../class_transform_effect.html#af2feef48ad40594a261e58f570f0347a',1,'TransformEffect::process_coords()'],['../class_effect.html#ae5a78838a09bed4f8ca11d6b23f2df98',1,'Effect::process_coords()']]], - ['process_5feffect',['process_effect',['../renderfunctions_8cpp.html#ae9702e5c5447b13de49b9752f5330581',1,'renderfunctions.cpp']]], - ['process_5ffile_5flist',['process_file_list',['../class_project.html#ab006a403b0f15c474ddffb7e32b067ff',1,'Project']]], - ['process_5fimage',['process_image',['../class_frei0r_effect.html#a832412856c96fff4fae2984c8161aa19',1,'Frei0rEffect::process_image()'],['../class_effect.html#a0592e2ed92d28b6c9a3fbe436b04a879',1,'Effect::process_image()']]], - ['process_5fshader',['process_shader',['../class_corner_pin_effect.html#a354b33a528a2cf57cb0fcd255f02c5c7',1,'CornerPinEffect::process_shader()'],['../class_effect.html#ab76c54c12d93ee5f5d8c633cf17a8354',1,'Effect::process_shader()']]], - ['process_5fsuperimpose',['process_superimpose',['../class_effect.html#adfc5eb9b1ddbdbcc586d4bd0f7b97c37',1,'Effect']]], - ['processaudio',['processAudio',['../class_v_s_t_host.html#ab61c3ca9d8db23b799b111e2e710e4a8',1,'VSTHost']]], - ['progress_5fchanged',['progress_changed',['../class_export_thread.html#adf19a2d93b577be81bb055087e59313d',1,'ExportThread']]], - ['project',['Project',['../class_project.html#ab41075e59412cee3f2956c445aab8331',1,'Project']]], - ['projectfilter',['ProjectFilter',['../class_project_filter.html#a3bc8e78ce009fc0db6d3b7c65157d2c4',1,'ProjectFilter']]], - ['projectmodel',['ProjectModel',['../class_project_model.html#a9e60b0563cb21d401d92d0fc6924f0d3',1,'ProjectModel']]], - ['proxydialog',['ProxyDialog',['../class_proxy_dialog.html#a5e2659eb7c195894a5c2277b73ca6f33',1,'ProxyDialog']]], - ['proxygenerator',['ProxyGenerator',['../class_proxy_generator.html#a4a2e4d8d23d93b024123cb3b337c9d33',1,'ProxyGenerator']]] -]; diff --git a/docs/html/search/functions_f.html b/docs/html/search/functions_f.html deleted file mode 100644 index 38b6e817c..000000000 --- a/docs/html/search/functions_f.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/functions_f.js b/docs/html/search/functions_f.js deleted file mode 100644 index 70cbab5cc..000000000 --- a/docs/html/search/functions_f.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['q_5fdeclare_5fmetatype',['Q_DECLARE_METATYPE',['../mainwindow_8cpp.html#a08cd1ede919d33df4cc8f905a9783620',1,'mainwindow.cpp']]], - ['qpainterwrapper',['QPainterWrapper',['../class_q_painter_wrapper.html#a11332e6d3eb6d358379f543e9324e9c1',1,'QPainterWrapper']]], - ['quad_5ffrom_5ft',['quad_from_t',['../math_8cpp.html#ae051349b6eb88f63a351588a683baeb4',1,'quad_from_t(double a, double b, double c, double t): math.cpp'],['../math_8h.html#ae051349b6eb88f63a351588a683baeb4',1,'quad_from_t(double a, double b, double c, double t): math.cpp']]], - ['quad_5ft_5ffrom_5fx',['quad_t_from_x',['../math_8cpp.html#a596112ef6fe411ef36a171ecca86d0fc',1,'quad_t_from_x(double x, double a, double b, double c): math.cpp'],['../math_8h.html#a596112ef6fe411ef36a171ecca86d0fc',1,'quad_t_from_x(double x, double a, double b, double c): math.cpp']]], - ['question_5ffunc',['question_func',['../class_load_thread.html#a37c836e25488d2b8435c8089ba087b93',1,'LoadThread']]], - ['queue',['queue',['../class_proxy_generator.html#a26ed12bfe4bd5f3b44df03234fe392dc',1,'ProxyGenerator']]], - ['queue_5fclear',['queue_clear',['../class_clip.html#a7c7fcb2908da25ae8b7ae6f893a114e8',1,'Clip']]], - ['queue_5fpost_5fupdate',['queue_post_update',['../class_effect_controls.html#a846f46e6e4ce9105d8fe4f3965c59f15',1,'EffectControls']]], - ['queue_5fremove_5fearliest',['queue_remove_earliest',['../class_clip.html#af1151d6f5b2d6a93778077bef48b5a16',1,'Clip']]], - ['queue_5frepaint',['queue_repaint',['../class_viewer_widget.html#a2daee7b77b91adb27470625e00b2e301',1,'ViewerWidget']]] -]; diff --git a/docs/html/search/mag_sel.png b/docs/html/search/mag_sel.png deleted file mode 100644 index 39c0ed52a..000000000 Binary files a/docs/html/search/mag_sel.png and /dev/null differ diff --git a/docs/html/search/namespaces_0.html b/docs/html/search/namespaces_0.html deleted file mode 100644 index c53453791..000000000 --- a/docs/html/search/namespaces_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/namespaces_0.js b/docs/html/search/namespaces_0.js deleted file mode 100644 index 76ac310d5..000000000 --- a/docs/html/search/namespaces_0.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['olive',['olive',['../namespaceolive.html',1,'']]], - ['timeline',['timeline',['../namespaceolive_1_1timeline.html',1,'olive']]] -]; diff --git a/docs/html/search/nomatches.html b/docs/html/search/nomatches.html deleted file mode 100644 index 437732089..000000000 --- a/docs/html/search/nomatches.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - -
    -
    No Matches
    -
    - - diff --git a/docs/html/search/pages_0.html b/docs/html/search/pages_0.html deleted file mode 100644 index 3d06b0521..000000000 --- a/docs/html/search/pages_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/pages_0.js b/docs/html/search/pages_0.js deleted file mode 100644 index 99b6d20b0..000000000 --- a/docs/html/search/pages_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['issue_5ftemplate',['ISSUE_TEMPLATE',['../md__i_s_s_u_e__t_e_m_p_l_a_t_e.html',1,'']]] -]; diff --git a/docs/html/search/pages_1.html b/docs/html/search/pages_1.html deleted file mode 100644 index 06f1e40f0..000000000 --- a/docs/html/search/pages_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/pages_1.js b/docs/html/search/pages_1.js deleted file mode 100644 index 98838e9e7..000000000 --- a/docs/html/search/pages_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['olive_20video_20editor',['Olive Video Editor',['../md__r_e_a_d_m_e.html',1,'']]] -]; diff --git a/docs/html/search/search.css b/docs/html/search/search.css deleted file mode 100644 index 3cf9df94a..000000000 --- a/docs/html/search/search.css +++ /dev/null @@ -1,271 +0,0 @@ -/*---------------- Search Box */ - -#FSearchBox { - float: left; -} - -#MSearchBox { - white-space : nowrap; - float: none; - margin-top: 8px; - right: 0px; - width: 170px; - height: 24px; - z-index: 102; -} - -#MSearchBox .left -{ - display:block; - position:absolute; - left:10px; - width:20px; - height:19px; - background:url('search_l.png') no-repeat; - background-position:right; -} - -#MSearchSelect { - display:block; - position:absolute; - width:20px; - height:19px; -} - -.left #MSearchSelect { - left:4px; -} - -.right #MSearchSelect { - right:5px; -} - -#MSearchField { - display:block; - position:absolute; - height:19px; - background:url('search_m.png') repeat-x; - border:none; - width:115px; - margin-left:20px; - padding-left:4px; - color: #909090; - outline: none; - font: 9pt Arial, Verdana, sans-serif; - -webkit-border-radius: 0px; -} - -#FSearchBox #MSearchField { - margin-left:15px; -} - -#MSearchBox .right { - display:block; - position:absolute; - right:10px; - top:8px; - width:20px; - height:19px; - background:url('search_r.png') no-repeat; - background-position:left; -} - -#MSearchClose { - display: none; - position: absolute; - top: 4px; - background : none; - border: none; - margin: 0px 4px 0px 0px; - padding: 0px 0px; - outline: none; -} - -.left #MSearchClose { - left: 6px; -} - -.right #MSearchClose { - right: 2px; -} - -.MSearchBoxActive #MSearchField { - color: #000000; -} - -/*---------------- Search filter selection */ - -#MSearchSelectWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #90A5CE; - background-color: #F9FAFC; - z-index: 10001; - padding-top: 4px; - padding-bottom: 4px; - -moz-border-radius: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -.SelectItem { - font: 8pt Arial, Verdana, sans-serif; - padding-left: 2px; - padding-right: 12px; - border: 0px; -} - -span.SelectionMark { - margin-right: 4px; - font-family: monospace; - outline-style: none; - text-decoration: none; -} - -a.SelectItem { - display: block; - outline-style: none; - color: #000000; - text-decoration: none; - padding-left: 6px; - padding-right: 12px; -} - -a.SelectItem:focus, -a.SelectItem:active { - color: #000000; - outline-style: none; - text-decoration: none; -} - -a.SelectItem:hover { - color: #FFFFFF; - background-color: #3D578C; - outline-style: none; - text-decoration: none; - cursor: pointer; - display: block; -} - -/*---------------- Search results window */ - -iframe#MSearchResults { - width: 60ex; - height: 15em; -} - -#MSearchResultsWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #000; - background-color: #EEF1F7; - z-index:10000; -} - -/* ----------------------------------- */ - - -#SRIndex { - clear:both; - padding-bottom: 15px; -} - -.SREntry { - font-size: 10pt; - padding-left: 1ex; -} - -.SRPage .SREntry { - font-size: 8pt; - padding: 1px 5px; -} - -body.SRPage { - margin: 5px 2px; -} - -.SRChildren { - padding-left: 3ex; padding-bottom: .5em -} - -.SRPage .SRChildren { - display: none; -} - -.SRSymbol { - font-weight: bold; - color: #425E97; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRScope { - display: block; - color: #425E97; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRSymbol:focus, a.SRSymbol:active, -a.SRScope:focus, a.SRScope:active { - text-decoration: underline; -} - -span.SRScope { - padding-left: 4px; -} - -.SRPage .SRStatus { - padding: 2px 5px; - font-size: 8pt; - font-style: italic; -} - -.SRResult { - display: none; -} - -DIV.searchresults { - margin-left: 10px; - margin-right: 10px; -} - -/*---------------- External search page results */ - -.searchresult { - background-color: #F0F3F8; -} - -.pages b { - color: white; - padding: 5px 5px 3px 5px; - background-image: url("../tab_a.png"); - background-repeat: repeat-x; - text-shadow: 0 1px 1px #000000; -} - -.pages { - line-height: 17px; - margin-left: 4px; - text-decoration: none; -} - -.hl { - font-weight: bold; -} - -#searchresults { - margin-bottom: 20px; -} - -.searchpages { - margin-top: 10px; -} - diff --git a/docs/html/search/search.js b/docs/html/search/search.js deleted file mode 100644 index a554ab9cb..000000000 --- a/docs/html/search/search.js +++ /dev/null @@ -1,814 +0,0 @@ -/* - @licstart The following is the entire license notice for the - JavaScript code in this file. - - Copyright (C) 1997-2017 by Dimitri van Heesch - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - @licend The above is the entire license notice - for the JavaScript code in this file - */ -function convertToId(search) -{ - var result = ''; - for (i=0;i do a search - { - this.Search(); - } - } - - this.OnSearchSelectKey = function(evt) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 && this.searchIndex0) // Up - { - this.searchIndex--; - this.OnSelectItem(this.searchIndex); - } - else if (e.keyCode==13 || e.keyCode==27) - { - this.OnSelectItem(this.searchIndex); - this.CloseSelectionWindow(); - this.DOMSearchField().focus(); - } - return false; - } - - // --------- Actions - - // Closes the results window. - this.CloseResultsWindow = function() - { - this.DOMPopupSearchResultsWindow().style.display = 'none'; - this.DOMSearchClose().style.display = 'none'; - this.Activate(false); - } - - this.CloseSelectionWindow = function() - { - this.DOMSearchSelectWindow().style.display = 'none'; - } - - // Performs a search. - this.Search = function() - { - this.keyTimeout = 0; - - // strip leading whitespace - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - - var code = searchValue.toLowerCase().charCodeAt(0); - var idxChar = searchValue.substr(0, 1).toLowerCase(); - if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair - { - idxChar = searchValue.substr(0, 2); - } - - var resultsPage; - var resultsPageWithSearch; - var hasResultsPage; - - var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); - if (idx!=-1) - { - var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; - resultsPageWithSearch = resultsPage+'?'+escape(searchValue); - hasResultsPage = true; - } - else // nothing available for this search term - { - resultsPage = this.resultsPath + '/nomatches.html'; - resultsPageWithSearch = resultsPage; - hasResultsPage = false; - } - - window.frames.MSearchResults.location = resultsPageWithSearch; - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - - if (domPopupSearchResultsWindow.style.display!='block') - { - var domSearchBox = this.DOMSearchBox(); - this.DOMSearchClose().style.display = 'inline'; - if (this.insideFrame) - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - domPopupSearchResultsWindow.style.position = 'relative'; - domPopupSearchResultsWindow.style.display = 'block'; - var width = document.body.clientWidth - 8; // the -8 is for IE :-( - domPopupSearchResultsWindow.style.width = width + 'px'; - domPopupSearchResults.style.width = width + 'px'; - } - else - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; - var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; - domPopupSearchResultsWindow.style.display = 'block'; - left -= domPopupSearchResults.offsetWidth; - domPopupSearchResultsWindow.style.top = top + 'px'; - domPopupSearchResultsWindow.style.left = left + 'px'; - } - } - - this.lastSearchValue = searchValue; - this.lastResultsPage = resultsPage; - } - - // -------- Activation Functions - - // Activates or deactivates the search panel, resetting things to - // their default values if necessary. - this.Activate = function(isActive) - { - if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) - { - this.DOMSearchBox().className = 'MSearchBoxActive'; - - var searchField = this.DOMSearchField(); - - if (searchField.value == this.searchLabel) // clear "Search" term upon entry - { - searchField.value = ''; - this.searchActive = true; - } - } - else if (!isActive) // directly remove the panel - { - this.DOMSearchBox().className = 'MSearchBoxInactive'; - this.DOMSearchField().value = this.searchLabel; - this.searchActive = false; - this.lastSearchValue = '' - this.lastResultsPage = ''; - } - } -} - -// ----------------------------------------------------------------------- - -// The class that handles everything on the search results page. -function SearchResults(name) -{ - // The number of matches from the last run of . - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; - - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) - { - var parentElement = document.getElementById(id); - var element = parentElement.firstChild; - - while (element && element!=parentElement) - { - if (element.nodeName == 'DIV' && element.className == 'SRChildren') - { - return element; - } - - if (element.nodeName == 'DIV' && element.hasChildNodes()) - { - element = element.firstChild; - } - else if (element.nextSibling) - { - element = element.nextSibling; - } - else - { - do - { - element = element.parentNode; - } - while (element && element!=parentElement && !element.nextSibling); - - if (element && element!=parentElement) - { - element = element.nextSibling; - } - } - } - } - - this.Toggle = function(id) - { - var element = this.FindChildElement(id); - if (element) - { - if (element.style.display == 'block') - { - element.style.display = 'none'; - } - else - { - element.style.display = 'block'; - } - } - } - - // Searches for the passed string. If there is no parameter, - // it takes it from the URL query. - // - // Always returns true, since other documents may try to call it - // and that may or may not be possible. - this.Search = function(search) - { - if (!search) // get search word from URL - { - search = window.location.search; - search = search.substring(1); // Remove the leading '?' - search = unescape(search); - } - - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); - - var resultRows = document.getElementsByTagName("div"); - var matches = 0; - - var i = 0; - while (i < resultRows.length) - { - var row = resultRows.item(i); - if (row.className == "SRResult") - { - var rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) - { - row.style.display = 'block'; - matches++; - } - else - { - row.style.display = 'none'; - } - } - i++; - } - document.getElementById("Searching").style.display='none'; - if (matches == 0) // no results - { - document.getElementById("NoMatches").style.display='block'; - } - else // at least one result - { - document.getElementById("NoMatches").style.display='none'; - } - this.lastMatchCount = matches; - return true; - } - - // return the first item with index index or higher that is visible - this.NavNext = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index++; - } - return focusItem; - } - - this.NavPrev = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index--; - } - return focusItem; - } - - this.ProcessKeys = function(e) - { - if (e.type == "keydown") - { - this.repeatOn = false; - this.lastKey = e.keyCode; - } - else if (e.type == "keypress") - { - if (!this.repeatOn) - { - if (this.lastKey) this.repeatOn = true; - return false; // ignore first keypress after keydown - } - } - else if (e.type == "keyup") - { - this.lastKey = 0; - this.repeatOn = false; - } - return this.lastKey!=0; - } - - this.Nav = function(evt,itemIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - var newIndex = itemIndex-1; - var focusItem = this.NavPrev(newIndex); - if (focusItem) - { - var child = this.FindChildElement(focusItem.parentNode.parentNode.id); - if (child && child.style.display == 'block') // children visible - { - var n=0; - var tmpElem; - while (1) // search for last child - { - tmpElem = document.getElementById('Item'+newIndex+'_c'+n); - if (tmpElem) - { - focusItem = tmpElem; - } - else // found it! - { - break; - } - n++; - } - } - } - if (focusItem) - { - focusItem.focus(); - } - else // return focus to search field - { - parent.document.getElementById("MSearchField").focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = itemIndex+1; - var focusItem; - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem && elem.style.display == 'block') // children visible - { - focusItem = document.getElementById('Item'+itemIndex+'_c0'); - } - if (!focusItem) focusItem = this.NavNext(newIndex); - if (focusItem) focusItem.focus(); - } - else if (this.lastKey==39) // Right - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'block'; - } - else if (this.lastKey==37) // Left - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'none'; - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } - - this.NavChild = function(evt,itemIndex,childIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - if (childIndex>0) - { - var newIndex = childIndex-1; - document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); - } - else // already at first child, jump to parent - { - document.getElementById('Item'+itemIndex).focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = childIndex+1; - var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); - if (!elem) // last child, jump to parent next parent - { - elem = this.NavNext(itemIndex+1); - } - if (elem) - { - elem.focus(); - } - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } -} - -function setKeyActions(elem,action) -{ - elem.setAttribute('onkeydown',action); - elem.setAttribute('onkeypress',action); - elem.setAttribute('onkeyup',action); -} - -function setClassAttr(elem,attr) -{ - elem.setAttribute('class',attr); - elem.setAttribute('className',attr); -} - -function createResults() -{ - var results = document.getElementById("SRResults"); - for (var e=0; e - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/typedefs_0.js b/docs/html/search/typedefs_0.js deleted file mode 100644 index 8908a5cc5..000000000 --- a/docs/html/search/typedefs_0.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['aeffect',['AEffect',['../vestige_8h.html#a607fed319939c6273e716fa307804e7b',1,'vestige.h']]], - ['audiomastercallback',['audioMasterCallback',['../vestige_8h.html#a6a7e6b73cd3df750b123f10a01339fa8',1,'vestige.h']]] -]; diff --git a/docs/html/search/typedefs_1.html b/docs/html/search/typedefs_1.html deleted file mode 100644 index c8a026857..000000000 --- a/docs/html/search/typedefs_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/typedefs_1.js b/docs/html/search/typedefs_1.js deleted file mode 100644 index 2d477ff85..000000000 --- a/docs/html/search/typedefs_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['clipptr',['ClipPtr',['../cacher_8h.html#a06b2300f462978e17d9b586991a0af3f',1,'ClipPtr(): cacher.h'],['../clip_8h.html#a06b2300f462978e17d9b586991a0af3f',1,'ClipPtr(): clip.h'],['../effect_8h.html#a06b2300f462978e17d9b586991a0af3f',1,'ClipPtr(): effect.h']]] -]; diff --git a/docs/html/search/typedefs_2.html b/docs/html/search/typedefs_2.html deleted file mode 100644 index 86a91955e..000000000 --- a/docs/html/search/typedefs_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/typedefs_2.js b/docs/html/search/typedefs_2.js deleted file mode 100644 index 87a540885..000000000 --- a/docs/html/search/typedefs_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['dispatcherfuncptr',['dispatcherFuncPtr',['../vsthost_8h.html#a0299e7df3d53ced2a17da06eee806d4d',1,'vsthost.h']]] -]; diff --git a/docs/html/search/typedefs_3.html b/docs/html/search/typedefs_3.html deleted file mode 100644 index 2f8138845..000000000 --- a/docs/html/search/typedefs_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/typedefs_3.js b/docs/html/search/typedefs_3.js deleted file mode 100644 index b356e7254..000000000 --- a/docs/html/search/typedefs_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['effectptr',['EffectPtr',['../effect_8h.html#a76f90640a8579a0d9d52d40f7147f969',1,'effect.h']]] -]; diff --git a/docs/html/search/typedefs_4.html b/docs/html/search/typedefs_4.html deleted file mode 100644 index ac1372ac9..000000000 --- a/docs/html/search/typedefs_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/typedefs_4.js b/docs/html/search/typedefs_4.js deleted file mode 100644 index f79acbfd0..000000000 --- a/docs/html/search/typedefs_4.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['f0rconstructfunc',['f0rConstructFunc',['../frei0reffect_8cpp.html#a5ce837a95ffdfde58aa334ff24086a71',1,'frei0reffect.cpp']]], - ['f0rdeinitfunc',['f0rDeinitFunc',['../frei0reffect_8cpp.html#a8edeea34c29b233886e3b0f94245705a',1,'frei0reffect.cpp']]], - ['f0rdestructfunc',['f0rDestructFunc',['../frei0reffect_8cpp.html#a1d9d88326ec59f684c6e8a4da06ee9cb',1,'frei0reffect.cpp']]], - ['f0rgetparaminfo',['f0rGetParamInfo',['../frei0reffect_8h.html#ae2fc1c9fb9fc111c7fdb430c27f21f9b',1,'frei0reffect.h']]], - ['f0rgetplugininfo',['f0rGetPluginInfo',['../frei0reffect_8cpp.html#a3e0aa15393104a4d4e8d274cb399f5e9',1,'f0rGetPluginInfo(): frei0reffect.cpp'],['../effectloaders_8cpp.html#a3e0aa15393104a4d4e8d274cb399f5e9',1,'f0rGetPluginInfo(): effectloaders.cpp']]], - ['f0rinitfunc',['f0rInitFunc',['../frei0reffect_8cpp.html#a41dc40737e069befcbf99331241e0fee',1,'frei0reffect.cpp']]], - ['f0rsetparamvalue',['f0rSetParamValue',['../frei0reffect_8cpp.html#a11967584fc960ba31d313f3204d48645',1,'frei0reffect.cpp']]], - ['f0rupdatefunc',['f0rUpdateFunc',['../frei0reffect_8cpp.html#a1077ba740256577e944c313f0ff22c00',1,'frei0reffect.cpp']]], - ['footageptr',['FootagePtr',['../footage_8h.html#a1ec6462954056c51931cc6066a7d3d71',1,'footage.h']]] -]; diff --git a/docs/html/search/typedefs_5.html b/docs/html/search/typedefs_5.html deleted file mode 100644 index 77b3890cd..000000000 --- a/docs/html/search/typedefs_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/typedefs_5.js b/docs/html/search/typedefs_5.js deleted file mode 100644 index 37e96a369..000000000 --- a/docs/html/search/typedefs_5.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['getparameterfuncptr',['getParameterFuncPtr',['../vsthost_8cpp.html#abd1576a464b56561c262570559afeac1',1,'vsthost.cpp']]] -]; diff --git a/docs/html/search/typedefs_6.html b/docs/html/search/typedefs_6.html deleted file mode 100644 index 978358fce..000000000 --- a/docs/html/search/typedefs_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/typedefs_6.js b/docs/html/search/typedefs_6.js deleted file mode 100644 index 4046ebe08..000000000 --- a/docs/html/search/typedefs_6.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['processeventsfuncptr',['processEventsFuncPtr',['../vsthost_8cpp.html#ad610efd1eab1c4e34d5b35dab7302fb1',1,'vsthost.cpp']]], - ['processfuncptr',['processFuncPtr',['../vsthost_8cpp.html#ae543e6f8e9a3f348696ecff996254310',1,'vsthost.cpp']]] -]; diff --git a/docs/html/search/typedefs_7.html b/docs/html/search/typedefs_7.html deleted file mode 100644 index 3f6730a5c..000000000 --- a/docs/html/search/typedefs_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/typedefs_7.js b/docs/html/search/typedefs_7.js deleted file mode 100644 index be25a4008..000000000 --- a/docs/html/search/typedefs_7.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['sequenceptr',['SequencePtr',['../clip_8h.html#a2a0d48184294d399b0adc41f6e1de6c7',1,'SequencePtr(): clip.h'],['../marker_8h.html#a2a0d48184294d399b0adc41f6e1de6c7',1,'SequencePtr(): marker.h'],['../media_8h.html#a2a0d48184294d399b0adc41f6e1de6c7',1,'SequencePtr(): media.h'],['../sequence_8h.html#a2a0d48184294d399b0adc41f6e1de6c7',1,'SequencePtr(): sequence.h']]], - ['setparameterfuncptr',['setParameterFuncPtr',['../vsthost_8cpp.html#adae716dc1c74f43a2d9e358236618fa5',1,'vsthost.cpp']]] -]; diff --git a/docs/html/search/typedefs_8.html b/docs/html/search/typedefs_8.html deleted file mode 100644 index dbf501265..000000000 --- a/docs/html/search/typedefs_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/typedefs_8.js b/docs/html/search/typedefs_8.js deleted file mode 100644 index 884833207..000000000 --- a/docs/html/search/typedefs_8.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['transitionptr',['TransitionPtr',['../transition_8h.html#a8d0836efe0f38d1f8e07298abda7ec98',1,'transition.h']]] -]; diff --git a/docs/html/search/typedefs_9.html b/docs/html/search/typedefs_9.html deleted file mode 100644 index c8d0b5bf9..000000000 --- a/docs/html/search/typedefs_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/typedefs_9.js b/docs/html/search/typedefs_9.js deleted file mode 100644 index 9b281226a..000000000 --- a/docs/html/search/typedefs_9.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['voidptr',['VoidPtr',['../clipboard_8h.html#a969a1c46c6ca2ce0e9fd360d7221bb8b',1,'VoidPtr(): clipboard.h'],['../media_8h.html#a969a1c46c6ca2ce0e9fd360d7221bb8b',1,'VoidPtr(): media.h']]], - ['vstevent',['VstEvent',['../vestige_8h.html#a33c84f3b48339d55af9fb80760042975',1,'vestige.h']]], - ['vstevents',['VstEvents',['../vestige_8h.html#a453791a06582ba6008259b6387fde030',1,'vestige.h']]], - ['vstmidievent',['VstMidiEvent',['../vestige_8h.html#a09506e50ce5963386d7c1834d095ee7e',1,'vestige.h']]], - ['vstparameterproperties',['VstParameterProperties',['../vestige_8h.html#ae53dd15a81d869e8e29429b65096ec9a',1,'vestige.h']]], - ['vstpluginfuncptr',['vstPluginFuncPtr',['../vsthost_8cpp.html#a9153f5efe6a3f7d004ea1ad9888eabba',1,'vsthost.cpp']]], - ['vsttimeinfo',['VstTimeInfo',['../vestige_8h.html#abbb0adb3ad806fefd0c2297703fb3c3f',1,'vestige.h']]] -]; diff --git a/docs/html/search/variables_0.html b/docs/html/search/variables_0.html deleted file mode 100644 index 12104bcb5..000000000 --- a/docs/html/search/variables_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_0.js b/docs/html/search/variables_0.js deleted file mode 100644 index 07c70f5ce..000000000 --- a/docs/html/search/variables_0.js +++ /dev/null @@ -1,69 +0,0 @@ -var searchData= -[ - ['accurateseekbutton',['accurateSeekButton',['../class_preferences_dialog.html#a522be03f55f4de4d17e6dd3e8047821b',1,'PreferencesDialog']]], - ['acodec',['acodec',['../class_export_thread.html#a7f607ef8f98dcd1d1f82b137f5eeb452',1,'ExportThread']]], - ['acodec_5fctx',['acodec_ctx',['../class_export_thread.html#a1db01ab51fa1eea910eb4a013713d0ad',1,'ExportThread']]], - ['acodeccombobox',['acodecCombobox',['../class_export_dialog.html#a741de75c8caee59d684609b0848ebb6e',1,'ExportDialog']]], - ['acontainer',['acontainer',['../class_effect_controls.html#a96d7b0e34e0bf3da3546c0871d79f860',1,'EffectControls']]], - ['action',['action',['../class_key_sequence_editor.html#ac3c458013e80c5d2065af0dbe1b44ab2',1,'KeySequenceEditor']]], - ['active_5farray',['active_array',['../class_add_marker_action.html#a8a5db4dab46616337bed143d02f76343',1,'AddMarkerAction::active_array()'],['../class_delete_marker_action.html#a4af0c38848c4a35f4f5faa29f0f8fbed',1,'DeleteMarkerAction::active_array()']]], - ['activeprojectfilename',['ActiveProjectFilename',['../namespaceolive.html#ad9f6288bdf591993bd0754a5cf750d36',1,'olive']]], - ['activesequence',['ActiveSequence',['../namespaceolive.html#ae3a6d85e10b5c40dc6372ae794585cff',1,'olive']]], - ['add_5fdefault_5feffects_5fto_5fclips',['add_default_effects_to_clips',['../class_preferences_dialog.html#a29e9d9251c1c18b812afea5c24256fb9',1,'PreferencesDialog::add_default_effects_to_clips()'],['../struct_config.html#a71845f6b9fb0c41620f6dcb50887b71f',1,'Config::add_default_effects_to_clips()']]], - ['addbutton',['addButton',['../class_timeline.html#a8848e40d4bb289b099a6e6ec572e6c14',1,'Timeline']]], - ['aframe_5fbytes',['aframe_bytes',['../class_export_thread.html#a26ed765454b5ece2e8a7672eda623792',1,'ExportThread']]], - ['alpha_5fis_5fpremultiplied',['alpha_is_premultiplied',['../struct_footage.html#a6ca2a6f9f1435915d800c7c90d892b2f',1,'Footage']]], - ['amount_5fval',['amount_val',['../class_audio_noise_effect.html#a6896a7a65af96d834a2d3b19a0728d16',1,'AudioNoiseEffect::amount_val()'],['../class_tone_effect.html#a15ce5f85b2ddbf173ab8ff0e2b42bfdb',1,'ToneEffect::amount_val()']]], - ['anchor_5fgizmo',['anchor_gizmo',['../class_transform_effect.html#a9cb4e9eba478751f70aeb8026a00bfee',1,'TransformEffect']]], - ['anchor_5fx_5fbox',['anchor_x_box',['../class_transform_effect.html#a23aa36c4c89db7ac5f7880fec158e3d5',1,'TransformEffect']]], - ['anchor_5fy_5fbox',['anchor_y_box',['../class_transform_effect.html#a237bf9b4c21a6d5ca33daa309d7309ce',1,'TransformEffect']]], - ['apkt_5falloc',['apkt_alloc',['../class_export_thread.html#abec631706c7c148dec2253a6a6cb567d',1,'ExportThread']]], - ['appname',['AppName',['../namespaceolive.html#aae183b688b67aff9c80a2818235f40fb',1,'olive']]], - ['ar',['ar',['../class_viewer_window.html#a019a80599327935d4f91656363ab978f',1,'ViewerWindow']]], - ['audio_5farea',['audio_area',['../class_timeline.html#a2c018d3cef0503745e31f0df6ee0c5f6',1,'Timeline']]], - ['audio_5fbitrate',['audio_bitrate',['../struct_export_params.html#a2e060a5affa7e2d9e82de19ab11c8354',1,'ExportParams']]], - ['audio_5fbuffer_5fwrite',['audio_buffer_write',['../class_clip.html#a6bbc644f43b67487fe6e4ef097c84596',1,'Clip']]], - ['audio_5fchannels',['audio_channels',['../struct_footage_stream.html#a708e805b9ca7165c882c24e01f3b32d9',1,'FootageStream']]], - ['audio_5fcodec',['audio_codec',['../struct_export_params.html#a81622a6beaf2d199f643493acd3b1fc4',1,'ExportParams']]], - ['audio_5fdevice_5fset',['audio_device_set',['../audio_8cpp.html#a754c2f36daba624892ab55b0edb65524',1,'audio.cpp']]], - ['audio_5feffect_5farea',['audio_effect_area',['../class_effect_controls.html#a6715ffc08c7e82d000a0b312ef312987',1,'EffectControls']]], - ['audio_5fenabled',['audio_enabled',['../struct_export_params.html#abdd0ac121706439aac5dad64767eb20b',1,'ExportParams']]], - ['audio_5fframe',['audio_frame',['../class_export_thread.html#a1e1e6341bbb191f83c66f5593786b89d',1,'ExportThread']]], - ['audio_5ffrequency',['audio_frequency',['../struct_footage_stream.html#ab213ba98d347e44c4395b6f8a4bc8d53',1,'FootageStream::audio_frequency()'],['../class_sequence.html#a1fe732a8a8555d2e33c751ef7e9168b8',1,'Sequence::audio_frequency()'],['../class_edit_sequence_command.html#a34c14135295ffe66ee03d67304d6bc60',1,'EditSequenceCommand::audio_frequency()']]], - ['audio_5ffrequency_5fcombobox',['audio_frequency_combobox',['../class_new_sequence_dialog.html#a36371ed0b085cdb201266805e5ff6112',1,'NewSequenceDialog']]], - ['audio_5fghosts',['audio_ghosts',['../class_timeline.html#af6043d57e301be5e5e6a77d1e65098e6',1,'Timeline']]], - ['audio_5fibuffer',['audio_ibuffer',['../audio_8cpp.html#a03a79481214b3d04c3bc78efc8e88aee',1,'audio_ibuffer(): audio.cpp'],['../audio_8h.html#a03a79481214b3d04c3bc78efc8e88aee',1,'audio_ibuffer(): audio.cpp']]], - ['audio_5fibuffer_5fframe',['audio_ibuffer_frame',['../audio_8cpp.html#ac655161d4cf4531b622acf62f9fbbb58',1,'audio_ibuffer_frame(): audio.cpp'],['../audio_8h.html#ac655161d4cf4531b622acf62f9fbbb58',1,'audio_ibuffer_frame(): audio.cpp']]], - ['audio_5fibuffer_5fread',['audio_ibuffer_read',['../audio_8cpp.html#a6c80563a009b62571a07639a35d96aa0',1,'audio_ibuffer_read(): audio.cpp'],['../audio_8h.html#a6c80563a009b62571a07639a35d96aa0',1,'audio_ibuffer_read(): audio.cpp']]], - ['audio_5fibuffer_5ftimecode',['audio_ibuffer_timecode',['../audio_8cpp.html#af47f84c3150c96cea5827d15eb1226ee',1,'audio_ibuffer_timecode(): audio.cpp'],['../audio_8h.html#af47f84c3150c96cea5827d15eb1226ee',1,'audio_ibuffer_timecode(): audio.cpp']]], - ['audio_5finput',['audio_input',['../audio_8cpp.html#a4f4c92e827f94115f45162e3d3b96d49',1,'audio.cpp']]], - ['audio_5finput_5fdevices',['audio_input_devices',['../class_preferences_dialog.html#a2506706aa6893d1b5a40cda86f63248d',1,'PreferencesDialog']]], - ['audio_5fio_5fdevice',['audio_io_device',['../audio_8cpp.html#a0d579c4f8107569bc87aec4e53ea7ff8',1,'audio_io_device(): audio.cpp'],['../audio_8h.html#a0d579c4f8107569bc87aec4e53ea7ff8',1,'audio_io_device(): audio.cpp']]], - ['audio_5fjust_5freset',['audio_just_reset',['../class_clip.html#aafb34a4904618e8711ad47d93452116d',1,'Clip']]], - ['audio_5flayout',['audio_layout',['../struct_footage_stream.html#afb59cb8515452572ec9eaf17176b069f',1,'FootageStream::audio_layout()'],['../class_sequence.html#aab40796fe8a0be75e54a474b2fabdfb6',1,'Sequence::audio_layout()'],['../class_edit_sequence_command.html#ad9953e98bddd4e0c6f75c9968ab89210',1,'EditSequenceCommand::audio_layout()']]], - ['audio_5fmonitor',['audio_monitor',['../class_timeline.html#a77213763d845427fa8e71b75a7d213bc',1,'Timeline']]], - ['audio_5foutput',['audio_output',['../audio_8cpp.html#acbfe984e7a34f1b78a7188ec831d9040',1,'audio_output(): audio.cpp'],['../audio_8h.html#acbfe984e7a34f1b78a7188ec831d9040',1,'audio_output(): audio.cpp']]], - ['audio_5foutput_5fdevices',['audio_output_devices',['../class_preferences_dialog.html#a6b10c2bf776af772b76d7d641c7ce98f',1,'PreferencesDialog']]], - ['audio_5fpkt',['audio_pkt',['../class_export_thread.html#a6fde252e227f9019ad07c7431f5b1997',1,'ExportThread']]], - ['audio_5fpreview',['audio_preview',['../struct_footage_stream.html#a6977e33be87031b586fd43dff2870eb5',1,'FootageStream']]], - ['audio_5frate',['audio_rate',['../struct_config.html#a15866b8ba87a5d90d3181d8f79229376',1,'Config']]], - ['audio_5frendering',['audio_rendering',['../audio_8cpp.html#ae098b1e2d93d47e4cab42dcd97f75784',1,'audio_rendering(): audio.cpp'],['../audio_8h.html#ae098b1e2d93d47e4cab42dcd97f75784',1,'audio_rendering(): audio.cpp']]], - ['audio_5freset',['audio_reset',['../class_clip.html#a763becadccef2e3febe6ff774714aecf',1,'Clip']]], - ['audio_5fsample_5frate',['audio_sample_rate',['../class_preferences_dialog.html#a1e992b2b7e9ad37b9c33e6205676d965',1,'PreferencesDialog']]], - ['audio_5fsampling_5frate',['audio_sampling_rate',['../struct_export_params.html#a0dfcef57ecc0dc8f0d07f02e2b4d22fb',1,'ExportParams']]], - ['audio_5fscrub',['audio_scrub',['../audio_8cpp.html#a28546825ddb94cbda4c9fa20c08182fd',1,'audio_scrub(): audio.cpp'],['../audio_8h.html#a28546825ddb94cbda4c9fa20c08182fd',1,'audio_scrub(): audio.cpp']]], - ['audio_5fstream',['audio_stream',['../class_export_thread.html#a839df47fc80dc0b44cb50fd1e16faf4e',1,'ExportThread']]], - ['audio_5ftarget_5fframe',['audio_target_frame',['../class_clip.html#aa05baa3255246e20161fac3e7f393f20',1,'Clip']]], - ['audio_5fthread',['audio_thread',['../audio_8cpp.html#abc06ca7502ce25edb5f2bee25465674e',1,'audio_thread(): audio.cpp'],['../audio_8h.html#abc06ca7502ce25edb5f2bee25465674e',1,'audio_thread(): audio.cpp']]], - ['audio_5ftracks',['audio_tracks',['../struct_footage.html#ad66ef70e776f8a4909e8cb371c46ef8d',1,'Footage']]], - ['audio_5fwrite_5flock',['audio_write_lock',['../audio_8cpp.html#a14adfba26f265622e5f8f6b07c8592cc',1,'audio_write_lock(): audio.cpp'],['../audio_8h.html#a14adfba26f265622e5f8f6b07c8592cc',1,'audio_write_lock(): audio.cpp']]], - ['audiobitratespinbox',['audiobitrateSpinbox',['../class_export_dialog.html#a631ee00855db7e1f143f46dafc974025',1,'ExportDialog']]], - ['audiogroupbox',['audioGroupbox',['../class_export_dialog.html#a0d1fcf2ab06a53a38f94ec093e08358c',1,'ExportDialog']]], - ['audioscrollbar',['audioScrollbar',['../class_timeline.html#ac79c7d07cf1b4a0519be216610020c0f',1,'Timeline']]], - ['autorecovery',['autorecovery',['../class_load_thread.html#a5b6b1b46dc80fb3ba3774e1e5c3526dd',1,'LoadThread']]], - ['autorecovery_5ffilename',['autorecovery_filename',['../project_8cpp.html#aa6b894d40f0c9961aa62b3d292770628',1,'autorecovery_filename(): project.cpp'],['../project_8h.html#aa6b894d40f0c9961aa62b3d292770628',1,'autorecovery_filename(): project.cpp']]], - ['autorecovery_5ftimer',['autorecovery_timer',['../class_olive_global.html#a78f108b6ed6a5a7f13a69f51038bb2b5',1,'OliveGlobal']]], - ['autoscale',['autoscale',['../class_clip.html#a608b43abf0412387a435ecbbdb483d1d',1,'Clip']]], - ['autoscale_5fby_5fdefault',['autoscale_by_default',['../struct_config.html#a662138465fe0092365ff8bad06326bba',1,'Config::autoscale_by_default()'],['../class_main_window.html#aa4120df88bf514f41bdf2d6d750f9586',1,'MainWindow::autoscale_by_default()']]], - ['autoscroll',['autoscroll',['../struct_config.html#a0ffb85ab4ef2f8e22c1e813f08de821a',1,'Config']]] -]; diff --git a/docs/html/search/variables_1.html b/docs/html/search/variables_1.html deleted file mode 100644 index b784017a1..000000000 --- a/docs/html/search/variables_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_1.js b/docs/html/search/variables_1.js deleted file mode 100644 index beabdc98d..000000000 --- a/docs/html/search/variables_1.js +++ /dev/null @@ -1,40 +0,0 @@ -var searchData= -[ - ['b',['b',['../class_set_keyframing.html#a5126b204fd5e4796095ab7dcbfc20c98',1,'SetKeyframing']]], - ['back_5fbuffer_5f1',['back_buffer_1',['../class_render_thread.html#a0b583491120c8d4c5fbbe0c9b26f5af4',1,'RenderThread']]], - ['back_5fbuffer_5f2',['back_buffer_2',['../class_render_thread.html#a7669ad18604b10e58715ec00b15149c0',1,'RenderThread']]], - ['back_5ftexture_5f1',['back_texture_1',['../class_render_thread.html#a6e9fc08e40cedf5c24fedf7de7799514',1,'RenderThread']]], - ['back_5ftexture_5f2',['back_texture_2',['../class_render_thread.html#adcd0c5799ad64b51167a1ecf03bc42ba',1,'RenderThread']]], - ['backend_5fattachment1',['backend_attachment1',['../struct_compose_sequence_params.html#ad1594ae236345177e82216365c4d5208',1,'ComposeSequenceParams']]], - ['backend_5fattachment2',['backend_attachment2',['../struct_compose_sequence_params.html#a682c8f279c61f9fe89cc642e21c34089',1,'ComposeSequenceParams']]], - ['backend_5fbuffer1',['backend_buffer1',['../struct_compose_sequence_params.html#a48727d18da412d5763b4d9acbdc8ce7d',1,'ComposeSequenceParams']]], - ['backend_5fbuffer2',['backend_buffer2',['../struct_compose_sequence_params.html#a4aa85910febfd73c2df1f1eab6386e1d',1,'ComposeSequenceParams']]], - ['bar',['bar',['../class_load_dialog.html#a828871cf0550ff175ffc3889993cfad3',1,'LoadDialog']]], - ['barstartpos',['barStartPos',['../struct___vst_time_info.html#a1a95a6936f87e2e21e4d58169ee8c368',1,'_VstTimeInfo']]], - ['bezier_5fbutton',['bezier_button',['../class_graph_editor.html#a4f8147290188f793e2589e3d811735ba',1,'GraphEditor']]], - ['bg_5falpha',['bg_alpha',['../class_timecode_effect.html#a196832715a70faa643bd3ac3a35a0750',1,'TimecodeEffect']]], - ['blend_5fmode_5fbox',['blend_mode_box',['../class_transform_effect.html#ad87714b7710520b15b8b3f0caabfe885',1,'TransformEffect']]], - ['blend_5fmode_5fprogram',['blend_mode_program',['../struct_compose_sequence_params.html#aa4046da9e298cea9013d18b13f844f64',1,'ComposeSequenceParams::blend_mode_program()'],['../class_render_thread.html#a79f92524aef4af170706f10741c65e2f',1,'RenderThread::blend_mode_program()']]], - ['blendmode',['blendmode',['../struct_g_l_texture_coords.html#a9b06f6ce54788f068832876a33f0b317',1,'GLTextureCoords']]], - ['block_5frepaints',['block_repaints',['../class_timeline.html#adf20c17baf8dfe869ef6e56a65f837f7',1,'Timeline']]], - ['boolean',['boolean',['../class_set_bool.html#ad7f25d147bb81b828e314e54b8b154de',1,'SetBool']]], - ['bottom',['bottom',['../struct_v_s_t_rect.html#aaadc655f7600b2b40d2ad82add41be20',1,'VSTRect']]], - ['bottom_5falign',['bottom_align',['../class_timeline_widget.html#a001f8b910f10745902c7329bb015bb7d',1,'TimelineWidget']]], - ['bottom_5fcenter_5fgizmo',['bottom_center_gizmo',['../class_transform_effect.html#a893dfdc02ff3d849236e4ed0eec5b0f3',1,'TransformEffect']]], - ['bottom_5fleft_5fgizmo',['bottom_left_gizmo',['../class_corner_pin_effect.html#ad7b2a75a65a708365f1e6d1234308359',1,'CornerPinEffect::bottom_left_gizmo()'],['../class_transform_effect.html#a125313f992fc8cf033664edca7bd64e8',1,'TransformEffect::bottom_left_gizmo()']]], - ['bottom_5fleft_5fx',['bottom_left_x',['../class_corner_pin_effect.html#ac3d9f7c25cf3eaf25ebe4829185eff80',1,'CornerPinEffect']]], - ['bottom_5fleft_5fy',['bottom_left_y',['../class_corner_pin_effect.html#aa8c11c8bebd60e416e3538760dd451c6',1,'CornerPinEffect']]], - ['bottom_5fright_5fgizmo',['bottom_right_gizmo',['../class_corner_pin_effect.html#a016482488303f0be7dcec8109ef06976',1,'CornerPinEffect::bottom_right_gizmo()'],['../class_transform_effect.html#a0a7229684f444b887558ea81127a330b',1,'TransformEffect::bottom_right_gizmo()']]], - ['bottom_5fright_5fx',['bottom_right_x',['../class_corner_pin_effect.html#ab827b4cd42849ab0aff7cbb9ef99de63',1,'CornerPinEffect']]], - ['bottom_5fright_5fy',['bottom_right_y',['../class_corner_pin_effect.html#aeb74d01c56bd63996aded3519081d0ad',1,'CornerPinEffect']]], - ['bound',['bound',['../class_effect.html#abe2c8ab97093e7132f33f632090d3a14',1,'Effect']]], - ['box',['box',['../class_checkbox_command.html#a99847d9db23edec167c55d59b11a87f6',1,'CheckboxCommand']]], - ['btnaddaudioeffect',['btnAddAudioEffect',['../class_effect_controls.html#af751940a58accea010eed32151f79d19',1,'EffectControls']]], - ['btnaddaudiotransition',['btnAddAudioTransition',['../class_effect_controls.html#a5c045b86ffb86d72d2f64c10d1eee9b1',1,'EffectControls']]], - ['btnaddvideoeffect',['btnAddVideoEffect',['../class_effect_controls.html#a4a50dbb688e65f7f21dfc054aaa35a55',1,'EffectControls']]], - ['btnaddvideotransition',['btnAddVideoTransition',['../class_effect_controls.html#aa8e8d710307bdc0068ad47426fa6fb99',1,'EffectControls']]], - ['buffersink_5fctx',['buffersink_ctx',['../class_clip.html#a250918778e531d65e65401691546a4e6',1,'Clip']]], - ['buffersrc_5fctx',['buffersrc_ctx',['../class_clip.html#ab55d3b7967e31b458a9a63405c431be7',1,'Clip']]], - ['bytes',['bytes',['../class_void_effect.html#a8316947b3383c3bedc05ce445ec1fc16',1,'VoidEffect']]], - ['bytesize',['byteSize',['../struct___vst_midi_event.html#aa055e97c75c920e691409b4f2b15fccc',1,'_VstMidiEvent']]] -]; diff --git a/docs/html/search/variables_10.html b/docs/html/search/variables_10.html deleted file mode 100644 index 308afd51e..000000000 --- a/docs/html/search/variables_10.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_10.js b/docs/html/search/variables_10.js deleted file mode 100644 index 5462a25d0..000000000 --- a/docs/html/search/variables_10.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['question_5fbtn',['question_btn',['../class_load_thread.html#a48a6ab39ae060504fbda72a0fb95c6e7',1,'LoadThread']]], - ['queue',['queue',['../class_clip.html#a270debc18a8e2fa7063b667301248c8b',1,'Clip']]], - ['queue_5flock',['queue_lock',['../class_clip.html#a97ba6335812a8ed6f9234ae18bb12bf8',1,'Clip']]], - ['queued',['queued',['../class_cacher.html#aaaf89c47568bed8658f96008b12af46f',1,'Cacher::queued()'],['../class_render_thread.html#ac10b6c2a1bd683adeadbeee81c530dd4',1,'RenderThread::queued()']]] -]; diff --git a/docs/html/search/variables_11.html b/docs/html/search/variables_11.html deleted file mode 100644 index c27682770..000000000 --- a/docs/html/search/variables_11.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_11.js b/docs/html/search/variables_11.js deleted file mode 100644 index 3b588b9cf..000000000 --- a/docs/html/search/variables_11.js +++ /dev/null @@ -1,72 +0,0 @@ -var searchData= -[ - ['random_5fvals',['random_vals',['../class_shake_effect.html#ad391dc51978cf6492711ca394b822733',1,'ShakeEffect']]], - ['rangecombobox',['rangeCombobox',['../class_export_dialog.html#a34e983029917c26cae1c2d9a25780673',1,'ExportDialog']]], - ['razor_5ftool_5faction',['razor_tool_action',['../class_main_window.html#af98e8c05f55913f3206dcd58340efa10',1,'MainWindow']]], - ['rc_5freveal_5fmedia',['rc_reveal_media',['../class_timeline_widget.html#acf67912c86c6c7693a75493b039a3190',1,'TimelineWidget']]], - ['rc_5fripple_5fmax',['rc_ripple_max',['../class_timeline.html#a468895a5e3f529a26340f8a8cbe1e126',1,'Timeline']]], - ['rc_5fripple_5fmin',['rc_ripple_min',['../class_timeline.html#a622be0b2ff8a907f7845ab400fa672d3',1,'Timeline']]], - ['reached_5fend',['reached_end',['../class_clip.html#ab7a1c1b5620cbfa4e43cd700f30d43b1',1,'Clip']]], - ['ready',['ready',['../struct_footage.html#aa6ea54fc2c7a982e70dcdc5fdd01b2f6',1,'Footage']]], - ['ready_5flock',['ready_lock',['../struct_footage.html#a0ab933c31f035c56859fd8abea5956d2',1,'Footage']]], - ['recent_5fprojects',['recent_projects',['../project_8cpp.html#a061db38a1c6ea33f9438cf52c67d847b',1,'recent_projects(): project.cpp'],['../project_8h.html#a061db38a1c6ea33f9438cf52c67d847b',1,'recent_projects(): project.cpp']]], - ['recordbutton',['recordButton',['../class_timeline.html#a0092a9337bf71eedcf73a762b922e39d',1,'Timeline']]], - ['recording',['recording',['../audio_8cpp.html#aaaa86cbd88875817d7896b26080d35d4',1,'recording(): audio.cpp'],['../audio_8h.html#aaaa86cbd88875817d7896b26080d35d4',1,'recording(): audio.cpp']]], - ['recording_5fend',['recording_end',['../class_viewer.html#ad3878decef7a4d0aa9c877a22173fce9',1,'Viewer']]], - ['recording_5fflasher',['recording_flasher',['../class_viewer.html#a23527d30d774bf66e088fdc007cc96cd',1,'Viewer']]], - ['recording_5fmode',['recording_mode',['../struct_config.html#a39120b972ddcfbe11be6c5daa7053128',1,'Config']]], - ['recording_5fstart',['recording_start',['../class_viewer.html#a23a8460ff5a91bcc6c8eb1e76195e7db',1,'Viewer']]], - ['recording_5ftrack',['recording_track',['../class_viewer.html#a11ced575ea07a979f893414a16c99a3b',1,'Viewer']]], - ['recordingcombobox',['recordingComboBox',['../class_preferences_dialog.html#a16c649b2780290413dd7bca7f06a461a',1,'PreferencesDialog']]], - ['rect_5fgizmo',['rect_gizmo',['../class_transform_effect.html#a9ea39e06661e6f83496a8018a1a70151',1,'TransformEffect']]], - ['rect_5fselect',['rect_select',['../class_graph_view.html#a73fdacbd9f98259d5c8f602d85f4d7ad',1,'GraphView']]], - ['rect_5fselect_5fh',['rect_select_h',['../class_graph_view.html#a1fa9393582aa8bf2daa5f3957b6fd861',1,'GraphView::rect_select_h()'],['../class_keyframe_view.html#ad56abf196388acc687ce1ab6a62b25f3',1,'KeyframeView::rect_select_h()']]], - ['rect_5fselect_5finit',['rect_select_init',['../class_timeline.html#a009b82529555f521690de66d6d32689a',1,'Timeline']]], - ['rect_5fselect_5foffset',['rect_select_offset',['../class_graph_view.html#a65ddd5da7a7af8eefc3aecc31e1eeeb6',1,'GraphView::rect_select_offset()'],['../class_keyframe_view.html#a758e9e9353840a14e930f6372382f1d5',1,'KeyframeView::rect_select_offset()']]], - ['rect_5fselect_5fproc',['rect_select_proc',['../class_timeline.html#a1ac7211e336311314a53f5a642447234',1,'Timeline']]], - ['rect_5fselect_5frect',['rect_select_rect',['../class_timeline.html#adb549777afc5eeaffef499afc9bd66f4',1,'Timeline']]], - ['rect_5fselect_5fw',['rect_select_w',['../class_graph_view.html#a8651c448fa89a04621720ded09e0e999',1,'GraphView::rect_select_w()'],['../class_keyframe_view.html#a6209441da6aee73ead566a32b8d3fe7e',1,'KeyframeView::rect_select_w()']]], - ['rect_5fselect_5fx',['rect_select_x',['../class_graph_view.html#a666fd1b4d2ebb04dff7c5a515d87a7f8',1,'GraphView::rect_select_x()'],['../class_keyframe_view.html#a02dd710b9b09850c00fcddb7bd02bc63',1,'KeyframeView::rect_select_x()']]], - ['rect_5fselect_5fy',['rect_select_y',['../class_graph_view.html#ad2ed895b3a332673246c715b016ce730',1,'GraphView::rect_select_y()'],['../class_keyframe_view.html#ab42902a86062757fcdf1313beaccf1f8',1,'KeyframeView::rect_select_y()']]], - ['rectified_5fwaveforms',['rectified_waveforms',['../struct_config.html#acbc35ea1a4054719f7d6d38fd302fce2',1,'Config::rectified_waveforms()'],['../class_main_window.html#a23d6c6f0c011735aa46a9ae77de56f16',1,'MainWindow::rectified_waveforms()']]], - ['redo_5faction',['redo_action',['../class_main_window.html#a6e193bcaba56aeea33a6868218f0adb6',1,'MainWindow']]], - ['ref',['ref',['../class_delete_clip_action.html#a419b574b603d98bd3d1e1f48aadceebd',1,'DeleteClipAction::ref()'],['../class_add_effect_command.html#a42f36a1c35729cf0bbabd05d17f3503e',1,'AddEffectCommand::ref()']]], - ['relative',['relative',['../class_move_clip_action.html#a2d70b825bd8be97400e556e0c16a2bf4',1,'MoveClipAction']]], - ['rename_5ftimer',['rename_timer',['../class_sources_common.html#ac07a79020e0182a8ee52d6f39592eecb',1,'SourcesCommon']]], - ['render_5flock',['render_lock',['../class_clip.html#aaf38f11b4696855c1cd60b95ed42d9a5',1,'Clip']]], - ['rendercancel',['renderCancel',['../class_export_dialog.html#a03e8e125061d033fe6b9015fa8b06d1d',1,'ExportDialog']]], - ['renderer',['renderer',['../class_viewer_widget.html#af5dae6fbd3f4aa01b0aa18c8f0814a9f',1,'ViewerWidget']]], - ['replace',['replace',['../class_preview_generator.html#a396239af0143a918e53dcfea8e10f021',1,'PreviewGenerator']]], - ['replaced',['replaced',['../class_clip.html#a9cfdc197741cb4437369dcf27af7d271',1,'Clip']]], - ['reserved',['reserved',['../struct___vst_events.html#a9d9a7cc3f0860c6591c99e381b679cb1',1,'_VstEvents::reserved()'],['../struct___vst_parameter_properties.html#af9725e14bb028cbe5624e46e0cd80c58',1,'_VstParameterProperties::reserved()']]], - ['reserved1',['reserved1',['../struct___vst_midi_event.html#a3ccd7eafb565941a64295dfed91c9c35',1,'_VstMidiEvent']]], - ['reserved2',['reserved2',['../struct___vst_midi_event.html#a2f662c0a70c7892247bbf1b3eea712e1',1,'_VstMidiEvent']]], - ['reset',['reset',['../class_cacher.html#ab45149cd0e420bceba0ffa01814f4cfb',1,'Cacher']]], - ['resize_5finit',['resize_init',['../class_resizable_scroll_bar.html#ab5346f39f717bbb54f9dfc0d43f80eb5',1,'ResizableScrollBar']]], - ['resize_5fproc',['resize_proc',['../class_resizable_scroll_bar.html#a7c0a8130e8ca5bee5952ee8071d68ef9',1,'ResizableScrollBar']]], - ['resize_5fstart',['resize_start',['../class_resizable_scroll_bar.html#a4f4af79fca3864376af4c1242b143a98',1,'ResizableScrollBar']]], - ['resize_5fstart_5fmax',['resize_start_max',['../class_resizable_scroll_bar.html#a0bb93f220b42c1fe6cc8950db0aacc27',1,'ResizableScrollBar']]], - ['resize_5fstart_5fwidth',['resize_start_width',['../class_resizable_scroll_bar.html#a5408535e353549c222bae93b7add385f',1,'ResizableScrollBar']]], - ['resize_5ftop',['resize_top',['../class_resizable_scroll_bar.html#a17bf815eb9c1b7ff4b18b7ebe00d955e',1,'ResizableScrollBar']]], - ['resizing_5fworkarea',['resizing_workarea',['../class_timeline_header.html#ad09835f4754820b4ecd0c97765e2014e',1,'TimelineHeader']]], - ['resizing_5fworkarea_5fin',['resizing_workarea_in',['../class_timeline_header.html#a37ef6cfeb22e8e9f0bad5a74a4dd0628',1,'TimelineHeader']]], - ['result_5fstr',['result_str',['../class_text_edit_dialog.html#af82aac8bf933ac8934a9e797bdfc03fa',1,'TextEditDialog']]], - ['ret',['ret',['../class_export_thread.html#ae2b34a888e8ff74f0671e7e684a27917',1,'ExportThread']]], - ['retrieve_5fduration',['retrieve_duration',['../class_preview_generator.html#a8af5d822321cae1f136c6888f194131a',1,'PreviewGenerator']]], - ['reverse',['reverse',['../class_speed_dialog.html#a9bb68bf6f068bb50c45aadf2d307aea2',1,'SpeedDialog::reverse()'],['../class_clip.html#ad15ff65806bdd30bca356957d367e188',1,'Clip::reverse()']]], - ['reverse_5ftarget',['reverse_target',['../class_clip.html#a4c4401827b3a900551884f0a4fac994b',1,'Clip']]], - ['right',['right',['../struct_v_s_t_rect.html#ac9fb86a34ab0da8e468e666740f8ac0a',1,'VSTRect']]], - ['right_5fcenter_5fgizmo',['right_center_gizmo',['../class_transform_effect.html#a543f5c9eb1e539290daf183001d1c7ea',1,'TransformEffect']]], - ['right_5fkey_5fnav',['right_key_nav',['../class_keyframe_navigator.html#a084650c993280b12da23b771f92c08e4',1,'KeyframeNavigator']]], - ['ripple',['ripple',['../class_speed_dialog.html#ab979dacb6a890f831e083dca02901d37',1,'SpeedDialog']]], - ['ripple_5ftool_5faction',['ripple_tool_action',['../class_main_window.html#ac74cbc5976981d7054662e612f735283',1,'MainWindow']]], - ['root',['root',['../class_media.html#a08663011330220b4de347a25c770823c',1,'Media']]], - ['root_5fitem',['root_item',['../class_project_model.html#a3d006b501951a5d5e95e2ccf67b19908',1,'ProjectModel']]], - ['rotate_5fgizmo',['rotate_gizmo',['../class_transform_effect.html#a0e87dcb3896cdef530c1868ebe933643',1,'TransformEffect']]], - ['rotation',['rotation',['../class_transform_effect.html#a450f903822dd1ae9f1b5a48d9c133c0b',1,'TransformEffect']]], - ['rotation_5fval',['rotation_val',['../class_shake_effect.html#a4ad1adf153114db693c31fb508c88fbc',1,'ShakeEffect']]], - ['row',['row',['../class_graph_editor.html#ae4a82e2205f0faf0a6cca340f7b88d7e',1,'GraphEditor::row()'],['../class_set_keyframing.html#aa671c65034c03e74a6672badf9e184de',1,'SetKeyframing::row()'],['../class_graph_view.html#a3d83c9b036f4913647439095e9d31b83',1,'GraphView::row()']]], - ['rows',['rows',['../class_effect.html#a0b8769e71fc3d63034053229827f5215',1,'Effect::rows()'],['../class_keyframe_view.html#a6415c610857e2993ee3aac8a30cb1c76',1,'KeyframeView::rows()']]], - ['rowy',['rowY',['../class_keyframe_view.html#afdea3f119455343e94f6d3cd9c4d25ad',1,'KeyframeView']]], - ['running',['running',['../class_render_thread.html#a77e9ea3fae0e7cc6f48bd46a6eacf2de',1,'RenderThread']]] -]; diff --git a/docs/html/search/variables_12.html b/docs/html/search/variables_12.html deleted file mode 100644 index bad4c794f..000000000 --- a/docs/html/search/variables_12.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_12.js b/docs/html/search/variables_12.js deleted file mode 100644 index 59473f647..000000000 --- a/docs/html/search/variables_12.js +++ /dev/null @@ -1,122 +0,0 @@ -var searchData= -[ - ['s',['s',['../class_ripple_action.html#a888282dbc05715428a59c8c58d9cdc93',1,'RippleAction::s()'],['../class_link_command.html#a871c80441e5ec544344dc79512f28ecf',1,'LinkCommand::s()']]], - ['sample_5fformat',['sample_format',['../cacher_8cpp.html#ab8fe659d819c36cfbea8645f3f5a31ad',1,'cacher.cpp']]], - ['samplepos',['samplePos',['../struct___vst_time_info.html#a2f00c6ef3fc122b7deb49f0431173e7c',1,'_VstTimeInfo']]], - ['samplerate',['sampleRate',['../struct___vst_time_info.html#a56dd9977e41eee06fb12075050ae99c1',1,'_VstTimeInfo']]], - ['samples',['samples',['../class_audio_sender_thread.html#a292aa67bfa5f1bb7fedd3916348465d7',1,'AudioSenderThread']]], - ['samplestonextclock',['samplesToNextClock',['../struct___vst_time_info.html#a1876941a5ab33a27d8d13c1b1d4e24a3',1,'_VstTimeInfo']]], - ['samplingratespinbox',['samplingRateSpinbox',['../class_export_dialog.html#afb347c2d11589e3069c54934b76d2e62',1,'ExportDialog']]], - ['savable',['savable',['../class_effect_row.html#abd2d285889404ad1103b22debb39c39d',1,'EffectRow']]], - ['save_5ffn',['save_fn',['../class_render_thread.html#a4796c46fe0dc2db85b71d6c58d8ff611',1,'RenderThread']]], - ['save_5fid',['save_id',['../struct_footage.html#a0f03bd4606f608cdf9c9c0e3ab99ee73',1,'Footage::save_id()'],['../class_sequence.html#a859e906e2160452dcd83d42cd10f9c1c',1,'Sequence::save_id()']]], - ['scale_5fval',['scale_val',['../class_timecode_effect.html#a3987f0fd908c0c0628159361b0ca17bc',1,'TimecodeEffect']]], - ['scale_5fx',['scale_x',['../class_transform_effect.html#ac77831f2ca54d0961205bb2d70a9c6f8',1,'TransformEffect']]], - ['scale_5fy',['scale_y',['../class_transform_effect.html#a3bf28640a0b6e3b06bd31f460fa78ef8',1,'TransformEffect']]], - ['screen_5fpos',['screen_pos',['../class_effect_gizmo.html#a70ab4dd0e385c0f691d14766047cf127',1,'EffectGizmo']]], - ['script',['script',['../class_effect.html#ac3fe9b30ecfb62d793c5ed60147c95f0',1,'Effect']]], - ['scroll',['scroll',['../class_timeline.html#a16f4b6e76b716b01ac9b941ac1ec7ba0',1,'Timeline::scroll()'],['../class_timeline_header.html#a645d9e713c918b7cc93e38b47a363108',1,'TimelineHeader::scroll()'],['../class_timeline_widget.html#a4a8c2ff9969c4715079cb05b5fa5023b',1,'TimelineWidget::scroll()']]], - ['scroll_5fdrag',['scroll_drag',['../class_keyframe_view.html#aa07237640671958f8b146dbb0671c188',1,'KeyframeView']]], - ['scroll_5fwheel_5fzooms',['scroll_wheel_zooms',['../class_main_window.html#aad665ea8d2c98876bc756f80896129c3',1,'MainWindow']]], - ['scroll_5fzooms',['scroll_zooms',['../struct_config.html#aa8d9ad1e4e1bb53d38bd780cd0069572',1,'Config']]], - ['scrollarea',['scrollArea',['../class_effect_controls.html#a373f0893bb6e1da33ee8211ea628f1db',1,'EffectControls']]], - ['scrollbar',['scrollBar',['../class_timeline_widget.html#a0e4da235a610a9944120bd4ac7e86751',1,'TimelineWidget']]], - ['scrubbing',['scrubbing',['../class_cacher.html#abd1d896c094bc916cf2a070e2c94864a',1,'Cacher']]], - ['search_5ffilter',['search_filter',['../class_project_filter.html#a50ec59e6b3c3d1aa6e025eef1f5c0226',1,'ProjectFilter']]], - ['secondary_5fclip',['secondary_clip',['../class_transition.html#a4d5804ad97ee5403092e563a3103e507',1,'Transition']]], - ['seek_5falso_5fselects',['seek_also_selects',['../struct_config.html#afbe921c7e26bf622051229702936f502',1,'Config::seek_also_selects()'],['../class_main_window.html#a1df46c854274489d7a7f5989ec190680',1,'MainWindow::seek_also_selects()']]], - ['seek_5fto_5fend_5fof_5fpastes',['seek_to_end_of_pastes',['../class_main_window.html#a8ab6d5cecb3d6f5edc995d8563adbefe',1,'MainWindow']]], - ['select_5falso_5fseeks',['select_also_seeks',['../struct_config.html#aa560e28fb08e86654ee990936e1bc6e8',1,'Config']]], - ['select_5frect',['select_rect',['../class_keyframe_view.html#addd0def27efed6fcba27c4f4ad34fc15',1,'KeyframeView']]], - ['selected',['selected',['../class_collapsible_widget_header.html#aa79a97154f60e6a08c22aa79d5479d3b',1,'CollapsibleWidgetHeader::selected()'],['../class_collapsible_widget.html#a3377f87c85de9626847d0c8d87963754',1,'CollapsibleWidget::selected()']]], - ['selected_5fclips',['selected_clips',['../class_effect_controls.html#a1c054e13b64dcd093610ab96ef52b1ba',1,'EffectControls']]], - ['selected_5ffields',['selected_fields',['../class_keyframe_view.html#aa537e8db94d940f98348656564dbd3a6',1,'KeyframeView']]], - ['selected_5ffootage',['selected_footage',['../class_proxy_dialog.html#a9fc023f056cdba9a08bad7154f930c7e',1,'ProxyDialog']]], - ['selected_5fgizmo',['selected_gizmo',['../class_viewer_widget.html#af0221541f662ef514c98e03130242db4',1,'ViewerWidget']]], - ['selected_5fitems',['selected_items',['../class_sources_common.html#aca3b738f30d58a9a53ac56e3ae2f09ce',1,'SourcesCommon']]], - ['selected_5fkeyframes',['selected_keyframes',['../class_keyframe_view.html#acc3d67402ffe59f5f83fe65902c64df6',1,'KeyframeView']]], - ['selected_5fkeys',['selected_keys',['../class_graph_view.html#a40fd77ea37f035b3d51f9311c6d95926',1,'GraphView']]], - ['selected_5fkeys_5ffields',['selected_keys_fields',['../class_graph_view.html#a6947825e5d574b8733686f948e546ff5',1,'GraphView']]], - ['selected_5fkeys_5fold_5fdoubles',['selected_keys_old_doubles',['../class_graph_view.html#aa2e70d5e577cc99e1ebf10a81ec96d42',1,'GraphView']]], - ['selected_5fkeys_5fold_5fvals',['selected_keys_old_vals',['../class_graph_view.html#a272cb07ccca40a0a6229f9eeb96f3868',1,'GraphView']]], - ['selected_5fmarker_5foriginal_5ftimes',['selected_marker_original_times',['../class_timeline_header.html#ae4cc1bb2f78a90e4b7b14409c42e87b5',1,'TimelineHeader']]], - ['selected_5fmarkers',['selected_markers',['../class_timeline_header.html#aaf167d40c3685893da9d06ce62fd2512',1,'TimelineHeader']]], - ['selecting',['selecting',['../class_timeline.html#a02974e0e12b6246454a75bc2f4c6c2e3',1,'Timeline']]], - ['selecting_5falso_5fseeks',['selecting_also_seeks',['../class_main_window.html#a74bab28ac78ce41474c50a91e5488438',1,'MainWindow']]], - ['selection_5fcommand',['selection_command',['../class_timeline_widget.html#a4a727ca9315d55782d8c976296f5dd28',1,'TimelineWidget']]], - ['selection_5foffset',['selection_offset',['../class_timeline.html#a845c5da10b038613db097a41841a1553',1,'Timeline']]], - ['selections',['selections',['../class_sequence.html#a4a3969dd854e7dd1e2ba40dad760d968',1,'Sequence']]], - ['self_5fcreated_5fsequence',['self_created_sequence',['../class_timeline_widget.html#a81a7da832a6b35e8581bb8b225d0eafe',1,'TimelineWidget']]], - ['sender',['sender',['../class_color_command.html#a78343395e366525c787bc31265568897',1,'ColorCommand']]], - ['seq',['seq',['../class_viewer.html#aa036b1c3043eed8166b7389684856f56',1,'Viewer::seq()'],['../class_delete_clip_action.html#ac79cf629b33ad78eeb03c53aecf08ca6',1,'DeleteClipAction::seq()'],['../class_set_timeline_in_out_command.html#aee835b1e7fdf02574f2de7982ed7cd51',1,'SetTimelineInOutCommand::seq()'],['../class_new_sequence_command.html#a272817e84ff886be0f5e288f4e906f43',1,'NewSequenceCommand::seq()'],['../class_add_clip_command.html#a451e6192fbab9a1df3eb352d2896e94d',1,'AddClipCommand::seq()'],['../class_set_selections_command.html#aa77bbcde0633715759222cd3e24389b8',1,'SetSelectionsCommand::seq()'],['../class_edit_sequence_command.html#af4bdd9e7ca01b7206b939c5eefcb4fa7',1,'EditSequenceCommand::seq()'],['../struct_compose_sequence_params.html#ae553daee9d1555337a78f28a1500708e',1,'ComposeSequenceParams::seq()'],['../class_render_thread.html#a75bfdff3209b022eb877d6aef21f1cf8',1,'RenderThread::seq()']]], - ['sequence',['sequence',['../class_clip.html#ac0eea858b7ba48f3800ecfb45ec42919',1,'Clip']]], - ['sequence_5fend',['sequence_end',['../class_timeline_header.html#a1d2f8952fd61f48986b8a9657bf646a1',1,'TimelineHeader']]], - ['sequence_5fid',['sequence_id',['../class_project.html#a5bb60805c7614963941ad95e4eea9d03',1,'Project']]], - ['sequence_5fname_5fedit',['sequence_name_edit',['../class_new_sequence_dialog.html#af17f206154bdce516f9a5261687c554b',1,'NewSequenceDialog']]], - ['set',['set',['../class_transform_effect.html#abcbf4115e3657dd9d6e88039bb1bc015',1,'TransformEffect::set()'],['../class_label_slider.html#ad4715ee7a2902c62bdb11f727fef54f9',1,'LabelSlider::set()']]], - ['set_5fcolor_5fbutton',['set_color_button',['../class_text_effect.html#a945c290de48e515422df4dd88b5deebc',1,'TextEffect']]], - ['set_5ffont_5fcombobox',['set_font_combobox',['../class_text_effect.html#a6298dcbdf77991a7ab9d7a3a0c13de2f',1,'TextEffect']]], - ['set_5fname_5fand_5fmarker',['set_name_and_marker',['../class_main_window.html#a634b28e53557b6117f2b8d19e65220fe',1,'MainWindow']]], - ['set_5fname_5fwith_5fmarker',['set_name_with_marker',['../struct_config.html#a85c430f434d062c4797ae65e7d12375a',1,'Config']]], - ['set_5fwindow_5fmodified',['set_window_modified',['../class_olive_action.html#a029f9d31c03e2ec38ad8c72ff1279746',1,'OliveAction']]], - ['setparameter',['setParameter',['../struct___a_effect.html#a328a2a0f8c25fbc8774c6a1f0f1a1262',1,'_AEffect']]], - ['shaders_5fare_5fenabled',['shaders_are_enabled',['../struct_runtime_config.html#a74857512218b41145afd697df666a8c4',1,'RuntimeConfig']]], - ['shadow_5fbool',['shadow_bool',['../class_text_effect.html#a3c515f07ba4f38e67d68756aebd1b3b0',1,'TextEffect']]], - ['shadow_5fcolor',['shadow_color',['../class_text_effect.html#af8bbeb18077b10ab7f95adcd21e8ed49',1,'TextEffect']]], - ['shadow_5fdistance',['shadow_distance',['../class_text_effect.html#a1fcf63d34adb5579a91b6e9b46ce16fc',1,'TextEffect']]], - ['shadow_5fopacity',['shadow_opacity',['../class_text_effect.html#a82f18a6c625a9e5072c15fd5391b15ea',1,'TextEffect']]], - ['shadow_5fsoftness',['shadow_softness',['../class_text_effect.html#a0d284c4da163f61732719c4aa629c6be',1,'TextEffect']]], - ['share_5fctx',['share_ctx',['../class_render_thread.html#a81d0746d55ed54c1f8377b14700b8dc2',1,'RenderThread']]], - ['shortlabel',['shortLabel',['../struct___vst_parameter_properties.html#a5c3a160a3edcd1db195feb85b091a3ca',1,'_VstParameterProperties']]], - ['show_5fall',['show_all',['../class_main_window.html#ac02db0f29d95512520bdd2287eef4a93',1,'MainWindow']]], - ['show_5ferr',['show_err',['../class_load_thread.html#a92ef922f2225110400c9642b3a8475b2',1,'LoadThread']]], - ['show_5ffullscreen_5fmsg',['show_fullscreen_msg',['../class_viewer_window.html#a6c6a7648d7fe8c4b2f54c9c18856a404',1,'ViewerWindow']]], - ['show_5finterface_5fbtn',['show_interface_btn',['../class_v_s_t_host.html#a01ec506d385d0e2e49f60f2bd370412b',1,'VSTHost']]], - ['show_5fproject_5ftoolbar',['show_project_toolbar',['../struct_config.html#a90b90dea81c95c5248c5fc5c299ef646',1,'Config']]], - ['show_5fsequences',['show_sequences',['../class_project_filter.html#a71d9eb1c1b6ad743ff5769104291ac76',1,'ProjectFilter']]], - ['show_5ftitle_5fsafe_5farea',['show_title_safe_area',['../struct_config.html#a913f00b13f5695d2f4ea9aa8dccb130e',1,'Config']]], - ['show_5ftrack_5flines',['show_track_lines',['../struct_config.html#ade2b22690693cb77c196171f1426ff03',1,'Config']]], - ['showing_5fall',['showing_all',['../class_timeline.html#a0e68f624863c1fecb9e4348abf7fac8e',1,'Timeline']]], - ['single_5fthreaded',['single_threaded',['../struct_compose_sequence_params.html#ae3bc6f6e6766e44dfbd4f82b60f45689',1,'ComposeSequenceParams']]], - ['sinx',['sinX',['../class_tone_effect.html#a337148827c724001ee8301a1c9223e24',1,'ToneEffect']]], - ['size_5fcombobox',['size_combobox',['../class_proxy_dialog.html#ae229245cc0170872272901d85c558887',1,'ProxyDialog']]], - ['size_5fmultiplier',['size_multiplier',['../struct_proxy_info.html#a87db25840a08533a3790a469bd6dc858',1,'ProxyInfo']]], - ['size_5fval',['size_val',['../class_text_effect.html#acaa015db37427167165a6645af34b67a',1,'TextEffect']]], - ['skip',['skip',['../class_proxy_generator.html#ada904e800c9a2fb3993e2c5faf6734b5',1,'ProxyGenerator']]], - ['slide_5ftool_5faction',['slide_tool_action',['../class_main_window.html#a8f7b4eb6f33f7ca0431b824693eebb26',1,'MainWindow']]], - ['slider_5fproxies',['slider_proxies',['../class_graph_editor.html#ac78ededbfccd64f419b5159734504662',1,'GraphEditor']]], - ['slider_5fproxy_5fbuttons',['slider_proxy_buttons',['../class_graph_editor.html#a1c6464140ffc2b450204cc08c3c7e082',1,'GraphEditor']]], - ['slider_5fproxy_5fsources',['slider_proxy_sources',['../class_graph_editor.html#aee12f99c1e1fe0caa8cb7686313693b7',1,'GraphEditor']]], - ['slip_5ftool_5faction',['slip_tool_action',['../class_main_window.html#ad18ac1f15570b946b85026c023ec1035',1,'MainWindow']]], - ['smallstepfloat',['smallStepFloat',['../struct___vst_parameter_properties.html#a336751dba8c724f9c1c4090652d00373',1,'_VstParameterProperties']]], - ['smooth_5fautoscroll',['smooth_autoscroll',['../class_main_window.html#a16d6c4199ddb461d293cfed60adee339',1,'MainWindow']]], - ['smpteframerate',['smpteFrameRate',['../struct___vst_time_info.html#a29584d969fcf53d1944028a0130167a9',1,'_VstTimeInfo']]], - ['smpteoffset',['smpteOffset',['../struct___vst_time_info.html#ab270c5967b6ae187c56cc9da4bca262a',1,'_VstTimeInfo']]], - ['snap_5fpoint',['snap_point',['../class_timeline.html#ad927d85e616749d642f9dad63d782637',1,'Timeline']]], - ['snap_5ftoggle',['snap_toggle',['../class_main_window.html#aff042b3b66152589138ee7ac95349e93',1,'MainWindow']]], - ['snapped',['snapped',['../class_timeline.html#ab999a31e89f51e359ec7b57ade792d88',1,'Timeline']]], - ['snapping',['snapping',['../class_timeline.html#a1a6c7e2b4ee7829c2707b844a0e2aa08',1,'Timeline::snapping()'],['../class_timeline_header.html#afe83149829832ebbb18e6ed80cf26e57',1,'TimelineHeader::snapping()']]], - ['snappingbutton',['snappingButton',['../class_timeline.html#a132745770484118225d6b3ace05d16fa',1,'Timeline']]], - ['solid_5fcolor_5ffield',['solid_color_field',['../class_solid_effect.html#ad9e348fdb2b36961070f2903dcf5b6b8',1,'SolidEffect']]], - ['solid_5ftype',['solid_type',['../class_solid_effect.html#afa8e5882e65821fb4992053f2b24cc36',1,'SolidEffect']]], - ['sorted',['sorted',['../class_delete_marker_action.html#a2e05be25ab252184f10f0fba416705b9',1,'DeleteMarkerAction']]], - ['sorter',['sorter',['../class_project.html#a222f707f8fa09312339ae0936c70296d',1,'Project']]], - ['sources_5fcommon',['sources_common',['../class_project.html#a06614a32d5d5ec981d99cfd91e6f41d0',1,'Project']]], - ['speed',['speed',['../class_clip.html#aa36a857cdf853a621fbc77d930f3d7f2',1,'Clip::speed()'],['../struct_footage.html#a9b0a1c9020039c24d3acc0da3ab00764',1,'Footage::speed()']]], - ['split_5fcache',['split_cache',['../class_timeline.html#ad920d274cf7d20dca40579a3b03421a0',1,'Timeline']]], - ['split_5ftracks',['split_tracks',['../class_timeline.html#a4d2ecb3699190da79c8c2b8428ea44d4',1,'Timeline']]], - ['splitting',['splitting',['../class_timeline.html#a429e16260f5dc7822ef4ef575b0333b4',1,'Timeline']]], - ['start_5fframe',['start_frame',['../struct_export_params.html#a890195e061f6d065e65d4c72d83017c0',1,'ExportParams']]], - ['start_5fmsecs',['start_msecs',['../class_viewer.html#a586497d87b294d193bdf57d731142234',1,'Viewer']]], - ['start_5fx',['start_x',['../class_graph_view.html#a9a746dc63b6c68b1d88412a9378b705b',1,'GraphView']]], - ['start_5fy',['start_y',['../class_graph_view.html#aa0d54828264ed89452695c2913b5880a',1,'GraphView']]], - ['stepfloat',['stepFloat',['../struct___vst_parameter_properties.html#a386c298aa7d9eb8a1fee1395f9c3eac7',1,'_VstParameterProperties']]], - ['stepinteger',['stepInteger',['../struct___vst_parameter_properties.html#aa90086019bfcb9e0614484101a93854a',1,'_VstParameterProperties']]], - ['stream',['stream',['../class_clip.html#a47483ce394883e886eba4ead0abf268a',1,'Clip']]], - ['subtype',['subtype',['../struct_effect_meta.html#aae8890eea2957bdaf23503f0024b89e2',1,'EffectMeta']]], - ['surface',['surface',['../class_export_thread.html#a51de400208101c726d9595075dcef83f',1,'ExportThread::surface()'],['../class_render_thread.html#a72055fd9e69a053c4922ce85dac8d4dc',1,'RenderThread::surface()']]], - ['swr_5fctx',['swr_ctx',['../class_export_thread.html#a0e9e26ac853c63170574b579c414aa22',1,'ExportThread']]], - ['swr_5fframe',['swr_frame',['../class_export_thread.html#a737eff8c28e732eae96fd41e222eb75b',1,'ExportThread']]], - ['sws_5fctx',['sws_ctx',['../class_export_thread.html#acd6a226998bcf25a550658362d85efdf',1,'ExportThread']]], - ['sws_5fframe',['sws_frame',['../class_export_thread.html#a8e365fa49d5dbc83d2b7e8c8396843d6',1,'ExportThread']]] -]; diff --git a/docs/html/search/variables_13.html b/docs/html/search/variables_13.html deleted file mode 100644 index ef6d36cf3..000000000 --- a/docs/html/search/variables_13.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_13.js b/docs/html/search/variables_13.js deleted file mode 100644 index 36ce30095..000000000 --- a/docs/html/search/variables_13.js +++ /dev/null @@ -1,106 +0,0 @@ -var searchData= -[ - ['target',['target',['../class_set_q_variant.html#ac511d75325cc0ce1284adefaaf9017a9',1,'SetQVariant']]], - ['tc_5fselect',['tc_select',['../class_timecode_effect.html#a0fed8b0a5e9b9b23c1a93a7a05012802',1,'TimecodeEffect']]], - ['temp_5fenc_5fcodec',['temp_enc_codec',['../proxygenerator_8cpp.html#a8cbb77510c6fdc74c6b4dfcde0862ca8',1,'proxygenerator.cpp']]], - ['temp_5fid',['temp_id',['../class_media.html#a365017b95dc81fcbc3262439d9e4c847',1,'Media']]], - ['temp_5fid2',['temp_id2',['../class_media.html#a38432411796e938a9dc7c49d92d9d370',1,'Media']]], - ['temp_5fpanel_5fstate',['temp_panel_state',['../class_main_window.html#a2fec527668af97764387fa340dd26cc0',1,'MainWindow']]], - ['temp_5fworkarea_5fin',['temp_workarea_in',['../class_timeline_header.html#a1954ef6014d2d7d82245fdcacf26e2b1',1,'TimelineHeader']]], - ['temp_5fworkarea_5fout',['temp_workarea_out',['../class_timeline_header.html#ad510760f3c5fd96be10087a58c53d34e',1,'TimelineHeader']]], - ['tempo',['tempo',['../struct___vst_time_info.html#a6192a6d6c8539e3c9712dcfa5a4ac7e9',1,'_VstTimeInfo']]], - ['tex_5fheight',['tex_height',['../class_render_thread.html#a99ffc30d3601a3aeac0e1e16d9894878',1,'RenderThread']]], - ['tex_5fwidth',['tex_width',['../class_render_thread.html#af8446d4f16585121caf7c46984e4e29a',1,'RenderThread']]], - ['text',['text',['../class_text_edit_ex.html#a71631bba685bc758d3d604b1caf452ca',1,'TextEditEx']]], - ['text_5fenabled',['text_enabled',['../class_timeline_header.html#a2fef68afe145e041fa0cd6d9475cc8ea',1,'TimelineHeader']]], - ['text_5fval',['text_val',['../class_text_effect.html#a88a6e41f96fe84c74cdf37f535d9605d',1,'TextEffect']]], - ['textedit',['textEdit',['../class_debug_dialog.html#a02b5385d14d2e09c46ec6a0ed86991b5',1,'DebugDialog::textEdit()'],['../class_text_edit_dialog.html#a9f609715de7932ad555ce15ec1f0cd6f',1,'TextEditDialog::textEdit()']]], - ['texture',['texture',['../class_clip.html#a7f8cf4df016016ab3afe902832fe46b6',1,'Clip::texture()'],['../class_effect.html#a0268b161503df8d8fb180dd266686bfa',1,'Effect::texture()'],['../class_viewer_window.html#a35a903174b31a56d9b7faedace7f4cdf',1,'ViewerWindow::texture()']]], - ['texture_5ffailed',['texture_failed',['../struct_compose_sequence_params.html#a66ee6093b239f9a46d83a729a0f702ba',1,'ComposeSequenceParams::texture_failed()'],['../class_render_thread.html#a9bd4da1cf77b84c3f9d5517a3686072b',1,'RenderThread::texture_failed()']]], - ['texture_5fframe',['texture_frame',['../class_clip.html#a0803c21026f6857762b3f754131f4883',1,'Clip']]], - ['texturebottomleftq',['textureBottomLeftQ',['../struct_g_l_texture_coords.html#aeae97ad8c2404e94b6885c0cbdb453de',1,'GLTextureCoords']]], - ['texturebottomleftx',['textureBottomLeftX',['../struct_g_l_texture_coords.html#aac58563744038d283efe756a9b3668b0',1,'GLTextureCoords']]], - ['texturebottomlefty',['textureBottomLeftY',['../struct_g_l_texture_coords.html#a8221ab9a2ca698e09357c8080cf67afc',1,'GLTextureCoords']]], - ['texturebottomrightq',['textureBottomRightQ',['../struct_g_l_texture_coords.html#a9c6e8f6f3378ce99f08e68c85109d630',1,'GLTextureCoords']]], - ['texturebottomrightx',['textureBottomRightX',['../struct_g_l_texture_coords.html#a28a761e698428cf41a56d5b9afd312b0',1,'GLTextureCoords']]], - ['texturebottomrighty',['textureBottomRightY',['../struct_g_l_texture_coords.html#a2be852d624ec65cad4647b7f33217677',1,'GLTextureCoords']]], - ['texturetopleftq',['textureTopLeftQ',['../struct_g_l_texture_coords.html#a694962e105a858ff73b86eaa517a693e',1,'GLTextureCoords']]], - ['texturetopleftx',['textureTopLeftX',['../struct_g_l_texture_coords.html#aa3e2e80d3ab34b97e490bd5cdba1089e',1,'GLTextureCoords']]], - ['texturetoplefty',['textureTopLeftY',['../struct_g_l_texture_coords.html#a53ecb931381c64651b2146871cc0464e',1,'GLTextureCoords']]], - ['texturetoprightq',['textureTopRightQ',['../struct_g_l_texture_coords.html#ac70437213a9d4540eba78d83774fbff1',1,'GLTextureCoords']]], - ['texturetoprightx',['textureTopRightX',['../struct_g_l_texture_coords.html#a7c9394a6779db7c7204300c804e16b16',1,'GLTextureCoords']]], - ['texturetoprighty',['textureTopRightY',['../struct_g_l_texture_coords.html#a020cc39a725167580ddd93000b2c31ca',1,'GLTextureCoords']]], - ['throbber_5fanimation_5fframe_5f',['throbber_animation_frame_',['../class_media_icon_service.html#a982237139d151d002f13992293a75c6e',1,'MediaIconService']]], - ['throbber_5fanimator_5f',['throbber_animator_',['../class_media_icon_service.html#a2693b8b0505d1da072c3b932426e6dd4',1,'MediaIconService']]], - ['throbber_5fitems_5f',['throbber_items_',['../class_media_icon_service.html#ab6463d30130baefb5eee4b90e023dc28',1,'MediaIconService']]], - ['throbber_5flock_5f',['throbber_lock_',['../class_media_icon_service.html#ad232b726d9dcf058d4feab52bc2711d0',1,'MediaIconService']]], - ['throbber_5fpixmap_5f',['throbber_pixmap_',['../class_media_icon_service.html#aa93ad15f725ca496f1de11c0450d28df',1,'MediaIconService']]], - ['thumbnail_5fres_5fspinbox',['thumbnail_res_spinbox',['../class_preferences_dialog.html#af8b2f4a5fcad500882d33d2f9aa911a9',1,'PreferencesDialog']]], - ['thumbnail_5fresolution',['thumbnail_resolution',['../struct_config.html#af6e3af5d3e1c47c439ded5164df3119f',1,'Config']]], - ['time',['time',['../class_effect_keyframe.html#af970dc59f108ff14ef58eaa1a1ef0798',1,'EffectKeyframe::time()'],['../class_add_marker_action.html#a8438ceb79b9310d0292427d2f3828259',1,'AddMarkerAction::time()']]], - ['timecode_5fview',['timecode_view',['../struct_config.html#a11feea70575afedc5989f357f345b1ac',1,'Config']]], - ['timeline_5farea',['timeline_area',['../class_timeline.html#ae16c8141b07cc7b2dd71bde668eca49b',1,'Timeline']]], - ['timeline_5fin',['timeline_in',['../class_clip.html#a01da5e208ad27543ed25a547aff60cb7',1,'Clip']]], - ['timeline_5fout',['timeline_out',['../class_clip.html#aa6bae9bd222c7924b899c565b87fd5ba',1,'Clip']]], - ['timesigdenominator',['timeSigDenominator',['../struct___vst_time_info.html#a1b2bd58080d38a64efab7a6fe5704409',1,'_VstTimeInfo']]], - ['timesignumerator',['timeSigNumerator',['../struct___vst_time_info.html#ab6159414f43d562748a22ca639ea0805',1,'_VstTimeInfo']]], - ['title_5fbar',['title_bar',['../class_collapsible_widget.html#ac7a24450fff0f6ad906c439c2091fb24',1,'CollapsibleWidget']]], - ['title_5fbar_5flayout',['title_bar_layout',['../class_collapsible_widget.html#a1639c6211fd6d0dbafe310ee4b14c3c5',1,'CollapsibleWidget']]], - ['title_5fsafe_5f169',['title_safe_169',['../class_main_window.html#a3980c38d89adc6b8d0c9a0ae7ec11d9b',1,'MainWindow']]], - ['title_5fsafe_5f43',['title_safe_43',['../class_main_window.html#a911ea66c83e2894e71245650fabdf11a',1,'MainWindow']]], - ['title_5fsafe_5fcustom',['title_safe_custom',['../class_main_window.html#a04c50d99b7286c287238f0581c9e633e',1,'MainWindow']]], - ['title_5fsafe_5fdefault',['title_safe_default',['../class_main_window.html#aafaad55b601afeb14ba45593b7ed7e79',1,'MainWindow']]], - ['title_5fsafe_5foff',['title_safe_off',['../class_main_window.html#abdaf884d0b3a191b2b44973f51af154c',1,'MainWindow']]], - ['to',['to',['../class_media_move.html#a35cb2347b35850088756b3f7f0fb64b4',1,'MediaMove::to()'],['../class_media_rename.html#a528404a2a1bfac716d61e07bded20aa0',1,'MediaRename::to()'],['../class_move_effect_command.html#a0486112e22c21b773a616a509a3a515e',1,'MoveEffectCommand::to()']]], - ['tool',['tool',['../class_timeline.html#a5bcd297b6b4cfc08fe4999e2daf745a3',1,'Timeline']]], - ['tool_5fbutton_5fwidget',['tool_button_widget',['../class_timeline.html#aba356b1d8aabfde8e647b0590f890464',1,'Timeline']]], - ['tool_5fbuttons',['tool_buttons',['../class_timeline.html#a7acf0dd881d42fce85f7fe6f2691db7a',1,'Timeline']]], - ['toolarrowbutton',['toolArrowButton',['../class_timeline.html#a0a2de91fb39240de7f4f7fc68c48ab95',1,'Timeline']]], - ['toolbar_5fsearch',['toolbar_search',['../class_project.html#ad138604a2a599e84083e27a07bea0d36',1,'Project']]], - ['toolbar_5fwidget',['toolbar_widget',['../class_project.html#aeb3af8c9320e23f00c97fe5e9be1cfda',1,'Project']]], - ['tooleditbutton',['toolEditButton',['../class_timeline.html#a57570e3128f55a443251c1c8a5de98d0',1,'Timeline']]], - ['toolhandbutton',['toolHandButton',['../class_timeline.html#ab3b28a3c9f242ae5f5669647cbd0984e',1,'Timeline']]], - ['toolrazorbutton',['toolRazorButton',['../class_timeline.html#a47b98aa4949745d8d75e6fd4507b1911',1,'Timeline']]], - ['toolripplebutton',['toolRippleButton',['../class_timeline.html#ac72386eabe65830a5a4541849c521c71',1,'Timeline']]], - ['toolslidebutton',['toolSlideButton',['../class_timeline.html#aaac686ac73cc953d833c59aed15767c3',1,'Timeline']]], - ['toolslipbutton',['toolSlipButton',['../class_timeline.html#a3ee296eefbe3a97d60d8f8a8a6d3d55d',1,'Timeline']]], - ['tooltip',['tooltip',['../struct_effect_meta.html#aa4dc08935ee3c7877820f34c076182a5',1,'EffectMeta::tooltip()'],['../class_media.html#aff5946c600f6504e3799b044a8111fc3',1,'Media::tooltip()']]], - ['tooltip_5fclip',['tooltip_clip',['../class_timeline_widget.html#a368861b383a02f7e40d1ec7ac6a01c40',1,'TimelineWidget']]], - ['tooltip_5ftimer',['tooltip_timer',['../class_timeline_widget.html#a4634679d19a6688ef98e14572daef43d',1,'TimelineWidget']]], - ['tooltransitionbutton',['toolTransitionButton',['../class_timeline.html#a511e2dae85fb6badc139852b417eb08d',1,'Timeline']]], - ['top',['top',['../struct_v_s_t_rect.html#ac3f7a1cb703ce6b84aecb2f55a18e5c4',1,'VSTRect']]], - ['top_5fcenter_5fgizmo',['top_center_gizmo',['../class_transform_effect.html#a9028cabcb840be84fac3722b81371930',1,'TransformEffect']]], - ['top_5fleft_5fgizmo',['top_left_gizmo',['../class_corner_pin_effect.html#a57586bc302a13be83ec329f8415d7c8b',1,'CornerPinEffect::top_left_gizmo()'],['../class_transform_effect.html#adbdc1226d4804f5d8bda78f1585d2cfb',1,'TransformEffect::top_left_gizmo()']]], - ['top_5fleft_5fx',['top_left_x',['../class_corner_pin_effect.html#acfdad0a879f51975d0d1da9e8e16a152',1,'CornerPinEffect']]], - ['top_5fleft_5fy',['top_left_y',['../class_corner_pin_effect.html#ad84ebb2d169a252a176f43eb5f4e48ea',1,'CornerPinEffect']]], - ['top_5fright_5fgizmo',['top_right_gizmo',['../class_corner_pin_effect.html#a7357bdd37f32dea25992fb4463e7d546',1,'CornerPinEffect::top_right_gizmo()'],['../class_transform_effect.html#a083e96b371dddae8f9087a0d4391587d',1,'TransformEffect::top_right_gizmo()']]], - ['top_5fright_5fx',['top_right_x',['../class_corner_pin_effect.html#a66067b315f157660bc879bd2e45163c7',1,'CornerPinEffect']]], - ['top_5fright_5fy',['top_right_y',['../class_corner_pin_effect.html#a542f7fc27dbe236a8f3c7680127da021',1,'CornerPinEffect']]], - ['total_5felement_5fcount',['total_element_count',['../class_load_thread.html#adf282ca6df51de613b1691a561f4c269',1,'LoadThread']]], - ['track',['track',['../struct_ghost.html#a232acead57fa7c19e18c6900428a91a0',1,'Ghost::track()'],['../class_clip.html#a3ce803fe2abee7608154a1d0c508090b',1,'Clip::track()'],['../struct_selection.html#ac248f9db579185fe71c3961a17e6c7bd',1,'Selection::track()']]], - ['track_5fheights',['track_heights',['../class_timeline.html#ab6f12e222f6ec6e931bb920e5f2eabd7',1,'Timeline']]], - ['track_5flines',['track_lines',['../class_main_window.html#a02e872dc2dd3ceefe8a696dd17b15a9f',1,'MainWindow']]], - ['track_5flist',['track_list',['../class_media_properties_dialog.html#aff18a1576e00471bc96812262d9124e7',1,'MediaPropertiesDialog']]], - ['track_5fresizing',['track_resizing',['../class_timeline_widget.html#a647df0c815a6348f8e2865d6a946c036',1,'TimelineWidget']]], - ['track_5ftarget',['track_target',['../class_timeline_widget.html#a4c1fc14303528f45edfeac5d4438114e',1,'TimelineWidget']]], - ['transition',['transition',['../struct_ghost.html#a8909a809acc44fb1f71054878e4f7fc5',1,'Ghost']]], - ['transition_5fmeta_5f',['transition_meta_',['../class_add_transition_command.html#a6ada0712ab493c63f62b8ace3b1388d0',1,'AddTransitionCommand']]], - ['transition_5fref_5f',['transition_ref_',['../class_modify_transition_command.html#a5dd930bf0c35ec34d13ac35f29f06c0d',1,'ModifyTransitionCommand::transition_ref_()'],['../class_delete_transition_command.html#ab6afd0bb978c8c0fc0127636d5a1296c',1,'DeleteTransitionCommand::transition_ref_()']]], - ['transition_5fselect',['transition_select',['../class_timeline.html#a5518b21518367ffecc3a148e68edd300',1,'Timeline']]], - ['transition_5fto_5fcopy_5f',['transition_to_copy_',['../class_add_transition_command.html#ac723b97aa1a88a3540e01a66440b0b18',1,'AddTransitionCommand']]], - ['transition_5ftool_5faction',['transition_tool_action',['../class_main_window.html#aa9656676df62f4e968c1e11f69462cdd',1,'MainWindow']]], - ['transition_5ftool_5fclose_5fclip',['transition_tool_close_clip',['../class_timeline.html#ad13a23d26f96d294c9da68c80da5ea45',1,'Timeline']]], - ['transition_5ftool_5finit',['transition_tool_init',['../class_timeline.html#a103220316fa35b8ebc01f73d7ac20e11',1,'Timeline']]], - ['transition_5ftool_5fmeta',['transition_tool_meta',['../class_timeline.html#ab7e1de8cae0dc6ad5a1cfa40bc57fdcc',1,'Timeline']]], - ['transition_5ftool_5fopen_5fclip',['transition_tool_open_clip',['../class_timeline.html#a23d0cc61d346fcb83c98f4ae3551fb2c',1,'Timeline']]], - ['transition_5ftool_5fproc',['transition_tool_proc',['../class_timeline.html#a61edf25604d0d4608b75d472c81dc088',1,'Timeline']]], - ['transition_5ftool_5fside',['transition_tool_side',['../class_timeline.html#a2270318042895e56c1935cd85059859a',1,'Timeline']]], - ['translator',['translator',['../class_olive_global.html#a169a70f162ce78741c41ae14bf6c88bc',1,'OliveGlobal']]], - ['tree',['tree',['../class_replace_clip_media_dialog.html#a6d2dc7ce1a28cb2a524c64d72b4353af',1,'ReplaceClipMediaDialog']]], - ['tree_5fview',['tree_view',['../class_project.html#ab8a4a2becccc0566510cac2cd213801e',1,'Project']]], - ['trim_5fin',['trim_in',['../struct_selection.html#a78cea0389e54eb94df8b655731052d3c',1,'Selection']]], - ['trim_5ftarget',['trim_target',['../class_timeline.html#abefa5bda6a497bb3d5131a3d283bc7fc',1,'Timeline']]], - ['trim_5ftype',['trim_type',['../struct_ghost.html#a8227360ec3d7269986a0060c9e10e768',1,'Ghost::trim_type()'],['../class_timeline.html#a0df4abb3e1cccdd409964cee26b7b604',1,'Timeline::trim_type()']]], - ['type',['type',['../struct___vst_midi_event.html#a42edb733588a818462895da6f805efe6',1,'_VstMidiEvent::type()'],['../struct_effect_meta.html#a9c2d2690cb99d135c0ea7928be8608ff',1,'EffectMeta::type()'],['../class_effect_field.html#adab406c9d409ac00b4acba4f54f0d04a',1,'EffectField::type()'],['../class_effect_gizmo.html#a6ca570fc63e7fcb4f084fe5ab9ed5144',1,'EffectGizmo::type()'],['../class_effect_keyframe.html#a09e75b0b6a7e006ed5e0e4429cb1b5ed',1,'EffectKeyframe::type()'],['../class_media.html#a1e6cc2ab25b503593e4558b350aee716',1,'Media::type()']]], - ['type_5fval',['type_val',['../class_tone_effect.html#a2e790bcb4d5aece938dd9903542db16a',1,'ToneEffect']]] -]; diff --git a/docs/html/search/variables_14.html b/docs/html/search/variables_14.html deleted file mode 100644 index 305ea5376..000000000 --- a/docs/html/search/variables_14.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_14.js b/docs/html/search/variables_14.js deleted file mode 100644 index abc52bb6d..000000000 --- a/docs/html/search/variables_14.js +++ /dev/null @@ -1,27 +0,0 @@ -var searchData= -[ - ['ui',['ui',['../class_effect.html#aa9b41501e888b96745e3d6b79c9b7a95',1,'Effect::ui()'],['../class_effect_row.html#ae910670374f71161072afc7ef77edcba',1,'EffectRow::ui()']]], - ['ui_5felement',['ui_element',['../class_effect_field.html#a6468253517cf9b5daf00a9edc1fb5cd3',1,'EffectField']]], - ['ui_5flayout',['ui_layout',['../class_effect.html#a68c960cf418decf51c62b2807fa92f7d',1,'Effect']]], - ['ui_5frow',['ui_row',['../class_effect_row.html#a8ad2b52ca48f026b1a4fdaea0b46e1a2',1,'EffectRow']]], - ['undeletable',['undeletable',['../class_clip.html#a3714b62b6cf5d7e9acbcfd7db165a582',1,'Clip']]], - ['undo_5faction',['undo_action',['../class_main_window.html#ae5d93804ebe8af57614b4951c09de9ab',1,'MainWindow']]], - ['undostack',['UndoStack',['../namespaceolive.html#a45d8824d54adc1b0ab260262c2ae24f3',1,'olive']]], - ['uniform_5fscale_5ffield',['uniform_scale_field',['../class_transform_effect.html#a675bc912871b8979d4bae429adf2b808',1,'TransformEffect']]], - ['uniqueid',['uniqueID',['../struct___a_effect.html#a376e250b3aa8887ae024afebddb551f9',1,'_AEffect']]], - ['unkown_5ffloat',['unkown_float',['../struct___a_effect.html#ae5718e40ed668233b907faad2a525bad',1,'_AEffect']]], - ['unsafe_5fkeys',['unsafe_keys',['../class_effect_row.html#a79d678a6bb3658395b31ddf01e38cbe8',1,'EffectRow']]], - ['unsafe_5fold_5fdata',['unsafe_old_data',['../class_effect_row.html#aa5bf8b85369c07e3808d256682832e00',1,'EffectRow']]], - ['upcoming_5fqueue_5fsize',['upcoming_queue_size',['../struct_config.html#afbe2216c2843faec2c8c4a0cb7fa5560',1,'Config']]], - ['upcoming_5fqueue_5fspinbox',['upcoming_queue_spinbox',['../class_preferences_dialog.html#aa03458c49f040928cfe922ab50936143',1,'PreferencesDialog']]], - ['upcoming_5fqueue_5ftype',['upcoming_queue_type',['../class_preferences_dialog.html#a8de179ce1251d937efa3b581f5b5c167',1,'PreferencesDialog::upcoming_queue_type()'],['../struct_config.html#ad59a3771a143ff08903457f21fc8f6d6',1,'Config::upcoming_queue_type()']]], - ['url',['url',['../struct_footage.html#ab57c403e5fdd0c44cd6b2a79f8ec3bae',1,'Footage']]], - ['use_5fcustom_5ftitle_5fsafe_5fratio',['use_custom_title_safe_ratio',['../struct_config.html#abffe7c5f55e4c75db3e6913729152586',1,'Config']]], - ['use_5fexisting_5fframe',['use_existing_frame',['../class_clip.html#a4218bc22acc4edd81d43a65ce5805b45',1,'Clip']]], - ['use_5fsame_5fmedia_5fin_5fpoints',['use_same_media_in_points',['../class_replace_clip_media_dialog.html#ab25d51ca75e7c314ef5f4c1c9edfb4e8',1,'ReplaceClipMediaDialog']]], - ['use_5fsoftware_5ffallback',['use_software_fallback',['../struct_config.html#a4a5da0346cd44cb483a5c40e8a499967',1,'Config']]], - ['use_5fsoftware_5ffallbacks_5fcheckbox',['use_software_fallbacks_checkbox',['../class_preferences_dialog.html#a94cdea847740184a3dc52e2d39ed51ab',1,'PreferencesDialog']]], - ['user',['user',['../struct___a_effect.html#a1a0f94f9ceced5ee165122c8be215c0f',1,'_AEffect']]], - ['using_5finout',['using_inout',['../struct_footage.html#aac4c8266c3e8c1fa462204020efc9663',1,'Footage']]], - ['using_5fworkarea',['using_workarea',['../class_sequence.html#a043f520a7d939cb593a540b949fe950e',1,'Sequence']]] -]; diff --git a/docs/html/search/variables_15.html b/docs/html/search/variables_15.html deleted file mode 100644 index 8c9bf77bc..000000000 --- a/docs/html/search/variables_15.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_15.js b/docs/html/search/variables_15.js deleted file mode 100644 index e6a1815ba..000000000 --- a/docs/html/search/variables_15.js +++ /dev/null @@ -1,61 +0,0 @@ -var searchData= -[ - ['valign_5ffield',['valign_field',['../class_text_effect.html#a8c2fb33f5c575af674beb39e80c1c43f',1,'TextEffect']]], - ['value',['value',['../class_font_combobox.html#a02d6148045efe513c7b4df7ee81c42b8',1,'FontCombobox']]], - ['value_5flayout',['value_layout',['../class_graph_editor.html#a977313e71194daaca770717ac76c8529',1,'GraphEditor']]], - ['values',['values',['../class_audio_monitor.html#ad43ca2c66dafcbefdd068c2a3cf1da3c',1,'AudioMonitor']]], - ['vcodec',['vcodec',['../class_export_thread.html#af73c94e29a0e09025b0ebf66723bbe76',1,'ExportThread']]], - ['vcodec_5fctx',['vcodec_ctx',['../class_export_thread.html#a24560a787ab2ab7fa2483efcf14b8468',1,'ExportThread']]], - ['vcodec_5fparams',['vcodec_params',['../class_export_dialog.html#ada3722c418fca3c4620799b9fdb6e7e4',1,'ExportDialog::vcodec_params()'],['../class_export_thread.html#a662712aaf9f725b7a1d9eab1f9065773',1,'ExportThread::vcodec_params()']]], - ['vcodeccombobox',['vcodecCombobox',['../class_export_dialog.html#a4608cce22479d2660d6837d675dafbdc',1,'ExportDialog']]], - ['vcontainer',['vcontainer',['../class_effect_controls.html#a3fe236e1a139bb90c6e79f08e61deaa2',1,'EffectControls']]], - ['version',['version',['../struct___a_effect.html#a0ac4f8d2b9366f10fe0103657f35cc5c',1,'_AEffect']]], - ['vert_5fstart',['vert_start',['../class_viewer_container.html#a18fd287245fa5d5c98e9104958bf5c45',1,'ViewerContainer']]], - ['vertexbottomleftx',['vertexBottomLeftX',['../struct_g_l_texture_coords.html#ade1c385ddb667704462e233cbe07cf1d',1,'GLTextureCoords']]], - ['vertexbottomlefty',['vertexBottomLeftY',['../struct_g_l_texture_coords.html#a09fddf141e3551e0a5f82715af742a9d',1,'GLTextureCoords']]], - ['vertexbottomleftz',['vertexBottomLeftZ',['../struct_g_l_texture_coords.html#a578b35bd4004f9aa5aea996e1d7b90cf',1,'GLTextureCoords']]], - ['vertexbottomrightx',['vertexBottomRightX',['../struct_g_l_texture_coords.html#a2607545ab5073d96a63f130d685b673c',1,'GLTextureCoords']]], - ['vertexbottomrighty',['vertexBottomRightY',['../struct_g_l_texture_coords.html#a630865979678be0969e753e0e44e9024',1,'GLTextureCoords']]], - ['vertexbottomrightz',['vertexBottomRightZ',['../struct_g_l_texture_coords.html#a27361a2e7a5b1996c9d9acfdf98071a4',1,'GLTextureCoords']]], - ['vertextopleftx',['vertexTopLeftX',['../struct_g_l_texture_coords.html#aa78c1267ed101308f313d14de37c6c9c',1,'GLTextureCoords']]], - ['vertextoplefty',['vertexTopLeftY',['../struct_g_l_texture_coords.html#a414382bef03ce437d291129cd316c858',1,'GLTextureCoords']]], - ['vertextopleftz',['vertexTopLeftZ',['../struct_g_l_texture_coords.html#a3271a6562b013a3080e998154ffe951c',1,'GLTextureCoords']]], - ['vertextoprightx',['vertexTopRightX',['../struct_g_l_texture_coords.html#a59ed5d4903a07f12f3351ae9126875c0',1,'GLTextureCoords']]], - ['vertextoprighty',['vertexTopRightY',['../struct_g_l_texture_coords.html#a19ce682123ec1fb8e7f7a5d801f2450a',1,'GLTextureCoords']]], - ['vertextoprightz',['vertexTopRightZ',['../struct_g_l_texture_coords.html#a8d6c82432d8507bc03a2d3b7d73c5b35',1,'GLTextureCoords']]], - ['vertical_5fscrollbar',['vertical_scrollbar',['../class_viewer_container.html#a4a26f84b96dd4479087f14be4c6bac85',1,'ViewerContainer']]], - ['verticalscrollbar',['verticalScrollBar',['../class_effect_controls.html#ac47c3bc06d52b83eaa0c370de8d797df',1,'EffectControls']]], - ['vertpath',['vertPath',['../class_effect.html#a4a9608c969ad18c2c5238e89ff6a9ae3',1,'Effect']]], - ['video',['video',['../struct_compose_sequence_params.html#ac2002668089d1fe63177933242f284d5',1,'ComposeSequenceParams']]], - ['video_5farea',['video_area',['../class_timeline.html#a22ac292fc19a4996f435aa6de3d20a66',1,'Timeline']]], - ['video_5fauto_5finterlacing',['video_auto_interlacing',['../struct_footage_stream.html#a8fdce76f6d07b9811e90381f59752738',1,'FootageStream']]], - ['video_5fbitrate',['video_bitrate',['../struct_export_params.html#a40881d50136607ece146b8ae0be5b238',1,'ExportParams']]], - ['video_5fcodec',['video_codec',['../struct_export_params.html#abae3737b038db1b5769a01c11c6b8e9c',1,'ExportParams']]], - ['video_5fcompression_5ftype',['video_compression_type',['../struct_export_params.html#aed19592f600367b62aab39d3583414a2',1,'ExportParams']]], - ['video_5feffect_5farea',['video_effect_area',['../class_effect_controls.html#a0a3da04824fd128c4819a0b7c47639b6',1,'EffectControls']]], - ['video_5fenabled',['video_enabled',['../struct_export_params.html#a520af159d7385ffc56059dd12991821b',1,'ExportParams']]], - ['video_5fframe',['video_frame',['../class_export_thread.html#aff1717381d96651c99f45997622dae07',1,'ExportThread']]], - ['video_5fframe_5frate',['video_frame_rate',['../struct_export_params.html#ac06412755d1e89ddde7391d4e5545e7e',1,'ExportParams::video_frame_rate()'],['../struct_footage_stream.html#a1dba22d40e787bdf551ef9be7dfc2049',1,'FootageStream::video_frame_rate()']]], - ['video_5fghosts',['video_ghosts',['../class_timeline.html#ad889a2d6eb633374326be645277cf9ea',1,'Timeline']]], - ['video_5fheight',['video_height',['../struct_export_params.html#ae3920e552a15b97737e0d07a7887b580',1,'ExportParams::video_height()'],['../struct_footage_stream.html#a6a3f3f00c154dc003711309be2b405b9',1,'FootageStream::video_height()']]], - ['video_5finterlacing',['video_interlacing',['../struct_footage_stream.html#a7f90fe9b9cdc335e252aa30f4d63e7d0',1,'FootageStream']]], - ['video_5fpkt',['video_pkt',['../class_export_thread.html#a8f727fbf8ddab7043523f8cd0f8da94e',1,'ExportThread']]], - ['video_5fpreview',['video_preview',['../struct_footage_stream.html#a9eb40a48ae36fba5ef624897826b2517',1,'FootageStream']]], - ['video_5fpreview_5fsquare',['video_preview_square',['../struct_footage_stream.html#a2a1363484296559ed07e355c55585401',1,'FootageStream']]], - ['video_5fstream',['video_stream',['../class_export_thread.html#a7cc8ba8c35e3df4f204d9f52a0c3659a',1,'ExportThread']]], - ['video_5ftracks',['video_tracks',['../struct_footage.html#a9ab4696d686e8a4df9a336c8c451a137',1,'Footage']]], - ['video_5fwidth',['video_width',['../struct_export_params.html#a9c0d11a470ccafc3994d99600b268740',1,'ExportParams::video_width()'],['../struct_footage_stream.html#ad3b2a05c13966bb6a08468fb6b3b82b2',1,'FootageStream::video_width()']]], - ['videobitratelabel',['videoBitrateLabel',['../class_export_dialog.html#a3fab6bac265a22f1c7e478dd2dd74457',1,'ExportDialog']]], - ['videobitratespinbox',['videobitrateSpinbox',['../class_export_dialog.html#a2a06199729fb045d3c9d49be34b3abb3',1,'ExportDialog']]], - ['videogroupbox',['videoGroupbox',['../class_export_dialog.html#a74553284228bd83778a58fa8bd66ac3f',1,'ExportDialog']]], - ['videoscrollbar',['videoScrollbar',['../class_timeline.html#abe6665254957a089f0ea9a26f1fcef07',1,'Timeline']]], - ['view',['view',['../class_graph_editor.html#a7bf5c30682b7054808a1835146458a07',1,'GraphEditor::view()'],['../class_sources_common.html#a945b6ddf75ccdf6a3a50876abc5a25ba',1,'SourcesCommon::view()']]], - ['viewer',['viewer',['../struct_compose_sequence_params.html#a14cd6939729b5280466954797512df90',1,'ComposeSequenceParams::viewer()'],['../class_timeline_header.html#a27890be426264e4430f7007cfcc25066',1,'TimelineHeader::viewer()'],['../class_viewer_container.html#a1343e57dbd1f7be120d23500478dba9c',1,'ViewerContainer::viewer()'],['../class_viewer_widget.html#a7effeff4ac898d5c0c413ea00df36a39',1,'ViewerWidget::viewer()']]], - ['viewer_5fcontainer',['viewer_container',['../class_viewer.html#ac1ec51a5c9e543fda8b929a169542f79',1,'Viewer']]], - ['viewer_5fwidget',['viewer_widget',['../class_viewer.html#a8aabede008cd650fe5b992013df01ea6',1,'Viewer']]], - ['visible_5fin',['visible_in',['../class_graph_view.html#a44c945c30cc06a91b31450f994fb6009',1,'GraphView::visible_in()'],['../class_keyframe_view.html#a357226b17785c5902c4fcdc3b21c0383',1,'KeyframeView::visible_in()']]], - ['visible_5fout',['visible_out',['../class_keyframe_view.html#a212564381a53d9478498783decfd3b9e',1,'KeyframeView']]], - ['void_5fmeta',['void_meta',['../class_void_effect.html#af648b7aaf5211aa00aed672513ffa382',1,'VoidEffect']]], - ['volume_5fval',['volume_val',['../class_volume_effect.html#aa4ac139a39cdbcc23cd71b341fb5a5ba',1,'VolumeEffect']]], - ['vpkt_5falloc',['vpkt_alloc',['../class_export_thread.html#a065ea0d0e913f9c5c41cc971663a3b7f',1,'ExportThread']]] -]; diff --git a/docs/html/search/variables_16.html b/docs/html/search/variables_16.html deleted file mode 100644 index 1061d0df9..000000000 --- a/docs/html/search/variables_16.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_16.js b/docs/html/search/variables_16.js deleted file mode 100644 index 0e3348be6..000000000 --- a/docs/html/search/variables_16.js +++ /dev/null @@ -1,22 +0,0 @@ -var searchData= -[ - ['waitcond',['waitCond',['../class_export_thread.html#afd10af15eceab6c0c901cfeec8dabd3f',1,'ExportThread::waitCond()'],['../class_load_thread.html#a2930c5ca72a662ec92574e2c6bd4e5e8',1,'LoadThread::waitCond()'],['../class_proxy_generator.html#ada485635217b7fe0808149dd84d192a0',1,'ProxyGenerator::waitCond()'],['../class_render_thread.html#a3fc0a84efc65e78abbf70be76c3ad17c',1,'RenderThread::waitCond()']]], - ['waveform',['waveform',['../class_viewer_widget.html#ae0bdfc98e9ee0b62299d7103078eb791',1,'ViewerWidget']]], - ['waveform_5fclip',['waveform_clip',['../class_viewer_widget.html#a37e87b0dc19e28fec8c2ce2cde4c3939',1,'ViewerWidget']]], - ['waveform_5fms',['waveform_ms',['../class_viewer_widget.html#aef8b234fecd32bafa04a94cc59459cb3',1,'ViewerWidget']]], - ['waveform_5fres_5fspinbox',['waveform_res_spinbox',['../class_preferences_dialog.html#a27a14a95ae56eedf25467b746d49f7e1',1,'PreferencesDialog']]], - ['waveform_5fresolution',['waveform_resolution',['../struct_config.html#aee3fd3d2a27260a445704470e51eee9b',1,'Config']]], - ['waveform_5fscroll',['waveform_scroll',['../class_viewer_widget.html#ae1fe1307125e8347e2df834334c67e91',1,'ViewerWidget']]], - ['waveform_5fzoom',['waveform_zoom',['../class_viewer_widget.html#a44a9e0093e663f565d62cd08886883d7',1,'ViewerWidget']]], - ['widgets',['widgets',['../class_effect_row.html#a9c07aa99f216331b4c8c332b5d9d433f',1,'EffectRow']]], - ['width',['width',['../class_sequence.html#a2736ec50ee5a6c789939c3ae93f8a686',1,'Sequence::width()'],['../class_edit_sequence_command.html#aa8ec12d9b7af5e02aa1910d4e20ebba5',1,'EditSequenceCommand::width()']]], - ['width_5fnumeric',['width_numeric',['../class_new_sequence_dialog.html#ab28e0e11c1f8bc04b2c6f8e3d55b2ae9',1,'NewSequenceDialog']]], - ['widthspinbox',['widthSpinbox',['../class_export_dialog.html#a25ce111f3b6cdd32cfb76809714b26ea',1,'ExportDialog']]], - ['window',['window',['../class_viewer_widget.html#abc1d7c0b5386fc06cebe5357ab616fda',1,'ViewerWidget']]], - ['window_5fmenu',['window_menu',['../class_main_window.html#ac0cafc5f531deb20ab4786f8a329f792',1,'MainWindow']]], - ['word_5fwrap_5ffield',['word_wrap_field',['../class_text_effect.html#ad5159a8f81b36a1ac2c8284227d1dc32',1,'TextEffect']]], - ['workarea_5fin',['workarea_in',['../class_sequence.html#ad69e1e8be669a78b47476ee4eecce47a',1,'Sequence']]], - ['workarea_5fout',['workarea_out',['../class_sequence.html#ad1c2f7e31bec776611a8fae8ca0e8ea6',1,'Sequence']]], - ['world_5fpos',['world_pos',['../class_effect_gizmo.html#ac5501492cf9f287be68b809a2e8043fa',1,'EffectGizmo']]], - ['wrapper_5fsequence',['wrapper_sequence',['../class_sequence.html#aa2e2304c1f66259b560e056c0fd12c91',1,'Sequence']]] -]; diff --git a/docs/html/search/variables_17.html b/docs/html/search/variables_17.html deleted file mode 100644 index 91e267db2..000000000 --- a/docs/html/search/variables_17.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_17.js b/docs/html/search/variables_17.js deleted file mode 100644 index 3324f6e8e..000000000 --- a/docs/html/search/variables_17.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['x_5ffield1',['x_field1',['../class_effect_gizmo.html#af86082b9efc02bd91e3d698bc330ace8',1,'EffectGizmo']]], - ['x_5ffield2',['x_field2',['../class_effect_gizmo.html#a517efb0436bfc4215fa1b358024d239c',1,'EffectGizmo']]], - ['x_5ffield_5fmulti1',['x_field_multi1',['../class_effect_gizmo.html#a0af31d9acc4204a4d0324350c7bec89a',1,'EffectGizmo']]], - ['x_5ffield_5fmulti2',['x_field_multi2',['../class_effect_gizmo.html#a759bc38c5514b972a76c61219dc39936',1,'EffectGizmo']]], - ['x_5fscroll',['x_scroll',['../class_graph_view.html#a263942d109edaecea70c92b4ed642b78',1,'GraphView::x_scroll()'],['../class_keyframe_view.html#a3497512625380a5d8949448b2ca68bc7',1,'KeyframeView::x_scroll()'],['../class_viewer_widget.html#ae2695ccb659452ac7c43c0328604131f',1,'ViewerWidget::x_scroll()']]], - ['x_5fzoom',['x_zoom',['../class_graph_view.html#a3cb6a9531c75b3d7f5bacdc607cdaffc',1,'GraphView']]], - ['xml_5ferror',['xml_error',['../class_load_thread.html#abb091e23cbe4c42f72ec4a385d2328b4',1,'LoadThread']]] -]; diff --git a/docs/html/search/variables_18.html b/docs/html/search/variables_18.html deleted file mode 100644 index 19e40c9a1..000000000 --- a/docs/html/search/variables_18.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_18.js b/docs/html/search/variables_18.js deleted file mode 100644 index e7c08cbda..000000000 --- a/docs/html/search/variables_18.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['y_5ffield1',['y_field1',['../class_effect_gizmo.html#a136391c587a5cdcc13672537b3a1a4ad',1,'EffectGizmo']]], - ['y_5ffield2',['y_field2',['../class_effect_gizmo.html#a6c2d8a9f0732ae2850d6937970f98c33',1,'EffectGizmo']]], - ['y_5ffield_5fmulti1',['y_field_multi1',['../class_effect_gizmo.html#ac9693ab179d77b4551bc0a006beda8b2',1,'EffectGizmo']]], - ['y_5ffield_5fmulti2',['y_field_multi2',['../class_effect_gizmo.html#a1fd57fc6d71c964e31d034ce37c8bc91',1,'EffectGizmo']]], - ['y_5fscroll',['y_scroll',['../class_graph_view.html#a5b13afa1337fa87998bc3dcb4a1db482',1,'GraphView::y_scroll()'],['../class_keyframe_view.html#a383b792c90ca1e2f6175e286b7d483f1',1,'KeyframeView::y_scroll()'],['../class_viewer_widget.html#a4fa31b1e6365726f7cecbb5adb9c82d4',1,'ViewerWidget::y_scroll()']]], - ['y_5fzoom',['y_zoom',['../class_graph_view.html#ae3a0090481974bb472729982d03fee9c',1,'GraphView']]] -]; diff --git a/docs/html/search/variables_19.html b/docs/html/search/variables_19.html deleted file mode 100644 index f2e103f63..000000000 --- a/docs/html/search/variables_19.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_19.js b/docs/html/search/variables_19.js deleted file mode 100644 index 0939041fb..000000000 --- a/docs/html/search/variables_19.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['zoom',['zoom',['../class_effect_controls.html#a7f65dcddc371768e42feda21e545a95a',1,'EffectControls::zoom()'],['../class_timeline.html#ac3b8b136fa0c42f3a781aa973077a921',1,'Timeline::zoom()'],['../class_timeline_header.html#af198573710160df9494d7f245902707d',1,'TimelineHeader::zoom()'],['../class_viewer_container.html#a021e2e49cd45d899f48325c25cc4ade8',1,'ViewerContainer::zoom()']]], - ['zoom_5fjust_5fchanged',['zoom_just_changed',['../class_timeline.html#ab0da4feeb231f86e23c4e3311f8a56fc',1,'Timeline']]], - ['zoominbutton',['zoomInButton',['../class_timeline.html#a0b9c7f685ef62ba44e461ea8de379f35',1,'Timeline']]], - ['zoomoutbutton',['zoomOutButton',['../class_timeline.html#aa6e0d9ced42a908cd610343c04177c62',1,'Timeline']]] -]; diff --git a/docs/html/search/variables_2.html b/docs/html/search/variables_2.html deleted file mode 100644 index 0cb98d305..000000000 --- a/docs/html/search/variables_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_2.js b/docs/html/search/variables_2.js deleted file mode 100644 index c3654f536..000000000 --- a/docs/html/search/variables_2.js +++ /dev/null @@ -1,86 +0,0 @@ -var searchData= -[ - ['c_5ffilename',['c_filename',['../class_export_thread.html#a786859adf3a4eaeab9da8748bf3fb210',1,'ExportThread']]], - ['ca',['ca',['../class_ripple_action.html#a833d3e5c3d68baa1ce99b5d6eaa01232',1,'RippleAction']]], - ['cached_5fend_5fframe',['cached_end_frame',['../class_viewer.html#a8c9c40c543ee55aa69053ebef20141a9',1,'Viewer']]], - ['cached_5ffr',['cached_fr',['../class_clip.html#a3aad4d39b0e0d0ff8cd842ef7cdd130d',1,'Clip']]], - ['cached_5fselected_5ffootage',['cached_selected_footage',['../class_sources_common.html#ad80cfeb8240f01e030ac77a831c642bb',1,'SourcesCommon']]], - ['cachedvalues',['cachedValues',['../class_effect.html#a24fb74a55607acaa7e836db835e08038',1,'Effect']]], - ['cacher',['cacher',['../class_clip.html#aacbce12bf47dc02acd401405240ced08',1,'Clip']]], - ['caching',['caching',['../class_cacher.html#a797742db18b4cb59ced0c8881d983b71',1,'Cacher']]], - ['calculated_5flength',['calculated_length',['../class_clip.html#abe218e9c26667dbd9be30da7bd55a673',1,'Clip']]], - ['can_5fcache',['can_cache',['../class_clip.html#ae8255eb6a6c1d60e7f8348cbe8d3b2fe',1,'Clip']]], - ['cancel_5fbutton',['cancel_button',['../class_export_dialog.html#ad742c90f14dcdd83c08a05e3347eafa0',1,'ExportDialog::cancel_button()'],['../class_load_dialog.html#adb47651f751b1de28b36204a071df787',1,'LoadDialog::cancel_button()']]], - ['cancelled',['cancelled',['../class_export_dialog.html#a69db8286242fbb88091d8c0f06d363b5',1,'ExportDialog::cancelled()'],['../class_load_thread.html#a41c690a7552cc29b7bac5debe2a899ae',1,'LoadThread::cancelled()'],['../class_preview_generator.html#a6a5c4f91e5cee4f631883c628c5face5',1,'PreviewGenerator::cancelled()'],['../class_proxy_generator.html#aae876b2da2db698e6a2fcdfc08681671',1,'ProxyGenerator::cancelled()']]], - ['category',['category',['../struct___vst_parameter_properties.html#a1b4c8ac2b604ee7d67d02c90eabd8b40',1,'_VstParameterProperties::category()'],['../struct_effect_meta.html#aba7bff8718dd1c789b499ec64d1d2c5b',1,'EffectMeta::category()']]], - ['categorylabel',['categoryLabel',['../struct___vst_parameter_properties.html#adeaa4702ed238ed3480d53fe77f01395',1,'_VstParameterProperties']]], - ['center_5ftimeline_5ftimecodes',['center_timeline_timecodes',['../struct_config.html#a20d04d60e918d9e7a90f934e55c3e4f2',1,'Config']]], - ['checked',['checked',['../class_checkbox_command.html#af1a8d3099928b703d0ce92278a5261d2',1,'CheckboxCommand']]], - ['checkerboard_5fsize_5ffield',['checkerboard_size_field',['../class_solid_effect.html#ad797c489cacf405a98121fa649eb720a',1,'SolidEffect']]], - ['child',['child',['../class_viewer_container.html#a1faa2ee9de84566d3879d032ec67a667',1,'ViewerContainer']]], - ['children',['children',['../class_media.html#a85caaa2bd6a5ae9ca9c6d761c2c459a4',1,'Media']]], - ['clear_5fopen_5frecent_5faction',['clear_open_recent_action',['../class_main_window.html#ab48b7f339c33efa37bbe966b279bd503',1,'MainWindow']]], - ['clear_5ftimer',['clear_timer',['../class_audio_monitor.html#a23d14d3357f0a8d8e0df8a34dfc0ba6e',1,'AudioMonitor']]], - ['click_5fadd',['click_add',['../class_graph_view.html#a83cb3346dd1048f693e491fd05d02f2b',1,'GraphView']]], - ['click_5fadd_5ffield',['click_add_field',['../class_graph_view.html#ac0cc671dac193fc3084d3dce6ed3c4ee',1,'GraphView']]], - ['click_5fadd_5fkey',['click_add_key',['../class_graph_view.html#adf3e2422018f8f689ad1bdc5fd9441d8',1,'GraphView']]], - ['click_5fadd_5fproc',['click_add_proc',['../class_graph_view.html#ae7a480139a30a2dd2858e4e06756975b',1,'GraphView']]], - ['click_5fadd_5ftype',['click_add_type',['../class_graph_view.html#a9176bb6e393904eba24aa150f6bed884',1,'GraphView']]], - ['clip',['clip',['../struct_ghost.html#a03e911f4a3b08e0a6feb308a9a8bb000',1,'Ghost::clip()'],['../class_cacher.html#ae4c0f8fff07c174698a79c7a4b199d34',1,'Cacher::clip()'],['../class_move_clip_action.html#a00a98e34fa95b8439eb188294f1cf9ac',1,'MoveClipAction::clip()'],['../class_add_effect_command.html#a8c7c7b5a3d3be222eac4aec4193ce998',1,'AddEffectCommand::clip()'],['../class_set_speed_action.html#a43b51959ec5c7e785f410147ba7bb018',1,'SetSpeedAction::clip()'],['../class_move_effect_command.html#a5f21c146b25e01a9302e70d6316917ce',1,'MoveEffectCommand::clip()'],['../class_remove_clips_from_clipboard.html#ada727adbe459572cf5e38a9ac0b95ed8',1,'RemoveClipsFromClipboard::clip()']]], - ['clip_5fin',['clip_in',['../struct_ghost.html#a206241b761d7fc7c3a69d3207a38141d',1,'Ghost::clip_in()'],['../class_clip.html#af05069e2f3eec7d8302e56de02f6c4ab',1,'Clip::clip_in()']]], - ['clipboard',['clipboard',['../clipboard_8cpp.html#a72ed03fc7b89ba3840d0d7ef8ed14e24',1,'clipboard(): clipboard.cpp'],['../clipboard_8h.html#a72ed03fc7b89ba3840d0d7ef8ed14e24',1,'clipboard(): clipboard.cpp']]], - ['clipboard_5ftransitions',['clipboard_transitions',['../clipboard_8cpp.html#a2a33bc5dfd656207b23d13c3eba13f7d',1,'clipboard_transitions(): clipboard.cpp'],['../clipboard_8h.html#a2a33bc5dfd656207b23d13c3eba13f7d',1,'clipboard_transitions(): clipboard.cpp']]], - ['clipboard_5ftype',['clipboard_type',['../clipboard_8cpp.html#a2dea59517b6f40cb48fa94291eb8a806',1,'clipboard_type(): clipboard.cpp'],['../clipboard_8h.html#a2dea59517b6f40cb48fa94291eb8a806',1,'clipboard_type(): clipboard.cpp']]], - ['clips',['clips',['../class_speed_dialog.html#ac484f3b0325bbcc61b45ec0deae65373',1,'SpeedDialog::clips()'],['../class_sequence.html#a2d31f3f0848570118fdbaf77d05858e7',1,'Sequence::clips()'],['../class_add_clip_command.html#acabefd3521769909f4a7fbd47f1b0364',1,'AddClipCommand::clips()'],['../class_link_command.html#a3f724fb5c1def8bc7529707b15939065',1,'LinkCommand::clips()'],['../class_replace_clip_media_command.html#a62f6addbd34e5d3385369cb6d6de567c',1,'ReplaceClipMediaCommand::clips()'],['../class_effect_delete_command.html#a5eb78bfe88ea448d68d4c3f93e167018',1,'EffectDeleteCommand::clips()'],['../class_set_autoscale_action.html#a6fa05ece036b4fec80819a4f1325af28',1,'SetAutoscaleAction::clips()'],['../class_rename_clip_command.html#a739c6732060a3d42835fd48d4613caf2',1,'RenameClipCommand::clips()']]], - ['close',['close',['../class_audio_sender_thread.html#a911753250933e30548705bb7346a9bd9',1,'AudioSenderThread']]], - ['close_5f',['close_',['../class_add_transition_command.html#a375bfd6fc0c2aaa68d2a270e1b23b88e',1,'AddTransitionCommand']]], - ['closed_5fclip_5f',['closed_clip_',['../class_delete_transition_command.html#a010d8becb4789c5b9abf58a55a21edee',1,'DeleteTransitionCommand']]], - ['closing_5ftransition',['closing_transition',['../class_clip.html#aa2a7b260482cfd289403fb6d2a3e2d23',1,'Clip::closing_transition()'],['../class_delete_clip_action.html#a4ada4f51354569fa918cbfae79fcd8fd',1,'DeleteClipAction::closing_transition()']]], - ['codec',['codec',['../class_clip.html#ac55d07ef566c39942b774413e578f2d9',1,'Clip']]], - ['codec_5ftype',['codec_type',['../struct_proxy_info.html#ac20fc0846a9e29401f1a3883338c4a63',1,'ProxyInfo']]], - ['codecctx',['codecCtx',['../class_clip.html#ab3eafe9a232dd644b0ba51d814a9a172',1,'Clip']]], - ['collapse_5fbutton',['collapse_button',['../class_collapsible_widget.html#ad6f3a1620d62ede0060303d4b39616a3',1,'CollapsibleWidget']]], - ['color',['color',['../class_effect_gizmo.html#a652b6b4556c3ceb646c51ccb21d3f739',1,'EffectGizmo::color()'],['../class_color_button.html#a0804fc3096200d8ded3b5db06a377b78',1,'ColorButton::color()']]], - ['color_5fb',['color_b',['../class_clip.html#a67ae9ea4ac6729e670b312c279b471c9',1,'Clip']]], - ['color_5fbg_5fval',['color_bg_val',['../class_timecode_effect.html#a0c7d37b0402e653f5bc4a0354fd0a29d',1,'TimecodeEffect']]], - ['color_5fg',['color_g',['../class_clip.html#a1b4c9885119ab0265a4434727ce376e8',1,'Clip']]], - ['color_5fr',['color_r',['../class_clip.html#a587053c04d0f4a872bf87cac636ff2b5',1,'Clip']]], - ['color_5fval',['color_val',['../class_timecode_effect.html#a52b44be51a1a2dcaf5a26e671ebc8c45',1,'TimecodeEffect']]], - ['column_5fcount',['column_count',['../class_effect_row.html#a66b49b126288b41e830bc90e0ef54314',1,'EffectRow']]], - ['combobox',['combobox',['../class_combo_box_ex_command.html#a2d4722c19dfa892ed824101c8524af03',1,'ComboBoxExCommand']]], - ['commands',['commands',['../class_combo_action.html#a04edf7f34077d60fc1b09e5f9ba5d92e',1,'ComboAction']]], - ['compressiontypecombobox',['compressionTypeCombobox',['../class_export_dialog.html#ac90e0bc2dcb644d1e4c36650ee0e746b',1,'ExportDialog']]], - ['cond',['cond',['../class_audio_sender_thread.html#a29833b2e01b25986515159b8d9910cfa',1,'AudioSenderThread']]], - ['conform_5ffr',['conform_fr',['../class_media_properties_dialog.html#a0ebb1e04fe6d253cb9509fce381a35a0',1,'MediaPropertiesDialog']]], - ['container',['container',['../class_effect.html#af2bccc43a3ac268cae6f81f24f0d4c73',1,'Effect::container()'],['../class_viewer_widget.html#acf760e04b59ce695cee266422fc8f62f',1,'ViewerWidget::container()']]], - ['contains_5fstill_5fimage',['contains_still_image',['../class_preview_generator.html#a6a4276c37512f4b086d82056c670cf91',1,'PreviewGenerator']]], - ['contents',['contents',['../class_collapsible_widget.html#a53961b2c8908359ee74672cfc5210ae1',1,'CollapsibleWidget']]], - ['continueencode',['continueEncode',['../class_export_thread.html#abf319902abbc77a0133447c0d9c6f6b2',1,'ExportThread']]], - ['copies',['copies',['../class_delete_marker_action.html#a6df83dca9b9420a9a3a5fb4cdf3abd3a',1,'DeleteMarkerAction']]], - ['created_5fsequence',['created_sequence',['../class_viewer.html#a853e6ed3cdc075445274aeb7e70cb49c',1,'Viewer']]], - ['creating',['creating',['../class_timeline.html#a54322f55256409408b2dcbde40ab4cc9',1,'Timeline']]], - ['creating_5fobject',['creating_object',['../class_timeline.html#abac137a4612743e71d4bd341c418dca1',1,'Timeline']]], - ['css_5fpath',['css_path',['../struct_config.html#a70d7d123e254c64cbdaab88f54509bd3',1,'Config']]], - ['ctx',['ctx',['../struct_compose_sequence_params.html#a489d2c9b71e24f5c451cd97e6b99d154',1,'ComposeSequenceParams::ctx()'],['../class_render_thread.html#a4a2d27dcdc5585de6d00e194ac550f94',1,'RenderThread::ctx()']]], - ['cue_5frecording_5finternal',['cue_recording_internal',['../class_viewer.html#a6677520202930763acd2e4279bdb409a',1,'Viewer']]], - ['current_5felement_5fcount',['current_element_count',['../class_load_thread.html#adf6f3b4f6bcd98c440ae0f9dc706618a',1,'LoadThread']]], - ['current_5fframe_5frate',['current_frame_rate',['../class_speed_dialog.html#a1e2e1cd3f161819b55dbaf0bf2195882',1,'SpeedDialog']]], - ['current_5fhandle',['current_handle',['../class_graph_view.html#a03315c798803f4bf4d984584f0f6c7ef',1,'GraphView']]], - ['current_5flength',['current_length',['../class_speed_dialog.html#adf039b581f85500e51da44db341781c8',1,'SpeedDialog']]], - ['current_5fpercent',['current_percent',['../class_speed_dialog.html#a6b2436b066cd4485bbbfc471e40a1651',1,'SpeedDialog']]], - ['current_5fprogress',['current_progress',['../class_proxy_generator.html#a98200810908dc2cbc24e4053d70930c4',1,'ProxyGenerator']]], - ['current_5frow_5fdesc',['current_row_desc',['../class_graph_editor.html#a29aaede8af416c0f2a276e39b187ddad',1,'GraphEditor']]], - ['current_5ftimecode_5fslider',['current_timecode_slider',['../class_viewer.html#a8092335fb7b3919ec27d4c5771349709',1,'Viewer']]], - ['currentconfig',['CurrentConfig',['../namespaceolive.html#aa545d1c0a2c95ff1299163779ab44063',1,'olive']]], - ['currentruntimeconfig',['CurrentRuntimeConfig',['../namespaceolive.html#ace9c09c3b2fcee17ae33537d238c7854',1,'olive']]], - ['cursor',['cursor',['../class_effect_gizmo.html#ac551fc93e713305ae527309167657bd4',1,'EffectGizmo']]], - ['cursor_5fframe',['cursor_frame',['../class_timeline.html#a40c124875f6fc15d84a37776e586f359',1,'Timeline']]], - ['cursor_5flefttrim',['Cursor_LeftTrim',['../namespaceolive.html#aa22772e6ca279d55442cff34c50ff59a',1,'olive']]], - ['cursor_5frighttrim',['Cursor_RightTrim',['../namespaceolive.html#af68dc527a9664ecccebca6ba4e180659',1,'olive']]], - ['cursor_5ftrack',['cursor_track',['../class_timeline.html#a2e30132d34c1563c8a07c7fb3949f353',1,'Timeline']]], - ['custom_5fcss_5ffn',['custom_css_fn',['../class_preferences_dialog.html#aa23d8d34ecd16c637a46d86a6517cdc8',1,'PreferencesDialog']]], - ['custom_5flocation',['custom_location',['../class_proxy_dialog.html#a1d3fcf1e4c8f2b0c3c5deb6b439c0f6e',1,'ProxyDialog']]], - ['custom_5ftitle_5fsafe_5fratio',['custom_title_safe_ratio',['../struct_config.html#afa81a0b43800dffd9e4020f83c287c4b',1,'Config']]], - ['cycleendpos',['cycleEndPos',['../struct___vst_time_info.html#a5e100949597c8db9a8054a5337aa4fee',1,'_VstTimeInfo']]], - ['cyclestartpos',['cycleStartPos',['../struct___vst_time_info.html#a54c88343e5868eaa1747a1c40b8fc1ef',1,'_VstTimeInfo']]] -]; diff --git a/docs/html/search/variables_3.html b/docs/html/search/variables_3.html deleted file mode 100644 index 1e83bf5a9..000000000 --- a/docs/html/search/variables_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_3.js b/docs/html/search/variables_3.js deleted file mode 100644 index 7a16accdc..000000000 --- a/docs/html/search/variables_3.js +++ /dev/null @@ -1,44 +0,0 @@ -var searchData= -[ - ['data',['data',['../class_effect_keyframe.html#aa1a6c8a363e6e974155c695a70c0b86d',1,'EffectKeyframe::data()'],['../class_set_effect_data.html#adf29f082a6393ef31e29ec10d50f30f6',1,'SetEffectData::data()']]], - ['data_5fcache',['data_cache',['../class_v_s_t_host.html#ab59b420e2fd1603db7e165689ba94b17',1,'VSTHost']]], - ['data_5fdir',['data_dir',['../class_preview_generator.html#aeb460ee818287e57a2f27286de939ff0',1,'PreviewGenerator']]], - ['debug_5ffile',['debug_file',['../debug_8cpp.html#a069ab0ed9dd428234b97e71efea4d1c9',1,'debug.cpp']]], - ['debug_5finfo',['debug_info',['../debug_8cpp.html#ac46d4df0d5e0e21b9cb9900d60d5fd35',1,'debug.cpp']]], - ['debug_5fmutex',['debug_mutex',['../debug_8cpp.html#af08ac72a3cc16bec3a596ee4513c4d18',1,'debug.cpp']]], - ['debug_5fstream',['debug_stream',['../debug_8cpp.html#a2e5fb4c59c487bf023bff253c3d2bc35',1,'debug.cpp']]], - ['debugdialog',['DebugDialog',['../namespaceolive.html#a22cf74e5a1e641d9efd76f5c29d37233',1,'olive']]], - ['decimal_5fplaces',['decimal_places',['../class_label_slider.html#afc2a71530cff38dfe586e73dabe99be9',1,'LabelSlider']]], - ['default_5fframe_5frate',['default_frame_rate',['../class_speed_dialog.html#a5a3dfcbe4d38df16553357eb2341747a',1,'SpeedDialog']]], - ['default_5flength',['default_length',['../class_speed_dialog.html#afc369737c0aa3fec5acc89dfa38d639a',1,'SpeedDialog']]], - ['default_5ftransition_5flength',['default_transition_length',['../struct_config.html#ac6e73667141aa402aa1864c42bde592f',1,'Config']]], - ['default_5fvalue',['default_value',['../class_label_slider.html#a7cbdeb285dc88d3a64dc589267c46d59',1,'LabelSlider']]], - ['deleted_5fkey',['deleted_key',['../class_keyframe_delete.html#ae68e9bacffb2afac4674d2a33c453c60',1,'KeyframeDelete']]], - ['deleted_5fobjects',['deleted_objects',['../class_effect_delete_command.html#ad3f81960dcadc42e8c120ef266a171a1',1,'EffectDeleteCommand']]], - ['deltasamples',['deltaSamples',['../struct___vst_midi_event.html#a248ee6ab14747b3cc4bc81092131c30a',1,'_VstMidiEvent']]], - ['detune',['detune',['../struct___vst_midi_event.html#a71a6b890b5f57c696a4ea3438fd4c38a',1,'_VstMidiEvent']]], - ['dialog',['dialog',['../class_v_s_t_host.html#a39a3d86987940290677a1d4f0592ff9f',1,'VSTHost']]], - ['directory_5fup',['directory_up',['../class_project.html#a5f78a667941d689e79edfd6927f3247d',1,'Project']]], - ['disable_5fblending',['disable_blending',['../struct_runtime_config.html#aaf59a8a93e78677ea2b66a04810a97c9',1,'RuntimeConfig']]], - ['dispatcher',['dispatcher',['../class_v_s_t_host.html#a92ab064670d89e92d46b81e4cbffe3bc',1,'VSTHost::dispatcher()'],['../struct___a_effect.html#af37b5ec5d65d5f018f4ba506b98379ec',1,'_AEffect::dispatcher()']]], - ['display_5ftimecode',['display_timecode',['../class_timecode_effect.html#acd19bdd8b666395199b76f49da86b78b',1,'TimecodeEffect']]], - ['display_5ftype',['display_type',['../class_label_slider.html#a402abe41e54ad2a9a8cd0701bf368287',1,'LabelSlider']]], - ['displayindex',['displayIndex',['../struct___vst_parameter_properties.html#a3d86131c3f87ce31b0701cdb8c764ab0',1,'_VstParameterProperties']]], - ['divider',['divider',['../class_render_thread.html#afd5e85f7b53124b64ffff7b2f9763701',1,'RenderThread']]], - ['done',['done',['../class_add_effect_command.html#a8dd7c8fac2073f81351cb0d47bd1866d',1,'AddEffectCommand::done()'],['../class_new_sequence_command.html#ad111809ea7c32a00ccbd709d14d69dde',1,'NewSequenceCommand::done()'],['../class_add_media_command.html#a97b9c027ab7a1ec5953f04df106c7143',1,'AddMediaCommand::done()'],['../class_delete_media_command.html#a25bbcd268f33eb094139a0d8f13eb207',1,'DeleteMediaCommand::done()'],['../class_checkbox_command.html#a955e053796ed135ecf81e9a0511f8a19',1,'CheckboxCommand::done()'],['../class_effect_delete_command.html#a89582afd9e5193379f6db0db4864f617',1,'EffectDeleteCommand::done()'],['../class_keyframe_delete.html#af31b5748db53969b8e17cac8e55a2f9e',1,'KeyframeDelete::done()'],['../class_keyframe_field_set.html#a05377cbc864c17a1827c31ccf3e559f4',1,'KeyframeFieldSet::done()'],['../class_effect_field_undo.html#ab35e78024392ee197291756a7112a3b0',1,'EffectFieldUndo::done()'],['../class_set_selections_command.html#a475951dc67924aac527cad721d2d0b0e',1,'SetSelectionsCommand::done()'],['../class_remove_clips_from_clipboard.html#a4b23e54547de927833e36d5fc792ddbd',1,'RemoveClipsFromClipboard::done()'],['../class_combo_box_ex_command.html#a1f9ed55f0c0564ae350f8f6437969afd',1,'ComboBoxExCommand::done()']]], - ['drag_5fframe_5fstart',['drag_frame_start',['../class_timeline.html#a4ab4f0a32449b84a413fe1ac61d68d1d',1,'Timeline::drag_frame_start()'],['../class_keyframe_view.html#ae7315ce6888025379bb4c8018d7f7043',1,'KeyframeView::drag_frame_start()']]], - ['drag_5fproc',['drag_proc',['../class_label_slider.html#ad3df190d66e96b29215bda71eea8fa55',1,'LabelSlider']]], - ['drag_5fstart',['drag_start',['../class_label_slider.html#a0957943e01ddf376b0dea3f1cc5933cc',1,'LabelSlider::drag_start()'],['../class_timeline_header.html#a3434d64ac7594868b6384ffdf2c073b8',1,'TimelineHeader::drag_start()']]], - ['drag_5fstart_5fvalue',['drag_start_value',['../class_label_slider.html#addd4fe1457fa77f851f4395789110dcc',1,'LabelSlider']]], - ['drag_5fstart_5fx',['drag_start_x',['../class_label_slider.html#a772bb767fbdb51ada999b4d3bbc52270',1,'LabelSlider::drag_start_x()'],['../class_viewer_container.html#a3bf84cf350cd8ebfafd00403ccc7fe41',1,'ViewerContainer::drag_start_x()'],['../class_viewer_widget.html#ac7ba3535e85564845f2b77f81a65d03e',1,'ViewerWidget::drag_start_x()']]], - ['drag_5fstart_5fy',['drag_start_y',['../class_label_slider.html#a889322916e8bea38a27e119f45562c62',1,'LabelSlider::drag_start_y()'],['../class_viewer_container.html#afe93c6dc8690eeb3f8de58776ec2c6d7',1,'ViewerContainer::drag_start_y()'],['../class_viewer_widget.html#ab6b68757582e1ac2c02bd098c712dfcd',1,'ViewerWidget::drag_start_y()']]], - ['drag_5ftrack_5fstart',['drag_track_start',['../class_timeline.html#a0bba8ad9abcd7540697171dba273eb43',1,'Timeline']]], - ['drag_5fx_5fstart',['drag_x_start',['../class_timeline.html#a38bc7069d397fad59f5a8104c3894f00',1,'Timeline']]], - ['drag_5fy_5fstart',['drag_y_start',['../class_timeline.html#a6f837c1a515c43be61605e3f48ecafbc',1,'Timeline']]], - ['dragging',['dragging',['../class_keyframe_view.html#a05d73fdfcd92f24914290c6d33df6e78',1,'KeyframeView::dragging()'],['../class_timeline_header.html#a31ec849e9dd9f96f2ff2506d51894e0e',1,'TimelineHeader::dragging()'],['../class_viewer_widget.html#ad1063c388fc882d7f7a36b7fc8fdbdfb',1,'ViewerWidget::dragging()']]], - ['dragging_5fmarkers',['dragging_markers',['../class_timeline_header.html#a26d31ccd319f9a9504cf0cd3b04584d8',1,'TimelineHeader']]], - ['drop_5fframe_5faction',['drop_frame_action',['../class_main_window.html#a6935b8ac33c7e34f620e236e29b69bf3',1,'MainWindow']]], - ['drop_5fon_5fmedia_5fto_5freplace',['drop_on_media_to_replace',['../struct_config.html#a1746b8d0d025563d831e250ceb6d4d3e',1,'Config']]], - ['dump',['dump',['../struct___vst_event.html#a3c83b2a88e8414b832632cc568714bd0',1,'_VstEvent']]], - ['duration',['duration',['../class_speed_dialog.html#a845b3ee7e184d45bd875aeb788379725',1,'SpeedDialog']]] -]; diff --git a/docs/html/search/variables_4.html b/docs/html/search/variables_4.html deleted file mode 100644 index 39883bd60..000000000 --- a/docs/html/search/variables_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_4.js b/docs/html/search/variables_4.js deleted file mode 100644 index db65f411b..000000000 --- a/docs/html/search/variables_4.js +++ /dev/null @@ -1,41 +0,0 @@ -var searchData= -[ - ['edit_5ftool_5faction',['edit_tool_action',['../class_main_window.html#a004ae68e558945c9e695cbda59417d4e',1,'MainWindow']]], - ['edit_5ftool_5falso_5fseeks',['edit_tool_also_seeks',['../struct_config.html#ad4b0f0f0eaf620d53af823e8b0ad9329',1,'Config::edit_tool_also_seeks()'],['../class_main_window.html#a8b75ba98f4fb9000f4f7486cd99e215a',1,'MainWindow::edit_tool_also_seeks()']]], - ['edit_5ftool_5fselects_5flinks',['edit_tool_selects_links',['../struct_config.html#a052b0a15edfc2687406d0f8a50b4da42',1,'Config::edit_tool_selects_links()'],['../class_main_window.html#a5e973b4f8b3fb453d27f1a58140d0ab6',1,'MainWindow::edit_tool_selects_links()']]], - ['editareas',['editAreas',['../class_timeline.html#af0aa27c4db9e9e94a225f72bc65b8f5c',1,'Timeline']]], - ['editing_5findex',['editing_index',['../class_sources_common.html#a762978102d2b6cc45266e5b2d42af817',1,'SourcesCommon']]], - ['editing_5fitem',['editing_item',['../class_sources_common.html#acbdaa865ad4a84ab5b6a5eafe5bc857d',1,'SourcesCommon']]], - ['effect',['effect',['../class_set_effect_data.html#a601301133b1a816e3a2c51b1943cba47',1,'SetEffectData']]], - ['effect_5fmenu_5fsubtype',['effect_menu_subtype',['../class_effect_controls.html#a26797110d475772befaf9143bef7c842',1,'EffectControls']]], - ['effect_5fmenu_5ftype',['effect_menu_type',['../class_effect_controls.html#a41146e614da62a24bf4bca2f5098b698',1,'EffectControls']]], - ['effect_5ftextbox_5flines',['effect_textbox_lines',['../struct_config.html#a6a1764f9df99ea59861452ace0992c5e',1,'Config']]], - ['effect_5ftextbox_5flines_5ffield',['effect_textbox_lines_field',['../class_preferences_dialog.html#a2d82ed613f9a2efbb4f60baa06bf2fa4',1,'PreferencesDialog']]], - ['effects',['effects',['../class_clip.html#a2a066dbef586b1cecd8fde208b7e1e94',1,'Clip::effects()'],['../effect_8cpp.html#a23ce1b95bf62aa1e3538a67004ff4a4b',1,'effects(): effect.cpp'],['../effect_8h.html#a23ce1b95bf62aa1e3538a67004ff4a4b',1,'effects(): effect.cpp']]], - ['effects_5farea',['effects_area',['../class_effect_controls.html#a05b7f91ddfba3a4c9e91b9eb22fcfb69',1,'EffectControls']]], - ['effects_5floaded',['effects_loaded',['../class_effect_controls.html#aca4259a6bdfc84b4de61f98edeed2679',1,'EffectControls']]], - ['empty3',['empty3',['../struct___a_effect.html#a80ab09763b496076db681c26b5e3ec13',1,'_AEffect']]], - ['enable_5falways_5fupdate',['enable_always_update',['../class_effect.html#a0a74c104e615408286a9d1ad6ce7da9c',1,'Effect']]], - ['enable_5faudio_5fscrubbing',['enable_audio_scrubbing',['../struct_config.html#a3a04e062535bed2d7a8ec96e0006c8be',1,'Config::enable_audio_scrubbing()'],['../class_main_window.html#a24baee13dbb5592442f7bfe6c321dd9d',1,'MainWindow::enable_audio_scrubbing()']]], - ['enable_5fcoords',['enable_coords',['../class_effect.html#a0ae7110ec96749a4beffb4415ebc1916',1,'Effect']]], - ['enable_5fdrag_5ffiles_5fto_5ftimeline',['enable_drag_files_to_timeline',['../struct_config.html#a02bc5d289c92edded226c830c636d1ad',1,'Config::enable_drag_files_to_timeline()'],['../class_main_window.html#adae8a5651aec38fc5480ef5abab212f8',1,'MainWindow::enable_drag_files_to_timeline()']]], - ['enable_5fdrop_5fon_5fmedia_5fto_5freplace',['enable_drop_on_media_to_replace',['../class_main_window.html#a04aaa5e8e060913156777a39db9b85c7',1,'MainWindow']]], - ['enable_5fhover_5ffocus',['enable_hover_focus',['../class_main_window.html#a75a16e672140a02d91f29eea9a8f5aee',1,'MainWindow']]], - ['enable_5fimage',['enable_image',['../class_effect.html#afc4a5e6086b53d568ae0e9623fb6e364',1,'Effect']]], - ['enable_5fload_5fproject_5fon_5finit',['enable_load_project_on_init',['../class_olive_global.html#a41a11e816954dbc44e2b24c1d7fe0398',1,'OliveGlobal']]], - ['enable_5fseek_5fto_5fimport',['enable_seek_to_import',['../struct_config.html#ac14bdcceb7c9220229ab40dc185f45dd',1,'Config::enable_seek_to_import()'],['../class_main_window.html#a08468db36e3060726c8b3a858a597127',1,'MainWindow::enable_seek_to_import()']]], - ['enable_5fshader',['enable_shader',['../class_effect.html#a71b2f2394049eb84d8a20a202ca8f057',1,'Effect']]], - ['enable_5fsuperimpose',['enable_superimpose',['../class_effect.html#af7166a2b7bd2cee3aedf7e1b2800b203',1,'Effect']]], - ['enabled',['enabled',['../class_clip.html#a12f1b60c9340a811752bfc38f6e3bedb',1,'Clip::enabled()'],['../struct_footage_stream.html#a75f3eb124af9974985e01c532c600a9f',1,'FootageStream::enabled()']]], - ['enabled_5fcheck',['enabled_check',['../class_collapsible_widget.html#a95f840822d274ba6b1b88ad3d702719a',1,'CollapsibleWidget']]], - ['end_5fframe',['end_frame',['../struct_export_params.html#aa8120d5e190eee74b5e28c1485d3e2c2',1,'ExportParams']]], - ['end_5ftimecode',['end_timecode',['../class_viewer.html#ac6b67da2c725f36f4ecae836ad3c2a17',1,'Viewer']]], - ['error_5fstr',['error_str',['../class_load_thread.html#adc3221cbf6302b914554aa0b9082f5a4',1,'LoadThread']]], - ['et',['et',['../class_export_dialog.html#a2b7e5c56bb266c198a42888cb21abd0e',1,'ExportDialog']]], - ['events',['events',['../struct___vst_events.html#a9ac3d4f5cf4f21fdfd871e48570c1034',1,'_VstEvents']]], - ['existing_5fitem',['existing_item',['../class_new_sequence_dialog.html#a05288c4f1eb64c32096d4b0cd02416f9',1,'NewSequenceDialog']]], - ['existing_5fsequence',['existing_sequence',['../class_new_sequence_dialog.html#a05e06744f697e84d45edec4d7bd13654',1,'NewSequenceDialog']]], - ['export_5fbutton',['export_button',['../class_export_dialog.html#a1b5ca7304dae2662bcea3c5099981a22',1,'ExportDialog']]], - ['export_5ferror',['export_error',['../class_export_dialog.html#ab90d02f95e34693b9e0465b8528fe5b8',1,'ExportDialog::export_error()'],['../class_export_thread.html#aa6d99cd04ff34416a43ab59066d03988',1,'ExportThread::export_error()']]], - ['external_5ftranslation_5ffile',['external_translation_file',['../struct_runtime_config.html#aedcd25f65e6a9db4e9d20b8117828e39',1,'RuntimeConfig']]] -]; diff --git a/docs/html/search/variables_5.html b/docs/html/search/variables_5.html deleted file mode 100644 index f25879c02..000000000 --- a/docs/html/search/variables_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_5.js b/docs/html/search/variables_5.js deleted file mode 100644 index 521fbda2f..000000000 --- a/docs/html/search/variables_5.js +++ /dev/null @@ -1,49 +0,0 @@ -var searchData= -[ - ['fast_5fseeking',['fast_seeking',['../struct_config.html#a22962c1316e6b19d9a9bfd35c542a620',1,'Config']]], - ['fastseekbutton',['fastSeekButton',['../class_preferences_dialog.html#a799a9e752d372078b4e0169d6dfa0e9c',1,'PreferencesDialog']]], - ['fbo',['fbo',['../class_clip.html#a93d0efbb1f9dd3dbbf82775a7c3ce9d7',1,'Clip']]], - ['ffmpeg_5ffilter',['ffmpeg_filter',['../class_effect.html#adeeefa9fcc3c1f8fcd0ca7b4c3a80faa',1,'Effect']]], - ['field',['field',['../class_keyframe_delete.html#a257eef1c9c832ec03069c57931afda26',1,'KeyframeDelete::field()'],['../class_keyframe_field_set.html#aeaff178ef4e56db98ba2d5202e3bda46',1,'KeyframeFieldSet::field()'],['../class_effect_field_undo.html#a52bc19a76ceb2ffa594e0c6d4953cf47',1,'EffectFieldUndo::field()']]], - ['field_5fvisibility',['field_visibility',['../class_graph_view.html#a3481fc8ebd9fb66fe74d6b157289b91b',1,'GraphView']]], - ['fields',['fields',['../class_effect_row.html#a97d5f9d04243b1def7cb40e1d32c1a67',1,'EffectRow']]], - ['file_5ffield',['file_field',['../class_v_s_t_host.html#a38d9d9f024ef3659e604ff845ec80abe',1,'VSTHost']]], - ['file_5findex',['file_index',['../struct_footage_stream.html#a431bc3ec370ac126783d27c228dd8f29',1,'FootageStream']]], - ['file_5flabel',['file_label',['../class_embedded_file_chooser.html#ada0bdbdc82af217f1442b33b1ca697a0',1,'EmbeddedFileChooser']]], - ['filename',['filename',['../struct_export_params.html#a8e4551594b537a04317d51e75691fbf5',1,'ExportParams::filename()'],['../struct_effect_meta.html#ad7087d1f9ff2e1ec4cc662493a7efc6b',1,'EffectMeta::filename()'],['../class_embedded_file_chooser.html#aa8bc2ba4b63ef055d2816909bf8b4dde',1,'EmbeddedFileChooser::filename()']]], - ['fill_5ftype',['fill_type',['../class_fill_left_right_effect.html#afd133f7f521b4e2d16ed0754426bfa83',1,'FillLeftRightEffect']]], - ['filter_5fgraph',['filter_graph',['../class_clip.html#afaa2035bf537d73e34eac299a1ea7d1e',1,'Clip']]], - ['finished_5fopening',['finished_opening',['../class_clip.html#ad2853d641aca8eeca11a96713bb2a013',1,'Clip']]], - ['first_5fshow',['first_show',['../class_main_window.html#a3295e43c4bc844b1d7e68d4ad58fb638',1,'MainWindow']]], - ['fit',['fit',['../class_viewer_container.html#ae6d94109fa9c60a59c4133e0a1f2435f',1,'ViewerContainer']]], - ['flags',['flags',['../struct___vst_midi_event.html#a346b7fdebe4a9cf8262d59ab73bb428b',1,'_VstMidiEvent::flags()'],['../struct___vst_parameter_properties.html#a1ece88dc6c130b110a0511425103d3ee',1,'_VstParameterProperties::flags()'],['../struct___a_effect.html#a6c3485a4c0a0bcd675b3ecb3b31f4165',1,'_AEffect::flags()'],['../struct___vst_time_info.html#a677b2c8935526fb0c6a96d1374d73a28',1,'_VstTimeInfo::flags()']]], - ['fm',['fm',['../class_timeline_header.html#a97f35f4b3fefc88ccdd26f72e801ed7d',1,'TimelineHeader']]], - ['fmt_5fctx',['fmt_ctx',['../class_export_thread.html#a7e310108709c9e10105efad0179e6c03',1,'ExportThread::fmt_ctx()'],['../class_preview_generator.html#aeb814b62449a83290df4576f25f4d9bd',1,'PreviewGenerator::fmt_ctx()']]], - ['focusfilter',['FocusFilter',['../namespaceolive.html#a5dd2458c58d7d43e99b5b2b883e0ac8c',1,'olive']]], - ['folder_5fid',['folder_id',['../class_project.html#a37fc2546201cfac7c4890add6ef3529f',1,'Project']]], - ['folder_5fname',['folder_name',['../class_media.html#aeaee591ee5f8bbdccdd86ee522a1702b',1,'Media']]], - ['font',['font',['../class_text_effect.html#af8a29d78708433da6b6d9558a2f0db98',1,'TextEffect::font()'],['../class_timecode_effect.html#a2f12b8c0b1166fabd2dd25da5f73be17',1,'TimecodeEffect::font()']]], - ['footage',['footage',['../class_preview_generator.html#a0138807a0579bdcf9356e0c164080fc2',1,'PreviewGenerator::footage()'],['../struct_proxy_info.html#a07f30b94716f628294f596570c049fbb',1,'ProxyInfo::footage()']]], - ['format_5fcombobox',['format_combobox',['../class_proxy_dialog.html#aa0992d03f9fa673e688f79cb817d4030',1,'ProxyDialog']]], - ['format_5fstrings',['format_strings',['../class_export_dialog.html#a0d3d78e12da1dd3b80eea61b3480cb5d',1,'ExportDialog']]], - ['formatcombobox',['formatCombobox',['../class_export_dialog.html#a9e7a79e9d7d413a4b298134bb0cf30cd',1,'ExportDialog']]], - ['formatctx',['formatCtx',['../class_clip.html#ad1a3d19136f7d3a4f17e6a4134fe8af1',1,'Clip']]], - ['fragpath',['fragPath',['../class_effect.html#af64fc534af72a12362850a0d24906565',1,'Effect']]], - ['frame',['frame',['../class_clip.html#a082ca83db497dcc257de4d9284dcb161',1,'Clip::frame()'],['../struct_marker.html#acac07d71d4271aa47bb856870a75accd',1,'Marker::frame()']]], - ['frame_5frate',['frame_rate',['../class_speed_dialog.html#a7109bf8b0a0853319a6bcd7f50a8fb4e',1,'SpeedDialog::frame_rate()'],['../class_sequence.html#a100e8429db985c97256a596045bd2c8b',1,'Sequence::frame_rate()'],['../class_edit_sequence_command.html#a24dedfb58f98f3da9c54fdd92675f3a3',1,'EditSequenceCommand::frame_rate()'],['../class_label_slider.html#ad7f76c5ce07e9020b8838e5175fea82d',1,'LabelSlider::frame_rate()']]], - ['frame_5frate_5fcombobox',['frame_rate_combobox',['../class_new_sequence_dialog.html#a6decebba693ed9c809f3a2fe71c38ab1',1,'NewSequenceDialog']]], - ['frame_5fsample_5findex',['frame_sample_index',['../class_clip.html#a88c650ef2c86cf045d66d793705a8129',1,'Clip']]], - ['frameratespinbox',['framerateSpinbox',['../class_export_dialog.html#a9292cc0a18aabf28ffd9dde88bd25d8f',1,'ExportDialog']]], - ['frames_5faction',['frames_action',['../class_main_window.html#a46deaeba4a39e8f5cdb0be2288e997e4',1,'MainWindow']]], - ['freq_5fval',['freq_val',['../class_tone_effect.html#a7958431c904ee186a0c4e25e67040dd9',1,'ToneEffect']]], - ['frequency_5fval',['frequency_val',['../class_shake_effect.html#aed978f6afe1650ea04445645ca6006d8',1,'ShakeEffect']]], - ['from',['from',['../class_media_rename.html#a07198c1e89136a0464510f424050da53',1,'MediaRename::from()'],['../class_move_effect_command.html#a0ef8d070f2cf49057f3c7402bc48f442',1,'MoveEffectCommand::from()']]], - ['froms',['froms',['../class_media_move.html#a66c35ebed4241181a413ab1e8441c8f2',1,'MediaMove']]], - ['front_5fbuffer',['front_buffer',['../class_render_thread.html#a67b613fa1c74313c0939214859eae558',1,'RenderThread']]], - ['front_5ftexture',['front_texture',['../class_render_thread.html#a0f1d1b69bccf180aa461f4cd27269b3d',1,'RenderThread']]], - ['full_5fscreen',['full_screen',['../class_main_window.html#a85d1706a0b5dc3b31cc3ba93006168c4',1,'MainWindow']]], - ['fullscreen_5fmsg_5frect',['fullscreen_msg_rect',['../class_viewer_window.html#ad28d16a6de721f3f851d6a78812b2034',1,'ViewerWindow']]], - ['fullscreen_5fmsg_5ftimer',['fullscreen_msg_timer',['../class_viewer_window.html#a6e2dd67d6036b728eb07f15554d865cb',1,'ViewerWindow']]], - ['future',['future',['../struct___vst_parameter_properties.html#a1e225ad92330f67a9491adbc76d73d9c',1,'_VstParameterProperties']]], - ['fx',['fx',['../class_effect_delete_command.html#a7b2f7e360b60c57d66456f377f34b86f',1,'EffectDeleteCommand']]] -]; diff --git a/docs/html/search/variables_6.html b/docs/html/search/variables_6.html deleted file mode 100644 index 0fcd6c2f8..000000000 --- a/docs/html/search/variables_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_6.js b/docs/html/search/variables_6.js deleted file mode 100644 index fe63d56b3..000000000 --- a/docs/html/search/variables_6.js +++ /dev/null @@ -1,16 +0,0 @@ -var searchData= -[ - ['get_5fparam_5finfo',['get_param_info',['../class_frei0r_effect.html#a736b8a9e810b143954cfa4d5fd0c83fe',1,'Frei0rEffect']]], - ['getparameter',['getParameter',['../struct___a_effect.html#af4fbbb3462f21df4ec126f1c0deea159',1,'_AEffect']]], - ['ghost_5flength',['ghost_length',['../struct_ghost.html#a63fd46b9c43f507c0132d4d94407f4be',1,'Ghost']]], - ['ghosts',['ghosts',['../class_timeline.html#a8385381e9aded5cc35eccbefad26c264',1,'Timeline']]], - ['gizmo_5fx_5fmvmt',['gizmo_x_mvmt',['../class_viewer_widget.html#a4ed74407a84f55ce439928ddf9a6a017',1,'ViewerWidget']]], - ['gizmo_5fy_5fmvmt',['gizmo_y_mvmt',['../class_viewer_widget.html#a4c3908521513808baf66b2c9c9ec6336',1,'ViewerWidget']]], - ['gizmos',['gizmos',['../class_effect.html#afe448763f4a103ecd8cebc5270810766',1,'Effect::gizmos()'],['../struct_compose_sequence_params.html#a69f91937c67d10c8327a5b908911557e',1,'ComposeSequenceParams::gizmos()'],['../class_render_thread.html#a33f1386c8fc4e41221807bd80ae8d2ff',1,'RenderThread::gizmos()'],['../class_viewer_widget.html#afa5e5992a06df98145d1690916a5133f',1,'ViewerWidget::gizmos()']]], - ['global',['Global',['../namespaceolive.html#a6258fb86e928c438816911faa7af5d8e',1,'olive']]], - ['glslprogram',['glslProgram',['../class_effect.html#afad1a793aebc117f8e7ca44e93fb0f62',1,'Effect']]], - ['go_5fto_5fend_5fframe',['go_to_end_frame',['../class_viewer.html#a791d5278de70a08d4e9f1d4eb7a0d139',1,'Viewer']]], - ['go_5fto_5fstart_5fbutton',['go_to_start_button',['../class_viewer.html#af2a72758f6a4cefd86f8df4bc837de91',1,'Viewer']]], - ['gradient',['gradient',['../class_audio_monitor.html#a3dee10e54e0d7a598f046f526636487d',1,'AudioMonitor']]], - ['grid_5fsize',['grid_size',['../struct_g_l_texture_coords.html#a089ca47df9a7b680c7549c18e36f1a8a',1,'GLTextureCoords']]] -]; diff --git a/docs/html/search/variables_7.html b/docs/html/search/variables_7.html deleted file mode 100644 index ad2fa37a5..000000000 --- a/docs/html/search/variables_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_7.js b/docs/html/search/variables_7.js deleted file mode 100644 index e750e5990..000000000 --- a/docs/html/search/variables_7.js +++ /dev/null @@ -1,22 +0,0 @@ -var searchData= -[ - ['halign_5ffield',['halign_field',['../class_text_effect.html#a55d7db0cb89cd1648674656b378b6fe5',1,'TextEffect']]], - ['hand_5fmoving',['hand_moving',['../class_timeline.html#a48e210028ee53fcda04f98d18f8cbac4',1,'Timeline']]], - ['hand_5ftool_5faction',['hand_tool_action',['../class_main_window.html#a0301114e4970a3fa036da283097242ff',1,'MainWindow']]], - ['handle',['handle',['../class_frei0r_effect.html#a56e667806ecd73c92a7c7dc11b0200d8',1,'Frei0rEffect']]], - ['handle_5ffield',['handle_field',['../class_graph_view.html#a7bb650172fc7373371bc3f1ef3c3948b',1,'GraphView']]], - ['handle_5findex',['handle_index',['../class_graph_view.html#aaa9a2bc0d30899fb10e62c68de32d3fe',1,'GraphView']]], - ['hboxlayout',['hboxLayout',['../class_load_dialog.html#a28314038d7881a9232a8dd3805132de0',1,'LoadDialog']]], - ['header',['header',['../class_effects_area.html#a3b968ab0b5a8ab2db05178a6a3a7adaa',1,'EffectsArea::header()'],['../class_graph_editor.html#a3f492170b1ec1641a59b2c483c2333cf',1,'GraphEditor::header()'],['../class_collapsible_widget.html#a2aca269c7e229daaadeb9755fd213ffa',1,'CollapsibleWidget::header()'],['../class_keyframe_view.html#a4b09b66e26c6f9f8cd3bd256e20ae5be',1,'KeyframeView::header()']]], - ['headers',['headers',['../class_effect_controls.html#a952c3f9715b8eaa83b6dd4f280e2fe95',1,'EffectControls::headers()'],['../class_timeline.html#ae9b0f794319dd470d69ce7480dd9fc58',1,'Timeline::headers()'],['../class_viewer.html#ab1b69ea3214175db57fda8d360032ff8',1,'Viewer::headers()']]], - ['height',['height',['../class_sequence.html#af32151d092739f4308878e6348d9c50c',1,'Sequence::height()'],['../class_edit_sequence_command.html#ac501f155e55d793a3c0001105ec90802',1,'EditSequenceCommand::height()'],['../struct_timeline_track_height.html#aaf6c6e866464cc530efa93f6a299a2e0',1,'TimelineTrackHeight::height()']]], - ['height_5factual',['height_actual',['../class_timeline_header.html#a6d262e4dbe3100fac3c2261537bef5be',1,'TimelineHeader']]], - ['height_5fnumeric',['height_numeric',['../class_new_sequence_dialog.html#ac044487189bb91dbb8c20b1c4d1b266d',1,'NewSequenceDialog']]], - ['heightspinbox',['heightSpinbox',['../class_export_dialog.html#a258d867ee22db7dd7b2bd6c9f1d1069d',1,'ExportDialog']]], - ['hold_5fbutton',['hold_button',['../class_graph_editor.html#a64fc919e260867932a70b4b3ffba7c0f',1,'GraphEditor']]], - ['horiz_5fstart',['horiz_start',['../class_viewer_container.html#ac4d4b78900a53dda41045354c71f2caa',1,'ViewerContainer']]], - ['horizontal_5fbar',['horizontal_bar',['../class_viewer.html#a4707e465d87f0eb79debaac8a66491c7',1,'Viewer']]], - ['horizontal_5fscrollbar',['horizontal_scrollbar',['../class_viewer_container.html#a53c7f020a8e5bc26b2ef2a3c9da75a37',1,'ViewerContainer']]], - ['horizontalscrollbar',['horizontalScrollBar',['../class_effect_controls.html#a96d16ab8a61505c529e61c82a0c8a79f',1,'EffectControls::horizontalScrollBar()'],['../class_timeline.html#a90ab0a63353a2dfa8de4a02d48bffd5c',1,'Timeline::horizontalScrollBar()']]], - ['hover_5ffocus',['hover_focus',['../struct_config.html#ab23fe6432757967edf8f7f2bb1e59bed',1,'Config']]] -]; diff --git a/docs/html/search/variables_8.html b/docs/html/search/variables_8.html deleted file mode 100644 index 23887d77b..000000000 --- a/docs/html/search/variables_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_8.js b/docs/html/search/variables_8.js deleted file mode 100644 index 74dbd1327..000000000 --- a/docs/html/search/variables_8.js +++ /dev/null @@ -1,34 +0,0 @@ -var searchData= -[ - ['icon',['icon',['../class_media.html#afb97392c9fec90745be81dbe94ce8b11',1,'Media']]], - ['icon_5fview',['icon_view',['../class_project.html#ad82efa22120e9a6a17dede23d4202c85',1,'Project']]], - ['icon_5fview_5fcontainer',['icon_view_container',['../class_project.html#ac06e07303cd68efd26ce9befeced8658',1,'Project']]], - ['id',['id',['../class_effect.html#a524b94918381a664531d2686cd743fad',1,'Effect::id()'],['../class_effect_field.html#a8b323be845bc6fecc22f112f5d34a820',1,'EffectField::id()']]], - ['ignore',['ignore',['../class_ripple_action.html#a0efc9122c5de304d7168a424af185076',1,'RippleAction']]], - ['ignore_5freverse',['ignore_reverse',['../class_clip.html#ad9a76508a47639c8504b60328ac08b7f',1,'Clip']]], - ['img',['img',['../class_q_painter_wrapper.html#a3b3a47ba9124ff7d7487a0a110a15940',1,'QPainterWrapper::img()'],['../class_effect.html#a132f7ac32faeda01f27f5bdb2f81685c',1,'Effect::img()']]], - ['img_5fseq_5fformats',['img_seq_formats',['../struct_config.html#a6b8f08f523ab1f131f30f04638483946',1,'Config']]], - ['imgseqformatedit',['imgSeqFormatEdit',['../class_preferences_dialog.html#aa77da80b883001e26737aa5b076d28a2',1,'PreferencesDialog']]], - ['importing',['importing',['../class_timeline.html#a9710142e063bc614fff1fd4bacbd20e5',1,'Timeline']]], - ['importing_5ffiles',['importing_files',['../class_timeline.html#a04afd33fc672a07a6b0ddd7c66d71237',1,'Timeline']]], - ['in',['in',['../struct_ghost.html#ab50a74947be9f8d84fddef0c0d98af94',1,'Ghost::in()'],['../struct_footage.html#a91b5d5c3605a301997618f4d9d9607ef',1,'Footage::in()'],['../struct_selection.html#aaa9aa2981d52210b373d4c528c68af56',1,'Selection::in()']]], - ['in_5fvisible',['in_visible',['../class_timeline_header.html#a0b09052c1315dd200f5160d286afc785',1,'TimelineHeader']]], - ['index',['index',['../class_delete_clip_action.html#a0ea7d52a0e48ecf6411c79269edba3f9',1,'DeleteClipAction::index()'],['../class_keyframe_delete.html#aaa92bbac2a58de7fee0f92dea5849113',1,'KeyframeDelete::index()'],['../class_keyframe_field_set.html#a7a1038d64748eb2c31d8810c74d46ba7',1,'KeyframeFieldSet::index()'],['../class_add_marker_action.html#a1d55e6d8097677137c91cf8dded9f889',1,'AddMarkerAction::index()'],['../class_combo_box_ex.html#a98133a6409fb158eba991302c42c1918',1,'ComboBoxEx::index()'],['../struct_timeline_track_height.html#a89b53d1297cd42cf56e13727d74ffa49',1,'TimelineTrackHeight::index()']]], - ['infinite_5flength',['infinite_length',['../struct_footage_stream.html#ae4803befc10a15124279c2ba0c253ec6',1,'FootageStream']]], - ['inputs',['inputs',['../class_v_s_t_host.html#acbb0a1951ebede6eeb91bcc6e3d3d537',1,'VSTHost']]], - ['instance',['instance',['../class_frei0r_effect.html#a066a97f5034634d5e326c546ec7b02aa',1,'Frei0rEffect']]], - ['intensity_5fval',['intensity_val',['../class_shake_effect.html#a0af1bc7cb99880e48f44af3cec564b06',1,'ShakeEffect']]], - ['interlacing_5fbox',['interlacing_box',['../class_media_properties_dialog.html#aaa18f018e779ffbc707920d618fbdf14',1,'MediaPropertiesDialog']]], - ['interlacing_5fcombobox',['interlacing_combobox',['../class_new_sequence_dialog.html#a2a4aa6ee5a481bce75c88eeeedcec24e',1,'NewSequenceDialog']]], - ['internal',['internal',['../struct_effect_meta.html#a9339316501b3c5c5ea5282dc588ede29',1,'EffectMeta']]], - ['internal_5fproj_5fdir',['internal_proj_dir',['../class_load_thread.html#a28a4f18f377ef39f4c424eeff8d08bc4',1,'LoadThread']]], - ['internal_5fproj_5furl',['internal_proj_url',['../class_load_thread.html#ac31edf5ecbac0d86689c9015190093ec',1,'LoadThread']]], - ['internal_5fvalue',['internal_value',['../class_label_slider.html#a3902b8d451895bfe2b8a47a5aee8e0ea',1,'LabelSlider']]], - ['interrupt',['interrupt',['../class_cacher.html#a5751327ff0ac50991f75d1cb977c1819',1,'Cacher']]], - ['invalid',['invalid',['../struct_footage.html#ae6b00c3ad5dc1ee51c4ed1ac76150095',1,'Footage']]], - ['isopen',['isOpen',['../class_effect.html#a8349c3af206c1d8784c06be41bf7cdba',1,'Effect']]], - ['item',['item',['../class_media_properties_dialog.html#a95db38981b6348e1e026558f6dffc5d0',1,'MediaPropertiesDialog::item()'],['../class_add_media_command.html#aa8583aa563db0736a8edfe3249e6f19b',1,'AddMediaCommand::item()'],['../class_delete_media_command.html#a296b5ab303520bfd5d68177118b36ac1',1,'DeleteMediaCommand::item()'],['../class_replace_media_command.html#a5a081577222b52fa1aea75a52b5d39ac',1,'ReplaceMediaCommand::item()'],['../class_media_rename.html#a2f08c9451dedf768f8b9c726694806c0',1,'MediaRename::item()'],['../class_edit_sequence_command.html#ab818c3995baff08fbc7505719d44bc72',1,'EditSequenceCommand::item()'],['../class_update_footage_tooltip.html#acce8f3271c5253a57539f4bfda188100',1,'UpdateFootageTooltip::item()']]], - ['itemlist',['itemList',['../class_flow_layout.html#ac0439e82402e53445451edfece8a499d',1,'FlowLayout']]], - ['items',['items',['../class_media_move.html#af7ae3b41eebe3c25edf218b3793a312e',1,'MediaMove']]], - ['iterations',['iterations',['../class_effect.html#a510515ff20c81c50829f8718da131824',1,'Effect']]] -]; diff --git a/docs/html/search/variables_9.html b/docs/html/search/variables_9.html deleted file mode 100644 index f44664990..000000000 --- a/docs/html/search/variables_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_9.js b/docs/html/search/variables_9.js deleted file mode 100644 index e519a56db..000000000 --- a/docs/html/search/variables_9.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['just_5fmade_5funsafe_5fkeyframe',['just_made_unsafe_keyframe',['../class_effect_row.html#a8178f392846ed2176008557ba9fe1717',1,'EffectRow']]], - ['just_5fplayed',['just_played',['../class_viewer.html#a899fdf38b570afc7b3fea616f12d99c7',1,'Viewer']]] -]; diff --git a/docs/html/search/variables_a.html b/docs/html/search/variables_a.html deleted file mode 100644 index 59633b357..000000000 --- a/docs/html/search/variables_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_a.js b/docs/html/search/variables_a.js deleted file mode 100644 index d177d5d92..000000000 --- a/docs/html/search/variables_a.js +++ /dev/null @@ -1,34 +0,0 @@ -var searchData= -[ - ['kbezierhandlenone',['kBezierHandleNone',['../graphview_8cpp.html#ac2e45fb21422a3f5749e6a00bd04e67b',1,'graphview.cpp']]], - ['kbezierhandlepost',['kBezierHandlePost',['../graphview_8cpp.html#aa75a347f292a11f28e6c820378b537e6',1,'graphview.cpp']]], - ['kbezierhandlepre',['kBezierHandlePre',['../graphview_8cpp.html#aa38760ace6329f03b5aa3671d8f4c7bd',1,'graphview.cpp']]], - ['kbezierhandlesize',['kBezierHandleSize',['../graphview_8cpp.html#a9c0dd6c0c8192d391ff0a6f43c62a7d0',1,'graphview.cpp']]], - ['kbezierlinesize',['kBezierLineSize',['../graphview_8cpp.html#aaf784838e46dce0366bf82802898526b',1,'graphview.cpp']]], - ['kcliptextpadding',['kClipTextPadding',['../namespaceolive_1_1timeline.html#a018939ee4aed8cd79110affd0bb8a821',1,'olive::timeline']]], - ['key',['key',['../class_keyframe_field_set.html#a50559491e70f5bd21c2515f112e0cd58',1,'KeyframeFieldSet']]], - ['key_5faddremove',['key_addremove',['../class_keyframe_navigator.html#a1ef7e74af70902b268045c4b290ec251',1,'KeyframeNavigator']]], - ['key_5fcontrols',['key_controls',['../class_keyframe_navigator.html#a1729b7d7471c988150311e02d828cc54',1,'KeyframeNavigator']]], - ['key_5fis_5fnew',['key_is_new',['../class_effect_row.html#a1626f35d0156a26903470b4f39e90f26',1,'EffectRow']]], - ['key_5fshortcut_5factions',['key_shortcut_actions',['../class_preferences_dialog.html#a96ad0ef64a2209f4dbbbf6e44c5ff805',1,'PreferencesDialog']]], - ['key_5fshortcut_5ffields',['key_shortcut_fields',['../class_preferences_dialog.html#a6cc911c1a16d269188a84a55a4b0a426',1,'PreferencesDialog']]], - ['key_5fshortcut_5fitems',['key_shortcut_items',['../class_preferences_dialog.html#a35a96033cd717d5942f4ea0fc6e8084b',1,'PreferencesDialog']]], - ['keyboard_5ftree',['keyboard_tree',['../class_preferences_dialog.html#a110da78c762e5d65b090eb226ccd74c8',1,'PreferencesDialog']]], - ['keyframe_5farea',['keyframe_area',['../class_effects_area.html#a3af210993dd65abffeaf0c71e3b37641',1,'EffectsArea']]], - ['keyframe_5fenable',['keyframe_enable',['../class_keyframe_navigator.html#ad5c3dac90dfb06471acbf6a814eebf07',1,'KeyframeNavigator']]], - ['keyframe_5fnav',['keyframe_nav',['../class_graph_editor.html#ae090721754a6be290cc22059dc2570ed',1,'GraphEditor::keyframe_nav()'],['../class_effect_row.html#ad76f100fb7bc5a530bb677928f2ed831',1,'EffectRow::keyframe_nav()']]], - ['keyframes',['keyframes',['../class_effect_field.html#a0436bcc9fc31223b18cce7ff1ffb85a0',1,'EffectField']]], - ['keyframeview',['keyframeView',['../class_effect_controls.html#ac47dfa376b7490a33f7e6b159e560866',1,'EffectControls']]], - ['keyframing',['keyframing',['../class_effect_row.html#ae3161119255e40c001aeb6ae1338f480',1,'EffectRow']]], - ['keys_5fselected',['keys_selected',['../class_keyframe_view.html#a230df5925d3835b42aaf30e55cd9c8fc',1,'KeyframeView']]], - ['kghostthickness',['kGhostThickness',['../namespaceolive_1_1timeline.html#a75e29bb3be94122a7c203f41e9145d87',1,'olive::timeline']]], - ['kgraphsize',['kGraphSize',['../graphview_8cpp.html#a0140109012cdb85c4db0ddcf0b671774',1,'graphview.cpp']]], - ['kgraphzoomspeed',['kGraphZoomSpeed',['../graphview_8cpp.html#a3624238e903763f91d6472c6e3d7e8bb',1,'graphview.cpp']]], - ['kminimumsaveversion',['kMinimumSaveVersion',['../namespaceolive.html#af7f5b251a66624a3ffd44da298ee0c03',1,'olive']]], - ['ksaveversion',['kSaveVersion',['../namespaceolive.html#ab504a2f41d94a9a692ca0631aff6c5c4',1,'olive']]], - ['kthrobberlimit',['kThrobberLimit',['../mediaiconservice_8cpp.html#a120443d1903f53a93b7f18cad83f4354',1,'mediaiconservice.cpp']]], - ['kthrobbersize',['kThrobberSize',['../mediaiconservice_8cpp.html#af7f9f47feb32a4c9fd3a5490007ece15',1,'mediaiconservice.cpp']]], - ['ktrackdefaultheight',['kTrackDefaultHeight',['../namespaceolive_1_1timeline.html#a61b09a8fcfecf4b5671654f13bcd6ee1',1,'olive::timeline']]], - ['ktrackheightincrement',['kTrackHeightIncrement',['../namespaceolive_1_1timeline.html#ad45a5b4b59af16681ff136dc5f1e6f70',1,'olive::timeline']]], - ['ktrackminheight',['kTrackMinHeight',['../namespaceolive_1_1timeline.html#a6a75ff5b9ba2681953ea69fb5e2c9333',1,'olive::timeline']]] -]; diff --git a/docs/html/search/variables_b.html b/docs/html/search/variables_b.html deleted file mode 100644 index 17216090f..000000000 --- a/docs/html/search/variables_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_b.js b/docs/html/search/variables_b.js deleted file mode 100644 index 657ef2688..000000000 --- a/docs/html/search/variables_b.js +++ /dev/null @@ -1,41 +0,0 @@ -var searchData= -[ - ['label',['label',['../struct___vst_parameter_properties.html#af76a18d1930585ce56e07eaf9fc07d0f',1,'_VstParameterProperties::label()'],['../class_effect_row.html#ab86a421237e1373969d4ef8246fa8dc9',1,'EffectRow::label()']]], - ['language_5fcombobox',['language_combobox',['../class_preferences_dialog.html#aef26b251c4b4c1827501a0ae9182cf3b',1,'PreferencesDialog']]], - ['language_5ffile',['language_file',['../struct_config.html#a347b9eac28e05a0e07225db0fa4321af',1,'Config']]], - ['largestepfloat',['largeStepFloat',['../struct___vst_parameter_properties.html#a14b1e9c65642afb9eb3e53618fb934cc',1,'_VstParameterProperties']]], - ['largestepinteger',['largeStepInteger',['../struct___vst_parameter_properties.html#a43b69da8f7dfffe38ea56f04874ea8cf',1,'_VstParameterProperties']]], - ['last_5fframe_5fdiff',['last_frame_diff',['../class_keyframe_view.html#a39adc7efe27d9792e4ecbd65389dabbb',1,'KeyframeView']]], - ['last_5fimported_5fmedia',['last_imported_media',['../class_project.html#abc2506f836e37bd5a08ca51ddc42150f',1,'Project']]], - ['last_5finvalid_5fts',['last_invalid_ts',['../class_clip.html#ab0cb1184e8ce78a7b826cec89f9e8f0d',1,'Clip']]], - ['last_5fplayhead',['last_playhead',['../class_viewer.html#a3266568421841d68dd471589638cf209',1,'Viewer']]], - ['layout',['layout',['../class_collapsible_widget.html#ae26cd30a079dac0944eb4b24b561ff79',1,'CollapsibleWidget']]], - ['lblaudioeffects',['lblAudioEffects',['../class_effect_controls.html#a00453db28ec21feb143db2fc830f72e0',1,'EffectControls']]], - ['lblmultipleclipsselected',['lblMultipleClipsSelected',['../class_effect_controls.html#a519fc7297ae54a3f1081de1b7c54dc58',1,'EffectControls']]], - ['lblvideoeffects',['lblVideoEffects',['../class_effect_controls.html#a511407a6ad2128cef2df778af1b2def0',1,'EffectControls']]], - ['left',['left',['../struct_v_s_t_rect.html#ab314f1eed54b06b9c084b46a0efefcdf',1,'VSTRect']]], - ['left_5fcenter_5fgizmo',['left_center_gizmo',['../class_transform_effect.html#af30ffd32401d1af5efb876b3672c42fe',1,'TransformEffect']]], - ['left_5fkey_5fnav',['left_key_nav',['../class_keyframe_navigator.html#a3510ff40ffda7024f160a3e591e71d8d',1,'KeyframeNavigator']]], - ['length',['length',['../struct_footage.html#ae0a34023745033d51d1438ff82b83074',1,'Footage::length()'],['../class_transition.html#a6d5dd537463992ea8dc33b76773d3378',1,'Transition::length()'],['../class_ripple_action.html#ad65ddabeaa80b04d45fd108881a832d9',1,'RippleAction::length()']]], - ['length_5f',['length_',['../class_add_transition_command.html#a44b40757e44d30a5d246b6d39860281e',1,'AddTransitionCommand']]], - ['length_5ffield',['length_field',['../class_transition.html#a0936b8dfc5447528448c6174ed284108',1,'Transition']]], - ['line',['line',['../class_collapsible_widget.html#ac7ced0001dc3e264fde583e15cf6cd0f',1,'CollapsibleWidget']]], - ['linear_5fbutton',['linear_button',['../class_graph_editor.html#aedf5ea4d14b90c388453ec3f16cd2892',1,'GraphEditor']]], - ['link',['link',['../class_link_command.html#a51a29d98fb6a3574903564f030d3fbcc',1,'LinkCommand']]], - ['link_5foffset_5f',['link_offset_',['../class_add_clip_command.html#a770cb0554708c13d59c3f7898f16a6c3',1,'AddClipCommand']]], - ['linkclipindex',['linkClipIndex',['../class_delete_clip_action.html#a8326a1e8e9a4994b132f60e2a0f59da9',1,'DeleteClipAction']]], - ['linked',['linked',['../class_clip.html#a7b0b8e8e44010e58f5df1313b7dfb2ec',1,'Clip']]], - ['linklinkindex',['linkLinkIndex',['../class_delete_clip_action.html#ae09ada78e73f720a25f85155c76cb4c0',1,'DeleteClipAction']]], - ['list_5fwidget',['list_widget',['../class_action_search.html#a82f2b7a667a9095ecd97c2a4c241d4f3',1,'ActionSearch']]], - ['load_5fid',['load_id',['../class_clip.html#a8daa3fd74b37f91a9648e267d2761cd9',1,'Clip']]], - ['loaded_5fclips',['loaded_clips',['../class_load_thread.html#a9c3d027f0ff5af7dacbc1603af2931f6',1,'LoadThread']]], - ['loaded_5ffolders',['loaded_folders',['../class_load_thread.html#a2eec901fa238f23eb31d83fcf8ab7f37',1,'LoadThread']]], - ['loaded_5fmedia_5fitems',['loaded_media_items',['../class_load_thread.html#abb0c65b1fd5ec3013cf42996f54710d1',1,'LoadThread']]], - ['loaded_5fsequences',['loaded_sequences',['../class_load_thread.html#a6d6656e0d786f60445295e0bc5ecd1a5',1,'LoadThread']]], - ['location_5fcombobox',['location_combobox',['../class_proxy_dialog.html#a71ae82edbe71096d3bde13f99d50f756',1,'ProxyDialog']]], - ['lock',['lock',['../class_audio_sender_thread.html#ac8a6e362313d53d5c653b04f6c8cd1b9',1,'AudioSenderThread::lock()'],['../class_clip.html#a97820bb062775b3fabaefdb64a3dfbdf',1,'Clip::lock()']]], - ['loop',['loop',['../struct_config.html#a51bd1cbf756a068a312e9f4da56cce50',1,'Config']]], - ['loop_5faction',['loop_action',['../class_main_window.html#a480e21fe283f4b4f667660cfff2da528',1,'MainWindow']]], - ['lt',['lt',['../class_load_dialog.html#a1b38ceee97462233d51f204692efb50e',1,'LoadDialog']]], - ['lut3d_5fedge_5fsize',['LUT3D_EDGE_SIZE',['../renderthread_8h.html#adfe0204d6d3a3a9ab3192fa7459ce05d',1,'renderthread.h']]] -]; diff --git a/docs/html/search/variables_c.html b/docs/html/search/variables_c.html deleted file mode 100644 index 78e211ac1..000000000 --- a/docs/html/search/variables_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_c.js b/docs/html/search/variables_c.js deleted file mode 100644 index 2481cee5d..000000000 --- a/docs/html/search/variables_c.js +++ /dev/null @@ -1,43 +0,0 @@ -var searchData= -[ - ['m_5fhspace',['m_hSpace',['../class_flow_layout.html#a4ca5e85c50060f2cf19d88d1e3bf9cd5',1,'FlowLayout']]], - ['m_5fvspace',['m_vSpace',['../class_flow_layout.html#ab24b23dbcc261472940b3755ba63a4c0',1,'FlowLayout']]], - ['magic',['magic',['../struct___a_effect.html#a860dbd3727e20b5a9ea5d7a47a593a03',1,'_AEffect']]], - ['main_5fattachment',['main_attachment',['../struct_compose_sequence_params.html#afab132e9800988cbc00c774ff68a7a80',1,'ComposeSequenceParams']]], - ['main_5fbuffer',['main_buffer',['../struct_compose_sequence_params.html#a8427d61e5ec833c4587afff35a81590b',1,'ComposeSequenceParams']]], - ['main_5fsequence',['main_sequence',['../class_viewer.html#ab0d43149ec798de184adbe26082207a8',1,'Viewer']]], - ['maintain_5faudio_5fpitch',['maintain_audio_pitch',['../class_clip.html#aa278f8139f7708ee8f2cc9fce77302fb',1,'Clip']]], - ['maintain_5fpitch',['maintain_pitch',['../class_speed_dialog.html#ab34b6d25fe1c7cb43d1fa2e147ecd289',1,'SpeedDialog']]], - ['mainwindow',['MainWindow',['../namespaceolive.html#a727b94e90c57e77ac506938f91b7f296',1,'olive']]], - ['marker',['marker',['../class_move_marker_action.html#acabcc990ebe0101cee9ac0295ea7f3fd',1,'MoveMarkerAction']]], - ['marker_5fref',['marker_ref',['../class_viewer.html#a50a42a8e71f9905bcbee05f05ec99687',1,'Viewer']]], - ['markers',['markers',['../class_clip.html#a7dab7c1c4bdc4e3925b6dde30ddae851',1,'Clip::markers()'],['../struct_footage.html#a8825485f303a77819c85b21c2cb2785c',1,'Footage::markers()'],['../class_sequence.html#acbff26dec140b6c0250f70a17cf75a4a',1,'Sequence::markers()'],['../class_delete_marker_action.html#a4622c6ec6d1c235fa8da9776d0979052',1,'DeleteMarkerAction::markers()']]], - ['max_5fenabled',['max_enabled',['../class_label_slider.html#a22b9ecff65c8b6e6786eb78d5345337c',1,'LabelSlider']]], - ['max_5fqueue_5fsize',['max_queue_size',['../class_clip.html#a5490e73540ef171d1b653e5eea841191',1,'Clip']]], - ['max_5fvalue',['max_value',['../class_label_slider.html#aa3c56b46a732fd78984bc527aa404870',1,'LabelSlider']]], - ['maxinteger',['maxInteger',['../struct___vst_parameter_properties.html#aed3b52f585024875cd3dfef9b3a00ae7',1,'_VstParameterProperties']]], - ['media',['media',['../class_replace_clip_media_dialog.html#a65bd89010d9bad4fe81a59f1ef272504',1,'ReplaceClipMediaDialog::media()'],['../class_preview_generator.html#aab2f6a913767c82831bfed2e09062ff6',1,'PreviewGenerator::media()'],['../struct_ghost.html#a943dc9113d7fc5aa3f285db465ac29d9',1,'Ghost::media()'],['../class_viewer.html#a70a1358796cd3677ca4038bf72f27248',1,'Viewer::media()'],['../class_clip.html#a5b55961227a5f0fffb14da879fcf1e9d',1,'Clip::media()'],['../class_refresh_clips.html#ad3d84e79928cac6a26d927ad0958822e',1,'RefreshClips::media()']]], - ['media_5ficon_5fservice',['media_icon_service',['../namespaceolive.html#a1cebcb1eb862b55634168a2f886bd9b7',1,'olive']]], - ['media_5fid',['media_id',['../class_project.html#ae41f69f50e9866c986b19b2924481053',1,'Project']]], - ['media_5flength',['media_length',['../struct_ghost.html#a9f8a6e7414d2b93569b827f70e24c174',1,'Ghost']]], - ['media_5fstream',['media_stream',['../struct_ghost.html#a34e0ce2febfb5e0af142faf1d5d4fd78',1,'Ghost::media_stream()'],['../class_clip.html#ad32b52e35440bef30cdd5da06e95c2a3',1,'Clip::media_stream()']]], - ['menuhelper',['MenuHelper',['../namespaceolive.html#a89c3d4d7982b29de454d2d8b2087ef14',1,'olive']]], - ['meta',['meta',['../class_effect.html#a62d3967301d9527c7fdb3cc7593f106f',1,'Effect::meta()'],['../class_add_effect_command.html#a08b850c3ae0fa4b7b02b37652540997e',1,'AddEffectCommand::meta()']]], - ['mididata',['midiData',['../struct___vst_midi_event.html#a92839286ff3319a4bf86a3f8e133f74a',1,'_VstMidiEvent']]], - ['milliseconds_5faction',['milliseconds_action',['../class_main_window.html#a26eeb91288e62357912b9caebd8f0b64',1,'MainWindow']]], - ['min_5fenabled',['min_enabled',['../class_label_slider.html#a86e3eea15b0c01457d58ed3847f5f3ba',1,'LabelSlider']]], - ['min_5fvalue',['min_value',['../class_label_slider.html#aaee240de256aeab0ec881f74c9109693',1,'LabelSlider']]], - ['minimum_5fzoom',['minimum_zoom',['../class_viewer.html#a039f5520f48151964e9f9e6fd91d75e9',1,'Viewer']]], - ['mininteger',['minInteger',['../struct___vst_parameter_properties.html#aadb6cea236ea019dadb1cb697d890300',1,'_VstParameterProperties']]], - ['mix_5fval',['mix_val',['../class_audio_noise_effect.html#a473aaa87a6ade2b68fa152f58d1753c3',1,'AudioNoiseEffect::mix_val()'],['../class_tone_effect.html#a73fdafc65954c828184ede73e467ab35',1,'ToneEffect::mix_val()']]], - ['mode',['mode',['../class_effect_controls.html#aeebb63760420cfcc85897a3574fde316',1,'EffectControls']]], - ['moduleptr',['modulePtr',['../class_v_s_t_host.html#ab95a18045d5fb1408f82a19887c126dd',1,'VSTHost']]], - ['mousedown',['mousedown',['../class_graph_view.html#a5626f96d5726748f346b5865090dfc36',1,'GraphView::mousedown()'],['../class_keyframe_view.html#a69b19dbc2910fe07010e9596b93e0ef1',1,'KeyframeView::mousedown()']]], - ['move_5finsert',['move_insert',['../class_timeline.html#aa31225e9f4b2fa11323b5d68f136d05e',1,'Timeline']]], - ['moved_5fkeys',['moved_keys',['../class_graph_view.html#a13c2b3dac9dccd006e331e82e69e06a7',1,'GraphView']]], - ['moving_5finit',['moving_init',['../class_timeline.html#ae6e5a2b1d0f22833e913240e4e2517f7',1,'Timeline']]], - ['moving_5fproc',['moving_proc',['../class_timeline.html#aba3c6d4f7ce850a66ac548699939e4f9',1,'Timeline']]], - ['multiple',['multiple',['../class_effect_controls.html#a7793b11a951b281034910ec6a1100866',1,'EffectControls']]], - ['multithreaded',['multithreaded',['../class_clip.html#a1f15dba562d8a273fcfe831ffcce914c',1,'Clip']]], - ['mutex',['mutex',['../class_export_thread.html#a1389089a2d31ec367e5ddcbcb8081a16',1,'ExportThread::mutex()'],['../class_load_thread.html#acc985031ed65f52781af5a819ce0124a',1,'LoadThread::mutex()'],['../class_proxy_generator.html#a1f321a319309b2eeaf089eeed9a90c1b',1,'ProxyGenerator::mutex()'],['../class_render_thread.html#a456a71420ffd0b9de3d5359f39c460fe',1,'RenderThread::mutex()'],['../class_viewer_window.html#a38d6899ad4dd9c339d75c6c443687421',1,'ViewerWindow::mutex()']]] -]; diff --git a/docs/html/search/variables_d.html b/docs/html/search/variables_d.html deleted file mode 100644 index bd27a70be..000000000 --- a/docs/html/search/variables_d.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_d.js b/docs/html/search/variables_d.js deleted file mode 100644 index 6ad29c352..000000000 --- a/docs/html/search/variables_d.js +++ /dev/null @@ -1,38 +0,0 @@ -var searchData= -[ - ['name',['name',['../class_clip.html#a99dca1e3fe29eb56d0751d5639ace0d8',1,'Clip::name()'],['../struct_effect_meta.html#af9c54ed086542bedfe1a47c0f081f509',1,'EffectMeta::name()'],['../class_effect.html#a8c818cb5ecb263bdca1cb13cfeb60021',1,'Effect::name()'],['../class_effect_row.html#a1c9dca930e2ba1d86d968e84811c577e',1,'EffectRow::name()'],['../struct_footage.html#a9c3ce3e31445fe6b137016869c27999a',1,'Footage::name()'],['../struct_marker.html#a39bd9bd110775e45b07301e99a721b30',1,'Marker::name()'],['../class_sequence.html#abeab28a73f8e7b1d6ebe42cc987c5718',1,'Sequence::name()'],['../class_add_marker_action.html#a96728a5783886e2e7ff96c76ebe8aaa2',1,'AddMarkerAction::name()'],['../class_edit_sequence_command.html#afe8cdadc3df779da21697039b7a2a947',1,'EditSequenceCommand::name()']]], - ['name_5fbox',['name_box',['../class_media_properties_dialog.html#a94fb975f3eb23bb5c89cce5539cdd142',1,'MediaPropertiesDialog']]], - ['nanoseconds',['nanoSeconds',['../struct___vst_time_info.html#ae8e2477542d48d10fda35d60652338db',1,'_VstTimeInfo']]], - ['nests',['nests',['../class_cacher.html#ac8fbf7205b43f64c5e1147734fad78bc',1,'Cacher::nests()'],['../struct_compose_sequence_params.html#a9812ba14b9e30e5b82e5545afa6874ba',1,'ComposeSequenceParams::nests()']]], - ['new_5fclip_5fin',['new_clip_in',['../class_move_clip_action.html#a928c2619d17a8507203528b2c32454d5',1,'MoveClipAction']]], - ['new_5fcolor',['new_color',['../class_color_command.html#a21ad33b4e026029d30aab46cca634773',1,'ColorCommand']]], - ['new_5fdata',['new_data',['../class_set_selections_command.html#a350a369eed704a8715de7c83dace1c0c',1,'SetSelectionsCommand::new_data()'],['../class_set_pointer.html#a064e14c81bcae2827251511987001d61',1,'SetPointer::new_data()']]], - ['new_5fenabled',['new_enabled',['../class_set_timeline_in_out_command.html#a22bc83dd05b8f25f8682f130d9612846',1,'SetTimelineInOutCommand']]], - ['new_5ffilename',['new_filename',['../class_replace_media_command.html#aa26a3908a10d657e031dae92cd0ea24d',1,'ReplaceMediaCommand']]], - ['new_5fin',['new_in',['../class_move_clip_action.html#aa22de8e481c872c88e0d40ec3146cf55',1,'MoveClipAction::new_in()'],['../class_set_timeline_in_out_command.html#ad0bcc9b344ed02ab6f7d59e3df36e1bb',1,'SetTimelineInOutCommand::new_in()']]], - ['new_5flength_5f',['new_length_',['../class_modify_transition_command.html#a5887f12ffb39b29f42344ddeb630d29d',1,'ModifyTransitionCommand']]], - ['new_5fmedia',['new_media',['../class_replace_clip_media_command.html#ab936085e30113f7ffb08e6acd67c3e35',1,'ReplaceClipMediaCommand']]], - ['new_5fname',['new_name',['../class_rename_clip_command.html#aacc374c70c124acd8abd51d40dbdcde1',1,'RenameClipCommand']]], - ['new_5fout',['new_out',['../class_move_clip_action.html#a07c831f4b0df5075088261e83433c03f',1,'MoveClipAction::new_out()'],['../class_set_timeline_in_out_command.html#a939fbe3bdea2fde2ded6ee97c01b7f0d',1,'SetTimelineInOutCommand::new_out()']]], - ['new_5fsequence',['new_sequence',['../class_change_sequence_action.html#a7c1c828c8417e6a77d28824f60db48f9',1,'ChangeSequenceAction']]], - ['new_5fsetting',['new_setting',['../class_set_bool.html#a00ef8162986a8f20b2ce94fb213a75db',1,'SetBool']]], - ['new_5fspeed',['new_speed',['../class_set_speed_action.html#acf517b769bf89975349db66b4418cc91',1,'SetSpeedAction']]], - ['new_5ftime',['new_time',['../class_move_marker_action.html#aeb233879b6d50b5c755d43170f19183b',1,'MoveMarkerAction']]], - ['new_5ftrack',['new_track',['../class_move_clip_action.html#ad13eb9ccc661d82b6f8efd987e4fd876',1,'MoveClipAction']]], - ['new_5ftransition_5fref_5f',['new_transition_ref_',['../class_add_transition_command.html#aa4ec56babc0274057f8300a1bd6ac857',1,'AddTransitionCommand']]], - ['new_5fval',['new_val',['../class_effect_field_undo.html#a3107863b70370180215a0405ee57f90b',1,'EffectFieldUndo::new_val()'],['../class_set_q_variant.html#a15611fa97a6f0e74e90c396f6b75ed23',1,'SetQVariant::new_val()'],['../class_combo_box_ex_command.html#ad51cb65a4108dea0000d21755563c619',1,'ComboBoxExCommand::new_val()']]], - ['newval',['newval',['../class_set_int.html#ae7acff61c7783e0efac6b29b43d218f5',1,'SetInt::newval()'],['../class_set_long.html#a445922547c73582496e0c5a150c87545',1,'SetLong::newval()'],['../class_set_double.html#a151e46fcd41b8362e4fa7a9966d62412',1,'SetDouble::newval()'],['../class_set_string.html#a4413775fb59c7643326a569d3e71bda5',1,'SetString::newval()']]], - ['next_5fframe_5fbutton',['next_frame_button',['../class_viewer.html#ac68ee5613f53abd64e3090bdf324e3de',1,'Viewer']]], - ['no_5fautoscroll',['no_autoscroll',['../class_main_window.html#aa3b1b9945a5ff1abe59271aeb2c5be67',1,'MainWindow']]], - ['nondrop_5fframe_5faction',['nondrop_frame_action',['../class_main_window.html#ac3cdb007fc33235558abf371b52b5ced',1,'MainWindow']]], - ['notelength',['noteLength',['../struct___vst_midi_event.html#a11fc86a16229589ddaf00cbc7a438efd',1,'_VstMidiEvent']]], - ['noteoffset',['noteOffset',['../struct___vst_midi_event.html#a276d46f88e1d769c686dccca6ca5c19e',1,'_VstMidiEvent']]], - ['noteoffvelocity',['noteOffVelocity',['../struct___vst_midi_event.html#a0c7cb4291714337b12c60624a2e51b2a',1,'_VstMidiEvent']]], - ['num_5f3d_5fentries',['NUM_3D_ENTRIES',['../renderthread_8h.html#ab649a66d35a1121e1835ad71b1f5786a',1,'renderthread.h']]], - ['numevents',['numEvents',['../struct___vst_events.html#a58c5c1034ce2b814084de6428c3bf096',1,'_VstEvents']]], - ['numinputs',['numInputs',['../struct___a_effect.html#ad13c1c461f3811ce5a0e0fa2d2c7561a',1,'_AEffect']]], - ['numoutputs',['numOutputs',['../struct___a_effect.html#a3bea5e23a21ee5fa0dc98012ae6c718d',1,'_AEffect']]], - ['numparametersincategory',['numParametersInCategory',['../struct___vst_parameter_properties.html#ada1b0e40417723f63a1dddaf77f00107',1,'_VstParameterProperties']]], - ['numparams',['numParams',['../struct___a_effect.html#a79eacba9f234cc2244c889e35886dfbf',1,'_AEffect']]], - ['numprograms',['numPrograms',['../struct___a_effect.html#a373aaca9def34df8ec985c1e394eeafe',1,'_AEffect']]] -]; diff --git a/docs/html/search/variables_e.html b/docs/html/search/variables_e.html deleted file mode 100644 index f2130e01b..000000000 --- a/docs/html/search/variables_e.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_e.js b/docs/html/search/variables_e.js deleted file mode 100644 index 97ebf5c0e..000000000 --- a/docs/html/search/variables_e.js +++ /dev/null @@ -1,61 +0,0 @@ -var searchData= -[ - ['object',['object',['../class_media.html#a875a5cc43e91f9418161d2fd4cfe04e5',1,'Media']]], - ['ocio_5flut_5fdata',['ocio_lut_data',['../class_render_thread.html#a0b20b28b3c254aa71c03b17d3b589500',1,'RenderThread']]], - ['ocio_5flut_5ftexture',['ocio_lut_texture',['../struct_compose_sequence_params.html#ac5f9b7bb2db527158e76d6fc5916a576',1,'ComposeSequenceParams']]], - ['ocio_5fshader',['ocio_shader',['../struct_compose_sequence_params.html#a5e790eddc0fb55df981a49ac8f935bf6',1,'ComposeSequenceParams']]], - ['offset_5fx_5fval',['offset_x_val',['../class_timecode_effect.html#ab7eb1b2fe47da3c364b04328d74a692d',1,'TimecodeEffect']]], - ['offset_5fy_5fval',['offset_y_val',['../class_timecode_effect.html#aa0e8430f36d01179996c69c8cdc35d61',1,'TimecodeEffect']]], - ['old_5faudio_5ffrequency',['old_audio_frequency',['../class_edit_sequence_command.html#a8cf82cc32f2cbf6468ce9614037fc9f2',1,'EditSequenceCommand']]], - ['old_5faudio_5flayout',['old_audio_layout',['../class_edit_sequence_command.html#a3bbfaa9ae0ae11cda89433578f8ed35c',1,'EditSequenceCommand']]], - ['old_5fchanged',['old_changed',['../class_set_pointer.html#a1af4048517b1eb02cfbf9d66c2783a7b',1,'SetPointer']]], - ['old_5fclip_5fin',['old_clip_in',['../struct_ghost.html#ab45bfcdb704b75d2d3efdafe808e11f1',1,'Ghost::old_clip_in()'],['../class_move_clip_action.html#a2a182519b7b070c7f1aa537d397323ab',1,'MoveClipAction::old_clip_in()']]], - ['old_5fclip_5fins',['old_clip_ins',['../class_replace_clip_media_command.html#a4684a466277a593293a2552372e8c458',1,'ReplaceClipMediaCommand']]], - ['old_5fclose_5ftransition_5f',['old_close_transition_',['../class_add_transition_command.html#a1b407bac0bba2944d477092059c9a85a',1,'AddTransitionCommand']]], - ['old_5fcolor',['old_color',['../class_color_command.html#a86d387e588719658612036f9626c5096',1,'ColorCommand']]], - ['old_5fdata',['old_data',['../class_set_selections_command.html#a160cf09ae651b4d754260654c4c28229',1,'SetSelectionsCommand::old_data()'],['../class_set_pointer.html#a1b165842dad2600c208d09f68674da9c',1,'SetPointer::old_data()'],['../class_set_effect_data.html#a10326cbe3d6df6095a23b04a794a3ea3',1,'SetEffectData::old_data()']]], - ['old_5fenabled',['old_enabled',['../class_set_timeline_in_out_command.html#a0fe1db4b1ec21575fcb297069f974580',1,'SetTimelineInOutCommand']]], - ['old_5ffilename',['old_filename',['../class_replace_media_command.html#aea1c2c658e2dd516e79fd74216bb755e',1,'ReplaceMediaCommand::old_filename()'],['../class_embedded_file_chooser.html#a81255bb214d48beec3120ab3dea56d76',1,'EmbeddedFileChooser::old_filename()']]], - ['old_5fframe_5frate',['old_frame_rate',['../class_edit_sequence_command.html#abce788373739cc18cd0197279b835c03',1,'EditSequenceCommand']]], - ['old_5fheight',['old_height',['../class_edit_sequence_command.html#a71c31af9c44e28dfff73e43e642624e7',1,'EditSequenceCommand']]], - ['old_5fin',['old_in',['../struct_ghost.html#a094231b1cfebbc84bdf2cef4d7804def',1,'Ghost::old_in()'],['../struct_selection.html#a7ffb136be4fb4d978c342b77aea85ec4',1,'Selection::old_in()'],['../class_move_clip_action.html#a430a10daa9f8ff4503f43543ee3a0478',1,'MoveClipAction::old_in()'],['../class_set_timeline_in_out_command.html#a28431fcf2d82416e7c1ce9e9e5a3a097',1,'SetTimelineInOutCommand::old_in()']]], - ['old_5fkey_5fvals',['old_key_vals',['../class_keyframe_view.html#a5b8b88481621c2dd7db28c7b7b696912',1,'KeyframeView']]], - ['old_5flength_5f',['old_length_',['../class_modify_transition_command.html#a2905b27757090a0bedf769d3f80c8106',1,'ModifyTransitionCommand']]], - ['old_5flinks',['old_links',['../class_link_command.html#a4314f2a1674de2e8f781c1b22fe6a27b',1,'LinkCommand']]], - ['old_5fmedia',['old_media',['../class_replace_clip_media_command.html#ad8f6d5ed6b7c0f5a122462b003e2f247',1,'ReplaceClipMediaCommand']]], - ['old_5fname',['old_name',['../class_add_marker_action.html#a6db42128b9a5290b80d1e7a34624bff6',1,'AddMarkerAction::old_name()'],['../class_edit_sequence_command.html#a54ee1a116176981d5604ac3292674a5a',1,'EditSequenceCommand::old_name()']]], - ['old_5fnames',['old_names',['../class_rename_clip_command.html#a64bd6cd5481f8753c33962b3ccc60095',1,'RenameClipCommand']]], - ['old_5fopen_5ftransition_5f',['old_open_transition_',['../class_add_transition_command.html#a8be54929a99f65e1717ebcfe6e0f0cc5',1,'AddTransitionCommand']]], - ['old_5fout',['old_out',['../struct_ghost.html#a709a10d5200ca349c11f6b07abfa240d',1,'Ghost::old_out()'],['../struct_selection.html#acdce876b3030e4eb71770f804fabc155',1,'Selection::old_out()'],['../class_move_clip_action.html#a2431a8e56568114d24aa7e3bb8db5f51',1,'MoveClipAction::old_out()'],['../class_set_timeline_in_out_command.html#ada58014bc0fcfb66dd42d8981a130123',1,'SetTimelineInOutCommand::old_out()']]], - ['old_5fpost_5fhandle_5fx',['old_post_handle_x',['../class_graph_view.html#af8ff104eeaebf5d4ae4f098ff808eb2e',1,'GraphView']]], - ['old_5fpost_5fhandle_5fy',['old_post_handle_y',['../class_graph_view.html#ae386e9ee8a0adf9977cac52049f42140',1,'GraphView']]], - ['old_5fpre_5fhandle_5fx',['old_pre_handle_x',['../class_graph_view.html#a78dca5c2b5c0ce04ff08ad9f057b3a55',1,'GraphView']]], - ['old_5fpre_5fhandle_5fy',['old_pre_handle_y',['../class_graph_view.html#ae38089fa563abbf3bbb04575ae519e60',1,'GraphView']]], - ['old_5fproject_5fchanged',['old_project_changed',['../class_combo_box_ex_command.html#a11399485aff94885240003b78912bb4c',1,'ComboBoxExCommand']]], - ['old_5fsequence',['old_sequence',['../class_change_sequence_action.html#a37af18d312a04524f58dcda7eb6eb0b3',1,'ChangeSequenceAction']]], - ['old_5fsetting',['old_setting',['../class_set_bool.html#a848958b006c4440d6fd53199ab391997',1,'SetBool']]], - ['old_5fspeed',['old_speed',['../class_set_speed_action.html#aa849add5324bdf1dfa4166e584c1bec8',1,'SetSpeedAction']]], - ['old_5ftime',['old_time',['../class_move_marker_action.html#ac2979b1c818da80388b4ff45a1d6a465',1,'MoveMarkerAction']]], - ['old_5ftrack',['old_track',['../struct_ghost.html#a206d664ba7a9e16321a464577cad54b2',1,'Ghost::old_track()'],['../struct_selection.html#aab259526380dae978cb17e806923918a',1,'Selection::old_track()'],['../class_move_clip_action.html#ae328499c1be243ac9af7543ae90513e8',1,'MoveClipAction::old_track()']]], - ['old_5fval',['old_val',['../class_effect_field_undo.html#a045e07171cf3079f4d0e9bfc9203fa72',1,'EffectFieldUndo::old_val()'],['../class_set_q_variant.html#a00c57c89aa0241fc8ab5d779c2341f85',1,'SetQVariant::old_val()'],['../class_combo_box_ex_command.html#ac815f926368bb6fa069d9f1b4b27c0bc',1,'ComboBoxExCommand::old_val()']]], - ['old_5fwidth',['old_width',['../class_edit_sequence_command.html#a9adee2296bc31b0e6eefab910214bc56',1,'EditSequenceCommand']]], - ['old_5fwindow_5fmodified',['old_window_modified',['../class_olive_action.html#a2ad0d3899c37dce7caed1b9d22a6c892',1,'OliveAction']]], - ['old_5fzoom',['old_zoom',['../class_timeline.html#a51f95ea0689ee7cd4d15e618be91145a',1,'Timeline']]], - ['oldval',['oldval',['../class_set_int.html#aa76ca582811a0a59ad33a9928dde4ae8',1,'SetInt::oldval()'],['../class_set_long.html#a8f3e690903a4489f7c388a5c7a620838',1,'SetLong::oldval()'],['../class_set_double.html#a44650f77d2631bd31e8125b7cfdec7c1',1,'SetDouble::oldval()'],['../class_set_string.html#a084b343ea130e6414d580a91cf4e1aac',1,'SetString::oldval()']]], - ['opacity',['opacity',['../class_transform_effect.html#a6e344b4e2c10b6a829fc6d587592b7da',1,'TransformEffect::opacity()'],['../struct_g_l_texture_coords.html#a07a8027aeefe2aa0e43d55aed093b63e',1,'GLTextureCoords::opacity()']]], - ['opacity_5ffield',['opacity_field',['../class_solid_effect.html#ac77a80b30e8f7a2742d5f1a981301da0',1,'SolidEffect']]], - ['open',['open',['../class_frei0r_effect.html#a135601faf4b787e2ddd6b7db89cd9b06',1,'Frei0rEffect::open()'],['../class_clip.html#aa7114a6af3d3b7661d050b56b68ae33d',1,'Clip::open()']]], - ['open_5f',['open_',['../class_add_transition_command.html#a95a6650a70e2d62f533b5f8c4e64003a',1,'AddTransitionCommand']]], - ['open_5flock',['open_lock',['../class_clip.html#a219fb3be16b00ed711966294c1305b4c',1,'Clip']]], - ['open_5frecent',['open_recent',['../class_main_window.html#ab95ebbd58814ace518c2a28382cfd447',1,'MainWindow']]], - ['open_5fseq',['open_seq',['../class_load_thread.html#a989830cd4d0ad91b61d47c9c98cc73ac',1,'LoadThread']]], - ['opened_5fclip_5f',['opened_clip_',['../class_delete_transition_command.html#ad1a299da1620a81ae4a028e800f99f20',1,'DeleteTransitionCommand']]], - ['opening_5ftransition',['opening_transition',['../class_clip.html#accdb3588296c9667f86711774ed2ab00',1,'Clip::opening_transition()'],['../class_delete_clip_action.html#a3a5e7677f5ec16268ef9ebcc236308f6',1,'DeleteClipAction::opening_transition()']]], - ['opts',['opts',['../class_clip.html#a4cd77f6f294dc7c1a3249d708cd5a60c',1,'Clip']]], - ['out',['out',['../struct_ghost.html#a033936bb4e829ac343f7f9f2917bce16',1,'Ghost::out()'],['../struct_footage.html#a39b764140fcb13b53da800a796212be5',1,'Footage::out()'],['../struct_selection.html#a30d0d5f225910b05354b631d0169a918',1,'Selection::out()']]], - ['outline_5fbool',['outline_bool',['../class_text_effect.html#a48b50535f6b81e859143ec883147b3b0',1,'TextEffect']]], - ['outline_5fcolor',['outline_color',['../class_text_effect.html#a18901a913c4dea67462ffa768f78e3cd',1,'TextEffect']]], - ['outline_5fwidth',['outline_width',['../class_text_effect.html#ad9dd27318bd603d867c7841a5ad7d60c',1,'TextEffect']]], - ['output_5frecording',['output_recording',['../audio_8cpp.html#ab03dd4165a5e852026f88bf7e37803c1',1,'audio.cpp']]], - ['outputs',['outputs',['../class_v_s_t_host.html#a294542a5e2edb9bf3d8874398068fa12',1,'VSTHost']]] -]; diff --git a/docs/html/search/variables_f.html b/docs/html/search/variables_f.html deleted file mode 100644 index d66069769..000000000 --- a/docs/html/search/variables_f.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/html/search/variables_f.js b/docs/html/search/variables_f.js deleted file mode 100644 index b2cf2caaa..000000000 --- a/docs/html/search/variables_f.js +++ /dev/null @@ -1,92 +0,0 @@ -var searchData= -[ - ['p',['p',['../class_set_int.html#a9624df0e30ef3c0868a139e37626cc6d',1,'SetInt::p()'],['../class_set_long.html#a3ff507f67b267b6bd9bdf92585ff837b',1,'SetLong::p()'],['../class_set_double.html#ad44720d859aeae4557efcc7d293a7608',1,'SetDouble::p()'],['../class_set_string.html#ad95d860f04f35aae8afe7d5b58435ac0',1,'SetString::p()'],['../class_set_pointer.html#a90178e013912bd1eda775d0a0ebb77e2',1,'SetPointer::p()']]], - ['page_5fautoscroll',['page_autoscroll',['../class_main_window.html#a83b57e2c8c4ccf04aa3151dfcf51cd33',1,'MainWindow']]], - ['painter',['painter',['../class_q_painter_wrapper.html#a82447ccb5ce7e570bd9d78167c5bd947',1,'QPainterWrapper']]], - ['painter_5fwrapper',['painter_wrapper',['../qpainterwrapper_8cpp.html#ad26659352e4317a2e950a9c280347127',1,'painter_wrapper(): qpainterwrapper.cpp'],['../qpainterwrapper_8h.html#ad26659352e4317a2e950a9c280347127',1,'painter_wrapper(): qpainterwrapper.cpp']]], - ['pan_5fval',['pan_val',['../class_pan_effect.html#ac902e1fdbd95e43bc489df23d85523ff',1,'PanEffect']]], - ['panel_5feffect_5fcontrols',['panel_effect_controls',['../panels_8cpp.html#aa2a97f737dafd57d0aaca36ec04e995f',1,'panel_effect_controls(): panels.cpp'],['../panels_8h.html#aa2a97f737dafd57d0aaca36ec04e995f',1,'panel_effect_controls(): panels.cpp']]], - ['panel_5ffootage_5fviewer',['panel_footage_viewer',['../panels_8cpp.html#a0b148b499e06ae85c5b7883d0ae0965b',1,'panel_footage_viewer(): panels.cpp'],['../panels_8h.html#a0b148b499e06ae85c5b7883d0ae0965b',1,'panel_footage_viewer(): panels.cpp']]], - ['panel_5fgraph_5feditor',['panel_graph_editor',['../panels_8cpp.html#ad79a38e4b3107d8b7bc9fdaed5ba04c6',1,'panel_graph_editor(): panels.cpp'],['../panels_8h.html#ad79a38e4b3107d8b7bc9fdaed5ba04c6',1,'panel_graph_editor(): panels.cpp']]], - ['panel_5fname',['panel_name',['../class_effect_controls.html#a80e65409daea8dda8270b15be26ae1bc',1,'EffectControls::panel_name()'],['../class_viewer.html#a9a4ecb3f28bfdc28bd379c05c957a52e',1,'Viewer::panel_name()']]], - ['panel_5fproject',['panel_project',['../panels_8cpp.html#aa6564a8736877fc51250099da1a461dc',1,'panel_project(): panels.cpp'],['../panels_8h.html#aa6564a8736877fc51250099da1a461dc',1,'panel_project(): panels.cpp']]], - ['panel_5fsequence_5fviewer',['panel_sequence_viewer',['../panels_8cpp.html#a3a6b386f106381a65d464beee0a734f9',1,'panel_sequence_viewer(): panels.cpp'],['../panels_8h.html#a3a6b386f106381a65d464beee0a734f9',1,'panel_sequence_viewer(): panels.cpp']]], - ['panel_5ftimeline',['panel_timeline',['../panels_8cpp.html#a541bd5fb05fb8730ed1f22970a8c2dba',1,'panel_timeline(): panels.cpp'],['../panels_8h.html#a541bd5fb05fb8730ed1f22970a8c2dba',1,'panel_timeline(): panels.cpp']]], - ['par_5fcombobox',['par_combobox',['../class_new_sequence_dialog.html#ad39b2e669d361f20962619e0ae87b787',1,'NewSequenceDialog']]], - ['param_5fcount',['param_count',['../class_frei0r_effect.html#a33afe544c4fafe2d3700800d3fb0dd1c',1,'Frei0rEffect']]], - ['params',['params',['../class_advanced_video_dialog.html#a55d424313a26f776f6663fea017505c1',1,'AdvancedVideoDialog::params()'],['../class_export_thread.html#ae405ee9998482c8717003a4b9cf1c405',1,'ExportThread::params()']]], - ['parent',['parent',['../class_media.html#a7f1610938a529715fbb0f9d16232b3c9',1,'Media::parent()'],['../class_new_sequence_command.html#ac27735b6338f7bbdccc30ac1a140e851',1,'NewSequenceCommand::parent()'],['../class_add_media_command.html#a86b5ac315ac65541b7aa3a4459a5489f',1,'AddMediaCommand::parent()'],['../class_delete_media_command.html#ab68213f4febafa1151465759708c67cc',1,'DeleteMediaCommand::parent()']]], - ['parent_5fclip',['parent_clip',['../class_effect.html#af70534fc435d8f31d040e26412e5bf92',1,'Effect']]], - ['parent_5feffect',['parent_effect',['../class_effect_row.html#a8293f810cbfcdae61680efce9e0d298d',1,'EffectRow']]], - ['parent_5frow',['parent_row',['../class_effect_field.html#a40b8e55981e45d69e7af0c0ff7778c46',1,'EffectField']]], - ['parent_5fwidget',['parent_widget',['../class_effects_area.html#a0a5773b32d8d97ee440574ec641d0601',1,'EffectsArea']]], - ['paste_5fseeks',['paste_seeks',['../struct_config.html#a2d6edc94ac3e858b68cdbea094ae8c03',1,'Config']]], - ['path',['path',['../struct_proxy_info.html#a8068fe17a1b0c45f37bab85d1f7d5dd8',1,'ProxyInfo::path()'],['../struct_effect_meta.html#ab993b4f119ffb6c6eaf496e314cc194e',1,'EffectMeta::path()']]], - ['pause_5ftext',['pause_text',['../class_play_button.html#a055a01d39a3f46ec6f8fd2a4d311d13f',1,'PlayButton']]], - ['percent',['percent',['../class_speed_dialog.html#af225835f603e190ed1f9a6d3704bdac2',1,'SpeedDialog']]], - ['perspective',['perspective',['../class_corner_pin_effect.html#ae2540e69f8a0b6fd45616166056f56b1',1,'CornerPinEffect']]], - ['pix_5ffmt',['pix_fmt',['../struct_video_codec_params.html#a06835c0a2dfa30ae5958f1283b30a8a7',1,'VideoCodecParams::pix_fmt()'],['../class_clip.html#a6281dae17eb6bcce4379f0615c6cc10b',1,'Clip::pix_fmt()']]], - ['pix_5ffmt_5fcombo',['pix_fmt_combo',['../class_advanced_video_dialog.html#a983e2111eb6c5a998e28cb448916f07b',1,'AdvancedVideoDialog']]], - ['pixel_5fbuffer',['pixel_buffer',['../class_render_thread.html#ae92fd4fb6b4da250affcdbcec0198465',1,'RenderThread']]], - ['pixel_5fbuffer_5flinesize',['pixel_buffer_linesize',['../class_render_thread.html#adb4ef2e5e52a79b3bace21d74d4bd539',1,'RenderThread']]], - ['pkt',['pkt',['../class_clip.html#a1c087c4ee0c3e6307443add9353bf81d',1,'Clip']]], - ['pkt_5fwritten',['pkt_written',['../class_clip.html#a3df77d37e41cd2d55373965e21acf679',1,'Clip']]], - ['play_5fbutton',['play_button',['../class_viewer.html#add24288acb6454fee8d6b7e6ad62d941',1,'Viewer']]], - ['play_5ftext',['play_text',['../class_play_button.html#a964e76c7b56e1f876d709eed049dcbc6',1,'PlayButton']]], - ['playback_5fspeed',['playback_speed',['../class_viewer.html#af8e767f20b2425e57d21891f7cf0c6f4',1,'Viewer::playback_speed()'],['../class_cacher.html#ab5f5700dc48c5cca9c461f07ca46318a',1,'Cacher::playback_speed()'],['../struct_compose_sequence_params.html#a24021c50259cb0ee3260e82ee59916ce',1,'ComposeSequenceParams::playback_speed()']]], - ['playback_5fupdater',['playback_updater',['../class_viewer.html#a42295cf662c839e30ce29d8c4c121196',1,'Viewer']]], - ['playhead',['playhead',['../class_cacher.html#a5d0b9f109d61adb78ea1f9f9f20b7891',1,'Cacher::playhead()'],['../class_sequence.html#acc99ebdac07f29be4938cc554eff0bab',1,'Sequence::playhead()']]], - ['playhead_5fstart',['playhead_start',['../class_viewer.html#a4e609e5466289580f096c6a727b677fa',1,'Viewer']]], - ['playicon',['playIcon',['../class_viewer.html#a3c0e0ca410c09d3f732af36a1637773b',1,'Viewer']]], - ['playing',['playing',['../class_viewer.html#abd4fa71b5f05fc34a57bef6f89416938',1,'Viewer']]], - ['playing_5fin_5fto_5fout',['playing_in_to_out',['../class_viewer.html#a46f06976146e9e8b49cbf4e7edbfe861',1,'Viewer']]], - ['plugin',['plugin',['../class_v_s_t_host.html#ab10925b83c6b5f991e075f3f6ac0bb70',1,'VSTHost']]], - ['point',['point',['../class_ripple_action.html#a769acad0df18c9fd41d854d200291d33',1,'RippleAction']]], - ['pointer_5ftool_5faction',['pointer_tool_action',['../class_main_window.html#adc7f2eb4902ab68471efd4600de38a44',1,'MainWindow']]], - ['pos',['pos',['../class_add_effect_command.html#a4056623484e1607f7dba50468c0518a1',1,'AddEffectCommand::pos()'],['../class_remove_clips_from_clipboard.html#a114a747b45c13e40bd38332a983179a8',1,'RemoveClipsFromClipboard::pos()']]], - ['position_5fx',['position_x',['../class_transform_effect.html#aad7b8b9849d48794160242cf3884416b',1,'TransformEffect']]], - ['position_5fy',['position_y',['../class_transform_effect.html#a2837c88fcfed55dda1ba10bb92708131',1,'TransformEffect']]], - ['post_5fclips',['post_clips',['../class_timeline_widget.html#a65455b8655ff145eeb9e021c3550b14f',1,'TimelineWidget']]], - ['post_5fcommands',['post_commands',['../class_combo_action.html#a468cf4acb03d3e76e30567674b419399',1,'ComboAction']]], - ['post_5fhandle_5fx',['post_handle_x',['../class_effect_keyframe.html#a09b53983b3a2ef2e07cd10a539751d38',1,'EffectKeyframe']]], - ['post_5fhandle_5fy',['post_handle_y',['../class_effect_keyframe.html#ac21c009901d9803a3e4c2ce562d0fd6f',1,'EffectKeyframe']]], - ['ppqpos',['ppqPos',['../struct___vst_time_info.html#a48d1a239d8cbf584c10e3d940c688d8c',1,'_VstTimeInfo']]], - ['pre_5fclips',['pre_clips',['../class_timeline_widget.html#af91370a8ca81eb3d819aa1fb4d724917',1,'TimelineWidget']]], - ['pre_5fhandle_5fx',['pre_handle_x',['../class_effect_keyframe.html#a3d1da4f3ceff40d75b279a93ca664d1b',1,'EffectKeyframe']]], - ['pre_5fhandle_5fy',['pre_handle_y',['../class_effect_keyframe.html#abe3c3335f4788d0b67c9c300451e58f1',1,'EffectKeyframe']]], - ['preferred_5faudio_5finput',['preferred_audio_input',['../struct_config.html#ae8eff91a4bf48e81146346d027ac9415',1,'Config']]], - ['preferred_5faudio_5foutput',['preferred_audio_output',['../struct_config.html#a424610c46bad4e81bdc05fa0a27f8f36',1,'Config']]], - ['premultiply_5falpha_5fsetting',['premultiply_alpha_setting',['../class_media_properties_dialog.html#a76620870b1d6fbffdfb21055529b6f3f',1,'MediaPropertiesDialog']]], - ['premultiply_5fprogram',['premultiply_program',['../struct_compose_sequence_params.html#acbe27fb20a5c6a470e1424188dfea1bd',1,'ComposeSequenceParams::premultiply_program()'],['../class_render_thread.html#ad43fce825d8d316d4aba120b5f00b47c',1,'RenderThread::premultiply_program()']]], - ['prepend_5ftext',['prepend_text',['../class_timecode_effect.html#a5bb79afeba3b9afd235954434bddfc19',1,'TimecodeEffect']]], - ['preserve_5fclip_5fins',['preserve_clip_ins',['../class_replace_clip_media_command.html#a275546121a20e46d4f4592dbda49c292',1,'ReplaceClipMediaCommand']]], - ['preset_5fcombobox',['preset_combobox',['../class_new_sequence_dialog.html#a6e750b8c5678af6cddefb90630f4532e',1,'NewSequenceDialog']]], - ['prev_5fframe_5fbutton',['prev_frame_button',['../class_viewer.html#a3537e0b83f05b52acdabaf39c965b3be',1,'Viewer']]], - ['preview_5fdone',['preview_done',['../struct_footage_stream.html#a7597d3927d502122b686147f5fa7bbd9',1,'FootageStream']]], - ['preview_5fgen',['preview_gen',['../struct_footage.html#a9da5bdb2332de7e7c903c46836ef9ace',1,'Footage']]], - ['previous_5fplayhead',['previous_playhead',['../class_viewer.html#a808dc9fec00f86512c18e17924bcc386',1,'Viewer']]], - ['previous_5fqueue_5fsize',['previous_queue_size',['../struct_config.html#aeafad6f6cbeace2ac0003724bfa429c2',1,'Config']]], - ['previous_5fqueue_5fspinbox',['previous_queue_spinbox',['../class_preferences_dialog.html#af21c9a39bbf3e269642410a43a3b1079',1,'PreferencesDialog']]], - ['previous_5fqueue_5ftype',['previous_queue_type',['../class_preferences_dialog.html#aa254ffa269beca4d6499e3ef175ae9a2',1,'PreferencesDialog::previous_queue_type()'],['../struct_config.html#acd9d0f261bde3aa2737518bd898c77eb',1,'Config::previous_queue_type()']]], - ['previous_5fvalue',['previous_value',['../class_label_slider.html#a7ba73d0b4e2f33b3f65f31f2643837e3',1,'LabelSlider']]], - ['previouscolor',['previousColor',['../class_color_button.html#afdf41dba4b64ba80d937ee9c50121a36',1,'ColorButton']]], - ['previousindex',['previousIndex',['../class_combo_box_ex.html#a056cb81b38c29e2a82c187b217cada19',1,'ComboBoxEx']]], - ['previoustext',['previousText',['../class_text_edit_ex.html#aea1a5b71809521c9f00a58981f67d789',1,'TextEditEx']]], - ['previousvalue',['previousValue',['../class_font_combobox.html#afa426c528ae659d40de18116b953ba2b',1,'FontCombobox']]], - ['process',['process',['../struct___a_effect.html#ac833a9a570b01af59285cee1568af7e7',1,'_AEffect']]], - ['processreplacing',['processReplacing',['../struct___a_effect.html#a7562f2f1f96a0058d1328eaa5fdc91fe',1,'_AEffect']]], - ['progressbar',['progressBar',['../class_export_dialog.html#a5f515600982313e987b43fae1475414f',1,'ExportDialog']]], - ['proj_5fdir',['proj_dir',['../class_load_thread.html#a189442a4834389f629e4750a1b057ec6',1,'LoadThread::proj_dir()'],['../class_project.html#ae2001cb4d99f7774e74ee24097ddbc92',1,'Project::proj_dir()']]], - ['project_5ffile_5ffilter',['project_file_filter',['../class_olive_global.html#a053f4de79194655e0a51b538e0bb0d95',1,'OliveGlobal']]], - ['project_5fmodel',['project_model',['../namespaceolive.html#a744552310677c752db006db4d104e58e',1,'olive']]], - ['project_5fparent',['project_parent',['../class_sources_common.html#a1c2e7b787d07fd08546c9e88197bfce5',1,'SourcesCommon::project_parent()'],['../class_source_icon_view.html#a87613566594a2310d868290b1abb74f9',1,'SourceIconView::project_parent()'],['../class_source_table.html#a7064300ba443199a72e5aeb8ed776926',1,'SourceTable::project_parent()']]], - ['project_5fview_5ftype',['project_view_type',['../struct_config.html#a92b0d6168472eac66bfa94c914fa414f',1,'Config']]], - ['proxy',['proxy',['../struct_footage.html#a8fe1968c74c3615584815187cd836721',1,'Footage']]], - ['proxy_5ffolder_5fname',['proxy_folder_name',['../class_proxy_dialog.html#ad6a7f3cab06c25c6dc36abf5f715ebba',1,'ProxyDialog']]], - ['proxy_5fgenerator',['proxy_generator',['../proxygenerator_8cpp.html#a42be403e92317d5c4052ab11491d41d5',1,'proxy_generator(): proxygenerator.cpp'],['../proxygenerator_8h.html#a42be403e92317d5c4052ab11491d41d5',1,'proxy_generator(): proxygenerator.cpp']]], - ['proxy_5fpath',['proxy_path',['../struct_footage.html#a31398f448baeb28d9cb6748972a6217a',1,'Footage']]], - ['proxy_5fqueue',['proxy_queue',['../class_proxy_generator.html#a1c0010e1fc73940499ed2beaeb773458',1,'ProxyGenerator']]], - ['ptr1',['ptr1',['../struct___a_effect.html#a6609c7db1e00b229ca39e2a356fcbcba',1,'_AEffect']]], - ['ptr2',['ptr2',['../struct___a_effect.html#a9952e8b1d2c322cb7f5198df86cc1dd9',1,'_AEffect']]], - ['ptr3',['ptr3',['../struct___a_effect.html#abcf53f5b3492f7a31565b20ad90203c7',1,'_AEffect']]] -]; diff --git a/docs/html/selection_8h.html b/docs/html/selection_8h.html deleted file mode 100644 index 3211414b4..000000000 --- a/docs/html/selection_8h.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: project/selection.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    selection.h File Reference
    -
    -
    - -

    Go to the source code of this file.

    - - - - -

    -Classes

    struct  Selection
     
    -
    - - - - diff --git a/docs/html/selection_8h_source.html b/docs/html/selection_8h_source.html deleted file mode 100644 index 8adf41392..000000000 --- a/docs/html/selection_8h_source.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Olive: project/selection.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    selection.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef SELECTION_H
    22 #define SELECTION_H
    23 
    24 struct Selection {
    25  long in;
    26  long out;
    27  int track;
    28 
    29  long old_in;
    30  long old_out;
    31  int old_track;
    32 
    33  bool trim_in;
    34 };
    35 
    36 #endif // SELECTION_H
    int track
    Definition: selection.h:27
    -
    Definition: selection.h:24
    -
    long old_in
    Definition: selection.h:29
    -
    long in
    Definition: selection.h:25
    -
    int old_track
    Definition: selection.h:31
    -
    long old_out
    Definition: selection.h:30
    -
    bool trim_in
    Definition: selection.h:33
    -
    long out
    Definition: selection.h:26
    -
    - - - - diff --git a/docs/html/sequence_8cpp.html b/docs/html/sequence_8cpp.html deleted file mode 100644 index 2be1920cb..000000000 --- a/docs/html/sequence_8cpp.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: project/sequence.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    sequence.cpp File Reference
    -
    -
    -
    #include "sequence.h"
    -#include <QCoreApplication>
    -#include "debug.h"
    -
    - - - - diff --git a/docs/html/sequence_8h.html b/docs/html/sequence_8h.html deleted file mode 100644 index 1c8aec284..000000000 --- a/docs/html/sequence_8h.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - -Olive: project/sequence.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    sequence.h File Reference
    -
    -
    -
    #include <QVector>
    -#include "project/clip.h"
    -#include "project/marker.h"
    -#include "project/transition.h"
    -#include "project/selection.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  Sequence
     
    - - - -

    -Namespaces

     olive
     
    - - - -

    -Typedefs

    using SequencePtr = std::shared_ptr< Sequence >
     
    - - - -

    -Variables

    SequencePtr olive::ActiveSequence = nullptr
     
    -

    Typedef Documentation

    - -

    ◆ SequencePtr

    - -
    -
    - - - - -
    using SequencePtr = std::shared_ptr<Sequence>
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/sequence_8h_source.html b/docs/html/sequence_8h_source.html deleted file mode 100644 index 4edce5dac..000000000 --- a/docs/html/sequence_8h_source.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Olive: project/sequence.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    sequence.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef SEQUENCE_H
    22 #define SEQUENCE_H
    23 
    24 #include <QVector>
    25 
    26 #include "project/clip.h"
    27 #include "project/marker.h"
    28 #include "project/transition.h"
    29 #include "project/selection.h"
    30 
    31 class Sequence {
    32 public:
    33  Sequence();
    34  ~Sequence();
    35  SequencePtr copy();
    36  QString name;
    37  void getTrackLimits(int* video_tracks, int* audio_tracks);
    38  long getEndFrame();
    39  int width;
    40  int height;
    41  double frame_rate;
    44 
    45  void RefreshClips(Media* m = nullptr);
    46 
    47  QVector<Selection> selections;
    48  long playhead;
    49 
    53 
    55 
    56  int save_id;
    57 
    58  QVector<Marker> markers;
    59  QVector<ClipPtr> clips;
    60 };
    61 
    62 using SequencePtr = std::shared_ptr<Sequence>;
    63 
    64 // static variable for the currently active sequence
    65 namespace olive {
    67 }
    68 
    69 #endif // SEQUENCE_H
    bool wrapper_sequence
    Definition: sequence.h:54
    -
    int width
    Definition: sequence.h:39
    - -
    Definition: sequence.h:31
    -
    int audio_frequency
    Definition: sequence.h:42
    -
    QVector< Marker > markers
    Definition: sequence.h:58
    -
    QString name
    Definition: sequence.h:36
    -
    Sequence()
    Definition: sequence.cpp:27
    -
    int height
    Definition: sequence.h:40
    -
    void RefreshClips(Media *m=nullptr)
    Definition: sequence.cpp:70
    -
    QVector< Selection > selections
    Definition: sequence.h:47
    -
    long workarea_in
    Definition: sequence.h:51
    - -
    void getTrackLimits(int *video_tracks, int *audio_tracks)
    Definition: sequence.cpp:81
    -
    Definition: debugdialog.h:39
    -
    bool using_workarea
    Definition: sequence.h:50
    -
    Definition: media.h:42
    - -
    SequencePtr ActiveSequence
    Definition: sequence.cpp:99
    -
    long workarea_out
    Definition: sequence.h:52
    -
    long playhead
    Definition: sequence.h:48
    -
    std::shared_ptr< Sequence > SequencePtr
    Definition: clip.h:48
    -
    SequencePtr copy()
    Definition: sequence.cpp:37
    -
    double frame_rate
    Definition: sequence.h:41
    -
    long getEndFrame()
    Definition: sequence.cpp:59
    -
    int save_id
    Definition: sequence.h:56
    -
    QVector< ClipPtr > clips
    Definition: sequence.h:59
    -
    int audio_layout
    Definition: sequence.h:43
    - -
    ~Sequence()
    Definition: sequence.cpp:35
    -
    - - - - diff --git a/docs/html/shakeeffect_8cpp.html b/docs/html/shakeeffect_8cpp.html deleted file mode 100644 index 47d0e4bce..000000000 --- a/docs/html/shakeeffect_8cpp.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/shakeeffect.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    shakeeffect.cpp File Reference
    -
    -
    -
    #include "shakeeffect.h"
    -#include <QGridLayout>
    -#include <QLabel>
    -#include <QtMath>
    -#include <QOpenGLFunctions>
    -#include "ui/labelslider.h"
    -#include "ui/collapsiblewidget.h"
    -#include "project/clip.h"
    -#include "project/sequence.h"
    -#include "panels/timeline.h"
    -#include "debug.h"
    -
    - - - - diff --git a/docs/html/shakeeffect_8h.html b/docs/html/shakeeffect_8h.html deleted file mode 100644 index b24162708..000000000 --- a/docs/html/shakeeffect_8h.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Olive: effects/internal/shakeeffect.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    shakeeffect.h File Reference
    -
    -
    -
    #include "project/effect.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  ShakeEffect
     
    - - - -

    -Macros

    #define RANDOM_VAL_SIZE   30
     
    -

    Macro Definition Documentation

    - -

    ◆ RANDOM_VAL_SIZE

    - -
    -
    - - - - -
    #define RANDOM_VAL_SIZE   30
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/shakeeffect_8h_source.html b/docs/html/shakeeffect_8h_source.html deleted file mode 100644 index aab2e11c2..000000000 --- a/docs/html/shakeeffect_8h_source.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: effects/internal/shakeeffect.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    shakeeffect.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef SHAKEEFFECT_H
    22 #define SHAKEEFFECT_H
    23 
    24 #include "project/effect.h"
    25 
    26 #define RANDOM_VAL_SIZE 30
    27 
    28 class ShakeEffect : public Effect {
    29  Q_OBJECT
    30 public:
    31  ShakeEffect(ClipPtr c, const EffectMeta* em);
    32  void process_coords(double timecode, GLTextureCoords& coords, int data);
    33 
    37 private:
    39 };
    40 
    41 #endif // SHAKEEFFECT_H
    Definition: effect.h:128
    -
    Definition: effect.h:169
    - -
    Definition: effect.h:50
    -
    void process_coords(double timecode, GLTextureCoords &coords, int data)
    Definition: shakeeffect.cpp:63
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    #define RANDOM_VAL_SIZE
    Definition: shakeeffect.h:26
    -
    ShakeEffect(ClipPtr c, const EffectMeta *em)
    Definition: shakeeffect.cpp:36
    -
    EffectField * intensity_val
    Definition: shakeeffect.h:34
    -
    EffectField * rotation_val
    Definition: shakeeffect.h:35
    -
    EffectField * frequency_val
    Definition: shakeeffect.h:36
    -
    Definition: effectfield.h:43
    -
    Definition: shakeeffect.h:28
    -
    double random_vals[RANDOM_VAL_SIZE]
    Definition: shakeeffect.h:38
    -
    - - - - diff --git a/docs/html/solideffect_8cpp.html b/docs/html/solideffect_8cpp.html deleted file mode 100644 index b19f319e4..000000000 --- a/docs/html/solideffect_8cpp.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - - -Olive: effects/internal/solideffect.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    solideffect.cpp File Reference
    -
    -
    -
    #include "solideffect.h"
    -#include <QOpenGLTexture>
    -#include <QPainter>
    -#include <QtMath>
    -#include <QVariant>
    -#include <QImage>
    -#include <QComboBox>
    -#include "project/clip.h"
    -#include "project/sequence.h"
    -
    - - - - - - - - - - - - - -

    -Macros

    #define SOLID_TYPE_COLOR   0
     
    #define SOLID_TYPE_BARS   1
     
    #define SOLID_TYPE_CHECKERBOARD   2
     
    #define SMPTE_BARS   7
     
    #define SMPTE_STRIP_COUNT   3
     
    #define SMPTE_LOWER_BARS   4
     
    -

    Macro Definition Documentation

    - -

    ◆ SMPTE_BARS

    - -
    -
    - - - - -
    #define SMPTE_BARS   7
    -
    - -
    -
    - -

    ◆ SMPTE_LOWER_BARS

    - -
    -
    - - - - -
    #define SMPTE_LOWER_BARS   4
    -
    - -
    -
    - -

    ◆ SMPTE_STRIP_COUNT

    - -
    -
    - - - - -
    #define SMPTE_STRIP_COUNT   3
    -
    - -
    -
    - -

    ◆ SOLID_TYPE_BARS

    - -
    -
    - - - - -
    #define SOLID_TYPE_BARS   1
    -
    - -
    -
    - -

    ◆ SOLID_TYPE_CHECKERBOARD

    - -
    -
    - - - - -
    #define SOLID_TYPE_CHECKERBOARD   2
    -
    - -
    -
    - -

    ◆ SOLID_TYPE_COLOR

    - -
    -
    - - - - -
    #define SOLID_TYPE_COLOR   0
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/solideffect_8h.html b/docs/html/solideffect_8h.html deleted file mode 100644 index 30dab6f9f..000000000 --- a/docs/html/solideffect_8h.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: effects/internal/solideffect.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    solideffect.h File Reference
    -
    -
    -
    #include "project/effect.h"
    -#include <QImage>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  SolidEffect
     
    -
    - - - - diff --git a/docs/html/solideffect_8h_source.html b/docs/html/solideffect_8h_source.html deleted file mode 100644 index b23f40eb1..000000000 --- a/docs/html/solideffect_8h_source.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: effects/internal/solideffect.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    solideffect.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef SOLIDEFFECT_H
    22 #define SOLIDEFFECT_H
    23 
    24 #include "project/effect.h"
    25 
    26 #include <QImage>
    27 
    28 class SolidEffect : public Effect {
    29  Q_OBJECT
    30 public:
    31  SolidEffect(ClipPtr c, const EffectMeta *em);
    32  void redraw(double timecode);
    33 private slots:
    34  void ui_update(int);
    35 private:
    40 };
    41 
    42 #endif // SOLIDEFFECT_H
    void ui_update(int)
    Definition: solideffect.cpp:194
    -
    EffectField * opacity_field
    Definition: solideffect.h:38
    -
    Definition: effect.h:169
    - -
    Definition: effect.h:50
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    EffectField * solid_type
    Definition: solideffect.h:36
    -
    Definition: solideffect.h:28
    -
    EffectField * solid_color_field
    Definition: solideffect.h:37
    -
    EffectField * checkerboard_size_field
    Definition: solideffect.h:39
    -
    Definition: effectfield.h:43
    -
    void redraw(double timecode)
    Definition: solideffect.cpp:70
    -
    SolidEffect(ClipPtr c, const EffectMeta *em)
    Definition: solideffect.cpp:41
    -
    - - - - diff --git a/docs/html/sourceiconview_8cpp.html b/docs/html/sourceiconview_8cpp.html deleted file mode 100644 index 14de87406..000000000 --- a/docs/html/sourceiconview_8cpp.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: ui/sourceiconview.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    sourceiconview.cpp File Reference
    -
    -
    -
    #include "sourceiconview.h"
    -#include <QMimeData>
    -#include "panels/project.h"
    -#include "project/media.h"
    -#include "project/sourcescommon.h"
    -#include "debug.h"
    -
    - - - - diff --git a/docs/html/sourceiconview_8h.html b/docs/html/sourceiconview_8h.html deleted file mode 100644 index b9c610f72..000000000 --- a/docs/html/sourceiconview_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/sourceiconview.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    sourceiconview.h File Reference
    -
    -
    -
    #include <QListView>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  SourceIconView
     
    -
    - - - - diff --git a/docs/html/sourceiconview_8h_source.html b/docs/html/sourceiconview_8h_source.html deleted file mode 100644 index 2aab7f71d..000000000 --- a/docs/html/sourceiconview_8h_source.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: ui/sourceiconview.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    sourceiconview.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef SOURCEICONVIEW_H
    22 #define SOURCEICONVIEW_H
    23 
    24 #include <QListView>
    25 
    26 class Project;
    27 
    28 class SourceIconView : public QListView {
    29  Q_OBJECT
    30 public:
    31  SourceIconView(QWidget* parent = 0);
    33 
    34  void mousePressEvent(QMouseEvent* event);
    35  void mouseDoubleClickEvent(QMouseEvent *event);
    36  void dragEnterEvent(QDragEnterEvent *event);
    37  void dragMoveEvent(QDragMoveEvent *event);
    38  void dropEvent(QDropEvent* event);
    39 signals:
    40  void changed_root();
    41 private slots:
    42  void show_context_menu();
    43  void item_click(const QModelIndex& index);
    44 };
    45 
    46 #endif // SOURCEICONVIEW_H
    void dropEvent(QDropEvent *event)
    Definition: sourceiconview.cpp:70
    -
    void mousePressEvent(QMouseEvent *event)
    Definition: sourceiconview.cpp:48
    -
    void dragMoveEvent(QDragMoveEvent *event)
    Definition: sourceiconview.cpp:62
    -
    void dragEnterEvent(QDragEnterEvent *event)
    Definition: sourceiconview.cpp:54
    -
    void item_click(const QModelIndex &index)
    Definition: sourceiconview.cpp:42
    -
    Project * project_parent
    Definition: sourceiconview.h:32
    -
    Definition: project.h:53
    -
    Definition: sourceiconview.h:28
    -
    void changed_root()
    -
    SourceIconView(QWidget *parent=0)
    Definition: sourceiconview.cpp:30
    -
    void mouseDoubleClickEvent(QMouseEvent *event)
    Definition: sourceiconview.cpp:76
    -
    void show_context_menu()
    Definition: sourceiconview.cpp:38
    -
    - - - - diff --git a/docs/html/sourcescommon_8cpp.html b/docs/html/sourcescommon_8cpp.html deleted file mode 100644 index 499588022..000000000 --- a/docs/html/sourcescommon_8cpp.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Olive: project/sourcescommon.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    sourcescommon.cpp File Reference
    -
    -
    -
    #include "sourcescommon.h"
    -#include "panels/panels.h"
    -#include "project/media.h"
    -#include "project/undo.h"
    -#include "playback/playback.h"
    -#include "panels/timeline.h"
    -#include "panels/project.h"
    -#include "project/footage.h"
    -#include "panels/viewer.h"
    -#include "project/projectfilter.h"
    -#include "project/sequence.h"
    -#include "io/config.h"
    -#include "dialogs/proxydialog.h"
    -#include "ui/viewerwidget.h"
    -#include "ui/menuhelper.h"
    -#include "io/proxygenerator.h"
    -#include "mainwindow.h"
    -#include <QProcess>
    -#include <QMenu>
    -#include <QAbstractItemView>
    -#include <QMimeData>
    -#include <QMessageBox>
    -#include <QDesktopServices>
    -#include <QDebug>
    -
    - - - - diff --git a/docs/html/sourcescommon_8h.html b/docs/html/sourcescommon_8h.html deleted file mode 100644 index 9c50057e9..000000000 --- a/docs/html/sourcescommon_8h.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: project/sourcescommon.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    sourcescommon.h File Reference
    -
    -
    -
    #include <QModelIndexList>
    -#include <QTimer>
    -#include <QVector>
    -#include "project/footage.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  SourcesCommon
     
    -
    - - - - diff --git a/docs/html/sourcescommon_8h_source.html b/docs/html/sourcescommon_8h_source.html deleted file mode 100644 index 740e384ba..000000000 --- a/docs/html/sourcescommon_8h_source.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Olive: project/sourcescommon.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    sourcescommon.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef SOURCESCOMMON_H
    22 #define SOURCESCOMMON_H
    23 
    24 #include <QModelIndexList>
    25 #include <QTimer>
    26 #include <QVector>
    27 
    28 #include "project/footage.h"
    29 
    30 class Project;
    31 class QMouseEvent;
    32 class Media;
    33 class QAbstractItemView;
    34 class QDropEvent;
    35 
    36 struct Footage;
    37 
    38 class SourcesCommon : public QObject {
    39  Q_OBJECT
    40 public:
    41  SourcesCommon(Project *parent);
    42  QAbstractItemView* view;
    43  void show_context_menu(QWidget* parent, const QModelIndexList &items);
    44 
    45  void mousePressEvent(QMouseEvent* e);
    46  void mouseDoubleClickEvent(QMouseEvent* e, const QModelIndexList& selected_items);
    47  void dropEvent(QWidget *parent, QDropEvent* e, const QModelIndex& drop_item, const QModelIndexList &items);
    48 
    49  void item_click(Media* m, const QModelIndex &index);
    50 private slots:
    52  void reveal_in_browser();
    53  void rename_interval();
    54  void item_renamed(Media *item);
    55 
    56  // proxy functions
    59 private:
    61  QModelIndex editing_index;
    62  QModelIndexList selected_items;
    64  void stop_rename_timer();
    65  QTimer rename_timer;
    66 
    67  // we cache the selected footage items for open_create_proxy_dialog()
    68  QVector<FootagePtr> cached_selected_footage;
    69 };
    70 
    71 #endif // SOURCESCOMMON_H
    void item_renamed(Media *item)
    Definition: sourcescommon.cpp:370
    -
    void show_context_menu(QWidget *parent, const QModelIndexList &items)
    Definition: sourcescommon.cpp:76
    -
    Project * project_parent
    Definition: sourcescommon.h:63
    -
    void mouseDoubleClickEvent(QMouseEvent *e, const QModelIndexList &selected_items)
    Definition: sourcescommon.cpp:238
    -
    SourcesCommon(Project *parent)
    Definition: sourcescommon.cpp:49
    -
    Media * editing_item
    Definition: sourcescommon.h:60
    -
    void reveal_in_browser()
    Definition: sourcescommon.cpp:335
    -
    void open_create_proxy_dialog()
    Definition: sourcescommon.cpp:378
    -
    QModelIndex editing_index
    Definition: sourcescommon.h:61
    -
    void mousePressEvent(QMouseEvent *e)
    Definition: sourcescommon.cpp:225
    -
    Definition: media.h:42
    -
    QTimer rename_timer
    Definition: sourcescommon.h:65
    -
    void stop_rename_timer()
    Definition: sourcescommon.cpp:359
    - -
    Definition: project.h:53
    -
    void dropEvent(QWidget *parent, QDropEvent *e, const QModelIndex &drop_item, const QModelIndexList &items)
    Definition: sourcescommon.cpp:256
    -
    Definition: sourcescommon.h:38
    -
    QVector< FootagePtr > cached_selected_footage
    Definition: sourcescommon.h:68
    -
    void clear_proxies_from_selected()
    Definition: sourcescommon.cpp:384
    -
    QModelIndexList selected_items
    Definition: sourcescommon.h:62
    -
    QAbstractItemView * view
    Definition: sourcescommon.h:42
    -
    void create_seq_from_selected()
    Definition: sourcescommon.cpp:57
    -
    void item_click(Media *m, const QModelIndex &index)
    Definition: sourcescommon.cpp:229
    -
    Definition: footage.h:65
    -
    void rename_interval()
    Definition: sourcescommon.cpp:363
    -
    - - - - diff --git a/docs/html/sourcetable_8cpp.html b/docs/html/sourcetable_8cpp.html deleted file mode 100644 index 4ea719b8b..000000000 --- a/docs/html/sourcetable_8cpp.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Olive: ui/sourcetable.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    sourcetable.cpp File Reference
    -
    -
    -
    #include "sourcetable.h"
    -#include "panels/project.h"
    -#include "project/footage.h"
    -#include "panels/timeline.h"
    -#include "panels/viewer.h"
    -#include "panels/panels.h"
    -#include "playback/playback.h"
    -#include "project/undo.h"
    -#include "project/sequence.h"
    -#include "mainwindow.h"
    -#include "io/config.h"
    -#include "project/media.h"
    -#include "project/sourcescommon.h"
    -#include "debug.h"
    -#include <QDragEnterEvent>
    -#include <QMimeData>
    -#include <QHeaderView>
    -#include <QMenu>
    -#include <QMessageBox>
    -#include <QFileInfo>
    -#include <QDebug>
    -#include <QDesktopServices>
    -#include <QDir>
    -#include <QProcess>
    -
    - - - - diff --git a/docs/html/sourcetable_8h.html b/docs/html/sourcetable_8h.html deleted file mode 100644 index f37ba4ac3..000000000 --- a/docs/html/sourcetable_8h.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: ui/sourcetable.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    sourcetable.h File Reference
    -
    -
    -
    #include <QTreeView>
    -#include <QTimer>
    -#include <QUndoCommand>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  SourceTable
     
    -
    - - - - diff --git a/docs/html/sourcetable_8h_source.html b/docs/html/sourcetable_8h_source.html deleted file mode 100644 index d0088e489..000000000 --- a/docs/html/sourcetable_8h_source.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: ui/sourcetable.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    sourcetable.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef SOURCETABLE_H
    22 #define SOURCETABLE_H
    23 
    24 #include <QTreeView>
    25 #include <QTimer>
    26 #include <QUndoCommand>
    27 
    28 class Project;
    29 class Media;
    30 
    31 class SourceTable : public QTreeView
    32 {
    33  Q_OBJECT
    34 public:
    35  SourceTable(QWidget* parent = 0);
    37 protected:
    38  void mousePressEvent(QMouseEvent*);
    39  void mouseDoubleClickEvent(QMouseEvent *);
    40  void dragEnterEvent(QDragEnterEvent *event);
    41  void dragMoveEvent(QDragMoveEvent *event);
    42  void dropEvent(QDropEvent *event);
    43 private slots:
    44  void item_click(const QModelIndex& index);
    45  void show_context_menu();
    46 };
    47 
    48 #endif // SOURCETABLE_H
    Project * project_parent
    Definition: sourcetable.h:36
    -
    void dragMoveEvent(QDragMoveEvent *event)
    Definition: sourcetable.cpp:87
    -
    SourceTable(QWidget *parent=0)
    Definition: sourcetable.cpp:48
    -
    Definition: sourcetable.h:31
    -
    void item_click(const QModelIndex &index)
    Definition: sourcetable.cpp:64
    -
    Definition: media.h:42
    -
    Definition: project.h:53
    -
    void mouseDoubleClickEvent(QMouseEvent *)
    Definition: sourcetable.cpp:75
    -
    void dropEvent(QDropEvent *event)
    Definition: sourcetable.cpp:95
    -
    void show_context_menu()
    Definition: sourcetable.cpp:60
    -
    void mousePressEvent(QMouseEvent *)
    Definition: sourcetable.cpp:70
    -
    void dragEnterEvent(QDragEnterEvent *event)
    Definition: sourcetable.cpp:79
    -
    - - - - diff --git a/docs/html/speeddialog_8cpp.html b/docs/html/speeddialog_8cpp.html deleted file mode 100644 index 77f89f722..000000000 --- a/docs/html/speeddialog_8cpp.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - -Olive: dialogs/speeddialog.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    speeddialog.cpp File Reference
    -
    -
    -
    #include "speeddialog.h"
    -#include <QHBoxLayout>
    -#include <QGridLayout>
    -#include <QLabel>
    -#include <QPushButton>
    -#include <QDialogButtonBox>
    -#include "project/sequence.h"
    -#include "project/footage.h"
    -#include "playback/playback.h"
    -#include "panels/panels.h"
    -#include "panels/timeline.h"
    -#include "project/undo.h"
    -#include "project/effect.h"
    -#include "project/media.h"
    -
    - - - -

    -Functions

    void set_speed (ComboAction *ca, ClipPtr c, double speed, bool ripple, long &ep, long &lr)
     
    -

    Function Documentation

    - -

    ◆ set_speed()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void set_speed (ComboActionca,
    ClipPtr c,
    double speed,
    bool ripple,
    long & ep,
    long & lr 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/speeddialog_8h.html b/docs/html/speeddialog_8h.html deleted file mode 100644 index d9947bc31..000000000 --- a/docs/html/speeddialog_8h.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: dialogs/speeddialog.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    speeddialog.h File Reference
    -
    -
    -
    #include <QDialog>
    -#include <QCheckBox>
    -#include "project/clip.h"
    -#include "ui/labelslider.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  SpeedDialog
     
    -
    - - - - diff --git a/docs/html/speeddialog_8h_source.html b/docs/html/speeddialog_8h_source.html deleted file mode 100644 index c850b6646..000000000 --- a/docs/html/speeddialog_8h_source.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Olive: dialogs/speeddialog.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    speeddialog.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef SPEEDDIALOG_H
    22 #define SPEEDDIALOG_H
    23 
    24 #include <QDialog>
    25 #include <QCheckBox>
    26 
    27 #include "project/clip.h"
    28 #include "ui/labelslider.h"
    29 
    30 class SpeedDialog : public QDialog
    31 {
    32  Q_OBJECT
    33 public:
    34  SpeedDialog(QWidget* parent = 0);
    35  QVector<ClipPtr> clips;
    36 
    37  void run();
    38 private slots:
    39  void percent_update();
    40  void duration_update();
    41  void frame_rate_update();
    42  void accept();
    43 private:
    47 
    48  QCheckBox* reverse;
    49  QCheckBox* maintain_pitch;
    50  QCheckBox* ripple;
    51 
    57 };
    58 
    59 #endif // SPEEDDIALOG_H
    double current_frame_rate
    Definition: speeddialog.h:53
    -
    void duration_update()
    Definition: speeddialog.cpp:219
    -
    QCheckBox * maintain_pitch
    Definition: speeddialog.h:49
    -
    Definition: speeddialog.h:30
    -
    void run()
    Definition: speeddialog.cpp:85
    - -
    QVector< ClipPtr > clips
    Definition: speeddialog.h:35
    -
    long current_length
    Definition: speeddialog.h:56
    -
    long default_length
    Definition: speeddialog.h:55
    -
    void frame_rate_update()
    Definition: speeddialog.cpp:254
    -
    double current_percent
    Definition: speeddialog.h:54
    -
    QCheckBox * reverse
    Definition: speeddialog.h:48
    -
    void accept()
    Definition: speeddialog.cpp:345
    -
    The LabelSlider class.
    Definition: labelslider.h:40
    -
    LabelSlider * frame_rate
    Definition: speeddialog.h:46
    - -
    void percent_update()
    Definition: speeddialog.cpp:184
    -
    double default_frame_rate
    Definition: speeddialog.h:52
    -
    QCheckBox * ripple
    Definition: speeddialog.h:50
    -
    LabelSlider * duration
    Definition: speeddialog.h:45
    -
    LabelSlider * percent
    Definition: speeddialog.h:44
    -
    SpeedDialog(QWidget *parent=0)
    Definition: speeddialog.cpp:38
    -
    - - - - diff --git a/docs/html/splitbar.png b/docs/html/splitbar.png deleted file mode 100644 index fe895f2c5..000000000 Binary files a/docs/html/splitbar.png and /dev/null differ diff --git a/docs/html/stabilizerdialog_8h_source.html b/docs/html/stabilizerdialog_8h_source.html deleted file mode 100644 index bb26a9916..000000000 --- a/docs/html/stabilizerdialog_8h_source.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: dialogs/stabilizerdialog.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    stabilizerdialog.h
    -
    -
    -
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef STABILIZERDIALOG_H
    22 #define STABILIZERDIALOG_H
    23 
    24 class QVBoxLayout;
    25 class QCheckBox;
    26 class QDialogButtonBox;
    27 class QGroupBox;
    28 class QGridLayout;
    29 class LabelSlider;
    30 
    31 #include <QDialog>
    32 
    33 class StabilizerDialog : public QDialog
    34 {
    35  Q_OBJECT
    36 public:
    37  StabilizerDialog(QWidget* parent = 0);
    38 private slots:
    39  void set_all_enabled(bool e);
    40 private:
    41  QVBoxLayout* layout;
    42  QCheckBox* enable_stab;
    43  QDialogButtonBox* buttons;
    44  QGroupBox* analysis;
    45  QGridLayout* analysis_layout;
    46  LabelSlider* shakiness_slider;
    47  LabelSlider* accuracy_slider;
    48  LabelSlider* stepsize_slider;
    49  LabelSlider* mincontrast_slider;
    50  QCheckBox* tripod_mode_box;
    51  QGroupBox* stabilization;
    52  QGridLayout* stabilization_layout;
    53  LabelSlider* smoothing_slider;
    54  QCheckBox* gaussian_motion;
    55 };
    56 
    57 #endif // STABILIZERDIALOG_H
    Definition: stabilizerdialog.h:33
    -
    The LabelSlider class.
    Definition: labelslider.h:40
    -
    - - - - diff --git a/docs/html/struct___a_effect-members.html b/docs/html/struct___a_effect-members.html deleted file mode 100644 index 13cfb625e..000000000 --- a/docs/html/struct___a_effect-members.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    _AEffect Member List
    -
    - - - - - diff --git a/docs/html/struct___a_effect.html b/docs/html/struct___a_effect.html deleted file mode 100644 index 24dd98af5..000000000 --- a/docs/html/struct___a_effect.html +++ /dev/null @@ -1,393 +0,0 @@ - - - - - - - -Olive: _AEffect Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    _AEffect Struct Reference
    -
    -
    - -

    #include <vestige.h>

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    int magic
     
    intptr_t(* dispatcher )(struct _AEffect *, int, int, intptr_t, void *, float)
     
    void(* process )(struct _AEffect *, float **, float **, int)
     
    void(* setParameter )(struct _AEffect *, int, float)
     
    float(* getParameter )(struct _AEffect *, int)
     
    int numPrograms
     
    int numParams
     
    int numInputs
     
    int numOutputs
     
    int flags
     
    void * ptr1
     
    void * ptr2
     
    char empty3 [4+4+4]
     
    float unkown_float
     
    void * ptr3
     
    void * user
     
    int32_t uniqueID
     
    int32_t version
     
    void(* processReplacing )(struct _AEffect *, float **, float **, int)
     
    -

    Member Data Documentation

    - -

    ◆ dispatcher

    - -
    -
    - - - - -
    intptr_t(* _AEffect::dispatcher) (struct _AEffect *, int, int, intptr_t, void *, float)
    -
    - -
    -
    - -

    ◆ empty3

    - -
    -
    - - - - -
    char _AEffect::empty3[4+4+4]
    -
    - -
    -
    - -

    ◆ flags

    - -
    -
    - - - - -
    int _AEffect::flags
    -
    - -
    -
    - -

    ◆ getParameter

    - -
    -
    - - - - -
    float(* _AEffect::getParameter) (struct _AEffect *, int)
    -
    - -
    -
    - -

    ◆ magic

    - -
    -
    - - - - -
    int _AEffect::magic
    -
    - -
    -
    - -

    ◆ numInputs

    - -
    -
    - - - - -
    int _AEffect::numInputs
    -
    - -
    -
    - -

    ◆ numOutputs

    - -
    -
    - - - - -
    int _AEffect::numOutputs
    -
    - -
    -
    - -

    ◆ numParams

    - -
    -
    - - - - -
    int _AEffect::numParams
    -
    - -
    -
    - -

    ◆ numPrograms

    - -
    -
    - - - - -
    int _AEffect::numPrograms
    -
    - -
    -
    - -

    ◆ process

    - -
    -
    - - - - -
    void(* _AEffect::process) (struct _AEffect *, float **, float **, int)
    -
    - -
    -
    - -

    ◆ processReplacing

    - -
    -
    - - - - -
    void(* _AEffect::processReplacing) (struct _AEffect *, float **, float **, int)
    -
    - -
    -
    - -

    ◆ ptr1

    - -
    -
    - - - - -
    void* _AEffect::ptr1
    -
    - -
    -
    - -

    ◆ ptr2

    - -
    -
    - - - - -
    void* _AEffect::ptr2
    -
    - -
    -
    - -

    ◆ ptr3

    - -
    -
    - - - - -
    void* _AEffect::ptr3
    -
    - -
    -
    - -

    ◆ setParameter

    - -
    -
    - - - - -
    void(* _AEffect::setParameter) (struct _AEffect *, int, float)
    -
    - -
    -
    - -

    ◆ uniqueID

    - -
    -
    - - - - -
    int32_t _AEffect::uniqueID
    -
    - -
    -
    - -

    ◆ unkown_float

    - -
    -
    - - - - -
    float _AEffect::unkown_float
    -
    - -
    -
    - -

    ◆ user

    - -
    -
    - - - - -
    void* _AEffect::user
    -
    - -
    -
    - -

    ◆ version

    - -
    -
    - - - - -
    int32_t _AEffect::version
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct___vst_event-members.html b/docs/html/struct___vst_event-members.html deleted file mode 100644 index 812946bf4..000000000 --- a/docs/html/struct___vst_event-members.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    _VstEvent Member List
    -
    -
    - -

    This is the complete list of members for _VstEvent, including all inherited members.

    - - -
    dump_VstEvent
    - - - - diff --git a/docs/html/struct___vst_event.html b/docs/html/struct___vst_event.html deleted file mode 100644 index 4ffe2f745..000000000 --- a/docs/html/struct___vst_event.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Olive: _VstEvent Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    _VstEvent Struct Reference
    -
    -
    - -

    #include <vestige.h>

    - - - - -

    -Public Attributes

    char dump [sizeof(VstMidiEvent)]
     
    -

    Member Data Documentation

    - -

    ◆ dump

    - -
    -
    - - - - -
    char _VstEvent::dump[sizeof(VstMidiEvent)]
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct___vst_events-members.html b/docs/html/struct___vst_events-members.html deleted file mode 100644 index edbd7b84f..000000000 --- a/docs/html/struct___vst_events-members.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    _VstEvents Member List
    -
    -
    - -

    This is the complete list of members for _VstEvents, including all inherited members.

    - - - - -
    events_VstEvents
    numEvents_VstEvents
    reserved_VstEvents
    - - - - diff --git a/docs/html/struct___vst_events.html b/docs/html/struct___vst_events.html deleted file mode 100644 index 09c0380bc..000000000 --- a/docs/html/struct___vst_events.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - -Olive: _VstEvents Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    _VstEvents Struct Reference
    -
    -
    - -

    #include <vestige.h>

    - - - - - - - - -

    -Public Attributes

    int numEvents
     
    void * reserved
     
    VstEventevents []
     
    -

    Member Data Documentation

    - -

    ◆ events

    - -
    -
    - - - - -
    VstEvent* _VstEvents::events[]
    -
    - -
    -
    - -

    ◆ numEvents

    - -
    -
    - - - - -
    int _VstEvents::numEvents
    -
    - -
    -
    - -

    ◆ reserved

    - -
    -
    - - - - -
    void* _VstEvents::reserved
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct___vst_midi_event-members.html b/docs/html/struct___vst_midi_event-members.html deleted file mode 100644 index 9ef5d9658..000000000 --- a/docs/html/struct___vst_midi_event-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    _VstMidiEvent Member List
    -
    - - - - - diff --git a/docs/html/struct___vst_midi_event.html b/docs/html/struct___vst_midi_event.html deleted file mode 100644 index e533331e8..000000000 --- a/docs/html/struct___vst_midi_event.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - -Olive: _VstMidiEvent Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    _VstMidiEvent Struct Reference
    -
    -
    - -

    #include <vestige.h>

    - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    int type
     
    int byteSize
     
    int deltaSamples
     
    int flags
     
    int noteLength
     
    int noteOffset
     
    char midiData [4]
     
    char detune
     
    char noteOffVelocity
     
    char reserved1
     
    char reserved2
     
    -

    Member Data Documentation

    - -

    ◆ byteSize

    - -
    -
    - - - - -
    int _VstMidiEvent::byteSize
    -
    - -
    -
    - -

    ◆ deltaSamples

    - -
    -
    - - - - -
    int _VstMidiEvent::deltaSamples
    -
    - -
    -
    - -

    ◆ detune

    - -
    -
    - - - - -
    char _VstMidiEvent::detune
    -
    - -
    -
    - -

    ◆ flags

    - -
    -
    - - - - -
    int _VstMidiEvent::flags
    -
    - -
    -
    - -

    ◆ midiData

    - -
    -
    - - - - -
    char _VstMidiEvent::midiData[4]
    -
    - -
    -
    - -

    ◆ noteLength

    - -
    -
    - - - - -
    int _VstMidiEvent::noteLength
    -
    - -
    -
    - -

    ◆ noteOffset

    - -
    -
    - - - - -
    int _VstMidiEvent::noteOffset
    -
    - -
    -
    - -

    ◆ noteOffVelocity

    - -
    -
    - - - - -
    char _VstMidiEvent::noteOffVelocity
    -
    - -
    -
    - -

    ◆ reserved1

    - -
    -
    - - - - -
    char _VstMidiEvent::reserved1
    -
    - -
    -
    - -

    ◆ reserved2

    - -
    -
    - - - - -
    char _VstMidiEvent::reserved2
    -
    - -
    -
    - -

    ◆ type

    - -
    -
    - - - - -
    int _VstMidiEvent::type
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct___vst_parameter_properties-members.html b/docs/html/struct___vst_parameter_properties-members.html deleted file mode 100644 index e9c0cf6fd..000000000 --- a/docs/html/struct___vst_parameter_properties-members.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    _VstParameterProperties Member List
    -
    - - - - - diff --git a/docs/html/struct___vst_parameter_properties.html b/docs/html/struct___vst_parameter_properties.html deleted file mode 100644 index 2f8f34f6b..000000000 --- a/docs/html/struct___vst_parameter_properties.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - -Olive: _VstParameterProperties Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    _VstParameterProperties Struct Reference
    -
    -
    - -

    #include <vestige.h>

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    float stepFloat
     
    float smallStepFloat
     
    float largeStepFloat
     
    char label [64]
     
    int32_t flags
     
    int32_t minInteger
     
    int32_t maxInteger
     
    int32_t stepInteger
     
    int32_t largeStepInteger
     
    char shortLabel [VestigeMaxShortLabelLen]
     
    int16_t displayIndex
     
    int16_t category
     
    int16_t numParametersInCategory
     
    int16_t reserved
     
    char categoryLabel [VestigeMaxCategLabelLen]
     
    char future [16]
     
    -

    Member Data Documentation

    - -

    ◆ category

    - -
    -
    - - - - -
    int16_t _VstParameterProperties::category
    -
    - -
    -
    - -

    ◆ categoryLabel

    - -
    -
    - - - - -
    char _VstParameterProperties::categoryLabel[VestigeMaxCategLabelLen]
    -
    - -
    -
    - -

    ◆ displayIndex

    - -
    -
    - - - - -
    int16_t _VstParameterProperties::displayIndex
    -
    - -
    -
    - -

    ◆ flags

    - -
    -
    - - - - -
    int32_t _VstParameterProperties::flags
    -
    - -
    -
    - -

    ◆ future

    - -
    -
    - - - - -
    char _VstParameterProperties::future[16]
    -
    - -
    -
    - -

    ◆ label

    - -
    -
    - - - - -
    char _VstParameterProperties::label[64]
    -
    - -
    -
    - -

    ◆ largeStepFloat

    - -
    -
    - - - - -
    float _VstParameterProperties::largeStepFloat
    -
    - -
    -
    - -

    ◆ largeStepInteger

    - -
    -
    - - - - -
    int32_t _VstParameterProperties::largeStepInteger
    -
    - -
    -
    - -

    ◆ maxInteger

    - -
    -
    - - - - -
    int32_t _VstParameterProperties::maxInteger
    -
    - -
    -
    - -

    ◆ minInteger

    - -
    -
    - - - - -
    int32_t _VstParameterProperties::minInteger
    -
    - -
    -
    - -

    ◆ numParametersInCategory

    - -
    -
    - - - - -
    int16_t _VstParameterProperties::numParametersInCategory
    -
    - -
    -
    - -

    ◆ reserved

    - -
    -
    - - - - -
    int16_t _VstParameterProperties::reserved
    -
    - -
    -
    - -

    ◆ shortLabel

    - -
    -
    - - - - -
    char _VstParameterProperties::shortLabel[VestigeMaxShortLabelLen]
    -
    - -
    -
    - -

    ◆ smallStepFloat

    - -
    -
    - - - - -
    float _VstParameterProperties::smallStepFloat
    -
    - -
    -
    - -

    ◆ stepFloat

    - -
    -
    - - - - -
    float _VstParameterProperties::stepFloat
    -
    - -
    -
    - -

    ◆ stepInteger

    - -
    -
    - - - - -
    int32_t _VstParameterProperties::stepInteger
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct___vst_time_info-members.html b/docs/html/struct___vst_time_info-members.html deleted file mode 100644 index c94af09ee..000000000 --- a/docs/html/struct___vst_time_info-members.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    _VstTimeInfo Member List
    -
    - - - - - diff --git a/docs/html/struct___vst_time_info.html b/docs/html/struct___vst_time_info.html deleted file mode 100644 index 370b2d33f..000000000 --- a/docs/html/struct___vst_time_info.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - -Olive: _VstTimeInfo Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    _VstTimeInfo Struct Reference
    -
    -
    - -

    #include <vestige.h>

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    double samplePos
     
    double sampleRate
     
    double nanoSeconds
     
    double ppqPos
     
    double tempo
     
    double barStartPos
     
    double cycleStartPos
     
    double cycleEndPos
     
    int32_t timeSigNumerator
     
    int32_t timeSigDenominator
     
    int32_t smpteOffset
     
    int32_t smpteFrameRate
     
    int32_t samplesToNextClock
     
    int32_t flags
     
    -

    Member Data Documentation

    - -

    ◆ barStartPos

    - -
    -
    - - - - -
    double _VstTimeInfo::barStartPos
    -
    - -
    -
    - -

    ◆ cycleEndPos

    - -
    -
    - - - - -
    double _VstTimeInfo::cycleEndPos
    -
    - -
    -
    - -

    ◆ cycleStartPos

    - -
    -
    - - - - -
    double _VstTimeInfo::cycleStartPos
    -
    - -
    -
    - -

    ◆ flags

    - -
    -
    - - - - -
    int32_t _VstTimeInfo::flags
    -
    - -
    -
    - -

    ◆ nanoSeconds

    - -
    -
    - - - - -
    double _VstTimeInfo::nanoSeconds
    -
    - -
    -
    - -

    ◆ ppqPos

    - -
    -
    - - - - -
    double _VstTimeInfo::ppqPos
    -
    - -
    -
    - -

    ◆ samplePos

    - -
    -
    - - - - -
    double _VstTimeInfo::samplePos
    -
    - -
    -
    - -

    ◆ sampleRate

    - -
    -
    - - - - -
    double _VstTimeInfo::sampleRate
    -
    - -
    -
    - -

    ◆ samplesToNextClock

    - -
    -
    - - - - -
    int32_t _VstTimeInfo::samplesToNextClock
    -
    - -
    -
    - -

    ◆ smpteFrameRate

    - -
    -
    - - - - -
    int32_t _VstTimeInfo::smpteFrameRate
    -
    - -
    -
    - -

    ◆ smpteOffset

    - -
    -
    - - - - -
    int32_t _VstTimeInfo::smpteOffset
    -
    - -
    -
    - -

    ◆ tempo

    - -
    -
    - - - - -
    double _VstTimeInfo::tempo
    -
    - -
    -
    - -

    ◆ timeSigDenominator

    - -
    -
    - - - - -
    int32_t _VstTimeInfo::timeSigDenominator
    -
    - -
    -
    - -

    ◆ timeSigNumerator

    - -
    -
    - - - - -
    int32_t _VstTimeInfo::timeSigNumerator
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct_compose_sequence_params-members.html b/docs/html/struct_compose_sequence_params-members.html deleted file mode 100644 index 822215dfe..000000000 --- a/docs/html/struct_compose_sequence_params-members.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    ComposeSequenceParams Member List
    -
    - - - - - diff --git a/docs/html/struct_compose_sequence_params.html b/docs/html/struct_compose_sequence_params.html deleted file mode 100644 index c2f39c44f..000000000 --- a/docs/html/struct_compose_sequence_params.html +++ /dev/null @@ -1,484 +0,0 @@ - - - - - - - -Olive: ComposeSequenceParams Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    ComposeSequenceParams Struct Reference
    -
    -
    - -

    The ComposeSequenceParams struct. - More...

    - -

    #include <renderfunctions.h>

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    Viewerviewer
     Reference to the Viewer class that's calling compose_sequence() More...
     
    QOpenGLContext * ctx
     The OpenGL context to use while rendering. More...
     
    SequencePtr seq
     The sequence to compose. More...
     
    QVector< ClipPtrnests
     Array to store the nested sequence hierarchy. More...
     
    bool video
     Set compose mode to video or audio. More...
     
    EffectPtrgizmos
     Set to the Effect whose gizmos were chosen to be drawn on screen. More...
     
    bool texture_failed
     A variable that compose_sequence() will set to TRUE if any of the clips couldn't be shown. More...
     
    bool single_threaded
     Run all cachers in the same thread that compose_sequence() is in. More...
     
    int playback_speed
     Set the current playback speed (adjusted with Shuttle Left/Right) More...
     
    QOpenGLShaderProgram * blend_mode_program
     Blending mode shader. More...
     
    QOpenGLShaderProgram * premultiply_program
     Premultiply alpha shader. More...
     
    GLuint main_buffer
     The OpenGL framebuffer object that the final texture to be shown is rendered to. More...
     
    GLuint main_attachment
     The attachment to the framebuffer in main_buffer. More...
     
    GLuint backend_buffer1
     Backend OpenGL framebuffer 1 used for further processing before rendering to main_buffer. More...
     
    GLuint backend_attachment1
     Backend OpenGL framebuffer 1's texture attachment. More...
     
    GLuint backend_buffer2
     Backend OpenGL framebuffer 2 used for further processing before rendering to main_buffer. More...
     
    GLuint backend_attachment2
     Backend OpenGL framebuffer 2's texture attachment. More...
     
    QOpenGLShaderProgram * ocio_shader
     OpenGL shader containing OpenColorIO shader information. More...
     
    GLuint ocio_lut_texture
     OpenGL texture containing LUT obtained form OpenColorIO. More...
     
    -

    Detailed Description

    -

    The ComposeSequenceParams struct.

    -

    Struct sent to the compose_sequence() function.

    -

    Member Data Documentation

    - -

    ◆ backend_attachment1

    - -
    -
    - - - - -
    GLuint ComposeSequenceParams::backend_attachment1
    -
    - -

    Backend OpenGL framebuffer 1's texture attachment.

    -

    The texture that ComposeSequenceParams::backend_buffer1 renders to. Bound and drawn to ComposeSequenceParams::backend_buffer2 to "ping-pong" between them and various shaders.

    - -
    -
    - -

    ◆ backend_attachment2

    - -
    -
    - - - - -
    GLuint ComposeSequenceParams::backend_attachment2
    -
    - -

    Backend OpenGL framebuffer 2's texture attachment.

    -

    The texture that ComposeSequenceParams::backend_buffer2 renders to. Bound and drawn to ComposeSequenceParams::backend_buffer1 to "ping-pong" between them and various shaders.

    - -
    -
    - -

    ◆ backend_buffer1

    - -
    -
    - - - - -
    GLuint ComposeSequenceParams::backend_buffer1
    -
    - -

    Backend OpenGL framebuffer 1 used for further processing before rendering to main_buffer.

    -

    In some situations, compose_sequence() will do some processing through shaders that requires "ping-ponging" between framebuffers. backend_buffer1 and backend_buffer2 are used for this purpose.

    - -
    -
    - -

    ◆ backend_buffer2

    - -
    -
    - - - - -
    GLuint ComposeSequenceParams::backend_buffer2
    -
    - -

    Backend OpenGL framebuffer 2 used for further processing before rendering to main_buffer.

    -

    In some situations, compose_sequence() will do some processing through shaders that requires "ping-ponging" between framebuffers. backend_buffer1 and backend_buffer2 are used for this purpose.

    - -
    -
    - -

    ◆ blend_mode_program

    - -
    -
    - - - - -
    QOpenGLShaderProgram* ComposeSequenceParams::blend_mode_program
    -
    - -

    Blending mode shader.

    -

    Used only for video rendering. Never accessed with audio rendering.

    -

    A program containing the current active blending mode shader that can be bound during rendering. Must be compiled and linked beforehand. See RenderThread::blend_mode_program for how this is properly set up.

    -
    See also
    ComposeSequenceParams::video
    - -
    -
    - -

    ◆ ctx

    - -
    -
    - - - - -
    QOpenGLContext* ComposeSequenceParams::ctx
    -
    - -

    The OpenGL context to use while rendering.

    -

    For video rendering, this must be a valid OpenGL context. For audio, this variable is never accessed.

    -
    See also
    ComposeSequenceParams::video
    - -
    -
    - -

    ◆ gizmos

    - -
    -
    - - - - -
    EffectPtr* ComposeSequenceParams::gizmos
    -
    - -

    Set to the Effect whose gizmos were chosen to be drawn on screen.

    -

    A pointer to a pointer that will be set to the Effect whose gizmos are being rendered and should therefore be interacted with if the user uses them.

    - -
    -
    - -

    ◆ main_attachment

    - -
    -
    - - - - -
    GLuint ComposeSequenceParams::main_attachment
    -
    - -

    The attachment to the framebuffer in main_buffer.

    -

    Used only for video rendering. Never accessed with audio rendering.

    -

    The OpenGL texture attached to the framebuffer referenced by main_buffer.

    - -
    -
    - -

    ◆ main_buffer

    - -
    -
    - - - - -
    GLuint ComposeSequenceParams::main_buffer
    -
    - -

    The OpenGL framebuffer object that the final texture to be shown is rendered to.

    -

    Used only for video rendering. Never accessed with audio rendering.

    -

    When compose_sequence() is rendering the final image, this framebuffer will be bound.

    - -
    -
    - -

    ◆ nests

    - -
    -
    - - - - -
    QVector<ClipPtr> ComposeSequenceParams::nests
    -
    - -

    Array to store the nested sequence hierarchy.

    -

    Should be left empty. This array gets passed around compose_sequence() as it calls itself recursively to handle nested sequences.

    - -
    -
    - -

    ◆ ocio_lut_texture

    - -
    -
    - - - - -
    GLuint ComposeSequenceParams::ocio_lut_texture
    -
    - -

    OpenGL texture containing LUT obtained form OpenColorIO.

    - -
    -
    - -

    ◆ ocio_shader

    - -
    -
    - - - - -
    QOpenGLShaderProgram* ComposeSequenceParams::ocio_shader
    -
    - -

    OpenGL shader containing OpenColorIO shader information.

    - -
    -
    - -

    ◆ playback_speed

    - -
    -
    - - - - -
    int ComposeSequenceParams::playback_speed
    -
    - -

    Set the current playback speed (adjusted with Shuttle Left/Right)

    -

    Only used for audio rendering to determine how many samples to skip in order to play audio at the correct speed.

    -
    See also
    ComposeSequenceParams::video
    - -
    -
    - -

    ◆ premultiply_program

    - -
    -
    - - - - -
    QOpenGLShaderProgram* ComposeSequenceParams::premultiply_program
    -
    - -

    Premultiply alpha shader.

    -

    Used only for video rendering. Never accessed with audio rendering.

    -

    compose_sequence()'s internal composition expects premultipled alpha, but it will pre-emptively multiply any footage that is not set as already premultiplied (see Footage::alpha_is_premultiplied) using this shader. Must be compiled and linked beforehand. See RenderThread::premultiply_program for how this is properly set up.

    - -
    -
    - -

    ◆ seq

    - -
    -
    - - - - -
    SequencePtr ComposeSequenceParams::seq
    -
    - -

    The sequence to compose.

    -

    In addition to clips, sequences also contain the playhead position so compose_sequence() knows which frame to render.

    - -
    -
    - -

    ◆ single_threaded

    - -
    -
    - - - - -
    bool ComposeSequenceParams::single_threaded
    -
    - -

    Run all cachers in the same thread that compose_sequence() is in.

    -

    Standard behavior is that all clips cache frames in their own thread and signals are sent between compose_sequence() and the clip's cacher thread regarding which frames to display and cache without stalling the compose_sequence() thread. Setting this to TRUE will run all cachers in the same thread creating a technically more "perfect" connection between them that will also stall the compose_sequence() thread. Used when rendering as timing isn't as important as creating output frames as quickly as possible.

    -
    Note
    Exporting should probably be rewritten without this. While running all the cachers in one thread makes it easier to synchronize everything, export performance could probably benefit from keeping them in separate threads and syncing up with them. See ComposeSequenceParams::texture_failed for a similar function that could be removed.
    - -
    -
    - -

    ◆ texture_failed

    - -
    -
    - - - - -
    bool ComposeSequenceParams::texture_failed
    -
    - -

    A variable that compose_sequence() will set to TRUE if any of the clips couldn't be shown.

    -

    A footage item or shader may not be ready at the time this frame is drawn. If compose_sequence() couldn't draw any of the clips in the scene, this variable is set to TRUE indicating that the image rendered is a "best effort", but not the actual image.

    -

    This variable should be checked after compose_sequence() and a repaint should be triggered if it's TRUE.

    -
    Note
    This variable is probably bad design and is a relic of an earlier rendering backend. There may be a better way to communicate this information.
    -

    Additionally, since compose_sequence() for video will now always run in a separate thread anyway, there's no real issue with stalling it to wait for footage to complete opening or whatever may be lagging behind. A possible side effect of this though is that the preview may become less responsive if it's stuck trying to render one frame. With the current system, the preview may show incomplete frames occasionally but at least it will show something. This may be preferable. See ComposeSequenceParams::single_threaded for a similar function that could be removed.

    - -
    -
    - -

    ◆ video

    - -
    -
    - - - - -
    bool ComposeSequenceParams::video
    -
    - -

    Set compose mode to video or audio.

    -

    TRUE if this function should render video, FALSE if this function should render audio.

    - -
    -
    - -

    ◆ viewer

    - -
    -
    - - - - -
    Viewer* ComposeSequenceParams::viewer
    -
    - -

    Reference to the Viewer class that's calling compose_sequence()

    -

    Primarily used for calling Viewer::play_wake() when appropriate.

    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct_config-members.html b/docs/html/struct_config-members.html deleted file mode 100644 index bea889756..000000000 --- a/docs/html/struct_config-members.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    Config Member List
    -
    - - - - - diff --git a/docs/html/struct_config.html b/docs/html/struct_config.html deleted file mode 100644 index adc51b278..000000000 --- a/docs/html/struct_config.html +++ /dev/null @@ -1,1044 +0,0 @@ - - - - - - - -Olive: Config Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    Config Struct Reference
    -
    -
    - -

    The Config struct. - More...

    - -

    #include <config.h>

    - - - - - - - - - - - -

    -Public Member Functions

     Config ()
     Config Constructor. More...
     
    void load (QString path)
     Load config from file. More...
     
    void save (QString path)
     Save config to file. More...
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    bool show_track_lines
     Show track lines. More...
     
    bool scroll_zooms
     The scroll wheel zooms rather than scrolls. More...
     
    bool edit_tool_selects_links
     Edit tool selects links. More...
     
    bool edit_tool_also_seeks
     Edit tool also seeks. More...
     
    bool select_also_seeks
     Selecting also seeks. More...
     
    bool paste_seeks
     Paste also seeks. More...
     
    QString img_seq_formats
     Image sequence formats. More...
     
    bool rectified_waveforms
     Use rectified waveforms. More...
     
    int default_transition_length
     Default transition length. More...
     
    int timecode_view
     Timecode display mode. More...
     
    bool show_title_safe_area
     Show title/action safe area. More...
     
    bool use_custom_title_safe_ratio
     Use custom title/action safe area aspect ratio. More...
     
    double custom_title_safe_ratio
     Custom title/action safe area aspect ratio. More...
     
    bool enable_drag_files_to_timeline
     Enable dragging files outside Olive directly into the Timeline. More...
     
    bool autoscale_by_default
     Auto-scale by default. More...
     
    int recording_mode
     Recording mode/channel layout. More...
     
    bool enable_seek_to_import
     Enable seek to import. More...
     
    bool enable_audio_scrubbing
     Enable audio scrubbing. More...
     
    bool drop_on_media_to_replace
     Enable drop on media to replace. More...
     
    int autoscroll
     Auto-scroll mode. More...
     
    int audio_rate
     Current audio sample rate. More...
     
    bool fast_seeking
     Enable fast seeking. More...
     
    bool hover_focus
     Enable hover focus. More...
     
    int project_view_type
     Project view type. More...
     
    bool set_name_with_marker
     Ask for a marker name when setting a marker. More...
     
    bool show_project_toolbar
     Show the project toolbar. More...
     
    double previous_queue_size
     Previous frame queue size. More...
     
    int previous_queue_type
     Previous frame queue type. More...
     
    double upcoming_queue_size
     Upcoming frame queue size. More...
     
    int upcoming_queue_type
     Upcoming frame queue type. More...
     
    bool loop
     Loop. More...
     
    bool seek_also_selects
     Seeking also selects. More...
     
    QString css_path
     CSS Path. More...
     
    int effect_textbox_lines
     Number of lines that an Effect's textbox has. More...
     
    bool use_software_fallback
     Use software fallbacks when possible. More...
     
    bool center_timeline_timecodes
     Center Timeline timecodes. More...
     
    QString preferred_audio_output
     Preferred audio output device. More...
     
    QString preferred_audio_input
     Preferred audio input device. More...
     
    QString language_file
     Language/translation file. More...
     
    int waveform_resolution
     Waveform resolution. More...
     
    int thumbnail_resolution
     Thumbnail resolution. More...
     
    bool add_default_effects_to_clips
     Add default effects to clips. More...
     
    -

    Detailed Description

    -

    The Config struct.

    -

    This struct handles any configuration that should persist between restarting Olive. It contains several variables as well as functions that load and save all the variables to file.

    -

    Constructor & Destructor Documentation

    - -

    ◆ Config()

    - -
    -
    - - - - - - - -
    Config::Config ()
    -
    - -

    Config Constructor.

    -

    Sets all configuration variables to their defaults.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ load()

    - -
    -
    - - - - - - - - -
    void Config::load (QString path)
    -
    - -

    Load config from file.

    -

    Load configuration parameters from file

    -
    Parameters
    - - -
    pathURL to the configuration file to load
    -
    -
    - -
    -
    - -

    ◆ save()

    - -
    -
    - - - - - - - - -
    void Config::save (QString path)
    -
    - -

    Save config to file.

    -

    Save current configuration parameters to file

    -
    Parameters
    - - -
    pathURL to save the configuration file to.
    -
    -
    - -
    -
    -

    Member Data Documentation

    - -

    ◆ add_default_effects_to_clips

    - -
    -
    - - - - -
    bool Config::add_default_effects_to_clips
    -
    - -

    Add default effects to clips.

    -

    TRUE if new clips imported into the Timeline should have a set of default effects (TransformEffect, VolumeEffect, and PanEffect) added to them by default.

    - -
    -
    - -

    ◆ audio_rate

    - -
    -
    - - - - -
    int Config::audio_rate
    -
    - -

    Current audio sample rate.

    -

    The sample rate to set the audio output device to. Also used as the value to resample audio to during playback (but not during rendering).

    - -
    -
    - -

    ◆ autoscale_by_default

    - -
    -
    - - - - -
    bool Config::autoscale_by_default
    -
    - -

    Auto-scale by default.

    -

    TRUE if clips imported into the timeline should have Clip::autoscale TRUE by default. If a Clip is smaller or larger than the Sequence, auto-scale will automatically resize it to fit to the Sequence boundaries.

    - -
    -
    - -

    ◆ autoscroll

    - -
    -
    - - - - -
    int Config::autoscroll
    -
    - -

    Auto-scroll mode.

    -

    The Timeline behavior regarding scrolling to keep the playhead within view while a Sequence is playing.

    -

    Set to a member of enum AutoScrollMode.

    - -
    -
    - -

    ◆ center_timeline_timecodes

    - -
    -
    - - - - -
    bool Config::center_timeline_timecodes
    -
    - -

    Center Timeline timecodes.

    -

    By default, Olive shows timecodes in the TimelineHeader centered to the corresponding frame point. This may not always be desirable as, for example, this forces the initial 00:00:00;00 timecode's left half to be cut off. Olive supports aligning the timecode to the right of the frame rather than the center to address this.

    - -
    -
    - -

    ◆ css_path

    - -
    -
    - - - - -
    QString Config::css_path
    -
    - -

    CSS Path.

    -

    The URL to a CSS file if the user has loaded a custom stylesheet in. EMPTY if the user has not set a stylesheet.

    - -
    -
    - -

    ◆ custom_title_safe_ratio

    - -
    -
    - - - - -
    double Config::custom_title_safe_ratio
    -
    - -

    Custom title/action safe area aspect ratio.

    -

    If Config::use_custom_title_safe_ratio is true, this is the aspect ratio to use.

    -

    Set to the result of an aspect ratio division (i.e. for 4:3 set to 1.333333 (4.0 / 3.0)

    - -
    -
    - -

    ◆ default_transition_length

    - -
    -
    - - - - -
    int Config::default_transition_length
    -
    - -

    Default transition length.

    -

    The default transition length used when making a transition without the transition tool

    - -
    -
    - -

    ◆ drop_on_media_to_replace

    - -
    -
    - - - - -
    bool Config::drop_on_media_to_replace
    -
    - -

    Enable drop on media to replace.

    -

    TRUE if dropping a file from outside Olive onto a media item in the Project panel should prompt the user whether the dropped file should replace the media item that the file was dropped on.

    - -
    -
    - -

    ◆ edit_tool_also_seeks

    - -
    -
    - - - - -
    bool Config::edit_tool_also_seeks
    -
    - -

    Edit tool also seeks.

    -

    TRUE if using the edit tool should also seek the sequence's playhead

    - -
    -
    - -

    ◆ edit_tool_selects_links

    - -
    -
    - - - - -
    bool Config::edit_tool_selects_links
    -
    - -

    Edit tool selects links.

    -

    TRUE if the edit tool should also select links when the user selects a clip.

    - -
    -
    - -

    ◆ effect_textbox_lines

    - -
    -
    - - - - -
    int Config::effect_textbox_lines
    -
    - -

    Number of lines that an Effect's textbox has.

    -

    The height of a Effect's textbox field in terms of lines.

    -

    Set to a value >= 1

    - -
    -
    - -

    ◆ enable_audio_scrubbing

    - -
    -
    - - - - -
    bool Config::enable_audio_scrubbing
    -
    - -

    Enable audio scrubbing.

    -

    TRUE if audio should "scrub" as the user drags the playhead around

    - -
    -
    - -

    ◆ enable_drag_files_to_timeline

    - -
    -
    - - - - -
    bool Config::enable_drag_files_to_timeline
    -
    - -

    Enable dragging files outside Olive directly into the Timeline.

    -

    TRUE if the Timeline should respond to files dropped from outside Olive.

    - -
    -
    - -

    ◆ enable_seek_to_import

    - -
    -
    - - - - -
    bool Config::enable_seek_to_import
    -
    - -

    Enable seek to import.

    -

    TRUE if the playhead should automatically seek to any newly imported clips

    - -
    -
    - -

    ◆ fast_seeking

    - -
    -
    - - - - -
    bool Config::fast_seeking
    -
    - -

    Enable fast seeking.

    -

    Olive supports a seek mode that shows frames faster with the risk of briefly showing a "best-effort" frame that may not be the accurate frame at that point of the Timeline. This does not affect exporting.

    -

    Set to TRUE if this mode should be enabled.

    - -
    -
    - -

    ◆ hover_focus

    - -
    -
    - - - - -
    bool Config::hover_focus
    -
    - -

    Enable hover focus.

    -

    Default behavior is panels are focused (and therefore respond to certain keyboard shortcuts)when they are clicked on, but Olive also supports panels being considered "focused" if the mouse is hovered over them.

    -

    TRUE to enable hover focus mode.

    - -
    -
    - -

    ◆ img_seq_formats

    - -
    -
    - - - - -
    QString Config::img_seq_formats
    -
    - -

    Image sequence formats.

    -

    A '|' separated list of file extensions that Olive will perform an image sequence test heuristic on when importing

    - -
    -
    - -

    ◆ language_file

    - -
    -
    - - - - -
    QString Config::language_file
    -
    - -

    Language/translation file.

    -

    Sets the translation file to load to display Olive in a different language.

    -

    Set to the URL of the language file to load, or EMPTY to use default en-US language.

    - -
    -
    - -

    ◆ loop

    - -
    -
    - - - - -
    bool Config::loop
    -
    - -

    Loop.

    -

    If an in/out point are set on the Sequence (Sequence::using_workarea is TRUE), set this to TRUE if Olive should rewind to the in point and start playing again after it reaches the out point repeatedly until the user pauses.

    - -
    -
    - -

    ◆ paste_seeks

    - -
    -
    - - - - -
    bool Config::paste_seeks
    -
    - -

    Paste also seeks.

    -

    TRUE if the playhead should seek to the end of clips that are pasted

    - -
    -
    - -

    ◆ preferred_audio_input

    - -
    -
    - - - - -
    QString Config::preferred_audio_input
    -
    - -

    Preferred audio input device.

    -

    Sets the audio device Olive should use to input audio from.

    -

    Set to the name of the audio device or EMPTY to try using the default.

    - -
    -
    - -

    ◆ preferred_audio_output

    - -
    -
    - - - - -
    QString Config::preferred_audio_output
    -
    - -

    Preferred audio output device.

    -

    Sets the audio device Olive should use to output audio to.

    -

    Set to the name of the audio device or EMPTY to try using the default.

    - -
    -
    - -

    ◆ previous_queue_size

    - -
    -
    - - - - -
    double Config::previous_queue_size
    -
    - -

    Previous frame queue size.

    -

    Olive caches frames in memory to improve playback performance (see enum FrameQueueType documentation for more details). This variable states how many frames to keep in memory prior to the playhead (in most cases, frames that have already been played, but are kept in memory in case the user wants to backtrack at any time).

    -

    This value corresponds to Config::previous_queue_type.

    - -
    -
    - -

    ◆ previous_queue_type

    - -
    -
    - - - - -
    int Config::previous_queue_type
    -
    - -

    Previous frame queue type.

    -

    The metric of which Config::previous_queue_size is using. For example, if Config::previous_queue_size is 3, this variable states whether that is 3 frames or 3 seconds.

    -

    Set to a member of enum FrameQueueType.

    - -
    -
    - -

    ◆ project_view_type

    - -
    -
    - - - - -
    int Config::project_view_type
    -
    - -

    Project view type.

    -

    Whether to show media in the Project panel as a tree hierarchy or as a browser of icons.

    -

    Set to a member of enum ProjectView.

    - -
    -
    - -

    ◆ recording_mode

    - -
    -
    - - - - -
    int Config::recording_mode
    -
    - -

    Recording mode/channel layout.

    -

    When recording audio within Olive, use this mode/channel layout (e.g. mono or stereo).

    -

    Set to a member of enum RecordingMode.

    - -
    -
    - -

    ◆ rectified_waveforms

    - -
    -
    - - - - -
    bool Config::rectified_waveforms
    -
    - -

    Use rectified waveforms.

    -

    TRUE if Olive should display waveforms as "rectified". Rectified waveforms start at the bottom rather than from the middle.

    - -
    -
    - -

    ◆ scroll_zooms

    - -
    -
    - - - - -
    bool Config::scroll_zooms
    -
    - -

    The scroll wheel zooms rather than scrolls.

    -

    TRUE if the scroll wheel should zoom in and out rather than scroll up and down.

    - -
    -
    - -

    ◆ seek_also_selects

    - -
    -
    - - - - -
    bool Config::seek_also_selects
    -
    - -

    Seeking also selects.

    -

    Olive supports automatically selecting clips that the playhead is currently touching for a more efficient workflow.

    -

    TRUE if this mode should be enabled.

    - -
    -
    - -

    ◆ select_also_seeks

    - -
    -
    - - - - -
    bool Config::select_also_seeks
    -
    - -

    Selecting also seeks.

    -

    TRUE if the playhead should automatically seek to the start of any clip that gets selected

    - -
    -
    - -

    ◆ set_name_with_marker

    - -
    -
    - - - - -
    bool Config::set_name_with_marker
    -
    - -

    Ask for a marker name when setting a marker.

    -

    TRUE if Olive should ask the user to name a marker when setting one. FALSE if markers should just be created without asking.

    - -
    -
    - -

    ◆ show_project_toolbar

    - -
    -
    - - - - -
    bool Config::show_project_toolbar
    -
    - -

    Show the project toolbar.

    -

    Olive has an optional toolbar for the Project panel.

    -

    Set to TRUE to show it.

    - -
    -
    - -

    ◆ show_title_safe_area

    - -
    -
    - - - - -
    bool Config::show_title_safe_area
    -
    - -

    Show title/action safe area.

    -

    TRUE if the title/action safe area should be shown on the Viewer.

    - -
    -
    - -

    ◆ show_track_lines

    - -
    -
    - - - - -
    bool Config::show_track_lines
    -
    - -

    Show track lines.

    -

    TRUE if the Timeline should show lines between tracks.

    - -
    -
    - -

    ◆ thumbnail_resolution

    - -
    -
    - - - - -
    int Config::thumbnail_resolution
    -
    - -

    Thumbnail resolution.

    -

    The vertical pixel height to use for generating thumbnails.

    - -
    -
    - -

    ◆ timecode_view

    - -
    -
    - - - - -
    int Config::timecode_view
    -
    - -

    Timecode display mode.

    -

    The display mode with which timecode_to_frame() and frame_to_timecode() will use to convert frame numbers to more human-readable values.

    -

    Set to a member of enum TimecodeType.

    - -
    -
    - -

    ◆ upcoming_queue_size

    - -
    -
    - - - - -
    double Config::upcoming_queue_size
    -
    - -

    Upcoming frame queue size.

    -

    Olive caches frames in memory to improve playback performance (see enum FrameQueueType documentation for more details). This variable states how many upcoming frames are stored in memory. Generally this value will be higher than Config::previous_queue_size since the user will be playing forwards most of the time.

    -

    This value corresponds to Config::upcoming_queue_type.

    - -
    -
    - -

    ◆ upcoming_queue_type

    - -
    -
    - - - - -
    int Config::upcoming_queue_type
    -
    - -

    Upcoming frame queue type.

    -

    The metric of which Config::upcoming_queue_size is using. For example, if Config::upcoming_queue_size is 3, this variable states whether that is 3 frames or 3 seconds.

    -

    Set to a member of enum FrameQueueType.

    - -
    -
    - -

    ◆ use_custom_title_safe_ratio

    - -
    -
    - - - - -
    bool Config::use_custom_title_safe_ratio
    -
    - -

    Use custom title/action safe area aspect ratio.

    -

    TRUE if the title/action save area should use a custom aspect ratio

    - -
    -
    - -

    ◆ use_software_fallback

    - -
    -
    - - - - -
    bool Config::use_software_fallback
    -
    - -

    Use software fallbacks when possible.

    -

    Olive uses a lot of OpenGL-based hardware acceleration for performance. Some older hardware has difficulty supporting this functionality, so some of it has software-based (not hardware accelerated) fallbacks for these users.

    -

    TRUE if Olive should prefer software fallbacks to hardware acceleration when they're available.

    - -
    -
    - -

    ◆ waveform_resolution

    - -
    -
    - - - - -
    int Config::waveform_resolution
    -
    - -

    Waveform resolution.

    -

    Sets how detailed the waveforms should be in the Timeline. Higher value = more detail.

    -

    Specifically sets how many samples per second should be "cached" for preview. If the waveforms are too blocky, set this higher. If Timeline performance is slow, set this lower.

    - -
    -
    -
    The documentation for this struct was generated from the following files: -
    - - - - diff --git a/docs/html/struct_effect_meta-members.html b/docs/html/struct_effect_meta-members.html deleted file mode 100644 index 07eda14b7..000000000 --- a/docs/html/struct_effect_meta-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    EffectMeta Member List
    -
    -
    - -

    This is the complete list of members for EffectMeta, including all inherited members.

    - - - - - - - - - -
    categoryEffectMeta
    filenameEffectMeta
    internalEffectMeta
    nameEffectMeta
    pathEffectMeta
    subtypeEffectMeta
    tooltipEffectMeta
    typeEffectMeta
    - - - - diff --git a/docs/html/struct_effect_meta.html b/docs/html/struct_effect_meta.html deleted file mode 100644 index 165642839..000000000 --- a/docs/html/struct_effect_meta.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - -Olive: EffectMeta Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    EffectMeta Struct Reference
    -
    -
    - -

    #include <effect.h>

    - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    QString name
     
    QString category
     
    QString filename
     
    QString path
     
    QString tooltip
     
    int internal
     
    int type
     
    int subtype
     
    -

    Member Data Documentation

    - -

    ◆ category

    - -
    -
    - - - - -
    QString EffectMeta::category
    -
    - -
    -
    - -

    ◆ filename

    - -
    -
    - - - - -
    QString EffectMeta::filename
    -
    - -
    -
    - -

    ◆ internal

    - -
    -
    - - - - -
    int EffectMeta::internal
    -
    - -
    -
    - -

    ◆ name

    - -
    -
    - - - - -
    QString EffectMeta::name
    -
    - -
    -
    - -

    ◆ path

    - -
    -
    - - - - -
    QString EffectMeta::path
    -
    - -
    -
    - -

    ◆ subtype

    - -
    -
    - - - - -
    int EffectMeta::subtype
    -
    - -
    -
    - -

    ◆ tooltip

    - -
    -
    - - - - -
    QString EffectMeta::tooltip
    -
    - -
    -
    - -

    ◆ type

    - -
    -
    - - - - -
    int EffectMeta::type
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct_export_params-members.html b/docs/html/struct_export_params-members.html deleted file mode 100644 index 0ea341f4e..000000000 --- a/docs/html/struct_export_params-members.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    ExportParams Member List
    -
    - - - - - diff --git a/docs/html/struct_export_params.html b/docs/html/struct_export_params.html deleted file mode 100644 index 82b086f54..000000000 --- a/docs/html/struct_export_params.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - -Olive: ExportParams Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    ExportParams Struct Reference
    -
    -
    - -

    #include <exportthread.h>

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    QString filename
     
    bool video_enabled
     
    int video_codec
     
    int video_width
     
    int video_height
     
    double video_frame_rate
     
    int video_compression_type
     
    double video_bitrate
     
    bool audio_enabled
     
    int audio_codec
     
    int audio_sampling_rate
     
    int audio_bitrate
     
    long start_frame
     
    long end_frame
     
    -

    Member Data Documentation

    - -

    ◆ audio_bitrate

    - -
    -
    - - - - -
    int ExportParams::audio_bitrate
    -
    - -
    -
    - -

    ◆ audio_codec

    - -
    -
    - - - - -
    int ExportParams::audio_codec
    -
    - -
    -
    - -

    ◆ audio_enabled

    - -
    -
    - - - - -
    bool ExportParams::audio_enabled
    -
    - -
    -
    - -

    ◆ audio_sampling_rate

    - -
    -
    - - - - -
    int ExportParams::audio_sampling_rate
    -
    - -
    -
    - -

    ◆ end_frame

    - -
    -
    - - - - -
    long ExportParams::end_frame
    -
    - -
    -
    - -

    ◆ filename

    - -
    -
    - - - - -
    QString ExportParams::filename
    -
    - -
    -
    - -

    ◆ start_frame

    - -
    -
    - - - - -
    long ExportParams::start_frame
    -
    - -
    -
    - -

    ◆ video_bitrate

    - -
    -
    - - - - -
    double ExportParams::video_bitrate
    -
    - -
    -
    - -

    ◆ video_codec

    - -
    -
    - - - - -
    int ExportParams::video_codec
    -
    - -
    -
    - -

    ◆ video_compression_type

    - -
    -
    - - - - -
    int ExportParams::video_compression_type
    -
    - -
    -
    - -

    ◆ video_enabled

    - -
    -
    - - - - -
    bool ExportParams::video_enabled
    -
    - -
    -
    - -

    ◆ video_frame_rate

    - -
    -
    - - - - -
    double ExportParams::video_frame_rate
    -
    - -
    -
    - -

    ◆ video_height

    - -
    -
    - - - - -
    int ExportParams::video_height
    -
    - -
    -
    - -

    ◆ video_width

    - -
    -
    - - - - -
    int ExportParams::video_width
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct_footage-members.html b/docs/html/struct_footage-members.html deleted file mode 100644 index c6bb97010..000000000 --- a/docs/html/struct_footage-members.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    Footage Member List
    -
    - - - - - diff --git a/docs/html/struct_footage.html b/docs/html/struct_footage.html deleted file mode 100644 index 24c8213cf..000000000 --- a/docs/html/struct_footage.html +++ /dev/null @@ -1,491 +0,0 @@ - - - - - - - -Olive: Footage Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    Footage Struct Reference
    -
    -
    - -

    #include <footage.h>

    - - - - - - - - - - - - -

    -Public Member Functions

     Footage ()
     
     ~Footage ()
     
    long get_length_in_frames (double frame_rate)
     
    FootageStreamget_stream_from_file_index (bool video, int index)
     
    void reset ()
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    QString url
     
    QString name
     
    int64_t length
     
    QVector< FootageStreamvideo_tracks
     
    QVector< FootageStreamaudio_tracks
     
    int save_id
     
    bool ready
     
    bool invalid
     
    double speed
     
    bool alpha_is_premultiplied
     
    bool proxy
     
    QString proxy_path
     
    PreviewGeneratorpreview_gen
     
    QMutex ready_lock
     
    bool using_inout
     
    long in
     
    long out
     
    QVector< Markermarkers
     
    -

    Constructor & Destructor Documentation

    - -

    ◆ Footage()

    - -
    -
    - - - - - - - -
    Footage::Footage ()
    -
    - -
    -
    - -

    ◆ ~Footage()

    - -
    -
    - - - - - - - -
    Footage::~Footage ()
    -
    - -
    -
    -

    Member Function Documentation

    - -

    ◆ get_length_in_frames()

    - -
    -
    - - - - - - - - -
    long Footage::get_length_in_frames (double frame_rate)
    -
    - -
    -
    - -

    ◆ get_stream_from_file_index()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    FootageStream * Footage::get_stream_from_file_index (bool video,
    int index 
    )
    -
    - -
    -
    - -

    ◆ reset()

    - -
    -
    - - - - - - - -
    void Footage::reset ()
    -
    - -
    -
    -

    Member Data Documentation

    - -

    ◆ alpha_is_premultiplied

    - -
    -
    - - - - -
    bool Footage::alpha_is_premultiplied
    -
    - -
    -
    - -

    ◆ audio_tracks

    - -
    -
    - - - - -
    QVector<FootageStream> Footage::audio_tracks
    -
    - -
    -
    - -

    ◆ in

    - -
    -
    - - - - -
    long Footage::in
    -
    - -
    -
    - -

    ◆ invalid

    - -
    -
    - - - - -
    bool Footage::invalid
    -
    - -
    -
    - -

    ◆ length

    - -
    -
    - - - - -
    int64_t Footage::length
    -
    - -
    -
    - -

    ◆ markers

    - -
    -
    - - - - -
    QVector<Marker> Footage::markers
    -
    - -
    -
    - -

    ◆ name

    - -
    -
    - - - - -
    QString Footage::name
    -
    - -
    -
    - -

    ◆ out

    - -
    -
    - - - - -
    long Footage::out
    -
    - -
    -
    - -

    ◆ preview_gen

    - -
    -
    - - - - -
    PreviewGenerator* Footage::preview_gen
    -
    - -
    -
    - -

    ◆ proxy

    - -
    -
    - - - - -
    bool Footage::proxy
    -
    - -
    -
    - -

    ◆ proxy_path

    - -
    -
    - - - - -
    QString Footage::proxy_path
    -
    - -
    -
    - -

    ◆ ready

    - -
    -
    - - - - -
    bool Footage::ready
    -
    - -
    -
    - -

    ◆ ready_lock

    - -
    -
    - - - - -
    QMutex Footage::ready_lock
    -
    - -
    -
    - -

    ◆ save_id

    - -
    -
    - - - - -
    int Footage::save_id
    -
    - -
    -
    - -

    ◆ speed

    - -
    -
    - - - - -
    double Footage::speed
    -
    - -
    -
    - -

    ◆ url

    - -
    -
    - - - - -
    QString Footage::url
    -
    - -
    -
    - -

    ◆ using_inout

    - -
    -
    - - - - -
    bool Footage::using_inout
    -
    - -
    -
    - -

    ◆ video_tracks

    - -
    -
    - - - - -
    QVector<FootageStream> Footage::video_tracks
    -
    - -
    -
    -
    The documentation for this struct was generated from the following files: -
    - - - - diff --git a/docs/html/struct_footage_stream-members.html b/docs/html/struct_footage_stream-members.html deleted file mode 100644 index 1324657c3..000000000 --- a/docs/html/struct_footage_stream-members.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    FootageStream Member List
    -
    - - - - - diff --git a/docs/html/struct_footage_stream.html b/docs/html/struct_footage_stream.html deleted file mode 100644 index 248cae04d..000000000 --- a/docs/html/struct_footage_stream.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - -Olive: FootageStream Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    FootageStream Struct Reference
    -
    -
    - -

    #include <footage.h>

    - - - - -

    -Public Member Functions

    void make_square_thumb ()
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    int file_index
     
    int video_width
     
    int video_height
     
    bool infinite_length
     
    double video_frame_rate
     
    int video_interlacing
     
    int video_auto_interlacing
     
    int audio_channels
     
    int audio_layout
     
    int audio_frequency
     
    bool enabled
     
    bool preview_done
     
    QImage video_preview
     
    QIcon video_preview_square
     
    QVector< char > audio_preview
     
    -

    Member Function Documentation

    - -

    ◆ make_square_thumb()

    - -
    -
    - - - - - - - -
    void FootageStream::make_square_thumb ()
    -
    - -
    -
    -

    Member Data Documentation

    - -

    ◆ audio_channels

    - -
    -
    - - - - -
    int FootageStream::audio_channels
    -
    - -
    -
    - -

    ◆ audio_frequency

    - -
    -
    - - - - -
    int FootageStream::audio_frequency
    -
    - -
    -
    - -

    ◆ audio_layout

    - -
    -
    - - - - -
    int FootageStream::audio_layout
    -
    - -
    -
    - -

    ◆ audio_preview

    - -
    -
    - - - - -
    QVector<char> FootageStream::audio_preview
    -
    - -
    -
    - -

    ◆ enabled

    - -
    -
    - - - - -
    bool FootageStream::enabled
    -
    - -
    -
    - -

    ◆ file_index

    - -
    -
    - - - - -
    int FootageStream::file_index
    -
    - -
    -
    - -

    ◆ infinite_length

    - -
    -
    - - - - -
    bool FootageStream::infinite_length
    -
    - -
    -
    - -

    ◆ preview_done

    - -
    -
    - - - - -
    bool FootageStream::preview_done
    -
    - -
    -
    - -

    ◆ video_auto_interlacing

    - -
    -
    - - - - -
    int FootageStream::video_auto_interlacing
    -
    - -
    -
    - -

    ◆ video_frame_rate

    - -
    -
    - - - - -
    double FootageStream::video_frame_rate
    -
    - -
    -
    - -

    ◆ video_height

    - -
    -
    - - - - -
    int FootageStream::video_height
    -
    - -
    -
    - -

    ◆ video_interlacing

    - -
    -
    - - - - -
    int FootageStream::video_interlacing
    -
    - -
    -
    - -

    ◆ video_preview

    - -
    -
    - - - - -
    QImage FootageStream::video_preview
    -
    - -
    -
    - -

    ◆ video_preview_square

    - -
    -
    - - - - -
    QIcon FootageStream::video_preview_square
    -
    - -
    -
    - -

    ◆ video_width

    - -
    -
    - - - - -
    int FootageStream::video_width
    -
    - -
    -
    -
    The documentation for this struct was generated from the following files: -
    - - - - diff --git a/docs/html/struct_g_l_texture_coords-members.html b/docs/html/struct_g_l_texture_coords-members.html deleted file mode 100644 index 56441150a..000000000 --- a/docs/html/struct_g_l_texture_coords-members.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    GLTextureCoords Member List
    -
    - - - - - diff --git a/docs/html/struct_g_l_texture_coords.html b/docs/html/struct_g_l_texture_coords.html deleted file mode 100644 index d236c68b7..000000000 --- a/docs/html/struct_g_l_texture_coords.html +++ /dev/null @@ -1,521 +0,0 @@ - - - - - - - -Olive: GLTextureCoords Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    GLTextureCoords Struct Reference
    -
    -
    - -

    #include <effect.h>

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    int grid_size
     
    int vertexTopLeftX
     
    int vertexTopLeftY
     
    int vertexTopLeftZ
     
    int vertexTopRightX
     
    int vertexTopRightY
     
    int vertexTopRightZ
     
    int vertexBottomLeftX
     
    int vertexBottomLeftY
     
    int vertexBottomLeftZ
     
    int vertexBottomRightX
     
    int vertexBottomRightY
     
    int vertexBottomRightZ
     
    float textureTopLeftX
     
    float textureTopLeftY
     
    float textureTopLeftQ
     
    float textureTopRightX
     
    float textureTopRightY
     
    float textureTopRightQ
     
    float textureBottomRightX
     
    float textureBottomRightY
     
    float textureBottomRightQ
     
    float textureBottomLeftX
     
    float textureBottomLeftY
     
    float textureBottomLeftQ
     
    int blendmode
     
    float opacity
     
    -

    Member Data Documentation

    - -

    ◆ blendmode

    - -
    -
    - - - - -
    int GLTextureCoords::blendmode
    -
    - -
    -
    - -

    ◆ grid_size

    - -
    -
    - - - - -
    int GLTextureCoords::grid_size
    -
    - -
    -
    - -

    ◆ opacity

    - -
    -
    - - - - -
    float GLTextureCoords::opacity
    -
    - -
    -
    - -

    ◆ textureBottomLeftQ

    - -
    -
    - - - - -
    float GLTextureCoords::textureBottomLeftQ
    -
    - -
    -
    - -

    ◆ textureBottomLeftX

    - -
    -
    - - - - -
    float GLTextureCoords::textureBottomLeftX
    -
    - -
    -
    - -

    ◆ textureBottomLeftY

    - -
    -
    - - - - -
    float GLTextureCoords::textureBottomLeftY
    -
    - -
    -
    - -

    ◆ textureBottomRightQ

    - -
    -
    - - - - -
    float GLTextureCoords::textureBottomRightQ
    -
    - -
    -
    - -

    ◆ textureBottomRightX

    - -
    -
    - - - - -
    float GLTextureCoords::textureBottomRightX
    -
    - -
    -
    - -

    ◆ textureBottomRightY

    - -
    -
    - - - - -
    float GLTextureCoords::textureBottomRightY
    -
    - -
    -
    - -

    ◆ textureTopLeftQ

    - -
    -
    - - - - -
    float GLTextureCoords::textureTopLeftQ
    -
    - -
    -
    - -

    ◆ textureTopLeftX

    - -
    -
    - - - - -
    float GLTextureCoords::textureTopLeftX
    -
    - -
    -
    - -

    ◆ textureTopLeftY

    - -
    -
    - - - - -
    float GLTextureCoords::textureTopLeftY
    -
    - -
    -
    - -

    ◆ textureTopRightQ

    - -
    -
    - - - - -
    float GLTextureCoords::textureTopRightQ
    -
    - -
    -
    - -

    ◆ textureTopRightX

    - -
    -
    - - - - -
    float GLTextureCoords::textureTopRightX
    -
    - -
    -
    - -

    ◆ textureTopRightY

    - -
    -
    - - - - -
    float GLTextureCoords::textureTopRightY
    -
    - -
    -
    - -

    ◆ vertexBottomLeftX

    - -
    -
    - - - - -
    int GLTextureCoords::vertexBottomLeftX
    -
    - -
    -
    - -

    ◆ vertexBottomLeftY

    - -
    -
    - - - - -
    int GLTextureCoords::vertexBottomLeftY
    -
    - -
    -
    - -

    ◆ vertexBottomLeftZ

    - -
    -
    - - - - -
    int GLTextureCoords::vertexBottomLeftZ
    -
    - -
    -
    - -

    ◆ vertexBottomRightX

    - -
    -
    - - - - -
    int GLTextureCoords::vertexBottomRightX
    -
    - -
    -
    - -

    ◆ vertexBottomRightY

    - -
    -
    - - - - -
    int GLTextureCoords::vertexBottomRightY
    -
    - -
    -
    - -

    ◆ vertexBottomRightZ

    - -
    -
    - - - - -
    int GLTextureCoords::vertexBottomRightZ
    -
    - -
    -
    - -

    ◆ vertexTopLeftX

    - -
    -
    - - - - -
    int GLTextureCoords::vertexTopLeftX
    -
    - -
    -
    - -

    ◆ vertexTopLeftY

    - -
    -
    - - - - -
    int GLTextureCoords::vertexTopLeftY
    -
    - -
    -
    - -

    ◆ vertexTopLeftZ

    - -
    -
    - - - - -
    int GLTextureCoords::vertexTopLeftZ
    -
    - -
    -
    - -

    ◆ vertexTopRightX

    - -
    -
    - - - - -
    int GLTextureCoords::vertexTopRightX
    -
    - -
    -
    - -

    ◆ vertexTopRightY

    - -
    -
    - - - - -
    int GLTextureCoords::vertexTopRightY
    -
    - -
    -
    - -

    ◆ vertexTopRightZ

    - -
    -
    - - - - -
    int GLTextureCoords::vertexTopRightZ
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct_ghost-members.html b/docs/html/struct_ghost-members.html deleted file mode 100644 index 1f5c1514a..000000000 --- a/docs/html/struct_ghost-members.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    Ghost Member List
    -
    - - - - - diff --git a/docs/html/struct_ghost.html b/docs/html/struct_ghost.html deleted file mode 100644 index 30802d788..000000000 --- a/docs/html/struct_ghost.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - - - -Olive: Ghost Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    Ghost Struct Reference
    -
    -
    - -

    #include <timeline.h>

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    int clip
     
    long in
     
    long out
     
    int track
     
    long clip_in
     
    long old_in
     
    long old_out
     
    int old_track
     
    long old_clip_in
     
    Mediamedia
     
    int media_stream
     
    long ghost_length
     
    long media_length
     
    TrimType trim_type
     
    TransitionPtr transition
     
    -

    Member Data Documentation

    - -

    ◆ clip

    - -
    -
    - - - - -
    int Ghost::clip
    -
    - -
    -
    - -

    ◆ clip_in

    - -
    -
    - - - - -
    long Ghost::clip_in
    -
    - -
    -
    - -

    ◆ ghost_length

    - -
    -
    - - - - -
    long Ghost::ghost_length
    -
    - -
    -
    - -

    ◆ in

    - -
    -
    - - - - -
    long Ghost::in
    -
    - -
    -
    - -

    ◆ media

    - -
    -
    - - - - -
    Media* Ghost::media
    -
    - -
    -
    - -

    ◆ media_length

    - -
    -
    - - - - -
    long Ghost::media_length
    -
    - -
    -
    - -

    ◆ media_stream

    - -
    -
    - - - - -
    int Ghost::media_stream
    -
    - -
    -
    - -

    ◆ old_clip_in

    - -
    -
    - - - - -
    long Ghost::old_clip_in
    -
    - -
    -
    - -

    ◆ old_in

    - -
    -
    - - - - -
    long Ghost::old_in
    -
    - -
    -
    - -

    ◆ old_out

    - -
    -
    - - - - -
    long Ghost::old_out
    -
    - -
    -
    - -

    ◆ old_track

    - -
    -
    - - - - -
    int Ghost::old_track
    -
    - -
    -
    - -

    ◆ out

    - -
    -
    - - - - -
    long Ghost::out
    -
    - -
    -
    - -

    ◆ track

    - -
    -
    - - - - -
    int Ghost::track
    -
    - -
    -
    - -

    ◆ transition

    - -
    -
    - - - - -
    TransitionPtr Ghost::transition
    -
    - -
    -
    - -

    ◆ trim_type

    - -
    -
    - - - - -
    TrimType Ghost::trim_type
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct_marker-members.html b/docs/html/struct_marker-members.html deleted file mode 100644 index 9ccac8a31..000000000 --- a/docs/html/struct_marker-members.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    Marker Member List
    -
    -
    - -

    This is the complete list of members for Marker, including all inherited members.

    - - - -
    frameMarker
    nameMarker
    - - - - diff --git a/docs/html/struct_marker.html b/docs/html/struct_marker.html deleted file mode 100644 index ece5429c6..000000000 --- a/docs/html/struct_marker.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - -Olive: Marker Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    Marker Struct Reference
    -
    -
    - -

    #include <marker.h>

    - - - - - - -

    -Public Attributes

    long frame
     
    QString name
     
    -

    Member Data Documentation

    - -

    ◆ frame

    - -
    -
    - - - - -
    long Marker::frame
    -
    - -
    -
    - -

    ◆ name

    - -
    -
    - - - - -
    QString Marker::name
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct_proxy_info-members.html b/docs/html/struct_proxy_info-members.html deleted file mode 100644 index 73f878190..000000000 --- a/docs/html/struct_proxy_info-members.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    ProxyInfo Member List
    -
    -
    - -

    This is the complete list of members for ProxyInfo, including all inherited members.

    - - - - - -
    codec_typeProxyInfo
    footageProxyInfo
    pathProxyInfo
    size_multiplierProxyInfo
    - - - - diff --git a/docs/html/struct_proxy_info.html b/docs/html/struct_proxy_info.html deleted file mode 100644 index a7ee9379d..000000000 --- a/docs/html/struct_proxy_info.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - -Olive: ProxyInfo Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    ProxyInfo Struct Reference
    -
    -
    - -

    #include <proxygenerator.h>

    - - - - - - - - - - -

    -Public Attributes

    FootagePtr footage
     
    double size_multiplier
     
    int codec_type
     
    QString path
     
    -

    Member Data Documentation

    - -

    ◆ codec_type

    - -
    -
    - - - - -
    int ProxyInfo::codec_type
    -
    - -
    -
    - -

    ◆ footage

    - -
    -
    - - - - -
    FootagePtr ProxyInfo::footage
    -
    - -
    -
    - -

    ◆ path

    - -
    -
    - - - - -
    QString ProxyInfo::path
    -
    - -
    -
    - -

    ◆ size_multiplier

    - -
    -
    - - - - -
    double ProxyInfo::size_multiplier
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct_runtime_config-members.html b/docs/html/struct_runtime_config-members.html deleted file mode 100644 index 9ba8b8cbf..000000000 --- a/docs/html/struct_runtime_config-members.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    RuntimeConfig Member List
    -
    -
    - -

    This is the complete list of members for RuntimeConfig, including all inherited members.

    - - - - - -
    disable_blendingRuntimeConfig
    external_translation_fileRuntimeConfig
    RuntimeConfig()RuntimeConfig
    shaders_are_enabledRuntimeConfig
    - - - - diff --git a/docs/html/struct_runtime_config.html b/docs/html/struct_runtime_config.html deleted file mode 100644 index 3fe0ae2af..000000000 --- a/docs/html/struct_runtime_config.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -Olive: RuntimeConfig Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    RuntimeConfig Struct Reference
    -
    -
    - -

    The RuntimeConfig struct. - More...

    - -

    #include <config.h>

    - - - - - -

    -Public Member Functions

     RuntimeConfig ()
     RuntimeConfig Constructor. More...
     
    - - - - - - - - - - -

    -Public Attributes

    bool shaders_are_enabled
     Enable shaders. More...
     
    bool disable_blending
     Disable blending modes. More...
     
    QString external_translation_file
     Load an external translation file. More...
     
    -

    Detailed Description

    -

    The RuntimeConfig struct.

    -

    This struct handles any configuration that's set as a command-line argument to Olive, and shouldn't be persistent between restarts of Olive.

    -

    Constructor & Destructor Documentation

    - -

    ◆ RuntimeConfig()

    - -
    -
    - - - - - - - -
    RuntimeConfig::RuntimeConfig ()
    -
    - -

    RuntimeConfig Constructor.

    -

    Sets default runtime configuration

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ disable_blending

    - -
    -
    - - - - -
    bool RuntimeConfig::disable_blending
    -
    - -

    Disable blending modes.

    -

    Some users had difficulty utilizing blending modes (provided by shaders). Set this to TRUE to bypass shader-based blending modes and utilize standard (less versatile) OpenGL blending instead.

    - -
    -
    - -

    ◆ external_translation_file

    - -
    -
    - - - - -
    QString RuntimeConfig::external_translation_file
    -
    - -

    Load an external translation file.

    -

    Overrides Config::language_file and sets the path to a language file to use.

    - -
    -
    - -

    ◆ shaders_are_enabled

    - -
    -
    - - - - -
    bool RuntimeConfig::shaders_are_enabled
    -
    - -

    Enable shaders.

    -

    Debugging tool. Set to FALSE to bypass OpenGL shaders.

    - -
    -
    -
    The documentation for this struct was generated from the following files: -
    - - - - diff --git a/docs/html/struct_selection-members.html b/docs/html/struct_selection-members.html deleted file mode 100644 index 928fb6ca8..000000000 --- a/docs/html/struct_selection-members.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    Selection Member List
    -
    -
    - -

    This is the complete list of members for Selection, including all inherited members.

    - - - - - - - - -
    inSelection
    old_inSelection
    old_outSelection
    old_trackSelection
    outSelection
    trackSelection
    trim_inSelection
    - - - - diff --git a/docs/html/struct_selection.html b/docs/html/struct_selection.html deleted file mode 100644 index 035c615f8..000000000 --- a/docs/html/struct_selection.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - -Olive: Selection Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    Selection Struct Reference
    -
    -
    - -

    #include <selection.h>

    - - - - - - - - - - - - - - - - -

    -Public Attributes

    long in
     
    long out
     
    int track
     
    long old_in
     
    long old_out
     
    int old_track
     
    bool trim_in
     
    -

    Member Data Documentation

    - -

    ◆ in

    - -
    -
    - - - - -
    long Selection::in
    -
    - -
    -
    - -

    ◆ old_in

    - -
    -
    - - - - -
    long Selection::old_in
    -
    - -
    -
    - -

    ◆ old_out

    - -
    -
    - - - - -
    long Selection::old_out
    -
    - -
    -
    - -

    ◆ old_track

    - -
    -
    - - - - -
    int Selection::old_track
    -
    - -
    -
    - -

    ◆ out

    - -
    -
    - - - - -
    long Selection::out
    -
    - -
    -
    - -

    ◆ track

    - -
    -
    - - - - -
    int Selection::track
    -
    - -
    -
    - -

    ◆ trim_in

    - -
    -
    - - - - -
    bool Selection::trim_in
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct_sequence-members.html b/docs/html/struct_sequence-members.html deleted file mode 100644 index db4b6e184..000000000 --- a/docs/html/struct_sequence-members.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    Sequence Member List
    -
    -
    - -

    This is the complete list of members for Sequence, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - -
    audio_frequency (defined in Sequence)Sequence
    audio_layout (defined in Sequence)Sequence
    clips (defined in Sequence)Sequence
    copy() (defined in Sequence)Sequence
    frame_rate (defined in Sequence)Sequence
    getEndFrame() (defined in Sequence)Sequence
    getTrackLimits(int *video_tracks, int *audio_tracks) (defined in Sequence)Sequence
    hard_delete_transition(Clip *c, int type) (defined in Sequence)Sequence
    height (defined in Sequence)Sequence
    markers (defined in Sequence)Sequence
    name (defined in Sequence)Sequence
    playhead (defined in Sequence)Sequence
    save_id (defined in Sequence)Sequence
    selections (defined in Sequence)Sequence
    Sequence() (defined in Sequence)Sequence
    transitions (defined in Sequence)Sequence
    using_workarea (defined in Sequence)Sequence
    width (defined in Sequence)Sequence
    workarea_in (defined in Sequence)Sequence
    workarea_out (defined in Sequence)Sequence
    wrapper_sequence (defined in Sequence)Sequence
    ~Sequence() (defined in Sequence)Sequence
    - - - - diff --git a/docs/html/struct_sequence.html b/docs/html/struct_sequence.html deleted file mode 100644 index 2e444d932..000000000 --- a/docs/html/struct_sequence.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - -Olive: Sequence Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    Sequence Struct Reference
    -
    -
    - - - - - - - - - - -

    -Public Member Functions

    -Sequencecopy ()
     
    -void getTrackLimits (int *video_tracks, int *audio_tracks)
     
    -long getEndFrame ()
     
    -void hard_delete_transition (Clip *c, int type)
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    -QString name
     
    -int width
     
    -int height
     
    -double frame_rate
     
    -int audio_frequency
     
    -int audio_layout
     
    -QVector< Selectionselections
     
    -long playhead
     
    -bool using_workarea
     
    -long workarea_in
     
    -long workarea_out
     
    -bool wrapper_sequence
     
    -int save_id
     
    -QVector< Markermarkers
     
    -QVector< Clip * > clips
     
    -QVector< Transition * > transitions
     
    -
    The documentation for this struct was generated from the following files: -
    - - - - diff --git a/docs/html/struct_timeline_track_height-members.html b/docs/html/struct_timeline_track_height-members.html deleted file mode 100644 index 4f8a58a54..000000000 --- a/docs/html/struct_timeline_track_height-members.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    TimelineTrackHeight Member List
    -
    -
    - -

    This is the complete list of members for TimelineTrackHeight, including all inherited members.

    - - - -
    heightTimelineTrackHeight
    indexTimelineTrackHeight
    - - - - diff --git a/docs/html/struct_timeline_track_height.html b/docs/html/struct_timeline_track_height.html deleted file mode 100644 index 576e9797e..000000000 --- a/docs/html/struct_timeline_track_height.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - -Olive: TimelineTrackHeight Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    TimelineTrackHeight Struct Reference
    -
    -
    - -

    #include <timelinewidget.h>

    - - - - - - -

    -Public Attributes

    int index
     
    int height
     
    -

    Member Data Documentation

    - -

    ◆ height

    - -
    -
    - - - - -
    int TimelineTrackHeight::height
    -
    - -
    -
    - -

    ◆ index

    - -
    -
    - - - - -
    int TimelineTrackHeight::index
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct_transition_data-members.html b/docs/html/struct_transition_data-members.html deleted file mode 100644 index 06a278f73..000000000 --- a/docs/html/struct_transition_data-members.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    TransitionData Member List
    -
    -
    - -

    This is the complete list of members for TransitionData, including all inherited members.

    - - - - - - -
    ctc (defined in TransitionData)TransitionData
    id (defined in TransitionData)TransitionData
    length (defined in TransitionData)TransitionData
    name (defined in TransitionData)TransitionData
    otc (defined in TransitionData)TransitionData
    - - - - diff --git a/docs/html/struct_transition_data.html b/docs/html/struct_transition_data.html deleted file mode 100644 index 595969667..000000000 --- a/docs/html/struct_transition_data.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Olive: TransitionData Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    TransitionData Struct Reference
    -
    -
    - - - - - - - - - - - - -

    -Public Attributes

    -int id
     
    -QString name
     
    -long length
     
    -Clipotc
     
    -Clipctc
     
    -
    The documentation for this struct was generated from the following file:
      -
    • io/loadthread.cpp
    • -
    -
    - - - - diff --git a/docs/html/struct_v_s_t_rect-members.html b/docs/html/struct_v_s_t_rect-members.html deleted file mode 100644 index a8db75dc5..000000000 --- a/docs/html/struct_v_s_t_rect-members.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    VSTRect Member List
    -
    -
    - -

    This is the complete list of members for VSTRect, including all inherited members.

    - - - - - -
    bottomVSTRect
    leftVSTRect
    rightVSTRect
    topVSTRect
    - - - - diff --git a/docs/html/struct_v_s_t_rect.html b/docs/html/struct_v_s_t_rect.html deleted file mode 100644 index c3d08170a..000000000 --- a/docs/html/struct_v_s_t_rect.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - -Olive: VSTRect Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    VSTRect Struct Reference
    -
    -
    - - - - - - - - - - -

    -Public Attributes

    int16_t top
     
    int16_t left
     
    int16_t bottom
     
    int16_t right
     
    -

    Member Data Documentation

    - -

    ◆ bottom

    - -
    -
    - - - - -
    int16_t VSTRect::bottom
    -
    - -
    -
    - -

    ◆ left

    - -
    -
    - - - - -
    int16_t VSTRect::left
    -
    - -
    -
    - -

    ◆ right

    - -
    -
    - - - - -
    int16_t VSTRect::right
    -
    - -
    -
    - -

    ◆ top

    - -
    -
    - - - - -
    int16_t VSTRect::top
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/struct_video_codec_params-members.html b/docs/html/struct_video_codec_params-members.html deleted file mode 100644 index b43d185a4..000000000 --- a/docs/html/struct_video_codec_params-members.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - -Olive: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    VideoCodecParams Member List
    -
    -
    - -

    This is the complete list of members for VideoCodecParams, including all inherited members.

    - - -
    pix_fmtVideoCodecParams
    - - - - diff --git a/docs/html/struct_video_codec_params.html b/docs/html/struct_video_codec_params.html deleted file mode 100644 index 930b58772..000000000 --- a/docs/html/struct_video_codec_params.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Olive: VideoCodecParams Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    VideoCodecParams Struct Reference
    -
    -
    - -

    #include <exportthread.h>

    - - - - -

    -Public Attributes

    int pix_fmt
     
    -

    Member Data Documentation

    - -

    ◆ pix_fmt

    - -
    -
    - - - - -
    int VideoCodecParams::pix_fmt
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/docs/html/sync_off.png b/docs/html/sync_off.png deleted file mode 100644 index 3b443fc62..000000000 Binary files a/docs/html/sync_off.png and /dev/null differ diff --git a/docs/html/sync_on.png b/docs/html/sync_on.png deleted file mode 100644 index e08320fb6..000000000 Binary files a/docs/html/sync_on.png and /dev/null differ diff --git a/docs/html/tab_a.png b/docs/html/tab_a.png deleted file mode 100644 index 3b725c41c..000000000 Binary files a/docs/html/tab_a.png and /dev/null differ diff --git a/docs/html/tab_b.png b/docs/html/tab_b.png deleted file mode 100644 index e2b4a8638..000000000 Binary files a/docs/html/tab_b.png and /dev/null differ diff --git a/docs/html/tab_h.png b/docs/html/tab_h.png deleted file mode 100644 index fd5cb7054..000000000 Binary files a/docs/html/tab_h.png and /dev/null differ diff --git a/docs/html/tab_s.png b/docs/html/tab_s.png deleted file mode 100644 index ab478c95b..000000000 Binary files a/docs/html/tab_s.png and /dev/null differ diff --git a/docs/html/tabs.css b/docs/html/tabs.css deleted file mode 100644 index 8ea7d5496..000000000 --- a/docs/html/tabs.css +++ /dev/null @@ -1 +0,0 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file diff --git a/docs/html/texteditdialog_8cpp.html b/docs/html/texteditdialog_8cpp.html deleted file mode 100644 index f9dbfb2c5..000000000 --- a/docs/html/texteditdialog_8cpp.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Olive: dialogs/texteditdialog.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    texteditdialog.cpp File Reference
    -
    -
    -
    #include "texteditdialog.h"
    -#include <QVBoxLayout>
    -#include <QDialogButtonBox>
    -
    - - - - diff --git a/docs/html/texteditdialog_8h.html b/docs/html/texteditdialog_8h.html deleted file mode 100644 index f476fd3f9..000000000 --- a/docs/html/texteditdialog_8h.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: dialogs/texteditdialog.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    texteditdialog.h File Reference
    -
    -
    -
    #include <QDialog>
    -#include <QPlainTextEdit>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  TextEditDialog
     
    -
    - - - - diff --git a/docs/html/texteditdialog_8h_source.html b/docs/html/texteditdialog_8h_source.html deleted file mode 100644 index 34187c215..000000000 --- a/docs/html/texteditdialog_8h_source.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: dialogs/texteditdialog.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    texteditdialog.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef TEXTEDITDIALOG_H
    22 #define TEXTEDITDIALOG_H
    23 
    24 #include <QDialog>
    25 #include <QPlainTextEdit>
    26 
    27 class TextEditDialog : public QDialog {
    28  Q_OBJECT
    29 public:
    30  TextEditDialog(QWidget* parent = nullptr, const QString& s = nullptr);
    31  const QString& get_string();
    32 private slots:
    33  void save();
    34  void cancel();
    35 private:
    36  QString result_str;
    37  QPlainTextEdit* textEdit;
    38 };
    39 
    40 #endif // TEXTEDITDIALOG_H
    TextEditDialog(QWidget *parent=nullptr, const QString &s=nullptr)
    Definition: texteditdialog.cpp:26
    -
    void cancel()
    Definition: texteditdialog.cpp:52
    -
    QString result_str
    Definition: texteditdialog.h:36
    -
    QPlainTextEdit * textEdit
    Definition: texteditdialog.h:37
    -
    const QString & get_string()
    Definition: texteditdialog.cpp:43
    -
    void save()
    Definition: texteditdialog.cpp:47
    -
    Definition: texteditdialog.h:27
    -
    - - - - diff --git a/docs/html/texteditex_8cpp.html b/docs/html/texteditex_8cpp.html deleted file mode 100644 index 3fe9efea2..000000000 --- a/docs/html/texteditex_8cpp.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Olive: ui/texteditex.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    texteditex.cpp File Reference
    -
    -
    -
    #include "texteditex.h"
    -#include <QDebug>
    -
    - - - - diff --git a/docs/html/texteditex_8h.html b/docs/html/texteditex_8h.html deleted file mode 100644 index 0ef4daca7..000000000 --- a/docs/html/texteditex_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/texteditex.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    texteditex.h File Reference
    -
    -
    -
    #include <QTextEdit>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  TextEditEx
     
    -
    - - - - diff --git a/docs/html/texteditex_8h_source.html b/docs/html/texteditex_8h_source.html deleted file mode 100644 index b9277d0bf..000000000 --- a/docs/html/texteditex_8h_source.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: ui/texteditex.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    texteditex.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef TEXTEDITEX_H
    22 #define TEXTEDITEX_H
    23 
    24 #include <QTextEdit>
    25 
    26 class TextEditEx : public QTextEdit {
    27  Q_OBJECT
    28 public:
    29  TextEditEx(QWidget* parent = 0);
    30  void setPlainTextEx(const QString &text);
    31  const QString& getPreviousValue();
    32  const QString& getPlainTextEx();
    33 signals:
    34  void updateSelf();
    35 private slots:
    36  void updateInternals();
    37  void updateText();
    38 private:
    39  QString previousText;
    40  QString text;
    41 };
    42 
    43 #endif // TEXTEDITEX_H
    void updateText()
    Definition: texteditex.cpp:50
    -
    void updateInternals()
    Definition: texteditex.cpp:45
    -
    const QString & getPlainTextEx()
    Definition: texteditex.cpp:31
    -
    QString text
    Definition: texteditex.h:40
    -
    QString previousText
    Definition: texteditex.h:39
    -
    void updateSelf()
    -
    Definition: texteditex.h:26
    -
    void setPlainTextEx(const QString &text)
    Definition: texteditex.cpp:35
    -
    TextEditEx(QWidget *parent=0)
    Definition: texteditex.cpp:25
    -
    const QString & getPreviousValue()
    Definition: texteditex.cpp:41
    -
    - - - - diff --git a/docs/html/texteffect_8cpp.html b/docs/html/texteffect_8cpp.html deleted file mode 100644 index f7c42d4cd..000000000 --- a/docs/html/texteffect_8cpp.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - -Olive: effects/internal/texteffect.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    texteffect.cpp File Reference
    -
    -
    -
    #include "texteffect.h"
    -#include <QGridLayout>
    -#include <QLabel>
    -#include <QOpenGLTexture>
    -#include <QTextEdit>
    -#include <QPainter>
    -#include <QPushButton>
    -#include <QColorDialog>
    -#include <QFontDatabase>
    -#include <QComboBox>
    -#include <QWidget>
    -#include <QtMath>
    -#include <QMenu>
    -#include "ui/labelslider.h"
    -#include "ui/collapsiblewidget.h"
    -#include "project/clip.h"
    -#include "project/sequence.h"
    -#include "ui/comboboxex.h"
    -#include "ui/colorbutton.h"
    -#include "ui/fontcombobox.h"
    -#include "dialogs/texteditdialog.h"
    -#include "io/config.h"
    -#include "mainwindow.h"
    -
    - - - -

    -Functions

    void blurred2 (QImage &result, const QRect &rect, int radius, bool alphaOnly=false)
     
    -

    Function Documentation

    - -

    ◆ blurred2()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void blurred2 (QImage & result,
    const QRect & rect,
    int radius,
    bool alphaOnly = false 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/texteffect_8h.html b/docs/html/texteffect_8h.html deleted file mode 100644 index 5654ee211..000000000 --- a/docs/html/texteffect_8h.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: effects/internal/texteffect.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    texteffect.h File Reference
    -
    -
    -
    #include "project/effect.h"
    -#include <QFont>
    -#include <QImage>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  TextEffect
     
    -
    - - - - diff --git a/docs/html/texteffect_8h_source.html b/docs/html/texteffect_8h_source.html deleted file mode 100644 index 67dbf1d77..000000000 --- a/docs/html/texteffect_8h_source.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Olive: effects/internal/texteffect.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    texteffect.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef TEXTEFFECT_H
    22 #define TEXTEFFECT_H
    23 
    24 #include "project/effect.h"
    25 
    26 #include <QFont>
    27 #include <QImage>
    28 
    29 class TextEffect : public Effect {
    30  Q_OBJECT
    31 public:
    32  TextEffect(ClipPtr c, const EffectMeta *em);
    33  void redraw(double timecode);
    34 
    42 
    46 
    52 private slots:
    53  void outline_enable(bool);
    54  void shadow_enable(bool);
    55  void text_edit_menu();
    56  void open_text_edit();
    57 private:
    58  QFont font;
    59 };
    60 
    61 #endif // TEXTEFFECT_H
    void text_edit_menu()
    Definition: texteffect.cpp:324
    -
    EffectField * shadow_color
    Definition: texteffect.h:49
    -
    TextEffect(ClipPtr c, const EffectMeta *em)
    Definition: texteffect.cpp:47
    -
    EffectField * size_val
    Definition: texteffect.h:36
    -
    EffectField * text_val
    Definition: texteffect.h:35
    -
    Definition: effect.h:169
    - -
    Definition: effect.h:50
    -
    EffectField * shadow_opacity
    Definition: texteffect.h:51
    -
    void redraw(double timecode)
    Definition: texteffect.cpp:180
    -
    QFont font
    Definition: texteffect.h:58
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    void open_text_edit()
    Definition: texteffect.cpp:332
    -
    EffectField * outline_bool
    Definition: texteffect.h:43
    -
    EffectField * outline_color
    Definition: texteffect.h:45
    -
    EffectField * shadow_distance
    Definition: texteffect.h:48
    -
    Definition: texteffect.h:29
    -
    EffectField * shadow_bool
    Definition: texteffect.h:47
    -
    EffectField * word_wrap_field
    Definition: texteffect.h:41
    -
    EffectField * shadow_softness
    Definition: texteffect.h:50
    -
    void shadow_enable(bool)
    Definition: texteffect.cpp:315
    -
    void outline_enable(bool)
    Definition: texteffect.cpp:342
    -
    EffectField * set_color_button
    Definition: texteffect.h:37
    -
    EffectField * halign_field
    Definition: texteffect.h:39
    -
    Definition: effectfield.h:43
    -
    EffectField * set_font_combobox
    Definition: texteffect.h:38
    -
    EffectField * outline_width
    Definition: texteffect.h:44
    -
    EffectField * valign_field
    Definition: texteffect.h:40
    -
    - - - - diff --git a/docs/html/timecodeeffect_8cpp.html b/docs/html/timecodeeffect_8cpp.html deleted file mode 100644 index 48c952e16..000000000 --- a/docs/html/timecodeeffect_8cpp.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Olive: effects/internal/timecodeeffect.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    timecodeeffect.cpp File Reference
    -
    -
    -
    #include "timecodeeffect.h"
    -#include <QGridLayout>
    -#include <QLabel>
    -#include <QOpenGLTexture>
    -#include <QTextEdit>
    -#include <QPainter>
    -#include <QPushButton>
    -#include <QColorDialog>
    -#include <QFontDatabase>
    -#include <QComboBox>
    -#include <QWidget>
    -#include <QtMath>
    -#include <QDebug>
    -#include "ui/labelslider.h"
    -#include "ui/collapsiblewidget.h"
    -#include "project/clip.h"
    -#include "project/sequence.h"
    -#include "panels/viewer.h"
    -#include "ui/comboboxex.h"
    -#include "ui/colorbutton.h"
    -#include "ui/fontcombobox.h"
    -#include "io/config.h"
    -#include "playback/playback.h"
    -
    - - - - diff --git a/docs/html/timecodeeffect_8h.html b/docs/html/timecodeeffect_8h.html deleted file mode 100644 index 28c63aa4c..000000000 --- a/docs/html/timecodeeffect_8h.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: effects/internal/timecodeeffect.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    timecodeeffect.h File Reference
    -
    -
    -
    #include "project/effect.h"
    -#include <QFont>
    -#include <QImage>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  TimecodeEffect
     
    -
    - - - - diff --git a/docs/html/timecodeeffect_8h_source.html b/docs/html/timecodeeffect_8h_source.html deleted file mode 100644 index ebd97a506..000000000 --- a/docs/html/timecodeeffect_8h_source.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Olive: effects/internal/timecodeeffect.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    timecodeeffect.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef TIMECODEEFFECT_H
    22 #define TIMECODEEFFECT_H
    23 
    24 #include "project/effect.h"
    25 
    26 #include <QFont>
    27 #include <QImage>
    28 
    29 class TimecodeEffect : public Effect {
    30  Q_OBJECT
    31 public:
    32  TimecodeEffect(ClipPtr c, const EffectMeta *em);
    33  void redraw(double timecode);
    42 
    43 private:
    44  QFont font;
    46 };
    47 
    48 #endif // TIMECODEEFFECT_H
    EffectField * offset_y_val
    Definition: timecodeeffect.h:39
    -
    TimecodeEffect(ClipPtr c, const EffectMeta *em)
    Definition: timecodeeffect.cpp:47
    -
    Definition: effect.h:169
    - -
    Definition: effect.h:50
    -
    EffectField * tc_select
    Definition: timecodeeffect.h:41
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    EffectField * offset_x_val
    Definition: timecodeeffect.h:38
    -
    void redraw(double timecode)
    Definition: timecodeeffect.cpp:83
    -
    QFont font
    Definition: timecodeeffect.h:44
    -
    Definition: timecodeeffect.h:29
    -
    QString display_timecode
    Definition: timecodeeffect.h:45
    -
    EffectField * prepend_text
    Definition: timecodeeffect.h:40
    -
    EffectField * bg_alpha
    Definition: timecodeeffect.h:37
    -
    EffectField * color_bg_val
    Definition: timecodeeffect.h:36
    -
    Definition: effectfield.h:43
    -
    EffectField * color_val
    Definition: timecodeeffect.h:35
    -
    EffectField * scale_val
    Definition: timecodeeffect.h:34
    -
    - - - - diff --git a/docs/html/timeline_8cpp.html b/docs/html/timeline_8cpp.html deleted file mode 100644 index d46dc37de..000000000 --- a/docs/html/timeline_8cpp.html +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - -Olive: panels/timeline.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    timeline.cpp File Reference
    -
    -
    -
    #include "timeline.h"
    -#include "oliveglobal.h"
    -#include "panels/panels.h"
    -#include "project/projectelements.h"
    -#include "ui/timelinewidget.h"
    -#include "ui/viewerwidget.h"
    -#include "playback/audio.h"
    -#include "playback/cacher.h"
    -#include "playback/playback.h"
    -#include "io/config.h"
    -#include "io/clipboard.h"
    -#include "ui/timelineheader.h"
    -#include "ui/resizablescrollbar.h"
    -#include "ui/audiomonitor.h"
    -#include "ui/flowlayout.h"
    -#include "mainwindow.h"
    -#include "debug.h"
    -#include <QTime>
    -#include <QScrollBar>
    -#include <QtMath>
    -#include <QGuiApplication>
    -#include <QScreen>
    -#include <QPainter>
    -#include <QMenu>
    -#include <QInputDialog>
    -#include <QMessageBox>
    -#include <QCheckBox>
    -#include <QPushButton>
    -#include <QHBoxLayout>
    -#include <QSplitter>
    -#include <QStatusBar>
    -
    - - - - - - - - - - - - - -

    -Functions

    void ripple_clips (ComboAction *ca, SequencePtr s, long point, long length, const QVector< int > &ignore)
     
    bool is_clip_selected (ClipPtr clip, bool containing)
     
    bool selection_contains_transition (const Selection &s, ClipPtr c, int type)
     
    long getFrameFromScreenPoint (double zoom, int x)
     
    int getScreenPointFromFrame (double zoom, long frame)
     
    void move_clip (ComboAction *ca, ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool verify_transitions, bool relative)
     
    -

    Function Documentation

    - -

    ◆ getFrameFromScreenPoint()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    long getFrameFromScreenPoint (double zoom,
    int x 
    )
    -
    - -
    -
    - -

    ◆ getScreenPointFromFrame()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    int getScreenPointFromFrame (double zoom,
    long frame 
    )
    -
    - -
    -
    - -

    ◆ is_clip_selected()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    bool is_clip_selected (ClipPtr clip,
    bool containing 
    )
    -
    - -
    -
    - -

    ◆ move_clip()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void move_clip (ComboActionca,
    ClipPtr c,
    long iin,
    long iout,
    long iclip_in,
    int itrack,
    bool verify_transitions,
    bool relative 
    )
    -
    - -
    -
    - -

    ◆ ripple_clips()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void ripple_clips (ComboActionca,
    SequencePtr s,
    long point,
    long length,
    const QVector< int > & ignore 
    )
    -
    - -
    -
    - -

    ◆ selection_contains_transition()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    bool selection_contains_transition (const Selections,
    ClipPtr c,
    int type 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/timeline_8h.html b/docs/html/timeline_8h.html deleted file mode 100644 index 92306a0f4..000000000 --- a/docs/html/timeline_8h.html +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - -Olive: panels/timeline.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    timeline.h File Reference
    -
    -
    -
    #include <QVector>
    -#include <QTime>
    -#include <QPushButton>
    -#include "ui/timelinewidget.h"
    -#include "ui/timelinetools.h"
    -#include "project/selection.h"
    -#include "project/clip.h"
    -#include "project/undo.h"
    -#include "ui/timelineheader.h"
    -#include "ui/resizablescrollbar.h"
    -#include "ui/audiomonitor.h"
    -#include "ui/panel.h"
    -
    -

    Go to the source code of this file.

    - - - - - - -

    -Classes

    struct  Ghost
     
    class  Timeline
     
    - - - - - -

    -Enumerations

    enum  CreateObjects {
    -  ADD_OBJ_TITLE, -ADD_OBJ_SOLID, -ADD_OBJ_BARS, -ADD_OBJ_TONE, -
    -  ADD_OBJ_NOISE, -ADD_OBJ_AUDIO -
    - }
     
    enum  TrimType { TRIM_NONE, -TRIM_IN, -TRIM_OUT - }
     
    - - - - - - - - - - - - - -

    -Functions

    bool is_clip_selected (ClipPtr clip, bool containing)
     
    int getScreenPointFromFrame (double zoom, long frame)
     
    long getFrameFromScreenPoint (double zoom, int x)
     
    bool selection_contains_transition (const Selection &s, ClipPtr c, int type)
     
    void move_clip (ComboAction *ca, ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool verify_transitions=true, bool relative=false)
     
    void ripple_clips (ComboAction *ca, SequencePtr s, long point, long length, const QVector< int > &ignore=QVector< int >())
     
    -

    Enumeration Type Documentation

    - -

    ◆ CreateObjects

    - -
    -
    - - - - -
    enum CreateObjects
    -
    - - - - - - - -
    Enumerator
    ADD_OBJ_TITLE 
    ADD_OBJ_SOLID 
    ADD_OBJ_BARS 
    ADD_OBJ_TONE 
    ADD_OBJ_NOISE 
    ADD_OBJ_AUDIO 
    - -
    -
    - -

    ◆ TrimType

    - -
    -
    - - - - -
    enum TrimType
    -
    - - - - -
    Enumerator
    TRIM_NONE 
    TRIM_IN 
    TRIM_OUT 
    - -
    -
    -

    Function Documentation

    - -

    ◆ getFrameFromScreenPoint()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    long getFrameFromScreenPoint (double zoom,
    int x 
    )
    -
    - -
    -
    - -

    ◆ getScreenPointFromFrame()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    int getScreenPointFromFrame (double zoom,
    long frame 
    )
    -
    - -
    -
    - -

    ◆ is_clip_selected()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    bool is_clip_selected (ClipPtr clip,
    bool containing 
    )
    -
    - -
    -
    - -

    ◆ move_clip()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void move_clip (ComboActionca,
    ClipPtr c,
    long iin,
    long iout,
    long iclip_in,
    int itrack,
    bool verify_transitions = true,
    bool relative = false 
    )
    -
    - -
    -
    - -

    ◆ ripple_clips()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void ripple_clips (ComboActionca,
    SequencePtr s,
    long point,
    long length,
    const QVector< int > & ignore = QVector< int >() 
    )
    -
    - -
    -
    - -

    ◆ selection_contains_transition()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    bool selection_contains_transition (const Selections,
    ClipPtr c,
    int type 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/timeline_8h_source.html b/docs/html/timeline_8h_source.html deleted file mode 100644 index 3b7474855..000000000 --- a/docs/html/timeline_8h_source.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - -Olive: panels/timeline.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    timeline.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef TIMELINE_H
    22 #define TIMELINE_H
    23 
    24 #include <QVector>
    25 #include <QTime>
    26 #include <QPushButton>
    27 
    28 #include "ui/timelinewidget.h"
    29 #include "ui/timelinetools.h"
    30 #include "project/selection.h"
    31 #include "project/clip.h"
    32 #include "project/undo.h"
    33 #include "ui/timelineheader.h"
    34 #include "ui/resizablescrollbar.h"
    35 #include "ui/audiomonitor.h"
    36 #include "ui/panel.h"
    37 
    45 };
    46 
    47 enum TrimType {
    51 };
    52 
    53 bool is_clip_selected(ClipPtr clip, bool containing);
    54 int getScreenPointFromFrame(double zoom, long frame);
    55 long getFrameFromScreenPoint(double zoom, int x);
    56 bool selection_contains_transition(const Selection& s, ClipPtr c, int type);
    57 void move_clip(ComboAction *ca, ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool verify_transitions = true, bool relative = false);
    58 void ripple_clips(ComboAction *ca, SequencePtr s, long point, long length, const QVector<int>& ignore = QVector<int>());
    59 
    60 struct Ghost {
    61  int clip;
    62  long in;
    63  long out;
    64  int track;
    65  long clip_in;
    66 
    67  long old_in;
    68  long old_out;
    69  int old_track;
    71 
    72  // importing variables
    75 
    76  // other variables
    80 
    81  // transition trimming
    83 };
    84 
    85 class Timeline : public Panel
    86 {
    87  Q_OBJECT
    88 public:
    89  explicit Timeline(QWidget *parent = nullptr);
    90  virtual ~Timeline() override;
    91 
    92  bool focused();
    93  void multiply_zoom(double m);
    94  void copy(bool del);
    95  ClipPtr split_clip(ComboAction* ca, bool transitions, int p, long frame);
    96  ClipPtr split_clip(ComboAction* ca, bool transitions, int p, long frame, long post_in);
    97  bool split_selection(ComboAction* ca);
    98  bool split_all_clips_at_point(ComboAction *ca, long point);
    99  bool split_clip_and_relink(ComboAction* ca, int clip, long frame, bool relink);
    100  void clean_up_selections(QVector<Selection>& areas);
    101  void deselect_area(long in, long out, int track);
    102  void delete_areas_and_relink(ComboAction *ca, QVector<Selection>& areas, bool deselect_areas);
    103  void relink_clips_using_ids(QVector<int>& old_clips, QVector<ClipPtr>& new_clips);
    104  void update_sequence();
    105 
    106  void edit_to_point_internal(bool in, bool ripple);
    107  void delete_in_out_internal(bool ripple);
    108 
    109  void create_ghosts_from_media(SequencePtr seq, long entry_point, QVector<Media *> &media_list);
    111 
    112  int getTimelineScreenPointFromFrame(long frame);
    114  int getDisplayScreenPointFromFrame(long frame);
    115  long getDisplayFrameFromScreenPoint(int x);
    116 
    117  int get_snap_range();
    118  bool snap_to_point(long point, long* l);
    119  bool snap_to_timeline(long* l, bool use_playhead, bool use_markers, bool use_workarea);
    120  void set_marker();
    121 
    122  // shared information
    123  int tool;
    126  double zoom;
    130  void update_effect_controls();
    132  double old_zoom;
    133 
    134  int GetTrackHeight(int track);
    135  void SetTrackHeight(int track, int height);
    136 
    137  // snapping
    138  bool snapping;
    139  bool snapped;
    141 
    142  // selecting functions
    143  bool selecting;
    145  void delete_selection(QVector<Selection> &selections, bool ripple);
    146  void select_all();
    150 
    151  // moving
    154  QVector<Ghost> ghosts;
    158 
    159  // trimming
    163 
    164  // splitting
    165  bool splitting;
    166  QVector<int> split_tracks;
    167  QVector<int> split_cache;
    168 
    169  // importing
    170  bool importing;
    172 
    173  // creating variables
    174  bool creating;
    176 
    177  // transition variables
    184 
    185  // hand tool variables
    189 
    191 
    195 
    196  QPushButton* toolArrowButton;
    197  QPushButton* toolEditButton;
    198  QPushButton* toolRippleButton;
    199  QPushButton* toolRazorButton;
    200  QPushButton* toolSlipButton;
    201  QPushButton* toolSlideButton;
    202  QPushButton* toolHandButton;
    203  QPushButton* toolTransitionButton;
    204  QPushButton* snappingButton;
    205 
    206  void scroll_to_frame(long frame);
    207  void select_from_playhead();
    208 
    209  bool can_ripple_empty_space(long frame, int track);
    210 
    211 protected:
    212  virtual void resizeEvent(QResizeEvent *event) override;
    213  virtual void Retranslate() override;
    214 public slots:
    215  void paste(bool insert = false);
    216  void repaint_timeline();
    217  void toggle_show_all();
    218  void deselect();
    219  void toggle_links();
    220  void split_at_playhead();
    221  void ripple_delete();
    224 
    225  void delete_inout();
    226  void ripple_delete_inout();
    227 
    228  void ripple_to_in_point();
    229  void ripple_to_out_point();
    230  void edit_to_in_point();
    231  void edit_to_out_point();
    232 
    233  void IncreaseTrackHeight();
    234  void DecreaseTrackHeight();
    235 
    236  void previous_cut();
    237  void next_cut();
    238 
    239  void add_transition();
    240 
    241  void nest();
    242 
    243  void zoom_in();
    244  void zoom_out();
    245 
    246 private slots:
    247  void snapping_clicked(bool checked);
    248  void add_btn_click();
    249  void add_menu_item(QAction*);
    250  void setScroll(int);
    251  void record_btn_click();
    252  void transition_tool_click();
    253  void transition_menu_select(QAction*);
    254  void resize_move(double d);
    255  void set_tool();
    256 
    257 private:
    258  void set_zoom_value(double v);
    259  QVector<QPushButton*> tool_buttons;
    260  void decheck_tool_buttons(QObject* sender);
    261  void set_tool(int tool);
    262  int scroll;
    263  void set_sb_max();
    264  void UpdateTitle();
    265 
    266  void setup_ui();
    267 
    268  // ripple delete empty space variables
    271 
    272  QVector<TimelineTrackHeight> track_heights;
    273 
    274  QWidget* timeline_area;
    277  QWidget* editAreas;
    278  QScrollBar* videoScrollbar;
    279  QScrollBar* audioScrollbar;
    280  QPushButton* zoomInButton;
    281  QPushButton* zoomOutButton;
    282  QPushButton* recordButton;
    283  QPushButton* addButton;
    285 };
    286 
    287 #endif // TIMELINE_H
    virtual void Retranslate() override
    Definition: timeline.cpp:118
    -
    bool can_ripple_empty_space(long frame, int track)
    Definition: timeline.cpp:570
    -
    TrimType trim_type
    Definition: timeline.h:161
    -
    void ripple_delete_inout()
    Definition: timeline.cpp:1656
    -
    bool is_clip_selected(ClipPtr clip, bool containing)
    Definition: timeline.cpp:827
    -
    void add_clips_from_ghosts(ComboAction *ca, SequencePtr s)
    Definition: timeline.cpp:295
    -
    void select_from_playhead()
    Definition: timeline.cpp:554
    -
    void ripple_clips(ComboAction *ca, SequencePtr s, long point, long length, const QVector< int > &ignore=QVector< int >())
    Definition: timeline.cpp:174
    -
    bool showing_all
    Definition: timeline.h:131
    -
    void toggle_show_all()
    Definition: timeline.cpp:178
    -
    bool video_ghosts
    Definition: timeline.h:155
    -
    double old_zoom
    Definition: timeline.h:132
    -
    void set_sb_max()
    Definition: timeline.cpp:1838
    -
    void transition_menu_select(QAction *)
    Definition: timeline.cpp:1819
    -
    int transition_tool_side
    Definition: timeline.h:183
    -
    TimelineWidget * video_area
    Definition: timeline.h:275
    -
    void decheck_tool_buttons(QObject *sender)
    Definition: timeline.cpp:774
    -
    void ripple_to_in_point()
    Definition: timeline.cpp:1660
    -
    bool transition_tool_proc
    Definition: timeline.h:179
    - -
    Definition: selection.h:24
    - -
    Definition: timeline.h:44
    -
    const EffectMeta * transition_tool_meta
    Definition: timeline.h:182
    -
    void set_tool()
    Definition: timeline.cpp:2104
    -
    long in
    Definition: timeline.h:62
    -
    long getFrameFromScreenPoint(double zoom, int x)
    Definition: timeline.cpp:1706
    -
    QRect rect_select_rect
    Definition: timeline.h:149
    -
    bool selecting
    Definition: timeline.h:143
    -
    void toggle_links()
    Definition: timeline.cpp:1676
    -
    QVector< int > split_cache
    Definition: timeline.h:167
    -
    QWidget * tool_button_widget
    Definition: timeline.h:284
    -
    void repaint_timeline()
    Definition: timeline.cpp:495
    -
    void create_ghosts_from_media(SequencePtr seq, long entry_point, QVector< Media * > &media_list)
    Definition: timeline.cpp:190
    -
    QPushButton * zoomOutButton
    Definition: timeline.h:281
    -
    bool focused()
    Definition: timeline.cpp:491
    -
    int selection_offset
    Definition: timeline.h:144
    -
    bool transition_tool_init
    Definition: timeline.h:178
    -
    void resize_move(double d)
    Definition: timeline.cpp:1834
    -
    bool selection_contains_transition(const Selection &s, ClipPtr c, int type)
    Definition: timeline.cpp:1000
    -
    void add_menu_item(QAction *)
    Definition: timeline.cpp:1761
    -
    Definition: timeline.h:49
    -
    void nest()
    Definition: timeline.cpp:409
    -
    int clip
    Definition: timeline.h:61
    -
    bool snapped
    Definition: timeline.h:139
    -
    long old_out
    Definition: timeline.h:68
    -
    QPushButton * toolEditButton
    Definition: timeline.h:197
    -
    void record_btn_click()
    Definition: timeline.cpp:1772
    -
    The ComboAction class.
    Definition: comboaction.h:19
    -
    void scroll_to_frame(long frame)
    Definition: timeline.cpp:550
    -
    QPushButton * zoomInButton
    Definition: timeline.h:280
    - -
    QVector< TimelineTrackHeight > track_heights
    Definition: timeline.h:272
    -
    bool creating
    Definition: timeline.h:174
    -
    int old_track
    Definition: timeline.h:69
    -
    Definition: audiomonitor.h:27
    -
    void ripple_delete()
    Definition: timeline.cpp:1517
    -
    void UpdateTitle()
    Definition: timeline.cpp:1842
    -
    void edit_to_in_point()
    Definition: timeline.cpp:1668
    -
    int drag_y_start
    Definition: timeline.h:188
    -
    long rc_ripple_max
    Definition: timeline.h:270
    -
    AudioMonitor * audio_monitor
    Definition: timeline.h:193
    -
    Definition: effect.h:50
    -
    bool moving_proc
    Definition: timeline.h:153
    -
    Definition: timelinewidget.h:59
    -
    virtual ~Timeline() override
    Definition: timeline.cpp:116
    -
    long getDisplayFrameFromScreenPoint(int x)
    -
    Definition: timeline.h:85
    -
    long old_clip_in
    Definition: timeline.h:70
    -
    void toggle_enable_on_selected_clips()
    Definition: timeline.cpp:663
    -
    void SetTrackHeight(int track, int height)
    Definition: timeline.cpp:797
    -
    void delete_areas_and_relink(ComboAction *ca, QVector< Selection > &areas, bool deselect_areas)
    Definition: timeline.cpp:1014
    -
    void transition_tool_click()
    Definition: timeline.cpp:1787
    -
    void clean_up_selections(QVector< Selection > &areas)
    Definition: timeline.cpp:970
    -
    QWidget * timeline_area
    Definition: timeline.h:274
    -
    void edit_to_out_point()
    Definition: timeline.cpp:1672
    - -
    Definition: timelineheader.h:31
    -
    QPushButton * recordButton
    Definition: timeline.h:282
    -
    long rc_ripple_min
    Definition: timeline.h:269
    -
    int transition_select
    Definition: timeline.h:162
    -
    void zoom_in()
    Definition: timeline.cpp:780
    -
    Definition: media.h:42
    -
    bool snapping
    Definition: timeline.h:138
    -
    Media * media
    Definition: timeline.h:73
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    QScrollBar * audioScrollbar
    Definition: timeline.h:279
    - -
    Definition: timeline.h:39
    - -
    void paste(bool insert=false)
    Definition: timeline.cpp:1158
    -
    void delete_in_out_internal(bool ripple)
    Definition: timeline.cpp:642
    -
    long clip_in
    Definition: timeline.h:65
    -
    void edit_to_point_internal(bool in, bool ripple)
    Definition: timeline.cpp:1305
    -
    int media_stream
    Definition: timeline.h:74
    -
    QPushButton * toolSlipButton
    Definition: timeline.h:200
    -
    int transition_tool_close_clip
    Definition: timeline.h:181
    -
    Definition: timeline.h:43
    -
    void previous_cut()
    Definition: timeline.cpp:136
    -
    bool block_repaints
    Definition: timeline.h:190
    -
    bool moving_init
    Definition: timeline.h:152
    -
    int GetTrackHeight(int track)
    Definition: timeline.cpp:788
    -
    bool split_clip_and_relink(ComboAction *ca, int clip, long frame, bool relink)
    Definition: timeline.cpp:919
    -
    Definition: panel.h:26
    -
    Definition: timeline.h:50
    -
    QPushButton * toolRippleButton
    Definition: timeline.h:198
    -
    int transition_tool_open_clip
    Definition: timeline.h:180
    -
    bool rect_select_init
    Definition: timeline.h:147
    -
    QPushButton * toolSlideButton
    Definition: timeline.h:201
    -
    int getScreenPointFromFrame(double zoom, long frame)
    Definition: timeline.cpp:1714
    -
    bool splitting
    Definition: timeline.h:165
    -
    int track
    Definition: timeline.h:64
    -
    int cursor_track
    Definition: timeline.h:125
    -
    Definition: timeline.h:48
    -
    int scroll
    Definition: timeline.h:262
    -
    void update_sequence()
    Definition: timeline.cpp:471
    -
    int get_snap_range()
    Definition: timeline.cpp:487
    -
    void set_marker()
    Definition: timeline.cpp:1619
    -
    long getTimelineFrameFromScreenPoint(int x)
    Definition: timeline.cpp:1718
    -
    QVector< QPushButton * > tool_buttons
    Definition: timeline.h:259
    -
    int trim_target
    Definition: timeline.h:160
    -
    int tool
    Definition: timeline.h:123
    -
    Timeline(QWidget *parent=nullptr)
    Definition: timeline.cpp:57
    -
    TrimType trim_type
    Definition: timeline.h:79
    -
    void delete_inout()
    Definition: timeline.cpp:1652
    -
    Definition: timeline.h:42
    -
    QVector< Ghost > ghosts
    Definition: timeline.h:154
    -
    void ripple_to_out_point()
    Definition: timeline.cpp:1664
    -
    Definition: timeline.h:41
    -
    long media_length
    Definition: timeline.h:78
    -
    QWidget * editAreas
    Definition: timeline.h:277
    -
    int creating_object
    Definition: timeline.h:175
    -
    void DecreaseTrackHeight()
    Definition: timeline.cpp:819
    -
    int drag_track_start
    Definition: timeline.h:129
    -
    long ghost_length
    Definition: timeline.h:77
    -
    double zoom
    Definition: timeline.h:126
    - -
    std::shared_ptr< Transition > TransitionPtr
    Definition: transition.h:42
    -
    bool move_insert
    Definition: timeline.h:157
    -
    void zoom_out()
    Definition: timeline.cpp:784
    -
    void deselect_area(long in, long out, int track)
    Definition: timeline.cpp:1529
    -
    bool importing
    Definition: timeline.h:170
    -
    Definition: timeline.h:40
    -
    TimelineWidget * audio_area
    Definition: timeline.h:276
    -
    long out
    Definition: timeline.h:63
    -
    std::shared_ptr< Sequence > SequencePtr
    Definition: clip.h:48
    -
    CreateObjects
    Definition: timeline.h:38
    -
    bool hand_moving
    Definition: timeline.h:186
    -
    QPushButton * toolHandButton
    Definition: timeline.h:202
    -
    ClipPtr split_clip(ComboAction *ca, bool transitions, int p, long frame)
    Definition: timeline.cpp:842
    -
    int drag_x_start
    Definition: timeline.h:187
    -
    long old_in
    Definition: timeline.h:67
    - -
    void update_effect_controls()
    -
    TrimType
    Definition: timeline.h:47
    -
    void select_all()
    Definition: timeline.cpp:533
    -
    Definition: resizablescrollbar.h:26
    - -
    void set_zoom_value(double v)
    Definition: timeline.cpp:746
    -
    Definition: timeline.h:60
    -
    void next_cut()
    Definition: timeline.cpp:154
    -
    long drag_frame_start
    Definition: timeline.h:128
    -
    QPushButton * toolArrowButton
    Definition: timeline.h:196
    -
    bool split_selection(ComboAction *ca)
    Definition: timeline.cpp:1414
    -
    bool rect_select_proc
    Definition: timeline.h:148
    -
    void move_clip(ComboAction *ca, ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool verify_transitions=true, bool relative=false)
    Definition: timeline.cpp:2072
    -
    QScrollBar * videoScrollbar
    Definition: timeline.h:278
    -
    void relink_clips_using_ids(QVector< int > &old_clips, QVector< ClipPtr > &new_clips)
    Definition: timeline.cpp:1141
    -
    void add_btn_click()
    Definition: timeline.cpp:1726
    -
    void delete_selection(QVector< Selection > &selections, bool ripple)
    Definition: timeline.cpp:683
    -
    void setScroll(int)
    Definition: timeline.cpp:1766
    -
    int getTimelineScreenPointFromFrame(long frame)
    Definition: timeline.cpp:1722
    -
    long cursor_frame
    Definition: timeline.h:124
    -
    bool split_all_clips_at_point(ComboAction *ca, long point)
    Definition: timeline.cpp:1459
    -
    bool audio_ghosts
    Definition: timeline.h:156
    -
    void copy(bool del)
    Definition: timeline.cpp:1083
    -
    QPushButton * snappingButton
    Definition: timeline.h:204
    -
    QPushButton * toolRazorButton
    Definition: timeline.h:199
    -
    void multiply_zoom(double m)
    Definition: timeline.cpp:769
    -
    TimelineHeader * headers
    Definition: timeline.h:192
    -
    TransitionPtr transition
    Definition: timeline.h:82
    -
    ResizableScrollBar * horizontalScrollBar
    Definition: timeline.h:194
    -
    int getDisplayScreenPointFromFrame(long frame)
    -
    virtual void resizeEvent(QResizeEvent *event) override
    Definition: timeline.cpp:611
    -
    bool snap_to_timeline(long *l, bool use_playhead, bool use_markers, bool use_workarea)
    Definition: timeline.cpp:1570
    -
    void snapping_clicked(bool checked)
    Definition: timeline.cpp:838
    -
    bool importing_files
    Definition: timeline.h:171
    -
    long snap_point
    Definition: timeline.h:140
    -
    void ripple_delete_empty_space()
    Definition: timeline.cpp:598
    -
    bool snap_to_point(long point, long *l)
    Definition: timeline.cpp:1559
    -
    void setup_ui()
    Definition: timeline.cpp:1852
    -
    void IncreaseTrackHeight()
    Definition: timeline.cpp:812
    -
    QVector< int > split_tracks
    Definition: timeline.h:166
    -
    void add_transition()
    Definition: timeline.cpp:373
    -
    void deselect()
    Definition: timeline.cpp:1701
    -
    bool zoom_just_changed
    Definition: timeline.h:127
    -
    QPushButton * addButton
    Definition: timeline.h:283
    -
    virtual bool event(QEvent *e) override
    Definition: panel.cpp:29
    -
    void split_at_playhead()
    Definition: timeline.cpp:1473
    -
    QPushButton * toolTransitionButton
    Definition: timeline.h:203
    -
    - - - - diff --git a/docs/html/timelineheader_8cpp.html b/docs/html/timelineheader_8cpp.html deleted file mode 100644 index 8202d6ad3..000000000 --- a/docs/html/timelineheader_8cpp.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - -Olive: ui/timelineheader.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    timelineheader.cpp File Reference
    -
    -
    -
    #include "timelineheader.h"
    -#include "mainwindow.h"
    -#include "panels/panels.h"
    -#include "panels/timeline.h"
    -#include "project/sequence.h"
    -#include "project/undo.h"
    -#include "project/media.h"
    -#include "panels/viewer.h"
    -#include "io/config.h"
    -#include "ui/menuhelper.h"
    -#include "debug.h"
    -#include <QPainter>
    -#include <QMouseEvent>
    -#include <QScrollBar>
    -#include <QtMath>
    -#include <QMenu>
    -#include <QAction>
    -
    - - - - - - - - - - - -

    -Macros

    #define CLICK_RANGE   5
     
    #define PLAYHEAD_SIZE   6
     
    #define LINE_MIN_PADDING   50
     
    #define SUBLINE_MIN_PADDING   50
     
    #define TEXT_PADDING_FROM_LINE   4
     
    - - - -

    -Functions

    bool center_scroll_to_playhead (QScrollBar *bar, double zoom, long playhead)
     
    -

    Macro Definition Documentation

    - -

    ◆ CLICK_RANGE

    - -
    -
    - - - - -
    #define CLICK_RANGE   5
    -
    - -
    -
    - -

    ◆ LINE_MIN_PADDING

    - -
    -
    - - - - -
    #define LINE_MIN_PADDING   50
    -
    - -
    -
    - -

    ◆ PLAYHEAD_SIZE

    - -
    -
    - - - - -
    #define PLAYHEAD_SIZE   6
    -
    - -
    -
    - -

    ◆ SUBLINE_MIN_PADDING

    - -
    -
    - - - - -
    #define SUBLINE_MIN_PADDING   50
    -
    - -
    -
    - -

    ◆ TEXT_PADDING_FROM_LINE

    - -
    -
    - - - - -
    #define TEXT_PADDING_FROM_LINE   4
    -
    - -
    -
    -

    Function Documentation

    - -

    ◆ center_scroll_to_playhead()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    bool center_scroll_to_playhead (QScrollBar * bar,
    double zoom,
    long playhead 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/timelineheader_8h.html b/docs/html/timelineheader_8h.html deleted file mode 100644 index 1e7351247..000000000 --- a/docs/html/timelineheader_8h.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - -Olive: ui/timelineheader.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    timelineheader.h File Reference
    -
    -
    -
    #include <QWidget>
    -#include <QFontMetrics>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  TimelineHeader
     
    - - - -

    -Functions

    bool center_scroll_to_playhead (QScrollBar *bar, double zoom, long playhead)
     
    -

    Function Documentation

    - -

    ◆ center_scroll_to_playhead()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    bool center_scroll_to_playhead (QScrollBar * bar,
    double zoom,
    long playhead 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/timelineheader_8h_source.html b/docs/html/timelineheader_8h_source.html deleted file mode 100644 index 13b7a6e51..000000000 --- a/docs/html/timelineheader_8h_source.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Olive: ui/timelineheader.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    timelineheader.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef TIMELINEHEADER_H
    22 #define TIMELINEHEADER_H
    23 
    24 #include <QWidget>
    25 #include <QFontMetrics>
    26 class Viewer;
    27 class QScrollBar;
    28 
    29 bool center_scroll_to_playhead(QScrollBar* bar, double zoom, long playhead);
    30 
    31 class TimelineHeader : public QWidget
    32 {
    33  Q_OBJECT
    34 public:
    35  explicit TimelineHeader(QWidget *parent = 0);
    36  void set_in_point(long p);
    37  void set_out_point(long p);
    38 
    40 
    41  bool snapping;
    42 
    43  void show_text(bool enable);
    44  double get_zoom();
    45  void delete_markers();
    46  void set_scrollbar_max(QScrollBar* bar, long sequence_end_frame, int offset);
    47 
    48 public slots:
    49  void update_zoom(double z);
    50  void set_scroll(int);
    51  void set_visible_in(long i);
    52  void show_context_menu(const QPoint &pos);
    53  void resized_scroll_listener(double d);
    54 
    55 protected:
    56  void paintEvent(QPaintEvent*);
    57  void mousePressEvent(QMouseEvent*);
    58  void mouseMoveEvent(QMouseEvent*);
    59  void mouseReleaseEvent(QMouseEvent*);
    60  void focusOutEvent(QFocusEvent*);
    61 
    62 private:
    63  void update_parents();
    64 
    65  bool dragging;
    66 
    72 
    73  double zoom;
    74 
    75  long in_visible;
    76 
    77  void set_playhead(int mouse_x);
    78 
    79  int get_marker_offset();
    80 
    81  QFontMetrics fm;
    82 
    85  QVector<int> selected_markers;
    87 
    89  int getHeaderScreenPointFromFrame(long frame);
    90 
    91  int scroll;
    92 
    95 
    96 signals:
    97 };
    98 
    99 #endif // TIMELINEHEADER_H
    void update_parents()
    Definition: timelineheader.cpp:314
    -
    void set_playhead(int mouse_x)
    Definition: timelineheader.cpp:93
    -
    bool dragging_markers
    Definition: timelineheader.h:84
    -
    double get_zoom()
    Definition: timelineheader.cpp:323
    -
    bool resizing_workarea_in
    Definition: timelineheader.h:68
    -
    QVector< int > selected_markers
    Definition: timelineheader.h:85
    -
    void mousePressEvent(QMouseEvent *)
    Definition: timelineheader.cpp:148
    -
    void focusOutEvent(QFocusEvent *)
    Definition: timelineheader.cpp:309
    -
    void update_zoom(double z)
    Definition: timelineheader.cpp:318
    -
    int height_actual
    Definition: timelineheader.h:93
    -
    long getHeaderFrameFromScreenPoint(int x)
    Definition: timelineheader.cpp:85
    -
    Viewer * viewer
    Definition: timelineheader.h:39
    -
    int get_marker_offset()
    Definition: timelineheader.cpp:101
    -
    long temp_workarea_in
    Definition: timelineheader.h:69
    -
    int scroll
    Definition: timelineheader.h:91
    -
    TimelineHeader(QWidget *parent=0)
    Definition: timelineheader.cpp:59
    -
    void set_scrollbar_max(QScrollBar *bar, long sequence_end_frame, int offset)
    Definition: timelineheader.cpp:134
    -
    void show_text(bool enable)
    Definition: timelineheader.cpp:138
    -
    Definition: timelineheader.h:31
    -
    bool center_scroll_to_playhead(QScrollBar *bar, double zoom, long playhead)
    Definition: timelineheader.cpp:49
    -
    void set_scroll(int)
    Definition: timelineheader.cpp:80
    -
    void paintEvent(QPaintEvent *)
    Definition: timelineheader.cpp:338
    -
    long in_visible
    Definition: timelineheader.h:75
    -
    double zoom
    Definition: timelineheader.h:73
    -
    void set_out_point(long p)
    Definition: timelineheader.cpp:122
    -
    int drag_start
    Definition: timelineheader.h:83
    -
    bool dragging
    Definition: timelineheader.h:65
    -
    int getHeaderScreenPointFromFrame(long frame)
    Definition: timelineheader.cpp:89
    -
    void set_in_point(long p)
    Definition: timelineheader.cpp:110
    -
    bool snapping
    Definition: timelineheader.h:41
    -
    long sequence_end
    Definition: timelineheader.h:71
    -
    void resized_scroll_listener(double d)
    Definition: timelineheader.cpp:472
    -
    long temp_workarea_out
    Definition: timelineheader.h:70
    -
    QFontMetrics fm
    Definition: timelineheader.h:81
    -
    void delete_markers()
    Definition: timelineheader.cpp:327
    -
    QVector< long > selected_marker_original_times
    Definition: timelineheader.h:86
    -
    Definition: viewer.h:43
    -
    void show_context_menu(const QPoint &pos)
    Definition: timelineheader.cpp:457
    -
    void mouseReleaseEvent(QMouseEvent *)
    Definition: timelineheader.cpp:279
    -
    bool text_enabled
    Definition: timelineheader.h:94
    -
    void set_visible_in(long i)
    Definition: timelineheader.cpp:105
    -
    void mouseMoveEvent(QMouseEvent *)
    Definition: timelineheader.cpp:212
    -
    bool resizing_workarea
    Definition: timelineheader.h:67
    -
    - - - - diff --git a/docs/html/timelinetools_8h.html b/docs/html/timelinetools_8h.html deleted file mode 100644 index 4b9d3a432..000000000 --- a/docs/html/timelinetools_8h.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - -Olive: ui/timelinetools.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    timelinetools.h File Reference
    -
    -
    - -

    Go to the source code of this file.

    - - - - -

    -Enumerations

    enum  TimelineTool {
    -  TIMELINE_TOOL_POINTER, -TIMELINE_TOOL_EDIT, -TIMELINE_TOOL_RAZOR, -TIMELINE_TOOL_RIPPLE, -
    -  TIMELINE_TOOL_ROLLING, -TIMELINE_TOOL_SLIP, -TIMELINE_TOOL_SLIDE, -TIMELINE_TOOL_HAND, -
    -  TIMELINE_TOOL_ZOOM, -TIMELINE_TOOL_MENU, -TIMELINE_TOOL_TRANSITION, -TIMELINE_TOOL_COUNT -
    - }
     
    -

    Enumeration Type Documentation

    - -

    ◆ TimelineTool

    - -
    -
    - - - - -
    enum TimelineTool
    -
    - - - - - - - - - - - - - -
    Enumerator
    TIMELINE_TOOL_POINTER 
    TIMELINE_TOOL_EDIT 
    TIMELINE_TOOL_RAZOR 
    TIMELINE_TOOL_RIPPLE 
    TIMELINE_TOOL_ROLLING 
    TIMELINE_TOOL_SLIP 
    TIMELINE_TOOL_SLIDE 
    TIMELINE_TOOL_HAND 
    TIMELINE_TOOL_ZOOM 
    TIMELINE_TOOL_MENU 
    TIMELINE_TOOL_TRANSITION 
    TIMELINE_TOOL_COUNT 
    - -
    -
    -
    - - - - diff --git a/docs/html/timelinetools_8h_source.html b/docs/html/timelinetools_8h_source.html deleted file mode 100644 index 162917683..000000000 --- a/docs/html/timelinetools_8h_source.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: ui/timelinetools.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    timelinetools.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef TIMELINETOOLS_H
    22 #define TIMELINETOOLS_H
    23 
    37 };
    38 
    39 #endif // TIMELINETOOLS_H
    Definition: timelinetools.h:34
    -
    Definition: timelinetools.h:30
    -
    Definition: timelinetools.h:25
    -
    Definition: timelinetools.h:27
    -
    Definition: timelinetools.h:33
    -
    TimelineTool
    Definition: timelinetools.h:24
    -
    Definition: timelinetools.h:31
    -
    Definition: timelinetools.h:28
    -
    Definition: timelinetools.h:32
    -
    Definition: timelinetools.h:29
    -
    Definition: timelinetools.h:36
    -
    Definition: timelinetools.h:26
    -
    Definition: timelinetools.h:35
    -
    - - - - diff --git a/docs/html/timelinewidget_8cpp.html b/docs/html/timelinewidget_8cpp.html deleted file mode 100644 index 1e2772a76..000000000 --- a/docs/html/timelinewidget_8cpp.html +++ /dev/null @@ -1,549 +0,0 @@ - - - - - - - -Olive: ui/timelinewidget.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    timelinewidget.cpp File Reference
    -
    -
    -
    #include "timelinewidget.h"
    -#include "oliveglobal.h"
    -#include "panels/panels.h"
    -#include "project/projectelements.h"
    -#include "playback/audio.h"
    -#include "io/config.h"
    -#include "ui/sourcetable.h"
    -#include "ui/sourceiconview.h"
    -#include "project/undo.h"
    -#include "ui/viewerwidget.h"
    -#include "ui/resizablescrollbar.h"
    -#include "dialogs/newsequencedialog.h"
    -#include "mainwindow.h"
    -#include "ui/rectangleselect.h"
    -#include "playback/playback.h"
    -#include "ui/cursors.h"
    -#include "ui/menuhelper.h"
    -#include "ui/focusfilter.h"
    -#include "debug.h"
    -#include "project/effect.h"
    -#include "effects/internal/solideffect.h"
    -#include "effects/internal/texteffect.h"
    -#include <QPainter>
    -#include <QColor>
    -#include <QMouseEvent>
    -#include <QObject>
    -#include <QVariant>
    -#include <QPoint>
    -#include <QMenu>
    -#include <QMessageBox>
    -#include <QtMath>
    -#include <QScrollBar>
    -#include <QMimeData>
    -#include <QToolTip>
    -#include <QInputDialog>
    -#include <QStatusBar>
    -
    - - - - - -

    -Macros

    #define MAX_TEXT_WIDTH   20
     
    #define TRANSITION_BETWEEN_RANGE   40
     
    - - - - - - - - - - - - - - - - - - - - - -

    -Functions

    bool same_sign (int a, int b)
     
    void delete_area_under_ghosts (ComboAction *ca)
     
    void insert_clips (ComboAction *ca)
     
    bool current_tool_shows_cursor ()
     
    void make_room_for_transition (ComboAction *ca, ClipPtr c, int type, long transition_start, long transition_end, bool delete_old_transitions, long timeline_in=-1, long timeline_out=-1)
     
    void VerifyTransitionsAfterCreating (ComboAction *ca, ClipPtr open, ClipPtr close, long transition_start, long transition_end)
     
    void validate_transitions (ClipPtr c, int transition_type, long &frame_diff)
     
    int color_brightness (int r, int g, int b)
     
    void draw_waveform (ClipPtr clip, const FootageStream *ms, long media_length, QPainter *p, const QRect &clip_rect, int waveform_start, int waveform_limit, double zoom)
     
    void draw_transition (QPainter &p, ClipPtr c, const QRect &clip_rect, QRect &text_rect, int transition_type)
     
    -

    Macro Definition Documentation

    - -

    ◆ MAX_TEXT_WIDTH

    - -
    -
    - - - - -
    #define MAX_TEXT_WIDTH   20
    -
    - -
    -
    - -

    ◆ TRANSITION_BETWEEN_RANGE

    - -
    -
    - - - - -
    #define TRANSITION_BETWEEN_RANGE   40
    -
    - -
    -
    -

    Function Documentation

    - -

    ◆ color_brightness()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    int color_brightness (int r,
    int g,
    int b 
    )
    -
    - -
    -
    - -

    ◆ current_tool_shows_cursor()

    - -
    -
    - - - - - - - -
    bool current_tool_shows_cursor ()
    -
    - -
    -
    - -

    ◆ delete_area_under_ghosts()

    - -
    -
    - - - - - - - - -
    void delete_area_under_ghosts (ComboActionca)
    -
    - -
    -
    - -

    ◆ draw_transition()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void draw_transition (QPainter & p,
    ClipPtr c,
    const QRect & clip_rect,
    QRect & text_rect,
    int transition_type 
    )
    -
    - -
    -
    - -

    ◆ draw_waveform()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void draw_waveform (ClipPtr clip,
    const FootageStreamms,
    long media_length,
    QPainter * p,
    const QRect & clip_rect,
    int waveform_start,
    int waveform_limit,
    double zoom 
    )
    -
    - -
    -
    - -

    ◆ insert_clips()

    - -
    -
    - - - - - - - - -
    void insert_clips (ComboActionca)
    -
    - -
    -
    - -

    ◆ make_room_for_transition()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void make_room_for_transition (ComboActionca,
    ClipPtr c,
    int type,
    long transition_start,
    long transition_end,
    bool delete_old_transitions,
    long timeline_in = -1,
    long timeline_out = -1 
    )
    -
    - -
    -
    - -

    ◆ same_sign()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    bool same_sign (int a,
    int b 
    )
    -
    - -
    -
    - -

    ◆ validate_transitions()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void validate_transitions (ClipPtr c,
    int transition_type,
    long & frame_diff 
    )
    -
    - -
    -
    - -

    ◆ VerifyTransitionsAfterCreating()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void VerifyTransitionsAfterCreating (ComboActionca,
    ClipPtr open,
    ClipPtr close,
    long transition_start,
    long transition_end 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/timelinewidget_8h.html b/docs/html/timelinewidget_8h.html deleted file mode 100644 index c5f2747dd..000000000 --- a/docs/html/timelinewidget_8h.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - -Olive: ui/timelinewidget.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    timelinewidget.h File Reference
    -
    -
    -
    #include <QTimer>
    -#include <QWidget>
    -#include <QScrollBar>
    -#include <QPainter>
    -#include <QApplication>
    -#include <QDesktopWidget>
    -#include "project/sequence.h"
    -#include "project/clip.h"
    -#include "project/footage.h"
    -#include "project/media.h"
    -#include "project/undo.h"
    -#include "timelinetools.h"
    -
    -

    Go to the source code of this file.

    - - - - - - -

    -Classes

    struct  TimelineTrackHeight
     
    class  TimelineWidget
     
    - - - - - -

    -Namespaces

     olive
     
     olive::timeline
     
    - - - - - -

    -Functions

    bool same_sign (int a, int b)
     
    void draw_waveform (ClipPtr clip, const FootageStream *ms, long media_length, QPainter *p, const QRect &clip_rect, int waveform_start, int waveform_limit, double zoom)
     
    - - - - - - - - - - - -

    -Variables

    const int olive::timeline::kGhostThickness = 2
     
    const int olive::timeline::kClipTextPadding = 3
     
    const int olive::timeline::kTrackDefaultHeight = 40
     
    const int olive::timeline::kTrackMinHeight = 30
     
    const int olive::timeline::kTrackHeightIncrement = 10
     
    -

    Function Documentation

    - -

    ◆ draw_waveform()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void draw_waveform (ClipPtr clip,
    const FootageStreamms,
    long media_length,
    QPainter * p,
    const QRect & clip_rect,
    int waveform_start,
    int waveform_limit,
    double zoom 
    )
    -
    - -
    -
    - -

    ◆ same_sign()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    bool same_sign (int a,
    int b 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/timelinewidget_8h_source.html b/docs/html/timelinewidget_8h_source.html deleted file mode 100644 index 6c92286e5..000000000 --- a/docs/html/timelinewidget_8h_source.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - -Olive: ui/timelinewidget.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    timelinewidget.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef TIMELINEWIDGET_H
    22 #define TIMELINEWIDGET_H
    23 
    24 #include <QTimer>
    25 #include <QWidget>
    26 #include <QScrollBar>
    27 #include <QPainter>
    28 #include <QApplication>
    29 #include <QDesktopWidget>
    30 
    31 #include "project/sequence.h"
    32 #include "project/clip.h"
    33 #include "project/footage.h"
    34 #include "project/media.h"
    35 #include "project/undo.h"
    36 #include "timelinetools.h"
    37 
    38 class Timeline;
    39 
    40 namespace olive {
    41  namespace timeline {
    42  const int kGhostThickness = 2;
    43  const int kClipTextPadding = 3;
    44 
    45  const int kTrackDefaultHeight = 40/* * QApplication::desktop()->devicePixelRatio()*/;
    46  const int kTrackMinHeight = 30;
    47  const int kTrackHeightIncrement = 10;
    48  }
    49 }
    50 
    52  int index;
    53  int height;
    54 };
    55 
    56 bool same_sign(int a, int b);
    57 void draw_waveform(ClipPtr clip, const FootageStream *ms, long media_length, QPainter* p, const QRect& clip_rect, int waveform_start, int waveform_limit, double zoom);
    58 
    59 class TimelineWidget : public QWidget {
    60  Q_OBJECT
    61 public:
    62  explicit TimelineWidget(QWidget *parent = 0);
    63  QScrollBar* scrollBar;
    65 
    66 public slots:
    67 
    68 protected:
    69  void paintEvent(QPaintEvent*);
    70 
    71  void resizeEvent(QResizeEvent *event);
    72 
    73  void mouseDoubleClickEvent(QMouseEvent *event);
    74  void mousePressEvent(QMouseEvent *event);
    75  void mouseReleaseEvent(QMouseEvent *event);
    76  void mouseMoveEvent(QMouseEvent *event);
    77  void leaveEvent(QEvent *event);
    78 
    79  void dragEnterEvent(QDragEnterEvent *event);
    80  void dragLeaveEvent(QDragLeaveEvent *event);
    81  void dropEvent(QDropEvent* event);
    82  void dragMoveEvent(QDragMoveEvent *event);
    83 
    84  void wheelEvent(QWheelEvent *event);
    85 private:
    86  void init_ghosts();
    87  void update_ghosts(const QPoint& mouse_pos, bool lock_frame);
    88  bool is_track_visible(int track);
    89  int getTrackFromScreenPoint(int y);
    90  int getScreenPointFromTrack(int track);
    91  int getClipIndexFromCoords(long frame, int track);
    92 
    94 
    97 
    98  QVector<ClipPtr> pre_clips;
    99  QVector<ClipPtr> post_clips;
    100 
    102 
    104 
    107 
    108  int scroll;
    109 
    111 signals:
    112 
    113 public slots:
    114  void setScroll(int);
    115 
    116 private slots:
    117  void reveal_media();
    118  void show_context_menu(const QPoint& pos);
    119  void toggle_autoscale();
    120  void tooltip_timer_timeout();
    121  void rename_clip();
    123 };
    124 
    125 #endif // TIMELINEWIDGET_H
    Definition: timelinewidget.h:51
    -
    void open_sequence_properties()
    Definition: timelinewidget.cpp:244
    -
    int getTrackFromScreenPoint(int y)
    Definition: timelinewidget.cpp:3342
    -
    void wheelEvent(QWheelEvent *event)
    Definition: timelinewidget.cpp:357
    -
    QTimer tooltip_timer
    Definition: timelinewidget.h:105
    -
    QScrollBar * scrollBar
    Definition: timelinewidget.h:63
    - - -
    void show_context_menu(const QPoint &pos)
    Definition: timelinewidget.cpp:84
    -
    const int kGhostThickness
    Definition: timelinewidget.h:42
    -
    int getClipIndexFromCoords(long frame, int track)
    Definition: timelinewidget.cpp:3401
    -
    void dragMoveEvent(QDragMoveEvent *event)
    Definition: timelinewidget.cpp:344
    -
    int height
    Definition: timelinewidget.h:53
    -
    void mouseDoubleClickEvent(QMouseEvent *event)
    Definition: timelinewidget.cpp:543
    -
    QVector< ClipPtr > pre_clips
    Definition: timelinewidget.h:98
    -
    void mousePressEvent(QMouseEvent *event)
    Definition: timelinewidget.cpp:573
    - -
    bool same_sign(int a, int b)
    Definition: timelinewidget.cpp:261
    -
    void rename_clip()
    Definition: timelinewidget.cpp:219
    -
    int tooltip_clip
    Definition: timelinewidget.h:106
    -
    int track_target
    Definition: timelinewidget.h:96
    -
    const int kTrackDefaultHeight
    Definition: timelinewidget.h:45
    -
    Definition: timelinewidget.h:59
    -
    Definition: timeline.h:85
    -
    void setScroll(int)
    Definition: timelinewidget.cpp:3411
    -
    const int kTrackMinHeight
    Definition: timelinewidget.h:46
    -
    bool is_track_visible(int track)
    Definition: timelinewidget.cpp:3334
    -
    Definition: debugdialog.h:39
    -
    void toggle_autoscale()
    Definition: timelinewidget.cpp:186
    -
    TimelineWidget(QWidget *parent=0)
    Definition: timelinewidget.cpp:66
    -
    SequencePtr self_created_sequence
    Definition: timelinewidget.h:103
    -
    Definition: media.h:42
    -
    void mouseMoveEvent(QMouseEvent *event)
    Definition: timelinewidget.cpp:1992
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    - -
    void mouseReleaseEvent(QMouseEvent *event)
    Definition: timelinewidget.cpp:984
    - -
    void draw_waveform(ClipPtr clip, const FootageStream *ms, long media_length, QPainter *p, const QRect &clip_rect, int waveform_start, int waveform_limit, double zoom)
    Definition: timelinewidget.cpp:2792
    -
    Definition: undo.h:431
    -
    bool bottom_align
    Definition: timelinewidget.h:64
    -
    const int kClipTextPadding
    Definition: timelinewidget.h:43
    -
    Definition: footage.h:44
    -
    int index
    Definition: timelinewidget.h:52
    -
    int getScreenPointFromTrack(int track)
    Definition: timelinewidget.cpp:3381
    -
    std::shared_ptr< Sequence > SequencePtr
    Definition: clip.h:48
    -
    void init_ghosts()
    Definition: timelinewidget.cpp:1545
    -
    int scroll
    Definition: timelinewidget.h:108
    -
    Media * rc_reveal_media
    Definition: timelinewidget.h:101
    -
    void paintEvent(QPaintEvent *)
    Definition: timelinewidget.cpp:2890
    - -
    void reveal_media()
    Definition: timelinewidget.cpp:3416
    -
    void update_ghosts(const QPoint &mouse_pos, bool lock_frame)
    Definition: timelinewidget.cpp:1616
    -
    void tooltip_timer_timeout()
    Definition: timelinewidget.cpp:201
    -
    void VerifyTransitionHelper()
    -
    void dragEnterEvent(QDragEnterEvent *event)
    Definition: timelinewidget.cpp:265
    -
    const int kTrackHeightIncrement
    Definition: timelinewidget.h:47
    -
    SetSelectionsCommand * selection_command
    Definition: timelinewidget.h:110
    -
    QVector< ClipPtr > post_clips
    Definition: timelinewidget.h:99
    -
    void resizeEvent(QResizeEvent *event)
    Definition: timelinewidget.cpp:3330
    -
    bool track_resizing
    Definition: timelinewidget.h:95
    -
    void dropEvent(QDropEvent *event)
    Definition: timelinewidget.cpp:514
    -
    void dragLeaveEvent(QDragLeaveEvent *event)
    Definition: timelinewidget.cpp:404
    -
    void leaveEvent(QEvent *event)
    Definition: timelinewidget.cpp:2784
    -
    - - - - diff --git a/docs/html/toneeffect_8cpp.html b/docs/html/toneeffect_8cpp.html deleted file mode 100644 index 634dcc262..000000000 --- a/docs/html/toneeffect_8cpp.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Olive: effects/internal/toneeffect.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    toneeffect.cpp File Reference
    -
    -
    -
    #include "toneeffect.h"
    -#include <QtMath>
    -#include "project/clip.h"
    -#include "project/sequence.h"
    -#include "debug.h"
    -
    - - - -

    -Macros

    #define TONE_TYPE_SINE   0
     
    -

    Macro Definition Documentation

    - -

    ◆ TONE_TYPE_SINE

    - -
    -
    - - - - -
    #define TONE_TYPE_SINE   0
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/toneeffect_8h.html b/docs/html/toneeffect_8h.html deleted file mode 100644 index 5ab173a72..000000000 --- a/docs/html/toneeffect_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/toneeffect.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    toneeffect.h File Reference
    -
    -
    -
    #include "project/effect.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  ToneEffect
     
    -
    - - - - diff --git a/docs/html/toneeffect_8h_source.html b/docs/html/toneeffect_8h_source.html deleted file mode 100644 index 5ff84f14c..000000000 --- a/docs/html/toneeffect_8h_source.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Olive: effects/internal/toneeffect.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    toneeffect.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef TONEEFFECT_H
    22 #define TONEEFFECT_H
    23 
    24 #include "project/effect.h"
    25 
    26 class ToneEffect : public Effect {
    27  Q_OBJECT
    28 public:
    29  ToneEffect(ClipPtr c, const EffectMeta* em);
    30  void process_audio(double timecode_start, double timecode_end, quint8* samples, int nb_bytes, int channel_count);
    31 
    36 private:
    37  int sinX;
    38 };
    39 
    40 #endif // TONEEFFECT_H
    void process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
    Definition: toneeffect.cpp:49
    -
    EffectField * amount_val
    Definition: toneeffect.h:34
    -
    int sinX
    Definition: toneeffect.h:37
    -
    Definition: effect.h:169
    - -
    Definition: effect.h:50
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    EffectField * freq_val
    Definition: toneeffect.h:33
    -
    ToneEffect(ClipPtr c, const EffectMeta *em)
    Definition: toneeffect.cpp:31
    -
    EffectField * type_val
    Definition: toneeffect.h:32
    -
    Definition: toneeffect.h:26
    -
    Definition: effectfield.h:43
    -
    EffectField * mix_val
    Definition: toneeffect.h:35
    -
    - - - - diff --git a/docs/html/transformeffect_8cpp.html b/docs/html/transformeffect_8cpp.html deleted file mode 100644 index dc1985276..000000000 --- a/docs/html/transformeffect_8cpp.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - -Olive: effects/internal/transformeffect.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    transformeffect.cpp File Reference
    -
    -
    -
    #include "transformeffect.h"
    -#include <QWidget>
    -#include <QLabel>
    -#include <QGridLayout>
    -#include <QSpinBox>
    -#include <QCheckBox>
    -#include <QOpenGLFunctions>
    -#include <QComboBox>
    -#include <QMouseEvent>
    -#include "ui/collapsiblewidget.h"
    -#include "project/clip.h"
    -#include "project/sequence.h"
    -#include "project/footage.h"
    -#include "io/math.h"
    -#include "ui/labelslider.h"
    -#include "ui/comboboxex.h"
    -#include "panels/project.h"
    -#include "debug.h"
    -#include "panels/panels.h"
    -#include "panels/viewer.h"
    -#include "ui/viewerwidget.h"
    -
    - - - -

    -Functions

    void adjust_field (EffectField *field, double old_offset, double new_offset)
     
    -

    Function Documentation

    - -

    ◆ adjust_field()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void adjust_field (EffectFieldfield,
    double old_offset,
    double new_offset 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/transformeffect_8h.html b/docs/html/transformeffect_8h.html deleted file mode 100644 index ec53a9591..000000000 --- a/docs/html/transformeffect_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/transformeffect.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    transformeffect.h File Reference
    -
    -
    -
    #include "project/effect.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  TransformEffect
     
    -
    - - - - diff --git a/docs/html/transformeffect_8h_source.html b/docs/html/transformeffect_8h_source.html deleted file mode 100644 index a69857b7b..000000000 --- a/docs/html/transformeffect_8h_source.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Olive: effects/internal/transformeffect.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    transformeffect.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef TRANSFORMEFFECT_H
    22 #define TRANSFORMEFFECT_H
    23 
    24 #include "project/effect.h"
    25 
    26 class TransformEffect : public Effect {
    27  Q_OBJECT
    28 public:
    29  TransformEffect(ClipPtr c, const EffectMeta* em);
    30  void refresh();
    31  void process_coords(double timecode, GLTextureCoords& coords, int data);
    32 
    33  void gizmo_draw(double timecode, GLTextureCoords& coords);
    34 public slots:
    35  void toggle_uniform_scale(bool enabled);
    36 private:
    47 
    59 
    60  bool set;
    61 };
    62 
    63 #endif // TRANSFORMEFFECT_H
    void process_coords(double timecode, GLTextureCoords &coords, int data)
    Definition: transformeffect.cpp:226
    -
    Definition: effect.h:128
    -
    EffectGizmo * top_center_gizmo
    Definition: transformeffect.h:49
    -
    EffectGizmo * bottom_left_gizmo
    Definition: transformeffect.h:51
    -
    void refresh()
    Definition: transformeffect.cpp:173
    -
    TransformEffect(ClipPtr c, const EffectMeta *em)
    Definition: transformeffect.cpp:46
    -
    EffectField * position_x
    Definition: transformeffect.h:37
    -
    EffectGizmo * anchor_gizmo
    Definition: transformeffect.h:56
    -
    EffectGizmo * bottom_right_gizmo
    Definition: transformeffect.h:53
    -
    Definition: effect.h:169
    - -
    Definition: effect.h:50
    -
    EffectField * position_y
    Definition: transformeffect.h:38
    -
    EffectField * anchor_x_box
    Definition: transformeffect.h:43
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    bool set
    Definition: transformeffect.h:60
    -
    EffectField * anchor_y_box
    Definition: transformeffect.h:44
    -
    EffectGizmo * bottom_center_gizmo
    Definition: transformeffect.h:52
    -
    EffectField * uniform_scale_field
    Definition: transformeffect.h:41
    -
    EffectGizmo * right_center_gizmo
    Definition: transformeffect.h:55
    -
    Definition: transformeffect.h:26
    -
    Definition: effectgizmo.h:41
    -
    EffectGizmo * rect_gizmo
    Definition: transformeffect.h:58
    -
    EffectField * scale_y
    Definition: transformeffect.h:40
    -
    EffectGizmo * rotate_gizmo
    Definition: transformeffect.h:57
    -
    EffectGizmo * left_center_gizmo
    Definition: transformeffect.h:54
    -
    EffectField * scale_x
    Definition: transformeffect.h:39
    -
    EffectField * blend_mode_box
    Definition: transformeffect.h:46
    -
    void toggle_uniform_scale(bool enabled)
    Definition: transformeffect.cpp:215
    -
    EffectGizmo * top_left_gizmo
    Definition: transformeffect.h:48
    -
    Definition: effectfield.h:43
    -
    EffectField * rotation
    Definition: transformeffect.h:42
    -
    EffectField * opacity
    Definition: transformeffect.h:45
    -
    EffectGizmo * top_right_gizmo
    Definition: transformeffect.h:50
    -
    void gizmo_draw(double timecode, GLTextureCoords &coords)
    Definition: transformeffect.cpp:257
    -
    - - - - diff --git a/docs/html/transition_8cpp.html b/docs/html/transition_8cpp.html deleted file mode 100644 index 32a3cf498..000000000 --- a/docs/html/transition_8cpp.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Olive: project/transition.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    transition.cpp File Reference
    -
    -
    -
    #include "transition.h"
    -#include "mainwindow.h"
    -#include "clip.h"
    -#include "sequence.h"
    -#include "debug.h"
    -#include "io/clipboard.h"
    -#include "effects/internal/crossdissolvetransition.h"
    -#include "effects/internal/linearfadetransition.h"
    -#include "effects/internal/exponentialfadetransition.h"
    -#include "effects/internal/logarithmicfadetransition.h"
    -#include "effects/internal/cubetransition.h"
    -#include "ui/labelslider.h"
    -#include "panels/panels.h"
    -#include "panels/timeline.h"
    -#include <QMessageBox>
    -#include <QCoreApplication>
    -
    - - - - - -

    -Functions

    TransitionPtr get_transition_from_meta (ClipPtr c, ClipPtr s, const EffectMeta *em)
     
    TransitionPtr create_transition (ClipPtr c, ClipPtr s, const EffectMeta *em, long length)
     
    -

    Function Documentation

    - -

    ◆ create_transition()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TransitionPtr create_transition (ClipPtr c,
    ClipPtr s,
    const EffectMetaem,
    long length 
    )
    -
    - -
    -
    - -

    ◆ get_transition_from_meta()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    TransitionPtr get_transition_from_meta (ClipPtr c,
    ClipPtr s,
    const EffectMetaem 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/transition_8h.html b/docs/html/transition_8h.html deleted file mode 100644 index e1769f3c2..000000000 --- a/docs/html/transition_8h.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - -Olive: project/transition.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    transition.h File Reference
    -
    -
    -
    #include "effect.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  Transition
     
    - - - -

    -Typedefs

    using TransitionPtr = std::shared_ptr< Transition >
     
    - - - - - -

    -Enumerations

    enum  TransitionType { kTransitionNone, -kTransitionOpening, -kTransitionClosing - }
     
    enum  TransitionInternal {
    -  TRANSITION_INTERNAL_CROSSDISSOLVE, -TRANSITION_INTERNAL_LINEARFADE, -TRANSITION_INTERNAL_EXPONENTIALFADE, -TRANSITION_INTERNAL_LOGARITHMICFADE, -
    -  TRANSITION_INTERNAL_CUBE, -TRANSITION_INTERNAL_COUNT -
    - }
     
    - - - - - -

    -Functions

    TransitionPtr get_transition_from_meta (ClipPtr c, ClipPtr s, const EffectMeta *em)
     
    TransitionPtr create_transition (ClipPtr c, ClipPtr s, const EffectMeta *em, long length=0)
     
    -

    Typedef Documentation

    - -

    ◆ TransitionPtr

    - -
    -
    - - - - -
    using TransitionPtr = std::shared_ptr<Transition>
    -
    - -
    -
    -

    Enumeration Type Documentation

    - -

    ◆ TransitionInternal

    - -
    -
    - - - - -
    enum TransitionInternal
    -
    - - - - - - - -
    Enumerator
    TRANSITION_INTERNAL_CROSSDISSOLVE 
    TRANSITION_INTERNAL_LINEARFADE 
    TRANSITION_INTERNAL_EXPONENTIALFADE 
    TRANSITION_INTERNAL_LOGARITHMICFADE 
    TRANSITION_INTERNAL_CUBE 
    TRANSITION_INTERNAL_COUNT 
    - -
    -
    - -

    ◆ TransitionType

    - -
    -
    - - - - -
    enum TransitionType
    -
    - - - - -
    Enumerator
    kTransitionNone 
    kTransitionOpening 
    kTransitionClosing 
    - -
    -
    -

    Function Documentation

    - -

    ◆ create_transition()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TransitionPtr create_transition (ClipPtr c,
    ClipPtr s,
    const EffectMetaem,
    long length = 0 
    )
    -
    - -
    -
    - -

    ◆ get_transition_from_meta()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    TransitionPtr get_transition_from_meta (ClipPtr c,
    ClipPtr s,
    const EffectMetaem 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/transition_8h_source.html b/docs/html/transition_8h_source.html deleted file mode 100644 index 2dbbad05d..000000000 --- a/docs/html/transition_8h_source.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Olive: project/transition.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    transition.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef TRANSITION_H
    22 #define TRANSITION_H
    23 
    24 #include "effect.h"
    25 
    30 };
    31 
    39 };
    40 
    41 class Transition;
    42 using TransitionPtr = std::shared_ptr<Transition>;
    43 
    45 
    47 
    48 class Transition : public Effect {
    49  Q_OBJECT
    50 public:
    51  Transition(ClipPtr c, ClipPtr s, const EffectMeta* em);
    52  virtual TransitionPtr copy(ClipPtr c, ClipPtr s);
    54 
    55  virtual void save(QXmlStreamWriter& stream) override;
    56 
    57  void set_length(long l);
    58  long get_true_length();
    59  long get_length();
    60 
    63 private slots:
    65 private:
    66  long length; // used only for transitions
    68 };
    69 
    70 #endif // TRANSITION_H
    ClipPtr get_opened_clip()
    Definition: transition.cpp:83
    -
    virtual void save(QXmlStreamWriter &stream) override
    Definition: transition.cpp:62
    -
    void set_length_from_slider()
    Definition: transition.cpp:101
    -
    TransitionPtr get_transition_from_meta(ClipPtr c, ClipPtr s, const EffectMeta *em)
    Definition: transition.cpp:106
    -
    Definition: transition.h:37
    -
    ClipPtr get_closed_clip()
    Definition: transition.cpp:92
    -
    TransitionPtr create_transition(ClipPtr c, ClipPtr s, const EffectMeta *em, long length=0)
    Definition: transition.cpp:129
    -
    Definition: effect.h:169
    - -
    Definition: effect.h:50
    -
    Definition: transition.h:27
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    EffectField * length_field
    Definition: transition.h:67
    -
    Transition(ClipPtr c, ClipPtr s, const EffectMeta *em)
    Definition: transition.cpp:44
    -
    Definition: transition.h:28
    -
    TransitionType
    Definition: transition.h:26
    -
    virtual TransitionPtr copy(ClipPtr c, ClipPtr s)
    Definition: transition.cpp:58
    -
    TransitionInternal
    Definition: transition.h:32
    -
    std::shared_ptr< Transition > TransitionPtr
    Definition: transition.h:42
    -
    Definition: transition.h:29
    -
    Definition: transition.h:34
    -
    Definition: transition.h:35
    -
    long length
    Definition: transition.h:66
    -
    Definition: transition.h:38
    -
    void set_length(long l)
    Definition: transition.cpp:67
    -
    long get_length()
    Definition: transition.cpp:76
    -
    long get_true_length()
    Definition: transition.cpp:72
    -
    ClipPtr secondary_clip
    Definition: transition.h:53
    -
    Definition: effectfield.h:43
    -
    Definition: transition.h:33
    -
    Definition: transition.h:48
    -
    Definition: transition.h:36
    -
    - - - - diff --git a/docs/html/undo_8cpp.html b/docs/html/undo_8cpp.html deleted file mode 100644 index afb7a20da..000000000 --- a/docs/html/undo_8cpp.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Olive: project/undo.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    undo.cpp File Reference
    -
    -
    -
    #include "undo.h"
    -#include <QTreeWidgetItem>
    -#include <QMessageBox>
    -#include <QCheckBox>
    -#include <QXmlStreamWriter>
    -#include "project/clip.h"
    -#include "project/sequence.h"
    -#include "panels/panels.h"
    -#include "panels/project.h"
    -#include "panels/effectcontrols.h"
    -#include "panels/viewer.h"
    -#include "panels/timeline.h"
    -#include "playback/playback.h"
    -#include "ui/sourcetable.h"
    -#include "project/effect.h"
    -#include "project/transition.h"
    -#include "project/footage.h"
    -#include "playback/cacher.h"
    -#include "ui/labelslider.h"
    -#include "ui/viewerwidget.h"
    -#include "project/marker.h"
    -#include "mainwindow.h"
    -#include "io/clipboard.h"
    -#include "project/media.h"
    -#include "debug.h"
    -
    - - - - diff --git a/docs/html/undo_8h.html b/docs/html/undo_8h.html deleted file mode 100644 index 25b99a700..000000000 --- a/docs/html/undo_8h.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - -Olive: project/undo.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    undo.h File Reference
    -
    -
    -
    #include "project/projectelements.h"
    -#include "project/selection.h"
    -#include "project/effectfield.h"
    -#include "ui/labelslider.h"
    -#include "ui/sourcetable.h"
    -#include <QCheckBox>
    -#include <QUndoStack>
    -#include <QUndoCommand>
    -#include <QVector>
    -#include <QVariant>
    -#include <QModelIndex>
    -
    -

    Go to the source code of this file.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Classes

    class  OliveAction
     
    class  MoveClipAction
     
    class  RippleAction
     
    class  DeleteClipAction
     
    class  ChangeSequenceAction
     
    class  AddEffectCommand
     
    class  AddTransitionCommand
     
    class  ModifyTransitionCommand
     
    class  DeleteTransitionCommand
     
    class  SetTimelineInOutCommand
     
    class  NewSequenceCommand
     
    class  AddMediaCommand
     
    class  DeleteMediaCommand
     
    class  AddClipCommand
     
    class  LinkCommand
     
    class  CheckboxCommand
     
    class  ReplaceMediaCommand
     
    class  ReplaceClipMediaCommand
     
    class  EffectDeleteCommand
     
    class  MediaMove
     
    class  MediaRename
     
    class  KeyframeDelete
     
    class  KeyframeFieldSet
     
    class  EffectFieldUndo
     
    class  SetAutoscaleAction
     
    class  AddMarkerAction
     
    class  MoveMarkerAction
     
    class  DeleteMarkerAction
     
    class  SetSpeedAction
     
    class  SetBool
     
    class  SetSelectionsCommand
     
    class  EditSequenceCommand
     
    class  SetInt
     
    class  SetLong
     
    class  SetDouble
     
    class  SetString
     
    class  CloseAllClipsCommand
     
    class  UpdateFootageTooltip
     
    class  MoveEffectCommand
     
    class  RemoveClipsFromClipboard
     
    class  RenameClipCommand
     
    class  SetPointer
     
    class  ReloadEffectsCommand
     
    class  SetQVariant
     
    class  SetKeyframing
     
    class  RefreshClips
     
    class  UpdateViewer
     
    class  SetEffectData
     
    - - - -

    -Namespaces

     olive
     
    - - - -

    -Variables

    QUndoStack olive::UndoStack
     
    -
    - - - - diff --git a/docs/html/undo_8h_source.html b/docs/html/undo_8h_source.html deleted file mode 100644 index b5e922b22..000000000 --- a/docs/html/undo_8h_source.html +++ /dev/null @@ -1,474 +0,0 @@ - - - - - - - -Olive: project/undo.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    undo.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef UNDO_H
    22 #define UNDO_H
    23 
    25 #include "project/selection.h"
    26 #include "project/effectfield.h"
    27 
    28 #include "ui/labelslider.h"
    29 #include "ui/sourcetable.h"
    30 
    31 #include <QCheckBox>
    32 #include <QUndoStack>
    33 #include <QUndoCommand>
    34 #include <QVector>
    35 #include <QVariant>
    36 #include <QModelIndex>
    37 
    38 namespace olive {
    39 extern QUndoStack UndoStack;
    40 }
    41 
    42 class OliveAction : public QUndoCommand {
    43 public:
    44  OliveAction(bool iset_window_modified = true);
    45  virtual ~OliveAction() override;
    46 
    47  virtual void undo() override;
    48  virtual void redo() override;
    49 
    50  virtual void doUndo() = 0;
    51  virtual void doRedo() = 0;
    52 private:
    57 
    62 };
    63 
    64 class MoveClipAction : public OliveAction {
    65 public:
    66  MoveClipAction(ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool irelative);
    67  virtual void doUndo() override;
    68  virtual void doRedo() override;
    69 private:
    71 
    72  long old_in;
    73  long old_out;
    75  int old_track;
    76 
    77  long new_in;
    78  long new_out;
    80  int new_track;
    81 
    82  bool relative;
    83 };
    84 
    85 class RippleAction : public OliveAction {
    86 public:
    87  RippleAction(SequencePtr is, long ipoint, long ilength, const QVector<int>& iignore);
    88  virtual void doUndo() override;
    89  virtual void doRedo() override;
    90 private:
    92  long point;
    93  long length;
    94  QVector<int> ignore;
    96 };
    97 
    98 class DeleteClipAction : public OliveAction {
    99 public:
    100  DeleteClipAction(SequencePtr s, int clip);
    101  virtual ~DeleteClipAction() override;
    102  virtual void doUndo() override;
    103  virtual void doRedo() override;
    104 private:
    107  int index;
    108 
    111 
    112  QVector<int> linkClipIndex;
    113  QVector<int> linkLinkIndex;
    114 };
    115 
    117 public:
    119  virtual void doUndo() override;
    120  virtual void doRedo() override;
    121 private:
    124 };
    125 
    127 public:
    128  AddEffectCommand(ClipPtr c, EffectPtr e, const EffectMeta* m, int insert_pos = -1);
    129  virtual void doUndo() override;
    130  virtual void doRedo() override;
    131 private:
    133  const EffectMeta* meta;
    135  int pos;
    136  bool done;
    137 };
    138 
    140 public:
    141  AddTransitionCommand(ClipPtr iopen, ClipPtr iclose, TransitionPtr copy, const EffectMeta* itransition, int ilength);
    142  virtual void doUndo() override;
    143  virtual void doRedo() override;
    144 private:
    149  int length_;
    153 };
    154 
    156 public:
    157  ModifyTransitionCommand(TransitionPtr t, long ilength);
    158  virtual void doUndo() override;
    159  virtual void doRedo() override;
    160 private:
    164 };
    165 
    167 public:
    169  virtual void doUndo() override;
    170  virtual void doRedo() override;
    171 private:
    175 };
    176 
    178 public:
    179  SetTimelineInOutCommand(SequencePtr s, bool enabled, long in, long out);
    180  virtual void doUndo() override;
    181  virtual void doRedo() override;
    182 private:
    184 
    186  long old_in;
    187  long old_out;
    188 
    190  long new_in;
    191  long new_out;
    192 };
    193 
    195 public:
    196  NewSequenceCommand(Media* s, Media* iparent);
    197  virtual ~NewSequenceCommand() override;
    198  virtual void doUndo() override;
    199  virtual void doRedo() override;
    200 private:
    203  bool done;
    204 };
    205 
    206 class AddMediaCommand : public OliveAction {
    207 public:
    208  AddMediaCommand(Media* iitem, Media* iparent);
    209  virtual ~AddMediaCommand() override;
    210  virtual void doUndo() override;
    211  virtual void doRedo() override;
    212 private:
    215  bool done;
    216 };
    217 
    219 public:
    221  virtual ~DeleteMediaCommand() override;
    222  virtual void doUndo() override;
    223  virtual void doRedo() override;
    224 private:
    227  bool done;
    228 };
    229 
    230 class AddClipCommand : public OliveAction {
    231 public:
    232  AddClipCommand(SequencePtr s, QVector<ClipPtr>& add);
    233  virtual ~AddClipCommand() override;
    234  virtual void doUndo() override;
    235  virtual void doRedo() override;
    236 private:
    238  QVector<ClipPtr> clips;
    240 };
    241 
    242 class LinkCommand : public OliveAction {
    243 public:
    244  LinkCommand();
    245  virtual void doUndo() override;
    246  virtual void doRedo() override;
    248  QVector<int> clips;
    249  bool link;
    250 private:
    251  QVector< QVector<int> > old_links;
    252 };
    253 
    254 class CheckboxCommand : public OliveAction {
    255 public:
    256  CheckboxCommand(QCheckBox* b);
    257  virtual ~CheckboxCommand() override;
    258  virtual void doUndo() override;
    259  virtual void doRedo() override;
    260 private:
    261  QCheckBox* box;
    262  bool checked;
    263  bool done;
    264 };
    265 
    267 public:
    268  ReplaceMediaCommand(Media*, QString);
    269  virtual void doUndo() override;
    270  virtual void doRedo() override;
    271 private:
    273  QString old_filename;
    274  QString new_filename;
    275  void replace(QString& filename);
    276 };
    277 
    279 public:
    280  ReplaceClipMediaCommand(Media *, Media *, bool);
    281  virtual void doUndo() override;
    282  virtual void doRedo() override;
    283  QVector<ClipPtr> clips;
    284 private:
    288  QVector<int> old_clip_ins;
    289  void replace(bool undo);
    290 };
    291 
    293 public:
    295  virtual ~EffectDeleteCommand() override;
    296  virtual void doUndo() override;
    297  virtual void doRedo() override;
    298  QVector<ClipPtr> clips;
    299  QVector<int> fx;
    300 private:
    301  bool done;
    302  QVector<EffectPtr> deleted_objects;
    303 };
    304 
    305 class MediaMove : public OliveAction {
    306 public:
    307  MediaMove();
    308  QVector<Media*> items;
    310  virtual void doUndo() override;
    311  virtual void doRedo() override;
    312 private:
    313  QVector<Media*> froms;
    314 };
    315 
    316 class MediaRename : public OliveAction {
    317 public:
    318  MediaRename(Media* iitem, QString to);
    319  virtual void doUndo() override;
    320  virtual void doRedo() override;
    321 private:
    323  QString from;
    324  QString to;
    325 };
    326 
    327 class KeyframeDelete : public OliveAction {
    328 public:
    329  KeyframeDelete(EffectField* ifield, int iindex);
    330  virtual void doUndo() override;
    331  virtual void doRedo() override;
    332 private:
    334  int index;
    335  bool done;
    337 };
    338 
    339 // a more modern version of the above, could probably replace it
    340 // assumes the keyframe already exists
    342 public:
    343  KeyframeFieldSet(EffectField* ifield, int ii);
    344  virtual void doUndo() override;
    345  virtual void doRedo() override;
    346 private:
    348  int index;
    350  bool done;
    351 };
    352 
    353 class EffectFieldUndo : public OliveAction {
    354 public:
    356  virtual void doUndo() override;
    357  virtual void doRedo() override;
    358 private:
    360  QVariant old_val;
    361  QVariant new_val;
    362  bool done;
    363 };
    364 
    366 public:
    368  virtual void doUndo() override;
    369  virtual void doRedo() override;
    370  QVector<ClipPtr> clips;
    371 };
    372 
    373 class AddMarkerAction : public OliveAction {
    374 public:
    375  AddMarkerAction(QVector<Marker>* m, long t, QString n);
    376  virtual void doUndo() override;
    377  virtual void doRedo() override;
    378 private:
    379  QVector<Marker>* active_array;
    380  long time;
    381  QString name;
    382  QString old_name;
    383  int index;
    384 };
    385 
    387 public:
    388  MoveMarkerAction(Marker* m, long o, long n);
    389  virtual void doUndo() override;
    390  virtual void doRedo() override;
    391 private:
    393  long old_time;
    394  long new_time;
    395 };
    396 
    398 public:
    399  DeleteMarkerAction(QVector<Marker>* m);
    400  virtual void doUndo() override;
    401  virtual void doRedo() override;
    402  QVector<int> markers;
    403 private:
    404  QVector<Marker>* active_array;
    405  QVector<Marker> copies;
    406  bool sorted;
    407 };
    408 
    409 class SetSpeedAction : public OliveAction {
    410 public:
    411  SetSpeedAction(ClipPtr c, double speed);
    412  virtual void doUndo() override;
    413  virtual void doRedo() override;
    414 private:
    416  double old_speed;
    417  double new_speed;
    418 };
    419 
    420 class SetBool : public OliveAction {
    421 public:
    422  SetBool(bool* b, bool setting);
    423  virtual void doUndo() override;
    424  virtual void doRedo() override;
    425 private:
    426  bool* boolean;
    429 };
    430 
    432 public:
    434  virtual void doUndo() override;
    435  virtual void doRedo() override;
    436  QVector<Selection> old_data;
    437  QVector<Selection> new_data;
    438 private:
    440  bool done;
    441 };
    442 
    444 public:
    446  virtual void doUndo() override;
    447  virtual void doRedo() override;
    448  void update();
    449 
    450  QString name;
    451  int width;
    452  int height;
    453  double frame_rate;
    456 private:
    459 
    460  QString old_name;
    466 };
    467 
    468 class SetInt : public OliveAction {
    469 public:
    470  SetInt(int* pointer, int new_value);
    471  virtual void doUndo() override;
    472  virtual void doRedo() override;
    473 private:
    474  int* p;
    475  int oldval;
    476  int newval;
    477 };
    478 
    479 class SetLong : public OliveAction {
    480 public:
    481  SetLong(long* pointer, long old_value, long new_value);
    482  virtual void doUndo() override;
    483  virtual void doRedo() override;
    484 private:
    485  long* p;
    486  long oldval;
    487  long newval;
    488 };
    489 
    490 class SetDouble : public OliveAction {
    491 public:
    492  SetDouble(double* pointer, double old_value, double new_value);
    493  virtual void doUndo() override;
    494  virtual void doRedo() override;
    495 private:
    496  double* p;
    497  double oldval;
    498  double newval;
    499 };
    500 
    501 class SetString : public OliveAction {
    502 public:
    503  SetString(QString* pointer, QString new_value);
    504  virtual void doUndo() override;
    505  virtual void doRedo() override;
    506 private:
    507  QString* p;
    508  QString oldval;
    509  QString newval;
    510 };
    511 
    513 public:
    514  virtual void doUndo() override;
    515  virtual void doRedo() override;
    516 };
    517 
    519 public:
    521  virtual void doUndo() override;
    522  virtual void doRedo() override;
    523 private:
    525 };
    526 
    528 public:
    530  virtual void doUndo() override;
    531  virtual void doRedo() override;
    533  int from;
    534  int to;
    535 };
    536 
    538 public:
    539  RemoveClipsFromClipboard(int index);
    540  virtual ~RemoveClipsFromClipboard() override;
    541  virtual void doUndo() override;
    542  virtual void doRedo() override;
    543 private:
    544  int pos;
    546  bool done;
    547 };
    548 
    550 public:
    552  QVector<ClipPtr> clips;
    553  QString new_name;
    554  virtual void doUndo() override;
    555  virtual void doRedo() override;
    556 private:
    557  QVector<QString> old_names;
    558 };
    559 
    560 class SetPointer : public OliveAction {
    561 public:
    562  SetPointer(void** pointer, void* data);
    563  virtual void doUndo() override;
    564  virtual void doRedo() override;
    565 private:
    567  void** p;
    568  void* new_data;
    569  void* old_data;
    570 };
    571 
    573 public:
    574  virtual void doUndo() override;
    575  virtual void doRedo() override;
    576 };
    577 
    578 class SetQVariant : public OliveAction {
    579 public:
    580  SetQVariant(QVariant* itarget, const QVariant& iold, const QVariant& inew);
    581  virtual void doUndo() override;
    582  virtual void doRedo() override;
    583 private:
    584  QVariant* target;
    585  QVariant old_val;
    586  QVariant new_val;
    587 };
    588 
    589 class SetKeyframing : public OliveAction {
    590 public:
    591  SetKeyframing(EffectRow* irow, bool ib);
    592  virtual void doUndo() override;
    593  virtual void doRedo() override;
    594 private:
    596  bool b;
    597 };
    598 
    599 class RefreshClips : public OliveAction {
    600 public:
    601  RefreshClips(Media* m);
    602  virtual void doUndo() override;
    603  virtual void doRedo() override;
    604 private:
    606 };
    607 
    608 class UpdateViewer : public OliveAction {
    609 public:
    610  virtual void doUndo() override;
    611  virtual void doRedo() override;
    612 };
    613 
    614 class SetEffectData : public OliveAction {
    615 public:
    616  SetEffectData(EffectPtr e, const QByteArray &s);
    617  virtual void doUndo() override;
    618  virtual void doRedo() override;
    619 private:
    621  QByteArray data;
    622  QByteArray old_data;
    623 };
    624 
    625 #endif // UNDO_H
    Definition: undo.h:527
    -
    EffectDeleteCommand()
    Definition: undo.cpp:590
    -
    virtual void doUndo() override
    Definition: undo.cpp:104
    -
    Definition: undo.h:305
    - -
    Definition: undo.h:490
    -
    virtual ~AddMediaCommand() override
    Definition: undo.cpp:356
    -
    virtual void doUndo() override
    Definition: undo.cpp:385
    -
    QVector< ClipPtr > clips
    Definition: undo.h:238
    -
    virtual void doRedo() override
    Definition: undo.cpp:81
    -
    Definition: undo.h:266
    -
    MoveMarkerAction(Marker *m, long o, long n)
    Definition: undo.cpp:740
    -
    Definition: undo.h:206
    -
    QVector< ClipPtr > clips
    Definition: undo.h:298
    -
    virtual void doRedo() override
    Definition: undo.cpp:909
    -
    virtual ~EffectDeleteCommand() override
    Definition: undo.cpp:594
    -
    Definition: undo.h:501
    -
    virtual void doUndo() override
    Definition: undo.cpp:789
    -
    long old_length_
    Definition: undo.h:163
    -
    ClipPtr clip
    Definition: undo.h:532
    -
    QByteArray data
    Definition: undo.h:621
    -
    virtual void doUndo() override
    Definition: undo.cpp:596
    -
    Media * parent
    Definition: undo.h:226
    -
    Definition: undo.h:578
    -
    QVector< QString > old_names
    Definition: undo.h:557
    -
    Definition: undo.h:166
    -
    virtual void doRedo() override
    Definition: undo.cpp:211
    -
    virtual void doRedo() override
    Definition: undo.cpp:810
    -
    virtual void doRedo() override
    Definition: undo.cpp:294
    -
    SetAutoscaleAction()
    Definition: undo.cpp:688
    -
    long new_time
    Definition: undo.h:394
    -
    ClipPtr clip
    Definition: undo.h:132
    -
    virtual void doUndo() override
    Definition: undo.cpp:896
    -
    bool set_window_modified
    Setting whether to change the windowModified state of MainWindow.
    Definition: undo.h:56
    -
    const EffectMeta * meta
    Definition: undo.h:133
    -
    void replace(QString &filename)
    Definition: undo.cpp:512
    -
    virtual void doRedo() override
    Definition: undo.cpp:606
    -
    double * p
    Definition: undo.h:496
    -
    QVector< Media * > froms
    Definition: undo.h:313
    -
    virtual void doRedo() override
    Definition: undo.cpp:1030
    -
    TransitionPtr transition_to_copy_
    Definition: undo.h:147
    -
    Definition: marker.h:32
    -
    Definition: undo.h:397
    -
    QString oldval
    Definition: undo.h:508
    -
    QString newval
    Definition: undo.h:509
    -
    Definition: undo.h:64
    -
    Definition: undo.h:409
    -
    bool old_setting
    Definition: undo.h:427
    -
    ModifyTransitionCommand(TransitionPtr t, long ilength)
    Definition: undo.cpp:284
    -
    int index
    Definition: undo.h:107
    -
    ClipPtr clip
    Definition: undo.h:70
    -
    bool * boolean
    Definition: undo.h:426
    -
    int audio_layout
    Definition: undo.h:455
    -
    virtual void doUndo() override
    Definition: undo.cpp:1100
    -
    virtual void doUndo() override
    Definition: undo.cpp:67
    -
    virtual void doUndo() override
    Definition: undo.cpp:746
    - -
    Definition: undo.h:537
    -
    Definition: undo.h:316
    -
    QVector< Marker > * active_array
    Definition: undo.h:404
    -
    int index
    Definition: undo.h:383
    -
    virtual void doRedo() override
    Definition: undo.cpp:767
    -
    virtual void doRedo() override
    Definition: undo.cpp:1138
    -
    MoveEffectCommand()
    Definition: undo.cpp:925
    -
    QVector< ClipPtr > clips
    Definition: undo.h:283
    -
    long old_in
    Definition: undo.h:72
    -
    virtual void doUndo() override
    Definition: undo.cpp:1040
    -
    ReplaceMediaCommand(Media *, QString)
    Definition: undo.cpp:506
    -
    virtual void doUndo() override
    Definition: undo.cpp:161
    -
    bool done
    Definition: undo.h:440
    -
    virtual void doUndo() override
    Definition: undo.cpp:533
    -
    SetBool(bool *b, bool setting)
    Definition: undo.cpp:800
    -
    MediaRename(Media *iitem, QString to)
    Definition: undo.cpp:639
    -
    Media * item
    Definition: undo.h:322
    -
    QVector< Marker > * active_array
    Definition: undo.h:379
    -
    Definition: undo.h:139
    -
    double old_speed
    Definition: undo.h:416
    -
    long old_in
    Definition: undo.h:186
    -
    int old_height
    Definition: undo.h:462
    -
    QVariant new_val
    Definition: undo.h:361
    -
    SequencePtr seq
    Definition: undo.h:439
    -
    Definition: undo.h:126
    -
    RefreshClips(Media *m)
    Definition: undo.cpp:1096
    -
    bool done
    Definition: undo.h:546
    -
    virtual void doUndo() override
    Definition: undo.cpp:1054
    -
    virtual void doUndo() override
    Definition: undo.cpp:676
    - -
    virtual ~AddClipCommand() override
    Definition: undo.cpp:404
    -
    SetKeyframing(EffectRow *irow, bool ib)
    Definition: undo.cpp:1083
    -
    Definition: undo.h:42
    -
    virtual void doUndo() override
    Definition: undo.cpp:917
    -
    Definition: undo.h:608
    -
    long new_clip_in
    Definition: undo.h:79
    -
    SequencePtr seq
    Definition: undo.h:183
    -
    Definition: undo.h:386
    -
    virtual void doUndo() override
    Definition: undo.cpp:406
    -
    virtual void doRedo()=0
    -
    The ComboAction class.
    Definition: comboaction.h:19
    -
    bool done
    Definition: undo.h:215
    - -
    SetEffectData(EffectPtr e, const QByteArray &s)
    Definition: undo.cpp:1127
    -
    EffectField * field
    Definition: undo.h:333
    -
    virtual void doRedo() override
    Definition: undo.cpp:1104
    -
    Media * item
    Definition: undo.h:225
    -
    QVariant old_val
    Definition: undo.h:360
    - -
    virtual void doRedo() override
    Definition: undo.cpp:650
    -
    Definition: undo.h:599
    -
    long old_out
    Definition: undo.h:73
    -
    virtual void doUndo() override
    Definition: undo.cpp:943
    -
    Media * old_media
    Definition: undo.h:285
    -
    TransitionPtr transition_ref_
    Definition: undo.h:172
    -
    Definition: undo.h:155
    -
    QCheckBox * box
    Definition: undo.h:261
    -
    SequencePtr old_sequence
    Definition: undo.h:122
    -
    virtual void doRedo() override
    Definition: undo.cpp:901
    -
    OliveAction(bool iset_window_modified=true)
    Definition: undo.cpp:1144
    -
    long old_clip_in
    Definition: undo.h:74
    -
    TransitionPtr new_transition_ref_
    Definition: undo.h:152
    -
    virtual void doRedo() override
    Definition: undo.cpp:921
    -
    bool checked
    Definition: undo.h:262
    -
    SequencePtr seq
    Definition: undo.h:237
    -
    QString old_filename
    Definition: undo.h:273
    -
    Definition: effect.h:50
    -
    DeleteClipAction(SequencePtr s, int clip)
    Definition: undo.cpp:95
    -
    TransitionPtr transition_ref_
    Definition: undo.h:161
    -
    Definition: undo.h:373
    -
    QString * p
    Definition: undo.h:507
    -
    SetPointer(void **pointer, void *data)
    Definition: undo.cpp:970
    -
    bool sorted
    Definition: undo.h:406
    -
    virtual void doUndo() override
    Definition: undo.cpp:999
    - -
    SequencePtr seq
    Definition: undo.h:458
    -
    long length
    Definition: undo.h:93
    -
    long newval
    Definition: undo.h:487
    -
    void update()
    Definition: undo.cpp:862
    -
    virtual void doRedo() override
    Definition: undo.cpp:824
    -
    EffectField * field
    Definition: undo.h:359
    -
    QVector< int > ignore
    Definition: undo.h:94
    -
    virtual void doRedo() override
    Definition: undo.cpp:246
    -
    void * new_data
    Definition: undo.h:568
    -
    int index
    Definition: undo.h:348
    -
    virtual void undo() override
    Definition: undo.cpp:1150
    -
    int width
    Definition: undo.h:451
    -
    virtual void doUndo() override
    Definition: undo.cpp:760
    -
    virtual void redo() override
    Definition: undo.cpp:1158
    -
    virtual void doUndo() override
    Definition: undo.cpp:975
    -
    Definition: undo.h:254
    -
    AddMediaCommand(Media *iitem, Media *iparent)
    Definition: undo.cpp:350
    -
    virtual ~DeleteClipAction() override
    Definition: undo.cpp:102
    -
    QUndoStack UndoStack
    Definition: undo.cpp:49
    -
    Media * to
    Definition: undo.h:309
    -
    virtual void doRedo() override
    Definition: undo.cpp:368
    -
    int closing_transition
    Definition: undo.h:110
    -
    virtual void doRedo() override
    Definition: undo.cpp:1076
    -
    virtual void doRedo() override
    Definition: undo.cpp:795
    -
    RemoveClipsFromClipboard(int index)
    Definition: undo.cpp:936
    -
    virtual void doUndo() override
    Definition: undo.cpp:145
    -
    virtual void doRedo() override
    Definition: undo.cpp:698
    -
    virtual ~NewSequenceCommand() override
    Definition: undo.cpp:334
    -
    Definition: undo.h:98
    -
    QVector< Media * > items
    Definition: undo.h:308
    -
    virtual void doUndo() override
    Definition: undo.cpp:927
    - -
    bool preserve_clip_ins
    Definition: undo.h:287
    -
    Definition: effectrow.h:37
    -
    Definition: debugdialog.h:39
    -
    bool done
    Definition: undo.h:335
    -
    virtual void doUndo() override
    Definition: undo.cpp:842
    -
    Media * new_media
    Definition: undo.h:286
    -
    Media * parent
    Definition: undo.h:214
    -
    Definition: undo.h:85
    -
    virtual ~DeleteMediaCommand() override
    Definition: undo.cpp:379
    -
    bool done
    Definition: undo.h:263
    -
    Definition: undo.h:278
    -
    Definition: media.h:42
    -
    virtual void doUndo() override
    Definition: undo.cpp:1088
    -
    QVariant old_val
    Definition: undo.h:585
    -
    virtual ~CheckboxCommand() override
    Definition: undo.cpp:492
    -
    int old_track
    Definition: undo.h:75
    -
    Media * media
    Definition: undo.h:605
    -
    EffectRow * row
    Definition: undo.h:595
    -
    virtual void doRedo() override
    Definition: undo.cpp:988
    -
    virtual void doRedo() override
    Definition: undo.cpp:539
    -
    AddClipCommand(SequencePtr s, QVector< ClipPtr > &add)
    Definition: undo.cpp:398
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    virtual void doUndo() override
    Definition: undo.cpp:659
    -
    int old_audio_layout
    Definition: undo.h:465
    -
    virtual void doRedo() override
    Definition: undo.cpp:948
    -
    bool done
    Definition: undo.h:301
    -
    EffectPtr ref
    Definition: undo.h:134
    -
    KeyframeDelete(EffectField *ifield, int iindex)
    Definition: undo.cpp:654
    -
    bool old_window_modified
    Cache previous window modified value to return to if the user undoes this action.
    Definition: undo.h:61
    -
    QVariant new_val
    Definition: undo.h:586
    -
    int new_track
    Definition: undo.h:80
    -
    ClipPtr clip
    Definition: undo.h:415
    -
    virtual void doRedo() override
    Definition: undo.cpp:344
    -
    long new_in
    Definition: undo.h:190
    -
    AddMarkerAction(QVector< Marker > *m, long t, QString n)
    Definition: undo.cpp:705
    -
    SequencePtr s
    Definition: undo.h:91
    -
    virtual void doUndo()=0
    -
    QVector< Selection > old_data
    Definition: undo.h:436
    -
    Media * seq
    Definition: undo.h:201
    -
    QVector< Marker > copies
    Definition: undo.h:405
    -
    const EffectMeta * transition_meta_
    Definition: undo.h:148
    -
    int from
    Definition: undo.h:533
    -
    int to
    Definition: undo.h:534
    -
    Definition: undo.h:353
    -
    Definition: undo.h:420
    -
    EffectKeyframe key
    Definition: undo.h:349
    -
    virtual void doRedo() override
    Definition: undo.cpp:932
    -
    int pos
    Definition: undo.h:544
    -
    QVector< int > linkClipIndex
    Definition: undo.h:112
    -
    DeleteMediaCommand(Media *i)
    Definition: undo.cpp:374
    -
    Definition: undo.h:116
    -
    QString old_name
    Definition: undo.h:460
    -
    Definition: undo.h:431
    -
    long new_out
    Definition: undo.h:78
    -
    Definition: undo.h:292
    -
    MoveClipAction(ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool irelative)
    Definition: undo.cpp:51
    -
    bool b
    Definition: undo.h:596
    -
    RippleAction(SequencePtr is, long ipoint, long ilength, const QVector< int > &iignore)
    Definition: undo.cpp:992
    - -
    int oldval
    Definition: undo.h:475
    -
    virtual ~RemoveClipsFromClipboard() override
    Definition: undo.cpp:941
    -
    QVector< ClipPtr > clips
    Definition: undo.h:552
    -
    Definition: undo.h:572
    -
    SetTimelineInOutCommand(SequencePtr s, bool enabled, long in, long out)
    Definition: undo.cpp:154
    -
    Definition: undo.h:177
    -
    SetInt(int *pointer, int new_value)
    Definition: undo.cpp:875
    -
    DeleteMarkerAction(QVector< Marker > *m)
    Definition: undo.cpp:755
    -
    QString new_filename
    Definition: undo.h:274
    -
    bool done
    Definition: undo.h:362
    -
    bool relative
    Definition: undo.h:82
    -
    EffectKeyframe deleted_key
    Definition: undo.h:336
    -
    virtual void doUndo() override
    Definition: undo.cpp:338
    -
    long point
    Definition: undo.h:92
    -
    Media * item
    Definition: undo.h:524
    -
    double new_speed
    Definition: undo.h:417
    -
    bool new_setting
    Definition: undo.h:428
    -
    virtual void doUndo() override
    Definition: undo.cpp:819
    -
    EffectFieldUndo(EffectField *field)
    Definition: undo.cpp:668
    -
    Definition: undo.h:589
    -
    EditSequenceCommand(Media *i, SequencePtr s)
    Definition: undo.cpp:831
    -
    virtual void doUndo() override
    Definition: undo.cpp:494
    -
    double oldval
    Definition: undo.h:497
    -
    virtual void doUndo() override
    Definition: undo.cpp:1070
    -
    virtual void doUndo() override
    Definition: undo.cpp:905
    -
    int height
    Definition: undo.h:452
    -
    virtual void doUndo() override
    Definition: undo.cpp:1025
    -
    QString from
    Definition: undo.h:323
    -
    Media * item
    Definition: undo.h:272
    -
    virtual void doRedo() override
    Definition: undo.cpp:719
    -
    QVector< int > old_clip_ins
    Definition: undo.h:288
    -
    bool done
    Definition: undo.h:350
    -
    double frame_rate
    Definition: undo.h:453
    -
    void replace(bool undo)
    Definition: undo.cpp:549
    -
    bool new_enabled
    Definition: undo.h:189
    -
    ClipPtr closed_clip_
    Definition: undo.h:174
    -
    double old_frame_rate
    Definition: undo.h:463
    -
    SetLong(long *pointer, long old_value, long new_value)
    Definition: undo.cpp:1048
    -
    void * old_data
    Definition: undo.h:569
    -
    CheckboxCommand(QCheckBox *b)
    Definition: undo.cpp:486
    -
    KeyframeFieldSet(EffectField *ifield, int ii)
    Definition: undo.cpp:1063
    -
    int link_offset_
    Definition: undo.h:239
    -
    virtual void doRedo() override
    Definition: undo.cpp:629
    -
    SetSelectionsCommand(SequencePtr s)
    Definition: undo.cpp:814
    -
    virtual void doUndo() override
    Definition: undo.cpp:1132
    -
    ChangeSequenceAction(SequencePtr s)
    Definition: undo.cpp:141
    -
    virtual void doUndo() override
    Definition: undo.cpp:645
    -
    Definition: keyframe.h:28
    -
    long * p
    Definition: undo.h:485
    -
    virtual void doUndo() override
    Definition: undo.cpp:806
    -
    virtual void doRedo() override
    Definition: undo.cpp:682
    -
    QVariant * target
    Definition: undo.h:584
    -
    virtual void doUndo() override
    Definition: undo.cpp:236
    -
    Definition: undo.h:327
    -
    virtual void doRedo() override
    Definition: undo.cpp:751
    -
    std::shared_ptr< Transition > TransitionPtr
    Definition: transition.h:42
    -
    QVector< int > linkLinkIndex
    Definition: undo.h:113
    -
    virtual void doUndo() override
    Definition: undo.cpp:881
    -
    QString to
    Definition: undo.h:324
    -
    virtual void doUndo() override
    Definition: undo.cpp:622
    -
    int old_width
    Definition: undo.h:461
    -
    long new_out
    Definition: undo.h:191
    -
    QByteArray old_data
    Definition: undo.h:622
    -
    SetQVariant(QVariant *itarget, const QVariant &iold, const QVariant &inew)
    Definition: undo.cpp:1034
    -
    virtual void doRedo() override
    Definition: undo.cpp:392
    -
    virtual void doUndo() override
    Definition: undo.cpp:711
    -
    Marker * marker
    Definition: undo.h:392
    -
    virtual void doRedo() override
    Definition: undo.cpp:663
    -
    virtual void doRedo() override
    Definition: undo.cpp:962
    -
    std::shared_ptr< Sequence > SequencePtr
    Definition: clip.h:48
    -
    QVector< ClipPtr > clips
    Definition: undo.h:370
    -
    Definition: undo.h:443
    -
    virtual void doRedo() override
    Definition: undo.cpp:1123
    - -
    virtual void doRedo() override
    Definition: undo.cpp:149
    -
    Definition: undo.h:614
    -
    virtual void doUndo() override
    Definition: undo.cpp:201
    -
    EffectPtr effect
    Definition: undo.h:620
    -
    Definition: undo.h:194
    -
    Definition: undo.h:560
    -
    long old_time
    Definition: undo.h:393
    -
    AddTransitionCommand(ClipPtr iopen, ClipPtr iclose, TransitionPtr copy, const EffectMeta *itransition, int ilength)
    Definition: undo.cpp:223
    -
    virtual void doUndo() override
    Definition: undo.cpp:690
    -
    virtual void doRedo() override
    Definition: undo.cpp:175
    -
    SetString(QString *pointer, QString new_value)
    Definition: undo.cpp:890
    -
    bool done
    Definition: undo.h:227
    -
    Media * item
    Definition: undo.h:213
    -
    QVector< int > markers
    Definition: undo.h:402
    -
    long new_in
    Definition: undo.h:77
    -
    int * p
    Definition: undo.h:474
    -
    virtual ~OliveAction() override
    Definition: undo.cpp:1148
    -
    bool old_changed
    Definition: undo.h:566
    -
    TransitionPtr old_close_transition_
    Definition: undo.h:151
    -
    virtual void doUndo() override
    Definition: undo.cpp:956
    -
    AddEffectCommand(ClipPtr c, EffectPtr e, const EffectMeta *m, int insert_pos=-1)
    Definition: undo.cpp:193
    -
    int length_
    Definition: undo.h:149
    -
    long old_out
    Definition: undo.h:187
    -
    int index
    Definition: undo.h:334
    -
    virtual void doRedo() override
    Definition: undo.cpp:116
    -
    virtual void doUndo() override
    Definition: undo.cpp:984
    -
    Definition: undo.h:512
    - -
    QString name
    Definition: undo.h:450
    -
    bool old_enabled
    Definition: undo.h:185
    -
    bool done
    Definition: undo.h:136
    -
    virtual void doRedo() override
    Definition: undo.cpp:852
    -
    Definition: undo.h:479
    -
    long new_length_
    Definition: undo.h:162
    -
    void ** p
    Definition: undo.h:567
    -
    TransitionPtr old_open_transition_
    Definition: undo.h:150
    -
    DeleteTransitionCommand(TransitionPtr t)
    Definition: undo.cpp:299
    -
    long time
    Definition: undo.h:380
    -
    SetDouble(double *pointer, double old_value, double new_value)
    Definition: undo.cpp:1019
    -
    RenameClipCommand()
    Definition: undo.cpp:954
    -
    int audio_frequency
    Definition: undo.h:454
    -
    ReplaceClipMediaCommand(Media *, Media *, bool)
    Definition: undo.cpp:543
    -
    virtual void doUndo() override
    Definition: undo.cpp:1119
    -
    Definition: undo.h:549
    -
    virtual void doUndo() override
    Definition: undo.cpp:290
    -
    std::shared_ptr< Effect > EffectPtr
    Definition: effect.h:48
    -
    virtual void doRedo() override
    Definition: undo.cpp:1059
    -
    ClipPtr opened_clip_
    Definition: undo.h:173
    -
    Definition: effectfield.h:43
    -
    MediaMove()
    Definition: undo.cpp:620
    -
    Media * item
    Definition: undo.h:457
    -
    double newval
    Definition: undo.h:498
    -
    bool done
    Definition: undo.h:203
    -
    Definition: undo.h:218
    -
    virtual void doRedo() override
    Definition: undo.cpp:1044
    -
    SequencePtr new_sequence
    Definition: undo.h:123
    -
    SetSpeedAction(ClipPtr c, double speed)
    Definition: undo.cpp:783
    -
    virtual void doRedo() override
    Definition: undo.cpp:1092
    -
    ClipPtr ref
    Definition: undo.h:106
    -
    Definition: undo.h:230
    -
    virtual void doRedo() override
    Definition: undo.cpp:1004
    -
    EffectField * field
    Definition: undo.h:347
    -
    Definition: undo.h:365
    -
    ClipPtr close_
    Definition: undo.h:146
    -
    ComboAction * ca
    Definition: undo.h:95
    -
    Definition: undo.h:468
    -
    virtual void doRedo() override
    Definition: undo.cpp:584
    -
    virtual void doRedo() override
    Definition: undo.cpp:434
    -
    SequencePtr seq
    Definition: undo.h:105
    -
    int newval
    Definition: undo.h:476
    -
    int pos
    Definition: undo.h:135
    -
    QString old_name
    Definition: undo.h:382
    - -
    virtual void doUndo() override
    Definition: undo.cpp:303
    -
    virtual void doRedo() override
    Definition: undo.cpp:886
    -
    long oldval
    Definition: undo.h:486
    -
    Media * parent
    Definition: undo.h:202
    -
    QString name
    Definition: undo.h:381
    -
    QVector< EffectPtr > deleted_objects
    Definition: undo.h:302
    -
    Definition: undo.h:341
    -
    virtual void doUndo() override
    Definition: undo.cpp:580
    -
    ClipPtr clip
    Definition: undo.h:545
    -
    QVector< Selection > new_data
    Definition: undo.h:437
    -
    QString new_name
    Definition: undo.h:553
    -
    virtual void doRedo() override
    Definition: undo.cpp:500
    - -
    int opening_transition
    Definition: undo.h:109
    -
    UpdateFootageTooltip(Media *i)
    Definition: undo.cpp:913
    -
    virtual void doUndo() override
    Definition: undo.cpp:362
    -
    Definition: undo.h:518
    -
    NewSequenceCommand(Media *s, Media *iparent)
    Definition: undo.cpp:326
    -
    int old_audio_frequency
    Definition: undo.h:464
    -
    virtual void doRedo() override
    Definition: undo.cpp:979
    -
    virtual void doRedo() override
    Definition: undo.cpp:313
    -
    ClipPtr open_
    Definition: undo.h:145
    -
    QVector< int > fx
    Definition: undo.h:299
    - -
    - - - - diff --git a/docs/html/version_8h.html b/docs/html/version_8h.html deleted file mode 100644 index baf30a6c6..000000000 --- a/docs/html/version_8h.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - -Olive: packaging/windows/version.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    version.h File Reference
    -
    -
    - -

    Go to the source code of this file.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Macros

    #define VER_FILEVERSION   1,0,0,0
     
    #define VER_FILEVERSION_STR   "1.0.0.0\0"
     
    #define VER_PRODUCTVERSION   1,0,0,0
     
    #define VER_PRODUCTVERSION_STR   "1.0\0"
     
    #define VER_COMPANYNAME_STR   "Olive Team"
     
    #define VER_FILEDESCRIPTION_STR   "Olive"
     
    #define VER_INTERNALNAME_STR   "Olive"
     
    #define VER_LEGALCOPYRIGHT_STR   "Copyright © 2018 Olive Team"
     
    #define VER_LEGALTRADEMARKS1_STR   "All Rights Reserved"
     
    #define VER_LEGALTRADEMARKS2_STR   VER_LEGALTRADEMARKS1_STR
     
    #define VER_ORIGINALFILENAME_STR   "Olive.exe"
     
    #define VER_PRODUCTNAME_STR   "Olive"
     
    #define VER_COMPANYDOMAIN_STR   "www.olivevideoeditor.org"
     
    -

    Macro Definition Documentation

    - -

    ◆ VER_COMPANYDOMAIN_STR

    - -
    -
    - - - - -
    #define VER_COMPANYDOMAIN_STR   "www.olivevideoeditor.org"
    -
    - -
    -
    - -

    ◆ VER_COMPANYNAME_STR

    - -
    -
    - - - - -
    #define VER_COMPANYNAME_STR   "Olive Team"
    -
    - -
    -
    - -

    ◆ VER_FILEDESCRIPTION_STR

    - -
    -
    - - - - -
    #define VER_FILEDESCRIPTION_STR   "Olive"
    -
    - -
    -
    - -

    ◆ VER_FILEVERSION

    - -
    -
    - - - - -
    #define VER_FILEVERSION   1,0,0,0
    -
    - -
    -
    - -

    ◆ VER_FILEVERSION_STR

    - -
    -
    - - - - -
    #define VER_FILEVERSION_STR   "1.0.0.0\0"
    -
    - -
    -
    - -

    ◆ VER_INTERNALNAME_STR

    - -
    -
    - - - - -
    #define VER_INTERNALNAME_STR   "Olive"
    -
    - -
    -
    - -

    ◆ VER_LEGALCOPYRIGHT_STR

    - -
    -
    - - - - -
    #define VER_LEGALCOPYRIGHT_STR   "Copyright © 2018 Olive Team"
    -
    - -
    -
    - -

    ◆ VER_LEGALTRADEMARKS1_STR

    - -
    -
    - - - - -
    #define VER_LEGALTRADEMARKS1_STR   "All Rights Reserved"
    -
    - -
    -
    - -

    ◆ VER_LEGALTRADEMARKS2_STR

    - -
    -
    - - - - -
    #define VER_LEGALTRADEMARKS2_STR   VER_LEGALTRADEMARKS1_STR
    -
    - -
    -
    - -

    ◆ VER_ORIGINALFILENAME_STR

    - -
    -
    - - - - -
    #define VER_ORIGINALFILENAME_STR   "Olive.exe"
    -
    - -
    -
    - -

    ◆ VER_PRODUCTNAME_STR

    - -
    -
    - - - - -
    #define VER_PRODUCTNAME_STR   "Olive"
    -
    - -
    -
    - -

    ◆ VER_PRODUCTVERSION

    - -
    -
    - - - - -
    #define VER_PRODUCTVERSION   1,0,0,0
    -
    - -
    -
    - -

    ◆ VER_PRODUCTVERSION_STR

    - -
    -
    - - - - -
    #define VER_PRODUCTVERSION_STR   "1.0\0"
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/version_8h_source.html b/docs/html/version_8h_source.html deleted file mode 100644 index f4e3fc397..000000000 --- a/docs/html/version_8h_source.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - -Olive: packaging/windows/version.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    version.h
    -
    -
    -Go to the documentation of this file.
    1 #ifndef VERSION_H
    2 #define VERSION_H
    3 
    4 #define VER_FILEVERSION 1,0,0,0
    5 #define VER_FILEVERSION_STR "1.0.0.0\0"
    6 
    7 #define VER_PRODUCTVERSION 1,0,0,0
    8 #define VER_PRODUCTVERSION_STR "1.0\0"
    9 
    10 #define VER_COMPANYNAME_STR "Olive Team"
    11 #define VER_FILEDESCRIPTION_STR "Olive"
    12 #define VER_INTERNALNAME_STR "Olive"
    13 #define VER_LEGALCOPYRIGHT_STR "Copyright © 2018 Olive Team"
    14 #define VER_LEGALTRADEMARKS1_STR "All Rights Reserved"
    15 #define VER_LEGALTRADEMARKS2_STR VER_LEGALTRADEMARKS1_STR
    16 #define VER_ORIGINALFILENAME_STR "Olive.exe"
    17 #define VER_PRODUCTNAME_STR "Olive"
    18 
    19 #define VER_COMPANYDOMAIN_STR "www.olivevideoeditor.org"
    20 
    21 #endif // VERSION_H
    - - - - diff --git a/docs/html/vestige_8h.html b/docs/html/vestige_8h.html deleted file mode 100644 index 15e75bb35..000000000 --- a/docs/html/vestige_8h.html +++ /dev/null @@ -1,1953 +0,0 @@ - - - - - - - -Olive: include/vestige.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    vestige.h File Reference
    -
    -
    -
    #include <stdint.h>
    -
    -

    Go to the source code of this file.

    - - - - - - - - - - - - - - -

    -Classes

    struct  _VstMidiEvent
     
    struct  _VstEvent
     
    struct  _VstEvents
     
    struct  _VstParameterProperties
     
    struct  _AEffect
     
    struct  _VstTimeInfo
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Macros

    #define CCONST(a, b, c, d)
     
    #define audioMasterAutomate   0
     
    #define audioMasterVersion   1
     
    #define audioMasterCurrentId   2
     
    #define audioMasterIdle   3
     
    #define audioMasterPinConnected   4
     
    #define audioMasterWantMidi   6
     
    #define audioMasterGetTime   7
     
    #define audioMasterProcessEvents   8
     
    #define audioMasterSetTime   9
     
    #define audioMasterTempoAt   10
     
    #define audioMasterGetNumAutomatableParameters   11
     
    #define audioMasterGetParameterQuantization   12
     
    #define audioMasterIOChanged   13
     
    #define audioMasterNeedIdle   14
     
    #define audioMasterSizeWindow   15
     
    #define audioMasterGetSampleRate   16
     
    #define audioMasterGetBlockSize   17
     
    #define audioMasterGetInputLatency   18
     
    #define audioMasterGetOutputLatency   19
     
    #define audioMasterGetPreviousPlug   20
     
    #define audioMasterGetNextPlug   21
     
    #define audioMasterWillReplaceOrAccumulate   22
     
    #define audioMasterGetCurrentProcessLevel   23
     
    #define audioMasterGetAutomationState   24
     
    #define audioMasterOfflineStart   25
     
    #define audioMasterOfflineRead   26
     
    #define audioMasterOfflineWrite   27
     
    #define audioMasterOfflineGetCurrentPass   28
     
    #define audioMasterOfflineGetCurrentMetaPass   29
     
    #define audioMasterSetOutputSampleRate   30
     
    #define audioMasterGetSpeakerArrangement   31
     
    #define audioMasterGetVendorString   32
     
    #define audioMasterGetProductString   33
     
    #define audioMasterGetVendorVersion   34
     
    #define audioMasterVendorSpecific   35
     
    #define audioMasterSetIcon   36
     
    #define audioMasterCanDo   37
     
    #define audioMasterGetLanguage   38
     
    #define audioMasterOpenWindow   39
     
    #define audioMasterCloseWindow   40
     
    #define audioMasterGetDirectory   41
     
    #define audioMasterUpdateDisplay   42
     
    #define audioMasterBeginEdit   43
     
    #define audioMasterEndEdit   44
     
    #define audioMasterOpenFileSelector   45
     
    #define audioMasterCloseFileSelector   46
     
    #define audioMasterEditFile   47
     
    #define audioMasterGetChunkFile   48
     
    #define audioMasterGetInputSpeakerArrangement   49
     
    #define effFlagsHasEditor   1
     
    #define effFlagsCanReplacing   (1 << 4)
     
    #define effFlagsIsSynth   (1 << 8)
     
    #define effOpen   0
     
    #define effClose   1
     
    #define effSetProgram   2
     
    #define effGetProgram   3
     
    #define effGetProgramName   5
     
    #define effGetParamName   8
     
    #define effSetSampleRate   10
     
    #define effSetBlockSize   11
     
    #define effMainsChanged   12
     
    #define effEditGetRect   13
     
    #define effEditOpen   14
     
    #define effEditClose   15
     
    #define effEditIdle   19
     
    #define effEditTop   20
     
    #define effProcessEvents   25
     
    #define effGetPlugCategory   35
     
    #define effGetEffectName   45
     
    #define effGetVendorString   47
     
    #define effGetProductString   48
     
    #define effGetVendorVersion   49
     
    #define effCanDo   51
     
    #define effIdle   53
     
    #define effGetParameterProperties   56
     
    #define effGetVstVersion   58
     
    #define effShellGetNextPlugin   70
     
    #define effStartProcess   71
     
    #define effStopProcess   72
     
    #define effBeginSetProgram   67
     
    #define effEndSetProgram   68
     
    #define kEffectMagic   0x56737450
     
    #define kVstLangEnglish   1
     
    #define kVstMidiType   1
     
    #define kVstTransportChanged   1
     
    #define kVstTransportPlaying   (1 << 1)
     
    #define kVstTransportCycleActive   (1 << 2)
     
    #define kVstTransportRecording   (1 << 3)
     
    #define kVstAutomationWriting   (1 << 6)
     
    #define kVstAutomationReading   (1 << 7)
     
    #define kVstNanosValid   (1 << 8)
     
    #define kVstPpqPosValid   (1 << 9)
     
    #define kVstTempoValid   (1 << 10)
     
    #define kVstBarsValid   (1 << 11)
     
    #define kVstCyclePosValid   (1 << 12)
     
    #define kVstTimeSigValid   (1 << 13)
     
    #define kVstSmpteValid   (1 << 14)
     
    #define kVstClockValid   (1 << 15)
     
    - - - - - - - - - - - - - - - -

    -Typedefs

    typedef struct _VstMidiEvent VstMidiEvent
     
    typedef struct _VstEvent VstEvent
     
    typedef struct _VstEvents VstEvents
     
    typedef struct _VstParameterProperties VstParameterProperties
     
    typedef struct _AEffect AEffect
     
    typedef struct _VstTimeInfo VstTimeInfo
     
    typedef intptr_t(* audioMasterCallback) (AEffect *, int32_t, int32_t, intptr_t, void *, float)
     
    - - - - - - - -

    -Enumerations

    enum  Vestige2StringConstants {
    -  VestigeMaxNameLen = 64, -VestigeMaxLabelLen = 128, -VestigeMaxShortLabelLen = 8, -VestigeMaxCategLabelLen = 24, -
    -  VestigeMaxFileNameLen = 100 -
    - }
     
    enum  VstPlugCategory {
    -  kPlugCategUnknown = 0, -kPlugCategEffect, -kPlugCategSynth, -kPlugCategAnalysis, -
    -  kPlugCategMastering, -kPlugCategSpacializer, -kPlugCategRoomFx, -kPlugSurroundFx, -
    -  kPlugCategRestoration, -kPlugCategOfflineProcess, -kPlugCategShell, -kPlugCategGenerator, -
    -  kPlugCategMaxCount -
    - }
     
    enum  VstParameterFlags {
    -  kVstParameterIsSwitch = 1 << 0, -kVstParameterUsesIntegerMinMax = 1 << 1, -kVstParameterUsesFloatStep = 1 << 2, -kVstParameterUsesIntStep = 1 << 3, -
    -  kVstParameterSupportsDisplayIndex = 1 << 4, -kVstParameterSupportsDisplayCategory = 1 << 5, -kVstParameterCanRamp = 1 << 6 -
    - }
     
    -

    Macro Definition Documentation

    - -

    ◆ audioMasterAutomate

    - -
    -
    - - - - -
    #define audioMasterAutomate   0
    -
    - -
    -
    - -

    ◆ audioMasterBeginEdit

    - -
    -
    - - - - -
    #define audioMasterBeginEdit   43
    -
    - -
    -
    - -

    ◆ audioMasterCanDo

    - -
    -
    - - - - -
    #define audioMasterCanDo   37
    -
    - -
    -
    - -

    ◆ audioMasterCloseFileSelector

    - -
    -
    - - - - -
    #define audioMasterCloseFileSelector   46
    -
    - -
    -
    - -

    ◆ audioMasterCloseWindow

    - -
    -
    - - - - -
    #define audioMasterCloseWindow   40
    -
    - -
    -
    - -

    ◆ audioMasterCurrentId

    - -
    -
    - - - - -
    #define audioMasterCurrentId   2
    -
    - -
    -
    - -

    ◆ audioMasterEditFile

    - -
    -
    - - - - -
    #define audioMasterEditFile   47
    -
    - -
    -
    - -

    ◆ audioMasterEndEdit

    - -
    -
    - - - - -
    #define audioMasterEndEdit   44
    -
    - -
    -
    - -

    ◆ audioMasterGetAutomationState

    - -
    -
    - - - - -
    #define audioMasterGetAutomationState   24
    -
    - -
    -
    - -

    ◆ audioMasterGetBlockSize

    - -
    -
    - - - - -
    #define audioMasterGetBlockSize   17
    -
    - -
    -
    - -

    ◆ audioMasterGetChunkFile

    - -
    -
    - - - - -
    #define audioMasterGetChunkFile   48
    -
    - -
    -
    - -

    ◆ audioMasterGetCurrentProcessLevel

    - -
    -
    - - - - -
    #define audioMasterGetCurrentProcessLevel   23
    -
    - -
    -
    - -

    ◆ audioMasterGetDirectory

    - -
    -
    - - - - -
    #define audioMasterGetDirectory   41
    -
    - -
    -
    - -

    ◆ audioMasterGetInputLatency

    - -
    -
    - - - - -
    #define audioMasterGetInputLatency   18
    -
    - -
    -
    - -

    ◆ audioMasterGetInputSpeakerArrangement

    - -
    -
    - - - - -
    #define audioMasterGetInputSpeakerArrangement   49
    -
    - -
    -
    - -

    ◆ audioMasterGetLanguage

    - -
    -
    - - - - -
    #define audioMasterGetLanguage   38
    -
    - -
    -
    - -

    ◆ audioMasterGetNextPlug

    - -
    -
    - - - - -
    #define audioMasterGetNextPlug   21
    -
    - -
    -
    - -

    ◆ audioMasterGetNumAutomatableParameters

    - -
    -
    - - - - -
    #define audioMasterGetNumAutomatableParameters   11
    -
    - -
    -
    - -

    ◆ audioMasterGetOutputLatency

    - -
    -
    - - - - -
    #define audioMasterGetOutputLatency   19
    -
    - -
    -
    - -

    ◆ audioMasterGetParameterQuantization

    - -
    -
    - - - - -
    #define audioMasterGetParameterQuantization   12
    -
    - -
    -
    - -

    ◆ audioMasterGetPreviousPlug

    - -
    -
    - - - - -
    #define audioMasterGetPreviousPlug   20
    -
    - -
    -
    - -

    ◆ audioMasterGetProductString

    - -
    -
    - - - - -
    #define audioMasterGetProductString   33
    -
    - -
    -
    - -

    ◆ audioMasterGetSampleRate

    - -
    -
    - - - - -
    #define audioMasterGetSampleRate   16
    -
    - -
    -
    - -

    ◆ audioMasterGetSpeakerArrangement

    - -
    -
    - - - - -
    #define audioMasterGetSpeakerArrangement   31
    -
    - -
    -
    - -

    ◆ audioMasterGetTime

    - -
    -
    - - - - -
    #define audioMasterGetTime   7
    -
    - -
    -
    - -

    ◆ audioMasterGetVendorString

    - -
    -
    - - - - -
    #define audioMasterGetVendorString   32
    -
    - -
    -
    - -

    ◆ audioMasterGetVendorVersion

    - -
    -
    - - - - -
    #define audioMasterGetVendorVersion   34
    -
    - -
    -
    - -

    ◆ audioMasterIdle

    - -
    -
    - - - - -
    #define audioMasterIdle   3
    -
    - -
    -
    - -

    ◆ audioMasterIOChanged

    - -
    -
    - - - - -
    #define audioMasterIOChanged   13
    -
    - -
    -
    - -

    ◆ audioMasterNeedIdle

    - -
    -
    - - - - -
    #define audioMasterNeedIdle   14
    -
    - -
    -
    - -

    ◆ audioMasterOfflineGetCurrentMetaPass

    - -
    -
    - - - - -
    #define audioMasterOfflineGetCurrentMetaPass   29
    -
    - -
    -
    - -

    ◆ audioMasterOfflineGetCurrentPass

    - -
    -
    - - - - -
    #define audioMasterOfflineGetCurrentPass   28
    -
    - -
    -
    - -

    ◆ audioMasterOfflineRead

    - -
    -
    - - - - -
    #define audioMasterOfflineRead   26
    -
    - -
    -
    - -

    ◆ audioMasterOfflineStart

    - -
    -
    - - - - -
    #define audioMasterOfflineStart   25
    -
    - -
    -
    - -

    ◆ audioMasterOfflineWrite

    - -
    -
    - - - - -
    #define audioMasterOfflineWrite   27
    -
    - -
    -
    - -

    ◆ audioMasterOpenFileSelector

    - -
    -
    - - - - -
    #define audioMasterOpenFileSelector   45
    -
    - -
    -
    - -

    ◆ audioMasterOpenWindow

    - -
    -
    - - - - -
    #define audioMasterOpenWindow   39
    -
    - -
    -
    - -

    ◆ audioMasterPinConnected

    - -
    -
    - - - - -
    #define audioMasterPinConnected   4
    -
    - -
    -
    - -

    ◆ audioMasterProcessEvents

    - -
    -
    - - - - -
    #define audioMasterProcessEvents   8
    -
    - -
    -
    - -

    ◆ audioMasterSetIcon

    - -
    -
    - - - - -
    #define audioMasterSetIcon   36
    -
    - -
    -
    - -

    ◆ audioMasterSetOutputSampleRate

    - -
    -
    - - - - -
    #define audioMasterSetOutputSampleRate   30
    -
    - -
    -
    - -

    ◆ audioMasterSetTime

    - -
    -
    - - - - -
    #define audioMasterSetTime   9
    -
    - -
    -
    - -

    ◆ audioMasterSizeWindow

    - -
    -
    - - - - -
    #define audioMasterSizeWindow   15
    -
    - -
    -
    - -

    ◆ audioMasterTempoAt

    - -
    -
    - - - - -
    #define audioMasterTempoAt   10
    -
    - -
    -
    - -

    ◆ audioMasterUpdateDisplay

    - -
    -
    - - - - -
    #define audioMasterUpdateDisplay   42
    -
    - -
    -
    - -

    ◆ audioMasterVendorSpecific

    - -
    -
    - - - - -
    #define audioMasterVendorSpecific   35
    -
    - -
    -
    - -

    ◆ audioMasterVersion

    - -
    -
    - - - - -
    #define audioMasterVersion   1
    -
    - -
    -
    - -

    ◆ audioMasterWantMidi

    - -
    -
    - - - - -
    #define audioMasterWantMidi   6
    -
    - -
    -
    - -

    ◆ audioMasterWillReplaceOrAccumulate

    - -
    -
    - - - - -
    #define audioMasterWillReplaceOrAccumulate   22
    -
    - -
    -
    - -

    ◆ CCONST

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #define CCONST( a,
     b,
     c,
     
    )
    -
    -Value:
    ( ( ( (int) a ) << 24 ) | \
    ( ( (int) b ) << 16 ) | \
    ( ( (int) c ) << 8 ) | \
    ( ( (int) d ) << 0 ) )
    -
    -
    - -

    ◆ effBeginSetProgram

    - -
    -
    - - - - -
    #define effBeginSetProgram   67
    -
    - -
    -
    - -

    ◆ effCanDo

    - -
    -
    - - - - -
    #define effCanDo   51
    -
    - -
    -
    - -

    ◆ effClose

    - -
    -
    - - - - -
    #define effClose   1
    -
    - -
    -
    - -

    ◆ effEditClose

    - -
    -
    - - - - -
    #define effEditClose   15
    -
    - -
    -
    - -

    ◆ effEditGetRect

    - -
    -
    - - - - -
    #define effEditGetRect   13
    -
    - -
    -
    - -

    ◆ effEditIdle

    - -
    -
    - - - - -
    #define effEditIdle   19
    -
    - -
    -
    - -

    ◆ effEditOpen

    - -
    -
    - - - - -
    #define effEditOpen   14
    -
    - -
    -
    - -

    ◆ effEditTop

    - -
    -
    - - - - -
    #define effEditTop   20
    -
    - -
    -
    - -

    ◆ effEndSetProgram

    - -
    -
    - - - - -
    #define effEndSetProgram   68
    -
    - -
    -
    - -

    ◆ effFlagsCanReplacing

    - -
    -
    - - - - -
    #define effFlagsCanReplacing   (1 << 4)
    -
    - -
    -
    - -

    ◆ effFlagsHasEditor

    - -
    -
    - - - - -
    #define effFlagsHasEditor   1
    -
    - -
    -
    - -

    ◆ effFlagsIsSynth

    - -
    -
    - - - - -
    #define effFlagsIsSynth   (1 << 8)
    -
    - -
    -
    - -

    ◆ effGetEffectName

    - -
    -
    - - - - -
    #define effGetEffectName   45
    -
    - -
    -
    - -

    ◆ effGetParameterProperties

    - -
    -
    - - - - -
    #define effGetParameterProperties   56
    -
    - -
    -
    - -

    ◆ effGetParamName

    - -
    -
    - - - - -
    #define effGetParamName   8
    -
    - -
    -
    - -

    ◆ effGetPlugCategory

    - -
    -
    - - - - -
    #define effGetPlugCategory   35
    -
    - -
    -
    - -

    ◆ effGetProductString

    - -
    -
    - - - - -
    #define effGetProductString   48
    -
    - -
    -
    - -

    ◆ effGetProgram

    - -
    -
    - - - - -
    #define effGetProgram   3
    -
    - -
    -
    - -

    ◆ effGetProgramName

    - -
    -
    - - - - -
    #define effGetProgramName   5
    -
    - -
    -
    - -

    ◆ effGetVendorString

    - -
    -
    - - - - -
    #define effGetVendorString   47
    -
    - -
    -
    - -

    ◆ effGetVendorVersion

    - -
    -
    - - - - -
    #define effGetVendorVersion   49
    -
    - -
    -
    - -

    ◆ effGetVstVersion

    - -
    -
    - - - - -
    #define effGetVstVersion   58
    -
    - -
    -
    - -

    ◆ effIdle

    - -
    -
    - - - - -
    #define effIdle   53
    -
    - -
    -
    - -

    ◆ effMainsChanged

    - -
    -
    - - - - -
    #define effMainsChanged   12
    -
    - -
    -
    - -

    ◆ effOpen

    - -
    -
    - - - - -
    #define effOpen   0
    -
    - -
    -
    - -

    ◆ effProcessEvents

    - -
    -
    - - - - -
    #define effProcessEvents   25
    -
    - -
    -
    - -

    ◆ effSetBlockSize

    - -
    -
    - - - - -
    #define effSetBlockSize   11
    -
    - -
    -
    - -

    ◆ effSetProgram

    - -
    -
    - - - - -
    #define effSetProgram   2
    -
    - -
    -
    - -

    ◆ effSetSampleRate

    - -
    -
    - - - - -
    #define effSetSampleRate   10
    -
    - -
    -
    - -

    ◆ effShellGetNextPlugin

    - -
    -
    - - - - -
    #define effShellGetNextPlugin   70
    -
    - -
    -
    - -

    ◆ effStartProcess

    - -
    -
    - - - - -
    #define effStartProcess   71
    -
    - -
    -
    - -

    ◆ effStopProcess

    - -
    -
    - - - - -
    #define effStopProcess   72
    -
    - -
    -
    - -

    ◆ kEffectMagic

    - -
    -
    - - - - -
    #define kEffectMagic   0x56737450
    -
    - -
    -
    - -

    ◆ kVstAutomationReading

    - -
    -
    - - - - -
    #define kVstAutomationReading   (1 << 7)
    -
    - -
    -
    - -

    ◆ kVstAutomationWriting

    - -
    -
    - - - - -
    #define kVstAutomationWriting   (1 << 6)
    -
    - -
    -
    - -

    ◆ kVstBarsValid

    - -
    -
    - - - - -
    #define kVstBarsValid   (1 << 11)
    -
    - -
    -
    - -

    ◆ kVstClockValid

    - -
    -
    - - - - -
    #define kVstClockValid   (1 << 15)
    -
    - -
    -
    - -

    ◆ kVstCyclePosValid

    - -
    -
    - - - - -
    #define kVstCyclePosValid   (1 << 12)
    -
    - -
    -
    - -

    ◆ kVstLangEnglish

    - -
    -
    - - - - -
    #define kVstLangEnglish   1
    -
    - -
    -
    - -

    ◆ kVstMidiType

    - -
    -
    - - - - -
    #define kVstMidiType   1
    -
    - -
    -
    - -

    ◆ kVstNanosValid

    - -
    -
    - - - - -
    #define kVstNanosValid   (1 << 8)
    -
    - -
    -
    - -

    ◆ kVstPpqPosValid

    - -
    -
    - - - - -
    #define kVstPpqPosValid   (1 << 9)
    -
    - -
    -
    - -

    ◆ kVstSmpteValid

    - -
    -
    - - - - -
    #define kVstSmpteValid   (1 << 14)
    -
    - -
    -
    - -

    ◆ kVstTempoValid

    - -
    -
    - - - - -
    #define kVstTempoValid   (1 << 10)
    -
    - -
    -
    - -

    ◆ kVstTimeSigValid

    - -
    -
    - - - - -
    #define kVstTimeSigValid   (1 << 13)
    -
    - -
    -
    - -

    ◆ kVstTransportChanged

    - -
    -
    - - - - -
    #define kVstTransportChanged   1
    -
    - -
    -
    - -

    ◆ kVstTransportCycleActive

    - -
    -
    - - - - -
    #define kVstTransportCycleActive   (1 << 2)
    -
    - -
    -
    - -

    ◆ kVstTransportPlaying

    - -
    -
    - - - - -
    #define kVstTransportPlaying   (1 << 1)
    -
    - -
    -
    - -

    ◆ kVstTransportRecording

    - -
    -
    - - - - -
    #define kVstTransportRecording   (1 << 3)
    -
    - -
    -
    -

    Typedef Documentation

    - -

    ◆ AEffect

    - -
    -
    - - - - -
    typedef struct _AEffect AEffect
    -
    - -
    -
    - -

    ◆ audioMasterCallback

    - -
    -
    - - - - -
    typedef intptr_t(* audioMasterCallback) (AEffect *, int32_t, int32_t, intptr_t, void *, float)
    -
    - -
    -
    - -

    ◆ VstEvent

    - -
    -
    - - - - -
    typedef struct _VstEvent VstEvent
    -
    - -
    -
    - -

    ◆ VstEvents

    - -
    -
    - - - - -
    typedef struct _VstEvents VstEvents
    -
    - -
    -
    - -

    ◆ VstMidiEvent

    - -
    -
    - - - - -
    typedef struct _VstMidiEvent VstMidiEvent
    -
    - -
    -
    - -

    ◆ VstParameterProperties

    - -
    -
    - -
    -
    - -

    ◆ VstTimeInfo

    - -
    -
    - - - - -
    typedef struct _VstTimeInfo VstTimeInfo
    -
    - -
    -
    -

    Enumeration Type Documentation

    - -

    ◆ Vestige2StringConstants

    - -
    -
    - - - - -
    enum Vestige2StringConstants
    -
    - - - - - - -
    Enumerator
    VestigeMaxNameLen 
    VestigeMaxLabelLen 
    VestigeMaxShortLabelLen 
    VestigeMaxCategLabelLen 
    VestigeMaxFileNameLen 
    - -
    -
    - -

    ◆ VstParameterFlags

    - -
    -
    - - - - -
    enum VstParameterFlags
    -
    - - - - - - - - -
    Enumerator
    kVstParameterIsSwitch 
    kVstParameterUsesIntegerMinMax 
    kVstParameterUsesFloatStep 
    kVstParameterUsesIntStep 
    kVstParameterSupportsDisplayIndex 
    kVstParameterSupportsDisplayCategory 
    kVstParameterCanRamp 
    - -
    -
    - -

    ◆ VstPlugCategory

    - -
    -
    - - - - -
    enum VstPlugCategory
    -
    - - - - - - - - - - - - - - -
    Enumerator
    kPlugCategUnknown 
    kPlugCategEffect 
    kPlugCategSynth 
    kPlugCategAnalysis 
    kPlugCategMastering 
    kPlugCategSpacializer 
    kPlugCategRoomFx 
    kPlugSurroundFx 
    kPlugCategRestoration 
    kPlugCategOfflineProcess 
    kPlugCategShell 
    kPlugCategGenerator 
    kPlugCategMaxCount 
    - -
    -
    -
    - - - - diff --git a/docs/html/vestige_8h_source.html b/docs/html/vestige_8h_source.html deleted file mode 100644 index 2cfff7fcd..000000000 --- a/docs/html/vestige_8h_source.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Olive: include/vestige.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    vestige.h
    -
    -
    -Go to the documentation of this file.
    1 /*
    2  * vestige.h - simple header to allow VeSTige compilation and eventually work
    3  *
    4  * Copyright (c) 2006 Javier Serrano Polo <jasp00/at/users.sourceforge.net>
    5  *
    6  * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
    7  *
    8  * This program is free software; you can redistribute it and/or
    9  * modify it under the terms of the GNU General Public
    10  * License as published by the Free Software Foundation; either
    11  * version 2 of the License, or (at your option) any later version.
    12  *
    13  * This program is distributed in the hope that it will be useful,
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    16  * General Public License for more details.
    17  *
    18  * You should have received a copy of the GNU General Public
    19  * License along with this program (see COPYING); if not, write to the
    20  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    21  * Boston, MA 02110-1301 USA.
    22  *
    23  * This VeSTige header is included in this package in the good-faith
    24  * belief that it has been cleanly and legally reverse engineered
    25  * without reference to the official VST SDK and without its
    26  * developer(s) having agreed to the VST SDK license agreement.
    27  */
    28 
    29 #include <stdint.h>
    30 #ifndef _VESTIGE_H
    31 #define _VESTIGE_H
    32 
    33 #define CCONST(a, b, c, d)( ( ( (int) a ) << 24 ) | \
    34  ( ( (int) b ) << 16 ) | \
    35  ( ( (int) c ) << 8 ) | \
    36  ( ( (int) d ) << 0 ) )
    37 
    38 #define audioMasterAutomate 0
    39 #define audioMasterVersion 1
    40 #define audioMasterCurrentId 2
    41 #define audioMasterIdle 3
    42 #define audioMasterPinConnected 4
    43 // unsupported? 5
    44 #define audioMasterWantMidi 6
    45 #define audioMasterGetTime 7
    46 #define audioMasterProcessEvents 8
    47 #define audioMasterSetTime 9
    48 #define audioMasterTempoAt 10
    49 #define audioMasterGetNumAutomatableParameters 11
    50 #define audioMasterGetParameterQuantization 12
    51 #define audioMasterIOChanged 13
    52 #define audioMasterNeedIdle 14
    53 #define audioMasterSizeWindow 15
    54 #define audioMasterGetSampleRate 16
    55 #define audioMasterGetBlockSize 17
    56 #define audioMasterGetInputLatency 18
    57 #define audioMasterGetOutputLatency 19
    58 #define audioMasterGetPreviousPlug 20
    59 #define audioMasterGetNextPlug 21
    60 #define audioMasterWillReplaceOrAccumulate 22
    61 #define audioMasterGetCurrentProcessLevel 23
    62 #define audioMasterGetAutomationState 24
    63 #define audioMasterOfflineStart 25
    64 #define audioMasterOfflineRead 26
    65 #define audioMasterOfflineWrite 27
    66 #define audioMasterOfflineGetCurrentPass 28
    67 #define audioMasterOfflineGetCurrentMetaPass 29
    68 #define audioMasterSetOutputSampleRate 30
    69 // unsupported? 31
    70 #define audioMasterGetSpeakerArrangement 31 // deprecated in 2.4?
    71 #define audioMasterGetVendorString 32
    72 #define audioMasterGetProductString 33
    73 #define audioMasterGetVendorVersion 34
    74 #define audioMasterVendorSpecific 35
    75 #define audioMasterSetIcon 36
    76 #define audioMasterCanDo 37
    77 #define audioMasterGetLanguage 38
    78 #define audioMasterOpenWindow 39
    79 #define audioMasterCloseWindow 40
    80 #define audioMasterGetDirectory 41
    81 #define audioMasterUpdateDisplay 42
    82 #define audioMasterBeginEdit 43 //BeginGesture
    83 #define audioMasterEndEdit 44 //EndGesture
    84 #define audioMasterOpenFileSelector 45
    85 #define audioMasterCloseFileSelector 46 // currently unused
    86 #define audioMasterEditFile 47 // currently unused
    87 #define audioMasterGetChunkFile 48 // currently unused
    88 #define audioMasterGetInputSpeakerArrangement 49 // currently unused
    89 
    90 #define effFlagsHasEditor 1
    91 #define effFlagsCanReplacing (1 << 4) // very likely
    92 #define effFlagsIsSynth (1 << 8) // currently unused
    93 
    94 #define effOpen 0
    95 #define effClose 1 // currently unused
    96 #define effSetProgram 2 // currently unused
    97 #define effGetProgram 3 // currently unused
    98 #define effGetProgramName 5 // currently unused
    99 #define effGetParamName 8 // currently unused
    100 #define effSetSampleRate 10
    101 #define effSetBlockSize 11
    102 #define effMainsChanged 12
    103 #define effEditGetRect 13
    104 #define effEditOpen 14
    105 #define effEditClose 15
    106 #define effEditIdle 19
    107 #define effEditTop 20
    108 #define effProcessEvents 25
    109 // the next one from http://asseca.com/vst-24-specs/index.html
    110 #define effGetPlugCategory 35
    111 #define effGetEffectName 45
    112 #define effGetVendorString 47
    113 #define effGetProductString 48
    114 #define effGetVendorVersion 49
    115 #define effCanDo 51 // currently unused
    116 /* from http://asseca.com/vst-24-specs/efIdle.html */
    117 #define effIdle 53
    118 /* from http://asseca.com/vst-24-specs/efGetParameterProperties.html */
    119 #define effGetParameterProperties 56
    120 #define effGetVstVersion 58 // currently unused
    121 /* http://asseca.com/vst-24-specs/efShellGetNextPlugin.html */
    122 #define effShellGetNextPlugin 70
    123 /* The next two were gleaned from http://www.kvraudio.com/forum/printview.php?t=143587&start=0 */
    124 #define effStartProcess 71
    125 #define effStopProcess 72
    126 
    127 #define effBeginSetProgram 67
    128 #define effEndSetProgram 68
    129 
    130 #ifdef WORDS_BIGENDIAN
    131 // "VstP"
    132 #define kEffectMagic 0x50747356
    133 #else
    134 // "PtsV"
    135 #define kEffectMagic 0x56737450
    136 #endif
    137 
    138 #define kVstLangEnglish 1
    139 #define kVstMidiType 1
    140 
    141 struct RemoteVstPlugin;
    142 
    143 #define kVstTransportChanged 1
    144 #define kVstTransportPlaying (1 << 1)
    145 #define kVstTransportCycleActive (1 << 2)
    146 #define kVstTransportRecording (1 << 3)
    147 
    148 #define kVstAutomationWriting (1 << 6)
    149 #define kVstAutomationReading (1 << 7)
    150 
    151 #define kVstNanosValid (1 << 8)
    152 #define kVstPpqPosValid (1 << 9)
    153 #define kVstTempoValid (1 << 10)
    154 #define kVstBarsValid (1 << 11)
    155 #define kVstCyclePosValid (1 << 12)
    156 #define kVstTimeSigValid (1 << 13)
    157 #define kVstSmpteValid (1 << 14)
    158 #define kVstClockValid (1 << 15)
    159 
    161 {
    162  // 00
    163  int type;
    164  // 04
    165  int byteSize;
    166  // 08
    168  // 0c?
    169  int flags;
    170  // 10?
    172  // 14?
    174  // 18
    175  char midiData[4];
    176  // 1c?
    177  char detune;
    178  // 1d?
    180  // 1e?
    181  char reserved1;
    182  // 1f?
    183  char reserved2;
    184 };
    185 
    187 
    188 
    189 struct _VstEvent
    190 {
    191  char dump[sizeof (VstMidiEvent)];
    192 
    193 };
    194 
    195 typedef struct _VstEvent VstEvent;
    196 
    198 {
    199  // 00
    201  // 04
    202  void *reserved;
    203  // 08
    205 };
    206 
    207 /* constants from http://www.rawmaterialsoftware.com/juceforum/viewtopic.php?t=3740&sid=183f74631fee71a493316735e2b9f28b */
    208 
    210 {
    216 };
    217 
    218 
    219 /* constants from http://asseca.com/vst-24-specs/efGetPlugCategory.html */
    220 
    222 {
    236 };
    237 
    238 typedef struct _VstEvents VstEvents;
    239 
    240 /* this struct taken from http://asseca.com/vst-24-specs/efGetParameterProperties.html */
    242 {
    243  float stepFloat; /* float step */
    244  float smallStepFloat; /* small float step */
    245  float largeStepFloat; /* large float step */
    246  char label[64]; /* parameter label */
    247  int32_t flags; /* @see VstParameterFlags */
    248  int32_t minInteger; /* integer minimum */
    249  int32_t maxInteger; /* integer maximum */
    250  int32_t stepInteger; /* integer step */
    251  int32_t largeStepInteger; /* large integer step */
    252  char shortLabel[VestigeMaxShortLabelLen]; /* short label, recommended: 6 + delimiter */
    253  int16_t displayIndex; /* index where this parameter should be displayed (starting with 0) */
    254  int16_t category; /* 0: no category, else group index + 1 */
    255  int16_t numParametersInCategory; /* number of parameters in category */
    256  int16_t reserved; /* zero */
    257  char categoryLabel[VestigeMaxCategLabelLen]; /* category label, e.g. "Osc 1" */
    258  char future[16]; /* reserved for future use */
    259 };
    260 
    262 
    263 /* this enum taken from http://asseca.com/vst-24-specs/efGetParameterProperties.html */
    265 {
    266  kVstParameterIsSwitch = 1 << 0, /* parameter is a switch (on/off) */
    267  kVstParameterUsesIntegerMinMax = 1 << 1, /* minInteger, maxInteger valid */
    268  kVstParameterUsesFloatStep = 1 << 2, /* stepFloat, smallStepFloat, largeStepFloat valid */
    269  kVstParameterUsesIntStep = 1 << 3, /* stepInteger, largeStepInteger valid */
    270  kVstParameterSupportsDisplayIndex = 1 << 4, /* displayIndex valid */
    271  kVstParameterSupportsDisplayCategory = 1 << 5, /* category, etc. valid */
    272  kVstParameterCanRamp = 1 << 6 /* set if parameter value can ramp up/down */
    273 };
    274 
    275 struct _AEffect
    276 {
    277  // Never use virtual functions!!!
    278  // 00-03
    279  int magic;
    280  // dispatcher 04-07
    281  intptr_t (* dispatcher) (struct _AEffect *, int, int, intptr_t, void *, float);
    282  // process, quite sure 08-0b
    283  void (* process) (struct _AEffect *, float **, float **, int);
    284  // setParameter 0c-0f
    285  void (* setParameter) (struct _AEffect *, int, float);
    286  // getParameter 10-13
    287  float (* getParameter) (struct _AEffect *, int);
    288  // programs 14-17
    290  // Params 18-1b
    292  // Input 1c-1f
    294  // Output 20-23
    296  // flags 24-27
    297  int flags;
    298  // Fill somewhere 28-2b
    299  void *ptr1;
    300  void *ptr2;
    301  // Zeroes 2c-2f 30-33 34-37 38-3b
    302  char empty3[4 + 4 + 4];
    303  // 1.0f 3c-3f
    305  // An object? pointer 40-43
    306  void *ptr3;
    307  // Zeroes 44-47
    308  void *user;
    309  // Id 48-4b
    310  int32_t uniqueID;
    311  // Version 4c-4f
    312  int32_t version;
    313  // processReplacing 50-53
    314  void (* processReplacing) (struct _AEffect *, float **, float **, int);
    315 };
    316 
    317 typedef struct _AEffect AEffect;
    318 
    319 typedef struct _VstTimeInfo
    320 {
    321  /* info from online documentation of VST provided by Steinberg */
    322 
    323  double samplePos;
    324  double sampleRate;
    325  double nanoSeconds;
    326  double ppqPos;
    327  double tempo;
    328  double barStartPos;
    330  double cycleEndPos;
    333  int32_t smpteOffset;
    334  int32_t smpteFrameRate;
    336  int32_t flags;
    337 
    338 } VstTimeInfo;
    339 
    340 typedef intptr_t (* audioMasterCallback) (AEffect *, int32_t, int32_t, intptr_t, void *, float);
    341 
    342 #endif
    double tempo
    Definition: vestige.h:327
    -
    char label[64]
    Definition: vestige.h:246
    -
    int32_t maxInteger
    Definition: vestige.h:249
    -
    int noteLength
    Definition: vestige.h:171
    -
    void * reserved
    Definition: vestige.h:202
    -
    int numInputs
    Definition: vestige.h:293
    -
    int numOutputs
    Definition: vestige.h:295
    -
    Definition: vestige.h:233
    -
    void * ptr3
    Definition: vestige.h:306
    -
    int numPrograms
    Definition: vestige.h:289
    -
    int32_t largeStepInteger
    Definition: vestige.h:251
    -
    Definition: vestige.h:226
    -
    double barStartPos
    Definition: vestige.h:328
    -
    int16_t reserved
    Definition: vestige.h:256
    -
    int32_t version
    Definition: vestige.h:312
    -
    float largeStepFloat
    Definition: vestige.h:245
    -
    Definition: vestige.h:229
    -
    float smallStepFloat
    Definition: vestige.h:244
    -
    Definition: vestige.h:267
    -
    int32_t flags
    Definition: vestige.h:336
    -
    int noteOffset
    Definition: vestige.h:173
    -
    int32_t stepInteger
    Definition: vestige.h:250
    -
    int32_t samplesToNextClock
    Definition: vestige.h:335
    -
    double samplePos
    Definition: vestige.h:323
    -
    char empty3[4+4+4]
    Definition: vestige.h:302
    -
    Definition: vestige.h:319
    -
    int32_t minInteger
    Definition: vestige.h:248
    -
    Definition: vestige.h:214
    -
    Vestige2StringConstants
    Definition: vestige.h:209
    -
    double sampleRate
    Definition: vestige.h:324
    -
    int numParams
    Definition: vestige.h:291
    -
    char midiData[4]
    Definition: vestige.h:175
    -
    int32_t smpteOffset
    Definition: vestige.h:333
    -
    Definition: vestige.h:235
    -
    Definition: vestige.h:213
    -
    Definition: vestige.h:227
    -
    char shortLabel[VestigeMaxShortLabelLen]
    Definition: vestige.h:252
    -
    void(* processReplacing)(struct _AEffect *, float **, float **, int)
    Definition: vestige.h:314
    -
    Definition: vestige.h:223
    -
    char dump[sizeof(VstMidiEvent)]
    Definition: vestige.h:191
    -
    int32_t flags
    Definition: vestige.h:247
    -
    Definition: vestige.h:224
    -
    double cycleEndPos
    Definition: vestige.h:330
    -
    Definition: vestige.h:211
    -
    Definition: vestige.h:232
    -
    Definition: vestige.h:234
    -
    void * user
    Definition: vestige.h:308
    -
    double ppqPos
    Definition: vestige.h:326
    -
    intptr_t(* audioMasterCallback)(AEffect *, int32_t, int32_t, intptr_t, void *, float)
    Definition: vestige.h:340
    -
    Definition: vestige.h:197
    -
    int deltaSamples
    Definition: vestige.h:167
    -
    Definition: vestige.h:271
    -
    Definition: vestige.h:212
    -
    Definition: vestige.h:275
    -
    char detune
    Definition: vestige.h:177
    -
    Definition: vestige.h:270
    -
    int type
    Definition: vestige.h:163
    -
    struct _VstMidiEvent VstMidiEvent
    Definition: vestige.h:186
    -
    int magic
    Definition: vestige.h:279
    -
    Definition: vestige.h:230
    -
    Definition: vestige.h:269
    -
    int numEvents
    Definition: vestige.h:200
    -
    Definition: vestige.h:215
    -
    float unkown_float
    Definition: vestige.h:304
    -
    intptr_t(* dispatcher)(struct _AEffect *, int, int, intptr_t, void *, float)
    Definition: vestige.h:281
    -
    Definition: vestige.h:228
    -
    int32_t smpteFrameRate
    Definition: vestige.h:334
    -
    struct _VstTimeInfo VstTimeInfo
    -
    Definition: vestige.h:268
    -
    float stepFloat
    Definition: vestige.h:243
    -
    char reserved2
    Definition: vestige.h:183
    -
    double nanoSeconds
    Definition: vestige.h:325
    -
    VstPlugCategory
    Definition: vestige.h:221
    -
    Definition: vestige.h:272
    -
    void * ptr2
    Definition: vestige.h:300
    -
    int byteSize
    Definition: vestige.h:165
    -
    int flags
    Definition: vestige.h:169
    -
    Definition: vestige.h:266
    -
    int16_t category
    Definition: vestige.h:254
    -
    Definition: vestige.h:189
    -
    void(* process)(struct _AEffect *, float **, float **, int)
    Definition: vestige.h:283
    -
    float(* getParameter)(struct _AEffect *, int)
    Definition: vestige.h:287
    -
    void(* setParameter)(struct _AEffect *, int, float)
    Definition: vestige.h:285
    -
    char categoryLabel[VestigeMaxCategLabelLen]
    Definition: vestige.h:257
    -
    int32_t timeSigDenominator
    Definition: vestige.h:332
    -
    char noteOffVelocity
    Definition: vestige.h:179
    -
    Definition: vestige.h:231
    -
    int16_t displayIndex
    Definition: vestige.h:253
    -
    Definition: vestige.h:225
    -
    int32_t uniqueID
    Definition: vestige.h:310
    -
    Definition: vestige.h:241
    -
    int flags
    Definition: vestige.h:297
    -
    void * ptr1
    Definition: vestige.h:299
    -
    int16_t numParametersInCategory
    Definition: vestige.h:255
    -
    Definition: vestige.h:160
    -
    char future[16]
    Definition: vestige.h:258
    -
    int32_t timeSigNumerator
    Definition: vestige.h:331
    -
    char reserved1
    Definition: vestige.h:181
    -
    VstParameterFlags
    Definition: vestige.h:264
    -
    VstEvent * events[]
    Definition: vestige.h:204
    -
    double cycleStartPos
    Definition: vestige.h:329
    -
    - - - - diff --git a/docs/html/viewer_8cpp.html b/docs/html/viewer_8cpp.html deleted file mode 100644 index 5d37bb2c0..000000000 --- a/docs/html/viewer_8cpp.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - -Olive: panels/viewer.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    viewer.cpp File Reference
    -
    -
    -
    #include "viewer.h"
    -#include "playback/audio.h"
    -#include "timeline.h"
    -#include "panels/project.h"
    -#include "panels/effectcontrols.h"
    -#include "project/sequence.h"
    -#include "project/clip.h"
    -#include "panels/panels.h"
    -#include "io/config.h"
    -#include "project/footage.h"
    -#include "project/media.h"
    -#include "project/undo.h"
    -#include "ui/audiomonitor.h"
    -#include "playback/playback.h"
    -#include "ui/viewercontainer.h"
    -#include "ui/labelslider.h"
    -#include "ui/timelineheader.h"
    -#include "ui/resizablescrollbar.h"
    -#include "debug.h"
    -#include <libavformat/avformat.h>
    -#include <libavcodec/avcodec.h>
    -#include <QtMath>
    -#include <QAudioOutput>
    -#include <QPainter>
    -#include <QStringList>
    -#include <QTimer>
    -#include <QHBoxLayout>
    -#include <QPushButton>
    -
    - - - - - -

    -Macros

    #define FRAMES_IN_ONE_MINUTE   1798
     
    #define FRAMES_IN_TEN_MINUTES   17978
     
    - - - - - - - -

    -Functions

    long timecode_to_frame (const QString &s, int view, double frame_rate)
     
    QString frame_to_timecode (long f, int view, double frame_rate)
     
    bool frame_rate_is_droppable (double rate)
     
    -

    Macro Definition Documentation

    - -

    ◆ FRAMES_IN_ONE_MINUTE

    - -
    -
    - - - - -
    #define FRAMES_IN_ONE_MINUTE   1798
    -
    - -
    -
    - -

    ◆ FRAMES_IN_TEN_MINUTES

    - -
    -
    - - - - -
    #define FRAMES_IN_TEN_MINUTES   17978
    -
    - -
    -
    -

    Function Documentation

    - -

    ◆ frame_rate_is_droppable()

    - -
    -
    - - - - - - - - -
    bool frame_rate_is_droppable (double rate)
    -
    - -
    -
    - -

    ◆ frame_to_timecode()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    QString frame_to_timecode (long f,
    int view,
    double frame_rate 
    )
    -
    - -
    -
    - -

    ◆ timecode_to_frame()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    long timecode_to_frame (const QString & s,
    int view,
    double frame_rate 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/viewer_8h.html b/docs/html/viewer_8h.html deleted file mode 100644 index 7fc768f0f..000000000 --- a/docs/html/viewer_8h.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - -Olive: panels/viewer.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    viewer.h File Reference
    -
    -
    -
    #include <QTimer>
    -#include <QIcon>
    -#include <QLabel>
    -#include <QPushButton>
    -#include "project/marker.h"
    -#include "project/media.h"
    -#include "ui/panel.h"
    -#include "ui/viewerwidget.h"
    -#include "ui/timelinewidget.h"
    -#include "ui/timelineheader.h"
    -#include "ui/labelslider.h"
    -#include "ui/resizablescrollbar.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  Viewer
     
    - - - - - - - -

    -Functions

    bool frame_rate_is_droppable (double rate)
     
    long timecode_to_frame (const QString &s, int view, double frame_rate)
     
    QString frame_to_timecode (long f, int view, double frame_rate)
     
    -

    Function Documentation

    - -

    ◆ frame_rate_is_droppable()

    - -
    -
    - - - - - - - - -
    bool frame_rate_is_droppable (double rate)
    -
    - -
    -
    - -

    ◆ frame_to_timecode()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    QString frame_to_timecode (long f,
    int view,
    double frame_rate 
    )
    -
    - -
    -
    - -

    ◆ timecode_to_frame()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    long timecode_to_frame (const QString & s,
    int view,
    double frame_rate 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/viewer_8h_source.html b/docs/html/viewer_8h_source.html deleted file mode 100644 index 0b85efa42..000000000 --- a/docs/html/viewer_8h_source.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - -Olive: panels/viewer.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    viewer.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef VIEWER_H
    22 #define VIEWER_H
    23 
    24 #include <QTimer>
    25 #include <QIcon>
    26 #include <QLabel>
    27 #include <QPushButton>
    28 
    29 #include "project/marker.h"
    30 #include "project/media.h"
    31 
    32 #include "ui/panel.h"
    33 #include "ui/viewerwidget.h"
    34 #include "ui/timelinewidget.h"
    35 #include "ui/timelineheader.h"
    36 #include "ui/labelslider.h"
    37 #include "ui/resizablescrollbar.h"
    38 
    39 bool frame_rate_is_droppable(double rate);
    40 long timecode_to_frame(const QString& s, int view, double frame_rate);
    41 QString frame_to_timecode(long f, int view, double frame_rate);
    42 
    43 class Viewer : public Panel
    44 {
    45  Q_OBJECT
    46 
    47 public:
    48  explicit Viewer(QWidget *parent = nullptr);
    49  ~Viewer();
    50 
    51  bool is_focused();
    52  bool is_main_sequence();
    53  void set_main_sequence();
    54  void set_media(Media *m);
    55  void compose();
    56  void set_playpause_icon(bool play);
    57  void update_playhead_timecode(long p);
    58  void update_end_timecode();
    59  void update_header_zoom();
    60  void clear_in();
    61  void clear_out();
    62  void clear_inout_point();
    63  void set_in_point();
    64  void set_out_point();
    65  void set_zoom(bool in);
    66  void set_panel_name(const QString& n);
    67 
    68  // playback functions
    69  void seek(long p);
    70  void play(bool in_to_out = false);
    71  void pause();
    72  bool playing;
    74  qint64 start_msecs;
    77 
    78  void cue_recording(long start, long end, int track);
    79  void uncue_recording();
    80  bool is_recording_cued();
    84 
    85  void reset_all_audio();
    86  void update_parents(bool reload_fx = false);
    87 
    88  int get_playback_speed();
    89 
    91 
    94  QVector<Marker>* marker_ref;
    95 
    96  void set_marker();
    97 
    99 
    100  void resizeEvent(QResizeEvent *event);
    101 
    102 protected:
    103  virtual void Retranslate() override;
    104 
    105 public slots:
    106  void play_wake();
    107  void go_to_start();
    108  void go_to_in();
    109  void previous_frame();
    110  void toggle_play();
    111  void increase_speed();
    112  void decrease_speed();
    113  void next_frame();
    114  void go_to_out();
    115  void go_to_end();
    116  void close_media();
    117  void update_viewer();
    118 
    119 private slots:
    120  void update_playhead();
    121  void timer_update();
    123  void resize_move(double d);
    124 
    125 private:
    126 
    127  void update_window_title();
    128  void clean_created_seq();
    129  void set_sequence(bool main, SequencePtr s);
    133  QString panel_name;
    134  double minimum_zoom;
    137  void set_zoom_value(double d);
    138  void set_sb_max();
    139  void set_playback_speed(int s);
    140 
    141  long get_seq_in();
    142  long get_seq_out();
    143 
    144  QIcon playIcon;
    145 
    146  void setup_ui();
    147 
    151  QLabel* end_timecode;
    152 
    153  QPushButton* go_to_start_button;
    154  QPushButton* prev_frame_button;
    155  QPushButton* play_button;
    156  QPushButton* next_frame_button;
    157  QPushButton* go_to_end_frame;
    158 
    161 
    164 };
    165 
    166 #endif // VIEWER_H
    bool playing_in_to_out
    Definition: viewer.h:135
    -
    bool cue_recording_internal
    Definition: viewer.h:159
    -
    void play_wake()
    Definition: viewer.cpp:415
    -
    void update_playhead()
    Definition: viewer.cpp:798
    -
    void seek(long p)
    Definition: viewer.cpp:270
    -
    void set_zoom_value(double d)
    Definition: viewer.cpp:582
    -
    bool frame_rate_is_droppable(double rate)
    Definition: viewer.cpp:266
    -
    SequencePtr seq
    Definition: viewer.h:93
    - -
    void resizeEvent(QResizeEvent *event)
    Definition: viewer.cpp:508
    -
    Definition: viewercontainer.h:29
    -
    QTimer playback_updater
    Definition: viewer.h:75
    - -
    void go_to_out()
    Definition: viewer.cpp:322
    -
    long get_seq_in()
    Definition: viewer.cpp:607
    -
    void setup_ui()
    Definition: viewer.cpp:619
    -
    long previous_playhead
    Definition: viewer.h:162
    -
    QPushButton * go_to_start_button
    Definition: viewer.h:153
    -
    void update_header_zoom()
    Definition: viewer.cpp:477
    -
    void clear_in()
    Definition: viewer.cpp:525
    - -
    double minimum_zoom
    Definition: viewer.h:134
    -
    void previous_frame()
    Definition: viewer.cpp:314
    -
    bool is_focused()
    Definition: viewer.cpp:104
    -
    void update_playhead_timecode(long p)
    Definition: viewer.cpp:469
    -
    long timecode_to_frame(const QString &s, int view, double frame_rate)
    Definition: viewer.cpp:144
    -
    ~Viewer()
    Definition: viewer.cpp:98
    -
    virtual void Retranslate() override
    Definition: viewer.cpp:100
    -
    void set_panel_name(const QString &n)
    Definition: viewer.cpp:567
    -
    QPushButton * play_button
    Definition: viewer.h:155
    -
    void recording_flasher_update()
    Definition: viewer.cpp:832
    -
    void reset_all_audio()
    Definition: viewer.cpp:123
    -
    QVector< Marker > * marker_ref
    Definition: viewer.h:94
    -
    QPushButton * go_to_end_frame
    Definition: viewer.h:157
    -
    void toggle_play()
    Definition: viewer.cpp:351
    -
    Definition: timelineheader.h:31
    -
    QString frame_to_timecode(long f, int view, double frame_rate)
    Definition: viewer.cpp:200
    -
    void set_sb_max()
    Definition: viewer.cpp:595
    -
    QTimer recording_flasher
    Definition: viewer.h:160
    -
    bool is_recording_cued()
    Definition: viewer.cpp:347
    -
    Definition: media.h:42
    -
    QLabel * end_timecode
    Definition: viewer.h:151
    -
    void set_zoom(bool in)
    Definition: viewer.cpp:561
    - -
    LabelSlider * current_timecode_slider
    Definition: viewer.h:150
    -
    void set_playpause_icon(bool play)
    Definition: viewer.cpp:909
    -
    void update_viewer()
    Definition: viewer.cpp:516
    -
    ViewerContainer * viewer_container
    Definition: viewer.h:149
    -
    Definition: panel.h:26
    -
    long cached_end_frame
    Definition: viewer.h:132
    -
    long get_seq_out()
    Definition: viewer.cpp:613
    -
    qint64 start_msecs
    Definition: viewer.h:74
    -
    long recording_start
    Definition: viewer.h:81
    -
    long recording_end
    Definition: viewer.h:82
    -
    ResizableScrollBar * horizontal_bar
    Definition: viewer.h:148
    -
    Media * media
    Definition: viewer.h:92
    -
    void set_main_sequence()
    Definition: viewer.cpp:118
    -
    int recording_track
    Definition: viewer.h:83
    -
    void decrease_speed()
    Definition: viewer.cpp:367
    -
    void set_sequence(bool main, SequencePtr s)
    Definition: viewer.cpp:858
    -
    QString panel_name
    Definition: viewer.h:133
    -
    long last_playhead
    Definition: viewer.h:136
    -
    void update_end_timecode()
    Definition: viewer.cpp:473
    -
    Definition: viewerwidget.h:44
    -
    void set_playback_speed(int s)
    Definition: viewer.cpp:599
    -
    void go_to_start()
    Definition: viewer.cpp:292
    -
    bool is_main_sequence()
    Definition: viewer.cpp:114
    - -
    bool main_sequence
    Definition: viewer.h:130
    -
    std::shared_ptr< Sequence > SequencePtr
    Definition: clip.h:48
    -
    QPushButton * prev_frame_button
    Definition: viewer.h:154
    -
    void set_in_point()
    Definition: viewer.cpp:549
    - -
    void play(bool in_to_out=false)
    Definition: viewer.cpp:375
    -
    TimelineHeader * headers
    Definition: viewer.h:98
    -
    long playhead_start
    Definition: viewer.h:73
    -
    The LabelSlider class.
    Definition: labelslider.h:40
    -
    Definition: resizablescrollbar.h:26
    -
    bool playing
    Definition: viewer.h:72
    -
    void clear_out()
    Definition: viewer.cpp:533
    -
    bool just_played
    Definition: viewer.h:76
    - -
    void update_window_title()
    Definition: viewer.cpp:572
    -
    void cue_recording(long start, long end, int track)
    Definition: viewer.cpp:332
    -
    ViewerWidget * viewer_widget
    Definition: viewer.h:90
    -
    void set_media(Media *m)
    Definition: viewer.cpp:716
    -
    QIcon playIcon
    Definition: viewer.h:144
    -
    void pause()
    Definition: viewer.cpp:424
    -
    Definition: viewer.h:43
    -
    void uncue_recording()
    Definition: viewer.cpp:341
    -
    void go_to_end()
    Definition: viewer.cpp:296
    -
    bool created_sequence
    Definition: viewer.h:131
    -
    void clean_created_seq()
    Definition: viewer.cpp:844
    -
    int main(int argc, char *argv[])
    Definition: main.cpp:36
    -
    void clear_inout_point()
    Definition: viewer.cpp:541
    -
    void update_parents(bool reload_fx=false)
    Definition: viewer.cpp:491
    -
    int playback_speed
    Definition: viewer.h:163
    -
    void set_out_point()
    Definition: viewer.cpp:555
    -
    void next_frame()
    Definition: viewer.cpp:318
    -
    void timer_update()
    Definition: viewer.cpp:802
    -
    int get_playback_speed()
    Definition: viewer.cpp:500
    -
    void increase_speed()
    Definition: viewer.cpp:359
    -
    void go_to_in()
    Definition: viewer.cpp:304
    -
    Viewer(QWidget *parent=nullptr)
    Definition: viewer.cpp:58
    -
    void set_marker()
    Definition: viewer.cpp:504
    - -
    void compose()
    -
    void close_media()
    Definition: viewer.cpp:300
    -
    QPushButton * next_frame_button
    Definition: viewer.h:156
    -
    void resize_move(double d)
    Definition: viewer.cpp:840
    -
    virtual bool event(QEvent *e) override
    Definition: panel.cpp:29
    -
    - - - - diff --git a/docs/html/viewercontainer_8cpp.html b/docs/html/viewercontainer_8cpp.html deleted file mode 100644 index 342d88ff4..000000000 --- a/docs/html/viewercontainer_8cpp.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Olive: ui/viewercontainer.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    viewercontainer.cpp File Reference
    -
    -
    -
    #include "viewercontainer.h"
    -#include <QWidget>
    -#include <QResizeEvent>
    -#include <QScrollBar>
    -#include <QVBoxLayout>
    -#include <QApplication>
    -#include "viewerwidget.h"
    -#include "panels/viewer.h"
    -#include "project/sequence.h"
    -#include "debug.h"
    -
    - - - - diff --git a/docs/html/viewercontainer_8h.html b/docs/html/viewercontainer_8h.html deleted file mode 100644 index 5c45bc1c7..000000000 --- a/docs/html/viewercontainer_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/viewercontainer.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    viewercontainer.h File Reference
    -
    -
    -
    #include <QWidget>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  ViewerContainer
     
    -
    - - - - diff --git a/docs/html/viewercontainer_8h_source.html b/docs/html/viewercontainer_8h_source.html deleted file mode 100644 index d8ee3338c..000000000 --- a/docs/html/viewercontainer_8h_source.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Olive: ui/viewercontainer.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    viewercontainer.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef VIEWERCONTAINER_H
    22 #define VIEWERCONTAINER_H
    23 
    24 #include <QWidget>
    25 class Viewer;
    26 class ViewerWidget;
    27 class QScrollBar;
    28 
    29 class ViewerContainer : public QWidget
    30 {
    31  Q_OBJECT
    32 public:
    33  explicit ViewerContainer(QWidget *parent = 0);
    35 
    36  bool fit;
    37  double zoom;
    38 
    39  void dragScrollPress(const QPoint&);
    40  void dragScrollMove(const QPoint&);
    41  void parseWheelEvent(QWheelEvent* event);
    42 
    45  void adjust();
    46 
    47  // manually moves scrollbars into the correct position
    48  void adjust_scrollbars();
    49 
    50 protected:
    51  void resizeEvent(QResizeEvent *event);
    52 
    53 signals:
    54 
    55 public slots:
    56 
    57 private slots:
    58  void scroll_changed();
    59 
    60 private:
    65  QScrollBar* horizontal_scrollbar;
    66  QScrollBar* vertical_scrollbar;
    67 };
    68 
    69 #endif // VIEWERCONTAINER_H
    void scroll_changed()
    Definition: viewercontainer.cpp:169
    -
    ~ViewerContainer()
    Definition: viewercontainer.cpp:56
    -
    Definition: viewercontainer.h:29
    -
    QScrollBar * vertical_scrollbar
    Definition: viewercontainer.h:66
    -
    void adjust()
    Definition: viewercontainer.cpp:82
    -
    bool fit
    Definition: viewercontainer.h:36
    -
    void dragScrollMove(const QPoint &)
    Definition: viewercontainer.cpp:66
    -
    ViewerWidget * child
    Definition: viewercontainer.h:44
    -
    void parseWheelEvent(QWheelEvent *event)
    Definition: viewercontainer.cpp:74
    -
    void adjust_scrollbars()
    Definition: viewercontainer.cpp:154
    -
    ViewerContainer(QWidget *parent=0)
    Definition: viewercontainer.cpp:35
    -
    double zoom
    Definition: viewercontainer.h:37
    -
    void dragScrollPress(const QPoint &)
    Definition: viewercontainer.cpp:58
    -
    Definition: viewerwidget.h:44
    -
    void resizeEvent(QResizeEvent *event)
    Definition: viewercontainer.cpp:164
    -
    int drag_start_y
    Definition: viewercontainer.h:62
    -
    int drag_start_x
    Definition: viewercontainer.h:61
    -
    QScrollBar * horizontal_scrollbar
    Definition: viewercontainer.h:65
    -
    int vert_start
    Definition: viewercontainer.h:64
    -
    Viewer * viewer
    Definition: viewercontainer.h:43
    -
    Definition: viewer.h:43
    -
    int horiz_start
    Definition: viewercontainer.h:63
    -
    - - - - diff --git a/docs/html/viewerwidget_8cpp.html b/docs/html/viewerwidget_8cpp.html deleted file mode 100644 index 8cf123b82..000000000 --- a/docs/html/viewerwidget_8cpp.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Olive: ui/viewerwidget.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    viewerwidget.cpp File Reference
    -
    -
    -
    #include "viewerwidget.h"
    -#include "panels/panels.h"
    -#include "panels/viewer.h"
    -#include "panels/timeline.h"
    -#include "panels/project.h"
    -#include "project/sequence.h"
    -#include "project/clip.h"
    -#include "project/effect.h"
    -#include "project/transition.h"
    -#include "playback/playback.h"
    -#include "playback/audio.h"
    -#include "project/footage.h"
    -#include "playback/cacher.h"
    -#include "io/config.h"
    -#include "debug.h"
    -#include "io/math.h"
    -#include "ui/collapsiblewidget.h"
    -#include "project/undo.h"
    -#include "project/media.h"
    -#include "ui/viewercontainer.h"
    -#include "ui/timelinewidget.h"
    -#include "ui/renderfunctions.h"
    -#include "ui/renderthread.h"
    -#include "ui/viewerwindow.h"
    -#include "mainwindow.h"
    -#include <QPainter>
    -#include <QAudioOutput>
    -#include <QOpenGLShaderProgram>
    -#include <QtMath>
    -#include <QOpenGLFramebufferObject>
    -#include <QMouseEvent>
    -#include <QMimeData>
    -#include <QDrag>
    -#include <QMenu>
    -#include <QOffscreenSurface>
    -#include <QFileDialog>
    -#include <QPolygon>
    -#include <QDesktopWidget>
    -#include <QInputDialog>
    -#include <QApplication>
    -#include <QScreen>
    -#include <QMessageBox>
    -#include <libavformat/avformat.h>
    -
    - - - - diff --git a/docs/html/viewerwidget_8h.html b/docs/html/viewerwidget_8h.html deleted file mode 100644 index 85ce78734..000000000 --- a/docs/html/viewerwidget_8h.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Olive: ui/viewerwidget.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    viewerwidget.h File Reference
    -
    -
    -
    #include <QOpenGLWidget>
    -#include <QMatrix4x4>
    -#include <QOpenGLTexture>
    -#include <QTimer>
    -#include <QThread>
    -#include <QMutex>
    -#include <QWaitCondition>
    -#include <QOpenGLFunctions>
    -#include "project/clip.h"
    -#include "project/footage.h"
    -#include "project/effect.h"
    -#include "ui/viewerwindow.h"
    -#include "ui/viewercontainer.h"
    -#include "ui/renderthread.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  ViewerWidget
     
    -
    - - - - diff --git a/docs/html/viewerwidget_8h_source.html b/docs/html/viewerwidget_8h_source.html deleted file mode 100644 index bbb4b1d31..000000000 --- a/docs/html/viewerwidget_8h_source.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - -Olive: ui/viewerwidget.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    viewerwidget.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef VIEWERWIDGET_H
    22 #define VIEWERWIDGET_H
    23 
    24 #include <QOpenGLWidget>
    25 #include <QMatrix4x4>
    26 #include <QOpenGLTexture>
    27 #include <QTimer>
    28 #include <QThread>
    29 #include <QMutex>
    30 #include <QWaitCondition>
    31 #include <QOpenGLFunctions>
    32 
    33 #include "project/clip.h"
    34 #include "project/footage.h"
    35 #include "project/effect.h"
    36 #include "ui/viewerwindow.h"
    37 #include "ui/viewercontainer.h"
    38 #include "ui/renderthread.h"
    39 
    40 class Viewer;
    41 class QOpenGLFramebufferObject;
    42 struct GLTextureCoords;
    43 
    44 class ViewerWidget : public QOpenGLWidget, QOpenGLFunctions
    45 {
    46  Q_OBJECT
    47 public:
    48  ViewerWidget(QWidget *parent = nullptr);
    49  ~ViewerWidget();
    50 
    51  void delete_function();
    52  void close_window();
    53 
    54  void paintGL();
    55  void initializeGL();
    58 
    59  bool waveform;
    62  double waveform_zoom;
    64 
    65  void frame_update();
    67  void set_scroll(double x, double y);
    68 public slots:
    69  void set_waveform_scroll(int s);
    70  void set_fullscreen(int screen = 0);
    71 protected:
    72  void mousePressEvent(QMouseEvent *event);
    73  void mouseMoveEvent(QMouseEvent *event);
    74  void mouseReleaseEvent(QMouseEvent *event);
    75  void wheelEvent(QWheelEvent* event);
    76 private:
    77  void draw_waveform_func();
    78  void draw_title_safe_area();
    79  void draw_gizmos();
    80  EffectGizmo* get_gizmo_from_mouse(int x, int y);
    81  void move_gizmos(QMouseEvent *event, bool done);
    82  bool dragging;
    83  void seek_from_click(int x);
    92  double x_scroll;
    93  double y_scroll;
    94 private slots:
    95  void context_destroy();
    96  void retry();
    97  void show_context_menu();
    98  void save_frame();
    99  void queue_repaint();
    100  void fullscreen_menu_action(QAction* action);
    101  void set_fit_zoom();
    102  void set_custom_zoom();
    103  void set_menu_zoom(QAction *action);
    104 };
    105 
    106 #endif // VIEWERWIDGET_H
    int waveform_scroll
    Definition: viewerwidget.h:63
    -
    void close_window()
    Definition: viewerwidget.cpp:398
    -
    void fullscreen_menu_action(QAction *action)
    Definition: viewerwidget.cpp:192
    -
    void initializeGL()
    Definition: viewerwidget.cpp:231
    -
    void delete_function()
    Definition: viewerwidget.cpp:104
    -
    void set_waveform_scroll(int s)
    Definition: viewerwidget.cpp:108
    -
    Definition: viewercontainer.h:29
    -
    double x_scroll
    Definition: viewerwidget.h:92
    -
    bool dragging
    Definition: viewerwidget.h:82
    -
    Definition: effect.h:128
    -
    void set_custom_zoom()
    Definition: viewerwidget.cpp:205
    -
    double waveform_zoom
    Definition: viewerwidget.h:62
    -
    void set_fullscreen(int screen=0)
    Definition: viewerwidget.cpp:115
    - -
    Definition: viewerwindow.h:31
    -
    void set_scroll(double x, double y)
    Definition: viewerwidget.cpp:256
    -
    void mouseReleaseEvent(QMouseEvent *event)
    Definition: viewerwidget.cpp:384
    - -
    EffectGizmo * get_gizmo_from_mouse(int x, int y)
    Definition: viewerwidget.cpp:275
    -
    double y_scroll
    Definition: viewerwidget.h:93
    - -
    void draw_gizmos()
    Definition: viewerwidget.cpp:491
    -
    void wheelEvent(QWheelEvent *event)
    Definition: viewerwidget.cpp:394
    -
    RenderThread * renderer
    Definition: viewerwidget.h:90
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    ViewerWindow * window
    Definition: viewerwidget.h:91
    -
    int gizmo_x_mvmt
    Definition: viewerwidget.h:87
    - -
    void mousePressEvent(QMouseEvent *event)
    Definition: viewerwidget.cpp:331
    -
    void queue_repaint()
    Definition: viewerwidget.cpp:188
    - -
    int gizmo_y_mvmt
    Definition: viewerwidget.h:88
    -
    void save_frame()
    Definition: viewerwidget.cpp:170
    -
    ViewerWidget(QWidget *parent=nullptr)
    Definition: viewerwidget.cpp:70
    -
    EffectGizmo * selected_gizmo
    Definition: viewerwidget.h:89
    -
    Definition: effectgizmo.h:41
    -
    ClipPtr waveform_clip
    Definition: viewerwidget.h:60
    -
    ViewerContainer * container
    Definition: viewerwidget.h:57
    - -
    Definition: footage.h:44
    -
    Definition: viewerwidget.h:44
    -
    int drag_start_x
    Definition: viewerwidget.h:85
    -
    ~ViewerWidget()
    Definition: viewerwidget.cpp:99
    -
    void retry()
    Definition: viewerwidget.cpp:227
    -
    void show_context_menu()
    Definition: viewerwidget.cpp:125
    -
    void mouseMoveEvent(QMouseEvent *event)
    Definition: viewerwidget.cpp:352
    -
    Viewer * viewer
    Definition: viewerwidget.h:56
    -
    void frame_update()
    Definition: viewerwidget.cpp:237
    -
    EffectPtr gizmos
    Definition: viewerwidget.h:84
    -
    void draw_title_safe_area()
    Definition: viewerwidget.cpp:423
    -
    const FootageStream * waveform_ms
    Definition: viewerwidget.h:61
    -
    void context_destroy()
    Definition: viewerwidget.cpp:266
    -
    void paintGL()
    Definition: viewerwidget.cpp:560
    -
    void set_fit_zoom()
    Definition: viewerwidget.cpp:200
    -
    std::shared_ptr< Effect > EffectPtr
    Definition: effect.h:48
    -
    Definition: viewer.h:43
    -
    RenderThread * get_renderer()
    Definition: viewerwidget.cpp:252
    -
    bool waveform
    Definition: viewerwidget.h:59
    -
    void draw_waveform_func()
    Definition: viewerwidget.cpp:402
    -
    void set_menu_zoom(QAction *action)
    Definition: viewerwidget.cpp:218
    -
    void move_gizmos(QMouseEvent *event, bool done)
    Definition: viewerwidget.cpp:312
    -
    Definition: renderthread.h:41
    -
    int drag_start_y
    Definition: viewerwidget.h:86
    -
    void seek_from_click(int x)
    Definition: viewerwidget.cpp:262
    -
    - - - - diff --git a/docs/html/viewerwindow_8cpp.html b/docs/html/viewerwindow_8cpp.html deleted file mode 100644 index 27735029c..000000000 --- a/docs/html/viewerwindow_8cpp.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: ui/viewerwindow.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    viewerwindow.cpp File Reference
    -
    -
    -
    #include "viewerwindow.h"
    -#include <QMutex>
    -#include <QKeyEvent>
    -#include <QPainter>
    -#include <QApplication>
    -#include <QMenuBar>
    -#include <QShortcut>
    -#include <QOpenGLFunctions>
    -#include <QOpenGLContext>
    -#include <QDebug>
    -#include "mainwindow.h"
    -
    - - - - diff --git a/docs/html/viewerwindow_8h.html b/docs/html/viewerwindow_8h.html deleted file mode 100644 index 0b103a34f..000000000 --- a/docs/html/viewerwindow_8h.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: ui/viewerwindow.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    viewerwindow.h File Reference
    -
    -
    -
    #include <QOpenGLWidget>
    -#include <QTimer>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  ViewerWindow
     
    -
    - - - - diff --git a/docs/html/viewerwindow_8h_source.html b/docs/html/viewerwindow_8h_source.html deleted file mode 100644 index 3b6ba5c2c..000000000 --- a/docs/html/viewerwindow_8h_source.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Olive: ui/viewerwindow.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    viewerwindow.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef VIEWERWINDOW_H
    22 #define VIEWERWINDOW_H
    23 
    24 #include <QOpenGLWidget>
    25 #include <QTimer>
    26 
    27 class QMutex;
    28 class QMenu;
    29 class QShortcut;
    30 
    31 class ViewerWindow : public QOpenGLWidget {
    32  Q_OBJECT
    33 public:
    34  ViewerWindow(QWidget *parent);
    35  void set_texture(GLuint t, double iar, QMutex *imutex);
    36 protected:
    37  virtual void keyPressEvent(QKeyEvent*) override;
    38  virtual void mousePressEvent(QMouseEvent*) override;
    39  virtual void mouseMoveEvent(QMouseEvent*) override;
    40 
    41  virtual void paintGL() override;
    42 private:
    43  GLuint texture;
    44  double ar;
    45  QMutex* mutex;
    46 
    47  // exit full screen message
    51 private slots:
    53 };
    54 
    55 #endif // VIEWERWINDOW_H
    virtual void keyPressEvent(QKeyEvent *) override
    Definition: viewerwindow.cpp:55
    -
    QMutex * mutex
    Definition: viewerwindow.h:45
    -
    Definition: viewerwindow.h:31
    -
    ViewerWindow(QWidget *parent)
    Definition: viewerwindow.cpp:36
    -
    double ar
    Definition: viewerwindow.h:44
    -
    void set_texture(GLuint t, double iar, QMutex *imutex)
    Definition: viewerwindow.cpp:48
    -
    QTimer fullscreen_msg_timer
    Definition: viewerwindow.h:48
    -
    virtual void paintGL() override
    Definition: viewerwindow.cpp:75
    -
    void fullscreen_msg_timeout()
    Definition: viewerwindow.cpp:157
    -
    virtual void mousePressEvent(QMouseEvent *) override
    Definition: viewerwindow.cpp:61
    -
    QRect fullscreen_msg_rect
    Definition: viewerwindow.h:50
    -
    virtual void mouseMoveEvent(QMouseEvent *) override
    Definition: viewerwindow.cpp:67
    -
    bool show_fullscreen_msg
    Definition: viewerwindow.h:49
    -
    GLuint texture
    Definition: viewerwindow.h:43
    -
    - - - - diff --git a/docs/html/voideffect_8cpp.html b/docs/html/voideffect_8cpp.html deleted file mode 100644 index 13da81592..000000000 --- a/docs/html/voideffect_8cpp.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Olive: effects/internal/voideffect.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    voideffect.cpp File Reference
    -
    -
    -
    #include "voideffect.h"
    -#include <QXmlStreamReader>
    -#include <QLabel>
    -#include <QFile>
    -#include "ui/collapsiblewidget.h"
    -#include "debug.h"
    -
    - - - - diff --git a/docs/html/voideffect_8h.html b/docs/html/voideffect_8h.html deleted file mode 100644 index 78efb15e3..000000000 --- a/docs/html/voideffect_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/voideffect.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    voideffect.h File Reference
    -
    -
    -
    #include "project/effect.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  VoidEffect
     
    -
    - - - - diff --git a/docs/html/voideffect_8h_source.html b/docs/html/voideffect_8h_source.html deleted file mode 100644 index 63da96cf6..000000000 --- a/docs/html/voideffect_8h_source.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Olive: effects/internal/voideffect.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    voideffect.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef VOIDEFFECT_H
    22 #define VOIDEFFECT_H
    23 
    24 /* VoidEffect is a placeholder used when Olive is unable to find an effect
    25  * requested by a loaded project. It displays a missing effect so the user knows
    26  * an effect is missing, and stores the XML project data verbatim so that it
    27  * isn't lost if the user saves over the project.
    28  */
    29 
    30 #include "project/effect.h"
    31 
    32 class VoidEffect : public Effect {
    33  Q_OBJECT
    34 public:
    35  VoidEffect(ClipPtr c, const QString& n);
    36 
    37  virtual EffectPtr copy(ClipPtr c) override;
    38  virtual void load(QXmlStreamReader &stream) override;
    39  virtual void save(QXmlStreamWriter &stream) override;
    40 private:
    41  QByteArray bytes;
    43 };
    44 
    45 #endif // VOIDEFFECT_H
    QByteArray bytes
    Definition: voideffect.h:41
    -
    Definition: effect.h:169
    - -
    Definition: effect.h:50
    -
    virtual void save(QXmlStreamWriter &stream) override
    Definition: voideffect.cpp:77
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    virtual EffectPtr copy(ClipPtr c) override
    Definition: voideffect.cpp:46
    -
    VoidEffect(ClipPtr c, const QString &n)
    Definition: voideffect.cpp:30
    -
    EffectMeta void_meta
    Definition: voideffect.h:42
    -
    Definition: voideffect.h:32
    -
    std::shared_ptr< Effect > EffectPtr
    Definition: effect.h:48
    -
    virtual void load(QXmlStreamReader &stream) override
    Definition: voideffect.cpp:53
    -
    - - - - diff --git a/docs/html/volumeeffect_8cpp.html b/docs/html/volumeeffect_8cpp.html deleted file mode 100644 index 792105dd6..000000000 --- a/docs/html/volumeeffect_8cpp.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -Olive: effects/internal/volumeeffect.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    volumeeffect.cpp File Reference
    -
    -
    -
    #include "volumeeffect.h"
    -#include <QGridLayout>
    -#include <QLabel>
    -#include <QtMath>
    -#include <stdint.h>
    -#include "ui/labelslider.h"
    -#include "ui/collapsiblewidget.h"
    -
    - - - - diff --git a/docs/html/volumeeffect_8h.html b/docs/html/volumeeffect_8h.html deleted file mode 100644 index f21adb41a..000000000 --- a/docs/html/volumeeffect_8h.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Olive: effects/internal/volumeeffect.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    volumeeffect.h File Reference
    -
    -
    -
    #include "project/effect.h"
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  VolumeEffect
     
    -
    - - - - diff --git a/docs/html/volumeeffect_8h_source.html b/docs/html/volumeeffect_8h_source.html deleted file mode 100644 index e81bc9a79..000000000 --- a/docs/html/volumeeffect_8h_source.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Olive: effects/internal/volumeeffect.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    volumeeffect.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef VOLUMEEFFECT_H
    22 #define VOLUMEEFFECT_H
    23 
    24 #include "project/effect.h"
    25 
    26 class VolumeEffect : public Effect {
    27  Q_OBJECT
    28 public:
    29  VolumeEffect(ClipPtr c, const EffectMeta* em);
    30  void process_audio(double timecode_start, double timecode_end, quint8* samples, int nb_bytes, int channel_count);
    31 
    33 };
    34 
    35 #endif // VOLUMEEFFECT_H
    Definition: effect.h:169
    - -
    Definition: effect.h:50
    -
    VolumeEffect(ClipPtr c, const EffectMeta *em)
    Definition: volumeeffect.cpp:31
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    void process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
    Definition: volumeeffect.cpp:40
    -
    Definition: volumeeffect.h:26
    -
    Definition: effectfield.h:43
    -
    EffectField * volume_val
    Definition: volumeeffect.h:32
    -
    - - - - diff --git a/docs/html/vsthost_8cpp.html b/docs/html/vsthost_8cpp.html deleted file mode 100644 index dd108da82..000000000 --- a/docs/html/vsthost_8cpp.html +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - - -Olive: effects/internal/vsthost.cpp File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    vsthost.cpp File Reference
    -
    -
    -
    #include "vsthost.h"
    -#include <QPushButton>
    -#include <QDialog>
    -#include <QMessageBox>
    -#include <QFile>
    -#include <QXmlStreamWriter>
    -#include <QWindow>
    -#include "playback/audio.h"
    -#include "mainwindow.h"
    -#include "debug.h"
    -
    - - - -

    -Classes

    struct  VSTRect
     
    - - - - - - - - - -

    -Macros

    #define BLOCK_SIZE   512
     
    #define CHANNEL_COUNT   2
     
    #define effGetChunk   23
     
    #define effSetChunk   24
     
    - - - - - - - - - - - -

    -Typedefs

    typedef AEffect *(* vstPluginFuncPtr) (audioMasterCallback host)
     
    typedef float(* getParameterFuncPtr) (AEffect *effect, int32_t index)
     
    typedef void(* setParameterFuncPtr) (AEffect *effect, int32_t index, float value)
     
    typedef int32_t(* processEventsFuncPtr) (VstEvents *events)
     
    typedef void(* processFuncPtr) (AEffect *effect, float **inputs, float **outputs, int32_t sampleFrames)
     
    - - - -

    -Functions

    intptr_t hostCallback (AEffect *effect, int32_t opcode, int32_t index, intptr_t value, void *ptr, float opt)
     
    -

    Macro Definition Documentation

    - -

    ◆ BLOCK_SIZE

    - -
    -
    - - - - -
    #define BLOCK_SIZE   512
    -
    - -
    -
    - -

    ◆ CHANNEL_COUNT

    - -
    -
    - - - - -
    #define CHANNEL_COUNT   2
    -
    - -
    -
    - -

    ◆ effGetChunk

    - -
    -
    - - - - -
    #define effGetChunk   23
    -
    - -
    -
    - -

    ◆ effSetChunk

    - -
    -
    - - - - -
    #define effSetChunk   24
    -
    - -
    -
    -

    Typedef Documentation

    - -

    ◆ getParameterFuncPtr

    - -
    -
    - - - - -
    typedef float(* getParameterFuncPtr) (AEffect *effect, int32_t index)
    -
    - -
    -
    - -

    ◆ processEventsFuncPtr

    - -
    -
    - - - - -
    typedef int32_t(* processEventsFuncPtr) (VstEvents *events)
    -
    - -
    -
    - -

    ◆ processFuncPtr

    - -
    -
    - - - - -
    typedef void(* processFuncPtr) (AEffect *effect, float **inputs, float **outputs, int32_t sampleFrames)
    -
    - -
    -
    - -

    ◆ setParameterFuncPtr

    - -
    -
    - - - - -
    typedef void(* setParameterFuncPtr) (AEffect *effect, int32_t index, float value)
    -
    - -
    -
    - -

    ◆ vstPluginFuncPtr

    - -
    -
    - - - - -
    typedef AEffect*(* vstPluginFuncPtr) (audioMasterCallback host)
    -
    - -
    -
    -

    Function Documentation

    - -

    ◆ hostCallback()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    intptr_t hostCallback (AEffecteffect,
    int32_t opcode,
    int32_t index,
    intptr_t value,
    void * ptr,
    float opt 
    )
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/vsthost_8h.html b/docs/html/vsthost_8h.html deleted file mode 100644 index c55b4d90f..000000000 --- a/docs/html/vsthost_8h.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Olive: effects/internal/vsthost.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    vsthost.h File Reference
    -
    -
    -
    #include "project/effect.h"
    -#include "io/crossplatformlib.h"
    -#include "include/vestige.h"
    -#include <QDialog>
    -
    -

    Go to the source code of this file.

    - - - - -

    -Classes

    class  VSTHost
     
    - - - -

    -Typedefs

    typedef intptr_t(* dispatcherFuncPtr) (AEffect *effect, int32_t opCode, int32_t index, int32_t value, void *ptr, float opt)
     
    -

    Typedef Documentation

    - -

    ◆ dispatcherFuncPtr

    - -
    -
    - - - - -
    typedef intptr_t(* dispatcherFuncPtr) (AEffect *effect, int32_t opCode, int32_t index, int32_t value, void *ptr, float opt)
    -
    - -
    -
    -
    - - - - diff --git a/docs/html/vsthost_8h_source.html b/docs/html/vsthost_8h_source.html deleted file mode 100644 index d8e4237c8..000000000 --- a/docs/html/vsthost_8h_source.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Olive: effects/internal/vsthost.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    Olive -
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    vsthost.h
    -
    -
    -Go to the documentation of this file.
    1 /***
    2 
    3  Olive - Non-Linear Video Editor
    4  Copyright (C) 2019 Olive Team
    5 
    6  This program is free software: you can redistribute it and/or modify
    7  it under the terms of the GNU General Public License as published by
    8  the Free Software Foundation, either version 3 of the License, or
    9  (at your option) any later version.
    10 
    11  This program is distributed in the hope that it will be useful,
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  GNU General Public License for more details.
    15 
    16  You should have received a copy of the GNU General Public License
    17  along with this program. If not, see <http://www.gnu.org/licenses/>.
    18 
    19 ***/
    20 
    21 #ifndef VSTHOSTWIN_H
    22 #define VSTHOSTWIN_H
    23 
    24 #ifndef NOVST
    25 
    26 #include "project/effect.h"
    27 
    28 #include "io/crossplatformlib.h"
    29 
    30 #include "include/vestige.h"
    31 
    32 // Plugin's dispatcher function
    33 typedef intptr_t (*dispatcherFuncPtr)(AEffect *effect, int32_t opCode, int32_t index, int32_t value, void *ptr, float opt);
    34 
    35 #include <QDialog>
    36 
    37 class VSTHost : public Effect {
    38  Q_OBJECT
    39 public:
    40  VSTHost(ClipPtr c, const EffectMeta* em);
    41  ~VSTHost();
    42  void process_audio(double timecode_start, double timecode_end, quint8* samples, int nb_bytes, int channel_count);
    43 
    44  void custom_load(QXmlStreamReader& stream);
    45  void save(QXmlStreamWriter& stream);
    46 private slots:
    47  void show_interface(bool show);
    48  void uncheck_show_button();
    49  void change_plugin();
    50 private:
    52 
    53  void loadPlugin();
    54  void freePlugin();
    58  void startPlugin();
    59  void stopPlugin();
    60  void resumePlugin();
    61  void suspendPlugin();
    62  bool canPluginDo(char *canDoString);
    63  void processAudio(long numFrames);
    64  float** inputs;
    65  float** outputs;
    66  QDialog* dialog;
    67  QPushButton* show_interface_btn;
    68  QByteArray data_cache;
    69 
    70 #if defined(__APPLE__)
    71  CFBundleRef bundle;
    72 #else
    73  ModulePtr modulePtr;
    74 #endif
    75 };
    76 
    77 #endif
    78 
    79 #endif // VSTHOSTWIN_H
    void custom_load(QXmlStreamReader &stream)
    Definition: vsthost.cpp:332
    -
    QDialog * dialog
    Definition: vsthost.h:66
    -
    Definition: vsthost.h:37
    -
    void resumePlugin()
    Definition: vsthost.cpp:234
    -
    Definition: effect.h:169
    -
    bool canPluginDo(char *canDoString)
    Definition: vsthost.cpp:242
    -
    QByteArray data_cache
    Definition: vsthost.h:68
    - -
    Definition: effect.h:50
    - - -
    void uncheck_show_button()
    Definition: vsthost.cpp:370
    -
    ModulePtr modulePtr
    Definition: vsthost.h:73
    -
    float ** outputs
    Definition: vsthost.h:65
    -
    void startPlugin()
    Definition: vsthost.cpp:218
    -
    std::shared_ptr< Clip > ClipPtr
    Definition: cacher.h:28
    -
    void show_interface(bool show)
    Definition: vsthost.cpp:354
    -
    void change_plugin()
    Definition: vsthost.cpp:374
    -
    QPushButton * show_interface_btn
    Definition: vsthost.h:67
    -
    float ** inputs
    Definition: vsthost.h:64
    -
    Definition: vestige.h:275
    -
    ~VSTHost()
    Definition: vsthost.cpp:282
    -
    void loadPlugin()
    Definition: vsthost.cpp:108
    -
    void freePlugin()
    Definition: vsthost.cpp:184
    -
    void process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
    Definition: vsthost.cpp:296
    -
    void processAudio(long numFrames)
    Definition: vsthost.cpp:246
    -
    EffectField * file_field
    Definition: vsthost.h:51
    -
    void suspendPlugin()
    Definition: vsthost.cpp:238
    -
    Definition: effectfield.h:43
    -
    VSTHost(ClipPtr c, const EffectMeta *em)
    Definition: vsthost.cpp:255
    -
    dispatcherFuncPtr dispatcher
    Definition: vsthost.h:55
    -
    void save(QXmlStreamWriter &stream)
    Definition: vsthost.cpp:342
    -
    intptr_t(* dispatcherFuncPtr)(AEffect *effect, int32_t opCode, int32_t index, int32_t value, void *ptr, float opt)
    Definition: vsthost.h:33
    -
    AEffect * plugin
    Definition: vsthost.h:56
    -
    bool configurePluginCallbacks()
    Definition: vsthost.cpp:197
    -
    void stopPlugin()
    Definition: vsthost.cpp:228
    -
    - - - - diff --git a/effects/internal/timecodeeffect.cpp b/effects/internal/timecodeeffect.cpp index e8ba340f0..a3666e85b 100644 --- a/effects/internal/timecodeeffect.cpp +++ b/effects/internal/timecodeeffect.cpp @@ -42,85 +42,84 @@ #include "ui/colorbutton.h" #include "ui/fontcombobox.h" #include "io/config.h" -#include "playback/playback.h" TimecodeEffect::TimecodeEffect(ClipPtr c, const EffectMeta* em) : - Effect(c, em) + Effect(c, em) { - enable_always_update = true; - enable_superimpose = true; + enable_always_update = true; + enable_superimpose = true; - EffectRow* tc_row = add_row(tr("Timecode")); - tc_select = tc_row->add_field(EFFECT_FIELD_COMBO, "tc_selector"); - tc_select->add_combo_item(tr("Sequence"), true); - tc_select->add_combo_item(tr("Media"), false); - tc_select->set_combo_index(0); + EffectRow* tc_row = add_row(tr("Timecode")); + tc_select = tc_row->add_field(EFFECT_FIELD_COMBO, "tc_selector"); + tc_select->add_combo_item(tr("Sequence"), true); + tc_select->add_combo_item(tr("Media"), false); + tc_select->set_combo_index(0); - scale_val = add_row(tr("Scale"))->add_field(EFFECT_FIELD_DOUBLE, "scale", 2); - scale_val->set_double_minimum_value(1); - scale_val->set_double_default_value(100); - scale_val->set_double_maximum_value(1000); + scale_val = add_row(tr("Scale"))->add_field(EFFECT_FIELD_DOUBLE, "scale", 2); + scale_val->set_double_minimum_value(1); + scale_val->set_double_default_value(100); + scale_val->set_double_maximum_value(1000); - color_val = add_row(tr("Color"))->add_field(EFFECT_FIELD_COLOR, "color", 2); - color_val->set_color_value(Qt::white); + color_val = add_row(tr("Color"))->add_field(EFFECT_FIELD_COLOR, "color", 2); + color_val->set_color_value(Qt::white); - color_bg_val = add_row(tr("Background Color"))->add_field(EFFECT_FIELD_COLOR, "bgcolor", 2); - color_bg_val->set_color_value(Qt::black); + color_bg_val = add_row(tr("Background Color"))->add_field(EFFECT_FIELD_COLOR, "bgcolor", 2); + color_bg_val->set_color_value(Qt::black); - bg_alpha = add_row(tr("Background Opacity"))->add_field(EFFECT_FIELD_DOUBLE, "bgalpha", 2); - bg_alpha->set_double_minimum_value(0); - bg_alpha->set_double_maximum_value(100); - bg_alpha->set_double_default_value(50); + bg_alpha = add_row(tr("Background Opacity"))->add_field(EFFECT_FIELD_DOUBLE, "bgalpha", 2); + bg_alpha->set_double_minimum_value(0); + bg_alpha->set_double_maximum_value(100); + bg_alpha->set_double_default_value(50); - EffectRow* offset = add_row(tr("Offset")); - offset_x_val = offset->add_field(EFFECT_FIELD_DOUBLE, "offsetx"); - offset_y_val = offset->add_field(EFFECT_FIELD_DOUBLE, "offsety"); + EffectRow* offset = add_row(tr("Offset")); + offset_x_val = offset->add_field(EFFECT_FIELD_DOUBLE, "offsetx"); + offset_y_val = offset->add_field(EFFECT_FIELD_DOUBLE, "offsety"); - prepend_text = add_row(tr("Prepend"))->add_field(EFFECT_FIELD_STRING, "prepend", 2); + prepend_text = add_row(tr("Prepend"))->add_field(EFFECT_FIELD_STRING, "prepend", 2); } void TimecodeEffect::redraw(double timecode) { - if (tc_select->get_combo_data(timecode).toBool()){ - display_timecode = prepend_text->get_string_value(timecode) + frame_to_timecode(olive::ActiveSequence->playhead, olive::CurrentConfig.timecode_view, olive::ActiveSequence->frame_rate);} - else { - double media_rate = parent_clip->getMediaFrameRate(); - display_timecode = prepend_text->get_string_value(timecode) + frame_to_timecode(timecode * media_rate, olive::CurrentConfig.timecode_view, media_rate);} - img.fill(Qt::transparent); + if (tc_select->get_combo_data(timecode).toBool()){ + display_timecode = prepend_text->get_string_value(timecode) + frame_to_timecode(olive::ActiveSequence->playhead, olive::CurrentConfig.timecode_view, olive::ActiveSequence->frame_rate);} + else { + double media_rate = parent_clip->media_frame_rate(); + display_timecode = prepend_text->get_string_value(timecode) + frame_to_timecode(timecode * media_rate, olive::CurrentConfig.timecode_view, media_rate);} + img.fill(Qt::transparent); - QPainter p(&img); - p.setRenderHint(QPainter::Antialiasing); - int width = img.width(); - int height = img.height(); + QPainter p(&img); + p.setRenderHint(QPainter::Antialiasing); + int width = img.width(); + int height = img.height(); - // set font - font.setStyleHint(QFont::Helvetica, QFont::PreferAntialias); - font.setFamily("Helvetica"); - font.setPixelSize(qCeil(scale_val->get_double_value(timecode)*.01*(height/10))); - p.setFont(font); - QFontMetrics fm(font); + // set font + font.setStyleHint(QFont::Helvetica, QFont::PreferAntialias); + font.setFamily("Helvetica"); + font.setPixelSize(qCeil(scale_val->get_double_value(timecode)*.01*(height/10))); + p.setFont(font); + QFontMetrics fm(font); - QPainterPath path; + QPainterPath path; - int text_x, text_y, rect_y, offset_x, offset_y; - int text_height = fm.height(); - int text_width = fm.width(display_timecode); - QColor background_color = color_bg_val->get_color_value(timecode); - int alpha_val = bg_alpha->get_double_value(timecode)*2.55; - background_color.setAlpha(alpha_val); + int text_x, text_y, rect_y, offset_x, offset_y; + int text_height = fm.height(); + int text_width = fm.width(display_timecode); + QColor background_color = color_bg_val->get_color_value(timecode); + int alpha_val = bg_alpha->get_double_value(timecode)*2.55; + background_color.setAlpha(alpha_val); - offset_x = int(offset_x_val->get_double_value(timecode)); - offset_y = int(offset_y_val->get_double_value(timecode)); + offset_x = int(offset_x_val->get_double_value(timecode)); + offset_y = int(offset_y_val->get_double_value(timecode)); - text_x = offset_x + (width/2) - (text_width/2); - text_y = offset_y + height - height/10; - rect_y = text_y + fm.descent() - text_height; + text_x = offset_x + (width/2) - (text_width/2); + text_y = offset_y + height - height/10; + rect_y = text_y + fm.descent() - text_height; - path.addText(text_x, text_y, font, display_timecode); + path.addText(text_x, text_y, font, display_timecode); - p.setPen(Qt::NoPen); - p.setBrush(background_color); - p.drawRect(QRect(text_x-fm.descent(), rect_y, text_width+fm.descent()*2, text_height)); - p.setBrush(color_val->get_color_value(timecode)); - p.drawPath(path); + p.setPen(Qt::NoPen); + p.setBrush(background_color); + p.drawRect(QRect(text_x-fm.descent(), rect_y, text_width+fm.descent()*2, text_height)); + p.setBrush(color_val->get_color_value(timecode)); + p.drawPath(path); } diff --git a/effects/internal/vsthost.cpp b/effects/internal/vsthost.cpp index 98fa3aaa4..686d22662 100644 --- a/effects/internal/vsthost.cpp +++ b/effects/internal/vsthost.cpp @@ -31,7 +31,7 @@ #include #include -#include "playback/audio.h" +#include "rendering/audio.h" #include "mainwindow.h" #include "debug.h" @@ -43,10 +43,10 @@ #define CHANNEL_COUNT 2 struct VSTRect { - int16_t top; - int16_t left; - int16_t bottom; - int16_t right; + int16_t top; + int16_t left; + int16_t bottom; + int16_t right; }; #define effGetChunk 23 @@ -54,44 +54,44 @@ struct VSTRect { // C callbacks extern "C" { - // Main host callback - intptr_t hostCallback(AEffect* effect, int32_t opcode, int32_t index, intptr_t value, void* ptr, float opt) { - Q_UNUSED(value) +// Main host callback +intptr_t hostCallback(AEffect* effect, int32_t opcode, int32_t index, intptr_t value, void* ptr, float opt) { + Q_UNUSED(value) - switch(opcode) { - case audioMasterAutomate: - effect->setParameter(effect, index, opt); - break; - case audioMasterVersion: - return 2400; - case audioMasterIdle: - effect->dispatcher(effect, effEditIdle, 0, 0, nullptr, 0); - break; - case audioMasterWantMidi: - // no midi support, return 0 - break; - case audioMasterGetSampleRate: - return current_audio_freq(); - case audioMasterGetBlockSize: - return BLOCK_SIZE; - case audioMasterGetCurrentProcessLevel: - // process level happens to be 0 - break; - case audioMasterGetProductString: - strcpy(static_cast(ptr), "OLIVETEAM"); - break; - case audioMasterBeginEdit: - // we don't really care about this - // but we are aware of it - break; - case audioMasterEndEdit: // change made - olive::MainWindow->setWindowModified(true); - break; - default: - qInfo() << "Plugin requested unhandled opcode" << opcode; - } - return 0; - } + switch(opcode) { + case audioMasterAutomate: + effect->setParameter(effect, index, opt); + break; + case audioMasterVersion: + return 2400; + case audioMasterIdle: + effect->dispatcher(effect, effEditIdle, 0, 0, nullptr, 0); + break; + case audioMasterWantMidi: + // no midi support, return 0 + break; + case audioMasterGetSampleRate: + return current_audio_freq(); + case audioMasterGetBlockSize: + return BLOCK_SIZE; + case audioMasterGetCurrentProcessLevel: + // process level happens to be 0 + break; + case audioMasterGetProductString: + strcpy(static_cast(ptr), "OLIVETEAM"); + break; + case audioMasterBeginEdit: + // we don't really care about this + // but we are aware of it + break; + case audioMasterEndEdit: // change made + olive::MainWindow->setWindowModified(true); + break; + default: + qInfo() << "Plugin requested unhandled opcode" << opcode; + } + return 0; +} } // Plugin's entry point @@ -106,295 +106,295 @@ typedef int32_t (*processEventsFuncPtr)(VstEvents *events); typedef void (*processFuncPtr)(AEffect *effect, float **inputs, float **outputs, int32_t sampleFrames); void VSTHost::loadPlugin() { - QString dll_fn = file_field->get_filename(0, true); + QString dll_fn = file_field->get_filename(0, true); if (dll_fn.isEmpty()) { return; } #if defined(__APPLE__) - bundle = BundleLoad(dll_fn); + bundle = BundleLoad(dll_fn); - if (bundle == NULL) { - QMessageBox::critical(nullptr, tr("Error loading VST plugin"), tr("Failed to create VST reference")); - return; - } + if (bundle == NULL) { + QMessageBox::critical(nullptr, tr("Error loading VST plugin"), tr("Failed to create VST reference")); + return; + } - vstPluginFuncPtr mainEntryPoint = NULL; - mainEntryPoint = (vstPluginFuncPtr)CFBundleGetFunctionPointerForName(bundle, CFSTR("VSTPluginMain")); - // VST plugins previous to the 2.4 SDK used main_macho for the entry point name - if(mainEntryPoint == NULL) { - mainEntryPoint = (vstPluginFuncPtr)CFBundleGetFunctionPointerForName(bundle, CFSTR("main_macho")); - } - if(mainEntryPoint == NULL) { - qCritical() << "Couldn't get a pointer to VST plugin's main()"; - BundleClose(bundle); - return; - } + vstPluginFuncPtr mainEntryPoint = NULL; + mainEntryPoint = (vstPluginFuncPtr)CFBundleGetFunctionPointerForName(bundle, CFSTR("VSTPluginMain")); + // VST plugins previous to the 2.4 SDK used main_macho for the entry point name + if(mainEntryPoint == NULL) { + mainEntryPoint = (vstPluginFuncPtr)CFBundleGetFunctionPointerForName(bundle, CFSTR("main_macho")); + } + if(mainEntryPoint == NULL) { + qCritical() << "Couldn't get a pointer to VST plugin's main()"; + BundleClose(bundle); + return; + } - plugin = mainEntryPoint(hostCallback); - if(plugin == NULL) { - qCritical() << "Plugin's main() returns null"; - BundleClose(bundle); - return; - } + plugin = mainEntryPoint(hostCallback); + if(plugin == NULL) { + qCritical() << "Plugin's main() returns null"; + BundleClose(bundle); + return; + } #else - modulePtr = LibLoad(dll_fn); - if(modulePtr == nullptr) { - QString dll_error; + modulePtr = LibLoad(dll_fn); + if(modulePtr == nullptr) { + QString dll_error; #ifdef _WIN32 - DWORD dll_err = GetLastError(); - dll_error = QString::number(dll_err); + DWORD dll_err = GetLastError(); + dll_error = QString::number(dll_err); #elif __linux__ - dll_error = dlerror(); + dll_error = dlerror(); #endif - qCritical() << "Failed to load VST plugin" << dll_fn << "-" << dll_error; + qCritical() << "Failed to load VST plugin" << dll_fn << "-" << dll_error; - QString msg_err = tr("Failed to load VST plugin \"%1\": %2").arg(dll_fn, dll_error); + QString msg_err = tr("Failed to load VST plugin \"%1\": %2").arg(dll_fn, dll_error); #ifdef _WIN32 - if (dll_err == 193) { + if (dll_err == 193) { #ifdef _WIN64 - msg_err += "\n\n" + tr("NOTE: You can't load 32-bit VST plugins into a 64-bit build of Olive. Please find a 64-bit version of this plugin or switch to a 32-bit build of Olive."); + msg_err += "\n\n" + tr("NOTE: You can't load 32-bit VST plugins into a 64-bit build of Olive. Please find a 64-bit version of this plugin or switch to a 32-bit build of Olive."); #elif _WIN32 - msg_err += "\n\n" + tr("NOTE: You can't load 64-bit VST plugins into a 32-bit build of Olive. Please find a 32-bit version of this plugin or switch to a 64-bit build of Olive."); + msg_err += "\n\n" + tr("NOTE: You can't load 64-bit VST plugins into a 32-bit build of Olive. Please find a 32-bit version of this plugin or switch to a 64-bit build of Olive."); #endif - } + } #endif - QMessageBox::critical(nullptr, tr("Error loading VST plugin"), msg_err); + QMessageBox::critical(nullptr, tr("Error loading VST plugin"), msg_err); - return; - } + return; + } - vstPluginFuncPtr mainEntryPoint = reinterpret_cast(LibAddress(modulePtr, "VSTPluginMain")); + vstPluginFuncPtr mainEntryPoint = reinterpret_cast(LibAddress(modulePtr, "VSTPluginMain")); - if (mainEntryPoint == nullptr) { - // if there's no VSTPluginMain(), fallback to main() - mainEntryPoint = reinterpret_cast(LibAddress(modulePtr, "main")); - } + if (mainEntryPoint == nullptr) { + // if there's no VSTPluginMain(), fallback to main() + mainEntryPoint = reinterpret_cast(LibAddress(modulePtr, "main")); + } - if (mainEntryPoint == nullptr) { - QMessageBox::critical(nullptr, tr("Error loading VST plugin"), tr("Failed to locate entry point for dynamic library.")); - LibClose(modulePtr); - } else { - // Instantiate the plugin - plugin = mainEntryPoint(hostCallback); - } + if (mainEntryPoint == nullptr) { + QMessageBox::critical(nullptr, tr("Error loading VST plugin"), tr("Failed to locate entry point for dynamic library.")); + LibClose(modulePtr); + } else { + // Instantiate the plugin + plugin = mainEntryPoint(hostCallback); + } #endif } void VSTHost::freePlugin() { - if (plugin != nullptr) { - stopPlugin(); + if (plugin != nullptr) { + stopPlugin(); #if defined(__APPLE__) - CFBundleUnloadExecutable(bundle); - CFRelease(bundle); + CFBundleUnloadExecutable(bundle); + CFRelease(bundle); #else - LibClose(modulePtr); + LibClose(modulePtr); #endif - plugin = nullptr; - } + plugin = nullptr; + } } bool VSTHost::configurePluginCallbacks() { - // Check plugin's magic number - // If incorrect, then the file either was not loaded properly, is not a - // real VST plugin, or is otherwise corrupt. - if(plugin->magic != kEffectMagic) { - qCritical() << "Plugin's magic number is bad"; - QMessageBox::critical(olive::MainWindow, tr("VST Error"), tr("Plugin's magic number is invalid")); - return false; - } + // Check plugin's magic number + // If incorrect, then the file either was not loaded properly, is not a + // real VST plugin, or is otherwise corrupt. + if(plugin->magic != kEffectMagic) { + qCritical() << "Plugin's magic number is bad"; + QMessageBox::critical(olive::MainWindow, tr("VST Error"), tr("Plugin's magic number is invalid")); + return false; + } - // Create dispatcher handle - dispatcher = reinterpret_cast(plugin->dispatcher); + // Create dispatcher handle + dispatcher = reinterpret_cast(plugin->dispatcher); - // Set up plugin callback functions - plugin->getParameter = reinterpret_cast(plugin->getParameter); - plugin->processReplacing = reinterpret_cast(plugin->processReplacing); - plugin->setParameter = reinterpret_cast(plugin->setParameter); + // Set up plugin callback functions + plugin->getParameter = reinterpret_cast(plugin->getParameter); + plugin->processReplacing = reinterpret_cast(plugin->processReplacing); + plugin->setParameter = reinterpret_cast(plugin->setParameter); - return true; + return true; } void VSTHost::startPlugin() { - dispatcher(plugin, effOpen, 0, 0, nullptr, 0.0f); + dispatcher(plugin, effOpen, 0, 0, nullptr, 0.0f); - // Set some default properties - dispatcher(plugin, effSetSampleRate, 0, 0, nullptr, current_audio_freq()); - dispatcher(plugin, effSetBlockSize, 0, BLOCK_SIZE, nullptr, 0.0f); + // Set some default properties + dispatcher(plugin, effSetSampleRate, 0, 0, nullptr, current_audio_freq()); + dispatcher(plugin, effSetBlockSize, 0, BLOCK_SIZE, nullptr, 0.0f); - resumePlugin(); + resumePlugin(); } void VSTHost::stopPlugin() { - suspendPlugin(); + suspendPlugin(); - dispatcher(plugin, effClose, 0, 0, nullptr, 0); + dispatcher(plugin, effClose, 0, 0, nullptr, 0); } void VSTHost::resumePlugin() { - dispatcher(plugin, effMainsChanged, 0, 1, nullptr, 0.0f); + dispatcher(plugin, effMainsChanged, 0, 1, nullptr, 0.0f); } void VSTHost::suspendPlugin() { - dispatcher(plugin, effMainsChanged, 0, 0, nullptr, 0.0f); + dispatcher(plugin, effMainsChanged, 0, 0, nullptr, 0.0f); } bool VSTHost::canPluginDo(char *canDoString) { - return (dispatcher(plugin, effCanDo, 0, 0, static_cast(canDoString), 0.0f) > 0); + return (dispatcher(plugin, effCanDo, 0, 0, static_cast(canDoString), 0.0f) > 0); } void VSTHost::processAudio(long numFrames) { - // Always reset the output array before processing. - for (int i=0;iprocessReplacing(plugin, inputs, outputs, numFrames); + plugin->processReplacing(plugin, inputs, outputs, numFrames); } VSTHost::VSTHost(ClipPtr c, const EffectMeta *em) : Effect(c, em) { - plugin = nullptr; + plugin = nullptr; - inputs = new float* [CHANNEL_COUNT]; - outputs = new float* [CHANNEL_COUNT]; - for(int channel = 0; channel < CHANNEL_COUNT; channel++) { - inputs[channel] = new float[BLOCK_SIZE]; - outputs[channel] = new float[BLOCK_SIZE]; - } + inputs = new float* [CHANNEL_COUNT]; + outputs = new float* [CHANNEL_COUNT]; + for(int channel = 0; channel < CHANNEL_COUNT; channel++) { + inputs[channel] = new float[BLOCK_SIZE]; + outputs[channel] = new float[BLOCK_SIZE]; + } - file_field = add_row(tr("Plugin"), true, false)->add_field(EFFECT_FIELD_FILE, "filename"); - connect(file_field, SIGNAL(changed()), this, SLOT(change_plugin())); + file_field = add_row(tr("Plugin"), true, false)->add_field(EFFECT_FIELD_FILE, "filename"); + connect(file_field, SIGNAL(changed()), this, SLOT(change_plugin())); - EffectRow* interface_row = add_row(tr("Interface"), false, false); - show_interface_btn = new QPushButton(tr("Show")); - show_interface_btn->setCheckable(true); - show_interface_btn->setEnabled(false); - connect(show_interface_btn, SIGNAL(toggled(bool)), this, SLOT(show_interface(bool))); - interface_row->add_widget(show_interface_btn); + EffectRow* interface_row = add_row(tr("Interface"), false, false); + show_interface_btn = new QPushButton(tr("Show")); + show_interface_btn->setCheckable(true); + show_interface_btn->setEnabled(false); + connect(show_interface_btn, SIGNAL(toggled(bool)), this, SLOT(show_interface(bool))); + interface_row->add_widget(show_interface_btn); - dialog = new QDialog(olive::MainWindow); - dialog->setWindowTitle(tr("VST Plugin")); - dialog->setAttribute(Qt::WA_NativeWindow, true); - dialog->setWindowFlags(dialog->windowFlags() | Qt::MSWindowsFixedSizeDialogHint); - connect(dialog, SIGNAL(finished(int)), this, SLOT(uncheck_show_button())); + dialog = new QDialog(olive::MainWindow); + dialog->setWindowTitle(tr("VST Plugin")); + dialog->setAttribute(Qt::WA_NativeWindow, true); + dialog->setWindowFlags(dialog->windowFlags() | Qt::MSWindowsFixedSizeDialogHint); + connect(dialog, SIGNAL(finished(int)), this, SLOT(uncheck_show_button())); } VSTHost::~VSTHost() { - for(int channel = 0; channel < CHANNEL_COUNT; channel++) { - delete [] inputs[channel]; - delete [] outputs[channel]; - } - delete [] outputs; - delete [] inputs; + for(int channel = 0; channel < CHANNEL_COUNT; channel++) { + delete [] inputs[channel]; + delete [] outputs[channel]; + } + delete [] outputs; + delete [] inputs; - freePlugin(); + freePlugin(); - delete show_interface_btn; - delete dialog; + delete show_interface_btn; + delete dialog; } void VSTHost::process_audio(double, double, quint8* samples, int nb_bytes, int) { - if (plugin != nullptr) { - int interval = BLOCK_SIZE*4; - for (int i=0;i>2; - inputs[0][index] = float(left_sample) / float(INT16_MAX); - inputs[1][index] = float(right_sample) / float(INT16_MAX); - } + int index = (j-i)>>2; + inputs[0][index] = float(left_sample) / float(INT16_MAX); + inputs[1][index] = float(right_sample) / float(INT16_MAX); + } - // send to VST - processAudio(process_size>>2); + // send to VST + processAudio(process_size>>2); - // convert back to int16 - for (int j=i;j>2; + // convert back to int16 + for (int j=i;j>2; - qint16 left_sample = qint16(qRound(outputs[0][index] * INT16_MAX)); - qint16 right_sample = qint16(qRound(outputs[1][index] * INT16_MAX)); + qint16 left_sample = qint16(qRound(outputs[0][index] * INT16_MAX)); + qint16 right_sample = qint16(qRound(outputs[1][index] * INT16_MAX)); - samples[j+3] = quint8(right_sample >> 8); - samples[j+2] = quint8(right_sample); - samples[j+1] = quint8(left_sample >> 8); - samples[j] = quint8(left_sample); - } - } - } + samples[j+3] = quint8(right_sample >> 8); + samples[j+2] = quint8(right_sample); + samples[j+1] = quint8(left_sample >> 8); + samples[j] = quint8(left_sample); + } + } + } } void VSTHost::custom_load(QXmlStreamReader &stream) { - if (stream.name() == "plugindata") { - stream.readNext(); - data_cache = QByteArray::fromBase64(stream.text().toUtf8()); - if (plugin != nullptr) { - dispatcher(plugin, effSetChunk, 0, int32_t(data_cache.size()), static_cast(data_cache.data()), 0); - } - } + if (stream.name() == "plugindata") { + stream.readNext(); + data_cache = QByteArray::fromBase64(stream.text().toUtf8()); + if (plugin != nullptr) { + dispatcher(plugin, effSetChunk, 0, int32_t(data_cache.size()), static_cast(data_cache.data()), 0); + } + } } void VSTHost::save(QXmlStreamWriter &stream) { - Effect::save(stream); - if (plugin != nullptr) { - char* p = nullptr; - int32_t length = int32_t(dispatcher(plugin, effGetChunk, 0, 0, &p, 0)); - data_cache = QByteArray(p, length); - } - if (data_cache.size() > 0) { - stream.writeTextElement("plugindata", data_cache.toBase64()); - } + Effect::save(stream); + if (plugin != nullptr) { + char* p = nullptr; + int32_t length = int32_t(dispatcher(plugin, effGetChunk, 0, 0, &p, 0)); + data_cache = QByteArray(p, length); + } + if (data_cache.size() > 0) { + stream.writeTextElement("plugindata", data_cache.toBase64()); + } } void VSTHost::show_interface(bool show) { - dialog->setVisible(show); + dialog->setVisible(show); - if (show) { + if (show) { #if defined(_WIN32) - dispatcher(plugin, effEditOpen, 0, 0, reinterpret_cast(dialog->windowHandle()->winId()), 0); + dispatcher(plugin, effEditOpen, 0, 0, reinterpret_cast(dialog->windowHandle()->winId()), 0); #elif defined(__APPLE__) - dispatcher(plugin, effEditOpen, 0, 0, reinterpret_cast(dialog->windowHandle()->winId()), 0); + dispatcher(plugin, effEditOpen, 0, 0, reinterpret_cast(dialog->windowHandle()->winId()), 0); #elif defined(__linux__) - dispatcher(plugin, effEditOpen, 0, 0, reinterpret_cast(dialog->windowHandle()->winId()), 0); + dispatcher(plugin, effEditOpen, 0, 0, reinterpret_cast(dialog->windowHandle()->winId()), 0); #endif - } else { - dispatcher(plugin, effEditClose, 0, 0, nullptr, 0); - } + } else { + dispatcher(plugin, effEditClose, 0, 0, nullptr, 0); + } } void VSTHost::uncheck_show_button() { - show_interface_btn->setChecked(false); + show_interface_btn->setChecked(false); } void VSTHost::change_plugin() { - freePlugin(); - loadPlugin(); - if (plugin != nullptr) { - if (configurePluginCallbacks()) { - startPlugin(); - VSTRect* eRect = nullptr; - plugin->dispatcher(plugin, effEditGetRect, 0, 0, &eRect, 0); - dialog->setFixedSize(eRect->right - eRect->left, eRect->bottom - eRect->top); - } else { + freePlugin(); + loadPlugin(); + if (plugin != nullptr) { + if (configurePluginCallbacks()) { + startPlugin(); + VSTRect* eRect = nullptr; + plugin->dispatcher(plugin, effEditGetRect, 0, 0, &eRect, 0); + dialog->setFixedSize(eRect->right - eRect->left, eRect->bottom - eRect->top); + } else { #ifdef __APPLE__ - CFBundleUnloadExecutable(bundle); - CFRelease(bundle); + CFBundleUnloadExecutable(bundle); + CFRelease(bundle); #else - LibClose(modulePtr); + LibClose(modulePtr); #endif - plugin = nullptr; - } - } - show_interface_btn->setEnabled(plugin != nullptr); + plugin = nullptr; + } + } + show_interface_btn->setEnabled(plugin != nullptr); } #endif diff --git a/io/exportthread.cpp b/io/exportthread.cpp index 3a7dac959..e683b5797 100644 --- a/io/exportthread.cpp +++ b/io/exportthread.cpp @@ -27,18 +27,17 @@ #include "panels/panels.h" #include "ui/viewerwidget.h" -#include "ui/renderthread.h" -#include "ui/renderfunctions.h" -#include "playback/playback.h" -#include "playback/audio.h" +#include "rendering/renderthread.h" +#include "rendering/renderfunctions.h" +#include "rendering/audio.h" #include "mainwindow.h" #include "debug.h" extern "C" { - #include - #include - #include - #include +#include +#include +#include +#include } #include @@ -50,488 +49,488 @@ extern "C" { ExportThread::ExportThread(const ExportParams &iparams, const VideoCodecParams& ivparams, QObject *parent) : - QThread(parent) + QThread(parent) { - params = iparams; - vcodec_params = ivparams; - continueEncode = true; + params = iparams; + vcodec_params = ivparams; + continueEncode = true; - surface.create(); + surface.create(); - fmt_ctx = nullptr; - video_stream = nullptr; - vcodec = nullptr; - vcodec_ctx = nullptr; - video_frame = nullptr; - sws_ctx = nullptr; - audio_stream = nullptr; - acodec = nullptr; - audio_frame = nullptr; - swr_frame = nullptr; - acodec_ctx = nullptr; - swr_ctx = nullptr; + fmt_ctx = nullptr; + video_stream = nullptr; + vcodec = nullptr; + vcodec_ctx = nullptr; + video_frame = nullptr; + sws_ctx = nullptr; + audio_stream = nullptr; + acodec = nullptr; + audio_frame = nullptr; + swr_frame = nullptr; + acodec_ctx = nullptr; + swr_ctx = nullptr; - vpkt_alloc = false; - apkt_alloc = false; + vpkt_alloc = false; + apkt_alloc = false; } bool ExportThread::encode(AVFormatContext* ofmt_ctx, AVCodecContext* codec_ctx, AVFrame* frame, AVPacket* packet, AVStream* stream, bool rescale) { - ret = avcodec_send_frame(codec_ctx, frame); - if (ret < 0) { - qCritical() << "Failed to send frame to encoder." << ret; - export_error = tr("failed to send frame to encoder (%1)").arg(QString::number(ret)); - return false; - } + ret = avcodec_send_frame(codec_ctx, frame); + if (ret < 0) { + qCritical() << "Failed to send frame to encoder." << ret; + export_error = tr("failed to send frame to encoder (%1)").arg(QString::number(ret)); + return false; + } - while (ret >= 0) { - ret = avcodec_receive_packet(codec_ctx, packet); - if (ret == AVERROR(EAGAIN)) { - return true; - } else if (ret < 0) { - if (ret != AVERROR_EOF) { - qCritical() << "Failed to receive packet from encoder." << ret; - export_error = tr("failed to receive packet from encoder (%1)").arg(QString::number(ret)); - } - return false; - } + while (ret >= 0) { + ret = avcodec_receive_packet(codec_ctx, packet); + if (ret == AVERROR(EAGAIN)) { + return true; + } else if (ret < 0) { + if (ret != AVERROR_EOF) { + qCritical() << "Failed to receive packet from encoder." << ret; + export_error = tr("failed to receive packet from encoder (%1)").arg(QString::number(ret)); + } + return false; + } - packet->stream_index = stream->index; - if (rescale) av_packet_rescale_ts(packet, codec_ctx->time_base, stream->time_base); - av_interleaved_write_frame(ofmt_ctx, packet); - av_packet_unref(packet); - } - return true; + packet->stream_index = stream->index; + if (rescale) av_packet_rescale_ts(packet, codec_ctx->time_base, stream->time_base); + av_interleaved_write_frame(ofmt_ctx, packet); + av_packet_unref(packet); + } + return true; } bool ExportThread::setupVideo() { - // if video is disabled, no setup necessary - if (!params.video_enabled) return true; + // if video is disabled, no setup necessary + if (!params.video_enabled) return true; - // find video encoder - vcodec = avcodec_find_encoder(static_cast(params.video_codec)); - if (!vcodec) { - qCritical() << "Could not find video encoder"; - export_error = tr("could not video encoder for %1").arg(QString::number(params.video_codec)); - return false; - } + // find video encoder + vcodec = avcodec_find_encoder(static_cast(params.video_codec)); + if (!vcodec) { + qCritical() << "Could not find video encoder"; + export_error = tr("could not video encoder for %1").arg(QString::number(params.video_codec)); + return false; + } - // create video stream - video_stream = avformat_new_stream(fmt_ctx, vcodec); - video_stream->id = 0; - if (!video_stream) { - qCritical() << "Could not allocate video stream"; - export_error = tr("could not allocate video stream"); - return false; - } + // create video stream + video_stream = avformat_new_stream(fmt_ctx, vcodec); + video_stream->id = 0; + if (!video_stream) { + qCritical() << "Could not allocate video stream"; + export_error = tr("could not allocate video stream"); + return false; + } - // allocate context -// vcodec_ctx = video_stream->codec; - vcodec_ctx = avcodec_alloc_context3(vcodec); - if (!vcodec_ctx) { - qCritical() << "Could not allocate video encoding context"; - export_error = tr("could not allocate video encoding context"); - return false; - } + // allocate context + // vcodec_ctx = video_stream->codec; + vcodec_ctx = avcodec_alloc_context3(vcodec); + if (!vcodec_ctx) { + qCritical() << "Could not allocate video encoding context"; + export_error = tr("could not allocate video encoding context"); + return false; + } - // setup context - vcodec_ctx->codec_id = static_cast(params.video_codec); - vcodec_ctx->codec_type = AVMEDIA_TYPE_VIDEO; - vcodec_ctx->width = params.video_width; - vcodec_ctx->height = params.video_height; - vcodec_ctx->sample_aspect_ratio = {1, 1}; - vcodec_ctx->pix_fmt = static_cast(vcodec_params.pix_fmt); - vcodec_ctx->framerate = av_d2q(params.video_frame_rate, INT_MAX); - if (params.video_compression_type == COMPRESSION_TYPE_CBR) { - vcodec_ctx->bit_rate = qRound(params.video_bitrate * 1000000); + // setup context + vcodec_ctx->codec_id = static_cast(params.video_codec); + vcodec_ctx->codec_type = AVMEDIA_TYPE_VIDEO; + vcodec_ctx->width = params.video_width; + vcodec_ctx->height = params.video_height; + vcodec_ctx->sample_aspect_ratio = {1, 1}; + vcodec_ctx->pix_fmt = static_cast(vcodec_params.pix_fmt); + vcodec_ctx->framerate = av_d2q(params.video_frame_rate, INT_MAX); + if (params.video_compression_type == COMPRESSION_TYPE_CBR) { + vcodec_ctx->bit_rate = qRound(params.video_bitrate * 1000000); + } + vcodec_ctx->time_base = av_inv_q(vcodec_ctx->framerate); + video_stream->time_base = vcodec_ctx->time_base; + + if (fmt_ctx->oformat->flags & AVFMT_GLOBALHEADER) { + vcodec_ctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; + } + + switch (vcodec_ctx->codec_id) { + case AV_CODEC_ID_H264: + switch (params.video_compression_type) { + case COMPRESSION_TYPE_CFR: + av_opt_set(vcodec_ctx->priv_data, "crf", QString::number(static_cast(params.video_bitrate)).toUtf8(), AV_OPT_SEARCH_CHILDREN); + break; } - vcodec_ctx->time_base = av_inv_q(vcodec_ctx->framerate); - video_stream->time_base = vcodec_ctx->time_base; + break; + } - if (fmt_ctx->oformat->flags & AVFMT_GLOBALHEADER) { - vcodec_ctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; - } + AVDictionary* opts = nullptr; + av_dict_set(&opts, "threads", "auto", 0); - switch (vcodec_ctx->codec_id) { - case AV_CODEC_ID_H264: - switch (params.video_compression_type) { - case COMPRESSION_TYPE_CFR: - av_opt_set(vcodec_ctx->priv_data, "crf", QString::number(static_cast(params.video_bitrate)).toUtf8(), AV_OPT_SEARCH_CHILDREN); - break; - } - break; - } + ret = avcodec_open2(vcodec_ctx, vcodec, &opts); + if (ret < 0) { + qCritical() << "Could not open output video encoder." << ret; + export_error = tr("could not open output video encoder (%1)").arg(QString::number(ret)); + return false; + } - AVDictionary* opts = nullptr; - av_dict_set(&opts, "threads", "auto", 0); + // copy video encoder parameters to output stream + ret = avcodec_parameters_from_context(video_stream->codecpar, vcodec_ctx); + if (ret < 0) { + qCritical() << "Could not copy video encoder parameters to output stream." << ret; + export_error = tr("could not copy video encoder parameters to output stream (%1)").arg(QString::number(ret)); + return false; + } - ret = avcodec_open2(vcodec_ctx, vcodec, &opts); - if (ret < 0) { - qCritical() << "Could not open output video encoder." << ret; - export_error = tr("could not open output video encoder (%1)").arg(QString::number(ret)); - return false; - } + // create AVFrame + video_frame = av_frame_alloc(); + av_frame_make_writable(video_frame); + video_frame->format = AV_PIX_FMT_RGBA; + video_frame->width = olive::ActiveSequence->width; + video_frame->height = olive::ActiveSequence->height; + av_frame_get_buffer(video_frame, 0); - // copy video encoder parameters to output stream - ret = avcodec_parameters_from_context(video_stream->codecpar, vcodec_ctx); - if (ret < 0) { - qCritical() << "Could not copy video encoder parameters to output stream." << ret; - export_error = tr("could not copy video encoder parameters to output stream (%1)").arg(QString::number(ret)); - return false; - } + av_init_packet(&video_pkt); - // create AVFrame - video_frame = av_frame_alloc(); - av_frame_make_writable(video_frame); - video_frame->format = AV_PIX_FMT_RGBA; - video_frame->width = olive::ActiveSequence->width; - video_frame->height = olive::ActiveSequence->height; - av_frame_get_buffer(video_frame, 0); + sws_ctx = sws_getContext( + olive::ActiveSequence->width, + olive::ActiveSequence->height, + AV_PIX_FMT_RGBA, + params.video_width, + params.video_height, + vcodec_ctx->pix_fmt, + SWS_FAST_BILINEAR, + nullptr, + nullptr, + nullptr + ); - av_init_packet(&video_pkt); - - sws_ctx = sws_getContext( - olive::ActiveSequence->width, - olive::ActiveSequence->height, - AV_PIX_FMT_RGBA, - params.video_width, - params.video_height, - vcodec_ctx->pix_fmt, - SWS_FAST_BILINEAR, - nullptr, - nullptr, - nullptr - ); - - return true; + return true; } bool ExportThread::setupAudio() { - // if audio is disabled, no setup necessary - if (!params.audio_enabled) return true; + // if audio is disabled, no setup necessary + if (!params.audio_enabled) return true; - // find encoder - acodec = avcodec_find_encoder(static_cast(params.audio_codec)); - if (!acodec) { - qCritical() << "Could not find audio encoder"; - export_error = tr("could not audio encoder for %1").arg(QString::number(params.audio_codec)); - return false; - } + // find encoder + acodec = avcodec_find_encoder(static_cast(params.audio_codec)); + if (!acodec) { + qCritical() << "Could not find audio encoder"; + export_error = tr("could not audio encoder for %1").arg(QString::number(params.audio_codec)); + return false; + } - // allocate audio stream - audio_stream = avformat_new_stream(fmt_ctx, acodec); - audio_stream->id = 1; - if (!audio_stream) { - qCritical() << "Could not allocate audio stream"; - export_error = tr("could not allocate audio stream"); - return false; - } + // allocate audio stream + audio_stream = avformat_new_stream(fmt_ctx, acodec); + audio_stream->id = 1; + if (!audio_stream) { + qCritical() << "Could not allocate audio stream"; + export_error = tr("could not allocate audio stream"); + return false; + } - // allocate context -// acodec_ctx = audio_stream->codec; - acodec_ctx = avcodec_alloc_context3(acodec); - if (!acodec_ctx) { - qCritical() << "Could not find allocate audio encoding context"; - export_error = tr("could not allocate audio encoding context"); - return false; - } + // allocate context + // acodec_ctx = audio_stream->codec; + acodec_ctx = avcodec_alloc_context3(acodec); + if (!acodec_ctx) { + qCritical() << "Could not find allocate audio encoding context"; + export_error = tr("could not allocate audio encoding context"); + return false; + } - // setup context - acodec_ctx->codec_id = static_cast(params.audio_codec); - acodec_ctx->codec_type = AVMEDIA_TYPE_AUDIO; - acodec_ctx->sample_rate = params.audio_sampling_rate; - acodec_ctx->channel_layout = AV_CH_LAYOUT_STEREO; // change this to support surround/mono sound in the future (this is what the user sets the output audio to) - acodec_ctx->channels = av_get_channel_layout_nb_channels(acodec_ctx->channel_layout); - acodec_ctx->sample_fmt = acodec->sample_fmts[0]; - acodec_ctx->bit_rate = params.audio_bitrate * 1000; + // setup context + acodec_ctx->codec_id = static_cast(params.audio_codec); + acodec_ctx->codec_type = AVMEDIA_TYPE_AUDIO; + acodec_ctx->sample_rate = params.audio_sampling_rate; + acodec_ctx->channel_layout = AV_CH_LAYOUT_STEREO; // change this to support surround/mono sound in the future (this is what the user sets the output audio to) + acodec_ctx->channels = av_get_channel_layout_nb_channels(acodec_ctx->channel_layout); + acodec_ctx->sample_fmt = acodec->sample_fmts[0]; + acodec_ctx->bit_rate = params.audio_bitrate * 1000; - acodec_ctx->time_base.num = 1; - acodec_ctx->time_base.den = params.audio_sampling_rate; - audio_stream->time_base = acodec_ctx->time_base; + acodec_ctx->time_base.num = 1; + acodec_ctx->time_base.den = params.audio_sampling_rate; + audio_stream->time_base = acodec_ctx->time_base; - if (fmt_ctx->oformat->flags & AVFMT_GLOBALHEADER) { - acodec_ctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; - } + if (fmt_ctx->oformat->flags & AVFMT_GLOBALHEADER) { + acodec_ctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; + } - // open encoder - ret = avcodec_open2(acodec_ctx, acodec, nullptr); - if (ret < 0) { - qCritical() << "Could not open output audio encoder." << ret; - export_error = tr("could not open output audio encoder (%1)").arg(QString::number(ret)); - return false; - } + // open encoder + ret = avcodec_open2(acodec_ctx, acodec, nullptr); + if (ret < 0) { + qCritical() << "Could not open output audio encoder." << ret; + export_error = tr("could not open output audio encoder (%1)").arg(QString::number(ret)); + return false; + } - // copy params to output stream - ret = avcodec_parameters_from_context(audio_stream->codecpar, acodec_ctx); - if (ret < 0) { - qCritical() << "Could not copy audio encoder parameters to output stream." << ret; - export_error = tr("could not copy audio encoder parameters to output stream (%1)").arg(QString::number(ret)); - return false; - } + // copy params to output stream + ret = avcodec_parameters_from_context(audio_stream->codecpar, acodec_ctx); + if (ret < 0) { + qCritical() << "Could not copy audio encoder parameters to output stream." << ret; + export_error = tr("could not copy audio encoder parameters to output stream (%1)").arg(QString::number(ret)); + return false; + } - // init audio resampler context - swr_ctx = swr_alloc_set_opts( - nullptr, - acodec_ctx->channel_layout, - acodec_ctx->sample_fmt, - acodec_ctx->sample_rate, - olive::ActiveSequence->audio_layout, - AV_SAMPLE_FMT_S16, - olive::ActiveSequence->audio_frequency, - 0, - nullptr - ); - swr_init(swr_ctx); + // init audio resampler context + swr_ctx = swr_alloc_set_opts( + nullptr, + acodec_ctx->channel_layout, + acodec_ctx->sample_fmt, + acodec_ctx->sample_rate, + olive::ActiveSequence->audio_layout, + AV_SAMPLE_FMT_S16, + olive::ActiveSequence->audio_frequency, + 0, + nullptr + ); + swr_init(swr_ctx); - // initialize raw audio frame - audio_frame = av_frame_alloc(); - audio_frame->sample_rate = olive::ActiveSequence->audio_frequency; - audio_frame->nb_samples = acodec_ctx->frame_size; - if (audio_frame->nb_samples == 0) audio_frame->nb_samples = 256; // should possibly be smaller? - audio_frame->format = AV_SAMPLE_FMT_S16; - audio_frame->channel_layout = AV_CH_LAYOUT_STEREO; // change this to support surround/mono sound in the future (this is whatever format they're held in the internal buffer) - audio_frame->channels = av_get_channel_layout_nb_channels(audio_frame->channel_layout); - av_frame_make_writable(audio_frame); - ret = av_frame_get_buffer(audio_frame, 0); - if (ret < 0) { - qCritical() << "Could not allocate audio buffer." << ret; - export_error = tr("could not allocate audio buffer (%1)").arg(QString::number(ret)); - return false; - } - aframe_bytes = av_samples_get_buffer_size(nullptr, audio_frame->channels, audio_frame->nb_samples, static_cast(audio_frame->format), 0); + // initialize raw audio frame + audio_frame = av_frame_alloc(); + audio_frame->sample_rate = olive::ActiveSequence->audio_frequency; + audio_frame->nb_samples = acodec_ctx->frame_size; + if (audio_frame->nb_samples == 0) audio_frame->nb_samples = 256; // should possibly be smaller? + audio_frame->format = AV_SAMPLE_FMT_S16; + audio_frame->channel_layout = AV_CH_LAYOUT_STEREO; // change this to support surround/mono sound in the future (this is whatever format they're held in the internal buffer) + audio_frame->channels = av_get_channel_layout_nb_channels(audio_frame->channel_layout); + av_frame_make_writable(audio_frame); + ret = av_frame_get_buffer(audio_frame, 0); + if (ret < 0) { + qCritical() << "Could not allocate audio buffer." << ret; + export_error = tr("could not allocate audio buffer (%1)").arg(QString::number(ret)); + return false; + } + aframe_bytes = av_samples_get_buffer_size(nullptr, audio_frame->channels, audio_frame->nb_samples, static_cast(audio_frame->format), 0); - // init converted audio frame - swr_frame = av_frame_alloc(); - swr_frame->channel_layout = acodec_ctx->channel_layout; - swr_frame->channels = acodec_ctx->channels; - swr_frame->sample_rate = acodec_ctx->sample_rate; - swr_frame->format = acodec_ctx->sample_fmt; - av_frame_make_writable(swr_frame); + // init converted audio frame + swr_frame = av_frame_alloc(); + swr_frame->channel_layout = acodec_ctx->channel_layout; + swr_frame->channels = acodec_ctx->channels; + swr_frame->sample_rate = acodec_ctx->sample_rate; + swr_frame->format = acodec_ctx->sample_fmt; + av_frame_make_writable(swr_frame); - av_init_packet(&audio_pkt); + av_init_packet(&audio_pkt); - return true; + return true; } bool ExportThread::setupContainer() { - avformat_alloc_output_context2(&fmt_ctx, nullptr, nullptr, c_filename); - if (!fmt_ctx) { - qCritical() << "Could not create output context"; - export_error = tr("could not create output format context"); - return false; - } + avformat_alloc_output_context2(&fmt_ctx, nullptr, nullptr, c_filename); + if (!fmt_ctx) { + qCritical() << "Could not create output context"; + export_error = tr("could not create output format context"); + return false; + } - //av_dump_format(fmt_ctx, 0, c_filename, 1); + //av_dump_format(fmt_ctx, 0, c_filename, 1); - ret = avio_open(&fmt_ctx->pb, c_filename, AVIO_FLAG_WRITE); - if (ret < 0) { - qCritical() << "Could not open output file." << ret; - export_error = tr("could not open output file (%1)").arg(QString::number(ret)); - return false; - } + ret = avio_open(&fmt_ctx->pb, c_filename, AVIO_FLAG_WRITE); + if (ret < 0) { + qCritical() << "Could not open output file." << ret; + export_error = tr("could not open output file (%1)").arg(QString::number(ret)); + return false; + } - return true; + return true; } void ExportThread::run() { - panel_sequence_viewer->pause(); - panel_sequence_viewer->seek(params.start_frame); + panel_sequence_viewer->pause(); + panel_sequence_viewer->seek(params.start_frame); - // copy filename - QByteArray ba = params.filename.toUtf8(); - c_filename = new char[ba.size()+1]; - strcpy(c_filename, ba.data()); + // copy filename + QByteArray ba = params.filename.toUtf8(); + c_filename = new char[ba.size()+1]; + strcpy(c_filename, ba.data()); - continueEncode = setupContainer(); + continueEncode = setupContainer(); - if (params.video_enabled && continueEncode) continueEncode = setupVideo(); + if (params.video_enabled && continueEncode) continueEncode = setupVideo(); - if (params.audio_enabled && continueEncode) continueEncode = setupAudio(); + if (params.audio_enabled && continueEncode) continueEncode = setupAudio(); - if (continueEncode) { - ret = avformat_write_header(fmt_ctx, nullptr); - if (ret < 0) { - qCritical() << "Could not write output file header." << ret; - export_error = tr("could not write output file header (%1)").arg(QString::number(ret)); - continueEncode = false; - } - } + if (continueEncode) { + ret = avformat_write_header(fmt_ctx, nullptr); + if (ret < 0) { + qCritical() << "Could not write output file header." << ret; + export_error = tr("could not write output file header (%1)").arg(QString::number(ret)); + continueEncode = false; + } + } - long file_audio_samples = 0; - qint64 start_time, frame_time, avg_time, eta, total_time = 0; - long remaining_frames, frame_count = 1; + long file_audio_samples = 0; + qint64 start_time, frame_time, avg_time, eta, total_time = 0; + long remaining_frames, frame_count = 1; - RenderThread* renderer = panel_sequence_viewer->viewer_widget->get_renderer(); - disconnect(renderer, SIGNAL(ready()), panel_sequence_viewer->viewer_widget, SLOT(queue_repaint())); - connect(renderer, SIGNAL(ready()), this, SLOT(wake())); + RenderThread* renderer = panel_sequence_viewer->viewer_widget->get_renderer(); + disconnect(renderer, SIGNAL(ready()), panel_sequence_viewer->viewer_widget, SLOT(queue_repaint())); + connect(renderer, SIGNAL(ready()), this, SLOT(wake())); - mutex.lock(); + mutex.lock(); - while (olive::ActiveSequence->playhead <= params.end_frame && continueEncode) { - start_time = QDateTime::currentMSecsSinceEpoch(); + while (olive::ActiveSequence->playhead <= params.end_frame && continueEncode) { + start_time = QDateTime::currentMSecsSinceEpoch(); - if (params.audio_enabled) { - compose_audio(nullptr, olive::ActiveSequence, 1); - } - if (params.video_enabled) { - do { - // TODO optimize by rendering the next frame while encoding the last - renderer->start_render(nullptr, olive::ActiveSequence, nullptr, video_frame->data[0], video_frame->linesize[0]/4); - waitCond.wait(&mutex); - if (!continueEncode) break; - } while (renderer->did_texture_fail()); - if (!continueEncode) break; - } + if (params.audio_enabled) { + compose_audio(nullptr, olive::ActiveSequence, 1, true); + } + if (params.video_enabled) { + do { + // TODO optimize by rendering the next frame while encoding the last + renderer->start_render(nullptr, olive::ActiveSequence, nullptr, video_frame->data[0], video_frame->linesize[0]/4); + waitCond.wait(&mutex); + if (!continueEncode) break; + } while (renderer->did_texture_fail()); + if (!continueEncode) break; + } - // encode last frame while rendering next frame - double timecode_secs = double(olive::ActiveSequence->playhead - params.start_frame) / olive::ActiveSequence->frame_rate; - if (params.video_enabled) { - // create sws_frame for converting pixel format + // encode last frame while rendering next frame + double timecode_secs = double(olive::ActiveSequence->playhead - params.start_frame) / olive::ActiveSequence->frame_rate; + if (params.video_enabled) { + // create sws_frame for converting pixel format - // - // - I'm not sure why, but we have to alloc/free sws_frame every frame, or it breaks GIF exporting. - // - (i.e. GIFs get stuck on the first frame) - // - The same problem/solution can be seen here: https://stackoverflow.com/a/38997739 - // - Perhaps this is the intended way to use swscale, but it seems inefficient. - // - Anyway, here we are. - // + // + // - I'm not sure why, but we have to alloc/free sws_frame every frame, or it breaks GIF exporting. + // - (i.e. GIFs get stuck on the first frame) + // - The same problem/solution can be seen here: https://stackoverflow.com/a/38997739 + // - Perhaps this is the intended way to use swscale, but it seems inefficient. + // - Anyway, here we are. + // - sws_frame = av_frame_alloc(); - sws_frame->format = vcodec_ctx->pix_fmt; - sws_frame->width = params.video_width; - sws_frame->height = params.video_height; - av_frame_get_buffer(sws_frame, 0); + sws_frame = av_frame_alloc(); + sws_frame->format = vcodec_ctx->pix_fmt; + sws_frame->width = params.video_width; + sws_frame->height = params.video_height; + av_frame_get_buffer(sws_frame, 0); - // convert pixel format to format expected by the encoder - sws_scale(sws_ctx, video_frame->data, video_frame->linesize, 0, video_frame->height, sws_frame->data, sws_frame->linesize); - sws_frame->pts = qRound(timecode_secs/av_q2d(video_stream->time_base)); + // convert pixel format to format expected by the encoder + sws_scale(sws_ctx, video_frame->data, video_frame->linesize, 0, video_frame->height, sws_frame->data, sws_frame->linesize); + sws_frame->pts = qRound(timecode_secs/av_q2d(video_stream->time_base)); - // send converted frame to encoder - if (!encode(fmt_ctx, vcodec_ctx, sws_frame, &video_pkt, video_stream, false)) continueEncode = false; + // send converted frame to encoder + if (!encode(fmt_ctx, vcodec_ctx, sws_frame, &video_pkt, video_stream, false)) continueEncode = false; - av_frame_free(&sws_frame); - } - if (params.audio_enabled) { + av_frame_free(&sws_frame); + } + if (params.audio_enabled) { - // do we need to encode more audio samples? - while (continueEncode && file_audio_samples <= (timecode_secs*params.audio_sampling_rate)) { + // do we need to encode more audio samples? + while (continueEncode && file_audio_samples <= (timecode_secs*params.audio_sampling_rate)) { - // copy samples from audio buffer to AVFrame - int adjusted_read = audio_ibuffer_read%audio_ibuffer_size; - int copylen = qMin(aframe_bytes, audio_ibuffer_size-adjusted_read); - memcpy(audio_frame->data[0], audio_ibuffer+adjusted_read, copylen); - memset(audio_ibuffer+adjusted_read, 0, copylen); - audio_ibuffer_read += copylen; + // copy samples from audio buffer to AVFrame + int adjusted_read = audio_ibuffer_read%audio_ibuffer_size; + int copylen = qMin(aframe_bytes, audio_ibuffer_size-adjusted_read); + memcpy(audio_frame->data[0], audio_ibuffer+adjusted_read, copylen); + memset(audio_ibuffer+adjusted_read, 0, copylen); + audio_ibuffer_read += copylen; - if (copylen < aframe_bytes) { - // copy remainder - int remainder_len = aframe_bytes-copylen; - memcpy(audio_frame->data[0]+copylen, audio_ibuffer, remainder_len); - memset(audio_ibuffer, 0, remainder_len); - audio_ibuffer_read += remainder_len; - } - - // convert to export sample format - swr_convert_frame(swr_ctx, swr_frame, audio_frame); - swr_frame->pts = file_audio_samples; - - // send to encoder - if (!encode(fmt_ctx, acodec_ctx, swr_frame, &audio_pkt, audio_stream, true)) continueEncode = false; - - file_audio_samples += swr_frame->nb_samples; - } - } - - // generating encoding statistics (time it took to encode this frame/estimated remaining time) - frame_time = (QDateTime::currentMSecsSinceEpoch()-start_time); - total_time += frame_time; - remaining_frames = (params.end_frame - olive::ActiveSequence->playhead); - avg_time = (total_time/frame_count); - eta = (remaining_frames*avg_time); - - emit progress_changed(qRound((double(olive::ActiveSequence->playhead - params.start_frame) / double(params.end_frame - params.start_frame)) * 100.0), eta); - olive::ActiveSequence->playhead++; - frame_count++; - } - - disconnect(renderer, SIGNAL(ready()), this, SLOT(wake())); - connect(renderer, SIGNAL(ready()), panel_sequence_viewer->viewer_widget, SLOT(queue_repaint())); - - mutex.unlock(); - - if (continueEncode) { - if (params.video_enabled) vpkt_alloc = true; - if (params.audio_enabled) apkt_alloc = true; - } - - olive::Global->set_rendering_state(false); - - if (params.audio_enabled && continueEncode) { - // flush swresample - do { - swr_convert_frame(swr_ctx, swr_frame, nullptr); - if (swr_frame->nb_samples == 0) break; - swr_frame->pts = file_audio_samples; - if (!encode(fmt_ctx, acodec_ctx, swr_frame, &audio_pkt, audio_stream, true)) continueEncode = false; - file_audio_samples += swr_frame->nb_samples; - } while (swr_frame->nb_samples > 0); - } - - bool continueVideo = true; - bool continueAudio = true; - if (continueEncode) { - // flush remaining packets - while (continueVideo && continueAudio) { - if (continueVideo && params.video_enabled) continueVideo = encode(fmt_ctx, vcodec_ctx, nullptr, &video_pkt, video_stream, false); - if (continueAudio && params.audio_enabled) continueAudio = encode(fmt_ctx, acodec_ctx, nullptr, &audio_pkt, audio_stream, true); - } - - ret = av_write_trailer(fmt_ctx); - if (ret < 0) { - qCritical() << "Could not write output file trailer." << ret; - export_error = tr("could not write output file trailer (%1)").arg(QString::number(ret)); - continueEncode = false; - } - - if (continueEncode) { - emit progress_changed(100, 0); + if (copylen < aframe_bytes) { + // copy remainder + int remainder_len = aframe_bytes-copylen; + memcpy(audio_frame->data[0]+copylen, audio_ibuffer, remainder_len); + memset(audio_ibuffer, 0, remainder_len); + audio_ibuffer_read += remainder_len; } - } - avio_closep(&fmt_ctx->pb); + // convert to export sample format + swr_convert_frame(swr_ctx, swr_frame, audio_frame); + swr_frame->pts = file_audio_samples; - if (vpkt_alloc) av_packet_unref(&video_pkt); - if (video_frame != nullptr) av_frame_free(&video_frame); - if (vcodec_ctx != nullptr) { - avcodec_close(vcodec_ctx); - avcodec_free_context(&vcodec_ctx); - } + // send to encoder + if (!encode(fmt_ctx, acodec_ctx, swr_frame, &audio_pkt, audio_stream, true)) continueEncode = false; - if (apkt_alloc) av_packet_unref(&audio_pkt); - if (audio_frame != nullptr) av_frame_free(&audio_frame); - if (acodec_ctx != nullptr) { - avcodec_close(acodec_ctx); - avcodec_free_context(&acodec_ctx); - } + file_audio_samples += swr_frame->nb_samples; + } + } - avformat_free_context(fmt_ctx); + // generating encoding statistics (time it took to encode this frame/estimated remaining time) + frame_time = (QDateTime::currentMSecsSinceEpoch()-start_time); + total_time += frame_time; + remaining_frames = (params.end_frame - olive::ActiveSequence->playhead); + avg_time = (total_time/frame_count); + eta = (remaining_frames*avg_time); - if (sws_ctx != nullptr) { - sws_freeContext(sws_ctx); - } - if (swr_ctx != nullptr) { - swr_free(&swr_ctx); - av_frame_free(&swr_frame); - } + emit progress_changed(qRound((double(olive::ActiveSequence->playhead - params.start_frame) / double(params.end_frame - params.start_frame)) * 100.0), eta); + olive::ActiveSequence->playhead++; + frame_count++; + } - delete [] c_filename; + disconnect(renderer, SIGNAL(ready()), this, SLOT(wake())); + connect(renderer, SIGNAL(ready()), panel_sequence_viewer->viewer_widget, SLOT(queue_repaint())); + + mutex.unlock(); + + if (continueEncode) { + if (params.video_enabled) vpkt_alloc = true; + if (params.audio_enabled) apkt_alloc = true; + } + + olive::Global->set_rendering_state(false); + + if (params.audio_enabled && continueEncode) { + // flush swresample + do { + swr_convert_frame(swr_ctx, swr_frame, nullptr); + if (swr_frame->nb_samples == 0) break; + swr_frame->pts = file_audio_samples; + if (!encode(fmt_ctx, acodec_ctx, swr_frame, &audio_pkt, audio_stream, true)) continueEncode = false; + file_audio_samples += swr_frame->nb_samples; + } while (swr_frame->nb_samples > 0); + } + + bool continueVideo = true; + bool continueAudio = true; + if (continueEncode) { + // flush remaining packets + while (continueVideo && continueAudio) { + if (continueVideo && params.video_enabled) continueVideo = encode(fmt_ctx, vcodec_ctx, nullptr, &video_pkt, video_stream, false); + if (continueAudio && params.audio_enabled) continueAudio = encode(fmt_ctx, acodec_ctx, nullptr, &audio_pkt, audio_stream, true); + } + + ret = av_write_trailer(fmt_ctx); + if (ret < 0) { + qCritical() << "Could not write output file trailer." << ret; + export_error = tr("could not write output file trailer (%1)").arg(QString::number(ret)); + continueEncode = false; + } + + if (continueEncode) { + emit progress_changed(100, 0); + } + } + + avio_closep(&fmt_ctx->pb); + + if (vpkt_alloc) av_packet_unref(&video_pkt); + if (video_frame != nullptr) av_frame_free(&video_frame); + if (vcodec_ctx != nullptr) { + avcodec_close(vcodec_ctx); + avcodec_free_context(&vcodec_ctx); + } + + if (apkt_alloc) av_packet_unref(&audio_pkt); + if (audio_frame != nullptr) av_frame_free(&audio_frame); + if (acodec_ctx != nullptr) { + avcodec_close(acodec_ctx); + avcodec_free_context(&acodec_ctx); + } + + avformat_free_context(fmt_ctx); + + if (sws_ctx != nullptr) { + sws_freeContext(sws_ctx); + } + if (swr_ctx != nullptr) { + swr_free(&swr_ctx); + av_frame_free(&swr_frame); + } + + delete [] c_filename; } const QString &ExportThread::getError() { - return export_error; + return export_error; } void ExportThread::wake() { - mutex.lock(); - waitCond.wakeAll(); - mutex.unlock(); + mutex.lock(); + waitCond.wakeAll(); + mutex.unlock(); } diff --git a/io/loadthread.cpp b/io/loadthread.cpp index 270bea571..7738c23df 100644 --- a/io/loadthread.cpp +++ b/io/loadthread.cpp @@ -29,7 +29,7 @@ #include "project/projectelements.h" #include "io/config.h" -#include "playback/playback.h" +#include "rendering/renderfunctions.h" #include "io/previewgenerator.h" #include "effects/internal/voideffect.h" #include "debug.h" @@ -376,51 +376,56 @@ bool LoadThread::load_worker(QFile& f, QXmlStreamReader& stream, int type) { int media_id, stream_id; ClipPtr c(new Clip(s)); + QColor clip_color; + ClipSpeed speed_info = c->speed(); + for (int j=0;jname = attr.value().toString(); + c->set_name(attr.value().toString()); } else if (attr.name() == "enabled") { - c->enabled = (attr.value() == "1"); + c->set_enabled(attr.value() == "1"); } else if (attr.name() == "id") { c->load_id = attr.value().toInt(); } else if (attr.name() == "clipin") { - c->clip_in = attr.value().toLong(); + c->set_clip_in(attr.value().toLong()); } else if (attr.name() == "in") { - c->timeline_in = attr.value().toLong(); + c->set_timeline_in(attr.value().toLong()); } else if (attr.name() == "out") { - c->timeline_out = attr.value().toLong(); + c->set_timeline_out(attr.value().toLong()); } else if (attr.name() == "track") { - c->track = attr.value().toInt(); + c->set_track(attr.value().toInt()); } else if (attr.name() == "r") { - c->color_r = quint8(attr.value().toInt()); + clip_color.setRed(attr.value().toInt()); } else if (attr.name() == "g") { - c->color_g = quint8(attr.value().toInt()); + clip_color.setGreen(attr.value().toInt()); } else if (attr.name() == "b") { - c->color_b = quint8(attr.value().toInt()); + clip_color.setBlue(attr.value().toInt()); } else if (attr.name() == "autoscale") { - c->autoscale = (attr.value() == "1"); + c->set_autoscaled(attr.value() == "1"); } else if (attr.name() == "media") { media_type = MEDIA_TYPE_FOOTAGE; media_id = attr.value().toInt(); } else if (attr.name() == "stream") { stream_id = attr.value().toInt(); } else if (attr.name() == "speed") { - c->speed = attr.value().toDouble(); + speed_info.value = attr.value().toDouble(); } else if (attr.name() == "maintainpitch") { - c->maintain_audio_pitch = (attr.value() == "1"); + speed_info.maintain_audio_pitch = (attr.value() == "1"); } else if (attr.name() == "reverse") { - c->reverse = (attr.value() == "1"); + c->set_reversed(attr.value() == "1"); } else if (attr.name() == "sequence") { media_type = MEDIA_TYPE_SEQUENCE; // since we haven't finished loading sequences, we defer linking this until later - c->media = nullptr; - c->media_stream = attr.value().toInt(); + c->set_media(nullptr, attr.value().toInt()); loaded_clips.append(c); } } + c->set_color(clip_color); + c->set_speed(speed_info); + // set media and media stream switch (media_type) { case MEDIA_TYPE_FOOTAGE: @@ -428,8 +433,7 @@ bool LoadThread::load_worker(QFile& f, QXmlStreamReader& stream, int type) { for (int j=0;jto_footage(); if (m->save_id == media_id) { - c->media = loaded_media_items.at(j); - c->media_stream = stream_id; + c->set_media(loaded_media_items.at(j), stream_id); break; } } @@ -630,8 +634,9 @@ void LoadThread::run() { // attach nested sequence clips to their sequences for (int i=0;imedia == nullptr && loaded_clips.at(i)->media_stream == loaded_sequences.at(j)->to_sequence()->save_id) { - loaded_clips.at(i)->media = loaded_sequences.at(j); + if (loaded_clips.at(i)->media() == nullptr + && loaded_clips.at(i)->media_stream_index() == loaded_sequences.at(j)->to_sequence()->save_id) { + loaded_clips.at(i)->set_media(loaded_sequences.at(j), loaded_clips.at(i)->media_stream_index()); loaded_clips.at(i)->refresh(); break; } @@ -644,7 +649,7 @@ void LoadThread::run() { emit success(); // run in main thread for (int i=0;istart_preview_generator(loaded_media_items.at(i), true); + PreviewGenerator* pg = new PreviewGenerator(loaded_media_items.at(i)); } } else { if (error_str.isEmpty()) { @@ -712,7 +717,9 @@ void LoadThread::success_func() { } olive::MainWindow->setWindowModified(autorecovery); - if (open_seq != nullptr) set_sequence(open_seq); + if (open_seq != nullptr) { + olive::Global->set_sequence(open_seq); + } update_ui(false); } diff --git a/io/previewgenerator.cpp b/io/previewgenerator.cpp index 125f9996a..7911b904b 100644 --- a/io/previewgenerator.cpp +++ b/io/previewgenerator.cpp @@ -39,30 +39,37 @@ QSemaphore sem(5); // only 5 preview generators can run at one time -PreviewGenerator::PreviewGenerator(Media* i, FootagePtr m, bool r) : - QThread(nullptr), - fmt_ctx(nullptr), - media(i), - footage(m), - retrieve_duration(false), - contains_still_image(false), - replace(r), - cancelled(false) +PreviewGenerator::PreviewGenerator(Media* i) : + QThread(nullptr) { - data_dir = QDir(get_data_dir().filePath("previews")); - if (!data_dir.exists()) { - data_dir.mkpath("."); + fmt_ctx_ = (nullptr); + media_ = (i); + retrieve_duration_ = (false); + contains_still_image_ = (false); + cancelled_ = (false); + footage_ = media_->to_footage(); + + footage_->preview_gen = this; + + data_dir_ = QDir(get_data_dir().filePath("previews")); + if (!data_dir_.exists()) { + data_dir_.mkpath("."); } connect(this, SIGNAL(finished()), this, SLOT(deleteLater())); + + // set up throbber animation + olive::media_icon_service->SetMediaIcon(media_, ICON_TYPE_LOADING); + + start(QThread::LowPriority); } void PreviewGenerator::parse_media() { // detect video/audio streams in file - for (int i=0;inb_streams);i++) { + for (int i=0;inb_streams);i++) { // Find the decoder for the video stream - if (avcodec_find_decoder(fmt_ctx->streams[i]->codecpar->codec_id) == nullptr) { - qCritical() << "Unsupported codec in stream" << i << "of file" << footage->name; + if (avcodec_find_decoder(fmt_ctx_->streams[i]->codecpar->codec_id) == nullptr) { + qCritical() << "Unsupported codec in stream" << i << "of file" << footage_->name; } else { FootageStream ms; ms.preview_done = false; @@ -72,59 +79,62 @@ void PreviewGenerator::parse_media() { bool append = false; - if (fmt_ctx->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO - && fmt_ctx->streams[i]->codecpar->width > 0 - && fmt_ctx->streams[i]->codecpar->height > 0) { + if (fmt_ctx_->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO + && fmt_ctx_->streams[i]->codecpar->width > 0 + && fmt_ctx_->streams[i]->codecpar->height > 0) { // heuristic to determine if video is a still image (if it is, we treat it differently in the playback/render process) - if (fmt_ctx->streams[i]->avg_frame_rate.den == 0 - && fmt_ctx->streams[i]->codecpar->codec_id != AV_CODEC_ID_DNXHD) { // silly hack but this is the only scenario i've seen this - if (footage->url.contains('%')) { + if (fmt_ctx_->streams[i]->avg_frame_rate.den == 0 + && fmt_ctx_->streams[i]->codecpar->codec_id != AV_CODEC_ID_DNXHD) { // silly hack but this is the only scenario i've seen this + if (footage_->url.contains('%')) { // must be an image sequence ms.video_frame_rate = 25; } else { ms.infinite_length = true; - contains_still_image = true; + contains_still_image_ = true; ms.video_frame_rate = 0; } } else { // using ffmpeg's built-in heuristic - ms.video_frame_rate = av_q2d(av_guess_frame_rate(fmt_ctx, fmt_ctx->streams[i], nullptr)); + ms.video_frame_rate = av_q2d(av_guess_frame_rate(fmt_ctx_, fmt_ctx_->streams[i], nullptr)); } - ms.video_width = fmt_ctx->streams[i]->codecpar->width; - ms.video_height = fmt_ctx->streams[i]->codecpar->height; + ms.video_width = fmt_ctx_->streams[i]->codecpar->width; + ms.video_height = fmt_ctx_->streams[i]->codecpar->height; // default value, we get the true value later in generate_waveform() ms.video_auto_interlacing = VIDEO_PROGRESSIVE; ms.video_interlacing = VIDEO_PROGRESSIVE; append = true; - } else if (fmt_ctx->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { - ms.audio_channels = fmt_ctx->streams[i]->codecpar->channels; - ms.audio_layout = int(fmt_ctx->streams[i]->codecpar->channel_layout); - ms.audio_frequency = fmt_ctx->streams[i]->codecpar->sample_rate; + } else if (fmt_ctx_->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { + ms.audio_channels = fmt_ctx_->streams[i]->codecpar->channels; + ms.audio_layout = int(fmt_ctx_->streams[i]->codecpar->channel_layout); + ms.audio_frequency = fmt_ctx_->streams[i]->codecpar->sample_rate; append = true; } if (append) { - QVector& stream_list = (fmt_ctx->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) ? footage->audio_tracks : footage->video_tracks; + QVector& stream_list = (fmt_ctx_->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) ? + footage_->audio_tracks : footage_->video_tracks; + for (int j=0;jlength = fmt_ctx->duration; + footage_->length = fmt_ctx_->duration; - if (fmt_ctx->duration == INT64_MIN) { - retrieve_duration = true; + if (fmt_ctx_->duration == INT64_MIN) { + retrieve_duration_ = true; } else { finalize_media(); } @@ -132,14 +142,14 @@ void PreviewGenerator::parse_media() { bool PreviewGenerator::retrieve_preview(const QString& hash) { // returns true if generate_waveform must be run, false if we got all previews from cached files - if (retrieve_duration) { + if (retrieve_duration_) { //dout << "[NOTE] " << media->name << "needs to retrieve duration"; return true; } bool found = true; - for (int i=0;ivideo_tracks.size();i++) { - FootageStream& ms = footage->video_tracks[i]; + for (int i=0;ivideo_tracks.size();i++) { + FootageStream& ms = footage_->video_tracks[i]; QString thumb_path = get_thumbnail_path(hash, ms); QFile f(thumb_path); if (f.exists() && ms.video_preview.load(thumb_path)) { @@ -151,8 +161,8 @@ bool PreviewGenerator::retrieve_preview(const QString& hash) { break; } } - for (int i=0;iaudio_tracks.size();i++) { - FootageStream& ms = footage->audio_tracks[i]; + for (int i=0;iaudio_tracks.size();i++) { + FootageStream& ms = footage_->audio_tracks[i]; QString waveform_path = get_waveform_path(hash, ms); QFile f(waveform_path); if (f.exists()) { @@ -172,12 +182,12 @@ bool PreviewGenerator::retrieve_preview(const QString& hash) { } } if (!found) { - for (int i=0;ivideo_tracks.size();i++) { - FootageStream& ms = footage->video_tracks[i]; + for (int i=0;ivideo_tracks.size();i++) { + FootageStream& ms = footage_->video_tracks[i]; ms.preview_done = false; } - for (int i=0;iaudio_tracks.size();i++) { - FootageStream& ms = footage->audio_tracks[i]; + for (int i=0;iaudio_tracks.size();i++) { + FootageStream& ms = footage_->audio_tracks[i]; ms.audio_preview.clear(); ms.preview_done = false; } @@ -186,20 +196,20 @@ bool PreviewGenerator::retrieve_preview(const QString& hash) { } void PreviewGenerator::finalize_media() { - footage->ready_lock.unlock(); - footage->ready = true; + footage_->ready_lock.unlock(); + footage_->ready = true; - if (!cancelled) { - if (footage->video_tracks.size() == 0) { - olive::media_icon_service->SetMediaIcon(media, ICON_TYPE_AUDIO); - } else if (contains_still_image) { - olive::media_icon_service->SetMediaIcon(media, ICON_TYPE_IMAGE); + if (!cancelled_) { + if (footage_->video_tracks.size() == 0) { + olive::media_icon_service->SetMediaIcon(media_, ICON_TYPE_AUDIO); + } else if (contains_still_image_) { + olive::media_icon_service->SetMediaIcon(media_, ICON_TYPE_IMAGE); } else { - olive::media_icon_service->SetMediaIcon(media, ICON_TYPE_VIDEO); + olive::media_icon_service->SetMediaIcon(media_, ICON_TYPE_VIDEO); } if (olive::ActiveSequence != nullptr) { - olive::ActiveSequence->RefreshClips(media); + olive::ActiveSequence->RefreshClips(media_); } } } @@ -214,19 +224,19 @@ void PreviewGenerator::generate_waveform() { AVFrame* temp_frame = av_frame_alloc(); // stores codec contexts for format's streams - AVCodecContext** codec_ctx = new AVCodecContext* [fmt_ctx->nb_streams]; + AVCodecContext** codec_ctx = new AVCodecContext* [fmt_ctx_->nb_streams]; // stores media lengths while scanning in case the format has no duration metadata - int64_t* media_lengths = new int64_t[fmt_ctx->nb_streams]{0}; + int64_t* media_lengths = new int64_t[fmt_ctx_->nb_streams]{0}; // stores samples while scanning before they get sent to preview file - qint16*** waveform_cache_data = new qint16** [fmt_ctx->nb_streams]; + qint16*** waveform_cache_data = new qint16** [fmt_ctx_->nb_streams]; int waveform_cache_count = 0; // defaults to false, sets to true if we find a valid stream to make a preview of bool create_previews = false; - for (unsigned int i=0;inb_streams;i++) { + for (unsigned int i=0;inb_streams;i++) { // default to nullptr values for easier memory management later codec_ctx[i] = nullptr; @@ -234,32 +244,32 @@ void PreviewGenerator::generate_waveform() { // we only generate previews for video and audio // and only if the thumbnail and waveform sizes are > 0 - if ((fmt_ctx->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && olive::CurrentConfig.thumbnail_resolution > 0) - || (fmt_ctx->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO && olive::CurrentConfig.waveform_resolution > 0)) { - AVCodec* codec = avcodec_find_decoder(fmt_ctx->streams[i]->codecpar->codec_id); + if ((fmt_ctx_->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && olive::CurrentConfig.thumbnail_resolution > 0) + || (fmt_ctx_->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO && olive::CurrentConfig.waveform_resolution > 0)) { + AVCodec* codec = avcodec_find_decoder(fmt_ctx_->streams[i]->codecpar->codec_id); if (codec != nullptr) { // alloc the context and load the params into it codec_ctx[i] = avcodec_alloc_context3(codec); - avcodec_parameters_to_context(codec_ctx[i], fmt_ctx->streams[i]->codecpar); + avcodec_parameters_to_context(codec_ctx[i], fmt_ctx_->streams[i]->codecpar); // open the decoder avcodec_open2(codec_ctx[i], codec, nullptr); // audio specific functions - if (fmt_ctx->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { + if (fmt_ctx_->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { // allocate sample cache for this stream - waveform_cache_data[i] = new qint16* [fmt_ctx->streams[i]->codecpar->channels]; + waveform_cache_data[i] = new qint16* [fmt_ctx_->streams[i]->codecpar->channels]; // each channel gets a min and a max value so we allocate two ints for each one - for (int j=0;jstreams[i]->codecpar->channels;j++) { + for (int j=0;jstreams[i]->codecpar->channels;j++) { waveform_cache_data[i][j] = new qint16[2]; } // if codec context has no defined channel layout, guess it from the channel count if (codec_ctx[i]->channel_layout == 0) { - codec_ctx[i]->channel_layout = av_get_default_channel_layout(fmt_ctx->streams[i]->codecpar->channels); + codec_ctx[i]->channel_layout = av_get_default_channel_layout(fmt_ctx_->streams[i]->codecpar->channels); } } @@ -280,16 +290,14 @@ void PreviewGenerator::generate_waveform() { // get the ball rolling do { - av_read_frame(fmt_ctx, packet); + av_read_frame(fmt_ctx_, packet); } while (codec_ctx[packet->stream_index] == nullptr); avcodec_send_packet(codec_ctx[packet->stream_index], packet); while (!end_of_file) { while (codec_ctx[packet->stream_index] == nullptr || avcodec_receive_frame(codec_ctx[packet->stream_index], temp_frame) == AVERROR(EAGAIN)) { av_packet_unref(packet); - int read_ret = av_read_frame(fmt_ctx, packet); - - //dout << "read frame for" << footage->name << footage->url << read_ret << "retrieve_duration:" << retrieve_duration << "eof:" << end_of_file << "packet pts:" << packet->pts; + int read_ret = av_read_frame(fmt_ctx_, packet); if (read_ret < 0) { end_of_file = true; @@ -306,9 +314,9 @@ void PreviewGenerator::generate_waveform() { } } if (!end_of_file) { - FootageStream* s = footage->get_stream_from_file_index(fmt_ctx->streams[packet->stream_index]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO, packet->stream_index); + FootageStream* s = footage_->get_stream_from_file_index(fmt_ctx_->streams[packet->stream_index]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO, packet->stream_index); if (s != nullptr) { - if (fmt_ctx->streams[packet->stream_index]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) { + if (fmt_ctx_->streams[packet->stream_index]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) { if (!s->preview_done) { int dstH = olive::CurrentConfig.thumbnail_resolution; int dstW = qRound(dstH * (float(temp_frame->width)/float(temp_frame->height))); @@ -342,13 +350,13 @@ void PreviewGenerator::generate_waveform() { sws_freeContext(sws_ctx); - if (!retrieve_duration) { + if (!retrieve_duration_) { avcodec_close(codec_ctx[packet->stream_index]); codec_ctx[packet->stream_index] = nullptr; } } media_lengths[packet->stream_index]++; - } else if (fmt_ctx->streams[packet->stream_index]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { + } else if (fmt_ctx_->streams[packet->stream_index]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { AVFrame* swr_frame = av_frame_alloc(); swr_frame->channel_layout = temp_frame->channel_layout; swr_frame->sample_rate = temp_frame->sample_rate; @@ -419,7 +427,7 @@ void PreviewGenerator::generate_waveform() { waveform_cache_count++; - if (cancelled) { + if (cancelled_) { break; } } @@ -427,7 +435,7 @@ void PreviewGenerator::generate_waveform() { swr_free(&swr_ctx); av_frame_free(&swr_frame); - if (cancelled) { + if (cancelled_) { end_of_file = true; break; } @@ -435,12 +443,12 @@ void PreviewGenerator::generate_waveform() { } // check if we've got all our previews - if (retrieve_duration) { + if (retrieve_duration_) { done = false; - } else if (footage->audio_tracks.size() == 0) { + } else if (footage_->audio_tracks.size() == 0) { done = true; - for (int i=0;ivideo_tracks.size();i++) { - if (!footage->video_tracks.at(i).preview_done) { + for (int i=0;ivideo_tracks.size();i++) { + if (!footage_->video_tracks.at(i).preview_done) { done = false; break; } @@ -457,7 +465,7 @@ void PreviewGenerator::generate_waveform() { av_frame_free(&temp_frame); av_packet_free(&packet); - for (unsigned int i=0;inb_streams;i++) { + for (unsigned int i=0;inb_streams;i++) { if (waveform_cache_data[i] != nullptr) { for (int j=0;jchannels;j++) { delete [] waveform_cache_data[i][j]; @@ -472,22 +480,22 @@ void PreviewGenerator::generate_waveform() { } // by this point, we'll have made all audio waveform previews - for (int i=0;iaudio_tracks.size();i++) { - footage->audio_tracks[i].preview_done = true; + for (int i=0;iaudio_tracks.size();i++) { + footage_->audio_tracks[i].preview_done = true; } } - if (retrieve_duration) { - footage->length = 0; + if (retrieve_duration_) { + footage_->length = 0; unsigned int maximum_stream = 0; - for (unsigned int i=0;inb_streams;i++) { + for (unsigned int i=0;inb_streams;i++) { if (media_lengths[i] > media_lengths[maximum_stream]) { maximum_stream = i; } } // FIXME: length is currently retrieved as a frame count rather than a timestamp - footage->length = qRound(double(media_lengths[maximum_stream]) / av_q2d(fmt_ctx->streams[maximum_stream]->avg_frame_rate) * AV_TIME_BASE); + footage_->length = qRound(double(media_lengths[maximum_stream]) / av_q2d(fmt_ctx_->streams[maximum_stream]->avg_frame_rate) * AV_TIME_BASE); finalize_media(); } @@ -498,58 +506,59 @@ void PreviewGenerator::generate_waveform() { } QString PreviewGenerator::get_thumbnail_path(const QString& hash, const FootageStream& ms) { - return data_dir.filePath(QString("%1t%2").arg(hash, QString::number(ms.file_index))); + return data_dir_.filePath(QString("%1t%2").arg(hash, QString::number(ms.file_index))); } QString PreviewGenerator::get_waveform_path(const QString& hash, const FootageStream& ms) { - return data_dir.filePath(QString("%1w%2").arg(hash, QString::number(ms.file_index))); + return data_dir_.filePath(QString("%1w%2").arg(hash, QString::number(ms.file_index))); } void PreviewGenerator::run() { - Q_ASSERT(footage != nullptr); - Q_ASSERT(media != nullptr); + Q_ASSERT(footage_ != nullptr); + Q_ASSERT(media_ != nullptr); - QByteArray ba = footage->url.toUtf8(); + const QString url = footage_->url; + QByteArray ba = url.toUtf8(); char* filename = new char[ba.size()+1]; strcpy(filename, ba.data()); QString errorStr; bool error = false; - int errCode = avformat_open_input(&fmt_ctx, filename, nullptr, nullptr); + int errCode = avformat_open_input(&fmt_ctx_, filename, nullptr, nullptr); if(errCode != 0) { char err[1024]; av_strerror(errCode, err, 1024); errorStr = tr("Could not open file - %1").arg(err); error = true; } else { - errCode = avformat_find_stream_info(fmt_ctx, nullptr); + errCode = avformat_find_stream_info(fmt_ctx_, nullptr); if (errCode < 0) { char err[1024]; av_strerror(errCode, err, 1024); errorStr = tr("Could not find stream information - %1").arg(err); error = true; } else { - av_dump_format(fmt_ctx, 0, filename, 0); + av_dump_format(fmt_ctx_, 0, filename, 0); parse_media(); // see if we already have data for this - QString hash = get_file_hash(footage->url); + QString hash = get_file_hash(footage_->url); if (retrieve_preview(hash)) { sem.acquire(); - if (!cancelled) { + if (!cancelled_) { generate_waveform(); - if (!cancelled) { + if (!cancelled_) { // save preview to file - for (int i=0;ivideo_tracks.size();i++) { - FootageStream& ms = footage->video_tracks[i]; + for (int i=0;ivideo_tracks.size();i++) { + FootageStream& ms = footage_->video_tracks[i]; ms.video_preview.save(get_thumbnail_path(hash, ms), "PNG"); //dout << "saved" << ms->file_index << "thumbnail to" << get_thumbnail_path(hash, ms); } - for (int i=0;iaudio_tracks.size();i++) { - FootageStream& ms = footage->audio_tracks[i]; + for (int i=0;iaudio_tracks.size();i++) { + FootageStream& ms = footage_->audio_tracks[i]; QFile f(get_waveform_path(hash, ms)); f.open(QFile::WriteOnly); f.write(ms.audio_preview.constData(), ms.audio_preview.size()); @@ -562,25 +571,25 @@ void PreviewGenerator::run() { sem.release(); } } - avformat_close_input(&fmt_ctx); + avformat_close_input(&fmt_ctx_); } - if (!cancelled) { + if (!cancelled_) { if (error) { - media->update_tooltip(errorStr); - olive::media_icon_service->SetMediaIcon(media, ICON_TYPE_ERROR); - footage->invalid = true; - footage->ready_lock.unlock(); + media_->update_tooltip(errorStr); + olive::media_icon_service->SetMediaIcon(media_, ICON_TYPE_ERROR); + footage_->invalid = true; + footage_->ready_lock.unlock(); } else { - media->update_tooltip(); + media_->update_tooltip(); } } delete [] filename; - footage->preview_gen = nullptr; + footage_->preview_gen = nullptr; } void PreviewGenerator::cancel() { - cancelled = true; + cancelled_ = true; wait(); } diff --git a/io/previewgenerator.h b/io/previewgenerator.h index 1443a5b8f..2db1cae14 100644 --- a/io/previewgenerator.h +++ b/io/previewgenerator.h @@ -39,24 +39,24 @@ class PreviewGenerator : public QThread { Q_OBJECT public: - PreviewGenerator(Media*, FootagePtr, bool); + PreviewGenerator(Media*); void run(); void cancel(); private: void parse_media(); bool retrieve_preview(const QString &hash); void generate_waveform(); - void finalize_media(); - AVFormatContext* fmt_ctx; - Media* media; - FootagePtr footage; - bool retrieve_duration; - bool contains_still_image; - bool replace; - bool cancelled; - QDir data_dir; + void finalize_media(); QString get_thumbnail_path(const QString &hash, const FootageStream &ms); QString get_waveform_path(const QString& hash, const FootageStream &ms); + + AVFormatContext* fmt_ctx_; + Media* media_; + FootagePtr footage_; + bool retrieve_duration_; + bool contains_still_image_; + bool cancelled_; + QDir data_dir_; }; #endif // PREVIEWGENERATOR_H diff --git a/io/proxygenerator.cpp b/io/proxygenerator.cpp index f59be37c2..58251ac45 100644 --- a/io/proxygenerator.cpp +++ b/io/proxygenerator.cpp @@ -21,6 +21,7 @@ #include "proxygenerator.h" #include "io/path.h" +#include "io/previewgenerator.h" #include "mainwindow.h" #include @@ -31,9 +32,9 @@ #include extern "C" { - #include - #include - #include +#include +#include +#include } enum AVCodecID temp_enc_codec = AV_CODEC_ID_PRORES; @@ -41,370 +42,373 @@ enum AVCodecID temp_enc_codec = AV_CODEC_ID_PRORES; ProxyGenerator::ProxyGenerator() : cancelled(false) {} void ProxyGenerator::transcode(const ProxyInfo& info) { - // set progress to 0 - current_progress = 0.0; + FootagePtr footage = info.media->to_footage(); - // open input file - AVFormatContext* input_fmt_ctx = nullptr; - avformat_open_input(&input_fmt_ctx, info.footage->url.toUtf8(), nullptr, nullptr); + // set progress to 0 + current_progress = 0.0; - // open output file - AVFormatContext* output_fmt_ctx = nullptr; - avformat_alloc_output_context2(&output_fmt_ctx, nullptr, nullptr, info.path.toUtf8()); + // open input file + AVFormatContext* input_fmt_ctx = nullptr; + avformat_open_input(&input_fmt_ctx, footage->url.toUtf8(), nullptr, nullptr); + + // open output file + AVFormatContext* output_fmt_ctx = nullptr; + avformat_alloc_output_context2(&output_fmt_ctx, nullptr, nullptr, info.path.toUtf8()); + + // open output file writing handle + avio_open(&output_fmt_ctx->pb, info.path.toUtf8(), AVIO_FLAG_WRITE); + + // get stream info from input file + avformat_find_stream_info(input_fmt_ctx, nullptr); + + // create array of input decoders + QVector input_streams; + input_streams.resize(input_fmt_ctx->nb_streams); + input_streams.fill(nullptr); + + // create array of output encoders + QVector output_streams; + output_streams.resize(input_fmt_ctx->nb_streams); + output_streams.fill(nullptr); + + // create array of swscale contexts for pixel format conversion + QVector sws_contexts; + sws_contexts.resize(input_fmt_ctx->nb_streams); + sws_contexts.fill(nullptr); - // open output file writing handle - avio_open(&output_fmt_ctx->pb, info.path.toUtf8(), AVIO_FLAG_WRITE); - - // get stream info from input file - avformat_find_stream_info(input_fmt_ctx, nullptr); - - // create array of input decoders - QVector input_streams; - input_streams.resize(input_fmt_ctx->nb_streams); - input_streams.fill(nullptr); - - // create array of output encoders - QVector output_streams; - output_streams.resize(input_fmt_ctx->nb_streams); - output_streams.fill(nullptr); + // loop through file to find compatible video streams + for (int i=0;inb_streams);i++) { + AVStream* in_stream = input_fmt_ctx->streams[i]; + + // create new stream in output + AVStream* out_stream = avformat_new_stream(output_fmt_ctx, nullptr); + out_stream->id = in_stream->id; + + // find decoder for this codec + AVCodec* dec_codec = avcodec_find_decoder(in_stream->codecpar->codec_id); + + // find encoder for chosen proxy type + AVCodec* enc_codec = avcodec_find_encoder(temp_enc_codec); + + // we only transcode video streams, others we just passthrough + if (in_stream->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && dec_codec != nullptr) { + + // allocate decoding context for this stream + AVCodecContext* dec_ctx = avcodec_alloc_context3(dec_codec); + + // copy parameters from stream to decoding context + avcodec_parameters_to_context(dec_ctx, in_stream->codecpar); + + // open decoder + avcodec_open2(dec_ctx, dec_codec, nullptr); + + // store decoding context in array + input_streams[i] = dec_ctx; - // create array of swscale contexts for pixel format conversion - QVector sws_contexts; - sws_contexts.resize(input_fmt_ctx->nb_streams); - sws_contexts.fill(nullptr); - - // loop through file to find compatible video streams - for (int i=0;inb_streams);i++) { - AVStream* in_stream = input_fmt_ctx->streams[i]; - - // create new stream in output - AVStream* out_stream = avformat_new_stream(output_fmt_ctx, nullptr); - out_stream->id = in_stream->id; - - // find decoder for this codec - AVCodec* dec_codec = avcodec_find_decoder(in_stream->codecpar->codec_id); + // retrieve more information about this stream + av_dump_format(input_fmt_ctx, i, footage->url.toUtf8(), 0); - // find encoder for chosen proxy type - AVCodec* enc_codec = avcodec_find_encoder(temp_enc_codec); - - // we only transcode video streams, others we just passthrough - if (in_stream->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && dec_codec != nullptr) { - - // allocate decoding context for this stream - AVCodecContext* dec_ctx = avcodec_alloc_context3(dec_codec); - - // copy parameters from stream to decoding context - avcodec_parameters_to_context(dec_ctx, in_stream->codecpar); + // allocate encoding context for this stream + AVCodecContext* enc_ctx = avcodec_alloc_context3(enc_codec); - // open decoder - avcodec_open2(dec_ctx, dec_codec, nullptr); + // copy properties from decoding context to encoding context + enc_ctx->codec_id = temp_enc_codec; + enc_ctx->codec_type = AVMEDIA_TYPE_VIDEO; + enc_ctx->width = qFloor(dec_ctx->width*info.size_multiplier); + enc_ctx->height = qFloor(dec_ctx->height*info.size_multiplier); + enc_ctx->sample_aspect_ratio = dec_ctx->sample_aspect_ratio; + enc_ctx->pix_fmt = enc_codec->pix_fmts[0]; + enc_ctx->framerate = dec_ctx->framerate; + enc_ctx->time_base = in_stream->time_base; + out_stream->time_base = in_stream->time_base; - // store decoding context in array - input_streams[i] = dec_ctx; + // if format uses global headers, add flag to enc_ctx + if (output_fmt_ctx->oformat->flags & AVFMT_GLOBALHEADER) { + enc_ctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; + } - // retrieve more information about this stream - av_dump_format(input_fmt_ctx, i, info.footage->url.toUtf8(), 0); + // set encoder options (mostly just multithreading) + AVDictionary* opts = nullptr; + av_dict_set(&opts, "threads", "auto", 0); - // allocate encoding context for this stream - AVCodecContext* enc_ctx = avcodec_alloc_context3(enc_codec); + // open encoder + avcodec_open2(enc_ctx, enc_codec, &opts); - // copy properties from decoding context to encoding context - enc_ctx->codec_id = temp_enc_codec; - enc_ctx->codec_type = AVMEDIA_TYPE_VIDEO; - enc_ctx->width = qFloor(dec_ctx->width*info.size_multiplier); - enc_ctx->height = qFloor(dec_ctx->height*info.size_multiplier); - enc_ctx->sample_aspect_ratio = dec_ctx->sample_aspect_ratio; - enc_ctx->pix_fmt = enc_codec->pix_fmts[0]; - enc_ctx->framerate = dec_ctx->framerate; - enc_ctx->time_base = in_stream->time_base; + // copy parameters from encoding context to stream + avcodec_parameters_from_context(out_stream->codecpar, enc_ctx); - out_stream->time_base = in_stream->time_base; + // store encoding context in array + output_streams[i] = enc_ctx; - // if format uses global headers, add flag to enc_ctx - if (output_fmt_ctx->oformat->flags & AVFMT_GLOBALHEADER) { - enc_ctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; - } + // create swscontext for this stream + SwsContext* sws_ctx = sws_getContext( + in_stream->codecpar->width, + in_stream->codecpar->height, + static_cast(in_stream->codecpar->format), + enc_ctx->width, + enc_ctx->height, + enc_ctx->pix_fmt, + 0, + nullptr, + nullptr, + nullptr + ); - // set encoder options (mostly just multithreading) - AVDictionary* opts = nullptr; - av_dict_set(&opts, "threads", "auto", 0); + sws_contexts[i] = sws_ctx; + } else { + avcodec_parameters_copy(out_stream->codecpar, in_stream->codecpar); + } + } - // open encoder - avcodec_open2(enc_ctx, enc_codec, &opts); + // write video header + avformat_write_header(output_fmt_ctx, nullptr); + + // packet that av_read_frame will dump file packets into + AVPacket packet; + av_init_packet(&packet); + + // frame that decoder will decode into + AVFrame* dec_frame = av_frame_alloc(); - // copy parameters from encoding context to stream - avcodec_parameters_from_context(out_stream->codecpar, enc_ctx); + // main transcoding loop + while (!skip) { - // store encoding context in array - output_streams[i] = enc_ctx; + // cache stream index + int stream_index = packet.stream_index; - // create swscontext for this stream - SwsContext* sws_ctx = sws_getContext( - in_stream->codecpar->width, - in_stream->codecpar->height, - static_cast(in_stream->codecpar->format), - enc_ctx->width, - enc_ctx->height, - enc_ctx->pix_fmt, - 0, - nullptr, - nullptr, - nullptr - ); + // retrieve frame from decoder (this will clear the last frame so we don't have to do that) + int read_ret = -1; + int recfr_ret = -1; + do { + // read from input file + read_ret = av_read_frame(input_fmt_ctx, &packet); - sws_contexts[i] = sws_ctx; - } else { - avcodec_parameters_copy(out_stream->codecpar, in_stream->codecpar); - } - } + // handle errors + if (read_ret < 0) { - // write video header - avformat_write_header(output_fmt_ctx, nullptr); + // AVERROR_EOF means we've simply reached the end of the file, otherwise this is an error + if (read_ret != AVERROR_EOF) { + qWarning() << "Proxy generation for file" << footage->url << "ended prematurely"; + } - // packet that av_read_frame will dump file packets into - AVPacket packet; - av_init_packet(&packet); + // either way, we shall abort reading + break; + } - // frame that decoder will decode into - AVFrame* dec_frame = av_frame_alloc(); + stream_index = packet.stream_index; - // main transcoding loop - while (!skip) { + // determine whether this frame is from a stream we're transcoding + if (input_streams.at(stream_index) == nullptr) { + // if we didn't allocate a decoder for this earlier, we just pass it through - // cache stream index - int stream_index = packet.stream_index; + av_packet_rescale_ts(&packet, input_fmt_ctx->streams[stream_index]->time_base, output_fmt_ctx->streams[stream_index]->time_base); - // retrieve frame from decoder (this will clear the last frame so we don't have to do that) - int read_ret = -1; - int recfr_ret = -1; - do { - // read from input file - read_ret = av_read_frame(input_fmt_ctx, &packet); + // write packet to output + av_interleaved_write_frame(output_fmt_ctx, &packet); - // handle errors - if (read_ret < 0) { + } else { + // we're going to transcode this packet. - // AVERROR_EOF means we've simply reached the end of the file, otherwise this is an error - if (read_ret != AVERROR_EOF) { - qWarning() << "Proxy generation for file" << info.footage->url << "ended prematurely"; - } + // send packet to decoder + avcodec_send_packet(input_streams.at(stream_index), &packet); - // either way, we shall abort reading - break; - } + // use timestamp and stream duration to create a rough estimation of the progress through this file + current_progress = qCeil((double(packet.pts)/double(input_fmt_ctx->streams[packet.stream_index]->duration))*100); - stream_index = packet.stream_index; + } - // determine whether this frame is from a stream we're transcoding - if (input_streams.at(stream_index) == nullptr) { - // if we didn't allocate a decoder for this earlier, we just pass it through + // free packet allocated by av_read_frame + av_packet_unref(&packet); + } while ((recfr_ret = avcodec_receive_frame(input_streams.at(packet.stream_index), dec_frame)) == AVERROR(EAGAIN) && !skip); - av_packet_rescale_ts(&packet, input_fmt_ctx->streams[stream_index]->time_base, output_fmt_ctx->streams[stream_index]->time_base); + // error/eof handling - cancel while loop + if (read_ret < 0 || skip) { + break; + } - // write packet to output - av_interleaved_write_frame(output_fmt_ctx, &packet); + // free packet as we're about to use it for encoding + av_packet_unref(&packet); - } else { - // we're going to transcode this packet. + // rescale input frame timestamp to output timestamp + dec_frame->pts = av_rescale_q(dec_frame->pts, + input_fmt_ctx->streams[stream_index]->time_base, + output_fmt_ctx->streams[stream_index]->time_base); - // send packet to decoder - avcodec_send_packet(input_streams.at(stream_index), &packet); + // determine if the pix_fmt, width, and/or height is different, so if we need to convert + bool convert_pix_fmt = (output_streams.at(stream_index)->pix_fmt != input_streams.at(stream_index)->pix_fmt + || output_streams.at(stream_index)->width != input_streams.at(stream_index)->width + || output_streams.at(stream_index)->height != input_streams.at(stream_index)->height); - // use timestamp and stream duration to create a rough estimation of the progress through this file - current_progress = qCeil((double(packet.pts)/double(input_fmt_ctx->streams[packet.stream_index]->duration))*100); + // create reference to the frame to be sent to the encoder + AVFrame* enc_frame = dec_frame; - } + if (convert_pix_fmt) { + // create sws frame for pixel format conversion + enc_frame = av_frame_alloc(); + enc_frame->width = output_streams.at(stream_index)->width; + enc_frame->height = output_streams.at(stream_index)->height; + enc_frame->format = output_streams.at(stream_index)->pix_fmt; + av_frame_get_buffer(enc_frame, 0); - // free packet allocated by av_read_frame - av_packet_unref(&packet); - } while ((recfr_ret = avcodec_receive_frame(input_streams.at(packet.stream_index), dec_frame)) == AVERROR(EAGAIN) && !skip); + // convert pixel format to format expected by the encoder + sws_scale(sws_contexts.at(stream_index), dec_frame->data, dec_frame->linesize, 0, dec_frame->height, enc_frame->data, enc_frame->linesize); - // error/eof handling - cancel while loop - if (read_ret < 0 || skip) { - break; - } + // set same pts as dec_frame + enc_frame->pts = dec_frame->pts; + } - // free packet as we're about to use it for encoding - av_packet_unref(&packet); + // send frame to encoder + avcodec_send_frame(output_streams.at(stream_index), enc_frame); - // rescale input frame timestamp to output timestamp - av_rescale_q(dec_frame->pts, input_fmt_ctx->streams[stream_index]->time_base, output_fmt_ctx->streams[stream_index]->time_base); + if (convert_pix_fmt) { + // free sws frame since we made one before + av_frame_free(&enc_frame); + } - // determine if the pix_fmt, width, and/or height is different, so if we need to convert - bool convert_pix_fmt = (output_streams.at(stream_index)->pix_fmt != input_streams.at(stream_index)->pix_fmt - || output_streams.at(stream_index)->width != input_streams.at(stream_index)->width - || output_streams.at(stream_index)->height != input_streams.at(stream_index)->height); + // return value for packet receiving + int recret; - // create reference to the frame to be sent to the encoder - AVFrame* enc_frame = dec_frame; + // loop through receiving packets + while ((recret = avcodec_receive_packet(output_streams.at(stream_index), &packet)) >= 0 && !skip) { - if (convert_pix_fmt) { - // create sws frame for pixel format conversion - enc_frame = av_frame_alloc(); - enc_frame->width = output_streams.at(stream_index)->width; - enc_frame->height = output_streams.at(stream_index)->height; - enc_frame->format = output_streams.at(stream_index)->pix_fmt; - av_frame_get_buffer(enc_frame, 0); + // set packet stream index to current stream index + packet.stream_index = stream_index; - // convert pixel format to format expected by the encoder - sws_scale(sws_contexts.at(stream_index), dec_frame->data, dec_frame->linesize, 0, dec_frame->height, enc_frame->data, enc_frame->linesize); + // write frame to file + av_interleaved_write_frame(output_fmt_ctx, &packet); - // set same pts as dec_frame - enc_frame->pts = dec_frame->pts; - } + // unref old packet + av_packet_unref(&packet); - // send frame to encoder - avcodec_send_frame(output_streams.at(stream_index), enc_frame); + } - if (convert_pix_fmt) { - // free sws frame since we made one before - av_frame_free(&enc_frame); - } + } - // return value for packet receiving - int recret; + // free dec_frame + av_frame_free(&dec_frame); - // loop through receiving packets - while ((recret = avcodec_receive_packet(output_streams.at(stream_index), &packet)) >= 0 && !skip) { + // write video trailer + av_write_trailer(output_fmt_ctx); - // set packet stream index to current stream index - packet.stream_index = stream_index; + // free stream contexts + for (int i=0;inb_streams);i++) { + if (input_streams[i] != nullptr) { + // free swscale contexts + sws_freeContext(sws_contexts[i]); - // write frame to file - av_interleaved_write_frame(output_fmt_ctx, &packet); + // free input decoding context + avcodec_close(input_streams[i]); + avcodec_free_context(&input_streams[i]); - // unref old packet - av_packet_unref(&packet); + // free output encoding context + avcodec_close(output_streams[i]); + avcodec_free_context(&output_streams[i]); + } + } - } + // close output file handle + avio_closep(&output_fmt_ctx->pb); - } + // close output file + avformat_free_context(output_fmt_ctx); - // free dec_frame - av_frame_free(&dec_frame); + // close input file + avformat_close_input(&input_fmt_ctx); - // write video trailer - av_write_trailer(output_fmt_ctx); + // set footage to use newly generated proxy + footage->proxy = true; + footage->proxy_path = info.path; - // free stream contexts - for (int i=0;inb_streams);i++) { - if (input_streams[i] != nullptr) { - // free swscale contexts - sws_freeContext(sws_contexts[i]); - - // free input decoding context - avcodec_close(input_streams[i]); - avcodec_free_context(&input_streams[i]); - - // free output encoding context - avcodec_close(output_streams[i]); - avcodec_free_context(&output_streams[i]); - } - } - - // close output file handle - avio_closep(&output_fmt_ctx->pb); - - // close output file - avformat_free_context(output_fmt_ctx); - - // close input file - avformat_close_input(&input_fmt_ctx); - - // set footage to use newly generated proxy - info.footage->proxy = true; - info.footage->proxy_path = info.path; - - qInfo() << "Finished creating proxy for" << info.footage->url; - QMetaObject::invokeMethod(olive::MainWindow->statusBar(), - "showMessage", - Qt::QueuedConnection, - Q_ARG(QString, tr("Finished generating proxy for \"%1\"").arg(info.footage->url))); + qInfo() << "Finished creating proxy for" << footage->url; + QMetaObject::invokeMethod(olive::MainWindow->statusBar(), + "showMessage", + Qt::QueuedConnection, + Q_ARG(QString, tr("Finished generating proxy for \"%1\"").arg(footage->url))); } // main proxy generating loop void ProxyGenerator::run() { - // mutex used for thread safe signalling - mutex.lock(); + // mutex used for thread safe signalling + mutex.lock(); - while (!cancelled) { - // wait for queue() to be called - waitCond.wait(&mutex); + while (!cancelled) { + // wait for queue() to be called + waitCond.wait(&mutex); - // quit thread if cancel() was called - if (cancelled) break; + // quit thread if cancel() was called + if (cancelled) break; - // loop through queue until the queue is empty - while (proxy_queue.size() > 0) { + // loop through queue until the queue is empty + while (proxy_queue.size() > 0) { - // grab proxy info - const ProxyInfo& info = proxy_queue.first(); + // grab proxy info + const ProxyInfo& info = proxy_queue.first(); - // create directory for info - QFileInfo(info.path).dir().mkpath("."); + // create directory for info + QFileInfo(info.path).dir().mkpath("."); - // set skip to false - skip = false; + // set skip to false + skip = false; - // transcode proxy - transcode(info); + // transcode proxy + transcode(info); - // we're finished with this proxy, remove it - proxy_queue.removeFirst(); + // we're finished with this proxy, remove it + proxy_queue.removeFirst(); - // quit loop if cancel() was called - if (cancelled) break; + // quit loop if cancel() was called + if (cancelled) break; - } - } + } + } - mutex.unlock(); + mutex.unlock(); } // called to add footage to generate proxies for void ProxyGenerator::queue(const ProxyInfo &info) { - // remove any queued proxies with the same footage - if (!proxy_queue.isEmpty() - && proxy_queue.first().footage == info.footage) { - // if the thread is currently processing a proxy with the same footage, abort it - skip = true; - } + // remove any queued proxies with the same footage + if (!proxy_queue.isEmpty() + && proxy_queue.first().media == info.media) { + // if the thread is currently processing a proxy with the same footage, abort it + skip = true; + } - // scan through the rest of the queue for another proxy with the same footage (start with 1 since we already processed first()) - for (int i=1;i #include -#include "project/footage.h" +#include "project/media.h" struct ProxyInfo { - FootagePtr footage; - double size_multiplier; - int codec_type; - QString path; + Media* media; + double size_multiplier; + int codec_type; + QString path; }; class ProxyGenerator : public QThread { - Q_OBJECT + Q_OBJECT public: - ProxyGenerator(); - void run(); - void queue(const ProxyInfo& info); - void cancel(); - double get_proxy_progress(FootagePtr f); + ProxyGenerator(); + void run(); + void queue(const ProxyInfo& info); + void cancel(); + double get_proxy_progress(Media *f); private: - // queue of footage to process proxies for - QVector proxy_queue; + // queue of footage to process proxies for + QVector proxy_queue; - // threading objects - QWaitCondition waitCond; - QMutex mutex; + // threading objects + QWaitCondition waitCond; + QMutex mutex; - // set to true if you want to permanently close ProxyGenerator - bool cancelled; + // set to true if you want to permanently close ProxyGenerator + bool cancelled; - // set to true if you want to abort the footage currently being processed - bool skip; + // set to true if you want to abort the footage currently being processed + bool skip; - // stores progress in percent of proxy currently being processed - double current_progress; + // stores progress in percent of proxy currently being processed + double current_progress; - // function that performs the actual transcode - void transcode(const ProxyInfo& info); + // function that performs the actual transcode + void transcode(const ProxyInfo& info); }; -// proxy generator is a global omnipotent entity -extern ProxyGenerator proxy_generator; +namespace olive { + // proxy generator is a global omnipotent entity + extern ProxyGenerator proxy_generator; +} #endif // PROXYGENERATOR_H diff --git a/io/qpainterwrapper.cpp b/io/qpainterwrapper.cpp index a3f892fd1..9d37e7641 100644 --- a/io/qpainterwrapper.cpp +++ b/io/qpainterwrapper.cpp @@ -30,8 +30,6 @@ QPainterWrapper painter_wrapper; QPainterWrapper::QPainterWrapper() {} QColor get_color_from_string(const QString& s) { - dout << s; - // workaround for alpha if (s.at(0) == '#' && s.length() == 9) { QColor color(s.left(7)); diff --git a/mainwindow.cpp b/mainwindow.cpp index 9b5fa3505..5c04d4c60 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -43,8 +43,8 @@ #include "dialogs/debugdialog.h" -#include "playback/audio.h" -#include "playback/playback.h" +#include "rendering/audio.h" +#include "rendering/renderfunctions.h" #include "debug.h" @@ -233,7 +233,7 @@ MainWindow::MainWindow(QWidget *parent) : init_audio(); // start omnipotent proxy generator process - proxy_generator.start(); + olive::proxy_generator.start(); // set default window title updateTitle(); @@ -573,6 +573,10 @@ void MainWindow::setup_menus() { window_menu->addAction(tr("Maximize Panel"), this, SLOT(maximize_panel()), QKeySequence("`"))->setProperty("id", "maximizepanel"); + QAction* lock_panels = window_menu->addAction(tr("Lock Panels"), this, SLOT(set_panels_locked(bool))); + lock_panels->setCheckable(true); + lock_panels->setProperty("id", "lockpanels"); + window_menu->addSeparator(); window_menu->addAction(tr("Reset to Default Layout"), this, SLOT(reset_layout()))->setProperty("id", "resetdefaultlayout"); @@ -748,11 +752,11 @@ void MainWindow::updateTitle() { void MainWindow::closeEvent(QCloseEvent *e) { if (olive::Global->can_close_project()) { // stop proxy generator thread - proxy_generator.cancel(); + olive::proxy_generator.cancel(); panel_effect_controls->clear_effects(true); - set_sequence(nullptr); + olive::Global->set_sequence(nullptr); panel_footage_viewer->viewer_widget->close_window(); panel_sequence_viewer->viewer_widget->close_window(); @@ -919,6 +923,27 @@ void MainWindow::toggle_panel_visibility() { temp_panel_state.clear(); } +void MainWindow::set_panels_locked(bool locked) +{ + for (int i=0;isetFeatures(panel->features() & ~QDockWidget::DockWidgetMovable); + + // hide the title bar (only real way to do this is to replace it with an empty QWidget) + panel->setTitleBarWidget(new QWidget(panel)); + } else { + // re-enable moving on QDockWidget + panel->setFeatures(panel->features() | QDockWidget::DockWidgetMovable); + + // set the "custom" titlebar to null so the default gets restored + panel->setTitleBarWidget(nullptr); + } + } +} + void MainWindow::fileMenu_About_To_Be_Shown() { if (recent_projects.size() > 0) { open_recent->clear(); diff --git a/mainwindow.h b/mainwindow.h index 2dc6c6dca..92f88ea51 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -29,12 +29,12 @@ class Viewer; class Timeline; class MainWindow : public QMainWindow { - Q_OBJECT + Q_OBJECT public: - explicit MainWindow(QWidget *parent); - virtual ~MainWindow() override; + explicit MainWindow(QWidget *parent); + virtual ~MainWindow() override; - /** + /** * @brief Update window title * * Updates the window title to reflect the current project filename. Call if the project filename changes. @@ -42,9 +42,9 @@ public: * NOTE: It's recommended to use update_project_filename() from Olive::Global to update the filename completely * instead of calling this function directly (update_project_filename() calls this function in the process). */ - void updateTitle(); + void updateTitle(); - /** + /** * @brief Load shortcut file. * * Loads a shortcut configuration from file and sets Olive to use them. @@ -54,9 +54,9 @@ public: * URL of the shortcut file to be loaded * */ - void load_shortcuts(const QString &fn); + void load_shortcuts(const QString &fn); - /** + /** * @brief Save shortcut file. * * Saves the current shortcut configuration to file. Only saves shortcuts that have been changed from default. @@ -65,119 +65,128 @@ public: * * URL to save the shortcut file to. */ - void save_shortcuts(const QString &fn); + void save_shortcuts(const QString &fn); - /** + /** * @brief Load a CSS/QSS style from file to customize Olive's interface. * * @param fn * * URL to load the CSS file from. */ - void load_css_from_file(const QString& fn); + void load_css_from_file(const QString& fn); public slots: - /** + /** * @brief Toggles full screen mode. * * Toggles the main window between full screen and windowed modes. */ - void toggle_full_screen(); + void toggle_full_screen(); signals: - /** + /** * @brief Signal emitted once when the main window has finished initializing * * Emitted the first time paintEvent runs. Connect this to functions that must be completed post-initialization. */ - void finished_first_paint(); + void finished_first_paint(); protected: - /** + /** * @brief Close event * * Confirms whether the project can be closed, and if so performs various clean-up functions before the application * exits. It's preferable to call clean-up functions here rather than in the destructor because this will get called * first. */ - virtual void closeEvent(QCloseEvent *) override; + virtual void closeEvent(QCloseEvent *) override; - /** + /** * @brief Paint event * * Overridden to provide the finished_first_paint() signal. */ - virtual void paintEvent(QPaintEvent *) override; + virtual void paintEvent(QPaintEvent *) override; private slots: - /** + /** * @brief Maximizes the currently hovered panel. * * Saves the current state of the panels/dock widgets and removes all except the currently hovered panel, * effectively maximizing the panel to the entire window. */ - void maximize_panel(); + void maximize_panel(); - /** + /** * @brief Reset panel layout to default. * * Resets the current panel layout to default. Doesn't save the current layout. */ - void reset_layout(); + void reset_layout(); - /** + /** * @brief Function to prepare File menu. * * Primarily used to populate the Open Recent Projects menu. */ - void fileMenu_About_To_Be_Shown(); + void fileMenu_About_To_Be_Shown(); - /** + /** * @brief Function to prepare Edit menu. * * Primarily used to set the enabled state on Undo and Redo depending if there are undos/redos available. */ - void editMenu_About_To_Be_Shown(); + void editMenu_About_To_Be_Shown(); - /** + /** * @brief Function to prepare Window menu. * * Primarily used to set the checked state of menu items corresponding to the panels that are currently visible. */ - void windowMenu_About_To_Be_Shown(); + void windowMenu_About_To_Be_Shown(); - /** + /** * @brief Function to prepare Playback menu. * * Primarily used to set the checked state on the "Loop" item. */ - void playbackMenu_About_To_Be_Shown(); + void playbackMenu_About_To_Be_Shown(); - /** + /** * @brief Function to prepare View menu. * * Primarily used to set the checked state of various options in the view menu (e.g. title safe area, timecode * units, etc.) */ - void viewMenu_About_To_Be_Shown(); + void viewMenu_About_To_Be_Shown(); - /** + /** * @brief Function to prepare Tools menu. * * Primarily used to set the checked state on various settings available from the Tools menu. */ - void toolMenu_About_To_Be_Shown(); + void toolMenu_About_To_Be_Shown(); - /** + /** * @brief Toggle whether a panel is visible or not. * * Assumes the sender() QAction has a pointer to a QDockWidget in its data variable. Casts it and toggles its * visibility. */ - void toggle_panel_visibility(); + void toggle_panel_visibility(); + + /** + * @brief Set panel lock + * + * @param locked + * + * If **TRUE** prevents panels from being moved around. Defaults to **FALSE**. + */ + void set_panels_locked(bool locked); private: - /** + /** * @brief Internal function for setting the panel layout to a predetermined preset. * * Resets layout to default and optionally loads a layout from file. If loading from file, this function will @@ -188,79 +197,81 @@ private: * **TRUE** if this function should just reset the current layout. **FALSE** if it should load from the * aforementioned layout file. */ - void setup_layout(bool reset); + void setup_layout(bool reset); - /** + /** * @brief Initialize menu bar menus and items. * * Internal initialization function for all menus and menu items in the main window. Called once from the * MainWindow() constructor. */ - void setup_menus(); + void setup_menus(); - // menu bar menus - QMenu* window_menu; + void Retranslate(); - // file menu actions - QMenu* open_recent; - QAction* clear_open_recent_action; + // menu bar menus + QMenu* window_menu; - // view menu actions - QAction* track_lines; - QAction* frames_action; - QAction* drop_frame_action; - QAction* nondrop_frame_action; - QAction* milliseconds_action; - QAction* no_autoscroll; - QAction* page_autoscroll; - QAction* smooth_autoscroll; - QAction* title_safe_off; - QAction* title_safe_default; - QAction* title_safe_43; - QAction* title_safe_169; - QAction* title_safe_custom; - QAction* full_screen; - QAction* show_all; + // file menu actions + QMenu* open_recent; + QAction* clear_open_recent_action; - // tool menu actions - QAction* pointer_tool_action; - QAction* edit_tool_action; - QAction* ripple_tool_action; - QAction* razor_tool_action; - QAction* slip_tool_action; - QAction* slide_tool_action; - QAction* hand_tool_action; - QAction* transition_tool_action; - QAction* snap_toggle; - QAction* selecting_also_seeks; - QAction* edit_tool_also_seeks; - QAction* edit_tool_selects_links; - QAction* seek_to_end_of_pastes; - QAction* scroll_wheel_zooms; - QAction* rectified_waveforms; - QAction* enable_drag_files_to_timeline; - QAction* autoscale_by_default; - QAction* enable_seek_to_import; - QAction* enable_audio_scrubbing; - QAction* enable_drop_on_media_to_replace; - QAction* enable_hover_focus; - QAction* set_name_and_marker; - QAction* loop_action; - QAction* seek_also_selects; + // view menu actions + QAction* track_lines; + QAction* frames_action; + QAction* drop_frame_action; + QAction* nondrop_frame_action; + QAction* milliseconds_action; + QAction* no_autoscroll; + QAction* page_autoscroll; + QAction* smooth_autoscroll; + QAction* title_safe_off; + QAction* title_safe_default; + QAction* title_safe_43; + QAction* title_safe_169; + QAction* title_safe_custom; + QAction* full_screen; + QAction* show_all; - // edit menu actions - QAction* undo_action; - QAction* redo_action; + // tool menu actions + QAction* pointer_tool_action; + QAction* edit_tool_action; + QAction* ripple_tool_action; + QAction* razor_tool_action; + QAction* slip_tool_action; + QAction* slide_tool_action; + QAction* hand_tool_action; + QAction* transition_tool_action; + QAction* snap_toggle; + QAction* selecting_also_seeks; + QAction* edit_tool_also_seeks; + QAction* edit_tool_selects_links; + QAction* seek_to_end_of_pastes; + QAction* scroll_wheel_zooms; + QAction* rectified_waveforms; + QAction* enable_drag_files_to_timeline; + QAction* autoscale_by_default; + QAction* enable_seek_to_import; + QAction* enable_audio_scrubbing; + QAction* enable_drop_on_media_to_replace; + QAction* enable_hover_focus; + QAction* set_name_and_marker; + QAction* loop_action; + QAction* seek_also_selects; - // used to store the panel state when one panel is maximized - QByteArray temp_panel_state; + // edit menu actions + QAction* undo_action; + QAction* redo_action; - // used in paintEvent() to determine the first paintEvent() performed - bool first_show; + // used to store the panel state when one panel is maximized + QByteArray temp_panel_state; + + // used in paintEvent() to determine the first paintEvent() performed + bool first_show; }; namespace olive { - extern MainWindow* MainWindow; +extern MainWindow* MainWindow; } #endif // MAINWINDOW_H diff --git a/olive.pro b/olive.pro index fef731ce4..a103ea85a 100644 --- a/olive.pro +++ b/olive.pro @@ -29,7 +29,13 @@ DEFINES += QT_DEPRECATED_WARNINGS # Tries to get the current Git short hash system("which git") { - GITHASHVAR = $$system(git --git-dir $$PWD/.git --work-tree $$PWD log -1 --format=%h) + GITPATH = $$PWD + + win32 { + GITPATH = $$system(cygpath $$PWD) + } + + GITHASHVAR = $$system(git --git-dir="$$GITPATH/.git" --work-tree="$$GITPATH" log -1 --format=%h) # Fallback for Ubuntu/Launchpad (extracts Git hash from debian/changelog rather than Git repo) # (see https://answers.launchpad.net/launchpad/+question/678556) @@ -60,8 +66,6 @@ SOURCES += \ project/footage.cpp \ project/sequence.cpp \ project/clip.cpp \ - playback/playback.cpp \ - playback/audio.cpp \ io/config.cpp \ dialogs/newsequencedialog.cpp \ ui/viewerwidget.cpp \ @@ -69,7 +73,6 @@ SOURCES += \ dialogs/exportdialog.cpp \ ui/collapsiblewidget.cpp \ panels/panels.cpp \ - playback/cacher.cpp \ io/exportthread.cpp \ ui/timelineheader.cpp \ io/previewgenerator.cpp \ @@ -133,8 +136,6 @@ SOURCES += \ effects/internal/voideffect.cpp \ dialogs/texteditdialog.cpp \ dialogs/debugdialog.cpp \ - ui/renderthread.cpp \ - ui/renderfunctions.cpp \ ui/viewerwindow.cpp \ project/projectfilter.cpp \ effects/internal/frei0reffect.cpp \ @@ -152,7 +153,12 @@ SOURCES += \ project/comboaction.cpp \ ui/mediaiconservice.cpp \ ui/panel.cpp \ - effects/internal/dropshadoweffect.cpp + effects/internal/dropshadoweffect.cpp \ + rendering/renderfunctions.cpp \ + rendering/renderthread.cpp \ + rendering/cacher.cpp \ + rendering/clipqueue.cpp \ + rendering/audio.cpp HEADERS += \ mainwindow.h \ @@ -167,8 +173,6 @@ HEADERS += \ project/footage.h \ project/sequence.h \ project/clip.h \ - playback/playback.h \ - playback/audio.h \ io/config.h \ dialogs/newsequencedialog.h \ ui/viewerwidget.h \ @@ -176,7 +180,6 @@ HEADERS += \ dialogs/exportdialog.h \ ui/collapsiblewidget.h \ panels/panels.h \ - playback/cacher.h \ io/exportthread.h \ ui/timelinetools.h \ ui/timelineheader.h \ @@ -242,8 +245,6 @@ HEADERS += \ effects/internal/voideffect.h \ dialogs/texteditdialog.h \ dialogs/debugdialog.h \ - ui/renderthread.h \ - ui/renderfunctions.h \ ui/viewerwindow.h \ project/projectfilter.h \ effects/internal/frei0reffect.h \ @@ -262,7 +263,12 @@ HEADERS += \ project/comboaction.h \ ui/mediaiconservice.h \ ui/panel.h \ - effects/internal/dropshadoweffect.h + effects/internal/dropshadoweffect.h \ + rendering/renderfunctions.h \ + rendering/renderthread.h \ + rendering/clipqueue.h \ + rendering/cacher.h \ + rendering/audio.h FORMS += @@ -280,7 +286,7 @@ TRANSLATIONS += \ win32 { RC_FILE = packaging/windows/resources.rc LIBS += -lavutil -lavformat -lavcodec -lavfilter -lswscale -lswresample -lopengl32 -luser32 - defined(OLIVE_OCIO) { + contains(DEFINES, OLIVE_OCIO) { LIBS += -lOpenColorIO } } diff --git a/oliveglobal.cpp b/oliveglobal.cpp index d3e3b56cc..dc284cbf8 100644 --- a/oliveglobal.cpp +++ b/oliveglobal.cpp @@ -27,7 +27,9 @@ #include "io/path.h" #include "io/config.h" -#include "playback/audio.h" +#include "ui/mediaiconservice.h" + +#include "rendering/audio.h" #include "dialogs/demonotice.h" #include "dialogs/preferencesdialog.h" @@ -279,6 +281,16 @@ void OliveGlobal::open_preferences() { pd.exec(); } +void OliveGlobal::set_sequence(SequencePtr s) +{ + panel_effect_controls->clear_effects(true); + + olive::ActiveSequence = s; + panel_sequence_viewer->set_main_sequence(); + panel_timeline->update_sequence(); + panel_timeline->setFocus(); +} + void OliveGlobal::open_project_worker(const QString& fn, bool autorecovery) { update_project_filename(fn); panel_project->load_project(autorecovery); diff --git a/oliveglobal.h b/oliveglobal.h index da274565c..1acc9e678 100644 --- a/oliveglobal.h +++ b/oliveglobal.h @@ -263,6 +263,19 @@ public slots: */ void open_preferences(); + /** + * @brief Set the current active Sequence + * + * Call this to change the active Sequence (e.g. when the user double clicks a Sequence in the Project panel). + * This will affect panel_timeline, panel_sequence_viewer, and panel_effect_controls and can then be retrieved + * using olive::ActiveSequence. + * + * @param s + * + * The Sequence to set as the active Sequence. + */ + void set_sequence(SequencePtr s); + private: /** * @brief Internal function to handle loading a project from file diff --git a/panels/effectcontrols.cpp b/panels/effectcontrols.cpp index ccbff20b8..0928f1670 100644 --- a/panels/effectcontrols.cpp +++ b/panels/effectcontrols.cpp @@ -94,13 +94,14 @@ bool EffectControls::keyframe_focus() { void EffectControls::set_zoom(bool in) { zoom *= (in) ? 2 : 0.5; update_keyframes(); + scroll_to_frame(olive::ActiveSequence->playhead); } void EffectControls::menu_select(QAction* q) { ComboAction* ca = new ComboAction(); for (int i=0;iclips.at(selected_clips.at(i)); - if ((c->track < 0) == (effect_menu_subtype == EFFECT_TYPE_VIDEO)) { + if ((c->track() < 0) == (effect_menu_subtype == EFFECT_TYPE_VIDEO)) { const EffectMeta* meta = reinterpret_cast(q->data().value()); if (effect_menu_type == EFFECT_TYPE_TRANSITION) { if (c->opening_transition == nullptr) { @@ -178,7 +179,7 @@ void EffectControls::copy(bool del) { } void EffectControls::scroll_to_frame(long frame) { - scroll_to_frame_internal(horizontalScrollBar, frame, zoom, keyframeView->width()); + scroll_to_frame_internal(horizontalScrollBar, frame - keyframeView->visible_in, zoom, keyframeView->width()); } void EffectControls::add_effect_paste_action(QMenu *menu) { @@ -309,7 +310,7 @@ void EffectControls::UpdateTitle() { if (selected_clips.empty()) { setWindowTitle(panel_name + tr("(none)")); } else { - setWindowTitle(panel_name + olive::ActiveSequence->clips.at(selected_clips.at(0))->name); + setWindowTitle(panel_name + olive::ActiveSequence->clips.at(selected_clips.at(0))->name()); } } @@ -529,7 +530,7 @@ void EffectControls::load_effects() { for (int i=0;iclips.at(selected_clips.at(i)); QVBoxLayout* layout; - if (c->track < 0) { + if (c->track() < 0) { vcontainer->setVisible(true); layout = static_cast(video_effect_area->layout()); } else { diff --git a/panels/grapheditor.cpp b/panels/grapheditor.cpp index f8f4d53e1..61ce66f5c 100644 --- a/panels/grapheditor.cpp +++ b/panels/grapheditor.cpp @@ -201,8 +201,10 @@ void GraphEditor::set_row(EffectRow *r) { if (found_vals) { row = r; - current_row_desc->setText(row->parent_effect->parent_clip->name + " :: " + row->parent_effect->meta->name + " :: " + row->get_name()); - header->set_visible_in(r->parent_effect->parent_clip->timeline_in); + current_row_desc->setText(row->parent_effect->parent_clip->name() + + " :: " + row->parent_effect->meta->name + + " :: " + row->get_name()); + header->set_visible_in(r->parent_effect->parent_clip->timeline_in()); connect(keyframe_nav, SIGNAL(goto_previous_key()), row, SLOT(goto_previous_key())); connect(keyframe_nav, SIGNAL(toggle_key()), row, SLOT(toggle_key())); diff --git a/panels/panels.cpp b/panels/panels.cpp index 5a6794ed5..05e9561e3 100644 --- a/panels/panels.cpp +++ b/panels/panels.cpp @@ -55,7 +55,7 @@ void update_effect_controls() { for (int j=0;jselections.size();j++) { const Selection& s = olive::ActiveSequence->selections.at(j); bool add = true; - if (clip->timeline_in >= s.in && clip->timeline_out <= s.out && clip->track == s.track) { + if (clip->timeline_in() >= s.in && clip->timeline_out() <= s.out && clip->track() == s.track) { mode = kTransitionNone; } else if (selection_contains_transition(s, clip, kTransitionOpening)) { mode = kTransitionOpening; @@ -66,9 +66,9 @@ void update_effect_controls() { } if (add) { - if (clip->track < 0 && vclip == -1) { + if (clip->track() < 0 && vclip == -1) { vclip = i; - } else if (clip->track >= 0 && aclip == -1) { + } else if (clip->track() >= 0 && aclip == -1) { aclip = i; } else { vclip = -2; diff --git a/panels/project.cpp b/panels/project.cpp index ecc4efb37..2c2c70d19 100644 --- a/panels/project.cpp +++ b/panels/project.cpp @@ -23,12 +23,12 @@ #include "oliveglobal.h" #include "panels.h" -#include "playback/playback.h" +#include "rendering/renderfunctions.h" #include "io/previewgenerator.h" #include "project/undo.h" #include "mainwindow.h" #include "io/config.h" -#include "playback/cacher.h" +#include "rendering/cacher.h" #include "dialogs/replaceclipmediadialog.h" #include "panels/effectcontrols.h" #include "dialogs/newsequencedialog.h" @@ -64,6 +64,13 @@ extern "C" { #include } +// TODO make these configurable +const int kDefaultSequenceWidth = 1920; +const int kDefaultSequenceHeight = 1080; +const double kDefaultSequenceFrameRate = 29.97; +const int kDefaultSequenceFrequency = 48000; +const int kDefaultSequenceChannelLayout = 3; + #define MAXIMUM_RECENT_PROJECTS 10 // FIXME: should be configurable QString autorecovery_filename; @@ -268,11 +275,11 @@ SequencePtr create_sequence_from_media(QVector& media_list) { s->name = panel_project->get_next_sequence_name(); // shitty hardcoded default values - s->width = 1920; - s->height = 1080; - s->frame_rate = 29.97; - s->audio_frequency = 48000; - s->audio_layout = 3; + s->width = kDefaultSequenceWidth; + s->height = kDefaultSequenceHeight; + s->frame_rate = kDefaultSequenceFrameRate; + s->audio_frequency = kDefaultSequenceFrequency; + s->audio_layout = kDefaultSequenceChannelLayout; bool got_video_values = false; bool got_audio_values = false; @@ -464,7 +471,9 @@ Media* Project::create_sequence_internal(ComboAction *ca, SequencePtr s, bool op } else { parent->appendChild(item); } - if (open) set_sequence(s); + if (open) { + olive::Global->set_sequence(s); + } } return item; } @@ -515,7 +524,7 @@ bool delete_clips_in_clipboard_with_media(ComboAction* ca, Media* m) { if (clipboard_type == CLIPBOARD_TYPE_CLIP) { for (int i=0;i(clipboard.at(i)); - if (c->media == m) { + if (c->media() == m) { ca->append(new RemoveClipsFromClipboard(i-delete_count)); delete_count++; } @@ -553,7 +562,7 @@ void Project::delete_selected_media() { SequencePtr s = sequence_items.at(j)->to_sequence(); for (int k=0;kclips.size();k++) { ClipPtr c = s->clips.at(k); - if (c != nullptr && c->media == item) { + if (c != nullptr && c->media() == item) { if (!confirm_delete) { // we found a reference, so we know we'll need to ask if the user wants to delete it QMessageBox confirm(this); @@ -649,7 +658,7 @@ void Project::delete_selected_media() { if (panel_footage_viewer->seq != nullptr) { for (int j=0;jseq->clips.size();j++) { ClipPtr c = panel_footage_viewer->seq->clips.at(j); - if (c != nullptr && c->media == items.at(i)) { + if (c != nullptr && c->media() == items.at(i)) { panel_footage_viewer->set_media(nullptr); break; } @@ -668,15 +677,6 @@ void Project::delete_selected_media() { } } -void Project::start_preview_generator(Media* item, bool replacing) { - // set up throbber animation - olive::media_icon_service->SetMediaIcon(item, ICON_TYPE_LOADING); - - PreviewGenerator* pg = new PreviewGenerator(item, item->to_footage(), replacing); - item->to_footage()->preview_gen = pg; - pg->start(QThread::LowPriority); -} - void Project::process_file_list(QStringList& files, bool recursive, Media* replace, Media* parent) { bool imported = false; @@ -800,13 +800,12 @@ void Project::process_file_list(QStringList& files, bool recursive, Media* repla if (replace != nullptr) { item = replace; - m = replace->to_footage(); - m->reset(); } else { item = new Media(parent); - m = FootagePtr(new Footage()); } + m = FootagePtr(new Footage()); + m->using_inout = false; m->url = file; m->name = get_file_name_from_path(files.at(i)); @@ -820,7 +819,6 @@ void Project::process_file_list(QStringList& files, bool recursive, Media* repla ca->append(new AddMediaCommand(item, parent)); } else { parent->appendChild(item); - // project_model.appendChild(parent, item); } } @@ -834,7 +832,7 @@ void Project::process_file_list(QStringList& files, bool recursive, Media* repla for (int i=0;imedia == m) { + if (c->media() == m) { ca->append(new DeleteClipAction(olive::ActiveSequence, i)); deleted = true; } @@ -971,7 +969,7 @@ void Project::clear() { void Project::new_project() { // clear existing project - set_sequence(nullptr); + olive::Global->set_sequence(nullptr); panel_footage_viewer->set_media(nullptr); clear(); olive::MainWindow->setWindowModified(false); @@ -1094,38 +1092,38 @@ void Project::save_folder(QXmlStreamWriter& stream, int type, bool set_ids_only, if (c != nullptr) { stream.writeStartElement("clip"); // clip stream.writeAttribute("id", QString::number(j)); - stream.writeAttribute("enabled", QString::number(c->enabled)); - stream.writeAttribute("name", c->name); - stream.writeAttribute("clipin", QString::number(c->clip_in)); - stream.writeAttribute("in", QString::number(c->timeline_in)); - stream.writeAttribute("out", QString::number(c->timeline_out)); - stream.writeAttribute("track", QString::number(c->track)); + stream.writeAttribute("enabled", QString::number(c->enabled())); + stream.writeAttribute("name", c->name()); + stream.writeAttribute("clipin", QString::number(c->clip_in())); + stream.writeAttribute("in", QString::number(c->timeline_in())); + stream.writeAttribute("out", QString::number(c->timeline_out())); + stream.writeAttribute("track", QString::number(c->track())); - stream.writeAttribute("r", QString::number(c->color_r)); - stream.writeAttribute("g", QString::number(c->color_g)); - stream.writeAttribute("b", QString::number(c->color_b)); + stream.writeAttribute("r", QString::number(c->color().red())); + stream.writeAttribute("g", QString::number(c->color().green())); + stream.writeAttribute("b", QString::number(c->color().blue())); - stream.writeAttribute("autoscale", QString::number(c->autoscale)); - stream.writeAttribute("speed", QString::number(c->speed, 'f', 10)); - stream.writeAttribute("maintainpitch", QString::number(c->maintain_audio_pitch)); - stream.writeAttribute("reverse", QString::number(c->reverse)); + stream.writeAttribute("autoscale", QString::number(c->autoscaled())); + stream.writeAttribute("speed", QString::number(c->speed().value, 'f', 10)); + stream.writeAttribute("maintainpitch", QString::number(c->speed().maintain_audio_pitch)); + stream.writeAttribute("reverse", QString::number(c->reversed())); - if (c->media != nullptr) { - stream.writeAttribute("type", QString::number(c->media->get_type())); - switch (c->media->get_type()) { + if (c->media() != nullptr) { + stream.writeAttribute("type", QString::number(c->media()->get_type())); + switch (c->media()->get_type()) { case MEDIA_TYPE_FOOTAGE: - stream.writeAttribute("media", QString::number(c->media->to_footage()->save_id)); - stream.writeAttribute("stream", QString::number(c->media_stream)); + stream.writeAttribute("media", QString::number(c->media()->to_footage()->save_id)); + stream.writeAttribute("stream", QString::number(c->media_stream_index())); break; case MEDIA_TYPE_SEQUENCE: - stream.writeAttribute("sequence", QString::number(c->media->to_sequence()->save_id)); + stream.writeAttribute("sequence", QString::number(c->media()->to_sequence()->save_id)); break; } } // save markers // only necessary for null media clips, since media has its own markers - if (c->media == nullptr) { + if (c->media() == nullptr) { for (int k=0;kget_markers().size();k++) { save_marker(stream, c->get_markers().at(k)); } diff --git a/panels/project.h b/panels/project.h index 5f80a5c46..69fdcee72 100644 --- a/panels/project.h +++ b/panels/project.h @@ -87,7 +87,6 @@ public: QModelIndexList get_current_selected(); - void start_preview_generator(Media* item, bool replacing); void get_all_media_from_table(QList &items, QList &list, int type = -1); QWidget* toolbar_widget; diff --git a/panels/timeline.cpp b/panels/timeline.cpp index f61aa966b..786029887 100644 --- a/panels/timeline.cpp +++ b/panels/timeline.cpp @@ -27,9 +27,9 @@ #include "ui/timelinewidget.h" #include "ui/viewerwidget.h" -#include "playback/audio.h" -#include "playback/cacher.h" -#include "playback/playback.h" +#include "rendering/audio.h" +#include "rendering/cacher.h" +#include "rendering/renderfunctions.h" #include "io/config.h" #include "io/clipboard.h" #include "ui/timelineheader.h" @@ -140,10 +140,10 @@ void Timeline::previous_cut() { for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); if (c != nullptr) { - if (c->timeline_out > p_cut && c->timeline_out < olive::ActiveSequence->playhead) { - p_cut = c->timeline_out; - } else if (c->timeline_in > p_cut && c->timeline_in < olive::ActiveSequence->playhead) { - p_cut = c->timeline_in; + if (c->timeline_out() > p_cut && c->timeline_out() < olive::ActiveSequence->playhead) { + p_cut = c->timeline_out(); + } else if (c->timeline_in() > p_cut && c->timeline_in() < olive::ActiveSequence->playhead) { + p_cut = c->timeline_in(); } } } @@ -158,11 +158,11 @@ void Timeline::next_cut() { for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); if (c != nullptr) { - if (c->timeline_in < n_cut && c->timeline_in > olive::ActiveSequence->playhead) { - n_cut = c->timeline_in; + if (c->timeline_in() < n_cut && c->timeline_in() > olive::ActiveSequence->playhead) { + n_cut = c->timeline_in(); seek_enabled = true; - } else if (c->timeline_out < n_cut && c->timeline_out > olive::ActiveSequence->playhead) { - n_cut = c->timeline_out; + } else if (c->timeline_out() < n_cut && c->timeline_out() > olive::ActiveSequence->playhead) { + n_cut = c->timeline_out(); seek_enabled = true; } } @@ -208,18 +208,18 @@ void Timeline::create_ghosts_from_media(SequencePtr seq, long entry_point, QVect if (m->using_inout) { double source_fr = 30; if (m->video_tracks.size() > 0 && !qIsNull(m->video_tracks.at(0).video_frame_rate)) source_fr = m->video_tracks.at(0).video_frame_rate * m->speed; - default_clip_in = refactor_frame_number(m->in, source_fr, seq->frame_rate); - default_clip_out = refactor_frame_number(m->out, source_fr, seq->frame_rate); + default_clip_in = rescale_frame_number(m->in, source_fr, seq->frame_rate); + default_clip_out = rescale_frame_number(m->out, source_fr, seq->frame_rate); } break; case MEDIA_TYPE_SEQUENCE: s = medium->to_sequence(); sequence_length = s->getEndFrame(); - if (seq != nullptr) sequence_length = refactor_frame_number(sequence_length, s->frame_rate, seq->frame_rate); + if (seq != nullptr) sequence_length = rescale_frame_number(sequence_length, s->frame_rate, seq->frame_rate); can_import = (s != seq && sequence_length != 0); if (s->using_workarea) { - default_clip_in = refactor_frame_number(s->workarea_in, s->frame_rate, seq->frame_rate); - default_clip_out = refactor_frame_number(s->workarea_out, s->frame_rate, seq->frame_rate); + default_clip_in = rescale_frame_number(s->workarea_in, s->frame_rate, seq->frame_rate); + default_clip_out = rescale_frame_number(s->workarea_out, s->frame_rate, seq->frame_rate); } break; default: @@ -302,41 +302,32 @@ void Timeline::add_clips_from_ghosts(ComboAction* ca, SequencePtr s) { earliest_point = qMin(earliest_point, g.in); ClipPtr c = ClipPtr(new Clip(s)); - c->media = g.media; - c->media_stream = g.media_stream; - c->timeline_in = g.in; - c->timeline_out = g.out; - c->clip_in = g.clip_in; - c->track = g.track; - if (c->media->get_type() == MEDIA_TYPE_FOOTAGE) { - FootagePtr m = c->media->to_footage(); + c->set_media(g.media, g.media_stream); + c->set_timeline_in(g.in); + c->set_timeline_out(g.out); + c->set_clip_in(g.clip_in); + c->set_track(g.track); + if (c->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + FootagePtr m = c->media()->to_footage(); if (m->video_tracks.size() == 0) { // audio only (greenish) - c->color_r = 128; - c->color_g = 192; - c->color_b = 128; + c->set_color(128, 192, 128); } else if (m->audio_tracks.size() == 0) { // video only (orangeish) - c->color_r = 192; - c->color_g = 160; - c->color_b = 128; + c->set_color(192, 160, 128); } else { // video and audio (blueish) - c->color_r = 128; - c->color_g = 128; - c->color_b = 192; + c->set_color(128, 128, 192); } - c->name = m->name; - } else if (c->media->get_type() == MEDIA_TYPE_SEQUENCE) { + c->set_name(m->name); + } else if (c->media()->get_type() == MEDIA_TYPE_SEQUENCE) { // sequence (red?ish?) - c->color_r = 192; - c->color_g = 128; - c->color_b = 128; + c->set_color(192, 128, 128); - SequencePtr media = c->media->to_sequence(); - c->name = media->name; + SequencePtr media = c->media()->to_sequence(); + c->set_name(media->name); } - c->recalculateMaxLength(); + c->refresh(); added_clips.append(c); } ca->append(new AddClipCommand(s, added_clips)); @@ -346,13 +337,13 @@ void Timeline::add_clips_from_ghosts(ComboAction* ca, SequencePtr s) { ClipPtr c = added_clips.at(i); for (int j=0;jmedia == cc->media) { + if (c != cc && c->media() == cc->media()) { c->linked.append(j); } } if (olive::CurrentConfig.add_default_effects_to_clips) { - if (c->track < 0) { + if (c->track() < 0) { // add default video effects c->effects.append(create_effect(c, get_internal_meta(EFFECT_INTERNAL_TRANSFORM, EFFECT_TYPE_EFFECT))); } else { @@ -377,7 +368,7 @@ void Timeline::add_transition() { for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); if (c != nullptr && is_clip_selected(c, true)) { - int transition_to_add = (c->track < 0) ? TRANSITION_INTERNAL_CROSSDISSOLVE : TRANSITION_INTERNAL_LINEARFADE; + int transition_to_add = (c->track() < 0) ? TRANSITION_INTERNAL_CROSSDISSOLVE : TRANSITION_INTERNAL_LINEARFADE; if (c->opening_transition == nullptr) { ca->append(new AddTransitionCommand(c, nullptr, @@ -416,7 +407,7 @@ void Timeline::nest() { ClipPtr c = olive::ActiveSequence->clips.at(i); if (c != nullptr && is_clip_selected(c, true)) { selected_clips.append(i); - earliest_point = qMin(c->timeline_in, earliest_point); + earliest_point = qMin(c->timeline_in(), earliest_point); } } @@ -441,8 +432,8 @@ void Timeline::nest() { // copy to new ClipPtr copy(olive::ActiveSequence->clips.at(selected_clips.at(i))->copy(s)); - copy->timeline_in -= earliest_point; - copy->timeline_out -= earliest_point; + copy->set_timeline_in(copy->timeline_in() - earliest_point); + copy->set_timeline_out(copy->timeline_out() - earliest_point); s->clips.append(copy); } @@ -537,9 +528,9 @@ void Timeline::select_all() { ClipPtr c = olive::ActiveSequence->clips.at(i); if (c != nullptr) { Selection s; - s.in = c->timeline_in; - s.out = c->timeline_out; - s.track = c->track; + s.in = c->timeline_in(); + s.out = c->timeline_out(); + s.track = c->track(); olive::ActiveSequence->selections.append(s); } } @@ -556,12 +547,12 @@ void Timeline::select_from_playhead() { for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); if (c != nullptr - && c->timeline_in <= olive::ActiveSequence->playhead - && c->timeline_out > olive::ActiveSequence->playhead) { + && c->timeline_in() <= olive::ActiveSequence->playhead + && c->timeline_out() > olive::ActiveSequence->playhead) { Selection s; - s.in = c->timeline_in; - s.out = c->timeline_out; - s.track = c->track; + s.in = c->timeline_in(); + s.out = c->timeline_out(); + s.track = c->track(); olive::ActiveSequence->selections.append(s); } } @@ -576,17 +567,17 @@ bool Timeline::can_ripple_empty_space(long frame, int track) { for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); if (c != nullptr) { - if (c->timeline_in > frame || c->timeline_out > frame) { + if (c->timeline_in() > frame || c->timeline_out() > frame) { at_end_of_sequence = false; } - if (c->track == track) { - if (c->timeline_in <= frame && c->timeline_out >= frame) { + if (c->track() == track) { + if (c->timeline_in() <= frame && c->timeline_out() >= frame) { can_ripple_delete = false; break; - } else if (c->timeline_out < frame) { - rc_ripple_min = qMax(rc_ripple_min, c->timeline_out); - } else if (c->timeline_in > frame) { - rc_ripple_max = qMin(rc_ripple_max, c->timeline_in); + } else if (c->timeline_out() < frame) { + rc_ripple_min = qMax(rc_ripple_min, c->timeline_out()); + } else if (c->timeline_in() > frame) { + rc_ripple_max = qMin(rc_ripple_max, c->timeline_in()); } } } @@ -662,20 +653,23 @@ void Timeline::delete_in_out_internal(bool ripple) { void Timeline::toggle_enable_on_selected_clips() { if (olive::ActiveSequence != nullptr) { - ComboAction* ca = new ComboAction(); + + SetClipProperty* set_action = new SetClipProperty(kSetClipPropertyEnabled); bool push_undo = false; + for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); - if (c != nullptr && is_clip_selected(c, true)) { - ca->append(new SetBool(&c->enabled, !c->enabled)); + if (c != nullptr && is_clip_selected(c, true)) { + set_action->AddSetting(c, !c->enabled()); push_undo = true; } } + if (push_undo) { - olive::UndoStack.push(ca); + olive::UndoStack.push(set_action); update_ui(true); } else { - delete ca; + delete set_action; } } } @@ -686,7 +680,9 @@ void Timeline::delete_selection(QVector& selections, bool ripple_dele ComboAction* ca = new ComboAction(); - delete_areas_and_relink(ca, selections, true); + // delete the areas currently selected by `selections` + // if we're ripple deleting, we don't want to delete the selections since we still need them for the ripple + delete_areas_and_relink(ca, selections, !ripple_delete); if (ripple_delete) { long ripple_point = selections.at(0).in; @@ -705,14 +701,14 @@ void Timeline::delete_selection(QVector& selections, bool ripple_dele bool can_ripple = true; for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); - if (c != nullptr && c->timeline_in < ripple_point && c->timeline_out > ripple_point) { + if (c != nullptr && c->timeline_in() < ripple_point && c->timeline_out() > ripple_point) { // conflict detected, but this clip may be getting deleted so let's check bool deleted = false; for (int j=0;jtrack - && !(c->timeline_in < s.in && c->timeline_out < s.in) - && !(c->timeline_in > s.out && c->timeline_out > s.out)) { + if (s.track == c->track() + && !(c->timeline_in() < s.in && c->timeline_out() < s.in) + && !(c->timeline_in() > s.out && c->timeline_out() > s.out)) { deleted = true; break; } @@ -721,10 +717,10 @@ void Timeline::delete_selection(QVector& selections, bool ripple_dele for (int j=0;jclips.size();j++) { ClipPtr cc = olive::ActiveSequence->clips.at(j); if (cc != nullptr - && cc->track == c->track - && cc->timeline_in > c->timeline_out - && cc->timeline_in < c->timeline_out + ripple_length) { - ripple_length = cc->timeline_in - c->timeline_out; + && cc->track() == c->track() + && cc->timeline_in() > c->timeline_out() + && cc->timeline_in() < c->timeline_out() + ripple_length) { + ripple_length = cc->timeline_in() - c->timeline_out(); } } } @@ -735,6 +731,10 @@ void Timeline::delete_selection(QVector& selections, bool ripple_dele ripple_clips(ca, olive::ActiveSequence, ripple_point, -ripple_length); panel_sequence_viewer->seek(ripple_point-1); } + + // if we're rippling, we can clear the selections here - if we're not rippling, delete_areas_and_relink() will + // clear the selections for us + selections.clear(); } olive::UndoStack.push(ca); @@ -827,8 +827,9 @@ void Timeline::DecreaseTrackHeight() { bool is_clip_selected(ClipPtr clip, bool containing) { for (int i=0;isequence->selections.size();i++) { const Selection& s = clip->sequence->selections.at(i); - if (clip->track == s.track && ((clip->timeline_in >= s.in && clip->timeline_out <= s.out && containing) || - (!containing && !(clip->timeline_in < s.in && clip->timeline_out < s.in) && !(clip->timeline_in > s.in && clip->timeline_out > s.in)))) { + if (clip->track() == s.track && ((clip->timeline_in() >= s.in && clip->timeline_out() <= s.out && containing) || + (!containing && !(clip->timeline_in() < s.in && clip->timeline_out() < s.in) + && !(clip->timeline_in() > s.in && clip->timeline_out() > s.in)))) { return true; } } @@ -847,17 +848,17 @@ ClipPtr Timeline::split_clip(ComboAction* ca, bool transitions, int p, long fram ClipPtr pre = olive::ActiveSequence->clips.at(p); if (pre != nullptr) { - if (pre->timeline_in < frame && pre->timeline_out > frame) { + if (pre->timeline_in() < frame && pre->timeline_out() > frame) { // duplicate clip without duplicating its transitions, we'll restore them later ClipPtr post = ClipPtr(pre->copy(olive::ActiveSequence)); - long new_clip_length = frame - pre->timeline_in; + long new_clip_length = frame - pre->timeline_in(); - post->timeline_in = post_in; - post->clip_in = pre->clip_in + (post->timeline_in - pre->timeline_in); + post->set_timeline_in(post_in); + post->set_clip_in(pre->clip_in() + (post->timeline_in() - pre->timeline_in())); - move_clip(ca, pre, pre->timeline_in, frame, pre->clip_in, pre->track, false); + move_clip(ca, pre, pre->timeline_in(), frame, pre->clip_in(), pre->track(), false); if (transitions) { @@ -879,9 +880,9 @@ ClipPtr Timeline::split_clip(ComboAction* ca, bool transitions, int p, long fram } // and make sure it's at the correct size to the closing clip - if (post->closing_transition != nullptr && post->closing_transition->get_true_length() > post->getLength()) { - ca->append(new ModifyTransitionCommand(post->closing_transition, post->getLength())); - post->closing_transition->set_length(post->getLength()); + if (post->closing_transition != nullptr && post->closing_transition->get_true_length() > post->length()) { + ca->append(new ModifyTransitionCommand(post->closing_transition, post->length())); + post->closing_transition->set_length(post->length()); } } @@ -894,7 +895,7 @@ ClipPtr Timeline::split_clip(ComboAction* ca, bool transitions, int p, long fram return post; - } else if (frame == pre->timeline_in + } else if (frame == pre->timeline_in() && pre->opening_transition != nullptr && pre->opening_transition->secondary_clip != nullptr) { // special case for shared transitions to split it into two @@ -1000,14 +1001,14 @@ void Timeline::clean_up_selections(QVector& areas) { bool selection_contains_transition(const Selection& s, ClipPtr c, int type) { if (type == kTransitionOpening) { return c->opening_transition != nullptr - && s.out == c->timeline_in + c->opening_transition->get_true_length() - && ((c->opening_transition->secondary_clip == nullptr && s.in == c->timeline_in) - || (c->opening_transition->secondary_clip != nullptr && s.in == c->timeline_in - c->opening_transition->get_true_length())); + && s.out == c->timeline_in() + c->opening_transition->get_true_length() + && ((c->opening_transition->secondary_clip == nullptr && s.in == c->timeline_in()) + || (c->opening_transition->secondary_clip != nullptr && s.in == c->timeline_in() - c->opening_transition->get_true_length())); } else { return c->closing_transition != nullptr - && s.in == c->timeline_out - c->closing_transition->get_true_length() - && ((c->closing_transition->secondary_clip == nullptr && s.out == c->timeline_out) - || (c->closing_transition->secondary_clip != nullptr && s.out == c->timeline_out + c->closing_transition->get_true_length())); + && s.in == c->timeline_out() - c->closing_transition->get_true_length() + && ((c->closing_transition->secondary_clip == nullptr && s.out == c->timeline_out()) + || (c->closing_transition->secondary_clip != nullptr && s.out == c->timeline_out() + c->closing_transition->get_true_length())); } } @@ -1022,17 +1023,17 @@ void Timeline::delete_areas_and_relink(ComboAction* ca, QVector& area const Selection& s = areas.at(i); for (int j=0;jclips.size();j++) { ClipPtr c = olive::ActiveSequence->clips.at(j); - if (c != nullptr && c->track == s.track && !c->undeletable) { + if (c != nullptr && c->track() == s.track && !c->undeletable) { if (selection_contains_transition(s, c, kTransitionOpening)) { // delete opening transition ca->append(new DeleteTransitionCommand(c->opening_transition)); } else if (selection_contains_transition(s, c, kTransitionClosing)) { // delete closing transition ca->append(new DeleteTransitionCommand(c->closing_transition)); - } else if (c->timeline_in >= s.in && c->timeline_out <= s.out) { + } else if (c->timeline_in() >= s.in && c->timeline_out() <= s.out) { // clips falls entirely within deletion area ca->append(new DeleteClipAction(olive::ActiveSequence, j)); - } else if (c->timeline_in < s.in && c->timeline_out > s.out) { + } else if (c->timeline_in() < s.in && c->timeline_out() > s.out) { // middle of clip is within deletion area // duplicate clip @@ -1040,26 +1041,26 @@ void Timeline::delete_areas_and_relink(ComboAction* ca, QVector& area pre_clips.append(j); post_clips.append(post); - } else if (c->timeline_in < s.in && c->timeline_out > s.in) { + } else if (c->timeline_in() < s.in && c->timeline_out() > s.in) { // only out point is in deletion area - move_clip(ca, c, c->timeline_in, s.in, c->clip_in, c->track); + move_clip(ca, c, c->timeline_in(), s.in, c->clip_in(), c->track()); if (c->closing_transition != nullptr) { - if (s.in < c->timeline_out - c->closing_transition->get_true_length()) { + if (s.in < c->timeline_out() - c->closing_transition->get_true_length()) { ca->append(new DeleteTransitionCommand(c->closing_transition)); } else { - ca->append(new ModifyTransitionCommand(c->closing_transition, c->closing_transition->get_true_length() - (c->timeline_out - s.in))); + ca->append(new ModifyTransitionCommand(c->closing_transition, c->closing_transition->get_true_length() - (c->timeline_out() - s.in))); } } - } else if (c->timeline_in < s.out && c->timeline_out > s.out) { + } else if (c->timeline_in() < s.out && c->timeline_out() > s.out) { // only in point is in deletion area - move_clip(ca, c, s.out, c->timeline_out, c->clip_in + (s.out - c->timeline_in), c->track); + move_clip(ca, c, s.out, c->timeline_out(), c->clip_in() + (s.out - c->timeline_in()), c->track()); if (c->opening_transition != nullptr) { - if (s.out > c->timeline_in + c->opening_transition->get_true_length()) { + if (s.out > c->timeline_in() + c->opening_transition->get_true_length()) { ca->append(new DeleteTransitionCommand(c->opening_transition)); } else { - ca->append(new ModifyTransitionCommand(c->opening_transition, c->opening_transition->get_true_length() - (s.out - c->timeline_in))); + ca->append(new ModifyTransitionCommand(c->opening_transition, c->opening_transition->get_true_length() - (s.out - c->timeline_in()))); } } } @@ -1091,7 +1092,7 @@ void Timeline::copy(bool del) { if (c != nullptr) { for (int j=0;jselections.size();j++) { const Selection& s = olive::ActiveSequence->selections.at(j); - if (s.track == c->track && !((c->timeline_in <= s.in && c->timeline_out <= s.in) || (c->timeline_in >= s.out && c->timeline_out >= s.out))) { + if (s.track == c->track() && !((c->timeline_in() <= s.in && c->timeline_out() <= s.in) || (c->timeline_in() >= s.out && c->timeline_out() >= s.out))) { if (!cleared) { clear_clipboard(); cleared = true; @@ -1103,13 +1104,13 @@ void Timeline::copy(bool del) { // copy linked IDs (we correct these later in paste()) copied_clip->linked = c->linked; - if (copied_clip->timeline_in < s.in) { - copied_clip->clip_in += (s.in - copied_clip->timeline_in); - copied_clip->timeline_in = s.in; + if (copied_clip->timeline_in() < s.in) { + copied_clip->set_clip_in(copied_clip->clip_in() + (s.in - copied_clip->timeline_in())); + copied_clip->set_timeline_in(s.in); } - if (copied_clip->timeline_out > s.out) { - copied_clip->timeline_out = s.out; + if (copied_clip->timeline_out() > s.out) { + copied_clip->set_timeline_out(s.out); } if (copied) { @@ -1129,8 +1130,9 @@ void Timeline::copy(bool del) { for (int i=0;i(clipboard.at(i))->timeline_in -= min_in; - std::static_pointer_cast(clipboard.at(i))->timeline_out -= min_in; + ClipPtr c = std::static_pointer_cast(clipboard.at(i)); + c->set_timeline_in(c->timeline_in() - min_in); + c->set_timeline_out(c->timeline_out() - min_in); } if (del && copied) { @@ -1172,24 +1174,24 @@ void Timeline::paste(bool insert) { ClipPtr cc(c->copy(olive::ActiveSequence)); // convert frame rates - cc->timeline_in = refactor_frame_number(cc->timeline_in, c->cached_fr, olive::ActiveSequence->frame_rate); - cc->timeline_out = refactor_frame_number(cc->timeline_out, c->cached_fr, olive::ActiveSequence->frame_rate); - cc->clip_in = refactor_frame_number(cc->clip_in, c->cached_fr, olive::ActiveSequence->frame_rate); + cc->set_timeline_in(rescale_frame_number(cc->timeline_in(), c->cached_frame_rate(), olive::ActiveSequence->frame_rate)); + cc->set_timeline_out(rescale_frame_number(cc->timeline_out(), c->cached_frame_rate(), olive::ActiveSequence->frame_rate)); + cc->set_clip_in(rescale_frame_number(cc->clip_in(), c->cached_frame_rate(), olive::ActiveSequence->frame_rate)); - cc->timeline_in += olive::ActiveSequence->playhead; - cc->timeline_out += olive::ActiveSequence->playhead; - cc->track = c->track; + cc->set_timeline_in(cc->timeline_in() + olive::ActiveSequence->playhead); + cc->set_timeline_out(cc->timeline_out() + olive::ActiveSequence->playhead); + cc->set_track(c->track()); - paste_start = qMin(paste_start, cc->timeline_in); - paste_end = qMax(paste_end, cc->timeline_out); + paste_start = qMin(paste_start, cc->timeline_in()); + paste_end = qMax(paste_end, cc->timeline_out()); pasted_clips.append(cc); if (!insert) { Selection s; - s.in = cc->timeline_in; - s.out = cc->timeline_out; - s.track = c->track; + s.in = cc->timeline_in(); + s.out = cc->timeline_out(); + s.track = c->track(); delete_areas.append(s); } } @@ -1238,7 +1240,7 @@ void Timeline::paste(bool insert) { if (c != nullptr && is_clip_selected(c, true)) { for (int j=0;j(clipboard.at(j)); - if ((c->track < 0) == (e->meta->subtype == EFFECT_TYPE_VIDEO)) { + if ((c->track() < 0) == (e->meta->subtype == EFFECT_TYPE_VIDEO)) { int found = -1; if (ask_conflict) { replace = false; @@ -1253,7 +1255,9 @@ void Timeline::paste(bool insert) { if (found >= 0 && ask_conflict) { QMessageBox box(this); box.setWindowTitle(tr("Effect already exists")); - box.setText(tr("Clip '%1' already contains a '%2' effect. Would you like to replace it with the pasted one or add it as a separate effect?").arg(c->name, e->meta->name)); + box.setText(tr("Clip '%1' already contains a '%2' effect. " + "Would you like to replace it with the pasted one or add it as a separate effect?") + .arg(c->name(), e->meta->name)); box.setIcon(QMessageBox::Icon::Question); box.addButton(tr("Add"), QMessageBox::YesRole); @@ -1319,23 +1323,23 @@ void Timeline::edit_to_point_internal(bool in, bool ripple) { for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); if (c != nullptr) { - track_min = qMin(track_min, c->track); - track_max = qMax(track_max, c->track); + track_min = qMin(track_min, c->track()); + track_max = qMax(track_max, c->track()); - sequence_end = qMax(c->timeline_out, sequence_end); + sequence_end = qMax(c->timeline_out(), sequence_end); - if (c->timeline_in == olive::ActiveSequence->playhead) + if (c->timeline_in() == olive::ActiveSequence->playhead) playhead_falls_on_in = true; - if (c->timeline_out == olive::ActiveSequence->playhead) + if (c->timeline_out() == olive::ActiveSequence->playhead) playhead_falls_on_out = true; - if (c->timeline_in > olive::ActiveSequence->playhead) - next_cut = qMin(c->timeline_in, next_cut); - if (c->timeline_out > olive::ActiveSequence->playhead) - next_cut = qMin(c->timeline_out, next_cut); - if (c->timeline_in < olive::ActiveSequence->playhead) - prev_cut = qMax(c->timeline_in, prev_cut); - if (c->timeline_out < olive::ActiveSequence->playhead) - prev_cut = qMax(c->timeline_out, prev_cut); + if (c->timeline_in() > olive::ActiveSequence->playhead) + next_cut = qMin(c->timeline_in(), next_cut); + if (c->timeline_out() > olive::ActiveSequence->playhead) + next_cut = qMin(c->timeline_out(), next_cut); + if (c->timeline_in() < olive::ActiveSequence->playhead) + prev_cut = qMax(c->timeline_in(), prev_cut); + if (c->timeline_out() < olive::ActiveSequence->playhead) + prev_cut = qMax(c->timeline_out(), prev_cut); } } @@ -1425,7 +1429,7 @@ bool Timeline::split_selection(ComboAction* ca) { if (clip != nullptr) { for (int i=0;iselections.size();i++) { const Selection& s = olive::ActiveSequence->selections.at(i); - if (s.track == clip->track) { + if (s.track == clip->track()) { ClipPtr post_b = split_clip(ca, true, j, s.out); ClipPtr post_a = split_clip(ca, true, j, s.in); @@ -1434,7 +1438,7 @@ bool Timeline::split_selection(ComboAction* ca) { secondary_post_splits.append(post_b); if (post_a != nullptr) { - post_a->timeline_out = qMin(post_a->timeline_out, s.out); + post_a->set_timeline_out(qMin(post_a->timeline_out(), s.out)); } split = true; @@ -1592,20 +1596,20 @@ bool Timeline::snap_to_timeline(long* l, bool use_playhead, bool use_markers, bo for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); if (c != nullptr) { - if (snap_to_point(c->timeline_in, l)) { + if (snap_to_point(c->timeline_in(), l)) { return true; - } else if (snap_to_point(c->timeline_out, l)) { + } else if (snap_to_point(c->timeline_out(), l)) { return true; } else if (c->opening_transition != nullptr - && snap_to_point(c->timeline_in + c->opening_transition->get_true_length(), l)) { + && snap_to_point(c->timeline_in() + c->opening_transition->get_true_length(), l)) { return true; } else if (c->closing_transition != nullptr - && snap_to_point(c->timeline_out - c->closing_transition->get_true_length(), l)) { + && snap_to_point(c->timeline_out() - c->closing_transition->get_true_length(), l)) { return true; } else { // try to snap to clip markers for (int j=0;jget_markers().size();j++) { - if (snap_to_point(c->get_markers().at(j).frame + c->timeline_in - c->clip_in, l)) { + if (snap_to_point(c->get_markers().at(j).frame + c->timeline_in() - c->clip_in(), l)) { return true; } } @@ -1627,8 +1631,8 @@ void Timeline::set_marker() { && is_clip_selected(c, true)) { // only add markers if the playhead is inside the clip - if (olive::ActiveSequence->playhead >= c->timeline_in - && olive::ActiveSequence->playhead <= c->timeline_out) { + if (olive::ActiveSequence->playhead >= c->timeline_in() + && olive::ActiveSequence->playhead <= c->timeline_out()) { clips_selected.append(i); } @@ -2077,7 +2081,7 @@ void move_clip(ComboAction* ca, ClipPtr c, long iin, long iout, long iclip_in, i // if this is a shared transition, and the corresponding clip will be moved away somehow if (c->opening_transition != nullptr && c->opening_transition->secondary_clip != nullptr - && c->opening_transition->secondary_clip->timeline_out != iin) { + && c->opening_transition->secondary_clip->timeline_out() != iin) { // separate transition ca->append(new SetPointer(reinterpret_cast(&c->opening_transition->secondary_clip), nullptr)); ca->append(new AddTransitionCommand(nullptr, @@ -2089,7 +2093,7 @@ void move_clip(ComboAction* ca, ClipPtr c, long iin, long iout, long iclip_in, i if (c->closing_transition != nullptr && c->closing_transition->secondary_clip != nullptr - && c->closing_transition->parent_clip->timeline_in != iout) { + && c->closing_transition->parent_clip->timeline_in() != iout) { // separate transition ca->append(new SetPointer(reinterpret_cast(&c->closing_transition->secondary_clip), nullptr)); ca->append(new AddTransitionCommand(nullptr, diff --git a/panels/viewer.cpp b/panels/viewer.cpp index 06173285c..a6bd6ecf6 100644 --- a/panels/viewer.cpp +++ b/panels/viewer.cpp @@ -20,7 +20,7 @@ #include "viewer.h" -#include "playback/audio.h" +#include "rendering/audio.h" #include "timeline.h" #include "panels/project.h" #include "panels/effectcontrols.h" @@ -32,7 +32,7 @@ #include "project/media.h" #include "project/undo.h" #include "ui/audiomonitor.h" -#include "playback/playback.h" +#include "rendering/renderfunctions.h" #include "ui/viewercontainer.h" #include "ui/labelslider.h" #include "ui/timelineheader.h" @@ -43,8 +43,8 @@ #define FRAMES_IN_TEN_MINUTES 17978 // (FRAMES_IN_ONE_MINUTE * 10) - 2 extern "C" { - #include - #include +#include +#include } #include @@ -57,42 +57,42 @@ extern "C" { Viewer::Viewer(QWidget *parent) : Panel(parent), - playing(false), - just_played(false), - media(nullptr), - seq(nullptr), - created_sequence(false), - minimum_zoom(1.0), - cue_recording_internal(false), - playback_speed(0) + playing(false), + just_played_(false), + media(nullptr), + seq(nullptr), + created_sequence(false), + minimum_zoom(1.0), + cue_recording_internal(false), + playback_speed(0) { - setup_ui(); + setup_ui(); - headers->viewer = this; - headers->snapping = false; - headers->show_text(false); - viewer_container->viewer = this; - viewer_widget = viewer_container->child; - viewer_widget->viewer = this; - set_media(nullptr); + headers->viewer = this; + headers->snapping = false; + headers->show_text(false); + viewer_container->viewer = this; + viewer_widget = viewer_container->child; + viewer_widget->viewer = this; + set_media(nullptr); - current_timecode_slider->setEnabled(false); - current_timecode_slider->set_minimum_value(0); - current_timecode_slider->set_default_value(qSNaN()); - current_timecode_slider->set_value(0, false); - current_timecode_slider->set_display_type(LABELSLIDER_FRAMENUMBER); - connect(current_timecode_slider, SIGNAL(valueChanged()), this, SLOT(update_playhead())); + current_timecode_slider->setEnabled(false); + current_timecode_slider->set_minimum_value(0); + current_timecode_slider->set_default_value(qSNaN()); + current_timecode_slider->set_value(0, false); + current_timecode_slider->set_display_type(LABELSLIDER_FRAMENUMBER); + connect(current_timecode_slider, SIGNAL(valueChanged()), this, SLOT(update_playhead())); - recording_flasher.setInterval(500); + recording_flasher.setInterval(500); - connect(&playback_updater, SIGNAL(timeout()), this, SLOT(timer_update())); - connect(&recording_flasher, SIGNAL(timeout()), this, SLOT(recording_flasher_update())); - connect(horizontal_bar, SIGNAL(valueChanged(int)), headers, SLOT(set_scroll(int))); - connect(horizontal_bar, SIGNAL(valueChanged(int)), viewer_widget, SLOT(set_waveform_scroll(int))); - connect(horizontal_bar, SIGNAL(resize_move(double)), this, SLOT(resize_move(double))); + connect(&playback_updater, SIGNAL(timeout()), this, SLOT(timer_update())); + connect(&recording_flasher, SIGNAL(timeout()), this, SLOT(recording_flasher_update())); + connect(horizontal_bar, SIGNAL(valueChanged(int)), headers, SLOT(set_scroll(int))); + connect(horizontal_bar, SIGNAL(valueChanged(int)), viewer_widget, SLOT(set_waveform_scroll(int))); + connect(horizontal_bar, SIGNAL(resize_move(double)), this, SLOT(resize_move(double))); - update_playhead_timecode(0); - update_end_timecode(); + update_playhead_timecode(0); + update_end_timecode(); } Viewer::~Viewer() {} @@ -102,165 +102,165 @@ void Viewer::Retranslate() { } bool Viewer::is_focused() { - return headers->hasFocus() - || viewer_widget->hasFocus() - || go_to_start_button->hasFocus() - || prev_frame_button->hasFocus() - || play_button->hasFocus() - || next_frame_button->hasFocus() - || go_to_end_frame->hasFocus(); + return headers->hasFocus() + || viewer_widget->hasFocus() + || go_to_start_button->hasFocus() + || prev_frame_button->hasFocus() + || play_button->hasFocus() + || next_frame_button->hasFocus() + || go_to_end_frame->hasFocus(); } bool Viewer::is_main_sequence() { - return main_sequence; + return main_sequence; } void Viewer::set_main_sequence() { - clean_created_seq(); - set_sequence(true, olive::ActiveSequence); + clean_created_seq(); + set_sequence(true, olive::ActiveSequence); } void Viewer::reset_all_audio() { - // reset all clip audio - if (seq != nullptr) { - long last_frame = 0; - for (int i=0;iclips.size();i++) { - ClipPtr c = seq->clips.at(i); - if (c != nullptr) { - c->reset_audio(); - last_frame = qMax(last_frame, c->timeline_out); - } - } + // reset all clip audio + if (seq != nullptr) { + long last_frame = 0; + for (int i=0;iclips.size();i++) { + ClipPtr c = seq->clips.at(i); + if (c != nullptr) { + c->reset_audio(); + last_frame = qMax(last_frame, c->timeline_out()); + } + } - audio_ibuffer_frame = seq->playhead; - if (playback_speed < 0) { - audio_ibuffer_frame = last_frame - audio_ibuffer_frame; - } - audio_ibuffer_timecode = double(audio_ibuffer_frame) / seq->frame_rate; - } - clear_audio_ibuffer(); + audio_ibuffer_frame = seq->playhead; + if (playback_speed < 0) { + audio_ibuffer_frame = last_frame - audio_ibuffer_frame; + } + audio_ibuffer_timecode = double(audio_ibuffer_frame) / seq->frame_rate; + } + clear_audio_ibuffer(); } long timecode_to_frame(const QString& s, int view, double frame_rate) { - QList list = s.split(QRegExp("[:;]")); + QList list = s.split(QRegExp("[:;]")); if (view == olive::kTimecodeFrames || (list.size() == 1 && view != olive::kTimecodeMilliseconds)) { - return s.toLong(); - } + return s.toLong(); + } - int frRound = qRound(frame_rate); - int hours, minutes, seconds, frames; + int frRound = qRound(frame_rate); + int hours, minutes, seconds, frames; if (view == olive::kTimecodeMilliseconds) { - long milliseconds = s.toLong(); + long milliseconds = s.toLong(); - hours = milliseconds/3600000; - milliseconds -= (hours*3600000); - minutes = milliseconds/60000; - milliseconds -= (minutes*60000); - seconds = milliseconds/1000; - milliseconds -= (seconds*1000); - frames = qRound64((milliseconds*0.001)*frame_rate); + hours = milliseconds/3600000; + milliseconds -= (hours*3600000); + minutes = milliseconds/60000; + milliseconds -= (minutes*60000); + seconds = milliseconds/1000; + milliseconds -= (seconds*1000); + frames = qRound64((milliseconds*0.001)*frame_rate); - seconds = qRound64(seconds * frame_rate); - minutes = qRound64(minutes * frame_rate * 60); - hours = qRound64(hours * frame_rate * 3600); - } else { - hours = ((list.size() > 0) ? list.at(0).toInt() : 0) * frRound * 3600; - minutes = ((list.size() > 1) ? list.at(1).toInt() : 0) * frRound * 60; - seconds = ((list.size() > 2) ? list.at(2).toInt() : 0) * frRound; - frames = (list.size() > 3) ? list.at(3).toInt() : 0; - } + seconds = qRound64(seconds * frame_rate); + minutes = qRound64(minutes * frame_rate * 60); + hours = qRound64(hours * frame_rate * 3600); + } else { + hours = ((list.size() > 0) ? list.at(0).toInt() : 0) * frRound * 3600; + minutes = ((list.size() > 1) ? list.at(1).toInt() : 0) * frRound * 60; + seconds = ((list.size() > 2) ? list.at(2).toInt() : 0) * frRound; + frames = (list.size() > 3) ? list.at(3).toInt() : 0; + } - int f = (frames + seconds + minutes + hours); + int f = (frames + seconds + minutes + hours); if ((view == olive::kTimecodeDrop || view == olive::kTimecodeMilliseconds) && frame_rate_is_droppable(frame_rate)) { - // return drop - int d; - int m; + // return drop + int d; + int m; int dropFrames = qRound(frame_rate * .066666); //Number of frames to drop on the minute marks is the nearest integer to 6% of the framerate int framesPer10Minutes = qRound(frame_rate * 60 * 10); //Number of frames per ten minutes int framesPerMinute = (qRound(frame_rate)*60)- dropFrames; //Number of frames per minute is the round of the framerate * 60 minus the number of dropped frames - d = f / framesPer10Minutes; - f -= dropFrames*9*d; + d = f / framesPer10Minutes; + f -= dropFrames*9*d; - m = f % framesPer10Minutes; + m = f % framesPer10Minutes; - if (m > dropFrames) { - f -= (dropFrames * ((m - dropFrames) / framesPerMinute)); - } - } + if (m > dropFrames) { + f -= (dropFrames * ((m - dropFrames) / framesPerMinute)); + } + } - // return non-drop - return f; + // return non-drop + return f; } QString frame_to_timecode(long f, int view, double frame_rate) { if (view == olive::kTimecodeFrames) { - return QString::number(f); - } + return QString::number(f); + } - // return timecode - int hours = 0; - int mins = 0; - int secs = 0; - int frames = 0; - QString token = ":"; + // return timecode + int hours = 0; + int mins = 0; + int secs = 0; + int frames = 0; + QString token = ":"; if ((view == olive::kTimecodeDrop || view == olive::kTimecodeMilliseconds) && frame_rate_is_droppable(frame_rate)) { - //CONVERT A FRAME NUMBER TO DROP FRAME TIMECODE - //Code by David Heidelberger, adapted from Andrew Duncan, further adapted for Olive by Olive Team - //Given an int called framenumber and a double called framerate - //Framerate should be 29.97, 59.94, or 23.976, otherwise the calculations will be off. + //CONVERT A FRAME NUMBER TO DROP FRAME TIMECODE + //Code by David Heidelberger, adapted from Andrew Duncan, further adapted for Olive by Olive Team + //Given an int called framenumber and a double called framerate + //Framerate should be 29.97, 59.94, or 23.976, otherwise the calculations will be off. - int d; - int m; + int d; + int m; int dropFrames = qRound(frame_rate * .066666); //Number of frames to drop on the minute marks is the nearest integer to 6% of the framerate int framesPerHour = qRound(frame_rate*60*60); //Number of frqRound64ames in an hour - int framesPer24Hours = framesPerHour*24; //Number of frames in a day - timecode rolls over after 24 hours + int framesPer24Hours = framesPerHour*24; //Number of frames in a day - timecode rolls over after 24 hours int framesPer10Minutes = qRound(frame_rate * 60 * 10); //Number of frames per ten minutes int framesPerMinute = (qRound(frame_rate)*60)- dropFrames; //Number of frames per minute is the round of the framerate * 60 minus the number of dropped frames - //If framenumber is greater than 24 hrs, next operation will rollover clock - f = f % framesPer24Hours; //% is the modulus operator, which returns a remainder. a % b = the remainder of a/b + //If framenumber is greater than 24 hrs, next operation will rollover clock + f = f % framesPer24Hours; //% is the modulus operator, which returns a remainder. a % b = the remainder of a/b - d = f / framesPer10Minutes; // \ means integer division, which is a/b without a remainder. Some languages you could use floor(a/b) - m = f % framesPer10Minutes; + d = f / framesPer10Minutes; // \ means integer division, which is a/b without a remainder. Some languages you could use floor(a/b) + m = f % framesPer10Minutes; - //In the original post, the next line read m>1, which only worked for 29.97. Jean-Baptiste Mardelle correctly pointed out that m should be compared to dropFrames. - if (m > dropFrames) { - f = f + (dropFrames*9*d) + dropFrames * ((m - dropFrames) / framesPerMinute); - } else { - f = f + dropFrames*9*d; - } + //In the original post, the next line read m>1, which only worked for 29.97. Jean-Baptiste Mardelle correctly pointed out that m should be compared to dropFrames. + if (m > dropFrames) { + f = f + (dropFrames*9*d) + dropFrames * ((m - dropFrames) / framesPerMinute); + } else { + f = f + dropFrames*9*d; + } int frRound = qRound(frame_rate); - frames = f % frRound; - secs = (f / frRound) % 60; - mins = ((f / frRound) / 60) % 60; - hours = (((f / frRound) / 60) / 60); + frames = f % frRound; + secs = (f / frRound) % 60; + mins = ((f / frRound) / 60) % 60; + hours = (((f / frRound) / 60) / 60); - token = ";"; - } else { - // non-drop timecode + token = ";"; + } else { + // non-drop timecode - int int_fps = qRound(frame_rate); - hours = f / (3600 * int_fps); - mins = f / (60*int_fps) % 60; - secs = f/int_fps % 60; - frames = f%int_fps; - } + int int_fps = qRound(frame_rate); + hours = f / (3600 * int_fps); + mins = f / (60*int_fps) % 60; + secs = f/int_fps % 60; + frames = f%int_fps; + } if (view == olive::kTimecodeMilliseconds) { - return QString::number((hours*3600000)+(mins*60000)+(secs*1000)+qCeil(frames*1000/frame_rate)); - } - return QString(QString::number(hours).rightJustified(2, '0') + - ":" + QString::number(mins).rightJustified(2, '0') + - ":" + QString::number(secs).rightJustified(2, '0') + - token + QString::number(frames).rightJustified(2, '0') - ); + return QString::number((hours*3600000)+(mins*60000)+(secs*1000)+qCeil(frames*1000/frame_rate)); + } + return QString(QString::number(hours).rightJustified(2, '0') + + ":" + QString::number(mins).rightJustified(2, '0') + + ":" + QString::number(secs).rightJustified(2, '0') + + token + QString::number(frames).rightJustified(2, '0') + ); } bool frame_rate_is_droppable(double rate) { @@ -268,644 +268,652 @@ bool frame_rate_is_droppable(double rate) { } void Viewer::seek(long p) { - pause(); - if (main_sequence) { - seq->playhead = p; - } else { - seq->playhead = qMin(seq->getEndFrame(), qMax(0L, p)); - } - bool update_fx = false; - if (main_sequence) { - panel_timeline->scroll_to_frame(p); - panel_effect_controls->scroll_to_frame(p); - if (olive::CurrentConfig.seek_also_selects) { - panel_timeline->select_from_playhead(); - update_fx = true; - } - } - reset_all_audio(); - audio_scrub = true; - last_playhead = seq->playhead; - update_parents(update_fx); + pause(); + if (main_sequence) { + seq->playhead = p; + } else { + seq->playhead = qMin(seq->getEndFrame(), qMax(0L, p)); + } + bool update_fx = false; + if (main_sequence) { + panel_timeline->scroll_to_frame(p); + panel_effect_controls->scroll_to_frame(p); + if (olive::CurrentConfig.seek_also_selects) { + panel_timeline->select_from_playhead(); + update_fx = true; + } + } + reset_all_audio(); + audio_scrub = true; + last_playhead = seq->playhead; + update_parents(update_fx); } void Viewer::go_to_start() { - if (seq != nullptr) seek(0); + if (seq != nullptr) seek(0); } void Viewer::go_to_end() { - if (seq != nullptr) seek(seq->getEndFrame()); + if (seq != nullptr) seek(seq->getEndFrame()); } void Viewer::close_media() { - set_media(nullptr); + set_media(nullptr); } void Viewer::go_to_in() { - if (seq != nullptr) { - if (seq->using_workarea) { - seek(seq->workarea_in); - } else { - go_to_start(); - } - } + if (seq != nullptr) { + if (seq->using_workarea) { + seek(seq->workarea_in); + } else { + go_to_start(); + } + } } void Viewer::previous_frame() { - if (seq != nullptr && seq->playhead > 0) seek(seq->playhead-1); + if (seq != nullptr && seq->playhead > 0) seek(seq->playhead-1); } void Viewer::next_frame() { - if (seq != nullptr) seek(seq->playhead+1); + if (seq != nullptr) seek(seq->playhead+1); } void Viewer::go_to_out() { - if (seq != nullptr) { - if (seq->using_workarea) { - seek(seq->workarea_out); - } else { - go_to_end(); - } - } + if (seq != nullptr) { + if (seq->using_workarea) { + seek(seq->workarea_out); + } else { + go_to_end(); + } + } } void Viewer::cue_recording(long start, long end, int track) { - recording_start = start; - recording_end = end; - recording_track = track; - panel_sequence_viewer->seek(recording_start); - cue_recording_internal = true; - recording_flasher.start(); + recording_start = start; + recording_end = end; + recording_track = track; + panel_sequence_viewer->seek(recording_start); + cue_recording_internal = true; + recording_flasher.start(); } void Viewer::uncue_recording() { - cue_recording_internal = false; - recording_flasher.stop(); - play_button->setStyleSheet(QString()); + cue_recording_internal = false; + recording_flasher.stop(); + play_button->setStyleSheet(QString()); } bool Viewer::is_recording_cued() { - return cue_recording_internal; + return cue_recording_internal; } void Viewer::toggle_play() { - if (playing) { - pause(); - } else { - play(); - } + if (playing) { + pause(); + } else { + play(); + } } void Viewer::increase_speed() { - int new_speed = playback_speed+1; - if (new_speed == 0) { - new_speed++; - } - set_playback_speed(new_speed); + int new_speed = playback_speed+1; + if (new_speed == 0) { + new_speed++; + } + set_playback_speed(new_speed); } void Viewer::decrease_speed() { - int new_speed = playback_speed-1; - if (new_speed == 0) { - new_speed--; - } - set_playback_speed(new_speed); + int new_speed = playback_speed-1; + if (new_speed == 0) { + new_speed--; + } + set_playback_speed(new_speed); } void Viewer::play(bool in_to_out) { - if (panel_sequence_viewer->playing) panel_sequence_viewer->pause(); - if (panel_footage_viewer->playing) panel_footage_viewer->pause(); + if (panel_sequence_viewer->playing) panel_sequence_viewer->pause(); + if (panel_footage_viewer->playing) panel_footage_viewer->pause(); - playing_in_to_out = in_to_out; + long sequence_end_frame = seq->getEndFrame(); + if (sequence_end_frame == 0) { + return; + } - if (seq != nullptr) { + playing_in_to_out = in_to_out; - if (playing_in_to_out) { - uncue_recording(); - } + if (seq != nullptr) { - if (playback_speed == 0) { - playback_speed = 1; - } + if (playing_in_to_out) { + uncue_recording(); + } - bool seek_to_in = (seq->using_workarea && (olive::CurrentConfig.loop || playing_in_to_out)); - if (!is_recording_cued() - && playback_speed > 0 - && (playing_in_to_out - || seq->playhead >= seq->getEndFrame() - || (seek_to_in && seq->playhead >= seq->workarea_out))) { - seek(seek_to_in ? seq->workarea_in : 0); - } + if (playback_speed == 0) { + playback_speed = 1; + } - reset_all_audio(); - if (is_recording_cued() && !start_recording()) { - qCritical() << "Failed to record audio"; - return; - } - playhead_start = seq->playhead; - playing = true; - just_played = true; - set_playpause_icon(false); - start_msecs = QDateTime::currentMSecsSinceEpoch(); + bool seek_to_in = (seq->using_workarea && (olive::CurrentConfig.loop || playing_in_to_out)); + if (!is_recording_cued() + && playback_speed > 0 + && (playing_in_to_out + || seq->playhead >= sequence_end_frame + || (seek_to_in && seq->playhead >= seq->workarea_out))) { + seek(seek_to_in ? seq->workarea_in : 0); + } - timer_update(); - } + reset_all_audio(); + if (is_recording_cued() && !start_recording()) { + qCritical() << "Failed to record audio"; + return; + } + playhead_start = seq->playhead; + playing = true; + just_played_ = true; + set_playpause_icon(false); + start_msecs = QDateTime::currentMSecsSinceEpoch(); + + timer_update(); + } } void Viewer::play_wake() { - if (just_played) { - start_msecs = QDateTime::currentMSecsSinceEpoch(); - playback_updater.start(); - if (audio_thread != nullptr) audio_thread->notifyReceiver(); - just_played = false; - } + if (just_played_) { + start_msecs = QDateTime::currentMSecsSinceEpoch(); + playback_updater.start(); + if (audio_thread != nullptr) audio_thread->notifyReceiver(); + just_played_ = false; + } } void Viewer::pause() { - playing = false; - just_played = false; - set_playpause_icon(true); - playback_updater.stop(); - playback_speed = 0; + playing = false; + just_played_ = false; + set_playpause_icon(true); + playback_updater.stop(); + playback_speed = 0; - if (is_recording_cued()) { - uncue_recording(); + if (is_recording_cued()) { + uncue_recording(); - if (recording) { - stop_recording(); + if (recording) { + stop_recording(); - // import audio - QStringList file_list; - file_list.append(get_recorded_audio_filename()); - panel_project->process_file_list(file_list); + // import audio + QStringList file_list; + file_list.append(get_recorded_audio_filename()); + panel_project->process_file_list(file_list); - // add it to the sequence - ClipPtr c = ClipPtr(new Clip(seq)); - Media* m = panel_project->last_imported_media.at(0); - FootagePtr f = m->to_footage(); + // add it to the sequence + ClipPtr c = ClipPtr(new Clip(seq)); + Media* m = panel_project->last_imported_media.at(0); + FootagePtr f = m->to_footage(); - f->ready_lock.lock(); + // wait for footage to be completely ready before taking metadata from it + f->ready_lock.lock(); - c->media = m; // latest media - c->media_stream = 0; - c->timeline_in = recording_start; - c->timeline_out = recording_start + f->get_length_in_frames(seq->frame_rate); - c->clip_in = 0; - c->track = recording_track; - c->color_r = 128; - c->color_g = 192; - c->color_b = 128; - c->name = m->get_name(); + c->set_media(m, 0); // latest media + c->set_timeline_in(recording_start); + c->set_timeline_out(recording_start + f->get_length_in_frames(seq->frame_rate)); + c->set_clip_in(0); + c->set_track(recording_track); + c->set_color(128, 192, 128); + c->set_name(m->get_name()); - f->ready_lock.unlock(); + f->ready_lock.unlock(); - QVector add_clips; - add_clips.append(c); - olive::UndoStack.push(new AddClipCommand(seq, add_clips)); // add clip - } - } + QVector add_clips; + add_clips.append(c); + olive::UndoStack.push(new AddClipCommand(seq, add_clips)); // add clip + } + } +} + +bool Viewer::WaitingForPlayWake() +{ + return just_played_; } void Viewer::update_playhead_timecode(long p) { - current_timecode_slider->set_value(p, false); + current_timecode_slider->set_value(p, false); } void Viewer::update_end_timecode() { - end_timecode->setText((seq == nullptr) ? frame_to_timecode(0, olive::CurrentConfig.timecode_view, 30) : frame_to_timecode(seq->getEndFrame(), olive::CurrentConfig.timecode_view, seq->frame_rate)); + end_timecode->setText((seq == nullptr) ? frame_to_timecode(0, olive::CurrentConfig.timecode_view, 30) : frame_to_timecode(seq->getEndFrame(), olive::CurrentConfig.timecode_view, seq->frame_rate)); } void Viewer::update_header_zoom() { - if (seq != nullptr) { - long sequenceEndFrame = seq->getEndFrame(); - if (cached_end_frame != sequenceEndFrame) { - minimum_zoom = (sequenceEndFrame > 0) ? ((double) headers->width() / (double) sequenceEndFrame) : 1; - headers->update_zoom(qMax(headers->get_zoom(), minimum_zoom)); - set_sb_max(); - viewer_widget->waveform_zoom = headers->get_zoom(); - } else { - headers->update(); - } - } + if (seq != nullptr) { + long sequenceEndFrame = seq->getEndFrame(); + if (cached_end_frame != sequenceEndFrame) { + minimum_zoom = (sequenceEndFrame > 0) ? ((double) headers->width() / (double) sequenceEndFrame) : 1; + headers->update_zoom(qMax(headers->get_zoom(), minimum_zoom)); + set_sb_max(); + viewer_widget->waveform_zoom = headers->get_zoom(); + } else { + headers->update(); + } + } } void Viewer::update_parents(bool reload_fx) { - if (main_sequence) { - update_ui(reload_fx); - } else { - update_viewer(); - panel_timeline->repaint_timeline(); - } + if (main_sequence) { + update_ui(reload_fx); + } else { + update_viewer(); + panel_timeline->repaint_timeline(); + } } int Viewer::get_playback_speed() { - return playback_speed; + return playback_speed; } void Viewer::set_marker() { - set_marker_internal(seq); + set_marker_internal(seq); } void Viewer::resizeEvent(QResizeEvent *e) { - QDockWidget::resizeEvent(e); - if (seq != nullptr) { - set_sb_max(); - viewer_widget->update(); - } + QDockWidget::resizeEvent(e); + if (seq != nullptr) { + set_sb_max(); + viewer_widget->update(); + } } void Viewer::update_viewer() { - update_header_zoom(); - viewer_widget->frame_update(); - if (seq != nullptr) { - update_playhead_timecode(seq->playhead); - } - update_end_timecode(); + update_header_zoom(); + viewer_widget->frame_update(); + if (seq != nullptr) { + update_playhead_timecode(seq->playhead); + } + update_end_timecode(); } void Viewer::clear_in() { - if (seq != nullptr - && seq->using_workarea) { - olive::UndoStack.push(new SetTimelineInOutCommand(seq, true, 0, seq->workarea_out)); - update_parents(); - } + if (seq != nullptr + && seq->using_workarea) { + olive::UndoStack.push(new SetTimelineInOutCommand(seq, true, 0, seq->workarea_out)); + update_parents(); + } } void Viewer::clear_out() { - if (seq != nullptr - && seq->using_workarea) { - olive::UndoStack.push(new SetTimelineInOutCommand(seq, true, seq->workarea_in, seq->getEndFrame())); - update_parents(); - } + if (seq != nullptr + && seq->using_workarea) { + olive::UndoStack.push(new SetTimelineInOutCommand(seq, true, seq->workarea_in, seq->getEndFrame())); + update_parents(); + } } void Viewer::clear_inout_point() { - if (seq != nullptr - && seq->using_workarea) { - olive::UndoStack.push(new SetTimelineInOutCommand(seq, false, 0, 0)); - update_parents(); - } + if (seq != nullptr + && seq->using_workarea) { + olive::UndoStack.push(new SetTimelineInOutCommand(seq, false, 0, 0)); + update_parents(); + } } void Viewer::set_in_point() { - if (seq != nullptr) { - headers->set_in_point(seq->playhead); - } + if (seq != nullptr) { + headers->set_in_point(seq->playhead); + } } void Viewer::set_out_point() { - if (seq != nullptr) { - headers->set_out_point(seq->playhead); - } + if (seq != nullptr) { + headers->set_out_point(seq->playhead); + } } void Viewer::set_zoom(bool in) { - if (seq != nullptr) { - set_zoom_value(in ? headers->get_zoom()*2 : qMax(minimum_zoom, headers->get_zoom()*0.5)); - } + if (seq != nullptr) { + set_zoom_value(in ? headers->get_zoom()*2 : qMax(minimum_zoom, headers->get_zoom()*0.5)); + } } void Viewer::set_panel_name(const QString &n) { - panel_name = n; - update_window_title(); + panel_name = n; + update_window_title(); } void Viewer::update_window_title() { - QString name; - if (seq == nullptr) { - name = tr("(none)"); - } else { - name = seq->name; - } - setWindowTitle(QString("%1: %2").arg(panel_name, name)); + QString name; + if (seq == nullptr) { + name = tr("(none)"); + } else { + name = seq->name; + } + setWindowTitle(QString("%1: %2").arg(panel_name, name)); } void Viewer::set_zoom_value(double d) { - headers->update_zoom(d); - if (viewer_widget->waveform) { - viewer_widget->waveform_zoom = d; - viewer_widget->update(); - } - if (seq != nullptr) { - set_sb_max(); - if (!horizontal_bar->is_resizing()) - center_scroll_to_playhead(horizontal_bar, headers->get_zoom(), seq->playhead); - } + headers->update_zoom(d); + if (viewer_widget->waveform) { + viewer_widget->waveform_zoom = d; + viewer_widget->update(); + } + if (seq != nullptr) { + set_sb_max(); + if (!horizontal_bar->is_resizing()) + center_scroll_to_playhead(horizontal_bar, headers->get_zoom(), seq->playhead); + } } void Viewer::set_sb_max() { - headers->set_scrollbar_max(horizontal_bar, seq->getEndFrame(), headers->width()); + headers->set_scrollbar_max(horizontal_bar, seq->getEndFrame(), headers->width()); } void Viewer::set_playback_speed(int s) { - pause(); - playback_speed = qMin(3, qMax(s, -3)); - if (playback_speed != 0) { - play(); - } + pause(); + playback_speed = qMin(3, qMax(s, -3)); + if (playback_speed != 0) { + play(); + } } long Viewer::get_seq_in() { - return ((olive::CurrentConfig.loop || playing_in_to_out) && seq->using_workarea) - ? seq->workarea_in - : 0; + return ((olive::CurrentConfig.loop || playing_in_to_out) && seq->using_workarea) + ? seq->workarea_in + : 0; } long Viewer::get_seq_out() { - return ((olive::CurrentConfig.loop || playing_in_to_out) && seq->using_workarea && previous_playhead < seq->workarea_out) - ? seq->workarea_out - : seq->getEndFrame(); + return ((olive::CurrentConfig.loop || playing_in_to_out) && seq->using_workarea && previous_playhead < seq->workarea_out) + ? seq->workarea_out + : seq->getEndFrame(); } void Viewer::setup_ui() { - QWidget* contents = new QWidget(); + QWidget* contents = new QWidget(); - QVBoxLayout* layout = new QVBoxLayout(contents); - layout->setSpacing(0); - layout->setMargin(0); + QVBoxLayout* layout = new QVBoxLayout(contents); + layout->setSpacing(0); + layout->setMargin(0); - setWidget(contents); + setWidget(contents); - viewer_container = new ViewerContainer(); - viewer_container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - layout->addWidget(viewer_container); + viewer_container = new ViewerContainer(); + viewer_container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + layout->addWidget(viewer_container); - headers = new TimelineHeader(); - layout->addWidget(headers); + headers = new TimelineHeader(); + layout->addWidget(headers); - horizontal_bar = new ResizableScrollBar(); - horizontal_bar->setSingleStep(20); - horizontal_bar->setOrientation(Qt::Horizontal); - layout->addWidget(horizontal_bar); + horizontal_bar = new ResizableScrollBar(); + horizontal_bar->setSingleStep(20); + horizontal_bar->setOrientation(Qt::Horizontal); + layout->addWidget(horizontal_bar); - QWidget* lower_controls = new QWidget(); + QWidget* lower_controls = new QWidget(); - QHBoxLayout* lower_control_layout = new QHBoxLayout(lower_controls); - lower_control_layout->setMargin(0); + QHBoxLayout* lower_control_layout = new QHBoxLayout(lower_controls); + lower_control_layout->setMargin(0); - // current time code - QWidget* current_timecode_container = new QWidget(); - QHBoxLayout* current_timecode_container_layout = new QHBoxLayout(current_timecode_container); - current_timecode_container_layout->setSpacing(0); - current_timecode_container_layout->setMargin(0); - current_timecode_slider = new LabelSlider(); - current_timecode_container_layout->addWidget(current_timecode_slider); - lower_control_layout->addWidget(current_timecode_container); + // current time code + QWidget* current_timecode_container = new QWidget(); + QHBoxLayout* current_timecode_container_layout = new QHBoxLayout(current_timecode_container); + current_timecode_container_layout->setSpacing(0); + current_timecode_container_layout->setMargin(0); + current_timecode_slider = new LabelSlider(); + current_timecode_container_layout->addWidget(current_timecode_slider); + lower_control_layout->addWidget(current_timecode_container); - QWidget* playback_controls = new QWidget(); + QWidget* playback_controls = new QWidget(); - QHBoxLayout* playback_control_layout = new QHBoxLayout(playback_controls); - playback_control_layout->setSpacing(0); - playback_control_layout->setMargin(0); + QHBoxLayout* playback_control_layout = new QHBoxLayout(playback_controls); + playback_control_layout->setSpacing(0); + playback_control_layout->setMargin(0); - go_to_start_button = new QPushButton(); - QIcon goToStartIcon; - goToStartIcon.addFile(QStringLiteral(":/icons/prev.png"), QSize(), QIcon::Normal, QIcon::Off); - goToStartIcon.addFile(QStringLiteral(":/icons/prev-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off); - go_to_start_button->setIcon(goToStartIcon); - connect(go_to_start_button, SIGNAL(clicked(bool)), this, SLOT(go_to_in())); - playback_control_layout->addWidget(go_to_start_button); + go_to_start_button = new QPushButton(); + QIcon goToStartIcon; + goToStartIcon.addFile(QStringLiteral(":/icons/prev.png"), QSize(), QIcon::Normal, QIcon::Off); + goToStartIcon.addFile(QStringLiteral(":/icons/prev-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off); + go_to_start_button->setIcon(goToStartIcon); + connect(go_to_start_button, SIGNAL(clicked(bool)), this, SLOT(go_to_in())); + playback_control_layout->addWidget(go_to_start_button); - prev_frame_button = new QPushButton(); - QIcon rewindIcon; - rewindIcon.addFile(QStringLiteral(":/icons/rew.png"), QSize(), QIcon::Normal, QIcon::Off); - rewindIcon.addFile(QStringLiteral(":/icons/rew-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off); - prev_frame_button->setIcon(rewindIcon); - connect(prev_frame_button, SIGNAL(clicked(bool)), this, SLOT(previous_frame())); - playback_control_layout->addWidget(prev_frame_button); + prev_frame_button = new QPushButton(); + QIcon rewindIcon; + rewindIcon.addFile(QStringLiteral(":/icons/rew.png"), QSize(), QIcon::Normal, QIcon::Off); + rewindIcon.addFile(QStringLiteral(":/icons/rew-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off); + prev_frame_button->setIcon(rewindIcon); + connect(prev_frame_button, SIGNAL(clicked(bool)), this, SLOT(previous_frame())); + playback_control_layout->addWidget(prev_frame_button); - play_button = new QPushButton(); - playIcon.addFile(QStringLiteral(":/icons/play.png"), QSize(), QIcon::Normal, QIcon::On); - playIcon.addFile(QStringLiteral(":/icons/play-disabled.png"), QSize(), QIcon::Disabled, QIcon::On); - play_button->setIcon(playIcon); - connect(play_button, SIGNAL(clicked(bool)), this, SLOT(toggle_play())); - playback_control_layout->addWidget(play_button); + play_button = new QPushButton(); + playIcon.addFile(QStringLiteral(":/icons/play.png"), QSize(), QIcon::Normal, QIcon::On); + playIcon.addFile(QStringLiteral(":/icons/play-disabled.png"), QSize(), QIcon::Disabled, QIcon::On); + play_button->setIcon(playIcon); + connect(play_button, SIGNAL(clicked(bool)), this, SLOT(toggle_play())); + playback_control_layout->addWidget(play_button); - next_frame_button = new QPushButton(); - QIcon ffIcon; - ffIcon.addFile(QStringLiteral(":/icons/ff.png"), QSize(), QIcon::Normal, QIcon::On); - ffIcon.addFile(QStringLiteral(":/icons/ff-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off); - next_frame_button->setIcon(ffIcon); - connect(next_frame_button, SIGNAL(clicked(bool)), this, SLOT(next_frame())); - playback_control_layout->addWidget(next_frame_button); + next_frame_button = new QPushButton(); + QIcon ffIcon; + ffIcon.addFile(QStringLiteral(":/icons/ff.png"), QSize(), QIcon::Normal, QIcon::On); + ffIcon.addFile(QStringLiteral(":/icons/ff-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off); + next_frame_button->setIcon(ffIcon); + connect(next_frame_button, SIGNAL(clicked(bool)), this, SLOT(next_frame())); + playback_control_layout->addWidget(next_frame_button); - go_to_end_frame = new QPushButton(); - QIcon nextIcon; - nextIcon.addFile(QStringLiteral(":/icons/next.png"), QSize(), QIcon::Normal, QIcon::Off); - nextIcon.addFile(QStringLiteral(":/icons/next-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off); - go_to_end_frame->setIcon(nextIcon); - connect(go_to_end_frame, SIGNAL(clicked(bool)), this, SLOT(go_to_out())); - playback_control_layout->addWidget(go_to_end_frame); + go_to_end_frame = new QPushButton(); + QIcon nextIcon; + nextIcon.addFile(QStringLiteral(":/icons/next.png"), QSize(), QIcon::Normal, QIcon::Off); + nextIcon.addFile(QStringLiteral(":/icons/next-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off); + go_to_end_frame->setIcon(nextIcon); + connect(go_to_end_frame, SIGNAL(clicked(bool)), this, SLOT(go_to_out())); + playback_control_layout->addWidget(go_to_end_frame); - lower_control_layout->addWidget(playback_controls); + lower_control_layout->addWidget(playback_controls); - QWidget* end_timecode_container = new QWidget(); + QWidget* end_timecode_container = new QWidget(); - QHBoxLayout* end_timecode_layout = new QHBoxLayout(end_timecode_container); - end_timecode_layout->setSpacing(0); - end_timecode_layout->setMargin(0); + QHBoxLayout* end_timecode_layout = new QHBoxLayout(end_timecode_container); + end_timecode_layout->setSpacing(0); + end_timecode_layout->setMargin(0); - end_timecode = new QLabel(); - end_timecode->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); - end_timecode_layout->addWidget(end_timecode); + end_timecode = new QLabel(); + end_timecode->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + end_timecode_layout->addWidget(end_timecode); - lower_control_layout->addWidget(end_timecode_container); + lower_control_layout->addWidget(end_timecode_container); - layout->addWidget(lower_controls); + layout->addWidget(lower_controls); } void Viewer::set_media(Media* m) { - main_sequence = false; - media = m; + main_sequence = false; + media = m; - clean_created_seq(); - if (media != nullptr) { - switch (media->get_type()) { - case MEDIA_TYPE_FOOTAGE: - { - FootagePtr footage = media->to_footage(); + clean_created_seq(); + if (media != nullptr) { + switch (media->get_type()) { + case MEDIA_TYPE_FOOTAGE: + { + FootagePtr footage = media->to_footage(); - marker_ref = &footage->markers; + marker_ref = &footage->markers; - seq = SequencePtr(new Sequence()); - created_sequence = true; - seq->wrapper_sequence = true; - seq->name = footage->name; + seq = SequencePtr(new Sequence()); + created_sequence = true; + seq->wrapper_sequence = true; + seq->name = footage->name; - seq->using_workarea = footage->using_inout; - if (footage->using_inout) { - seq->workarea_in = footage->in; - seq->workarea_out = footage->out; - } + seq->using_workarea = footage->using_inout; + if (footage->using_inout) { + seq->workarea_in = footage->in; + seq->workarea_out = footage->out; + } - seq->frame_rate = 30; + seq->frame_rate = 30; - if (footage->video_tracks.size() > 0) { - const FootageStream& video_stream = footage->video_tracks.at(0); - seq->width = video_stream.video_width; - seq->height = video_stream.video_height; - if (video_stream.video_frame_rate > 0 && !video_stream.infinite_length) seq->frame_rate = video_stream.video_frame_rate * footage->speed; + if (footage->video_tracks.size() > 0) { + const FootageStream& video_stream = footage->video_tracks.at(0); + seq->width = video_stream.video_width; + seq->height = video_stream.video_height; + if (video_stream.video_frame_rate > 0 && !video_stream.infinite_length) seq->frame_rate = video_stream.video_frame_rate * footage->speed; - ClipPtr c = ClipPtr(new Clip(seq)); - c->media = media; - c->media_stream = video_stream.file_index; - c->timeline_in = 0; - c->timeline_out = footage->get_length_in_frames(seq->frame_rate); - if (c->timeline_out <= 0) c->timeline_out = 150; - c->track = -1; - c->clip_in = 0; - c->recalculateMaxLength(); - seq->clips.append(c); - } else { - seq->width = 1920; - seq->height = 1080; - } + ClipPtr c = ClipPtr(new Clip(seq)); + c->set_media(media, video_stream.file_index); + c->set_timeline_in(0); + c->set_timeline_out(footage->get_length_in_frames(seq->frame_rate)); + if (c->timeline_out() <= 0) { + c->set_timeline_out(150); + } + c->set_track(-1); + c->set_clip_in(0); + c->refresh(); + seq->clips.append(c); + } else { + seq->width = 1920; + seq->height = 1080; + } - if (footage->audio_tracks.size() > 0) { - const FootageStream& audio_stream = footage->audio_tracks.at(0); - seq->audio_frequency = audio_stream.audio_frequency; + if (footage->audio_tracks.size() > 0) { + const FootageStream& audio_stream = footage->audio_tracks.at(0); + seq->audio_frequency = audio_stream.audio_frequency; - ClipPtr c = ClipPtr(new Clip(seq)); - c->media = media; - c->media_stream = audio_stream.file_index; - c->timeline_in = 0; - c->timeline_out = footage->get_length_in_frames(seq->frame_rate); - c->track = 0; - c->clip_in = 0; - c->recalculateMaxLength(); - seq->clips.append(c); + ClipPtr c = ClipPtr(new Clip(seq)); + c->set_media(media, audio_stream.file_index); + c->set_timeline_in(0); + c->set_timeline_out(footage->get_length_in_frames(seq->frame_rate)); + c->set_track(0); + c->set_clip_in(0); + c->refresh(); + seq->clips.append(c); - if (footage->video_tracks.size() == 0) { - viewer_widget->waveform = true; - viewer_widget->waveform_clip = c; - viewer_widget->waveform_ms = &audio_stream; - viewer_widget->frame_update(); - } - } else { - seq->audio_frequency = 48000; - } + if (footage->video_tracks.size() == 0) { + viewer_widget->waveform = true; + viewer_widget->waveform_clip = c; + viewer_widget->waveform_ms = &audio_stream; + viewer_widget->frame_update(); + } + } else { + seq->audio_frequency = 48000; + } - seq->audio_layout = AV_CH_LAYOUT_STEREO; - } - break; - case MEDIA_TYPE_SEQUENCE: - seq = media->to_sequence(); - break; - } - } - set_sequence(false, seq); + seq->audio_layout = AV_CH_LAYOUT_STEREO; + } + break; + case MEDIA_TYPE_SEQUENCE: + seq = media->to_sequence(); + break; + } + } + set_sequence(false, seq); } void Viewer::update_playhead() { - seek(current_timecode_slider->value()); + seek(current_timecode_slider->value()); } void Viewer::timer_update() { - previous_playhead = seq->playhead; + previous_playhead = seq->playhead; - seq->playhead = qMax(0, qRound(playhead_start + ((QDateTime::currentMSecsSinceEpoch()-start_msecs) * 0.001 * seq->frame_rate * playback_speed))); - if (olive::CurrentConfig.seek_also_selects) panel_timeline->select_from_playhead(); - update_parents(olive::CurrentConfig.seek_also_selects); + seq->playhead = qMax(0, qRound(playhead_start + ((QDateTime::currentMSecsSinceEpoch()-start_msecs) * 0.001 * seq->frame_rate * playback_speed))); + if (olive::CurrentConfig.seek_also_selects) panel_timeline->select_from_playhead(); + update_parents(olive::CurrentConfig.seek_also_selects); - if (playing) { - if (playback_speed < 0 && seq->playhead == 0) { - pause(); - } else if (recording) { - if (recording_start != recording_end && seq->playhead >= recording_end) { - pause(); - } - } else if (playback_speed > 0) { - if (seq->playhead >= seq->getEndFrame()) { - pause(); - } - if (seq->using_workarea && seq->playhead >= seq->workarea_out) { - if (olive::CurrentConfig.loop) { - // loop - play(); - } else if (playing_in_to_out) { - pause(); - } - } - } - } + if (playing) { + if (playback_speed < 0 && seq->playhead == 0) { + pause(); + } else if (recording) { + if (recording_start != recording_end && seq->playhead >= recording_end) { + pause(); + } + } else if (playback_speed > 0) { + if (seq->playhead >= seq->getEndFrame()) { + pause(); + } + if (seq->using_workarea && seq->playhead >= seq->workarea_out) { + if (olive::CurrentConfig.loop) { + // loop + play(); + } else if (playing_in_to_out) { + pause(); + } + } + } + } } void Viewer::recording_flasher_update() { - if (play_button->styleSheet().isEmpty()) { - play_button->setStyleSheet("background: red;"); - } else { - play_button->setStyleSheet(QString()); - } + if (play_button->styleSheet().isEmpty()) { + play_button->setStyleSheet("background: red;"); + } else { + play_button->setStyleSheet(QString()); + } } void Viewer::resize_move(double d) { - set_zoom_value(headers->get_zoom()*d); + set_zoom_value(headers->get_zoom()*d); } void Viewer::clean_created_seq() { - viewer_widget->waveform = false; + viewer_widget->waveform = false; - if (created_sequence) { - // TODO delete undo commands referencing this sequence to avoid crashes - /*for (int i=0;isetEnabled(!null_sequence); - current_timecode_slider->setEnabled(!null_sequence); - viewer_widget->setEnabled(!null_sequence); - viewer_widget->setVisible(!null_sequence); - go_to_start_button->setEnabled(!null_sequence); - prev_frame_button->setEnabled(!null_sequence); - play_button->setEnabled(!null_sequence); - next_frame_button->setEnabled(!null_sequence); - go_to_end_frame->setEnabled(!null_sequence); + headers->setEnabled(!null_sequence); + current_timecode_slider->setEnabled(!null_sequence); + viewer_widget->setEnabled(!null_sequence); + viewer_widget->setVisible(!null_sequence); + go_to_start_button->setEnabled(!null_sequence); + prev_frame_button->setEnabled(!null_sequence); + play_button->setEnabled(!null_sequence); + next_frame_button->setEnabled(!null_sequence); + go_to_end_frame->setEnabled(!null_sequence); - if (!null_sequence) { - current_timecode_slider->set_frame_rate(seq->frame_rate); + if (!null_sequence) { + current_timecode_slider->set_frame_rate(seq->frame_rate); - playback_updater.setInterval(qFloor(1000 / seq->frame_rate)); + playback_updater.setInterval(qFloor(1000 / seq->frame_rate)); - update_playhead_timecode(seq->playhead); - update_end_timecode(); + update_playhead_timecode(seq->playhead); + update_end_timecode(); - viewer_container->adjust(); + viewer_container->adjust(); - if (!created_sequence) { - marker_ref = &seq->markers; - } - } else { - update_playhead_timecode(0); - update_end_timecode(); - } + if (!created_sequence) { + marker_ref = &seq->markers; + } + } else { + update_playhead_timecode(0); + update_end_timecode(); + } - update_window_title(); + update_window_title(); - update_header_zoom(); + update_header_zoom(); - viewer_widget->frame_update(); + viewer_widget->frame_update(); - update(); + update(); } void Viewer::set_playpause_icon(bool play) { - play_button->setIcon(play ? playIcon : QIcon(":/icons/pause.png")); + play_button->setIcon(play ? playIcon : QIcon(":/icons/pause.png")); } diff --git a/panels/viewer.h b/panels/viewer.h index 0333966a8..15444377a 100644 --- a/panels/viewer.h +++ b/panels/viewer.h @@ -69,11 +69,12 @@ public: void seek(long p); void play(bool in_to_out = false); void pause(); + bool WaitingForPlayWake(); bool playing; long playhead_start; qint64 start_msecs; QTimer playback_updater; - bool just_played; + void cue_recording(long start, long end, int track); void uncue_recording(); @@ -134,6 +135,7 @@ private: double minimum_zoom; bool playing_in_to_out; long last_playhead; + bool just_played_; void set_zoom_value(double d); void set_sb_max(); void set_playback_speed(int s); diff --git a/playback/audio.cpp b/playback/audio.cpp deleted file mode 100644 index 84e981cc1..000000000 --- a/playback/audio.cpp +++ /dev/null @@ -1,401 +0,0 @@ -/*** - - Olive - Non-Linear Video Editor - Copyright (C) 2019 Olive Team - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -***/ - -#include "audio.h" - -#include "oliveglobal.h" - -#include "project/sequence.h" - -#include "panels/panels.h" - -#include "io/config.h" -#include "ui/audiomonitor.h" -#include "playback/playback.h" -#include "debug.h" - -#include -#include -#include -#include -#include -#include -#include - -extern "C" { - #include -} - -QAudioOutput* audio_output; -QIODevice* audio_io_device; -bool audio_device_set = false; -bool audio_scrub = false; -QMutex audio_write_lock; -QAudioInput* audio_input = nullptr; -QFile output_recording; -bool audio_rendering = false; -bool recording = false; - -qint8 audio_ibuffer[audio_ibuffer_size]; -qint64 audio_ibuffer_read = 0; -long audio_ibuffer_frame = 0; -double audio_ibuffer_timecode = 0; - -AudioSenderThread* audio_thread = nullptr; - -bool is_audio_device_set() { - return audio_device_set; -} - -QAudioDeviceInfo get_audio_device(QAudio::Mode mode) { - QList devs = QAudioDeviceInfo::availableDevices(mode); - - // try to retrieve preferred device from config - QString preferred_device = (mode == QAudio::AudioOutput) ? olive::CurrentConfig.preferred_audio_output : olive::CurrentConfig.preferred_audio_input; - if (!preferred_device.isEmpty()) { - for (int i=0;i 0) { - return devs.at(0); - } - - // couldn't find any audio devices, return null device - return QAudioDeviceInfo(); -} - -void init_audio() { - stop_audio(); - - QAudioFormat audio_format; - audio_format.setSampleRate(olive::CurrentConfig.audio_rate); - audio_format.setChannelCount(2); - audio_format.setSampleSize(16); - audio_format.setCodec("audio/pcm"); - audio_format.setByteOrder(QAudioFormat::LittleEndian); - audio_format.setSampleType(QAudioFormat::SignedInt); - - QAudioDeviceInfo info = get_audio_device(QAudio::AudioOutput); - - // see if desired format can be used by the device, use nearest if not - if (!info.isFormatSupported(audio_format)) { - qWarning() << "Audio format is not supported by backend, using nearest"; - audio_format = info.nearestFormat(audio_format); - } - - audio_output = new QAudioOutput(info, audio_format); - audio_output->moveToThread(QApplication::instance()->thread()); - audio_output->setNotifyInterval(5); - - // connect - audio_io_device = audio_output->start(); - if (audio_io_device == nullptr) { - qWarning() << "Received nullptr audio device. No compatible audio output was found."; - } else { - audio_device_set = true; - - // start sender thread - audio_thread = new AudioSenderThread(); - QObject::connect(audio_output, SIGNAL(notify()), audio_thread, SLOT(notifyReceiver())); - audio_thread->start(QThread::TimeCriticalPriority); - - clear_audio_ibuffer(); - } -} - -void stop_audio() { - if (audio_device_set) { - audio_thread->stop(); - - audio_output->stop(); - delete audio_output; - audio_device_set = false; - } -} - -void clear_audio_ibuffer() { - if (audio_thread != nullptr) audio_thread->lock.lock(); - audio_write_lock.lock(); - memset(audio_ibuffer, 0, audio_ibuffer_size); - audio_ibuffer_read = 0; - audio_write_lock.unlock(); - if (audio_thread != nullptr) audio_thread->lock.unlock(); -} - -int current_audio_freq() { - return audio_rendering ? olive::ActiveSequence->audio_frequency : audio_output->format().sampleRate(); -} - -qint64 get_buffer_offset_from_frame(double framerate, long frame) { - if (frame >= audio_ibuffer_frame) { - int multiplier = av_get_bytes_per_sample(AV_SAMPLE_FMT_S16)*av_get_channel_layout_nb_channels(AV_CH_LAYOUT_STEREO); - return qFloor((double(frame - audio_ibuffer_frame)/framerate)*current_audio_freq())*multiplier; - } else { - qWarning() << "Invalid values passed to get_buffer_offset_from_frame" << frame << "<" << audio_ibuffer_frame; - return 0; - } -} - -AudioSenderThread::AudioSenderThread() : close(false) { - connect(this, SIGNAL(finished()), this, SLOT(deleteLater())); -} - -void AudioSenderThread::stop() { - close = true; - cond.wakeAll(); - wait(); -} - -void AudioSenderThread::notifyReceiver() { - cond.wakeAll(); -} - -void AudioSenderThread::run() { - // start data loop - send_audio_to_output(0, audio_ibuffer_size); - - lock.lock(); - while (true) { - cond.wait(&lock); - if (close) { - break; - } else if (panel_sequence_viewer->playing || panel_footage_viewer->playing || audio_scrub) { - int written_bytes = 0; - - int adjusted_read_index = audio_ibuffer_read%audio_ibuffer_size; - int max_write = audio_ibuffer_size - adjusted_read_index; - int actual_write = send_audio_to_output(adjusted_read_index, max_write); - written_bytes += actual_write; - if (actual_write == max_write) { - // got all the bytes, write again - written_bytes += send_audio_to_output(0, audio_ibuffer_size); - } - - audio_scrub = false; - } - } - lock.unlock(); -} - -int AudioSenderThread::send_audio_to_output(qint64 offset, int max) { - // send audio to device - qint64 actual_write = audio_io_device->write(reinterpret_cast(audio_ibuffer)+offset, max); - - qint64 audio_ibuffer_limit = audio_ibuffer_read + actual_write; - - if (actual_write > 0) { - // average values and send to audio monitor - int channels = audio_output->format().channelCount(); - qint64 lim = offset + actual_write; - QVector averages; - averages.resize(channels); - averages.fill(0); - - int counter = 0; - qint16 sample; - for (qint64 i=offset;iaudio_monitor->set_value(averages); - } - - memset(audio_ibuffer+offset, 0, actual_write); - - audio_ibuffer_read = audio_ibuffer_limit; - - return actual_write; -} - -double log_volume(double linear) { - // expects a value between 0 and 1 (or more if amplifying) - return (qExp(linear)-1)/(M_E-1); -} - -void int32_to_char_array(qint32 i, char* array) { - memcpy(array, &i, 4); -} - -void write_wave_header(QFile& f, const QAudioFormat& format) { - qint32 int32bit; - char arr[4]; - - // 4 byte riff header - f.write("RIFF"); - - // 4 byte file size, filled in later - for (int i=0;i<4;i++) f.putChar(0); - - // 4 byte file type header + 4 byte format chunk marker - f.write("WAVEfmt"); - f.putChar(0x20); - - // 4 byte length of the above format data (always 16 bytes) - f.putChar(16); - for (int i=0;i<3;i++) f.putChar(0); - - // 2 byte type format (1 is PCM) - f.putChar(1); - f.putChar(0); - - // 2 byte channel count - int32bit = format.channelCount(); - int32_to_char_array(int32bit, arr); - f.write(arr, 2); - - // 4 byte integer for sample rate - int32bit = format.sampleRate(); - int32_to_char_array(int32bit, arr); - f.write(arr, 4); - - // 4 byte integer for bytes per second - int32bit = (format.sampleRate() * format.sampleSize() * format.channelCount()) / 8; - int32_to_char_array(int32bit, arr); - f.write(arr, 4); - - // 2 byte integer for bytes per sample per channel - int32bit = (format.sampleSize() * format.channelCount()) / 8; - int32_to_char_array(int32bit, arr); - f.write(arr, 2); - - // 2 byte integer for bits per sample (16) - int32bit = format.sampleSize(); - int32_to_char_array(int32bit, arr); - f.write(arr, 2); - - // data chunk header - f.write("data"); - - // 4 byte integer for data chunk size (filled in later)? - for (int i=0;i<4;i++) f.putChar(0); -} - -void write_wave_trailer(QFile& f) { - char arr[4]; - - f.seek(4); - - // 4 bytes for total file size - 8 bytes - qint32 file_size = qint32(f.size()) - 8; - int32_to_char_array(file_size, arr); - f.write(arr, 4); - - f.seek(40); - - // 4 bytes for data chunk size (file size - header) - file_size = qint32(f.size()) - 44; - int32_to_char_array(file_size, arr); - f.write(arr, 4); -} - -bool start_recording() { - if (olive::ActiveSequence == nullptr) { - qCritical() << "No active sequence to record into"; - return false; - } - - QString audio_path = QCoreApplication::translate("Audio", "%1 Audio").arg(olive::ActiveProjectFilename); - QDir audio_dir(audio_path); - if (!audio_dir.exists() && !audio_dir.mkpath(".")) { - qCritical() << "Failed to create audio directory"; - return false; - } - - QString audio_file_path; - int file_number = 0; - do { - file_number++; - - QString audio_filename = QString("%1.wav").arg( - QCoreApplication::translate("Audio", "Recording %1").arg(QString::number(file_number)) - ); - - audio_file_path = audio_dir.filePath(audio_filename); - } while (QFile(audio_file_path).exists()); - - output_recording.setFileName(audio_file_path); - if (!output_recording.open(QFile::WriteOnly)) { - qCritical() << "Failed to open output file. Does Olive have permission to write to this directory?"; - return false; - } - - QAudioFormat audio_format = audio_output->format(); - if (olive::CurrentConfig.recording_mode != audio_format.channelCount()) { - audio_format.setChannelCount(olive::CurrentConfig.recording_mode); - } - - QAudioDeviceInfo info = get_audio_device(QAudio::AudioInput); - - if (!info.isFormatSupported(audio_format)) { - qWarning() << "Default format not supported, using nearest"; - audio_format = info.nearestFormat(audio_format); - } - write_wave_header(output_recording, audio_format); - audio_input = new QAudioInput(info, audio_format); - audio_input->start(&output_recording); - recording = true; - - return true; -} - -void stop_recording() { - if (recording) { - audio_input->stop(); - - write_wave_trailer(output_recording); - - output_recording.close(); - - delete audio_input; - audio_input = nullptr; - recording = false; - } -} - -QString get_recorded_audio_filename() { - return output_recording.fileName(); -} - -void combobox_audio_sample_rates(QComboBox *combobox) { - combobox->addItem("22050 Hz", 22050); - combobox->addItem("24000 Hz", 24000); - combobox->addItem("32000 Hz", 32000); - combobox->addItem("44100 Hz", 44100); - combobox->addItem("48000 Hz", 48000); - combobox->addItem("88200 Hz", 88200); - combobox->addItem("96000 Hz", 96000); -} diff --git a/playback/cacher.cpp b/playback/cacher.cpp deleted file mode 100644 index 029d0d1a2..000000000 --- a/playback/cacher.cpp +++ /dev/null @@ -1,1025 +0,0 @@ -/*** - - Olive - Non-Linear Video Editor - Copyright (C) 2019 Olive Team - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -***/ - -#include "cacher.h" - -#include "project/clip.h" -#include "project/sequence.h" -#include "project/transition.h" -#include "project/footage.h" -#include "playback/audio.h" -#include "playback/playback.h" -#include "project/effect.h" -#include "panels/timeline.h" -#include "panels/project.h" -#include "playback/audio.h" -#include "panels/panels.h" -#include "panels/viewer.h" -#include "project/media.h" -#include "io/config.h" -#include "debug.h" - -extern "C" { -#include -#include -#include -#include -#include -#include -#include -#include -#include -} - -#include -#include -#include -#include - -// temp debug shit -//#define AUDIOWARNINGS - -//int dest_format = AV_PIX_FMT_RGBA; - -double bytes_to_seconds(int nb_bytes, int nb_channels, int sample_rate) { - return ((double) (nb_bytes >> 1) / nb_channels / sample_rate); -} - -void apply_audio_effects(ClipPtr c, double timecode_start, AVFrame* frame, int nb_bytes, QVector nests) { - // perform all audio effects - double timecode_end; - timecode_end = timecode_start + bytes_to_seconds(nb_bytes, frame->channels, frame->sample_rate); - - for (int j=0;jeffects.size();j++) { - EffectPtr e = c->effects.at(j); - if (e->is_enabled()) e->process_audio(timecode_start, timecode_end, frame->data[0], nb_bytes, 2); - } - if (c->opening_transition != nullptr) { - if (c->media != nullptr && c->media->get_type() == MEDIA_TYPE_FOOTAGE) { - double transition_start = (c->get_clip_in_with_transition() / c->sequence->frame_rate); - double transition_end = (c->get_clip_in_with_transition() + c->opening_transition->get_length()) / c->sequence->frame_rate; - if (timecode_end < transition_end) { - double adjustment = transition_end - transition_start; - double adjusted_range_start = (timecode_start - transition_start) / adjustment; - double adjusted_range_end = (timecode_end - transition_start) / adjustment; - c->opening_transition->process_audio(adjusted_range_start, adjusted_range_end, frame->data[0], nb_bytes, kTransitionOpening); - } - } - } - if (c->closing_transition != nullptr) { - if (c->media != nullptr && c->media->get_type() == MEDIA_TYPE_FOOTAGE) { - long length_with_transitions = c->get_timeline_out_with_transition() - c->get_timeline_in_with_transition(); - double transition_start = (c->get_clip_in_with_transition() + length_with_transitions - c->closing_transition->get_length()) / c->sequence->frame_rate; - double transition_end = (c->get_clip_in_with_transition() + length_with_transitions) / c->sequence->frame_rate; - if (timecode_start > transition_start) { - double adjustment = transition_end - transition_start; - double adjusted_range_start = (timecode_start - transition_start) / adjustment; - double adjusted_range_end = (timecode_end - transition_start) / adjustment; - c->closing_transition->process_audio(adjusted_range_start, adjusted_range_end, frame->data[0], nb_bytes, kTransitionClosing); - } - } - } - - if (!nests.isEmpty()) { - ClipPtr next_nest = nests.last(); - nests.removeLast(); - apply_audio_effects(next_nest, timecode_start + (((double)c->get_timeline_in_with_transition()-c->get_clip_in_with_transition())/c->sequence->frame_rate), frame, nb_bytes, nests); - } -} - -#define AUDIO_BUFFER_PADDING 2048 - -void cache_audio_worker(ClipPtr c, bool scrubbing, QVector& nests, int playback_speed) { - long timeline_in = c->get_timeline_in_with_transition(); - long timeline_out = c->get_timeline_out_with_transition(); - long target_frame = c->audio_target_frame; - - bool temp_reverse = (playback_speed < 0); - bool reverse_audio = (c->reverse != temp_reverse); - - long frame_skip = 0; - double last_fr = c->sequence->frame_rate; - if (!nests.isEmpty()) { - for (int i=nests.size()-1;i>=0;i--) { - timeline_in = refactor_frame_number(timeline_in, last_fr, nests.at(i)->sequence->frame_rate) + nests.at(i)->get_timeline_in_with_transition() - nests.at(i)->get_clip_in_with_transition(); - timeline_out = refactor_frame_number(timeline_out, last_fr, nests.at(i)->sequence->frame_rate) + nests.at(i)->get_timeline_in_with_transition() - nests.at(i)->get_clip_in_with_transition(); - target_frame = refactor_frame_number(target_frame, last_fr, nests.at(i)->sequence->frame_rate) + nests.at(i)->get_timeline_in_with_transition() - nests.at(i)->get_clip_in_with_transition(); - - timeline_out = qMin(timeline_out, nests.at(i)->get_timeline_out_with_transition()); - - frame_skip = refactor_frame_number(frame_skip, last_fr, nests.at(i)->sequence->frame_rate); - - long validator = nests.at(i)->get_timeline_in_with_transition() - timeline_in; - if (validator > 0) { - frame_skip += validator; - //timeline_in = nests.at(i)->get_timeline_in_with_transition(); - } - - last_fr = nests.at(i)->sequence->frame_rate; - } - } - - if (temp_reverse) { - long seq_end = olive::ActiveSequence->getEndFrame(); - timeline_in = seq_end - timeline_in; - timeline_out = seq_end - timeline_out; - target_frame = seq_end - target_frame; - - long temp = timeline_in; - timeline_in = timeline_out; - timeline_out = temp; - } - - while (true) { - AVFrame* frame; - int nb_bytes = INT_MAX; - - if (c->media == nullptr) { - frame = c->frame; - nb_bytes = frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels; - while ((c->frame_sample_index == -1 || c->frame_sample_index >= nb_bytes) && nb_bytes > 0) { - // create "new frame" - memset(c->frame->data[0], 0, nb_bytes); - apply_audio_effects(c, bytes_to_seconds(frame->pts, frame->channels, frame->sample_rate), frame, nb_bytes, nests); - c->frame->pts += nb_bytes; - c->frame_sample_index = 0; - if (c->audio_buffer_write == 0) { - c->audio_buffer_write = get_buffer_offset_from_frame(last_fr, qMax(timeline_in, target_frame)); - } - int offset = audio_ibuffer_read - c->audio_buffer_write; - if (offset > 0) { - c->audio_buffer_write += offset; - c->frame_sample_index += offset; - } - } - } else if (c->media->get_type() == MEDIA_TYPE_FOOTAGE) { - double timebase = av_q2d(c->stream->time_base); - - frame = c->queue.at(0); - - // retrieve frame - bool new_frame = false; - while ((c->frame_sample_index == -1 || c->frame_sample_index >= nb_bytes) && nb_bytes > 0) { - // no more audio left in frame, get a new one - if (!c->reached_end) { - int loop = 0; - - if (reverse_audio && !c->audio_just_reset) { - avcodec_flush_buffers(c->codecCtx); - c->reached_end = false; - int64_t backtrack_seek = qMax(c->reverse_target - static_cast(av_q2d(av_inv_q(c->stream->time_base))), static_cast(0)); - av_seek_frame(c->formatCtx, c->stream->index, backtrack_seek, AVSEEK_FLAG_BACKWARD); -#ifdef AUDIOWARNINGS - if (backtrack_seek == 0) { - dout << "backtracked to 0"; - } -#endif - } - - do { - av_frame_unref(frame); - - int ret; - - while ((ret = av_buffersink_get_frame(c->buffersink_ctx, frame)) == AVERROR(EAGAIN)) { - ret = retrieve_next_frame(c, c->frame); - if (ret >= 0) { - if ((ret = av_buffersrc_add_frame_flags(c->buffersrc_ctx, c->frame, AV_BUFFERSRC_FLAG_KEEP_REF)) < 0) { - qCritical() << "Could not feed filtergraph -" << ret; - break; - } - } else { - if (ret == AVERROR_EOF) { -#ifdef AUDIOWARNINGS - dout << "reached EOF while reading"; -#endif - // TODO revise usage of reached_end in audio - if (!reverse_audio) { - c->reached_end = true; - } else { - } - } else { - qWarning() << "Raw audio frame data could not be retrieved." << ret; - c->reached_end = true; - } - break; - } - } - - if (ret < 0) { - if (ret != AVERROR_EOF) { - qCritical() << "Could not pull from filtergraph"; - c->reached_end = true; - break; - } else { -#ifdef AUDIOWARNINGS - dout << "reached EOF while pulling from filtergraph"; -#endif - if (!reverse_audio) break; - } - } - - if (reverse_audio) { - if (loop > 1) { - AVFrame* rev_frame = c->queue.at(1); - if (ret != AVERROR_EOF) { - if (loop == 2) { -#ifdef AUDIOWARNINGS - dout << "starting rev_frame"; -#endif - rev_frame->nb_samples = 0; - rev_frame->pts = c->frame->pkt_pts; - } - int offset = rev_frame->nb_samples * av_get_bytes_per_sample(static_cast(rev_frame->format)) * rev_frame->channels; -#ifdef AUDIOWARNINGS - dout << "offset 1:" << offset; - dout << "retrieved samples:" << frame->nb_samples << "size:" << (frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels); -#endif - memcpy( - rev_frame->data[0]+offset, - frame->data[0], - (frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels) - ); -#ifdef AUDIOWARNINGS - dout << "pts:" << c->frame->pts << "dur:" << c->frame->pkt_duration << "rev_target:" << c->reverse_target << "offset:" << offset << "limit:" << rev_frame->linesize[0]; -#endif - } - - rev_frame->nb_samples += frame->nb_samples; - - if ((c->frame->pts >= c->reverse_target) || (ret == AVERROR_EOF)) { - /* -#ifdef AUDIOWARNINGS - dout << "time for the end of rev cache" << rev_frame->nb_samples << c->rev_target << c->frame->pts << c->frame->pkt_duration << c->frame->nb_samples; - dout << "diff:" << (c->frame->pkt_pts + c->frame->pkt_duration) - c->rev_target; -#endif - int cutoff = qRound64((((c->frame->pkt_pts + c->frame->pkt_duration) - c->reverse_target) * timebase) * audio_output->format().sampleRate()); - if (cutoff > 0) { -#ifdef AUDIOWARNINGS - dout << "cut off" << cutoff << "samples (rate:" << audio_output->format().sampleRate() << ")"; -#endif - rev_frame->nb_samples -= cutoff; - } -*/ - -#ifdef AUDIOWARNINGS - dout << "pre cutoff deets::: rev_frame.pts:" << rev_frame->pts << "rev_frame.nb_samples" << rev_frame->nb_samples << "rev_target:" << c->reverse_target; -#endif - double playback_speed = c->speed * c->media->to_footage()->speed; - rev_frame->nb_samples = qRound64(static_cast(c->reverse_target - rev_frame->pts) / c->stream->codecpar->sample_rate * (current_audio_freq() / playback_speed)); -#ifdef AUDIOWARNINGS - dout << "post cutoff deets::" << rev_frame->nb_samples; -#endif - - int frame_size = rev_frame->nb_samples * rev_frame->channels * av_get_bytes_per_sample(static_cast(rev_frame->format)); - int half_frame_size = frame_size >> 1; - - int sample_size = rev_frame->channels*av_get_bytes_per_sample(static_cast(rev_frame->format)); - char* temp_chars = new char[sample_size]; - for (int i=0;idata[0][i+j]; - } - for (int j=0;jdata[0][i+j] = rev_frame->data[0][frame_size-i-sample_size+j]; - } - for (int j=0;jdata[0][frame_size-i-sample_size+j] = temp_chars[j]; - } - } - delete [] temp_chars; - - c->reverse_target = rev_frame->pts; - frame = rev_frame; - break; - } - } - - loop++; - -#ifdef AUDIOWARNINGS - dout << "loop" << loop; -#endif - } else { - frame->pts = c->frame->pts; - break; - } - } while (true); - } else { - // if there is no more data in the file, we flush the remainder out of swresample - break; - } - - new_frame = true; - - if (c->frame_sample_index < 0) { - c->frame_sample_index = 0; - } else { - c->frame_sample_index -= nb_bytes; - } - - nb_bytes = frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels; - - if (c->audio_just_reset) { - // get precise sample offset for the elected clip_in from this audio frame - double target_sts = playhead_to_clip_seconds(c, c->audio_target_frame); - double frame_sts = ((frame->pts - c->stream->start_time) * timebase); - int nb_samples = qRound64((target_sts - frame_sts)*current_audio_freq()); - c->frame_sample_index = nb_samples * 4; -#ifdef AUDIOWARNINGS - dout << "fsts:" << frame_sts << "tsts:" << target_sts << "nbs:" << nb_samples << "nbb:" << nb_bytes << "rev_targetToSec:" << (c->reverse_target * timebase); - dout << "fsi-calc:" << c->frame_sample_index; -#endif - if (reverse_audio) c->frame_sample_index = nb_bytes - c->frame_sample_index; - c->audio_just_reset = false; - } - -#ifdef AUDIOWARNINGS - dout << "fsi-post-post:" << c->frame_sample_index; -#endif - if (c->audio_buffer_write == 0) { - c->audio_buffer_write = get_buffer_offset_from_frame(last_fr, qMax(timeline_in, target_frame)); - - if (frame_skip > 0) { - int target = get_buffer_offset_from_frame(last_fr, qMax(timeline_in + frame_skip, target_frame)); - c->frame_sample_index += (target - c->audio_buffer_write); - c->audio_buffer_write = target; - } - } - - int offset = audio_ibuffer_read - c->audio_buffer_write; - if (offset > 0) { - c->audio_buffer_write += offset; - c->frame_sample_index += offset; - } - - // try to correct negative fsi - if (c->frame_sample_index < 0) { - c->audio_buffer_write -= c->frame_sample_index; - c->frame_sample_index = 0; - } - } - - if (reverse_audio) frame = c->queue.at(1); - -#ifdef AUDIOWARNINGS - dout << "j" << c->frame_sample_index << nb_bytes; -#endif - - // apply any audio effects to the data - if (nb_bytes == INT_MAX) nb_bytes = frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels; - if (new_frame) { - apply_audio_effects(c, bytes_to_seconds(c->audio_buffer_write, 2, current_audio_freq()) + audio_ibuffer_timecode + ((double)c->get_clip_in_with_transition()/c->sequence->frame_rate) - ((double)timeline_in/last_fr), frame, nb_bytes, nests); - } - } else { - // shouldn't ever get here - qCritical() << "Tried to cache a non-footage/tone clip"; - return; - } - - // mix audio into internal buffer - if (frame->nb_samples == 0) { - break; - } else { - qint64 buffer_timeline_out = get_buffer_offset_from_frame(c->sequence->frame_rate, timeline_out); - - audio_write_lock.lock(); - - int sample_skip = 4*qMax(0, qAbs(playback_speed)-1); - int sample_byte_size = av_get_bytes_per_sample(static_cast(frame->format)); - - while (c->frame_sample_index < nb_bytes - && c->audio_buffer_write < audio_ibuffer_read+(audio_ibuffer_size>>1) - && c->audio_buffer_write < buffer_timeline_out) { - for (int i=0;ichannels;i++) { - int upper_byte_index = (c->audio_buffer_write+1)%audio_ibuffer_size; - int lower_byte_index = (c->audio_buffer_write)%audio_ibuffer_size; - qint16 old_sample = static_cast((audio_ibuffer[upper_byte_index] & 0xFF) << 8 | (audio_ibuffer[lower_byte_index] & 0xFF)); - qint16 new_sample = static_cast((frame->data[0][c->frame_sample_index+1] & 0xFF) << 8 | (frame->data[0][c->frame_sample_index] & 0xFF)); - qint16 mixed_sample = mix_audio_sample(old_sample, new_sample); - - audio_ibuffer[upper_byte_index] = quint8((mixed_sample >> 8) & 0xFF); - audio_ibuffer[lower_byte_index] = quint8(mixed_sample & 0xFF); - - c->audio_buffer_write+=sample_byte_size; - c->frame_sample_index+=sample_byte_size; - } - - c->frame_sample_index += sample_skip; - - if (c->audio_reset) break; - } - -#ifdef AUDIOWARNINGS - if (c->audio_buffer_write >= buffer_timeline_out) dout << "timeline out at fsi" << c->frame_sample_index << "of frame ts" << c->frame->pts; -#endif - - audio_write_lock.unlock(); - - if (c->audio_reset) return; - - if (scrubbing) { - if (audio_thread != nullptr) audio_thread->notifyReceiver(); - } - - if (c->frame_sample_index >= nb_bytes) { - c->frame_sample_index = -1; - } else { - // assume we have no more data to send - break; - } - - // dout << "ended" << c->frame_sample_index << nb_bytes; - } - if (c->reached_end) { - frame->nb_samples = 0; - } - if (scrubbing) { - break; - } - } - - QMetaObject::invokeMethod(panel_footage_viewer, "play_wake", Qt::QueuedConnection); - QMetaObject::invokeMethod(panel_sequence_viewer, "play_wake", Qt::QueuedConnection); -} - -void cache_video_worker(ClipPtr c, long playhead) { - int read_ret, send_ret, retr_ret; - - int64_t target_pts = seconds_to_timestamp(c, playhead_to_clip_seconds(c, playhead)); - - int limit = c->max_queue_size; - if (c->ignore_reverse) { - // waiting for one frame - limit = c->queue.size() + 1; - } else if (c->reverse) { - limit *= 2; - } - - if (c->queue.size() < limit) { - bool reverse = (c->reverse && !c->ignore_reverse); - c->ignore_reverse = false; - - int64_t smallest_pts = INT64_MAX; - if (reverse && c->queue.size() > 0) { - int64_t quarter_sec = qRound64(av_q2d(av_inv_q(c->stream->time_base))) >> 2; - for (int i=0;iqueue.size();i++) { - smallest_pts = qMin(smallest_pts, c->queue.at(i)->pts); - } - avcodec_flush_buffers(c->codecCtx); - c->reached_end = false; - int64_t seek_ts = qMax(static_cast(0), smallest_pts - quarter_sec); - av_seek_frame(c->formatCtx, c->stream->index, seek_ts, AVSEEK_FLAG_BACKWARD); - } else { - smallest_pts = target_pts; - } - - if (c->multithreaded && c->cacher->interrupt) { // ignore interrupts for now - c->cacher->interrupt = false; - } - - while (true) { - AVFrame* frame = av_frame_alloc(); - - FootagePtr media = c->media->to_footage(); - const FootageStream* ms = media->get_stream_from_file_index(true, c->media_stream); - - while ((retr_ret = av_buffersink_get_frame(c->buffersink_ctx, frame)) == AVERROR(EAGAIN)) { - if (c->multithreaded && c->cacher->interrupt) return; // abort - - AVFrame* send_frame = c->frame; - // qint64 time = QDateTime::currentMSecsSinceEpoch(); - read_ret = (c->use_existing_frame) ? 0 : retrieve_next_frame(c, send_frame); - // dout << QDateTime::currentMSecsSinceEpoch() - time; - c->use_existing_frame = false; - if (read_ret >= 0) { - bool send_it = true; - - /*if (reverse) { - send_it = true; - } else if (send_frame->pts > target_pts - eighth_second) { - send_it = true; - } else if (media->get_stream_from_file_index(true, c->media_stream)->infinite_length) { - send_it = true; - } else { - dout << "skipped adding a frame to the queue - fpts:" << send_frame->pts << "target:" << target_pts; - }*/ - - if (send_it) { - if ((send_ret = av_buffersrc_add_frame_flags(c->buffersrc_ctx, send_frame, AV_BUFFERSRC_FLAG_KEEP_REF)) < 0) { - qCritical() << "Failed to add frame to buffer source." << send_ret; - break; - } - } - - av_frame_unref(c->frame); - } else { - if (read_ret == AVERROR_EOF) { - c->reached_end = true; - } else { - qCritical() << "Failed to read frame." << read_ret; - } - break; - } - } - - if (retr_ret < 0) { - if (retr_ret == AVERROR_EOF) { - c->reached_end = true; - } else { - qCritical() << "Failed to retrieve frame from buffersink." << retr_ret; - } - av_frame_free(&frame); - break; - } else { - if (reverse && ((smallest_pts == target_pts && frame->pts >= smallest_pts) || (smallest_pts != target_pts && frame->pts > smallest_pts))) { - av_frame_free(&frame); - break; - } else { - // thread-safety while adding frame to the queue - c->queue_lock.lock(); - c->queue.append(frame); - - if (!ms->infinite_length && !reverse && c->queue.size() == limit) { - // see if we got the frame we needed (used for speed ups primarily) - bool found = false; - for (int i=0;iqueue.size();i++) { - if (c->queue.at(i)->pts >= target_pts) { - found = true; - break; - } - } - if (found) { - c->queue_lock.unlock(); - break; - } else { - // remove earliest frame and loop to store another - c->queue_remove_earliest(); - } - } - c->queue_lock.unlock(); - } - } - - if (c->multithreaded && c->cacher->interrupt) { // abort - return; - } - } - } -} - -void reset_cache(ClipPtr c, long target_frame, int playback_speed) { - // if we seek to a whole other place in the timeline, we'll need to reset the cache with new values - if (c->media == nullptr) { - if (c->track >= 0) { - // tone clip - c->reached_end = false; - c->audio_target_frame = target_frame; - c->frame_sample_index = -1; - c->frame->pts = 0; - } - } else { - const FootageStream* ms = c->media->to_footage()->get_stream_from_file_index(c->track < 0, c->media_stream); - if (ms->infinite_length) { - /*avcodec_flush_buffers(c->codecCtx); - av_seek_frame(c->formatCtx, ms->file_index, 0, AVSEEK_FLAG_BACKWARD);*/ - c->use_existing_frame = false; - } else { - if (c->stream->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) { - // clear current queue - c->queue_lock.lock(); - c->queue_clear(); - c->queue_lock.unlock(); - - // seeks to nearest keyframe (target_frame represents internal clip frame) - int64_t target_ts = seconds_to_timestamp(c, playhead_to_clip_seconds(c, target_frame)); - int64_t seek_ts = target_ts; - int64_t timebase_half_second = qRound64(av_q2d(av_inv_q(c->stream->time_base))); - if (c->reverse) seek_ts -= timebase_half_second; - - while (true) { - // flush ffmpeg codecs - avcodec_flush_buffers(c->codecCtx); - c->reached_end = false; - - if (seek_ts > 0) { - av_seek_frame(c->formatCtx, ms->file_index, seek_ts, AVSEEK_FLAG_BACKWARD); - - av_frame_unref(c->frame); - int ret = retrieve_next_frame(c, c->frame); - if (ret < 0) { - qWarning() << "Seeking terminated prematurely"; - break; - } - if (c->frame->pts <= target_ts) { - c->use_existing_frame = true; - break; - } else { - seek_ts -= timebase_half_second; - } - } else { - av_frame_unref(c->frame); - av_seek_frame(c->formatCtx, ms->file_index, 0, AVSEEK_FLAG_BACKWARD); - c->use_existing_frame = false; - break; - } - } - } else if (c->stream->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { - // flush ffmpeg codecs - avcodec_flush_buffers(c->codecCtx); - c->reached_end = false; - - // seek (target_frame represents timeline timecode in frames, not clip timecode) - - // bool reverse = (c->reverse != temp_reverse); - - int64_t timestamp = seconds_to_timestamp(c, playhead_to_clip_seconds(c, target_frame)); - - bool temp_reverse = (playback_speed < 0); - if (c->reverse != temp_reverse) { - c->reverse_target = timestamp; - timestamp -= av_q2d(av_inv_q(c->stream->time_base)); -#ifdef AUDIOWARNINGS - dout << "seeking to" << timestamp << "(originally" << c->reverse_target << ")"; - } else { - dout << "reset called; seeking to" << timestamp; -#endif - } - av_seek_frame(c->formatCtx, ms->file_index, timestamp, AVSEEK_FLAG_BACKWARD); - c->audio_target_frame = target_frame; - c->frame_sample_index = -1; - c->audio_just_reset = true; - } - } - } -} - -Cacher::Cacher(ClipPtr c) : clip(c) {} - -AVSampleFormat sample_format = AV_SAMPLE_FMT_S16; - -void open_clip_worker(ClipPtr clip) { - qint64 time_start = QDateTime::currentMSecsSinceEpoch(); - - if (clip->media == nullptr) { - if (clip->track >= 0) { - clip->frame = av_frame_alloc(); - clip->frame->format = sample_format; - clip->frame->channel_layout = clip->sequence->audio_layout; - clip->frame->channels = av_get_channel_layout_nb_channels(clip->frame->channel_layout); - clip->frame->sample_rate = current_audio_freq(); - clip->frame->nb_samples = 2048; - av_frame_make_writable(clip->frame); - if (av_frame_get_buffer(clip->frame, 0)) { - qCritical() << "Could not allocate buffer for tone clip"; - } - clip->audio_reset = true; - } - } else if (clip->media->get_type() == MEDIA_TYPE_FOOTAGE) { - // opens file resource for FFmpeg and prepares Clip struct for playback - FootagePtr m = clip->media->to_footage(); - - // byte array for retriving raw bytes from QString URL - QByteArray ba; - - // do we have a proxy? - if (m->proxy - && !m->proxy_path.isEmpty() - && QFileInfo::exists(m->proxy_path)) { - ba = m->proxy_path.toUtf8(); - } else { - ba = m->url.toUtf8(); - } - - const char* filename = ba.constData(); - const FootageStream* ms = m->get_stream_from_file_index(clip->track < 0, clip->media_stream); - - int errCode = avformat_open_input( - &clip->formatCtx, - filename, - nullptr, - nullptr - ); - if (errCode != 0) { - char err[1024]; - av_strerror(errCode, err, 1024); - qCritical() << "Could not open" << filename << "-" << err; - return; - } - - errCode = avformat_find_stream_info(clip->formatCtx, nullptr); - if (errCode < 0) { - char err[1024]; - av_strerror(errCode, err, 1024); - qCritical() << "Could not open" << filename << "-" << err; - return; - } - - av_dump_format(clip->formatCtx, 0, filename, 0); - - clip->stream = clip->formatCtx->streams[ms->file_index]; - clip->codec = avcodec_find_decoder(clip->stream->codecpar->codec_id); - clip->codecCtx = avcodec_alloc_context3(clip->codec); - avcodec_parameters_to_context(clip->codecCtx, clip->stream->codecpar); - - if (ms->infinite_length) { - clip->max_queue_size = 1; - } else { - clip->max_queue_size = 0; - if (olive::CurrentConfig.upcoming_queue_type == olive::FRAME_QUEUE_TYPE_FRAMES) { - clip->max_queue_size += qCeil(olive::CurrentConfig.upcoming_queue_size); - } else { - clip->max_queue_size += qCeil(ms->video_frame_rate * m->speed * olive::CurrentConfig.upcoming_queue_size); - } - if (olive::CurrentConfig.previous_queue_type == olive::FRAME_QUEUE_TYPE_FRAMES) { - clip->max_queue_size += qCeil(olive::CurrentConfig.previous_queue_size); - } else { - clip->max_queue_size += qCeil(ms->video_frame_rate * m->speed * olive::CurrentConfig.previous_queue_size); - } - } - - if (ms->video_interlacing != VIDEO_PROGRESSIVE) clip->max_queue_size *= 2; - - clip->opts = nullptr; - - // enable multithreading on decoding - av_dict_set(&clip->opts, "threads", "auto", 0); - - // enable extra optimization code on h264 (not even sure if they help) - if (clip->stream->codecpar->codec_id == AV_CODEC_ID_H264) { - av_dict_set(&clip->opts, "tune", "fastdecode", 0); - av_dict_set(&clip->opts, "tune", "zerolatency", 0); - } - - // Open codec - if (avcodec_open2(clip->codecCtx, clip->codec, &clip->opts) < 0) { - qCritical() << "Could not open codec"; - } - - // allocate filtergraph - clip->filter_graph = avfilter_graph_alloc(); - if (clip->filter_graph == nullptr) { - qCritical() << "Could not create filtergraph"; - } - char filter_args[512]; - - if (clip->stream->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) { - snprintf(filter_args, sizeof(filter_args), "video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d", - clip->stream->codecpar->width, - clip->stream->codecpar->height, - clip->stream->codecpar->format, - clip->stream->time_base.num, - clip->stream->time_base.den, - clip->stream->codecpar->sample_aspect_ratio.num, - clip->stream->codecpar->sample_aspect_ratio.den - ); - - avfilter_graph_create_filter(&clip->buffersrc_ctx, avfilter_get_by_name("buffer"), "in", filter_args, nullptr, clip->filter_graph); - avfilter_graph_create_filter(&clip->buffersink_ctx, avfilter_get_by_name("buffersink"), "out", nullptr, nullptr, clip->filter_graph); - - AVFilterContext* last_filter = clip->buffersrc_ctx; - - char filter_args[100]; - - if (ms->video_interlacing != VIDEO_PROGRESSIVE) { - AVFilterContext* yadif_filter; - snprintf(filter_args, sizeof(filter_args), "mode=3:parity=%d", ((ms->video_interlacing == VIDEO_TOP_FIELD_FIRST) ? 0 : 1)); // there's a CUDA version if we start using nvdec/nvenc - avfilter_graph_create_filter(&yadif_filter, avfilter_get_by_name("yadif"), "yadif", filter_args, nullptr, clip->filter_graph); - - avfilter_link(last_filter, 0, yadif_filter, 0); - last_filter = yadif_filter; - } - - // ffmpeg premultiplier - /* - if (!clip->media->to_footage()->alpha_is_premultiplied) { - AVFilterContext* premultiply_filter; - snprintf(filter_args, sizeof(filter_args), "inplace=1"); - avfilter_graph_create_filter(&premultiply_filter, avfilter_get_by_name("premultiply"), "premultiply", filter_args, nullptr, clip->filter_graph); - - avfilter_link(last_filter, 0, premultiply_filter, 0); - last_filter = premultiply_filter; - } - */ - - /* stabilization code */ - /*bool stabilize = false; - if (stabilize) { - AVFilterContext* stab_filter; - int stab_ret = avfilter_graph_create_filter(&stab_filter, avfilter_get_by_name("vidstabtransform"), "vidstab", "input=/media/matt/Home/samples/transforms.trf", nullptr, clip->filter_graph); - - if (stab_ret < 0) { - char err[100]; - av_strerror(stab_ret, err, sizeof(err)); - } else { - avfilter_link(last_filter, 0, stab_filter, 0); - last_filter = stab_filter; - } - }*/ - - clip->pix_fmt = AV_PIX_FMT_RGBA; - const char* chosen_format = av_get_pix_fmt_name(static_cast(clip->pix_fmt)); - snprintf(filter_args, sizeof(filter_args), "pix_fmts=%s", chosen_format); - - AVFilterContext* format_conv; - avfilter_graph_create_filter(&format_conv, avfilter_get_by_name("format"), "fmt", filter_args, nullptr, clip->filter_graph); - avfilter_link(last_filter, 0, format_conv, 0); - - avfilter_link(format_conv, 0, clip->buffersink_ctx, 0); - - avfilter_graph_config(clip->filter_graph, nullptr); - } else if (clip->stream->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { - if (clip->codecCtx->channel_layout == 0) clip->codecCtx->channel_layout = av_get_default_channel_layout(clip->stream->codecpar->channels); - - // set up cache - clip->queue.append(av_frame_alloc()); - // if (clip->reverse) { - if (true) { - AVFrame* reverse_frame = av_frame_alloc(); - - reverse_frame->format = sample_format; - reverse_frame->nb_samples = current_audio_freq()*2; - reverse_frame->channel_layout = clip->sequence->audio_layout; - reverse_frame->channels = av_get_channel_layout_nb_channels(clip->sequence->audio_layout); - av_frame_get_buffer(reverse_frame, 0); - - clip->queue.append(reverse_frame); - } - - snprintf(filter_args, sizeof(filter_args), "time_base=%d/%d:sample_rate=%d:sample_fmt=%s:channel_layout=0x%" PRIx64, - clip->stream->time_base.num, - clip->stream->time_base.den, - clip->stream->codecpar->sample_rate, - av_get_sample_fmt_name(clip->codecCtx->sample_fmt), - clip->codecCtx->channel_layout - ); - - avfilter_graph_create_filter(&clip->buffersrc_ctx, avfilter_get_by_name("abuffer"), "in", filter_args, nullptr, clip->filter_graph); - avfilter_graph_create_filter(&clip->buffersink_ctx, avfilter_get_by_name("abuffersink"), "out", nullptr, nullptr, clip->filter_graph); - - enum AVSampleFormat sample_fmts[] = { sample_format, static_cast(-1) }; - if (av_opt_set_int_list(clip->buffersink_ctx, "sample_fmts", sample_fmts, -1, AV_OPT_SEARCH_CHILDREN) < 0) { - qCritical() << "Could not set output sample format"; - } - - int64_t channel_layouts[] = { AV_CH_LAYOUT_STEREO, static_cast(-1) }; - if (av_opt_set_int_list(clip->buffersink_ctx, "channel_layouts", channel_layouts, -1, AV_OPT_SEARCH_CHILDREN) < 0) { - qCritical() << "Could not set output sample format"; - } - - int target_sample_rate = current_audio_freq(); - - double playback_speed = clip->speed * m->speed; - - if (qFuzzyCompare(playback_speed, 1.0)) { - avfilter_link(clip->buffersrc_ctx, 0, clip->buffersink_ctx, 0); - } else if (clip->maintain_audio_pitch) { - AVFilterContext* previous_filter = clip->buffersrc_ctx; - AVFilterContext* last_filter = clip->buffersrc_ctx; - - char speed_param[10]; - - // if (playback_speed != 1.0) { - double base = (playback_speed > 1.0) ? 2.0 : 0.5; - - double speedlog = log(playback_speed) / log(base); - int whole2 = qFloor(speedlog); - speedlog -= whole2; - - if (whole2 > 0) { - snprintf(speed_param, sizeof(speed_param), "%f", base); - for (int i=0;ifilter_graph); - avfilter_link(previous_filter, 0, tempo_filter, 0); - previous_filter = tempo_filter; - } - } - - snprintf(speed_param, sizeof(speed_param), "%f", qPow(base, speedlog)); - last_filter = nullptr; - avfilter_graph_create_filter(&last_filter, avfilter_get_by_name("atempo"), "atempo", speed_param, nullptr, clip->filter_graph); - avfilter_link(previous_filter, 0, last_filter, 0); - // } - - avfilter_link(last_filter, 0, clip->buffersink_ctx, 0); - } else { - target_sample_rate = qRound64(target_sample_rate / playback_speed); - avfilter_link(clip->buffersrc_ctx, 0, clip->buffersink_ctx, 0); - } - - int sample_rates[] = { target_sample_rate, 0 }; - if (av_opt_set_int_list(clip->buffersink_ctx, "sample_rates", sample_rates, 0, AV_OPT_SEARCH_CHILDREN) < 0) { - qCritical() << "Could not set output sample rates"; - } - - avfilter_graph_config(clip->filter_graph, nullptr); - - clip->audio_reset = true; - } - - clip->frame = av_frame_alloc(); - } - - for (int i=0;ieffects.size();i++) { - clip->effects.at(i)->open(); - } - - clip->finished_opening = true; - - qInfo() << "Clip opened on track" << clip->track << "(took" << (QDateTime::currentMSecsSinceEpoch() - time_start) << "ms)"; -} - -void cache_clip_worker(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector nests, int playback_speed) { - if (reset) { - // note: for video, playhead is in "internal clip" frames - for audio, it's the timeline playhead - reset_cache(clip, playhead, playback_speed); - clip->audio_reset = false; - } - - if (clip->media == nullptr) { - if (clip->track >= 0) { - cache_audio_worker(clip, scrubbing, nests, playback_speed); - } - } else if (clip->media->get_type() == MEDIA_TYPE_FOOTAGE) { - if (clip->stream->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) { - cache_video_worker(clip, playhead); - } else if (clip->stream->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { - cache_audio_worker(clip, scrubbing, nests, playback_speed); - } - } -} - -void close_clip_worker(ClipPtr clip) { - clip->finished_opening = false; - - if (clip->media != nullptr && clip->media->get_type() == MEDIA_TYPE_FOOTAGE) { - clip->queue_clear(); - - avfilter_graph_free(&clip->filter_graph); - - avcodec_close(clip->codecCtx); - avcodec_free_context(&clip->codecCtx); - - av_dict_free(&clip->opts); - - avformat_close_input(&clip->formatCtx); - } - - av_frame_free(&clip->frame); - - clip->reset(); - - qInfo() << "Clip closed on track" << clip->track; -} - -void Cacher::run() { - // open_lock is used to prevent the clip from being destroyed before the cacher has closed it properly - clip->lock.lock(); - clip->finished_opening = false; - clip->open = true; - caching = true; - interrupt = false; - queued = false; - - open_clip_worker(clip); - - while (caching) { - if (!queued) clip->can_cache.wait(&clip->lock); - queued = false; - if (!caching) { - break; - } else { - while (true) { - cache_clip_worker(clip, playhead, reset, scrubbing, nests, playback_speed); - if (clip->multithreaded && clip->cacher->interrupt && clip->track < 0) { - clip->cacher->interrupt = false; - } else { - break; - } - } - } - } - - close_clip_worker(clip); - - clip->lock.unlock(); - clip->open_lock.unlock(); -} diff --git a/playback/cacher.h b/playback/cacher.h deleted file mode 100644 index e0e9d2be6..000000000 --- a/playback/cacher.h +++ /dev/null @@ -1,57 +0,0 @@ -/*** - - Olive - Non-Linear Video Editor - Copyright (C) 2019 Olive Team - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -***/ - -#ifndef CACHER_H -#define CACHER_H - -#include -#include -#include - -class Clip; -using ClipPtr = std::shared_ptr; - -class Cacher : public QThread -{ -// Q_OBJECT -public: - Cacher(ClipPtr c); - void run(); - - bool caching; - - // must be set before caching - long playhead; - bool reset; - bool scrubbing; - bool interrupt; - bool queued; - int playback_speed; - QVector nests; - -private: - ClipPtr clip; -}; - -void open_clip_worker(ClipPtr clip); -void cache_clip_worker(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector nest, int playback_speed); -void close_clip_worker(ClipPtr clip); - -#endif // CACHER_H diff --git a/playback/playback.cpp b/playback/playback.cpp deleted file mode 100644 index 9a0bdc77f..000000000 --- a/playback/playback.cpp +++ /dev/null @@ -1,560 +0,0 @@ -/*** - - Olive - Non-Linear Video Editor - Copyright (C) 2019 Olive Team - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -***/ - -#include "playback.h" - -#include "project/clip.h" -#include "project/sequence.h" -#include "project/footage.h" -#include "playback/audio.h" -#include "playback/cacher.h" -#include "panels/panels.h" -#include "panels/timeline.h" -#include "panels/viewer.h" -#include "project/effect.h" -#include "panels/effectcontrols.h" -#include "project/media.h" -#include "io/config.h" -#include "io/proxygenerator.h" -#include "debug.h" - -extern "C" { -#include -#include -#include -#include -} - -#include -#include -#include -#include -#include -#include -#include - -#ifdef QT_DEBUG -//#define GCF_DEBUG -#endif - -long refactor_frame_number(long framenumber, double source_frame_rate, double target_frame_rate) { - return qRound((double(framenumber)/source_frame_rate)*target_frame_rate); -} - -bool clip_uses_cacher(ClipPtr clip) { - return (clip->media == nullptr && clip->track >= 0) || (clip->media != nullptr && clip->media->get_type() == MEDIA_TYPE_FOOTAGE); -} - -void open_clip(ClipPtr clip, bool multithreaded) { - if (clip_uses_cacher(clip)) { - clip->multithreaded = multithreaded; - if (multithreaded) { - if (clip->open_lock.tryLock()) { - // maybe keep cacher instance in memory while clip exists for performance? - clip->cacher = new Cacher(clip); - QObject::connect(clip->cacher, SIGNAL(finished()), clip->cacher, SLOT(deleteLater())); - clip->cacher->start((clip->track < 0) ? QThread::HighPriority : QThread::TimeCriticalPriority); - } - } else { - clip->finished_opening = false; - clip->open = true; - - open_clip_worker(clip); - } - } else { - clip->open = true; - clip->finished_opening = true; - } -} - -void close_clip(ClipPtr clip, bool wait) { - // render lock prevents crashes if this function tries to delete a texture while the RenderThread is rendering it - clip->render_lock.lock(); - - clip->finished_opening = false; - - // destroy opengl texture in main thread - delete clip->texture; - clip->texture = nullptr; - - for (int i=0;ieffects.size();i++) { - if (clip->effects.at(i)->is_open()) clip->effects.at(i)->close(); - } - - if (clip->fbo != nullptr) { - // delete 3 fbos for nested sequences, 2 for most clips - int fbo_count = (clip->media != nullptr && clip->media->get_type() == MEDIA_TYPE_SEQUENCE) ? 3 : 2; - - for (int j=0;jfbo[j]; - } - - delete [] clip->fbo; - - clip->fbo = nullptr; - } - - if (clip_uses_cacher(clip)) { - if (clip->multithreaded) { - clip->cacher->caching = false; - clip->can_cache.wakeAll(); - if (wait) { - clip->open_lock.lock(); - clip->open_lock.unlock(); - } - } else { - close_clip_worker(clip); - } - } else { - if (clip->media != nullptr && clip->media->get_type() == MEDIA_TYPE_SEQUENCE) { - closeActiveClips(clip->media->to_sequence()); - } - - clip->open = false; - } - - clip->render_lock.unlock(); -} - -void cache_clip(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector& nests, int playback_speed) { - if (clip_uses_cacher(clip)) { - if (clip->multithreaded) { - clip->cacher->playhead = playhead; - clip->cacher->reset = reset; - clip->cacher->nests = nests; - clip->cacher->scrubbing = scrubbing; - clip->cacher->playback_speed = playback_speed; - clip->cacher->queued = true; - if (reset && clip->queue.size() > 0) clip->cacher->interrupt = true; - - clip->can_cache.wakeAll(); - } else { - cache_clip_worker(clip, playhead, reset, scrubbing, nests, playback_speed); - } - } -} - -double get_timecode(ClipPtr c, long playhead) { - return ((double)(playhead-c->get_timeline_in_with_transition()+c->get_clip_in_with_transition())/(double)c->sequence->frame_rate); -} - -void get_clip_frame(ClipPtr c, long playhead, bool& texture_failed) { - if (c->finished_opening) { - // gets footage media stream metadata - const FootageStream* ms = c->media->to_footage()->get_stream_from_file_index(c->track < 0, c->media_stream); - - // gets the current sequence time in terms of the media's timebase - int64_t target_pts = qMax(static_cast(0), playhead_to_timestamp(c, playhead)); - - // gets the value of one second in the media's timebase - int64_t second_pts = qRound64(av_q2d(av_inv_q(c->stream->time_base))); - - // the deinterlacing algorithm makes essentially twice as many frames and all the timestamps are doubled, - // we comply with that here as a result - if (ms->video_interlacing != VIDEO_PROGRESSIVE) { - target_pts *= 2; - second_pts *= 2; - } - - // variable to set our target frame to - AVFrame* target_frame = nullptr; - - // **TRUE** if we find the queue wildly out of the time we want and require it to reset itself - bool reset = false; - - // **TRUE** if the cacher should continue caching - bool cache = true; - - // thread safety mutex in case the cacher is adding/removing frames to the queue - c->queue_lock.lock(); - - // check if there are any frames in the queue - if (c->queue.size() > 0) { - - // for an infinite length media (e.g. a still image), we just use the first (and most likely only) frame in the - // queue - if (ms->infinite_length) { - - target_frame = c->queue.at(0); -#ifdef GCF_DEBUG - dout << "GCF ==> USE PRECISE (INFINITE)"; -#endif - - } else { - - // search for the frame with a timestamp closest (or equal) to the one we're looking for - int closest_frame = 0; - - // loop through frames finding the closest timestamp - for (int i=1;iqueue.size();i++) { - - // if the timestamp is equal, go with ths - if (c->queue.at(i)->pts == target_pts) { -#ifdef GCF_DEBUG - dout << "GCF ==> USE PRECISE"; -#endif - closest_frame = i; - break; - } else { - - // see if this frame's timestamp is at least closer than the one specified by closest_frame - if (c->queue.at(i)->pts > c->queue.at(closest_frame)->pts && c->queue.at(i)->pts < target_pts) { - closest_frame = i; - } - - } - } - - // get frame reference - target_frame = c->queue.at(closest_frame); - - // variable for storing the next frame's timestamp - int64_t next_pts = INT64_MAX; - - // data for removing unnecessary frames in the future - QVector old_frames; - int64_t minimum_ts = target_frame->pts; - if (olive::CurrentConfig.previous_queue_type == olive::FRAME_QUEUE_TYPE_SECONDS) { - if (!c->reverse) { - minimum_ts -= (second_pts*olive::CurrentConfig.previous_queue_size); - } else { - minimum_ts += (second_pts*olive::CurrentConfig.previous_queue_size); - } - } - - // scan through queue again for more information - for (int i=0;iqueue.size();i++) { - - // get the next frame in the queue time-wise - if (c->queue.at(i)->pts > target_frame->pts) { - next_pts = qMin(c->queue.at(i)->pts, next_pts); - } - - // see if this frame is earlier than the target frame, in which case we may not need it anymore - bool frame_is_earlier; - - if (!c->reverse) { - frame_is_earlier = (c->queue.at(i)->pts < minimum_ts); - } else { - frame_is_earlier = (c->queue.at(i)->pts > minimum_ts); - } - - if (c->queue.at(i) != target_frame && frame_is_earlier) { - - // if the frame queue type is seconds, we know how old this frame is and can remove it if it's too old - if (olive::CurrentConfig.previous_queue_type == olive::FRAME_QUEUE_TYPE_SECONDS) { - av_frame_free(&c->queue[i]); - c->queue.removeAt(i); - i--; - } else { - // if the frame queue is frames, the minimum timestamp is just the target frame's timestamp and we can - // keep a record of how many there are (removing them based on the maximum amount of previous queue - // frames) - // - // we also insertion sort the frames by the timestamp to ease the removal of them later - bool found = false; - for (int j=0;jqueue.at(old_frames.at(j))->pts > c->queue.at(i)->pts) { - old_frames.insert(j, i); - found = true; - break; - } - } - if (!found) { - old_frames.append(i); - } - } - } - } - - // if "previous queue" config is set to frames, we delete frames here that exceed the maximum - // previous queue size - if (olive::CurrentConfig.previous_queue_type == olive::FRAME_QUEUE_TYPE_FRAMES) { - while (old_frames.size() > qCeil(olive::CurrentConfig.previous_queue_size)) { - if (c->reverse) { - av_frame_free(&c->queue[old_frames.last()]); - c->queue.removeAt(old_frames.last()); - old_frames.removeLast(); - } else { - av_frame_free(&c->queue[old_frames.first()]); - c->queue.removeAt(old_frames.first()); - old_frames.removeFirst(); - } - } - } - - // if we couldn't find a next frame, we make an educated guess for the next frame's timestamp - if (next_pts == INT64_MAX) { - next_pts = target_frame->pts + target_frame->pkt_duration; - } - - // check the frame we got is an exact timestamp or not - if (target_frame->pts != target_pts) { - - // it's very possible that the timestamp is correct, but not "exact" due to rounding issues or differences - // between the source media and sequence. we check here for - if (target_pts > target_frame->pts && target_pts <= next_pts) { -#ifdef GCF_DEBUG - dout << "GCF ==> USE IMPRECISE"; -#endif - } else { - - // - // if we're here, it's mostly likely we do NOT have the correct frame - // - - // get the absolute different between the frame we wanted and the frame we got - int64_t pts_diff = qAbs(target_pts - target_frame->pts); - - // if the cacher thread read the last frame of the video (c->reached_end), there's no point in waiting for - // the next one so we'll just use the one we got - if (c->reached_end && target_pts > target_frame->pts) { -#ifdef GCF_DEBUG - dout << "GCF ==> EOF TOLERANT"; -#endif - c->reached_end = false; - cache = false; - } else if (target_pts != c->last_invalid_ts && (target_pts < target_frame->pts || pts_diff > second_pts)) { - - // if the timestamp is wildly different, we'll need to trigger a seek to somewhere else and reset the - // cache -#ifdef GCF_DEBUG - dout << "GCF ==> RESET" << target_pts << "(" << target_frame->pts << "-" << target_frame->pts+target_frame->pkt_duration << ")"; -#endif - if (!olive::CurrentConfig.fast_seeking) target_frame = nullptr; - reset = true; - c->last_invalid_ts = target_pts; - } else { - - // if we're here, we assume the frame we want is coming but hasn't arrived yet, and a reset would just - // cause further complication -#ifdef GCF_DEBUG - dout << "GCF ==> WAIT - target pts:" << target_pts << "closest frame:" << target_frame->pts; -#endif - if (c->queue.size() >= c->max_queue_size) c->queue_remove_earliest(); - c->ignore_reverse = true; - target_frame = nullptr; - } - } - } - } - } else { - reset = true; - } - - if (target_frame == nullptr || reset) { - // reset cache - texture_failed = true; - qInfo() << "Frame queue couldn't keep up - either the user seeked or the system is overloaded (queue size:" << c->queue.size() << ")"; - } - - if (target_frame != nullptr) { - int nb_components = av_pix_fmt_desc_get(static_cast(c->pix_fmt))->nb_components; - glPixelStorei(GL_UNPACK_ROW_LENGTH, target_frame->linesize[0]/nb_components); - - // 2 data buffers to ping-pong between - bool using_db_1 = true; - uint8_t* data_buffer_1 = target_frame->data[0]; - uint8_t* data_buffer_2 = nullptr; - - size_t frame_size = size_t(target_frame->linesize[0])*size_t(target_frame->height); - - // if proxy is currently being generated, show an on-screen message of its progress - if (c->media->to_footage()->proxy - && c->media->to_footage()->proxy_path.isEmpty()) { - // create buffers to draw on - data_buffer_1 = new uint8_t[frame_size]; - data_buffer_2 = new uint8_t[frame_size]; - - memcpy(data_buffer_1, target_frame->data[0], frame_size); - - // wrap data in a QImage for painting - QImage img(data_buffer_1, target_frame->width, target_frame->height, QImage::Format_RGBA8888); - - // create QPainter process - QPainter p(&img); - - // set font color to white - p.setPen(Qt::white); - - // set font size relative to frame size (divided by 12) - QFont overlay_font = p.font(); - overlay_font.setPixelSize(target_frame->height/12); - p.setFont(overlay_font); - - // generate overlay text - QString proxy_overlay_text = QCoreApplication::translate("Playback", "Generating Proxy: %1%").arg(proxy_generator.get_proxy_progress(c->media->to_footage())); - - int text_height = p.fontMetrics().descent() + p.fontMetrics().height(); - - // draw semi-transparent black background - p.fillRect(QRect(0, - target_frame->height-text_height, - p.fontMetrics().width(proxy_overlay_text), - text_height), - QColor(0, 0, 0, 128) - ); - - - // draw text - p.drawText(0, - target_frame->height-p.fontMetrics().descent(), - proxy_overlay_text); - } - - for (int i=0;ieffects.size();i++) { - EffectPtr e = c->effects.at(i); - if (e->enable_image && e->is_enabled()) { - if (data_buffer_1 == target_frame->data[0]) { - data_buffer_1 = new uint8_t[frame_size]; - data_buffer_2 = new uint8_t[frame_size]; - - memcpy(data_buffer_1, target_frame->data[0], frame_size); - } - e->process_image(get_timecode(c, playhead), - using_db_1 ? data_buffer_1 : data_buffer_2, - using_db_1 ? data_buffer_2 : data_buffer_1, - frame_size - ); - using_db_1 = !using_db_1; - } - } - - c->texture->setData(QOpenGLTexture::RGBA, QOpenGLTexture::UInt8, const_cast(using_db_1 ? data_buffer_1 : data_buffer_2)); - - if (data_buffer_1 != target_frame->data[0]) { - delete [] data_buffer_1; - delete [] data_buffer_2; - } - - glPixelStorei(GL_UNPACK_ROW_LENGTH, 0); - } - - c->queue_lock.unlock(); - - // get more frames - QVector empty; - if (cache) cache_clip(c, playhead, reset, false, empty, false); - } -} - -long playhead_to_clip_frame(ClipPtr c, long playhead) { - return (qMax(0L, playhead - c->get_timeline_in_with_transition()) + c->get_clip_in_with_transition()); -} - -double playhead_to_clip_seconds(ClipPtr c, long playhead) { - // returns time in seconds - long clip_frame = playhead_to_clip_frame(c, playhead); - if (c->reverse) clip_frame = c->getMaximumLength() - clip_frame - 1; - double secs = ((double) clip_frame/c->sequence->frame_rate)*c->speed; - if (c->media != nullptr && c->media->get_type() == MEDIA_TYPE_FOOTAGE) secs *= c->media->to_footage()->speed; - return secs; -} - -int64_t seconds_to_timestamp(ClipPtr c, double seconds) { - return qRound64(seconds * av_q2d(av_inv_q(c->stream->time_base))) + qMax((int64_t) 0, c->stream->start_time); -} - -int64_t playhead_to_timestamp(ClipPtr c, long playhead) { - return seconds_to_timestamp(c, playhead_to_clip_seconds(c, playhead)); -} - -int retrieve_next_frame(ClipPtr c, AVFrame* f) { - int result = 0; - int receive_ret; - - // do we need to retrieve a new packet for a new frame? - av_frame_unref(f); - while ((receive_ret = avcodec_receive_frame(c->codecCtx, f)) == AVERROR(EAGAIN)) { - int read_ret = 0; - do { - if (c->pkt_written) { - av_packet_unref(c->pkt); - c->pkt_written = false; - } - read_ret = av_read_frame(c->formatCtx, c->pkt); - if (read_ret >= 0) { - c->pkt_written = true; - } - } while (read_ret >= 0 && c->pkt->stream_index != c->media_stream); - - if (read_ret >= 0) { - int send_ret = avcodec_send_packet(c->codecCtx, c->pkt); - if (send_ret < 0) { - qCritical() << "Failed to send packet to decoder." << send_ret; - return send_ret; - } - } else { - if (read_ret == AVERROR_EOF) { - int send_ret = avcodec_send_packet(c->codecCtx, nullptr); - if (send_ret < 0) { - qCritical() << "Failed to send packet to decoder." << send_ret; - return send_ret; - } - } else { - qCritical() << "Could not read frame." << read_ret; - return read_ret; // skips trying to find a frame at all - } - } - } - if (receive_ret < 0) { - if (receive_ret != AVERROR_EOF) qCritical() << "Failed to receive packet from decoder." << receive_ret; - result = receive_ret; - } - - return result; -} - -bool is_clip_active(ClipPtr c, long playhead) { - // these buffers allow clips to be opened and prepared well before they're displayed - // as well as closed a little after they're not needed anymore - int open_buffer = qCeil(c->sequence->frame_rate*2); - int close_buffer = qCeil(c->sequence->frame_rate); - - - return c->enabled - && c->get_timeline_in_with_transition() < playhead + open_buffer - && c->get_timeline_out_with_transition() > playhead - close_buffer - && playhead - c->get_timeline_in_with_transition() + c->get_clip_in_with_transition() < c->getMaximumLength(); -} - -void set_sequence(SequencePtr s) { - panel_effect_controls->clear_effects(true); - olive::ActiveSequence = s; - panel_sequence_viewer->set_main_sequence(); - panel_timeline->update_sequence(); - panel_timeline->setFocus(); -} - -void closeActiveClips(SequencePtr s) { - if (s != nullptr) { - for (int i=0;iclips.size();i++) { - ClipPtr c = s->clips.at(i); - if (c != nullptr) { - if (c->media != nullptr && c->media->get_type() == MEDIA_TYPE_SEQUENCE) { - closeActiveClips(c->media->to_sequence()); - if (c->finished_opening) close_clip(c, true); - } else if (c->finished_opening) { - close_clip(c, true); - } - } - } - } -} diff --git a/playback/playback.h b/playback/playback.h deleted file mode 100644 index ab460e00c..000000000 --- a/playback/playback.h +++ /dev/null @@ -1,55 +0,0 @@ -/*** - - Olive - Non-Linear Video Editor - Copyright (C) 2019 Olive Team - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -***/ - -#ifndef PLAYBACK_H -#define PLAYBACK_H - -#include -#include - -#include "project/clip.h" -#include "project/sequence.h" - -extern "C" { - #include -} - -long refactor_frame_number(long framenumber, double source_frame_rate, double target_frame_rate); -bool clip_uses_cacher(ClipPtr clip); -void open_clip(ClipPtr clip, bool multithreaded); -void cache_clip(ClipPtr clip, long playhead, bool reset, bool scrubbing, QVector &nests, int playback_speed); -void close_clip(ClipPtr clip, bool wait); -void handle_media(SequencePtr sequence, long playhead, bool multithreaded); -void reset_cache(ClipPtr c, long target_frame, int playback_speed); -void get_clip_frame(ClipPtr c, long playhead, bool &texture_failed); -double get_timecode(ClipPtr c, long playhead); - -long playhead_to_clip_frame(ClipPtr c, long playhead); -double playhead_to_clip_seconds(ClipPtr c, long playhead); -int64_t seconds_to_timestamp(ClipPtr c, double seconds); -int64_t playhead_to_timestamp(ClipPtr c, long playhead); - -int retrieve_next_frame(ClipPtr c, AVFrame* f); -bool is_clip_active(ClipPtr c, long playhead); -void get_next_audio(ClipPtr c, bool mix); -void set_sequence(SequencePtr s); -void closeActiveClips(SequencePtr s); - -#endif // PLAYBACK_H diff --git a/project/clip.cpp b/project/clip.cpp index b51ccefcd..fcd00860f 100644 --- a/project/clip.cpp +++ b/project/clip.cpp @@ -20,12 +20,14 @@ #include "clip.h" +#include + #include "project/effect.h" #include "project/transition.h" #include "project/footage.h" #include "io/config.h" -#include "playback/playback.h" -#include "playback/cacher.h" +#include "rendering/cacher.h" +#include "rendering/renderfunctions.h" #include "panels/project.h" #include "project/sequence.h" #include "panels/timeline.h" @@ -34,86 +36,133 @@ #include "undo.h" #include "debug.h" +const int kRGBAComponentCount = 4; + Clip::Clip(SequencePtr s) : sequence(s), - enabled(true), - clip_in(0), - timeline_in(0), - timeline_out(0), - track(0), - media(nullptr), - speed(1.0), - reverse(false), - maintain_audio_pitch(false), - autoscale(olive::CurrentConfig.autoscale_by_default), - opening_transition(nullptr), - closing_transition(nullptr), - undeletable(false), - replaced(false), - ignore_reverse(false), - use_existing_frame(false), - filter_graph(nullptr), - fbo(nullptr), - opts(nullptr) + cacher(ClipPtr(this)) { - pkt = av_packet_alloc(); + enabled_ = true; + clip_in_ = 0; + timeline_in_ = 0; + timeline_out_ = 0; + track_ = 0; + media_ = nullptr; + speed_.value = 1.0; + speed_.maintain_audio_pitch = false; + reverse_ = false; + autoscale_ = olive::CurrentConfig.autoscale_by_default; + opening_transition = nullptr; + closing_transition = nullptr; + undeletable = false; + replaced = false; + fbo = nullptr; + open_ = false; + reset(); } ClipPtr Clip::copy(SequencePtr s) { ClipPtr copy(new Clip(s)); - copy->enabled = enabled; - copy->name = QString(name); - copy->clip_in = clip_in; - copy->timeline_in = timeline_in; - copy->timeline_out = timeline_out; - copy->track = track; - copy->color_r = color_r; - copy->color_g = color_g; - copy->color_b = color_b; - copy->media = media; - copy->media_stream = media_stream; - copy->autoscale = autoscale; - copy->speed = speed; - copy->maintain_audio_pitch = maintain_audio_pitch; - copy->reverse = reverse; + copy->set_enabled(enabled()); + copy->set_name(name()); + copy->set_clip_in(clip_in()); + copy->set_timeline_in(timeline_in()); + copy->set_timeline_out(timeline_out()); + copy->set_track(track()); + copy->set_color(color()); + copy->set_media(media(), media_stream_index()); + copy->set_autoscaled(autoscaled()); + copy->set_speed(speed()); + copy->set_reversed(reversed()); for (int i=0;ieffects.append(effects.at(i)->copy(copy)); } - copy->cached_fr = (this->sequence == nullptr) ? cached_fr : this->sequence->frame_rate; + copy->set_cached_frame_rate((this->sequence == nullptr) ? cached_frame_rate() : this->sequence->frame_rate); - copy->recalculateMaxLength(); + copy->refresh(); return copy; } +bool Clip::IsActiveAt(long timecode) +{ + // these buffers allow clips to be opened and prepared well before they're displayed + // as well as closed a little after they're not needed anymore + int open_buffer = qCeil(this->sequence->frame_rate*2); + int close_buffer = qCeil(this->sequence->frame_rate); + + + return enabled() + && timeline_in(true) < timecode + open_buffer + && timeline_out(true) > timecode - close_buffer + && timecode - timeline_in(true) + clip_in(true) < media_length(); +} + +const QColor &Clip::color() +{ + return color_; +} + +void Clip::set_color(int r, int g, int b) +{ + color_.setRed(r); + color_.setGreen(g); + color_.setBlue(b); +} + +void Clip::set_color(const QColor &c) +{ + color_ = c; +} + +Media *Clip::media() +{ + return media_; +} + +FootageStream *Clip::media_stream() +{ + if (media()->get_type() == MEDIA_TYPE_FOOTAGE) { + return media()->to_footage()->get_stream_from_file_index(track() < 0, media_stream_index()); + } + return nullptr; +} + +int Clip::media_stream_index() +{ + return media_stream_; +} + +void Clip::set_media(Media *m, int s) +{ + media_ = m; + media_stream_ = s; +} + +bool Clip::enabled() +{ + return enabled_; +} + +void Clip::set_enabled(bool e) +{ + enabled_ = e; +} + void Clip::reset() { - audio_just_reset = false; - open = false; - finished_opening = false; - pkt_written = false; - audio_reset = false; - frame_sample_index = -1; - audio_buffer_write = false; - texture_frame = -1; - formatCtx = nullptr; - stream = nullptr; - codec = nullptr; - codecCtx = nullptr; texture = nullptr; - last_invalid_ts = -1; } void Clip::reset_audio() { - if (media == nullptr || media->get_type() == MEDIA_TYPE_FOOTAGE) { - audio_reset = true; - frame_sample_index = -1; - audio_buffer_write = 0; - } else if (media->get_type() == MEDIA_TYPE_SEQUENCE) { - SequencePtr nested_sequence = media->to_sequence(); + if (UsesCacher()) { + cacher.ResetAudio(); + } + if (media() != nullptr && media()->get_type() == MEDIA_TYPE_SEQUENCE) { + SequencePtr nested_sequence = media()->to_sequence(); for (int i=0;iclips.size();i++) { ClipPtr c = nested_sequence->clips.at(i); if (c != nullptr) c->reset_audio(); @@ -123,13 +172,13 @@ void Clip::reset_audio() { void Clip::refresh() { // validates media if it was replaced - if (replaced && media != nullptr && media->get_type() == MEDIA_TYPE_FOOTAGE) { - FootagePtr m = media->to_footage(); + if (replaced && media() != nullptr && media()->get_type() == MEDIA_TYPE_FOOTAGE) { + FootagePtr m = media()->to_footage(); - if (track < 0 && m->video_tracks.size() > 0) { - media_stream = m->video_tracks.at(0).file_index; - } else if (track >= 0 && m->audio_tracks.size() > 0) { - media_stream = m->audio_tracks.at(0).file_index; + if (track() < 0 && m->video_tracks.size() > 0) { + set_media(media(), m->video_tracks.at(0).file_index); + } else if (track() >= 0 && m->audio_tracks.size() > 0) { + set_media(media(), m->audio_tracks.at(0).file_index); } } replaced = false; @@ -138,153 +187,206 @@ void Clip::refresh() { for (int i=0;irefresh(); } - - recalculateMaxLength(); -} - -void Clip::queue_clear() { - while (queue.size() > 0) { - av_frame_free(&queue.first()); - queue.removeFirst(); - } -} - -void Clip::queue_remove_earliest() { - int earliest_frame = 0; - for (int i=1;ipts < queue.at(earliest_frame)->pts) { - earliest_frame = i; - } - } - av_frame_free(&queue[earliest_frame]); - queue.removeAt(earliest_frame); } QVector &Clip::get_markers() { - if (media != nullptr) { - return media->get_markers(); + if (media() != nullptr) { + return media()->get_markers(); } return markers; } Clip::~Clip() { - if (open) { - close_clip(ClipPtr(this), true); + if (IsOpen()) { + Close(true); } effects.clear(); - av_packet_free(&pkt); } -long Clip::get_clip_in_with_transition() { - if (opening_transition != nullptr && opening_transition->secondary_clip != nullptr) { +long Clip::clip_in(bool with_transition) { + if (with_transition && opening_transition != nullptr && opening_transition->secondary_clip != nullptr) { // we must be the secondary clip, so return (timeline in - length) - return clip_in - opening_transition->get_true_length(); + return clip_in_ - opening_transition->get_true_length(); } - return clip_in; + return clip_in_; } -long Clip::get_timeline_in_with_transition() { - if (opening_transition != nullptr && opening_transition->secondary_clip != nullptr) { +void Clip::set_clip_in(long c) +{ + clip_in_ = c; +} + +long Clip::timeline_in(bool with_transition) { + if (with_transition && opening_transition != nullptr && opening_transition->secondary_clip != nullptr) { // we must be the secondary clip, so return (timeline in - length) - return timeline_in - opening_transition->get_true_length(); + return timeline_in_ - opening_transition->get_true_length(); } - return timeline_in; + return timeline_in_; } -long Clip::get_timeline_out_with_transition() { - if (closing_transition != nullptr && closing_transition->secondary_clip != nullptr) { +void Clip::set_timeline_in(long t) +{ + timeline_in_ = t; +} + +long Clip::timeline_out(bool with_transitions) { + if (with_transitions && closing_transition != nullptr && closing_transition->secondary_clip != nullptr) { // we must be the primary clip, so return (timeline out + length2) - return timeline_out + closing_transition->get_true_length(); + return timeline_out_ + closing_transition->get_true_length(); } else { - return timeline_out; + return timeline_out_; } } +void Clip::set_timeline_out(long t) +{ + timeline_out_ = t; +} + +bool Clip::reversed() +{ + return reverse_; +} + +void Clip::set_reversed(bool r) +{ + reverse_ = r; +} + +bool Clip::autoscaled() +{ + return autoscale_; +} + +void Clip::set_autoscaled(bool b) +{ + autoscale_ = b; +} + +double Clip::cached_frame_rate() +{ + return cached_fr_; +} + +void Clip::set_cached_frame_rate(double d) +{ + cached_fr_ = d; +} + +const QString &Clip::name() +{ + return name_; +} + +void Clip::set_name(const QString &s) +{ + name_ = s; +} + +const ClipSpeed& Clip::speed() +{ + return speed_; +} + +void Clip::set_speed(const ClipSpeed& d) +{ + speed_ = d; +} + +AVRational Clip::time_base() +{ + return cacher.media_time_base(); +} + +int Clip::track() +{ + return track_; +} + +void Clip::set_track(int t) +{ + track_ = t; +} + // timeline functions -long Clip::getLength() { - return timeline_out - timeline_in; +long Clip::length() { + return timeline_out_ - timeline_in_; } -double Clip::getMediaFrameRate() { - Q_ASSERT(track < 0); - if (media != nullptr) { - double rate = media->get_frame_rate(media_stream); +double Clip::media_frame_rate() { + Q_ASSERT(track_ < 0); + if (media_ != nullptr) { + double rate = media_->get_frame_rate(media_stream_index()); if (!qIsNaN(rate)) return rate; } if (sequence != nullptr) return sequence->frame_rate; return qSNaN(); } -void Clip::recalculateMaxLength() { +long Clip::media_length() { if (this->sequence != nullptr) { double fr = this->sequence->frame_rate; - fr /= speed; + fr /= speed_.value; - calculated_length = LONG_MAX; - - if (media != nullptr) { - switch (media->get_type()) { + if (media_ == nullptr) { + return LONG_MAX; + } else { + switch (media_->get_type()) { case MEDIA_TYPE_FOOTAGE: { - FootagePtr m = media->to_footage(); - const FootageStream* ms = m->get_stream_from_file_index(track < 0, media_stream); + FootagePtr m = media_->to_footage(); + const FootageStream* ms = m->get_stream_from_file_index(track_ < 0, media_stream_index()); if (ms != nullptr && ms->infinite_length) { - calculated_length = LONG_MAX; + return LONG_MAX; } else { - calculated_length = m->get_length_in_frames(fr); + return m->get_length_in_frames(fr); } } - break; case MEDIA_TYPE_SEQUENCE: { - SequencePtr s = media->to_sequence(); - calculated_length = refactor_frame_number(s->getEndFrame(), s->frame_rate, fr); + SequencePtr s = media_->to_sequence(); + return rescale_frame_number(s->getEndFrame(), s->frame_rate, fr); } - break; } } } + return 0; } -long Clip::getMaximumLength() { - return calculated_length; -} - -int Clip::getWidth() { - if (media == nullptr && sequence != nullptr) return sequence->width; - switch (media->get_type()) { +int Clip::media_width() { + if (media_ == nullptr && sequence != nullptr) return sequence->width; + switch (media_->get_type()) { case MEDIA_TYPE_FOOTAGE: { - const FootageStream* ms = media->to_footage()->get_stream_from_file_index(track < 0, media_stream); + const FootageStream* ms = media_stream(); if (ms != nullptr) return ms->video_width; if (sequence != nullptr) return sequence->width; break; } case MEDIA_TYPE_SEQUENCE: { - SequencePtr s = media->to_sequence(); + SequencePtr s = media_->to_sequence(); return s->width; - break; } } return 0; } -int Clip::getHeight() { - if (media == nullptr && sequence != nullptr) return sequence->height; - switch (media->get_type()) { +int Clip::media_height() { + if (media_ == nullptr && sequence != nullptr) return sequence->height; + switch (media_->get_type()) { case MEDIA_TYPE_FOOTAGE: { - const FootageStream* ms = media->to_footage()->get_stream_from_file_index(track < 0, media_stream); + const FootageStream* ms = media_stream(); if (ms != nullptr) return ms->video_height; if (sequence != nullptr) return sequence->height; } + break; case MEDIA_TYPE_SEQUENCE: { - SequencePtr s = media->to_sequence(); + SequencePtr s = media_->to_sequence(); return s->height; } } @@ -294,10 +396,10 @@ int Clip::getHeight() { void Clip::refactor_frame_rate(ComboAction* ca, double multiplier, bool change_timeline_points) { if (change_timeline_points) { move_clip(ca, ClipPtr(this), - qRound((double) timeline_in * multiplier), - qRound((double) timeline_out * multiplier), - qRound((double) clip_in * multiplier), - track); + qRound(double(timeline_in_) * multiplier), + qRound(double(timeline_out_) * multiplier), + qRound(double(clip_in_) * multiplier), + track_); } // move keyframes @@ -308,9 +410,174 @@ void Clip::refactor_frame_rate(ComboAction* ca, double multiplier, bool change_t for (int l=0;lfieldCount();l++) { EffectField* f = r->field(l); for (int k=0;kkeyframes.size();k++) { - ca->append(new SetLong(&f->keyframes[k].time, f->keyframes[k].time, f->keyframes[k].time * multiplier)); + ca->append(new SetLong(&f->keyframes[k].time, f->keyframes[k].time, qRound(f->keyframes[k].time * multiplier))); } } } } } + +void Clip::Open() { + if (!open_ && state_change_lock.tryLock()) { + open_ = true; + + for (int i=0;iopen(); + } + + // reset variable used to optimize uploading frame data + texture_frame = -1; + + if (UsesCacher()) { + // cacher will unlock open_lock + cacher.Open(); + } else { + // this media doesn't use a cacher, so we unlock here + state_change_lock.unlock(); + } + } +} + +void Clip::Close(bool wait) { + // thread safety, prevents Close() running from two separate threads simultaneously + if (open_ && state_change_lock.tryLock()) { + open_ = false; + + if (media() != nullptr && media()->get_type() == MEDIA_TYPE_SEQUENCE) { + close_active_clips(media()->to_sequence()); + } + + // destroy opengl texture in main thread + delete texture; + texture = nullptr; + + // close all effects + for (int i=0;iis_open()) { + effects.at(i)->close(); + } + } + + // delete framebuffers + if (fbo != nullptr) { + // delete 3 fbos for nested sequences, 2 for most clips + int fbo_count = (media() != nullptr && media()->get_type() == MEDIA_TYPE_SEQUENCE) ? 3 : 2; + + for (int j=0;j& nests, int playback_speed) { +// qint64 time = QDateTime::currentMSecsSinceEpoch(); + + cacher.Cache(playhead, scrubbing, nests, playback_speed); + cacher_frame = playhead; + +// qDebug() << "Clip::Cache took" << (QDateTime::currentMSecsSinceEpoch() - time); +} + +bool Clip::Retrieve() +{ + bool ret = false; + + if (UsesCacher()) { + +// qint64 time = QDateTime::currentMSecsSinceEpoch(); + + AVFrame* frame = cacher.Retrieve(); + + cacher.QueueLock(); + + if (frame != nullptr) { + + // check if the opengl texture exists yet, create it if not + if (texture == nullptr) { + texture = new QOpenGLTexture(QOpenGLTexture::Target2D); + + // the raw frame size may differ from the one we're using (e.g. a lower resolution proxy), so we make sure + // the texture is using the correct dimensions, but then treat it as if it's the original resolution in the + // composition + texture->setSize(cacher.media_width(), cacher.media_height()); + + texture->setFormat(QOpenGLTexture::RGBA8_UNorm); + texture->setMipLevels(texture->maximumMipLevels()); + texture->setMinMagFilters(QOpenGLTexture::Linear, QOpenGLTexture::Linear); + texture->allocateStorage(QOpenGLTexture::RGBA, QOpenGLTexture::UInt8); + } + + glPixelStorei(GL_UNPACK_ROW_LENGTH, frame->linesize[0]/kRGBAComponentCount); + + // 2 data buffers to ping-pong between + bool using_db_1 = true; + uint8_t* data_buffer_1 = frame->data[0]; + uint8_t* data_buffer_2 = nullptr; + + int frame_size = frame->linesize[0]*frame->height; + + for (int i=0;ienable_image && e->is_enabled()) { + if (data_buffer_1 == frame->data[0]) { + data_buffer_1 = new uint8_t[frame_size]; + data_buffer_2 = new uint8_t[frame_size]; + + memcpy(data_buffer_1, frame->data[0], frame_size); + } + + e->process_image(get_timecode(ClipPtr(this), cacher_frame), + using_db_1 ? data_buffer_1 : data_buffer_2, + using_db_1 ? data_buffer_2 : data_buffer_1, + frame_size + ); + + using_db_1 = !using_db_1; + } + } + + texture->setData(QOpenGLTexture::RGBA, + QOpenGLTexture::UInt8, + const_cast(using_db_1 ? data_buffer_1 : data_buffer_2)); + + if (data_buffer_1 != frame->data[0]) { + qDebug() << data_buffer_1 << frame->data[0]; + delete [] data_buffer_1; + delete [] data_buffer_2; + } + + glPixelStorei(GL_UNPACK_ROW_LENGTH, 0); + +// qDebug() << "Clip::Retrieve took" << (QDateTime::currentMSecsSinceEpoch() - time); + + ret = true; + } else { + qCritical() << "Failed to retrieve frame for clip" << name(); + } + + cacher.QueueUnlock(); + } + + return ret; +} + +bool Clip::UsesCacher() +{ + return track() >= 0 || (media() != nullptr && media()->get_type() == MEDIA_TYPE_FOOTAGE); +} diff --git a/project/clip.h b/project/clip.h index e89f018f4..ac7a0038a 100644 --- a/project/clip.h +++ b/project/clip.h @@ -28,7 +28,7 @@ #include #include -#include "playback/cacher.h" +#include "rendering/cacher.h" #include "project/effect.h" #include "project/transition.h" @@ -43,6 +43,11 @@ extern "C" { #include } +struct ClipSpeed { + double value; + bool maintain_audio_pitch; +}; + using ClipPtr = std::shared_ptr; class Sequence; @@ -53,43 +58,63 @@ public: Clip(SequencePtr s); ~Clip(); ClipPtr copy(SequencePtr s); + + bool IsActiveAt(long timecode); + + const QColor& color(); + void set_color(int r, int g, int b); + void set_color(const QColor& c); + + Media* media(); + FootageStream* media_stream(); + int media_stream_index(); + int media_width(); + int media_height(); + double media_frame_rate(); + long media_length(); + void set_media(Media* m, int s); + + bool enabled(); + void set_enabled(bool e); + + long clip_in(bool with_transition = false); + void set_clip_in(long c); + + long timeline_in(bool with_transition = false); + void set_timeline_in(long t); + + long timeline_out(bool with_transition = false); + void set_timeline_out(long t); + + int track(); + void set_track(int t); + + bool reversed(); + void set_reversed(bool r); + + bool autoscaled(); + void set_autoscaled(bool b); + + double cached_frame_rate(); + void set_cached_frame_rate(double d); + + const QString& name(); + void set_name(const QString& s); + + const ClipSpeed& speed(); + void set_speed(const ClipSpeed& s); + + AVRational time_base(); + void reset_audio(); void reset(); void refresh(); - long get_clip_in_with_transition(); - long get_timeline_in_with_transition(); - long get_timeline_out_with_transition(); - long getLength(); - double getMediaFrameRate(); - long getMaximumLength(); - void recalculateMaxLength(); - int getWidth(); - int getHeight(); + + long length(); + void refactor_frame_rate(ComboAction* ca, double multiplier, bool change_timeline_points); SequencePtr sequence; - // queue functions - void queue_clear(); - void queue_remove_earliest(); - - // timeline variables (should be copied in copy()) - bool enabled; - long clip_in; - long timeline_in; - long timeline_out; - int track; - QString name; - quint8 color_r; - quint8 color_g; - quint8 color_b; - Media* media; - int media_stream; - double speed; - double cached_fr; - bool reverse; - bool maintain_audio_pitch; - bool autoscale; - // markers QVector& get_markers(); @@ -99,58 +124,50 @@ public: TransitionPtr opening_transition; TransitionPtr closing_transition; - // media handling - AVFormatContext* formatCtx; - AVStream* stream; - AVCodec* codec; - AVCodecContext* codecCtx; - AVPacket* pkt; - AVFrame* frame; - AVDictionary* opts; - long calculated_length; + // playback functions + void Open(); + void Cache(long playhead, bool scrubbing, QVector &nests, int playback_speed); + bool Retrieve(); + void Close(bool wait); + bool IsOpen(); + + bool UsesCacher(); // temporary variables int load_id; bool undeletable; - bool reached_end; - bool pkt_written; - bool open; - bool finished_opening; bool replaced; - bool ignore_reverse; - int pix_fmt; // caching functions - bool use_existing_frame; - bool multithreaded; - Cacher* cacher; - QWaitCondition can_cache; - QVector queue; - QMutex queue_lock; - QMutex render_lock; - QMutex lock; - QMutex open_lock; - int64_t last_invalid_ts; - - // converters/filters - AVFilterGraph* filter_graph; - AVFilterContext* buffersink_ctx; - AVFilterContext* buffersrc_ctx; + QMutex state_change_lock; + QMutex cache_lock; // video playback variables QOpenGLFramebufferObject** fbo; QOpenGLTexture* texture; long texture_frame; - // audio playback variables - int64_t reverse_target; - int frame_sample_index; - qint64 audio_buffer_write; - bool audio_reset; - bool audio_just_reset; - long audio_target_frame; private: + // timeline variables (should be copied in copy()) + bool enabled_; + long clip_in_; + long timeline_in_; + long timeline_out_; + int track_; + QString name_; + Media* media_; + int media_stream_; + ClipSpeed speed_; + double cached_fr_; + bool reverse_; + bool autoscale_; + + Cacher cacher; + long cacher_frame; + QVector markers; + QColor color_; + bool open_; }; #endif // CLIP_H diff --git a/project/effect.cpp b/project/effect.cpp index aa85b95af..9f565fca8 100644 --- a/project/effect.cpp +++ b/project/effect.cpp @@ -862,7 +862,7 @@ EffectPtr Effect::copy(ClipPtr c) { } void Effect::process_shader(double timecode, GLTextureCoords&, int iteration) { - glslProgram->setUniformValue("resolution", parent_clip->getWidth(), parent_clip->getHeight()); + glslProgram->setUniformValue("resolution", parent_clip->media_width(), parent_clip->media_height()); glslProgram->setUniformValue("time", GLfloat(timecode)); glslProgram->setUniformValue("iteration", iteration); @@ -904,8 +904,8 @@ GLuint Effect::process_superimpose(double timecode) { bool dimensions_changed = false; bool redrew_image = false; - int width = parent_clip->getWidth(); - int height = parent_clip->getHeight(); + int width = parent_clip->media_width(); + int height = parent_clip->media_height(); if (width != img.width() || height != img.height()) { img = QImage(width, height, QImage::Format_RGBA8888_Premultiplied); @@ -1003,8 +1003,8 @@ void Effect::redraw(double) { painter_wrapper.painter = &p; jsEngine.globalObject().setProperty("painter", wrapper_obj); - jsEngine.globalObject().setProperty("width", parent_clip->getWidth()); - jsEngine.globalObject().setProperty("height", parent_clip->getHeight()); + jsEngine.globalObject().setProperty("width", parent_clip->media_width()); + jsEngine.globalObject().setProperty("height", parent_clip->media_height()); for (int i=0;ikeyframes.size();j++) { - long comp = f->keyframes.at(j).time - c->clip_in + c->timeline_in; + long comp = f->keyframes.at(j).time - c->clip_in() + c->timeline_in(); if (comp < olive::ActiveSequence->playhead) { key = qMax(comp, key); } @@ -136,7 +136,7 @@ void EffectRow::toggle_key() { for (int j=0;jkeyframes.size();i++) { - long comp = c->timeline_in - c->clip_in + f->keyframes.at(i).time; + long comp = c->timeline_in() - c->clip_in() + f->keyframes.at(i).time; if (comp == olive::ActiveSequence->playhead) { key_fields.append(f); key_field_index.append(i); @@ -163,7 +163,7 @@ void EffectRow::goto_next_key() { for (int i=0;ikeyframes.size();j++) { - long comp = f->keyframes.at(j).time - c->clip_in + c->timeline_in; + long comp = f->keyframes.at(j).time - c->clip_in() + c->timeline_in(); if (comp > olive::ActiveSequence->playhead) { key = qMin(comp, key); } @@ -194,7 +194,9 @@ void EffectRow::add_widget(QWidget* w) { } void EffectRow::set_keyframe_now(ComboAction* ca) { - long time = olive::ActiveSequence->playhead-parent_effect->parent_clip->timeline_in+parent_effect->parent_clip->clip_in; + long time = olive::ActiveSequence->playhead + - parent_effect->parent_clip->timeline_in() + + parent_effect->parent_clip->clip_in(); if (!just_made_unsafe_keyframe) { EffectKeyframe key; diff --git a/project/footage.cpp b/project/footage.cpp index 64eee2da5..52da3bb7d 100644 --- a/project/footage.cpp +++ b/project/footage.cpp @@ -25,10 +25,6 @@ #include #include "io/previewgenerator.h" -extern "C" { - #include -} - #include "project/clip.h" Footage::Footage() : diff --git a/project/footage.h b/project/footage.h index 3f170d302..5f158f0e0 100644 --- a/project/footage.h +++ b/project/footage.h @@ -21,6 +21,10 @@ #ifndef FOOTAGE_H #define FOOTAGE_H +extern "C" { + #include +} + #include #include #include @@ -33,9 +37,9 @@ #include "project/marker.h" enum VideoInterlacingMode { - VIDEO_PROGRESSIVE, - VIDEO_TOP_FIELD_FIRST, - VIDEO_BOTTOM_FIELD_FIRST + VIDEO_PROGRESSIVE, + VIDEO_TOP_FIELD_FIRST, + VIDEO_BOTTOM_FIELD_FIRST }; class Sequence; @@ -43,62 +47,62 @@ class Clip; class PreviewGenerator; struct FootageStream { - int file_index; - int video_width; - int video_height; - bool infinite_length; - double video_frame_rate; - int video_interlacing; - int video_auto_interlacing; - int audio_channels; - int audio_layout; - int audio_frequency; - bool enabled; + int file_index; + int video_width; + int video_height; + bool infinite_length; + double video_frame_rate; + int video_interlacing; + int video_auto_interlacing; + int audio_channels; + int audio_layout; + int audio_frequency; + bool enabled; - // preview thumbnail/waveform - bool preview_done; - QImage video_preview; - QIcon video_preview_square; - QVector audio_preview; - void make_square_thumb(); + // preview thumbnail/waveform + bool preview_done; + QImage video_preview; + QIcon video_preview_square; + QVector audio_preview; + void make_square_thumb(); }; struct Footage { - Footage(); - ~Footage(); + Footage(); + ~Footage(); - // footage metadata - QString url; - QString name; - int64_t length; - QVector video_tracks; - QVector audio_tracks; - int save_id; - bool ready; - bool invalid; - double speed; - bool alpha_is_premultiplied; + // footage metadata + QString url; + QString name; + int64_t length; + QVector video_tracks; + QVector audio_tracks; + int save_id; + bool ready; + bool invalid; + double speed; + bool alpha_is_premultiplied; - // proxy config - bool proxy; - QString proxy_path; + // proxy config + bool proxy; + QString proxy_path; - // thumbnail/waveform generation - PreviewGenerator* preview_gen; - QMutex ready_lock; + // thumbnail/waveform generation + PreviewGenerator* preview_gen; + QMutex ready_lock; - // in/out points - bool using_inout; - long in; - long out; + // in/out points + bool using_inout; + long in; + long out; - // markers - QVector markers; + // markers + QVector markers; - // functions - long get_length_in_frames(double frame_rate); - FootageStream *get_stream_from_file_index(bool video, int index); - void reset(); + // functions + long get_length_in_frames(double frame_rate); + FootageStream *get_stream_from_file_index(bool video, int index); + void reset(); }; using FootagePtr = std::shared_ptr; diff --git a/project/marker.cpp b/project/marker.cpp index ca8de8492..e3a4f9dda 100644 --- a/project/marker.cpp +++ b/project/marker.cpp @@ -80,7 +80,7 @@ void set_marker_internal(SequencePtr seq, const QVector& clips) { foreach (int i, clips) { ClipPtr c = seq->clips.at(i); ca->append(new AddMarkerAction(&c->get_markers(), - seq->playhead - c->timeline_in + c->clip_in, + seq->playhead - c->timeline_in() + c->clip_in(), marker_name)); } diff --git a/project/media.cpp b/project/media.cpp index 2f006d68a..6595f858f 100644 --- a/project/media.cpp +++ b/project/media.cpp @@ -34,332 +34,332 @@ #include "debug.h" extern "C" { - #include - #include +#include +#include } QString get_interlacing_name(int interlacing) { - switch (interlacing) { - case VIDEO_PROGRESSIVE: return QCoreApplication::translate("InterlacingName", "None (Progressive)"); - case VIDEO_TOP_FIELD_FIRST: return QCoreApplication::translate("InterlacingName", "Top Field First"); - case VIDEO_BOTTOM_FIELD_FIRST: return QCoreApplication::translate("InterlacingName", "Bottom Field First"); - default: return QCoreApplication::translate("InterlacingName", "Invalid"); - } + switch (interlacing) { + case VIDEO_PROGRESSIVE: return QCoreApplication::translate("InterlacingName", "None (Progressive)"); + case VIDEO_TOP_FIELD_FIRST: return QCoreApplication::translate("InterlacingName", "Top Field First"); + case VIDEO_BOTTOM_FIELD_FIRST: return QCoreApplication::translate("InterlacingName", "Bottom Field First"); + default: return QCoreApplication::translate("InterlacingName", "Invalid"); + } } QString get_channel_layout_name(int channels, uint64_t layout) { - switch (channels) { - case 0: return QCoreApplication::translate("ChannelLayoutName", "Invalid"); - case 1: return QCoreApplication::translate("ChannelLayoutName", "Mono"); - case 2: return QCoreApplication::translate("ChannelLayoutName", "Stereo"); - default: { - char buf[50]; - av_get_channel_layout_string(buf, sizeof(buf), channels, layout); - return QString(buf); - } - } + switch (channels) { + case 0: return QCoreApplication::translate("ChannelLayoutName", "Invalid"); + case 1: return QCoreApplication::translate("ChannelLayoutName", "Mono"); + case 2: return QCoreApplication::translate("ChannelLayoutName", "Stereo"); + default: { + char buf[50]; + av_get_channel_layout_string(buf, sizeof(buf), channels, layout); + return QString(buf); + } + } } Media::Media(Media* iparent) { - parent = iparent; - root = false; - type = -1; + parent = iparent; + root = false; + type = -1; } Media::~Media() { - for (int i=0;i(object); + return std::static_pointer_cast(object); } SequencePtr Media::to_sequence() { - return std::static_pointer_cast(object); + return std::static_pointer_cast(object); } void Media::set_footage(FootagePtr f) { - type = MEDIA_TYPE_FOOTAGE; - object = VoidPtr(f); + type = MEDIA_TYPE_FOOTAGE; + object = VoidPtr(f); } void Media::set_sequence(SequencePtr s) { - set_icon(QIcon(":/icons/sequence.png")); - type = MEDIA_TYPE_SEQUENCE; - object = VoidPtr(s); - if (s != nullptr) update_tooltip(); + set_icon(QIcon(":/icons/sequence.png")); + type = MEDIA_TYPE_SEQUENCE; + object = VoidPtr(s); + if (s != nullptr) update_tooltip(); } void Media::set_folder() { - if (folder_name.isEmpty()) folder_name = QCoreApplication::translate("Media", "New Folder"); - set_icon(QIcon(":/icons/folder.png")); - type = MEDIA_TYPE_FOLDER; - object = nullptr; + if (folder_name.isEmpty()) folder_name = QCoreApplication::translate("Media", "New Folder"); + set_icon(QIcon(":/icons/folder.png")); + type = MEDIA_TYPE_FOLDER; + object = nullptr; } void Media::set_icon(const QIcon &ico) { - icon = ico; + icon = ico; } void Media::set_parent(Media *p) { - parent = p; + parent = p; } void Media::update_tooltip(const QString& error) { - switch (type) { - case MEDIA_TYPE_FOOTAGE: - { - FootagePtr f = to_footage(); - tooltip = QCoreApplication::translate("Media", "Name:") + " " + f->name + "\n" + QCoreApplication::translate("Media", "Filename:") + " " + f->url + "\n"; + switch (type) { + case MEDIA_TYPE_FOOTAGE: + { + FootagePtr f = to_footage(); + tooltip = QCoreApplication::translate("Media", "Name:") + " " + f->name + "\n" + QCoreApplication::translate("Media", "Filename:") + " " + f->url + "\n"; - if (error.isEmpty()) { - if (f->video_tracks.size() > 0) { - tooltip += QCoreApplication::translate("Media", "Video Dimensions:") + " "; - for (int i=0;ivideo_tracks.size();i++) { - if (i > 0) { - tooltip += ", "; - } - tooltip += QString::number(f->video_tracks.at(i).video_width) + "x" + QString::number(f->video_tracks.at(i).video_height); - } - tooltip += "\n"; + if (error.isEmpty()) { + if (f->video_tracks.size() > 0) { + tooltip += QCoreApplication::translate("Media", "Video Dimensions:") + " "; + for (int i=0;ivideo_tracks.size();i++) { + if (i > 0) { + tooltip += ", "; + } + tooltip += QString::number(f->video_tracks.at(i).video_width) + "x" + QString::number(f->video_tracks.at(i).video_height); + } + tooltip += "\n"; - if (!f->video_tracks.at(0).infinite_length) { - tooltip += QCoreApplication::translate("Media", "Frame Rate:") + " "; - for (int i=0;ivideo_tracks.size();i++) { - if (i > 0) { - tooltip += ", "; - } - if (f->video_tracks.at(i).video_interlacing == VIDEO_PROGRESSIVE) { - tooltip += QString::number(f->video_tracks.at(i).video_frame_rate * f->speed); - } else { - double adjusted_rate = f->video_tracks.at(i).video_frame_rate * f->speed; + if (!f->video_tracks.at(0).infinite_length) { + tooltip += QCoreApplication::translate("Media", "Frame Rate:") + " "; + for (int i=0;ivideo_tracks.size();i++) { + if (i > 0) { + tooltip += ", "; + } + if (f->video_tracks.at(i).video_interlacing == VIDEO_PROGRESSIVE) { + tooltip += QString::number(f->video_tracks.at(i).video_frame_rate * f->speed); + } else { + double adjusted_rate = f->video_tracks.at(i).video_frame_rate * f->speed; - tooltip += QCoreApplication::translate("Media", "%1 field(s) (%2 frame(s))").arg( - QString::number(adjusted_rate*2.0), - QString::number(adjusted_rate) - ); - } - } - tooltip += "\n"; - } + tooltip += QCoreApplication::translate("Media", "%1 field(s) (%2 frame(s))").arg( + QString::number(adjusted_rate*2.0), + QString::number(adjusted_rate) + ); + } + } + tooltip += "\n"; + } - tooltip += QCoreApplication::translate("Media", "Interlacing:") + " "; - for (int i=0;ivideo_tracks.size();i++) { - if (i > 0) { - tooltip += ", "; - } - tooltip += get_interlacing_name(f->video_tracks.at(i).video_interlacing); - } - } + tooltip += QCoreApplication::translate("Media", "Interlacing:") + " "; + for (int i=0;ivideo_tracks.size();i++) { + if (i > 0) { + tooltip += ", "; + } + tooltip += get_interlacing_name(f->video_tracks.at(i).video_interlacing); + } + } - if (f->audio_tracks.size() > 0) { - tooltip += "\n"; + if (f->audio_tracks.size() > 0) { + tooltip += "\n"; - tooltip += QCoreApplication::translate("Media", "Audio Frequency:") + " "; - for (int i=0;iaudio_tracks.size();i++) { - if (i > 0) { - tooltip += ", "; - } - tooltip += QString::number(f->audio_tracks.at(i).audio_frequency * f->speed); - } - tooltip += "\n"; + tooltip += QCoreApplication::translate("Media", "Audio Frequency:") + " "; + for (int i=0;iaudio_tracks.size();i++) { + if (i > 0) { + tooltip += ", "; + } + tooltip += QString::number(f->audio_tracks.at(i).audio_frequency * f->speed); + } + tooltip += "\n"; - tooltip += QCoreApplication::translate("Media", "Audio Channels:") + " "; - for (int i=0;iaudio_tracks.size();i++) { - if (i > 0) { - tooltip += ", "; - } - tooltip += get_channel_layout_name(f->audio_tracks.at(i).audio_channels, f->audio_tracks.at(i).audio_layout); - } - // tooltip += "\n"; - } - } else { - tooltip += error; - } - } - break; - case MEDIA_TYPE_SEQUENCE: - { - SequencePtr s = to_sequence(); + tooltip += QCoreApplication::translate("Media", "Audio Channels:") + " "; + for (int i=0;iaudio_tracks.size();i++) { + if (i > 0) { + tooltip += ", "; + } + tooltip += get_channel_layout_name(f->audio_tracks.at(i).audio_channels, f->audio_tracks.at(i).audio_layout); + } + // tooltip += "\n"; + } + } else { + tooltip += error; + } + } + break; + case MEDIA_TYPE_SEQUENCE: + { + SequencePtr s = to_sequence(); - tooltip = QCoreApplication::translate("Media", "Name: %1" - "\nVideo Dimensions: %2x%3" - "\nFrame Rate: %4" - "\nAudio Frequency: %5" - "\nAudio Layout: %6").arg( - s->name, - QString::number(s->width), - QString::number(s->height), - QString::number(s->frame_rate), - QString::number(s->audio_frequency), - get_channel_layout_name(av_get_channel_layout_nb_channels(s->audio_layout), s->audio_layout) - ); - } - break; - } + tooltip = QCoreApplication::translate("Media", "Name: %1" + "\nVideo Dimensions: %2x%3" + "\nFrame Rate: %4" + "\nAudio Frequency: %5" + "\nAudio Layout: %6").arg( + s->name, + QString::number(s->width), + QString::number(s->height), + QString::number(s->frame_rate), + QString::number(s->audio_frequency), + get_channel_layout_name(av_get_channel_layout_nb_channels(s->audio_layout), s->audio_layout) + ); + } + break; + } } VoidPtr Media::to_object() { - return object; + return object; } int Media::get_type() { - return type; + return type; } const QString &Media::get_name() { - switch (type) { - case MEDIA_TYPE_FOOTAGE: return to_footage()->name; - case MEDIA_TYPE_SEQUENCE: return to_sequence()->name; - default: return folder_name; - } + switch (type) { + case MEDIA_TYPE_FOOTAGE: return to_footage()->name; + case MEDIA_TYPE_SEQUENCE: return to_sequence()->name; + default: return folder_name; + } } void Media::set_name(const QString &n) { - switch (type) { - case MEDIA_TYPE_FOOTAGE: to_footage()->name = n; break; - case MEDIA_TYPE_SEQUENCE: to_sequence()->name = n; break; - case MEDIA_TYPE_FOLDER: folder_name = n; break; - } + switch (type) { + case MEDIA_TYPE_FOOTAGE: to_footage()->name = n; break; + case MEDIA_TYPE_SEQUENCE: to_sequence()->name = n; break; + case MEDIA_TYPE_FOLDER: folder_name = n; break; + } } double Media::get_frame_rate(int stream) { - switch (get_type()) { - case MEDIA_TYPE_FOOTAGE: - { - FootagePtr f = to_footage(); - if (stream < 0) return f->video_tracks.at(0).video_frame_rate * f->speed; - return f->get_stream_from_file_index(true, stream)->video_frame_rate * f->speed; - } - case MEDIA_TYPE_SEQUENCE: return to_sequence()->frame_rate; - } - return 0; + switch (get_type()) { + case MEDIA_TYPE_FOOTAGE: + { + FootagePtr f = to_footage(); + if (stream < 0) return f->video_tracks.at(0).video_frame_rate * f->speed; + return f->get_stream_from_file_index(true, stream)->video_frame_rate * f->speed; + } + case MEDIA_TYPE_SEQUENCE: return to_sequence()->frame_rate; + } + return 0; } int Media::get_sampling_rate(int stream) { - switch (get_type()) { - case MEDIA_TYPE_FOOTAGE: - { - FootagePtr f = to_footage(); - if (stream < 0) return f->audio_tracks.at(0).audio_frequency * f->speed; - return to_footage()->get_stream_from_file_index(false, stream)->audio_frequency * f->speed; - } - case MEDIA_TYPE_SEQUENCE: return to_sequence()->audio_frequency; - } - return 0; + switch (get_type()) { + case MEDIA_TYPE_FOOTAGE: + { + FootagePtr f = to_footage(); + if (stream < 0) return f->audio_tracks.at(0).audio_frequency * f->speed; + return to_footage()->get_stream_from_file_index(false, stream)->audio_frequency * f->speed; + } + case MEDIA_TYPE_SEQUENCE: return to_sequence()->audio_frequency; + } + return 0; } void Media::appendChild(Media *child) { - child->set_parent(this); - children.append(child); + child->set_parent(this); + children.append(child); } bool Media::setData(int col, const QVariant &value) { - if (col == 0) { - QString n = value.toString(); - if (!n.isEmpty() && get_name() != n) { - olive::UndoStack.push(new MediaRename(this, value.toString())); - return true; - } - } - return false; + if (col == 0) { + QString n = value.toString(); + if (!n.isEmpty() && get_name() != n) { + olive::UndoStack.push(new MediaRename(this, value.toString())); + return true; + } + } + return false; } Media *Media::child(int row) { - return children.value(row); + return children.value(row); } int Media::childCount() const { - return children.count(); + return children.count(); } int Media::columnCount() const { - return 3; + return 3; } QVariant Media::data(int column, int role) { - switch (role) { - case Qt::DecorationRole: - if (column == 0) { - if (get_type() == MEDIA_TYPE_FOOTAGE) { - FootagePtr f = to_footage(); - if (f->video_tracks.size() > 0 - && f->video_tracks.at(0).preview_done) { - return f->video_tracks.at(0).video_preview_square; - } - } + switch (role) { + case Qt::DecorationRole: + if (column == 0) { + if (get_type() == MEDIA_TYPE_FOOTAGE) { + FootagePtr f = to_footage(); + if (f->video_tracks.size() > 0 + && f->video_tracks.at(0).preview_done) { + return f->video_tracks.at(0).video_preview_square; + } + } - return icon; - } - break; - case Qt::DisplayRole: - switch (column) { - case 0: return (root) ? QCoreApplication::translate("Media", "Name") : get_name(); - case 1: - if (root) return QCoreApplication::translate("Media", "Duration"); - if (get_type() == MEDIA_TYPE_SEQUENCE) { - SequencePtr s = to_sequence(); - return frame_to_timecode(s->getEndFrame(), olive::CurrentConfig.timecode_view, s->frame_rate); - } - if (get_type() == MEDIA_TYPE_FOOTAGE) { - FootagePtr f = to_footage(); - double r = 30; + return icon; + } + break; + case Qt::DisplayRole: + switch (column) { + case 0: return (root) ? QCoreApplication::translate("Media", "Name") : get_name(); + case 1: + if (root) return QCoreApplication::translate("Media", "Duration"); + if (get_type() == MEDIA_TYPE_SEQUENCE) { + SequencePtr s = to_sequence(); + return frame_to_timecode(s->getEndFrame(), olive::CurrentConfig.timecode_view, s->frame_rate); + } + if (get_type() == MEDIA_TYPE_FOOTAGE) { + FootagePtr f = to_footage(); + double r = 30; - if (f->video_tracks.size() > 0 && !qIsNull(f->video_tracks.at(0).video_frame_rate)) - r = f->video_tracks.at(0).video_frame_rate * f->speed; + if (f->video_tracks.size() > 0 && !qIsNull(f->video_tracks.at(0).video_frame_rate)) + r = f->video_tracks.at(0).video_frame_rate * f->speed; - long len = f->get_length_in_frames(r); - if (len > 0) return frame_to_timecode(len, olive::CurrentConfig.timecode_view, r); - } - break; - case 2: - if (root) return QCoreApplication::translate("Media", "Rate"); - if (get_type() == MEDIA_TYPE_SEQUENCE) return QString::number(get_frame_rate()) + " FPS"; - if (get_type() == MEDIA_TYPE_FOOTAGE) { - FootagePtr f = to_footage(); - double r; - if (f->video_tracks.size() > 0 && !qIsNull(r = get_frame_rate())) { - return QString::number(get_frame_rate()) + " FPS"; - } else if (f->audio_tracks.size() > 0) { - return QString::number(get_sampling_rate()) + " Hz"; - } - } - break; - } - break; - case Qt::ToolTipRole: - return tooltip; - } - return QVariant(); + long len = f->get_length_in_frames(r); + if (len > 0) return frame_to_timecode(len, olive::CurrentConfig.timecode_view, r); + } + break; + case 2: + if (root) return QCoreApplication::translate("Media", "Rate"); + if (get_type() == MEDIA_TYPE_SEQUENCE) return QString::number(get_frame_rate()) + " FPS"; + if (get_type() == MEDIA_TYPE_FOOTAGE) { + FootagePtr f = to_footage(); + double r; + if (f->video_tracks.size() > 0 && !qIsNull(r = get_frame_rate())) { + return QString::number(get_frame_rate()) + " FPS"; + } else if (f->audio_tracks.size() > 0) { + return QString::number(get_sampling_rate()) + " Hz"; + } + } + break; + } + break; + case Qt::ToolTipRole: + return tooltip; + } + return QVariant(); } int Media::row() const { - if (parent) { - return parent->children.indexOf(const_cast(this)); - } - return 0; + if (parent) { + return parent->children.indexOf(const_cast(this)); + } + return 0; } Media *Media::parentItem() { - return parent; + return parent; } void Media::removeChild(int i) { - children.removeAt(i); + children.removeAt(i); } QVector &Media::get_markers() { - // returns the marker array from the internal object - // - // NOTE: if this media object is not footage or a sequence, the result is - // undefined - most likely a crash + // returns the marker array from the internal object + // + // NOTE: if this media object is not footage or a sequence, the result is + // undefined - most likely a crash - if (get_type() == MEDIA_TYPE_FOOTAGE) { - return to_footage()->markers; - } else { - return to_sequence()->markers; - } + if (get_type() == MEDIA_TYPE_FOOTAGE) { + return to_footage()->markers; + } else { + return to_sequence()->markers; + } } diff --git a/project/media.h b/project/media.h index 7716e82e3..0328d9ef8 100644 --- a/project/media.h +++ b/project/media.h @@ -29,9 +29,9 @@ #include "project/footage.h" enum MediaType { - MEDIA_TYPE_FOOTAGE, - MEDIA_TYPE_SEQUENCE, - MEDIA_TYPE_FOLDER + MEDIA_TYPE_FOOTAGE, + MEDIA_TYPE_SEQUENCE, + MEDIA_TYPE_FOLDER }; class Sequence; @@ -42,51 +42,51 @@ using VoidPtr = std::shared_ptr; class Media { public: - Media(Media* iparent); - ~Media(); - FootagePtr to_footage(); - SequencePtr to_sequence(); - void set_footage(FootagePtr f); - void set_sequence(SequencePtr s); - void set_folder(); - void set_icon(const QIcon &ico); - void set_parent(Media* p); - void update_tooltip(const QString& error = 0); - VoidPtr to_object(); - int get_type(); - const QString& get_name(); - void set_name(const QString& n); + Media(Media* iparent); + ~Media(); + FootagePtr to_footage(); + SequencePtr to_sequence(); + void set_footage(FootagePtr f); + void set_sequence(SequencePtr s); + void set_folder(); + void set_icon(const QIcon &ico); + void set_parent(Media* p); + void update_tooltip(const QString& error = 0); + VoidPtr to_object(); + int get_type(); + const QString& get_name(); + void set_name(const QString& n); - double get_frame_rate(int stream = -1); - int get_sampling_rate(int stream = -1); + double get_frame_rate(int stream = -1); + int get_sampling_rate(int stream = -1); - // item functions - void appendChild(Media *child); - bool setData(int col, const QVariant &value); - Media *child(int row); - int childCount() const; - int columnCount() const; - QVariant data(int column, int role); - int row() const; - Media *parentItem(); - void removeChild(int i); + // item functions + void appendChild(Media *child); + bool setData(int col, const QVariant &value); + Media *child(int row); + int childCount() const; + int columnCount() const; + QVariant data(int column, int role); + int row() const; + Media *parentItem(); + void removeChild(int i); - // get markers from internal object - QVector& get_markers(); + // get markers from internal object + QVector& get_markers(); - bool root; - int temp_id; - int temp_id2; + bool root; + int temp_id; + int temp_id2; private: - int type; - VoidPtr object; + int type; + VoidPtr object; - // item functions - QList children; - Media* parent; - QString folder_name; - QString tooltip; - QIcon icon; + // item functions + QList children; + Media* parent; + QString folder_name; + QString tooltip; + QIcon icon; }; #endif // MEDIA_H diff --git a/project/projectelements.h b/project/projectelements.h index 217a398f6..2ec53d769 100644 --- a/project/projectelements.h +++ b/project/projectelements.h @@ -21,6 +21,12 @@ #ifndef PROJECTELEMENTS_H #define PROJECTELEMENTS_H +/** + + Simple header to include all classes used for an Olive project file + + */ + // includes elements the user can use in a project #include "media.h" #include "footage.h" diff --git a/project/sequence.cpp b/project/sequence.cpp index e3d9633d7..b33ca2457 100644 --- a/project/sequence.cpp +++ b/project/sequence.cpp @@ -25,45 +25,45 @@ #include "debug.h" Sequence::Sequence() { - playhead = 0; - using_workarea = false; - workarea_in = 0; - workarea_out = 0; - wrapper_sequence = false; + playhead = 0; + using_workarea = false; + workarea_in = 0; + workarea_out = 0; + wrapper_sequence = false; } Sequence::~Sequence() {} SequencePtr Sequence::copy() { - SequencePtr s(new Sequence()); - s->name = QCoreApplication::translate("Sequence", "%1 (copy)").arg(name); - s->width = width; - s->height = height; - s->frame_rate = frame_rate; - s->audio_frequency = audio_frequency; - s->audio_layout = audio_layout; - s->clips.resize(clips.size()); - for (int i=0;iclips[i] = nullptr; - } else { - ClipPtr copy = c->copy(s); - copy->linked = c->linked; - s->clips[i] = copy; - } - } - return s; + SequencePtr s(new Sequence()); + s->name = QCoreApplication::translate("Sequence", "%1 (copy)").arg(name); + s->width = width; + s->height = height; + s->frame_rate = frame_rate; + s->audio_frequency = audio_frequency; + s->audio_layout = audio_layout; + s->clips.resize(clips.size()); + for (int i=0;iclips[i] = nullptr; + } else { + ClipPtr copy = c->copy(s); + copy->linked = c->linked; + s->clips[i] = copy; + } + } + return s; } long Sequence::getEndFrame() { - long end = 0; - for (int j=0;jtimeline_out > end) { - end = c->timeline_out; - } - } + long end = 0; + for (int j=0;jtimeline_out() > end) { + end = c->timeline_out(); + } + } return end; } @@ -72,27 +72,28 @@ void Sequence::RefreshClips(Media *m) { ClipPtr c = clips.at(i); if (c != nullptr - && (m == nullptr || c->media == m)) { + && (m == nullptr || c->media() == m)) { + c->Close(true); c->refresh(); } } } void Sequence::getTrackLimits(int* video_tracks, int* audio_tracks) { - int vt = 0; - int at = 0; - for (int j=0;jtrack < 0 && c->track < vt) { // video clip - vt = c->track; - } else if (c->track > at) { - at = c->track; - } - } - } - if (video_tracks != nullptr) *video_tracks = vt; - if (audio_tracks != nullptr) *audio_tracks = at; + int vt = 0; + int at = 0; + for (int j=0;jtrack() < 0 && c->track() < vt) { // video clip + vt = c->track(); + } else if (c->track() > at) { + at = c->track(); + } + } + } + if (video_tracks != nullptr) *video_tracks = vt; + if (audio_tracks != nullptr) *audio_tracks = at; } // static variable for the currently active sequence diff --git a/project/sourcescommon.cpp b/project/sourcescommon.cpp index 03f196f4b..9e1504a2e 100644 --- a/project/sourcescommon.cpp +++ b/project/sourcescommon.cpp @@ -23,7 +23,7 @@ #include "panels/panels.h" #include "project/media.h" #include "project/undo.h" -#include "playback/playback.h" +#include "rendering/renderfunctions.h" #include "panels/timeline.h" #include "panels/project.h" #include "project/footage.h" @@ -47,173 +47,176 @@ #include SourcesCommon::SourcesCommon(Project* parent) : - editing_item(nullptr), - project_parent(parent) + editing_item(nullptr), + project_parent(parent) { - rename_timer.setInterval(1000); - connect(&rename_timer, SIGNAL(timeout()), this, SLOT(rename_interval())); + rename_timer.setInterval(1000); + connect(&rename_timer, SIGNAL(timeout()), this, SLOT(rename_interval())); } void SourcesCommon::create_seq_from_selected() { - if (!selected_items.isEmpty()) { - QVector media_list; - for (int i=0;iitem_to_media(selected_items.at(i))); - } + if (!selected_items.isEmpty()) { + QVector media_list; + for (int i=0;iitem_to_media(selected_items.at(i))); + } - ComboAction* ca = new ComboAction(); - SequencePtr s = create_sequence_from_media(media_list); + ComboAction* ca = new ComboAction(); + SequencePtr s = create_sequence_from_media(media_list); - // add clips to it - panel_timeline->create_ghosts_from_media(s, 0, media_list); - panel_timeline->add_clips_from_ghosts(ca, s); + // add clips to it + panel_timeline->create_ghosts_from_media(s, 0, media_list); + panel_timeline->add_clips_from_ghosts(ca, s); - project_parent->create_sequence_internal(ca, s, true, nullptr); - olive::UndoStack.push(ca); - } + project_parent->create_sequence_internal(ca, s, true, nullptr); + olive::UndoStack.push(ca); + } } void SourcesCommon::show_context_menu(QWidget* parent, const QModelIndexList& items) { - QMenu menu(parent); + QMenu menu(parent); - selected_items = items; + selected_items = items; - QAction* import_action = menu.addAction(tr("Import...")); - QObject::connect(import_action, SIGNAL(triggered(bool)), project_parent, SLOT(import_dialog())); + QAction* import_action = menu.addAction(tr("Import...")); + QObject::connect(import_action, SIGNAL(triggered(bool)), project_parent, SLOT(import_dialog())); - QMenu* new_menu = menu.addMenu(tr("New")); - olive::MenuHelper.make_new_menu(new_menu); + QMenu* new_menu = menu.addMenu(tr("New")); + olive::MenuHelper.make_new_menu(new_menu); - QMenu* view_menu = menu.addMenu(tr("View")); + QMenu* view_menu = menu.addMenu(tr("View")); - QAction* tree_view_action = view_menu->addAction(tr("Tree View")); - connect(tree_view_action, SIGNAL(triggered(bool)), project_parent, SLOT(set_tree_view())); + QAction* tree_view_action = view_menu->addAction(tr("Tree View")); + connect(tree_view_action, SIGNAL(triggered(bool)), project_parent, SLOT(set_tree_view())); - QAction* icon_view_action = view_menu->addAction(tr("Icon View")); - connect(icon_view_action, SIGNAL(triggered(bool)), project_parent, SLOT(set_icon_view())); + QAction* icon_view_action = view_menu->addAction(tr("Icon View")); + connect(icon_view_action, SIGNAL(triggered(bool)), project_parent, SLOT(set_icon_view())); - QAction* toolbar_action = view_menu->addAction(tr("Show Toolbar")); - toolbar_action->setCheckable(true); - toolbar_action->setChecked(project_parent->toolbar_widget->isVisible()); - connect(toolbar_action, SIGNAL(triggered(bool)), project_parent->toolbar_widget, SLOT(setVisible(bool))); + QAction* toolbar_action = view_menu->addAction(tr("Show Toolbar")); + toolbar_action->setCheckable(true); + toolbar_action->setChecked(project_parent->toolbar_widget->isVisible()); + connect(toolbar_action, SIGNAL(triggered(bool)), project_parent->toolbar_widget, SLOT(setVisible(bool))); - QAction* show_sequences = view_menu->addAction(tr("Show Sequences")); - show_sequences->setCheckable(true); - show_sequences->setChecked(panel_project->sorter->get_show_sequences()); - connect(show_sequences, SIGNAL(triggered(bool)), panel_project->sorter, SLOT(set_show_sequences(bool))); + QAction* show_sequences = view_menu->addAction(tr("Show Sequences")); + show_sequences->setCheckable(true); + show_sequences->setChecked(panel_project->sorter->get_show_sequences()); + connect(show_sequences, SIGNAL(triggered(bool)), panel_project->sorter, SLOT(set_show_sequences(bool))); - if (items.size() > 0) { - if (items.size() == 1) { - Media* first_media = project_parent->item_to_media(items.at(0)); + if (items.size() > 0) { + if (items.size() == 1) { + Media* first_media = project_parent->item_to_media(items.at(0)); - // replace footage - int type = first_media->get_type(); - if (type == MEDIA_TYPE_FOOTAGE) { - QAction* replace_action = menu.addAction(tr("Replace/Relink Media")); - QObject::connect(replace_action, SIGNAL(triggered(bool)), project_parent, SLOT(replace_selected_file())); + // replace footage + int type = first_media->get_type(); + if (type == MEDIA_TYPE_FOOTAGE) { + QAction* replace_action = menu.addAction(tr("Replace/Relink Media")); + QObject::connect(replace_action, SIGNAL(triggered(bool)), project_parent, SLOT(replace_selected_file())); #if defined(Q_OS_WIN) - QAction* reveal_in_explorer = menu.addAction(tr("Reveal in Explorer")); + QAction* reveal_in_explorer = menu.addAction(tr("Reveal in Explorer")); #elif defined(Q_OS_MAC) - QAction* reveal_in_explorer = menu.addAction(tr("Reveal in Finder")); + QAction* reveal_in_explorer = menu.addAction(tr("Reveal in Finder")); #else - QAction* reveal_in_explorer = menu.addAction(tr("Reveal in File Manager")); + QAction* reveal_in_explorer = menu.addAction(tr("Reveal in File Manager")); #endif - QObject::connect(reveal_in_explorer, SIGNAL(triggered(bool)), this, SLOT(reveal_in_browser())); - } - if (type != MEDIA_TYPE_FOLDER) { - QAction* replace_clip_media = menu.addAction(tr("Replace Clips Using This Media")); - QObject::connect(replace_clip_media, SIGNAL(triggered(bool)), project_parent, SLOT(replace_clip_media())); - } - } + QObject::connect(reveal_in_explorer, SIGNAL(triggered(bool)), this, SLOT(reveal_in_browser())); + } + if (type != MEDIA_TYPE_FOLDER) { + QAction* replace_clip_media = menu.addAction(tr("Replace Clips Using This Media")); + QObject::connect(replace_clip_media, SIGNAL(triggered(bool)), project_parent, SLOT(replace_clip_media())); + } + } - // analyze selected footage types - bool all_sequences = true; - bool all_footage = true; + // analyze selected footage types + bool all_sequences = true; + bool all_footage = true; - cached_selected_footage.clear(); - for (int i=0;iitem_to_media(items.at(i)); - if (m->get_type() != MEDIA_TYPE_SEQUENCE) { - all_sequences = false; - } - if (m->get_type() == MEDIA_TYPE_FOOTAGE) { - cached_selected_footage.append(m->to_footage()); - } else { - all_footage = false; - } - } + cached_selected_footage.clear(); + for (int i=0;iitem_to_media(items.at(i)); + if (m->get_type() != MEDIA_TYPE_SEQUENCE) { + all_sequences = false; + } + if (m->get_type() == MEDIA_TYPE_FOOTAGE) { + cached_selected_footage.append(m); + } else { + all_footage = false; + } + } - // create sequence from - QAction* create_seq_from = menu.addAction(tr("Create Sequence With This Media")); - QObject::connect(create_seq_from, SIGNAL(triggered(bool)), this, SLOT(create_seq_from_selected())); + // create sequence from + QAction* create_seq_from = menu.addAction(tr("Create Sequence With This Media")); + QObject::connect(create_seq_from, SIGNAL(triggered(bool)), this, SLOT(create_seq_from_selected())); - // ONLY sequences are selected - if (all_sequences) { - // ONLY sequences are selected - QAction* duplicate_action = menu.addAction(tr("Duplicate")); - QObject::connect(duplicate_action, SIGNAL(triggered(bool)), project_parent, SLOT(duplicate_selected())); - } + // ONLY sequences are selected + if (all_sequences) { + // ONLY sequences are selected + QAction* duplicate_action = menu.addAction(tr("Duplicate")); + QObject::connect(duplicate_action, SIGNAL(triggered(bool)), project_parent, SLOT(duplicate_selected())); + } - // ONLY footage is selected - if (all_footage) { - QAction* delete_footage_from_sequences = menu.addAction(tr("Delete All Clips Using This Media")); - QObject::connect(delete_footage_from_sequences, SIGNAL(triggered(bool)), project_parent, SLOT(delete_clips_using_selected_media())); + // ONLY footage is selected + if (all_footage) { + QAction* delete_footage_from_sequences = menu.addAction(tr("Delete All Clips Using This Media")); + QObject::connect(delete_footage_from_sequences, SIGNAL(triggered(bool)), project_parent, SLOT(delete_clips_using_selected_media())); - QMenu* proxies = menu.addMenu(tr("Proxy")); + QMenu* proxies = menu.addMenu(tr("Proxy")); - // special case if one footage item is selected and its proxy is currently being generated - if (cached_selected_footage.size() == 1 - && cached_selected_footage.at(0)->proxy - && cached_selected_footage.at(0)->proxy_path.isEmpty()) { - QAction* action = proxies->addAction(tr("Generating proxy: %1% complete").arg(proxy_generator.get_proxy_progress(cached_selected_footage.at(0)))); - action->setEnabled(false); - } else { - // determine whether any selected footage has or doesn't have proxies - bool footage_without_proxies_exists = false; - bool footage_with_proxies_exists = false; + // special case if one footage item is selected and its proxy is currently being generated + if (cached_selected_footage.size() == 1 + && cached_selected_footage.at(0)->to_footage()->proxy + && cached_selected_footage.at(0)->to_footage()->proxy_path.isEmpty()) { + QAction* action = proxies->addAction(tr("Generating proxy: %1% complete").arg( + olive::proxy_generator.get_proxy_progress(cached_selected_footage.at(0)) + ) + ); + action->setEnabled(false); + } else { + // determine whether any selected footage has or doesn't have proxies + bool footage_without_proxies_exists = false; + bool footage_with_proxies_exists = false; - for (int i=0;iproxy) { - footage_with_proxies_exists = true; - } else { - footage_without_proxies_exists = true; - } - } + for (int i=0;ito_footage()->proxy) { + footage_with_proxies_exists = true; + } else { + footage_without_proxies_exists = true; + } + } - // if footage was selected WITHOUT proxies - if (footage_without_proxies_exists) { - QString create_proxy_text; + // if footage was selected WITHOUT proxies + if (footage_without_proxies_exists) { + QString create_proxy_text; - if (footage_with_proxies_exists) { - // some of the footage already has proxies, so we use a different string - create_proxy_text = tr("Create/Modify Proxy"); - } else { - // none of the footage has proxies - create_proxy_text = tr("Create Proxy"); - } + if (footage_with_proxies_exists) { + // some of the footage already has proxies, so we use a different string + create_proxy_text = tr("Create/Modify Proxy"); + } else { + // none of the footage has proxies + create_proxy_text = tr("Create Proxy"); + } - proxies->addAction(create_proxy_text, this, SLOT(open_create_proxy_dialog())); - } + proxies->addAction(create_proxy_text, this, SLOT(open_create_proxy_dialog())); + } - // if footage was selected WITH proxies - if (footage_with_proxies_exists) { + // if footage was selected WITH proxies + if (footage_with_proxies_exists) { - if (!footage_without_proxies_exists) { - // if all the footage has proxies, we didn't make a "Create/Modify" above, so we create one here (but only "modify") - proxies->addAction(tr("Modify Proxy"), this, SLOT(open_create_proxy_dialog())); - } + if (!footage_without_proxies_exists) { + // if all the footage has proxies, we didn't make a "Create/Modify" above, so we create one here (but only "modify") + proxies->addAction(tr("Modify Proxy"), this, SLOT(open_create_proxy_dialog())); + } - proxies->addAction(tr("Restore Original"), this, SLOT(clear_proxies_from_selected())); - } - } - } + proxies->addAction(tr("Restore Original"), this, SLOT(clear_proxies_from_selected())); + } + } + } - // delete media - QAction* delete_action = menu.addAction(tr("Delete")); - QObject::connect(delete_action, SIGNAL(triggered(bool)), project_parent, SLOT(delete_selected_media())); + // delete media + QAction* delete_action = menu.addAction(tr("Delete")); + QObject::connect(delete_action, SIGNAL(triggered(bool)), project_parent, SLOT(delete_selected_media())); - if (items.size() == 1) { + if (items.size() == 1) { Media* media_item = project_parent->item_to_media(items.at(0)); if (media_item->get_type() != MEDIA_TYPE_FOLDER) { @@ -223,160 +226,160 @@ void SourcesCommon::show_context_menu(QWidget* parent, const QModelIndexList& it preview_in_media_viewer_action->setData(reinterpret_cast(media_item)); } - QAction* properties_action = menu.addAction(tr("Properties...")); - QObject::connect(properties_action, SIGNAL(triggered(bool)), project_parent, SLOT(open_properties())); - } - } + QAction* properties_action = menu.addAction(tr("Properties...")); + QObject::connect(properties_action, SIGNAL(triggered(bool)), project_parent, SLOT(open_properties())); + } + } - menu.exec(QCursor::pos()); + menu.exec(QCursor::pos()); } void SourcesCommon::mousePressEvent(QMouseEvent *) { - stop_rename_timer(); + stop_rename_timer(); } void SourcesCommon::item_click(Media *m, const QModelIndex& index) { - if (editing_item == m) { - rename_timer.start(); - } else { - editing_item = m; - editing_index = index; - } + if (editing_item == m) { + rename_timer.start(); + } else { + editing_item = m; + editing_index = index; + } } void SourcesCommon::mouseDoubleClickEvent(const QModelIndexList& selected_items) { - stop_rename_timer(); - if (selected_items.size() == 0) { - project_parent->import_dialog(); - } else if (selected_items.size() == 1) { + stop_rename_timer(); + if (selected_items.size() == 0) { + project_parent->import_dialog(); + } else if (selected_items.size() == 1) { Media* media = project_parent->item_to_media(selected_items.at(0)); if (media->get_type() == MEDIA_TYPE_SEQUENCE) { olive::UndoStack.push(new ChangeSequenceAction(media->to_sequence())); } else { OpenSelectedMediaInMediaViewer(project_parent->item_to_media(selected_items.at(0))); } - } + } } void SourcesCommon::dropEvent(QWidget* parent, QDropEvent *event, const QModelIndex& drop_item, const QModelIndexList& items) { - const QMimeData* mimeData = event->mimeData(); - Media* m = project_parent->item_to_media(drop_item); - if (mimeData->hasUrls()) { - // drag files in from outside - QList urls = mimeData->urls(); - if (!urls.isEmpty()) { - QStringList paths; - for (int i=0;iget_type() == MEDIA_TYPE_FOOTAGE - && !QFileInfo(paths.at(0)).isDir() - && olive::CurrentConfig.drop_on_media_to_replace - && QMessageBox::question( - parent, - tr("Replace Media"), - tr("You dropped a file onto '%1'. Would you like to replace it with the dropped file?").arg(m->get_name()), - QMessageBox::Yes | QMessageBox::No, QMessageBox::No) == QMessageBox::Yes) { - replace = true; - project_parent->replace_media(m, paths.at(0)); - } - if (!replace) { - QModelIndex parent; - if (drop_item.isValid()) { - if (m->get_type() == MEDIA_TYPE_FOLDER) { - parent = drop_item; - } else { - parent = drop_item.parent(); - } - } - project_parent->process_file_list(paths, false, nullptr, panel_project->item_to_media(parent)); - } - } - event->acceptProposedAction(); - } else { - event->ignore(); + const QMimeData* mimeData = event->mimeData(); + Media* m = project_parent->item_to_media(drop_item); + if (mimeData->hasUrls()) { + // drag files in from outside + QList urls = mimeData->urls(); + if (!urls.isEmpty()) { + QStringList paths; + for (int i=0;iget_type() == MEDIA_TYPE_FOOTAGE + && !QFileInfo(paths.at(0)).isDir() + && olive::CurrentConfig.drop_on_media_to_replace + && QMessageBox::question( + parent, + tr("Replace Media"), + tr("You dropped a file onto '%1'. Would you like to replace it with the dropped file?").arg(m->get_name()), + QMessageBox::Yes | QMessageBox::No, QMessageBox::No) == QMessageBox::Yes) { + replace = true; + project_parent->replace_media(m, paths.at(0)); + } + if (!replace) { + QModelIndex parent; + if (drop_item.isValid()) { + if (m->get_type() == MEDIA_TYPE_FOLDER) { + parent = drop_item; + } else { + parent = drop_item.parent(); + } + } + project_parent->process_file_list(paths, false, nullptr, panel_project->item_to_media(parent)); + } + } + event->acceptProposedAction(); + } else { + event->ignore(); - // dragging files within project - // if we dragged to the root OR dragged to a folder - if (!drop_item.isValid() || m->get_type() == MEDIA_TYPE_FOLDER) { - QVector move_items; - for (int i=0;iitem_to_media(item); - if (parent != drop_item && item != drop_item) { - bool ignore = false; - if (parent.isValid()) { - // if child belongs to a selected parent, assume the user is just moving the parent and ignore the child - QModelIndex par = parent; - while (par.isValid() && !ignore) { - for (int j=0;j 0) { - MediaMove* mm = new MediaMove(); - mm->to = m; - mm->items = move_items; - olive::UndoStack.push(mm); - } - } - } + // dragging files within project + // if we dragged to the root OR dragged to a folder + if (!drop_item.isValid() || m->get_type() == MEDIA_TYPE_FOLDER) { + QVector move_items; + for (int i=0;iitem_to_media(item); + if (parent != drop_item && item != drop_item) { + bool ignore = false; + if (parent.isValid()) { + // if child belongs to a selected parent, assume the user is just moving the parent and ignore the child + QModelIndex par = parent; + while (par.isValid() && !ignore) { + for (int j=0;j 0) { + MediaMove* mm = new MediaMove(); + mm->to = m; + mm->items = move_items; + olive::UndoStack.push(mm); + } + } + } } void SourcesCommon::reveal_in_browser() { - Media* media = project_parent->item_to_media(selected_items.at(0)); - FootagePtr m = media->to_footage(); + Media* media = project_parent->item_to_media(selected_items.at(0)); + FootagePtr m = media->to_footage(); #if defined(Q_OS_WIN) - QStringList args; - args << "/select," << QDir::toNativeSeparators(m->url); - QProcess::startDetached("explorer", args); + QStringList args; + args << "/select," << QDir::toNativeSeparators(m->url); + QProcess::startDetached("explorer", args); #elif defined(Q_OS_MAC) - QStringList args; - args << "-e"; - args << "tell application \"Finder\""; - args << "-e"; - args << "activate"; - args << "-e"; - args << "select POSIX file \""+m->url+"\""; - args << "-e"; - args << "end tell"; - QProcess::startDetached("osascript", args); + QStringList args; + args << "-e"; + args << "tell application \"Finder\""; + args << "-e"; + args << "activate"; + args << "-e"; + args << "select POSIX file \""+m->url+"\""; + args << "-e"; + args << "end tell"; + QProcess::startDetached("osascript", args); #else - QDesktopServices::openUrl(QUrl::fromLocalFile(m->url.left(m->url.lastIndexOf('/')))); + QDesktopServices::openUrl(QUrl::fromLocalFile(m->url.left(m->url.lastIndexOf('/')))); #endif } void SourcesCommon::stop_rename_timer() { - rename_timer.stop(); + rename_timer.stop(); } void SourcesCommon::rename_interval() { - stop_rename_timer(); - if (view->hasFocus() && editing_item != nullptr) { - view->edit(editing_index); - } + stop_rename_timer(); + if (view->hasFocus() && editing_item != nullptr) { + view->edit(editing_index); + } } void SourcesCommon::item_renamed(Media* item) { - if (editing_item == item) { - MediaRename* mr = new MediaRename(item, "idk"); - olive::UndoStack.push(mr); - editing_item = nullptr; + if (editing_item == item) { + MediaRename* mr = new MediaRename(item, "idk"); + olive::UndoStack.push(mr); + editing_item = nullptr; } } @@ -393,46 +396,46 @@ void SourcesCommon::OpenSelectedMediaInMediaViewer(Media* item) { } void SourcesCommon::open_create_proxy_dialog() { - // open the proxy dialog and send it a list of currently selected footage - ProxyDialog pd(olive::MainWindow, cached_selected_footage); - pd.exec(); + // open the proxy dialog and send it a list of currently selected footage + ProxyDialog pd(olive::MainWindow, cached_selected_footage); + pd.exec(); } void SourcesCommon::clear_proxies_from_selected() { - QList delete_list; + QList delete_list; - for (int i=0;ito_footage(); - if (f->proxy && !f->proxy_path.isEmpty()) { - if (QFileInfo::exists(f->proxy_path)) { - if (QMessageBox::question(olive::MainWindow, - tr("Delete proxy"), - tr("Would you like to delete the proxy file \"%1\" as well?").arg(f->proxy_path), - QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) { - delete_list.append(f->proxy_path); - } - } - } + if (f->proxy && !f->proxy_path.isEmpty()) { + if (QFileInfo::exists(f->proxy_path)) { + if (QMessageBox::question(olive::MainWindow, + tr("Delete proxy"), + tr("Would you like to delete the proxy file \"%1\" as well?").arg(f->proxy_path), + QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) { + delete_list.append(f->proxy_path); + } + } + } - f->proxy = false; - f->proxy_path.clear(); - } + f->proxy = false; + f->proxy_path.clear(); + } - if (olive::ActiveSequence != nullptr) { - // close all clips so we can delete any proxies requested to be deleted - closeActiveClips(olive::ActiveSequence); - } + if (olive::ActiveSequence != nullptr) { + // close all clips so we can delete any proxies requested to be deleted + close_active_clips(olive::ActiveSequence); + } - // delete proxies requested to be deleted - for (int i=0;iviewer_widget->frame_update(); - } + if (olive::ActiveSequence != nullptr) { + // update viewer (will re-open active clips with original media) + panel_sequence_viewer->viewer_widget->frame_update(); + } - olive::MainWindow->setWindowModified(true); + olive::MainWindow->setWindowModified(true); } diff --git a/project/sourcescommon.h b/project/sourcescommon.h index d0486e326..261210065 100644 --- a/project/sourcescommon.h +++ b/project/sourcescommon.h @@ -36,38 +36,38 @@ class QDropEvent; struct Footage; class SourcesCommon : public QObject { - Q_OBJECT + Q_OBJECT public: - SourcesCommon(Project *parent); - QAbstractItemView* view; - void show_context_menu(QWidget* parent, const QModelIndexList &items); + SourcesCommon(Project *parent); + QAbstractItemView* view; + void show_context_menu(QWidget* parent, const QModelIndexList &items); - void mousePressEvent(QMouseEvent* e); + void mousePressEvent(QMouseEvent* e); void mouseDoubleClickEvent(const QModelIndexList& selected_items); - void dropEvent(QWidget *parent, QDropEvent* e, const QModelIndex& drop_item, const QModelIndexList &items); + void dropEvent(QWidget *parent, QDropEvent* e, const QModelIndex& drop_item, const QModelIndexList &items); - void item_click(Media* m, const QModelIndex &index); + void item_click(Media* m, const QModelIndex &index); private slots: - void create_seq_from_selected(); - void reveal_in_browser(); - void rename_interval(); - void item_renamed(Media *item); + void create_seq_from_selected(); + void reveal_in_browser(); + void rename_interval(); + void item_renamed(Media *item); void OpenSelectedMediaInMediaViewerFromAction(); void OpenSelectedMediaInMediaViewer(Media* item); - // proxy functions - void open_create_proxy_dialog(); - void clear_proxies_from_selected(); + // proxy functions + void open_create_proxy_dialog(); + void clear_proxies_from_selected(); private: - Media* editing_item; - QModelIndex editing_index; - QModelIndexList selected_items; - Project* project_parent; - void stop_rename_timer(); - QTimer rename_timer; + Media* editing_item; + QModelIndex editing_index; + QModelIndexList selected_items; + Project* project_parent; + void stop_rename_timer(); + QTimer rename_timer; - // we cache the selected footage items for open_create_proxy_dialog() - QVector cached_selected_footage; + // we cache the selected footage items for open_create_proxy_dialog() + QVector cached_selected_footage; }; #endif // SOURCESCOMMON_H diff --git a/project/transition.cpp b/project/transition.cpp index 3c4028c71..a34097ea0 100644 --- a/project/transition.cpp +++ b/project/transition.cpp @@ -52,7 +52,7 @@ Transition::Transition(ClipPtr c, ClipPtr s, const EffectMeta* em) : LabelSlider* length_ui_ele = static_cast(length_field->ui_element); length_ui_ele->set_display_type(LABELSLIDER_FRAMENUMBER); - length_ui_ele->set_frame_rate(parent_clip->sequence == nullptr ? parent_clip->cached_fr : parent_clip->sequence->frame_rate); + length_ui_ele->set_frame_rate(parent_clip->sequence == nullptr ? parent_clip->cached_frame_rate() : parent_clip->sequence->frame_rate); } TransitionPtr Transition::copy(ClipPtr c, ClipPtr s) { diff --git a/project/undo.cpp b/project/undo.cpp index 205769599..0c26c3be2 100644 --- a/project/undo.cpp +++ b/project/undo.cpp @@ -32,12 +32,13 @@ #include "panels/effectcontrols.h" #include "panels/viewer.h" #include "panels/timeline.h" -#include "playback/playback.h" #include "ui/sourcetable.h" #include "project/effect.h" #include "project/transition.h" #include "project/footage.h" -#include "playback/cacher.h" +#include "rendering/renderfunctions.h" +#include "rendering/cacher.h" +#include "io/previewgenerator.h" #include "ui/labelslider.h" #include "ui/viewerwidget.h" #include "project/marker.h" @@ -45,16 +46,17 @@ #include "io/clipboard.h" #include "project/media.h" #include "debug.h" +#include "oliveglobal.h" QUndoStack olive::UndoStack; MoveClipAction::MoveClipAction(ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool irelative) { clip = c; - old_in = c->timeline_in; - old_out = c->timeline_out; - old_clip_in = c->clip_in; - old_track = c->track; + old_in = c->timeline_in(); + old_out = c->timeline_out(); + old_clip_in = c->clip_in(); + old_track = c->track(); new_in = iin; new_out = iout; @@ -66,29 +68,29 @@ MoveClipAction::MoveClipAction(ClipPtr c, long iin, long iout, long iclip_in, in void MoveClipAction::doUndo() { if (relative) { - clip->timeline_in -= new_in; - clip->timeline_out -= new_out; - clip->clip_in -= new_clip_in; - clip->track -= new_track; + clip->set_timeline_in (clip->timeline_in() - new_in); + clip->set_timeline_out (clip->timeline_out() - new_out); + clip->set_clip_in (clip->clip_in() - new_clip_in); + clip->set_track (clip->track() - new_track); } else { - clip->timeline_in = old_in; - clip->timeline_out = old_out; - clip->clip_in = old_clip_in; - clip->track = old_track; + clip->set_timeline_in(old_in); + clip->set_timeline_out(old_out); + clip->set_clip_in(old_clip_in); + clip->set_track(old_track); } } void MoveClipAction::doRedo() { if (relative) { - clip->timeline_in += new_in; - clip->timeline_out += new_out; - clip->clip_in += new_clip_in; - clip->track += new_track; + clip->set_timeline_in(clip->timeline_in() + new_in); + clip->set_timeline_out(clip->timeline_out() + new_out); + clip->set_clip_in(clip->clip_in() + new_clip_in); + clip->set_track(clip->track() + new_track); } else { - clip->timeline_in = new_in; - clip->timeline_out = new_out; - clip->clip_in = new_clip_in; - clip->track = new_track; + clip->set_timeline_in(new_in); + clip->set_timeline_out(new_out); + clip->set_clip_in(new_clip_in); + clip->set_track(new_track); } } @@ -116,8 +118,8 @@ void DeleteClipAction::doUndo() { void DeleteClipAction::doRedo() { // remove ref to clip ref = seq->clips.at(index); - if (ref->open) { - close_clip(ref, true); + if (ref->IsOpen()) { + ref->Close(true); } seq->clips[index] = nullptr; @@ -143,12 +145,12 @@ ChangeSequenceAction::ChangeSequenceAction(SequencePtr s) { } void ChangeSequenceAction::doUndo() { - set_sequence(old_sequence); + olive::Global->set_sequence(old_sequence); } void ChangeSequenceAction::doRedo() { old_sequence = olive::ActiveSequence; - set_sequence(new_sequence); + olive::Global->set_sequence(new_sequence); } SetTimelineInOutCommand::SetTimelineInOutCommand(SequencePtr s, bool enabled, long in, long out) { @@ -165,7 +167,7 @@ void SetTimelineInOutCommand::doUndo() { // footage viewer functions if (seq->wrapper_sequence) { - FootagePtr m = seq->clips.at(0)->media->to_footage(); + FootagePtr m = seq->clips.at(0)->media()->to_footage(); m->using_inout = old_enabled; m->in = old_in; m->out = old_out; @@ -183,7 +185,7 @@ void SetTimelineInOutCommand::doRedo() { // footage viewer functions if (seq->wrapper_sequence) { - FootagePtr m = seq->clips.at(0)->media->to_footage(); + FootagePtr m = seq->clips.at(0)->media()->to_footage(); m->using_inout = new_enabled; m->in = new_in; m->out = new_out; @@ -417,11 +419,11 @@ void AddClipCommand::doUndo() { } // deselect the area occupied by this clip - panel_timeline->deselect_area(c->timeline_in, c->timeline_out, c->track); + panel_timeline->deselect_area(c->timeline_in(), c->timeline_out(), c->track()); // if the clip is open, close it - if (c->open) { - close_clip(c, true); + if (c->IsOpen()) { + c->Close(true); } } @@ -468,7 +470,6 @@ void LinkCommand::doUndo() { void LinkCommand::doRedo() { old_links.clear(); for (int i=0;iclips.at(clips.at(i)); if (link) { for (int j=0;jto_sequence(); for (int j=0;jclips.size();j++) { ClipPtr c = s->clips.at(j); - if (c != nullptr && c->media == item && c->open) { - close_clip(c, true); + if (c != nullptr && c->media() == item && c->IsOpen()) { + c->Close(true); c->replaced = true; } } @@ -526,8 +527,8 @@ void ReplaceMediaCommand::replace(QString& filename) { // replace media QStringList files; files.append(filename); - item->to_footage()->ready_lock.lock(); panel_project->process_file_list(files, false, item, nullptr); + PreviewGenerator* pg = new PreviewGenerator(item); } void ReplaceMediaCommand::doUndo() { @@ -553,23 +554,23 @@ void ReplaceClipMediaCommand::replace(bool undo) { for (int i=0;iopen) { - close_clip(c, true); + if (c->IsOpen()) { + c->Close(true); } if (undo) { if (!preserve_clip_ins) { - c->clip_in = old_clip_ins.at(i); + c->set_clip_in(old_clip_ins.at(i)); } - c->media = old_media; + c->set_media(old_media, c->media_stream_index()); } else { if (!preserve_clip_ins) { - old_clip_ins.append(c->clip_in); - c->clip_in = 0; + old_clip_ins.append(c->clip_in()); + c->set_clip_in(0); } - c->media = new_media; + c->set_media(new_media, c->media_stream_index()); } c->replaced = true; @@ -685,20 +686,68 @@ void EffectFieldUndo::doRedo() { } } -SetAutoscaleAction::SetAutoscaleAction() {} +SetClipProperty::SetClipProperty(SetClipPropertyType type) : type_(type) +{} -void SetAutoscaleAction::doUndo() { - for (int i=0;iautoscale = !clips.at(i)->autoscale; +void SetClipProperty::AddSetting(ClipPtr c, bool setting) +{ + clips_.append(c); + setting_.append(setting); + + // store current setting for undoing + bool old_setting = false; + switch (type_) { + case kSetClipPropertyAutoscale: + old_setting = c->autoscaled(); + break; + case kSetClipPropertyReversed: + old_setting = c->reversed(); + break; + case kSetClipPropertyMaintainAudioPitch: + old_setting = c->speed().maintain_audio_pitch; + break; + case kSetClipPropertyEnabled: + old_setting = c->enabled(); + break; } + old_setting_.append(old_setting); +} + +void SetClipProperty::MainLoop(bool undo) +{ + for (int i=0;iset_autoscaled(setting); + break; + case kSetClipPropertyReversed: + clips_.at(i)->set_reversed(setting); + break; + case kSetClipPropertyMaintainAudioPitch: + { + ClipSpeed s = clips_.at(i)->speed(); + s.maintain_audio_pitch = setting; + clips_.at(i)->set_speed(s); + } + break; + case kSetClipPropertyEnabled: + clips_.at(i)->set_enabled(setting); + break; + } + } +} + +void SetClipProperty::doUndo() { + MainLoop(true); panel_sequence_viewer->viewer_widget->frame_update(); } -void SetAutoscaleAction::doRedo() { - for (int i=0;iautoscale = !clips.at(i)->autoscale; - } +void SetClipProperty::doRedo() { + MainLoop(false); panel_sequence_viewer->viewer_widget->frame_update(); } @@ -782,19 +831,24 @@ void DeleteMarkerAction::doRedo() { SetSpeedAction::SetSpeedAction(ClipPtr c, double speed) { clip = c; - old_speed = c->speed; + old_speed = c->speed().value; new_speed = speed; } void SetSpeedAction::doUndo() { - clip->speed = old_speed; - clip->recalculateMaxLength(); + ClipSpeed cs = clip->speed(); + cs.value = old_speed; + + clip->set_speed(cs); } void SetSpeedAction::doRedo() { - clip->speed = new_speed; - clip->recalculateMaxLength(); + ClipSpeed cs = clip->speed(); + + cs.value = new_speed; + + clip->set_speed(cs); } SetBool::SetBool(bool* b, bool setting) { @@ -868,7 +922,7 @@ void EditSequenceCommand::update() { } if (olive::ActiveSequence == seq) { - set_sequence(seq); + olive::Global->set_sequence(seq); } } @@ -907,7 +961,7 @@ void CloseAllClipsCommand::doUndo() { } void CloseAllClipsCommand::doRedo() { - closeActiveClips(olive::ActiveSequence); + close_active_clips(olive::ActiveSequence); } UpdateFootageTooltip::UpdateFootageTooltip(Media *i) { @@ -955,15 +1009,15 @@ RenameClipCommand::RenameClipCommand() {} void RenameClipCommand::doUndo() { for (int i=0;iname = old_names.at(i); + clips.at(i)->set_name(old_names.at(i)); } } void RenameClipCommand::doRedo() { old_names.resize(clips.size()); for (int i=0;iname; - clips.at(i)->name = new_name; + old_names[i] = clips.at(i)->name(); + clips.at(i)->set_name(new_name); } } @@ -1007,7 +1061,7 @@ void RippleAction::doRedo() { if (!ignore.contains(i)) { ClipPtr c = s->clips.at(i); if (c != nullptr) { - if (c->timeline_in >= point) { + if (c->timeline_in() >= point) { move_clip(ca, c, length, length, 0, 0, true, true); } } @@ -1108,7 +1162,7 @@ void RefreshClips::doRedo() { SequencePtr s = all_sequences.at(i)->to_sequence(); for (int j=0;jclips.size();j++) { ClipPtr c = s->clips.at(j); - if (c != nullptr && c->media == media) { + if (c != nullptr && c->media() == media) { c->replaced = true; c->refresh(); } diff --git a/project/undo.h b/project/undo.h index 44ff615de..16507b148 100644 --- a/project/undo.h +++ b/project/undo.h @@ -362,12 +362,25 @@ private: bool done; }; -class SetAutoscaleAction : public OliveAction { +enum SetClipPropertyType { + kSetClipPropertyAutoscale, + kSetClipPropertyReversed, + kSetClipPropertyMaintainAudioPitch, + kSetClipPropertyEnabled +}; + +class SetClipProperty : public OliveAction { public: - SetAutoscaleAction(); + SetClipProperty(SetClipPropertyType type); virtual void doUndo() override; virtual void doRedo() override; - QVector clips; + void AddSetting(ClipPtr c, bool setting); +private: + SetClipPropertyType type_; + QVector clips_; + QVector setting_; + QVector old_setting_; + void MainLoop(bool undo); }; class AddMarkerAction : public OliveAction { diff --git a/rendering/audio.cpp b/rendering/audio.cpp new file mode 100644 index 000000000..a5e4b49a6 --- /dev/null +++ b/rendering/audio.cpp @@ -0,0 +1,401 @@ +/*** + + Olive - Non-Linear Video Editor + Copyright (C) 2019 Olive Team + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +***/ + +#include "audio.h" + +#include "oliveglobal.h" + +#include "project/sequence.h" + +#include "panels/panels.h" + +#include "io/config.h" +#include "ui/audiomonitor.h" +#include "rendering/renderfunctions.h" +#include "debug.h" + +#include +#include +#include +#include +#include +#include +#include + +extern "C" { +#include +} + +QAudioOutput* audio_output; +QIODevice* audio_io_device; +bool audio_device_set = false; +bool audio_scrub = false; +QMutex audio_write_lock; +QAudioInput* audio_input = nullptr; +QFile output_recording; +bool audio_rendering = false; +bool recording = false; + +qint8 audio_ibuffer[audio_ibuffer_size]; +qint64 audio_ibuffer_read = 0; +long audio_ibuffer_frame = 0; +double audio_ibuffer_timecode = 0; + +AudioSenderThread* audio_thread = nullptr; + +bool is_audio_device_set() { + return audio_device_set; +} + +QAudioDeviceInfo get_audio_device(QAudio::Mode mode) { + QList devs = QAudioDeviceInfo::availableDevices(mode); + + // try to retrieve preferred device from config + QString preferred_device = (mode == QAudio::AudioOutput) ? olive::CurrentConfig.preferred_audio_output : olive::CurrentConfig.preferred_audio_input; + if (!preferred_device.isEmpty()) { + for (int i=0;i 0) { + return devs.at(0); + } + + // couldn't find any audio devices, return null device + return QAudioDeviceInfo(); +} + +void init_audio() { + stop_audio(); + + QAudioFormat audio_format; + audio_format.setSampleRate(olive::CurrentConfig.audio_rate); + audio_format.setChannelCount(2); + audio_format.setSampleSize(16); + audio_format.setCodec("audio/pcm"); + audio_format.setByteOrder(QAudioFormat::LittleEndian); + audio_format.setSampleType(QAudioFormat::SignedInt); + + QAudioDeviceInfo info = get_audio_device(QAudio::AudioOutput); + + // see if desired format can be used by the device, use nearest if not + if (!info.isFormatSupported(audio_format)) { + qWarning() << "Audio format is not supported by backend, using nearest"; + audio_format = info.nearestFormat(audio_format); + } + + audio_output = new QAudioOutput(info, audio_format); + audio_output->moveToThread(QApplication::instance()->thread()); + audio_output->setNotifyInterval(5); + + // connect + audio_io_device = audio_output->start(); + if (audio_io_device == nullptr) { + qWarning() << "Received nullptr audio device. No compatible audio output was found."; + } else { + audio_device_set = true; + + // start sender thread + audio_thread = new AudioSenderThread(); + QObject::connect(audio_output, SIGNAL(notify()), audio_thread, SLOT(notifyReceiver())); + audio_thread->start(QThread::TimeCriticalPriority); + + clear_audio_ibuffer(); + } +} + +void stop_audio() { + if (audio_device_set) { + audio_thread->stop(); + + audio_output->stop(); + delete audio_output; + audio_device_set = false; + } +} + +void clear_audio_ibuffer() { + if (audio_thread != nullptr) audio_thread->lock.lock(); + audio_write_lock.lock(); + memset(audio_ibuffer, 0, audio_ibuffer_size); + audio_ibuffer_read = 0; + audio_write_lock.unlock(); + if (audio_thread != nullptr) audio_thread->lock.unlock(); +} + +int current_audio_freq() { + return audio_rendering ? olive::ActiveSequence->audio_frequency : audio_output->format().sampleRate(); +} + +qint64 get_buffer_offset_from_frame(double framerate, long frame) { + if (frame >= audio_ibuffer_frame) { + int multiplier = av_get_bytes_per_sample(AV_SAMPLE_FMT_S16)*av_get_channel_layout_nb_channels(AV_CH_LAYOUT_STEREO); + return qFloor((double(frame - audio_ibuffer_frame)/framerate)*current_audio_freq())*multiplier; + } else { + qWarning() << "Invalid values passed to get_buffer_offset_from_frame" << frame << "<" << audio_ibuffer_frame; + return 0; + } +} + +AudioSenderThread::AudioSenderThread() : close(false) { + connect(this, SIGNAL(finished()), this, SLOT(deleteLater())); +} + +void AudioSenderThread::stop() { + close = true; + cond.wakeAll(); + wait(); +} + +void AudioSenderThread::notifyReceiver() { + cond.wakeAll(); +} + +void AudioSenderThread::run() { + // start data loop + send_audio_to_output(0, audio_ibuffer_size); + + lock.lock(); + while (true) { + cond.wait(&lock); + if (close) { + break; + } else if (panel_sequence_viewer->playing || panel_footage_viewer->playing || audio_scrub) { + int written_bytes = 0; + + int adjusted_read_index = audio_ibuffer_read%audio_ibuffer_size; + int max_write = audio_ibuffer_size - adjusted_read_index; + int actual_write = send_audio_to_output(adjusted_read_index, max_write); + written_bytes += actual_write; + if (actual_write == max_write) { + // got all the bytes, write again + written_bytes += send_audio_to_output(0, audio_ibuffer_size); + } + + audio_scrub = false; + } + } + lock.unlock(); +} + +int AudioSenderThread::send_audio_to_output(qint64 offset, int max) { + // send audio to device + qint64 actual_write = audio_io_device->write(reinterpret_cast(audio_ibuffer)+offset, max); + + qint64 audio_ibuffer_limit = audio_ibuffer_read + actual_write; + + if (actual_write > 0) { + // average values and send to audio monitor + int channels = audio_output->format().channelCount(); + qint64 lim = offset + actual_write; + QVector averages; + averages.resize(channels); + averages.fill(0); + + int counter = 0; + qint16 sample; + for (qint64 i=offset;iaudio_monitor->set_value(averages); + } + + memset(audio_ibuffer+offset, 0, actual_write); + + audio_ibuffer_read = audio_ibuffer_limit; + + return actual_write; +} + +double log_volume(double linear) { + // expects a value between 0 and 1 (or more if amplifying) + return (qExp(linear)-1)/(M_E-1); +} + +void int32_to_char_array(qint32 i, char* array) { + memcpy(array, &i, 4); +} + +void write_wave_header(QFile& f, const QAudioFormat& format) { + qint32 int32bit; + char arr[4]; + + // 4 byte riff header + f.write("RIFF"); + + // 4 byte file size, filled in later + for (int i=0;i<4;i++) f.putChar(0); + + // 4 byte file type header + 4 byte format chunk marker + f.write("WAVEfmt"); + f.putChar(0x20); + + // 4 byte length of the above format data (always 16 bytes) + f.putChar(16); + for (int i=0;i<3;i++) f.putChar(0); + + // 2 byte type format (1 is PCM) + f.putChar(1); + f.putChar(0); + + // 2 byte channel count + int32bit = format.channelCount(); + int32_to_char_array(int32bit, arr); + f.write(arr, 2); + + // 4 byte integer for sample rate + int32bit = format.sampleRate(); + int32_to_char_array(int32bit, arr); + f.write(arr, 4); + + // 4 byte integer for bytes per second + int32bit = (format.sampleRate() * format.sampleSize() * format.channelCount()) / 8; + int32_to_char_array(int32bit, arr); + f.write(arr, 4); + + // 2 byte integer for bytes per sample per channel + int32bit = (format.sampleSize() * format.channelCount()) / 8; + int32_to_char_array(int32bit, arr); + f.write(arr, 2); + + // 2 byte integer for bits per sample (16) + int32bit = format.sampleSize(); + int32_to_char_array(int32bit, arr); + f.write(arr, 2); + + // data chunk header + f.write("data"); + + // 4 byte integer for data chunk size (filled in later)? + for (int i=0;i<4;i++) f.putChar(0); +} + +void write_wave_trailer(QFile& f) { + char arr[4]; + + f.seek(4); + + // 4 bytes for total file size - 8 bytes + qint32 file_size = qint32(f.size()) - 8; + int32_to_char_array(file_size, arr); + f.write(arr, 4); + + f.seek(40); + + // 4 bytes for data chunk size (file size - header) + file_size = qint32(f.size()) - 44; + int32_to_char_array(file_size, arr); + f.write(arr, 4); +} + +bool start_recording() { + if (olive::ActiveSequence == nullptr) { + qCritical() << "No active sequence to record into"; + return false; + } + + QString audio_path = QCoreApplication::translate("Audio", "%1 Audio").arg(olive::ActiveProjectFilename); + QDir audio_dir(audio_path); + if (!audio_dir.exists() && !audio_dir.mkpath(".")) { + qCritical() << "Failed to create audio directory"; + return false; + } + + QString audio_file_path; + int file_number = 0; + do { + file_number++; + + QString audio_filename = QString("%1.wav").arg( + QCoreApplication::translate("Audio", "Recording %1").arg(QString::number(file_number)) + ); + + audio_file_path = audio_dir.filePath(audio_filename); + } while (QFile(audio_file_path).exists()); + + output_recording.setFileName(audio_file_path); + if (!output_recording.open(QFile::WriteOnly)) { + qCritical() << "Failed to open output file. Does Olive have permission to write to this directory?"; + return false; + } + + QAudioFormat audio_format = audio_output->format(); + if (olive::CurrentConfig.recording_mode != audio_format.channelCount()) { + audio_format.setChannelCount(olive::CurrentConfig.recording_mode); + } + + QAudioDeviceInfo info = get_audio_device(QAudio::AudioInput); + + if (!info.isFormatSupported(audio_format)) { + qWarning() << "Default format not supported, using nearest"; + audio_format = info.nearestFormat(audio_format); + } + write_wave_header(output_recording, audio_format); + audio_input = new QAudioInput(info, audio_format); + audio_input->start(&output_recording); + recording = true; + + return true; +} + +void stop_recording() { + if (recording) { + audio_input->stop(); + + write_wave_trailer(output_recording); + + output_recording.close(); + + delete audio_input; + audio_input = nullptr; + recording = false; + } +} + +QString get_recorded_audio_filename() { + return output_recording.fileName(); +} + +void combobox_audio_sample_rates(QComboBox *combobox) { + combobox->addItem("22050 Hz", 22050); + combobox->addItem("24000 Hz", 24000); + combobox->addItem("32000 Hz", 32000); + combobox->addItem("44100 Hz", 44100); + combobox->addItem("48000 Hz", 48000); + combobox->addItem("88200 Hz", 88200); + combobox->addItem("96000 Hz", 96000); +} diff --git a/playback/audio.h b/rendering/audio.h similarity index 100% rename from playback/audio.h rename to rendering/audio.h diff --git a/rendering/cacher.cpp b/rendering/cacher.cpp new file mode 100644 index 000000000..47b8e9c97 --- /dev/null +++ b/rendering/cacher.cpp @@ -0,0 +1,1269 @@ +/*** + + Olive - Non-Linear Video Editor + Copyright (C) 2019 Olive Team + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +***/ + +#include "cacher.h" + +#include +#include +#include +#include + +#include "project/projectelements.h" +#include "rendering/audio.h" +#include "rendering/renderfunctions.h" +#include "panels/panels.h" +#include "io/config.h" +#include "debug.h" + +// Enable verbose audio messages - good for debugging reversed audio +//#define AUDIOWARNINGS + +const AVPixelFormat kDestPixFmt = AV_PIX_FMT_RGBA; +const AVSampleFormat kDestSampleFmt = AV_SAMPLE_FMT_S16; + +double bytes_to_seconds(int nb_bytes, int nb_channels, int sample_rate) { + return (double(nb_bytes >> 1) / nb_channels / sample_rate); +} + +void apply_audio_effects(ClipPtr clip, double timecode_start, AVFrame* frame, int nb_bytes, QVector nests) { + // perform all audio effects + double timecode_end; + timecode_end = timecode_start + bytes_to_seconds(nb_bytes, frame->channels, frame->sample_rate); + + for (int j=0;jeffects.size();j++) { + EffectPtr e = clip->effects.at(j); + if (e->is_enabled()) e->process_audio(timecode_start, timecode_end, frame->data[0], nb_bytes, 2); + } + if (clip->opening_transition != nullptr) { + if (clip->media() != nullptr && clip->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + double transition_start = (clip->clip_in(true) / clip->sequence->frame_rate); + double transition_end = (clip->clip_in(true) + clip->opening_transition->get_length()) / clip->sequence->frame_rate; + if (timecode_end < transition_end) { + double adjustment = transition_end - transition_start; + double adjusted_range_start = (timecode_start - transition_start) / adjustment; + double adjusted_range_end = (timecode_end - transition_start) / adjustment; + clip->opening_transition->process_audio(adjusted_range_start, adjusted_range_end, frame->data[0], nb_bytes, kTransitionOpening); + } + } + } + if (clip->closing_transition != nullptr) { + if (clip->media() != nullptr && clip->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + long length_with_transitions = clip->timeline_out(true) - clip->timeline_in(true); + double transition_start = (clip->clip_in(true) + length_with_transitions - clip->closing_transition->get_length()) / clip->sequence->frame_rate; + double transition_end = (clip->clip_in(true) + length_with_transitions) / clip->sequence->frame_rate; + if (timecode_start > transition_start) { + double adjustment = transition_end - transition_start; + double adjusted_range_start = (timecode_start - transition_start) / adjustment; + double adjusted_range_end = (timecode_end - transition_start) / adjustment; + clip->closing_transition->process_audio(adjusted_range_start, adjusted_range_end, frame->data[0], nb_bytes, kTransitionClosing); + } + } + } + + if (!nests.isEmpty()) { + ClipPtr next_nest = nests.last(); + nests.removeLast(); + apply_audio_effects(next_nest, + timecode_start + (double(clip->timeline_in(true)-clip->clip_in(true))/clip->sequence->frame_rate), + frame, + nb_bytes, + nests); + } +} + +#define AUDIO_BUFFER_PADDING 2048 +void Cacher::CacheAudioWorker() { + // main thread waits until cacher starts fully, wake it up here + WakeMainThread(); + + bool audio_just_reset = false; + + // for audio clips, something may have triggered an audio reset (common if the user seeked) + if (audio_reset_) { + Reset(); + audio_reset_ = false; + audio_just_reset = true; + } + + long timeline_in = clip->timeline_in(true); + long timeline_out = clip->timeline_out(true); + long target_frame = audio_target_frame; + + bool temp_reverse = (playback_speed_ < 0); + bool reverse_audio = (clip->reversed() != temp_reverse); + + long frame_skip = 0; + double last_fr = clip->sequence->frame_rate; + if (!nests_.isEmpty()) { + for (int i=nests_.size()-1;i>=0;i--) { + timeline_in = rescale_frame_number(timeline_in, last_fr, nests_.at(i)->sequence->frame_rate) + nests_.at(i)->timeline_in(true) - nests_.at(i)->clip_in(true); + timeline_out = rescale_frame_number(timeline_out, last_fr, nests_.at(i)->sequence->frame_rate) + nests_.at(i)->timeline_in(true) - nests_.at(i)->clip_in(true); + target_frame = rescale_frame_number(target_frame, last_fr, nests_.at(i)->sequence->frame_rate) + nests_.at(i)->timeline_in(true) - nests_.at(i)->clip_in(true); + + timeline_out = qMin(timeline_out, nests_.at(i)->timeline_out(true)); + + frame_skip = rescale_frame_number(frame_skip, last_fr, nests_.at(i)->sequence->frame_rate); + + long validator = nests_.at(i)->timeline_in(true) - timeline_in; + if (validator > 0) { + frame_skip += validator; + //timeline_in = nests_.at(i)->timeline_in(true); + } + + last_fr = nests_.at(i)->sequence->frame_rate; + } + } + + if (temp_reverse) { + long seq_end = olive::ActiveSequence->getEndFrame(); + timeline_in = seq_end - timeline_in; + timeline_out = seq_end - timeline_out; + target_frame = seq_end - target_frame; + + long temp = timeline_in; + timeline_in = timeline_out; + timeline_out = temp; + } + + while (true) { + AVFrame* frame; + int nb_bytes = INT_MAX; + + if (clip->media() == nullptr) { + frame = frame_; + nb_bytes = frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels; + while ((frame_sample_index_ == -1 || frame_sample_index_ >= nb_bytes) && nb_bytes > 0) { + // create "new frame" + memset(frame_->data[0], 0, nb_bytes); + apply_audio_effects(clip, bytes_to_seconds(frame->pts, frame->channels, frame->sample_rate), frame, nb_bytes, nests_); + frame_->pts += nb_bytes; + frame_sample_index_ = 0; + if (audio_buffer_write == 0) { + audio_buffer_write = get_buffer_offset_from_frame(last_fr, qMax(timeline_in, target_frame)); + } + int offset = audio_ibuffer_read - audio_buffer_write; + if (offset > 0) { + audio_buffer_write += offset; + frame_sample_index_ += offset; + } + } + } else if (clip->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + double timebase = av_q2d(stream->time_base); + + frame = queue.at(0); + + // retrieve frame + bool new_frame = false; + while ((frame_sample_index_ == -1 || frame_sample_index_ >= nb_bytes) && nb_bytes > 0) { + // no more audio left in frame, get a new one + if (!reached_end) { + int loop = 0; + + if (reverse_audio && !audio_just_reset) { + avcodec_flush_buffers(codecCtx); + reached_end = false; + int64_t backtrack_seek = qMax(reverse_target_ - static_cast(av_q2d(av_inv_q(stream->time_base))), static_cast(0)); + av_seek_frame(formatCtx, stream->index, backtrack_seek, AVSEEK_FLAG_BACKWARD); +#ifdef AUDIOWARNINGS + if (backtrack_seek == 0) { + dout << "backtracked to 0"; + } +#endif + } + + do { + av_frame_unref(frame); + + int ret; + + while ((ret = av_buffersink_get_frame(buffersink_ctx, frame)) == AVERROR(EAGAIN)) { + ret = RetrieveFrameFromDecoder(frame_); + if (ret >= 0) { + if ((ret = av_buffersrc_add_frame_flags(buffersrc_ctx, frame_, AV_BUFFERSRC_FLAG_KEEP_REF)) < 0) { + qCritical() << "Could not feed filtergraph -" << ret; + break; + } + } else { + if (ret == AVERROR_EOF) { +#ifdef AUDIOWARNINGS + dout << "reached EOF while reading"; +#endif + // TODO revise usage of reached_end in audio + if (!reverse_audio) { + reached_end = true; + } else { + } + } else { + qWarning() << "Raw audio frame data could not be retrieved." << ret; + reached_end = true; + } + break; + } + } + + if (ret < 0) { + if (ret != AVERROR_EOF) { + qCritical() << "Could not pull from filtergraph"; + reached_end = true; + break; + } else { +#ifdef AUDIOWARNINGS + dout << "reached EOF while pulling from filtergraph"; +#endif + if (!reverse_audio) break; + } + } + + if (reverse_audio) { + if (loop > 1) { + AVFrame* rev_frame = queue.at(1); + if (ret != AVERROR_EOF) { + if (loop == 2) { +#ifdef AUDIOWARNINGS + dout << "starting rev_frame"; +#endif + rev_frame->nb_samples = 0; + rev_frame->pts = frame_->pkt_pts; + } + int offset = rev_frame->nb_samples * av_get_bytes_per_sample(static_cast(rev_frame->format)) * rev_frame->channels; +#ifdef AUDIOWARNINGS + dout << "offset 1:" << offset; + dout << "retrieved samples:" << frame->nb_samples << "size:" << (frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels); +#endif + memcpy( + rev_frame->data[0]+offset, + frame->data[0], + (frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels) + ); +#ifdef AUDIOWARNINGS + dout << "pts:" << frame_->pts << "dur:" << frame_->pkt_duration << "rev_target:" << reverse_target << "offset:" << offset << "limit:" << rev_frame->linesize[0]; +#endif + } + + rev_frame->nb_samples += frame->nb_samples; + + if ((frame_->pts >= reverse_target_) || (ret == AVERROR_EOF)) { + /* +#ifdef AUDIOWARNINGS + dout << "time for the end of rev cache" << rev_frame->nb_samples << clip->rev_target << frame_->pts << frame_->pkt_duration << frame_->nb_samples; + dout << "diff:" << (frame_->pkt_pts + frame_->pkt_duration) - clip->rev_target; +#endif + int cutoff = qRound64((((frame_->pkt_pts + frame_->pkt_duration) - reverse_target) * timebase) * audio_output->format().sampleRate()); + if (cutoff > 0) { +#ifdef AUDIOWARNINGS + dout << "cut off" << cutoff << "samples (rate:" << audio_output->format().sampleRate() << ")"; +#endif + rev_frame->nb_samples -= cutoff; + } +*/ + +#ifdef AUDIOWARNINGS + dout << "pre cutoff deets::: rev_frame.pts:" << rev_frame->pts << "rev_frame.nb_samples" << rev_frame->nb_samples << "rev_target:" << reverse_target; +#endif + double playback_speed_ = clip->speed().value * clip->media()->to_footage()->speed; + rev_frame->nb_samples = qRound64(double(reverse_target_ - rev_frame->pts) * timebase * (current_audio_freq() / playback_speed_)); +#ifdef AUDIOWARNINGS + dout << "post cutoff deets::" << rev_frame->nb_samples; +#endif + + int frame_size = rev_frame->nb_samples * rev_frame->channels * av_get_bytes_per_sample(static_cast(rev_frame->format)); + int half_frame_size = frame_size >> 1; + + int sample_size = rev_frame->channels*av_get_bytes_per_sample(static_cast(rev_frame->format)); + char* temp_chars = new char[sample_size]; + for (int i=0;idata[0][i], sample_size); + + memcpy(&rev_frame->data[0][i], &rev_frame->data[0][frame_size-i-sample_size], sample_size); + + memcpy(&rev_frame->data[0][frame_size-i-sample_size], temp_chars, sample_size); + } + delete [] temp_chars; + + reverse_target_ = rev_frame->pts; + frame = rev_frame; + break; + } + } + + loop++; + +#ifdef AUDIOWARNINGS + dout << "loop" << loop; +#endif + } else { + frame->pts = frame_->pts; + break; + } + } while (true); + } else { + // if there is no more data in the file, we flush the remainder out of swresample + break; + } + + new_frame = true; + + if (frame_sample_index_ < 0) { + frame_sample_index_ = 0; + } else { + frame_sample_index_ -= nb_bytes; + } + + nb_bytes = frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels; + + if (audio_just_reset) { + // get precise sample offset for the elected clip_in from this audio frame + double target_sts = playhead_to_clip_seconds(clip, audio_target_frame); + double frame_sts = ((frame->pts - stream->start_time) * timebase); + int nb_samples = qRound64((target_sts - frame_sts)*current_audio_freq()); + frame_sample_index_ = nb_samples * 4; +#ifdef AUDIOWARNINGS + dout << "fsts:" << frame_sts << "tsts:" << target_sts << "nbs:" << nb_samples << "nbb:" << nb_bytes << "rev_targetToSec:" << (reverse_target * timebase); + dout << "fsi-calc:" << frame_sample_index; +#endif + if (reverse_audio) frame_sample_index_ = nb_bytes - frame_sample_index_; + audio_just_reset = false; + } + +#ifdef AUDIOWARNINGS + dout << "fsi-post-post:" << frame_sample_index; +#endif + if (audio_buffer_write == 0) { + audio_buffer_write = get_buffer_offset_from_frame(last_fr, qMax(timeline_in, target_frame)); + + if (frame_skip > 0) { + int target = get_buffer_offset_from_frame(last_fr, qMax(timeline_in + frame_skip, target_frame)); + frame_sample_index_ += (target - audio_buffer_write); + audio_buffer_write = target; + } + } + + int offset = audio_ibuffer_read - audio_buffer_write; + if (offset > 0) { + audio_buffer_write += offset; + frame_sample_index_ += offset; + } + + // try to correct negative fsi + if (frame_sample_index_ < 0) { + audio_buffer_write -= frame_sample_index_; + frame_sample_index_ = 0; + } + } + + if (reverse_audio) frame = queue.at(1); + +#ifdef AUDIOWARNINGS + dout << "j" << frame_sample_index << nb_bytes; +#endif + + // apply any audio effects to the data + if (nb_bytes == INT_MAX) nb_bytes = frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels; + if (new_frame) { + apply_audio_effects(clip, bytes_to_seconds(audio_buffer_write, 2, current_audio_freq()) + audio_ibuffer_timecode + ((double)clip->clip_in(true)/clip->sequence->frame_rate) - ((double)timeline_in/last_fr), frame, nb_bytes, nests_); + } + } else { + // shouldn't ever get here + qCritical() << "Tried to cache a non-footage/tone clip"; + return; + } + + // mix audio into internal buffer + if (frame->nb_samples == 0) { + break; + } else { + qint64 buffer_timeline_out = get_buffer_offset_from_frame(clip->sequence->frame_rate, timeline_out); + + audio_write_lock.lock(); + + int sample_skip = 4*qMax(0, qAbs(playback_speed_)-1); + int sample_byte_size = av_get_bytes_per_sample(static_cast(frame->format)); + + while (frame_sample_index_ < nb_bytes + && audio_buffer_write < audio_ibuffer_read+(audio_ibuffer_size>>1) + && audio_buffer_write < buffer_timeline_out) { + for (int i=0;ichannels;i++) { + int upper_byte_index = (audio_buffer_write+1)%audio_ibuffer_size; + int lower_byte_index = (audio_buffer_write)%audio_ibuffer_size; + qint16 old_sample = static_cast((audio_ibuffer[upper_byte_index] & 0xFF) << 8 | (audio_ibuffer[lower_byte_index] & 0xFF)); + qint16 new_sample = static_cast((frame->data[0][frame_sample_index_+1] & 0xFF) << 8 | (frame->data[0][frame_sample_index_] & 0xFF)); + qint16 mixed_sample = mix_audio_sample(old_sample, new_sample); + + audio_ibuffer[upper_byte_index] = quint8((mixed_sample >> 8) & 0xFF); + audio_ibuffer[lower_byte_index] = quint8(mixed_sample & 0xFF); + + audio_buffer_write+=sample_byte_size; + frame_sample_index_+=sample_byte_size; + } + + frame_sample_index_ += sample_skip; + + if (audio_reset_) break; + } + +#ifdef AUDIOWARNINGS + if (audio_buffer_write >= buffer_timeline_out) dout << "timeline out at fsi" << frame_sample_index << "of frame ts" << frame_->pts; +#endif + + audio_write_lock.unlock(); + + if (audio_reset_) return; + + if (scrubbing_) { + if (audio_thread != nullptr) audio_thread->notifyReceiver(); + } + + if (frame_sample_index_ >= nb_bytes) { + frame_sample_index_ = -1; + } else { + // assume we have no more data to send + break; + } + + // dout << "ended" << frame_sample_index << nb_bytes; + } + if (reached_end) { + frame->nb_samples = 0; + } + if (scrubbing_) { + break; + } + } + + QMetaObject::invokeMethod(panel_footage_viewer, "play_wake", Qt::QueuedConnection); + QMetaObject::invokeMethod(panel_sequence_viewer, "play_wake", Qt::QueuedConnection); +} + +void Cacher::CacheVideoWorker() { + + // is this media a still image? + if (clip->media_stream()->infinite_length) { + + // for efficiency, we do slightly different things for a still image + + // if we already queued a frame, we don't actually need to cache anything, so we only retrieve a frame if not + if (queue.size() == 0) { + + // retrieve a single frame + + // main thread waits until cacher starts fully, wake it up here + WakeMainThread(); + + AVFrame* still_image_frame; + + if (RetrieveFrameAndProcess(&still_image_frame) >= 0) { + + queue.lock(); + queue.append(still_image_frame); + queue.unlock(); + + SetRetrievedFrame(still_image_frame); + } + + } + + } else { + // this media is not a still image and will require more complex caching + + // main thread waits until cacher starts fully, wake it up here + WakeMainThread(); + + // get the timestamp we want in terms of the media's timebase + int64_t target_pts = seconds_to_timestamp(clip, playhead_to_clip_seconds(clip, playhead_)); + + // get the value of one second in terms of the media's timebase + int64_t second_pts = seconds_to_timestamp(clip, 1); // FIXME: possibly magic number? + + // check which range of frames we have in the queue + int64_t earliest_pts = INT64_MAX; + int64_t latest_pts = INT64_MIN; + int frames_greater_than_target = 0; + + for (int i=0;ipts); + latest_pts = qMax(latest_pts, queue.at(i)->pts); + + // count upcoming frames + if (queue.at(i)->pts > target_pts) { + frames_greater_than_target++; + } + } + + // check if the frame is within this queue or if we'll have to seek elsewhere to get it + // (we check for one second of time after latest_pts, because if it's within that range it'll likely be faster to + // play up to that frame than seek to it) + if (target_pts < earliest_pts || target_pts > latest_pts + second_pts || queue.size() == 0) { + // we need to seek to retrieve this frame + + avcodec_flush_buffers(codecCtx); + av_seek_frame(formatCtx, clip->media_stream_index(), target_pts, AVSEEK_FLAG_BACKWARD); + + // also we assume none of the frames in the queue are usable + queue.lock(); + queue.clear(); + queue.unlock(); + + // reset upcoming frame count and latest pts for later calculations + frames_greater_than_target = 0; + latest_pts = INT64_MIN; + } + + // get values on old frames to remove from the queue + + // for FRAME_QUEUE_TYPE_SECONDS, this is used to store the maximum timestamp + // for FRAME_QUEUE_TYPE_FRAMES, this is used to store the maximum number of frames that can be added + int64_t minimum_ts; + + if (olive::CurrentConfig.previous_queue_type == olive::FRAME_QUEUE_TYPE_FRAMES) { + // get the maximum number of previous frames that can be in the queue + minimum_ts = qCeil(olive::CurrentConfig.previous_queue_size); + } else { + // get the minimum frame timestamp that can be added to the queue + minimum_ts = target_pts - seconds_to_timestamp(clip, olive::CurrentConfig.previous_queue_size); + } + + // check if we can add more frames to this queue or not + + // for FRAME_QUEUE_TYPE_SECONDS, this is used to store the maximum timestamp + // for FRAME_QUEUE_TYPE_FRAMES, this is used to store the maximum number of frames that can be added + int64_t maximum_ts; + + bool start_loop = true; + + if (olive::CurrentConfig.upcoming_queue_type == olive::FRAME_QUEUE_TYPE_FRAMES) { + maximum_ts = qCeil(olive::CurrentConfig.upcoming_queue_size); + + // if we already have the maximum number of upcoming frames, don't bother running the below loop at all + if (frames_greater_than_target >= maximum_ts) { + start_loop = false; + } + } else { + // get the maximum frame timestamp that can be added to the queue + maximum_ts = target_pts + seconds_to_timestamp(clip, olive::CurrentConfig.upcoming_queue_size); + + // if the latest frame is already past the maximum queue seconds + if (latest_pts > maximum_ts) { + start_loop = false; + } + } + + if (start_loop) { + + interrupt_ = false; + do { + AVFrame* decoded_frame; + +// qint64 time = QDateTime::currentMSecsSinceEpoch(); + int retrieve_code = RetrieveFrameAndProcess(&decoded_frame); + //qDebug() << "decode took:" << (QDateTime::currentMSecsSinceEpoch() - time); + + // for some reason we were unable to retrieve a frame, likely a decoder error so we report it + // again an EOF, is not really an "error", and we can continue execution if we encounter it + if (retrieve_code < 0 && retrieve_code != AVERROR_EOF) { + + qCritical() << "Failed to retrieve frame from buffersink." << retrieve_code; + + } else if (decoded_frame->pts != AV_NOPTS_VALUE) { + + // check if this frame exceeds the minimum timestamp + if (olive::CurrentConfig.previous_queue_type == olive::FRAME_QUEUE_TYPE_SECONDS + && decoded_frame->pts < minimum_ts) { + + // if so, we don't need it + av_frame_free(&decoded_frame); + + } else { + + if (retrieved_frame == nullptr) { + if (decoded_frame->pts == target_pts) { + SetRetrievedFrame(decoded_frame); + } else if (decoded_frame->pts > target_pts + && queue.size() > 0) { + SetRetrievedFrame(queue.last()); + } + } + + // add the frame to the queue + queue.lock(); + queue.append(decoded_frame); + queue.unlock(); + + // check the amount of previous frames in the queue by using the current queue size for if we need to + // remove any old entries (assumes the queue is chronological) + if (olive::CurrentConfig.previous_queue_type == olive::FRAME_QUEUE_TYPE_FRAMES) { + + int previous_frame_count = 0; + + if (decoded_frame->pts < target_pts) { + // if this frame is before the target frame, make sure we don't add too many of them + previous_frame_count = queue.size(); + } else { + // if this frame is after the target frame, clean up any previous frames before it + // TODO is there a faster way to do this? + + for (int i=0;ipts > target_pts) { + break; + } else { + previous_frame_count++; + } + } + + } + + // remove frames while the amount of previous frames exceeds the maximum + while (previous_frame_count > minimum_ts) { + queue.lock(); + queue.removeFirst(); + queue.unlock(); + previous_frame_count--; + } + + } + + // check if the queue is full according to olive::CurrentConfig + if (olive::CurrentConfig.upcoming_queue_type == olive::FRAME_QUEUE_TYPE_FRAMES) { + + // if this frame is later than the target, it's an "upcoming" frame + if (decoded_frame->pts > target_pts) { + + // we started a count of upcoming frames above, we can continue it here + frames_greater_than_target++; + + // compare upcoming frame count with maximum upcoming frames (maximum_ts) + if (frames_greater_than_target >= maximum_ts) { + break; + } + } + + } else if (decoded_frame->pts > maximum_ts) { // for `upcoming_queue_type == olive::FRAME_QUEUE_TYPE_SECONDS` + break; + } + + } + + + + } else { + + // if a frame has no timestamp (pts == AV_NOPTS_VALUE), we assume it's an invalid frame and don't use it + + qWarning() << clip->name() << "frame had no PTS value"; + av_frame_free(&decoded_frame); + SetRetrievedFrame(nullptr); + break; + + } + } while (!interrupt_); + + } + + } +} + +void Cacher::Reset() { + // if we seek to a whole other place in the timeline, we'll need to reset the cache with new values + if (clip->media() == nullptr) { + if (clip->track() >= 0) { + // a null-media audio clip is usually an auto-generated sound clip such as Tone or Noise + reached_end = false; + audio_target_frame = playhead_; + frame_sample_index_ = -1; + frame_->pts = 0; + } + } else { + + const FootageStream* ms = clip->media_stream(); + if (stream->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { + // flush ffmpeg codecs + avcodec_flush_buffers(codecCtx); + reached_end = false; + + // seek (target_frame represents timeline timecode in frames, not clip timecode) + + int64_t timestamp = qRound64(playhead_to_clip_seconds(clip, playhead_) / av_q2d(stream->time_base)); + + bool temp_reverse = (playback_speed_ < 0); + if (clip->reversed() != temp_reverse) { + reverse_target_ = timestamp; + timestamp -= av_q2d(av_inv_q(stream->time_base)); +#ifdef AUDIOWARNINGS + dout << "seeking to" << timestamp << "(originally" << reverse_target << ")"; + } else { + dout << "reset called; seeking to" << timestamp; +#endif + } + av_seek_frame(formatCtx, ms->file_index, timestamp, AVSEEK_FLAG_BACKWARD); + audio_target_frame = playhead_; + frame_sample_index_ = -1; + } + } +} + +void Cacher::SetRetrievedFrame(AVFrame *f) +{ + if (retrieved_frame == nullptr) { + retrieve_lock_.lock(); + retrieved_frame = f; + retrieve_wait_.wakeAll(); + retrieve_lock_.unlock(); + } +} + +void Cacher::WakeMainThread() +{ + main_thread_lock_.lock(); + main_thread_wait_.wakeAll(); + main_thread_lock_.unlock(); +} + +Cacher::Cacher(ClipPtr c) : clip(c) {} + +void Cacher::OpenWorker() { + qint64 time_start = QDateTime::currentMSecsSinceEpoch(); + + // set some defaults for the audio cacher + if (clip->track() >= 0) { + audio_reset_ = false; + frame_sample_index_ = -1; + audio_buffer_write = 0; + } + reached_end = false; + + if (clip->media() == nullptr) { + if (clip->track() >= 0) { + frame_ = av_frame_alloc(); + frame_->format = kDestSampleFmt; + frame_->channel_layout = clip->sequence->audio_layout; + frame_->channels = av_get_channel_layout_nb_channels(frame_->channel_layout); + frame_->sample_rate = current_audio_freq(); + frame_->nb_samples = 2048; + av_frame_make_writable(frame_); + if (av_frame_get_buffer(frame_, 0)) { + qCritical() << "Could not allocate buffer for tone clip"; + } + audio_reset_ = true; + } + } else if (clip->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + // opens file resource for FFmpeg and prepares Clip struct for playback + FootagePtr m = clip->media()->to_footage(); + + // byte array for retriving raw bytes from QString URL + QByteArray ba; + + // do we have a proxy? + if (m->proxy + && !m->proxy_path.isEmpty() + && QFileInfo::exists(m->proxy_path)) { + ba = m->proxy_path.toUtf8(); + } else { + ba = m->url.toUtf8(); + } + + const char* filename = ba.constData(); + const FootageStream* ms = clip->media_stream(); + + formatCtx = nullptr; + int errCode = avformat_open_input( + &formatCtx, + filename, + nullptr, + nullptr + ); + if (errCode != 0) { + char err[1024]; + av_strerror(errCode, err, 1024); + qCritical() << "Could not open" << filename << "-" << err; + return; + } + + errCode = avformat_find_stream_info(formatCtx, nullptr); + if (errCode < 0) { + char err[1024]; + av_strerror(errCode, err, 1024); + qCritical() << "Could not open" << filename << "-" << err; + return; + } + + av_dump_format(formatCtx, 0, filename, 0); + + stream = formatCtx->streams[ms->file_index]; + codec = avcodec_find_decoder(stream->codecpar->codec_id); + codecCtx = avcodec_alloc_context3(codec); + avcodec_parameters_to_context(codecCtx, stream->codecpar); + + opts = nullptr; + + // enable multithreading on decoding + av_dict_set(&opts, "threads", "auto", 0); + + // enable extra optimization code on h264 (not even sure if they help) + if (stream->codecpar->codec_id == AV_CODEC_ID_H264) { + av_dict_set(&opts, "tune", "fastdecode", 0); + av_dict_set(&opts, "tune", "zerolatency", 0); + } + + // Open codec + if (avcodec_open2(codecCtx, codec, &opts) < 0) { + qCritical() << "Could not open codec"; + } + + // allocate filtergraph + filter_graph = avfilter_graph_alloc(); + if (filter_graph == nullptr) { + qCritical() << "Could not create filtergraph"; + } + char filter_args[512]; + + if (stream->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) { + snprintf(filter_args, sizeof(filter_args), "video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d", + stream->codecpar->width, + stream->codecpar->height, + stream->codecpar->format, + stream->time_base.num, + stream->time_base.den, + stream->codecpar->sample_aspect_ratio.num, + stream->codecpar->sample_aspect_ratio.den + ); + + avfilter_graph_create_filter(&buffersrc_ctx, avfilter_get_by_name("buffer"), "in", filter_args, nullptr, filter_graph); + avfilter_graph_create_filter(&buffersink_ctx, avfilter_get_by_name("buffersink"), "out", nullptr, nullptr, filter_graph); + + AVFilterContext* last_filter = buffersrc_ctx; + + char filter_args[100]; + + if (ms->video_interlacing != VIDEO_PROGRESSIVE) { + AVFilterContext* yadif_filter; + snprintf(filter_args, sizeof(filter_args), "mode=3:parity=%d", ((ms->video_interlacing == VIDEO_TOP_FIELD_FIRST) ? 0 : 1)); // there's a CUDA version if we start using nvdec/nvenc + avfilter_graph_create_filter(&yadif_filter, avfilter_get_by_name("yadif"), "yadif", filter_args, nullptr, filter_graph); + + avfilter_link(last_filter, 0, yadif_filter, 0); + last_filter = yadif_filter; + } + + const char* chosen_format = av_get_pix_fmt_name(kDestPixFmt); + snprintf(filter_args, sizeof(filter_args), "pix_fmts=%s", chosen_format); + + AVFilterContext* format_conv; + avfilter_graph_create_filter(&format_conv, avfilter_get_by_name("format"), "fmt", filter_args, nullptr, filter_graph); + avfilter_link(last_filter, 0, format_conv, 0); + + avfilter_link(format_conv, 0, buffersink_ctx, 0); + + avfilter_graph_config(filter_graph, nullptr); + + } else if (stream->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { + if (codecCtx->channel_layout == 0) codecCtx->channel_layout = av_get_default_channel_layout(stream->codecpar->channels); + + // set up cache + queue.append(av_frame_alloc()); + // if (clip->reverse) { + if (true) { + AVFrame* reverse_frame = av_frame_alloc(); + + reverse_frame->format = kDestSampleFmt; + reverse_frame->nb_samples = current_audio_freq()*10; + reverse_frame->channel_layout = clip->sequence->audio_layout; + reverse_frame->channels = av_get_channel_layout_nb_channels(clip->sequence->audio_layout); + av_frame_get_buffer(reverse_frame, 0); + + queue.append(reverse_frame); + } + + snprintf(filter_args, sizeof(filter_args), "time_base=%d/%d:sample_rate=%d:sample_fmt=%s:channel_layout=0x%" PRIx64, + stream->time_base.num, + stream->time_base.den, + stream->codecpar->sample_rate, + av_get_sample_fmt_name(codecCtx->sample_fmt), + codecCtx->channel_layout + ); + + avfilter_graph_create_filter(&buffersrc_ctx, avfilter_get_by_name("abuffer"), "in", filter_args, nullptr, filter_graph); + avfilter_graph_create_filter(&buffersink_ctx, avfilter_get_by_name("abuffersink"), "out", nullptr, nullptr, filter_graph); + + enum AVSampleFormat sample_fmts[] = { kDestSampleFmt, static_cast(-1) }; + if (av_opt_set_int_list(buffersink_ctx, "sample_fmts", sample_fmts, -1, AV_OPT_SEARCH_CHILDREN) < 0) { + qCritical() << "Could not set output sample format"; + } + + int64_t channel_layouts[] = { AV_CH_LAYOUT_STEREO, static_cast(-1) }; + if (av_opt_set_int_list(buffersink_ctx, "channel_layouts", channel_layouts, -1, AV_OPT_SEARCH_CHILDREN) < 0) { + qCritical() << "Could not set output sample format"; + } + + int target_sample_rate = current_audio_freq(); + + double playback_speed_ = clip->speed().value * m->speed; + + if (qFuzzyCompare(playback_speed_, 1.0)) { + avfilter_link(buffersrc_ctx, 0, buffersink_ctx, 0); + } else if (clip->speed().maintain_audio_pitch) { + AVFilterContext* previous_filter = buffersrc_ctx; + AVFilterContext* last_filter = buffersrc_ctx; + + char speed_param[10]; + + double base = (playback_speed_ > 1.0) ? 2.0 : 0.5; + + double speedlog = log(playback_speed_) / log(base); + int whole2 = qFloor(speedlog); + speedlog -= whole2; + + if (whole2 > 0) { + snprintf(speed_param, sizeof(speed_param), "%f", base); + for (int i=0;itrack() << "(took" << (QDateTime::currentMSecsSinceEpoch() - time_start) << "ms)"; +} + +void Cacher::CacheWorker() { + if (clip->track() < 0) { + // clip is a video track, start caching video + CacheVideoWorker(); + } else { + // clip is audio + CacheAudioWorker(); + } +} + +void Cacher::CloseWorker() { + retrieved_frame = nullptr; + queue.lock(); + queue.clear(); + queue.unlock(); + + av_frame_free(&frame_); + + av_packet_free(&pkt); + + if (clip->media() != nullptr && clip->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + avfilter_graph_free(&filter_graph); + + avcodec_close(codecCtx); + avcodec_free_context(&codecCtx); + + av_dict_free(&opts); + + // protection for get_timebase() + stream = nullptr; + + avformat_close_input(&formatCtx); + } + + clip->reset(); + + qInfo() << "Clip closed on track" << clip->track(); +} + +void Cacher::run() { + clip->cache_lock.lock(); + + OpenWorker(); + + clip->state_change_lock.unlock(); + + while (caching_) { + if (!queued_) { + wait_cond_.wait(&clip->cache_lock); + } + queued_ = false; + if (!caching_) { + break; + } else { + CacheWorker(); + } + } + + CloseWorker(); + + clip->state_change_lock.unlock(); + + clip->cache_lock.unlock(); +} + +void Cacher::Open() +{ + wait(); + + // set variable defaults for caching + caching_ = true; + queued_ = false; + + start((clip->track() < 0) ? QThread::HighPriority : QThread::TimeCriticalPriority); +} + +void Cacher::Cache(long playhead, bool scrubbing, QVector& nests, int playback_speed) +{ + if (clip->media_stream()->infinite_length && queue.size() > 0) { + retrieved_frame = queue.at(0); + return; + } + + playhead_ = playhead; + nests_ = nests; + scrubbing_ = scrubbing; + playback_speed_ = playback_speed; + queued_ = true; + + bool wait_for_cacher_to_respond = true; + + // see if we already have this frame + retrieve_lock_.lock(); + queue.lock(); + retrieved_frame = nullptr; + int64_t target_pts = seconds_to_timestamp(clip, playhead_to_clip_seconds(clip, playhead_)); + for (int i=0;ipts == target_pts) { + retrieved_frame = queue.at(i); +// qDebug() << "================> found frame at" << i; + wait_for_cacher_to_respond = false; + break; + } else if (i > 0 && queue.at(i-1)->pts < target_pts && queue.at(i)->pts > target_pts) { + retrieved_frame = queue.at(i-1); +// qDebug() << "================> found frame at" << i-1; + wait_for_cacher_to_respond = false; + break; + } + } + queue.unlock(); + retrieve_lock_.unlock(); + + if (wait_for_cacher_to_respond) { + main_thread_lock_.lock(); + } + + // wake up cacher + wait_cond_.wakeAll(); + + // if not, wait for cacher to respond + if (wait_for_cacher_to_respond) { +// qDebug() << "================> didn't find frame - waiting for cacher to respond..." << clip->name(); + interrupt_ = true; + main_thread_wait_.wait(&main_thread_lock_, 2000); + } + + if (wait_for_cacher_to_respond) { + main_thread_lock_.unlock(); + } + +// qDebug() << "Cacher::Cache took" << (QDateTime::currentMSecsSinceEpoch() - time) << "and retrieved" << retrieved_frame; +} + +AVFrame *Cacher::Retrieve() +{ +// qint64 time = QDateTime::currentMSecsSinceEpoch(); + + if (!caching_) { + return nullptr; + } + + // check if there's a frame ready to be shown by the cacher + + if (retrieved_frame == nullptr) { + // wait for cacher to finish caching + + if (clip->cache_lock.tryLock()) { + + // If the queue could lock, the cacher isn't running which means no frame is coming. This is an error. + qCritical() << "Cacher frame was null while the cacher wasn't running on clip" << clip->name(); + clip->cache_lock.unlock(); + + } else { + + // cacher is running, wait for it to give a frame +// qDebug() << "====> retrieve lock waiting"; + retrieve_lock_.lock(); + retrieve_wait_.wait(&retrieve_lock_); + retrieve_lock_.unlock(); + + } + + } + +// qDebug() << "Cacher::Retrieve took" << (QDateTime::currentMSecsSinceEpoch() - time) << "and retrieved" << retrieved_frame; + + return retrieved_frame; +} + +void Cacher::Close(bool wait_for_finish) +{ + caching_ = false; + wait_cond_.wakeAll(); + + if (wait_for_finish) { + wait(); + } +} + +void Cacher::ResetAudio() +{ + // using audio_write_lock seems like a good idea, but hasn't been tested yet. If there are audio issues when seeking, + // try uncommenting them + +// audio_write_lock.lock(); + audio_reset_ = true; + frame_sample_index_ = -1; + audio_buffer_write = 0; +// audio_write_lock.unlock(); +} + +int Cacher::media_width() +{ + return stream->codecpar->width; +} + +int Cacher::media_height() +{ + return stream->codecpar->height; +} + +AVRational Cacher::media_time_base() +{ + return stream->time_base; +} + +void Cacher::QueueLock() +{ + queue.lock(); +} + +void Cacher::QueueUnlock() +{ + queue.unlock(); +} + +int Cacher::RetrieveFrameFromDecoder(AVFrame* f) { + int result = 0; + int receive_ret; + + // do we need to retrieve a new packet for a new frame? + av_frame_unref(f); + while ((receive_ret = avcodec_receive_frame(codecCtx, f)) == AVERROR(EAGAIN)) { + int read_ret = 0; + do { + if (pkt->buf != nullptr) { + av_packet_unref(pkt); + } + read_ret = av_read_frame(formatCtx, pkt); + } while (read_ret >= 0 && pkt->stream_index != clip->media_stream_index()); + + if (read_ret >= 0) { + int send_ret = avcodec_send_packet(codecCtx, pkt); + if (send_ret < 0) { + qCritical() << "Failed to send packet to decoder." << send_ret; + return send_ret; + } + } else { + if (read_ret == AVERROR_EOF) { + int send_ret = avcodec_send_packet(codecCtx, nullptr); + if (send_ret < 0) { + qCritical() << "Failed to send packet to decoder." << send_ret; + return send_ret; + } + } else { + qCritical() << "Could not read frame." << read_ret; + return read_ret; // skips trying to find a frame at all + } + } + } + if (receive_ret < 0) { + if (receive_ret != AVERROR_EOF) qCritical() << "Failed to receive packet from decoder." << receive_ret; + result = receive_ret; + } + + return result; +} + +int Cacher::RetrieveFrameAndProcess(AVFrame **f) +{ + // error codes from FFmpeg + int retrieve_code, read_code, send_code; + + // frame for FFmpeg to decode into + *f = av_frame_alloc(); + + // loop to pull frames from the AVFilter stack + while ((retrieve_code = av_buffersink_get_frame(buffersink_ctx, *f)) == AVERROR(EAGAIN)) { + + // retrieve frame from decoder + read_code = RetrieveFrameFromDecoder(frame_); + + if (read_code >= 0) { + + // we retrieved a decoded video frame, which we will send to the AVFilter stack to convert to RGBA (with other + // adjustments if necessary) + + if ((send_code = av_buffersrc_add_frame_flags(buffersrc_ctx, frame_, AV_BUFFERSRC_FLAG_KEEP_REF)) < 0) { + qCritical() << "Failed to add frame to buffer source." << send_code; + break; + } + + // we don't need the original frame to we free it here + av_frame_unref(frame_); + + } else { + + // AVERROR_EOF means we've reached the end of the file, not technically an error, but it's useful to know that + // there are no more frames in this file + if (read_code != AVERROR_EOF) { + qCritical() << "Failed to read frame." << read_code; + } + break; + } + } + + if (read_code == AVERROR_EOF) { + return AVERROR_EOF; + } + return retrieve_code; +} diff --git a/rendering/cacher.cpp.autosave b/rendering/cacher.cpp.autosave new file mode 100644 index 000000000..09c7c96e1 --- /dev/null +++ b/rendering/cacher.cpp.autosave @@ -0,0 +1,1269 @@ +/*** + + Olive - Non-Linear Video Editor + Copyright (C) 2019 Olive Team + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +***/ + +#include "cacher.h" + +#include +#include +#include +#include + +#include "project/projectelements.h" +#include "rendering/audio.h" +#include "rendering/renderfunctions.h" +#include "panels/panels.h" +#include "io/config.h" +#include "debug.h" + +// Enable verbose audio messages - good for debugging reversed audio +//#define AUDIOWARNINGS + +const AVPixelFormat kDestPixFmt = AV_PIX_FMT_RGBA; +const AVSampleFormat kDestSampleFmt = AV_SAMPLE_FMT_S16; + +double bytes_to_seconds(int nb_bytes, int nb_channels, int sample_rate) { + return (double(nb_bytes >> 1) / nb_channels / sample_rate); +} + +void apply_audio_effects(ClipPtr clip, double timecode_start, AVFrame* frame, int nb_bytes, QVector nests) { + // perform all audio effects + double timecode_end; + timecode_end = timecode_start + bytes_to_seconds(nb_bytes, frame->channels, frame->sample_rate); + + for (int j=0;jeffects.size();j++) { + EffectPtr e = clip->effects.at(j); + if (e->is_enabled()) e->process_audio(timecode_start, timecode_end, frame->data[0], nb_bytes, 2); + } + if (clip->opening_transition != nullptr) { + if (clip->media() != nullptr && clip->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + double transition_start = (clip->clip_in(true) / clip->sequence->frame_rate); + double transition_end = (clip->clip_in(true) + clip->opening_transition->get_length()) / clip->sequence->frame_rate; + if (timecode_end < transition_end) { + double adjustment = transition_end - transition_start; + double adjusted_range_start = (timecode_start - transition_start) / adjustment; + double adjusted_range_end = (timecode_end - transition_start) / adjustment; + clip->opening_transition->process_audio(adjusted_range_start, adjusted_range_end, frame->data[0], nb_bytes, kTransitionOpening); + } + } + } + if (clip->closing_transition != nullptr) { + if (clip->media() != nullptr && clip->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + long length_with_transitions = clip->timeline_out(true) - clip->timeline_in(true); + double transition_start = (clip->clip_in(true) + length_with_transitions - clip->closing_transition->get_length()) / clip->sequence->frame_rate; + double transition_end = (clip->clip_in(true) + length_with_transitions) / clip->sequence->frame_rate; + if (timecode_start > transition_start) { + double adjustment = transition_end - transition_start; + double adjusted_range_start = (timecode_start - transition_start) / adjustment; + double adjusted_range_end = (timecode_end - transition_start) / adjustment; + clip->closing_transition->process_audio(adjusted_range_start, adjusted_range_end, frame->data[0], nb_bytes, kTransitionClosing); + } + } + } + + if (!nests.isEmpty()) { + ClipPtr next_nest = nests.last(); + nests.removeLast(); + apply_audio_effects(next_nest, + timecode_start + (double(clip->timeline_in(true)-clip->clip_in(true))/clip->sequence->frame_rate), + frame, + nb_bytes, + nests); + } +} + +#define AUDIO_BUFFER_PADDING 2048 +void Cacher::CacheAudioWorker() { + // main thread waits until cacher starts fully, wake it up here + WakeMainThread(); + + bool audio_just_reset = false; + + // for audio clips, something may have triggered an audio reset (common if the user seeked) + if (audio_reset_) { + Reset(); + audio_reset_ = false; + audio_just_reset = true; + } + + long timeline_in = clip->timeline_in(true); + long timeline_out = clip->timeline_out(true); + long target_frame = audio_target_frame; + + bool temp_reverse = (playback_speed_ < 0); + bool reverse_audio = (clip->reversed() != temp_reverse); + + long frame_skip = 0; + double last_fr = clip->sequence->frame_rate; + if (!nests_.isEmpty()) { + for (int i=nests_.size()-1;i>=0;i--) { + timeline_in = rescale_frame_number(timeline_in, last_fr, nests_.at(i)->sequence->frame_rate) + nests_.at(i)->timeline_in(true) - nests_.at(i)->clip_in(true); + timeline_out = rescale_frame_number(timeline_out, last_fr, nests_.at(i)->sequence->frame_rate) + nests_.at(i)->timeline_in(true) - nests_.at(i)->clip_in(true); + target_frame = rescale_frame_number(target_frame, last_fr, nests_.at(i)->sequence->frame_rate) + nests_.at(i)->timeline_in(true) - nests_.at(i)->clip_in(true); + + timeline_out = qMin(timeline_out, nests_.at(i)->timeline_out(true)); + + frame_skip = rescale_frame_number(frame_skip, last_fr, nests_.at(i)->sequence->frame_rate); + + long validator = nests_.at(i)->timeline_in(true) - timeline_in; + if (validator > 0) { + frame_skip += validator; + //timeline_in = nests_.at(i)->timeline_in(true); + } + + last_fr = nests_.at(i)->sequence->frame_rate; + } + } + + if (temp_reverse) { + long seq_end = olive::ActiveSequence->getEndFrame(); + timeline_in = seq_end - timeline_in; + timeline_out = seq_end - timeline_out; + target_frame = seq_end - target_frame; + + long temp = timeline_in; + timeline_in = timeline_out; + timeline_out = temp; + } + + while (true) { + AVFrame* frame; + int nb_bytes = INT_MAX; + + if (clip->media() == nullptr) { + frame = frame_; + nb_bytes = frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels; + while ((frame_sample_index_ == -1 || frame_sample_index_ >= nb_bytes) && nb_bytes > 0) { + // create "new frame" + memset(frame_->data[0], 0, nb_bytes); + apply_audio_effects(clip, bytes_to_seconds(frame->pts, frame->channels, frame->sample_rate), frame, nb_bytes, nests_); + frame_->pts += nb_bytes; + frame_sample_index_ = 0; + if (audio_buffer_write == 0) { + audio_buffer_write = get_buffer_offset_from_frame(last_fr, qMax(timeline_in, target_frame)); + } + int offset = audio_ibuffer_read - audio_buffer_write; + if (offset > 0) { + audio_buffer_write += offset; + frame_sample_index_ += offset; + } + } + } else if (clip->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + double timebase = av_q2d(stream->time_base); + + frame = queue.at(0); + + // retrieve frame + bool new_frame = false; + while ((frame_sample_index_ == -1 || frame_sample_index_ >= nb_bytes) && nb_bytes > 0) { + // no more audio left in frame, get a new one + if (!reached_end) { + int loop = 0; + + if (reverse_audio && !audio_just_reset) { + avcodec_flush_buffers(codecCtx); + reached_end = false; + int64_t backtrack_seek = qMax(reverse_target_ - static_cast(av_q2d(av_inv_q(stream->time_base))), static_cast(0)); + av_seek_frame(formatCtx, stream->index, backtrack_seek, AVSEEK_FLAG_BACKWARD); +#ifdef AUDIOWARNINGS + if (backtrack_seek == 0) { + dout << "backtracked to 0"; + } +#endif + } + + do { + av_frame_unref(frame); + + int ret; + + while ((ret = av_buffersink_get_frame(buffersink_ctx, frame)) == AVERROR(EAGAIN)) { + ret = RetrieveFrameFromDecoder(frame_); + if (ret >= 0) { + if ((ret = av_buffersrc_add_frame_flags(buffersrc_ctx, frame_, AV_BUFFERSRC_FLAG_KEEP_REF)) < 0) { + qCritical() << "Could not feed filtergraph -" << ret; + break; + } + } else { + if (ret == AVERROR_EOF) { +#ifdef AUDIOWARNINGS + dout << "reached EOF while reading"; +#endif + // TODO revise usage of reached_end in audio + if (!reverse_audio) { + reached_end = true; + } else { + } + } else { + qWarning() << "Raw audio frame data could not be retrieved." << ret; + reached_end = true; + } + break; + } + } + + if (ret < 0) { + if (ret != AVERROR_EOF) { + qCritical() << "Could not pull from filtergraph"; + reached_end = true; + break; + } else { +#ifdef AUDIOWARNINGS + dout << "reached EOF while pulling from filtergraph"; +#endif + if (!reverse_audio) break; + } + } + + if (reverse_audio) { + if (loop > 1) { + AVFrame* rev_frame = queue.at(1); + if (ret != AVERROR_EOF) { + if (loop == 2) { +#ifdef AUDIOWARNINGS + dout << "starting rev_frame"; +#endif + rev_frame->nb_samples = 0; + rev_frame->pts = frame_->pkt_pts; + } + int offset = rev_frame->nb_samples * av_get_bytes_per_sample(static_cast(rev_frame->format)) * rev_frame->channels; +#ifdef AUDIOWARNINGS + dout << "offset 1:" << offset; + dout << "retrieved samples:" << frame->nb_samples << "size:" << (frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels); +#endif + memcpy( + rev_frame->data[0]+offset, + frame->data[0], + (frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels) + ); +#ifdef AUDIOWARNINGS + dout << "pts:" << frame_->pts << "dur:" << frame_->pkt_duration << "rev_target:" << reverse_target << "offset:" << offset << "limit:" << rev_frame->linesize[0]; +#endif + } + + rev_frame->nb_samples += frame->nb_samples; + + if ((frame_->pts >= reverse_target_) || (ret == AVERROR_EOF)) { + /* +#ifdef AUDIOWARNINGS + dout << "time for the end of rev cache" << rev_frame->nb_samples << clip->rev_target << frame_->pts << frame_->pkt_duration << frame_->nb_samples; + dout << "diff:" << (frame_->pkt_pts + frame_->pkt_duration) - clip->rev_target; +#endif + int cutoff = qRound64((((frame_->pkt_pts + frame_->pkt_duration) - reverse_target) * timebase) * audio_output->format().sampleRate()); + if (cutoff > 0) { +#ifdef AUDIOWARNINGS + dout << "cut off" << cutoff << "samples (rate:" << audio_output->format().sampleRate() << ")"; +#endif + rev_frame->nb_samples -= cutoff; + } +*/ + +#ifdef AUDIOWARNINGS + dout << "pre cutoff deets::: rev_frame.pts:" << rev_frame->pts << "rev_frame.nb_samples" << rev_frame->nb_samples << "rev_target:" << reverse_target; +#endif + double playback_speed_ = clip->speed().value * clip->media()->to_footage()->speed; + rev_frame->nb_samples = qRound64(double(reverse_target_ - rev_frame->pts) * timebase * (current_audio_freq() / playback_speed_)); +#ifdef AUDIOWARNINGS + dout << "post cutoff deets::" << rev_frame->nb_samples; +#endif + + int frame_size = rev_frame->nb_samples * rev_frame->channels * av_get_bytes_per_sample(static_cast(rev_frame->format)); + int half_frame_size = frame_size >> 1; + + int sample_size = rev_frame->channels*av_get_bytes_per_sample(static_cast(rev_frame->format)); + char* temp_chars = new char[sample_size]; + for (int i=0;idata[0][i], sample_size); + + memcpy(&rev_frame->data[0][i], &rev_frame->data[0][frame_size-i-sample_size], sample_size); + + memcpy(&rev_frame->data[0][frame_size-i-sample_size], temp_chars, sample_size); + } + delete [] temp_chars; + + reverse_target_ = rev_frame->pts; + frame = rev_frame; + break; + } + } + + loop++; + +#ifdef AUDIOWARNINGS + dout << "loop" << loop; +#endif + } else { + frame->pts = frame_->pts; + break; + } + } while (true); + } else { + // if there is no more data in the file, we flush the remainder out of swresample + break; + } + + new_frame = true; + + if (frame_sample_index_ < 0) { + frame_sample_index_ = 0; + } else { + frame_sample_index_ -= nb_bytes; + } + + nb_bytes = frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels; + + if (audio_just_reset) { + // get precise sample offset for the elected clip_in from this audio frame + double target_sts = playhead_to_clip_seconds(clip, audio_target_frame); + double frame_sts = ((frame->pts - stream->start_time) * timebase); + int nb_samples = qRound64((target_sts - frame_sts)*current_audio_freq()); + frame_sample_index_ = nb_samples * 4; +#ifdef AUDIOWARNINGS + dout << "fsts:" << frame_sts << "tsts:" << target_sts << "nbs:" << nb_samples << "nbb:" << nb_bytes << "rev_targetToSec:" << (reverse_target * timebase); + dout << "fsi-calc:" << frame_sample_index; +#endif + if (reverse_audio) frame_sample_index_ = nb_bytes - frame_sample_index_; + audio_just_reset = false; + } + +#ifdef AUDIOWARNINGS + dout << "fsi-post-post:" << frame_sample_index; +#endif + if (audio_buffer_write == 0) { + audio_buffer_write = get_buffer_offset_from_frame(last_fr, qMax(timeline_in, target_frame)); + + if (frame_skip > 0) { + int target = get_buffer_offset_from_frame(last_fr, qMax(timeline_in + frame_skip, target_frame)); + frame_sample_index_ += (target - audio_buffer_write); + audio_buffer_write = target; + } + } + + int offset = audio_ibuffer_read - audio_buffer_write; + if (offset > 0) { + audio_buffer_write += offset; + frame_sample_index_ += offset; + } + + // try to correct negative fsi + if (frame_sample_index_ < 0) { + audio_buffer_write -= frame_sample_index_; + frame_sample_index_ = 0; + } + } + + if (reverse_audio) frame = queue.at(1); + +#ifdef AUDIOWARNINGS + dout << "j" << frame_sample_index << nb_bytes; +#endif + + // apply any audio effects to the data + if (nb_bytes == INT_MAX) nb_bytes = frame->nb_samples * av_get_bytes_per_sample(static_cast(frame->format)) * frame->channels; + if (new_frame) { + apply_audio_effects(clip, bytes_to_seconds(audio_buffer_write, 2, current_audio_freq()) + audio_ibuffer_timecode + ((double)clip->clip_in(true)/clip->sequence->frame_rate) - ((double)timeline_in/last_fr), frame, nb_bytes, nests_); + } + } else { + // shouldn't ever get here + qCritical() << "Tried to cache a non-footage/tone clip"; + return; + } + + // mix audio into internal buffer + if (frame->nb_samples == 0) { + break; + } else { + qint64 buffer_timeline_out = get_buffer_offset_from_frame(clip->sequence->frame_rate, timeline_out); + + audio_write_lock.lock(); + + int sample_skip = 4*qMax(0, qAbs(playback_speed_)-1); + int sample_byte_size = av_get_bytes_per_sample(static_cast(frame->format)); + + while (frame_sample_index_ < nb_bytes + && audio_buffer_write < audio_ibuffer_read+(audio_ibuffer_size>>1) + && audio_buffer_write < buffer_timeline_out) { + for (int i=0;ichannels;i++) { + int upper_byte_index = (audio_buffer_write+1)%audio_ibuffer_size; + int lower_byte_index = (audio_buffer_write)%audio_ibuffer_size; + qint16 old_sample = static_cast((audio_ibuffer[upper_byte_index] & 0xFF) << 8 | (audio_ibuffer[lower_byte_index] & 0xFF)); + qint16 new_sample = static_cast((frame->data[0][frame_sample_index_+1] & 0xFF) << 8 | (frame->data[0][frame_sample_index_] & 0xFF)); + qint16 mixed_sample = mix_audio_sample(old_sample, new_sample); + + audio_ibuffer[upper_byte_index] = quint8((mixed_sample >> 8) & 0xFF); + audio_ibuffer[lower_byte_index] = quint8(mixed_sample & 0xFF); + + audio_buffer_write+=sample_byte_size; + frame_sample_index_+=sample_byte_size; + } + + frame_sample_index_ += sample_skip; + + if (audio_reset_) break; + } + +#ifdef AUDIOWARNINGS + if (audio_buffer_write >= buffer_timeline_out) dout << "timeline out at fsi" << frame_sample_index << "of frame ts" << frame_->pts; +#endif + + audio_write_lock.unlock(); + + if (audio_reset_) return; + + if (scrubbing_) { + if (audio_thread != nullptr) audio_thread->notifyReceiver(); + } + + if (frame_sample_index_ >= nb_bytes) { + frame_sample_index_ = -1; + } else { + // assume we have no more data to send + break; + } + + // dout << "ended" << frame_sample_index << nb_bytes; + } + if (reached_end) { + frame->nb_samples = 0; + } + if (scrubbing_) { + break; + } + } + + QMetaObject::invokeMethod(panel_footage_viewer, "play_wake", Qt::QueuedConnection); + QMetaObject::invokeMethod(panel_sequence_viewer, "play_wake", Qt::QueuedConnection); +} + +void Cacher::CacheVideoWorker() { + + // is this media a still image? + if (clip->media_stream()->infinite_length) { + + // for efficiency, we do slightly different things for a still image + + // if we already queued a frame, we don't actually need to cache anything, so we only retrieve a frame if not + if (queue.size() == 0) { + + // retrieve a single frame + + // main thread waits until cacher starts fully, wake it up here + WakeMainThread(); + + AVFrame* still_image_frame; + + if (RetrieveFrameAndProcess(&still_image_frame) >= 0) { + + queue.lock(); + queue.append(still_image_frame); + queue.unlock(); + + SetRetrievedFrame(still_image_frame); + } + + } + + } else { + // this media is not a still image and will require more complex caching + + // main thread waits until cacher starts fully, wake it up here + WakeMainThread(); + + // get the timestamp we want in terms of the media's timebase + int64_t target_pts = seconds_to_timestamp(clip, playhead_to_clip_seconds(clip, playhead_)); + + // get the value of one second in terms of the media's timebase + int64_t second_pts = seconds_to_timestamp(clip, 1); // FIXME: possibly magic number? + + // check which range of frames we have in the queue + int64_t earliest_pts = INT64_MAX; + int64_t latest_pts = INT64_MIN; + int frames_greater_than_target = 0; + + for (int i=0;ipts); + latest_pts = qMax(latest_pts, queue.at(i)->pts); + + // count upcoming frames + if (queue.at(i)->pts > target_pts) { + frames_greater_than_target++; + } + } + + // check if the frame is within this queue or if we'll have to seek elsewhere to get it + // (we check for one second of time after latest_pts, because if it's within that range it'll likely be faster to + // play up to that frame than seek to it) + if (target_pts < earliest_pts || target_pts > latest_pts + second_pts || queue.size() == 0) { + // we need to seek to retrieve this frame + + avcodec_flush_buffers(codecCtx); + av_seek_frame(formatCtx, clip->media_stream_index(), target_pts, AVSEEK_FLAG_BACKWARD); + + // also we assume none of the frames in the queue are usable + queue.lock(); + queue.clear(); + queue.unlock(); + + // reset upcoming frame count and latest pts for later calculations + frames_greater_than_target = 0; + latest_pts = INT64_MIN; + } + + // get values on old frames to remove from the queue + + // for FRAME_QUEUE_TYPE_SECONDS, this is used to store the maximum timestamp + // for FRAME_QUEUE_TYPE_FRAMES, this is used to store the maximum number of frames that can be added + int64_t minimum_ts; + + if (olive::CurrentConfig.previous_queue_type == olive::FRAME_QUEUE_TYPE_FRAMES) { + // get the maximum number of previous frames that can be in the queue + minimum_ts = qCeil(olive::CurrentConfig.previous_queue_size); + } else { + // get the minimum frame timestamp that can be added to the queue + minimum_ts = target_pts - seconds_to_timestamp(clip, olive::CurrentConfig.previous_queue_size); + } + + // check if we can add more frames to this queue or not + + // for FRAME_QUEUE_TYPE_SECONDS, this is used to store the maximum timestamp + // for FRAME_QUEUE_TYPE_FRAMES, this is used to store the maximum number of frames that can be added + int64_t maximum_ts; + + bool start_loop = true; + + if (olive::CurrentConfig.upcoming_queue_type == olive::FRAME_QUEUE_TYPE_FRAMES) { + maximum_ts = qCeil(olive::CurrentConfig.upcoming_queue_size); + + // if we already have the maximum number of upcoming frames, don't bother running the below loop at all + if (frames_greater_than_target >= maximum_ts) { + start_loop = false; + } + } else { + // get the maximum frame timestamp that can be added to the queue + maximum_ts = target_pts + seconds_to_timestamp(clip, olive::CurrentConfig.upcoming_queue_size); + + // if the latest frame is already past the maximum queue seconds + if (latest_pts > maximum_ts) { + start_loop = false; + } + } + + if (start_loop) { + + interrupt_ = false; + do { + AVFrame* decoded_frame; + +// qint64 time = QDateTime::currentMSecsSinceEpoch(); + int retrieve_code = RetrieveFrameAndProcess(&decoded_frame); + //qDebug() << "decode took:" << (QDateTime::currentMSecsSinceEpoch() - time); + + // for some reason we were unable to retrieve a frame, likely a decoder error so we report it + // again an EOF, is not really an "error", and we can continue execution if we encounter it + if (retrieve_code < 0 && retrieve_code != AVERROR_EOF) { + + qCritical() << "Failed to retrieve frame from buffersink." << retrieve_code; + + } else if (decoded_frame->pts != AV_NOPTS_VALUE) { + + // check if this frame exceeds the minimum timestamp + if (olive::CurrentConfig.previous_queue_type == olive::FRAME_QUEUE_TYPE_SECONDS + && decoded_frame->pts < minimum_ts) { + + // if so, we don't need it + av_frame_free(&decoded_frame); + + } else { + + if (retrieved_frame == nullptr) { + if (decoded_frame->pts == target_pts) { + SetRetrievedFrame(decoded_frame); + } else if (decoded_frame->pts > target_pts + && queue.size() > 0) { + SetRetrievedFrame(queue.last()); + } + } + + // add the frame to the queue + queue.lock(); + queue.append(decoded_frame); + queue.unlock(); + + // check the amount of previous frames in the queue by using the current queue size for if we need to + // remove any old entries (assumes the queue is chronological) + if (olive::CurrentConfig.previous_queue_type == olive::FRAME_QUEUE_TYPE_FRAMES) { + + int previous_frame_count = 0; + + if (decoded_frame->pts < target_pts) { + // if this frame is before the target frame, make sure we don't add too many of them + previous_frame_count = queue.size(); + } else { + // if this frame is after the target frame, clean up any previous frames before it + // TODO is there a faster way to do this? + + for (int i=0;ipts > target_pts) { + break; + } else { + previous_frame_count++; + } + } + + } + + // remove frames while the amount of previous frames exceeds the maximum + while (previous_frame_count > minimum_ts) { + queue.lock(); + queue.removeFirst(); + queue.unlock(); + previous_frame_count--; + } + + } + + // check if the queue is full according to olive::CurrentConfig + if (olive::CurrentConfig.upcoming_queue_type == olive::FRAME_QUEUE_TYPE_FRAMES) { + + // if this frame is later than the target, it's an "upcoming" frame + if (decoded_frame->pts > target_pts) { + + // we started a count of upcoming frames above, we can continue it here + frames_greater_than_target++; + + // compare upcoming frame count with maximum upcoming frames (maximum_ts) + if (frames_greater_than_target >= maximum_ts) { + break; + } + } + + } else if (decoded_frame->pts > maximum_ts) { // for `upcoming_queue_type == olive::FRAME_QUEUE_TYPE_SECONDS` + break; + } + + } + + + + } else { + + // if a frame has no timestamp (pts == AV_NOPTS_VALUE), we assume it's an invalid frame and don't use it + + qWarning() << clip->name() << "frame had no PTS value"; + av_frame_free(&decoded_frame); + SetRetrievedFrame(nullptr); + break; + + } + } while (!interrupt_); + + } + + } +} + +void Cacher::Reset() { + // if we seek to a whole other place in the timeline, we'll need to reset the cache with new values + if (clip->media() == nullptr) { + if (clip->track() >= 0) { + // a null-media audio clip is usually an auto-generated sound clip such as Tone or Noise + reached_end = false; + audio_target_frame = playhead_; + frame_sample_index_ = -1; + frame_->pts = 0; + } + } else { + + const FootageStream* ms = clip->media_stream(); + if (stream->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { + // flush ffmpeg codecs + avcodec_flush_buffers(codecCtx); + reached_end = false; + + // seek (target_frame represents timeline timecode in frames, not clip timecode) + + int64_t timestamp = qRound64(playhead_to_clip_seconds(clip, playhead_) / av_q2d(stream->time_base)); + + bool temp_reverse = (playback_speed_ < 0); + if (clip->reversed() != temp_reverse) { + reverse_target_ = timestamp; + timestamp -= av_q2d(av_inv_q(stream->time_base)); +#ifdef AUDIOWARNINGS + dout << "seeking to" << timestamp << "(originally" << reverse_target << ")"; + } else { + dout << "reset called; seeking to" << timestamp; +#endif + } + av_seek_frame(formatCtx, ms->file_index, timestamp, AVSEEK_FLAG_BACKWARD); + audio_target_frame = playhead_; + frame_sample_index_ = -1; + } + } +} + +void Cacher::SetRetrievedFrame(AVFrame *f) +{ + if (retrieved_frame == nullptr) { + retrieve_lock_.lock(); + retrieved_frame = f; + retrieve_wait_.wakeAll(); + retrieve_lock_.unlock(); + } +} + +void Cacher::WakeMainThread() +{ + main_thread_lock_.lock(); + main_thread_wait_.wakeAll(); + main_thread_lock_.unlock(); +} + +Cacher::Cacher(ClipPtr c) : clip(c) {} + +void Cacher::OpenWorker() { + qint64 time_start = QDateTime::currentMSecsSinceEpoch(); + + // set some defaults for the audio cacher + if (clip->track() >= 0) { + audio_reset_ = false; + frame_sample_index_ = -1; + audio_buffer_write = 0; + } + reached_end = false; + + if (clip->media() == nullptr) { + if (clip->track() >= 0) { + frame_ = av_frame_alloc(); + frame_->format = kDestSampleFmt; + frame_->channel_layout = clip->sequence->audio_layout; + frame_->channels = av_get_channel_layout_nb_channels(frame_->channel_layout); + frame_->sample_rate = current_audio_freq(); + frame_->nb_samples = 2048; + av_frame_make_writable(frame_); + if (av_frame_get_buffer(frame_, 0)) { + qCritical() << "Could not allocate buffer for tone clip"; + } + audio_reset_ = true; + } + } else if (clip->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + // opens file resource for FFmpeg and prepares Clip struct for playback + FootagePtr m = clip->media()->to_footage(); + + // byte array for retriving raw bytes from QString URL + QByteArray ba; + + // do we have a proxy? + if (m->proxy + && !m->proxy_path.isEmpty() + && QFileInfo::exists(m->proxy_path)) { + ba = m->proxy_path.toUtf8(); + } else { + ba = m->url.toUtf8(); + } + + const char* filename = ba.constData(); + const FootageStream* ms = clip->media_stream(); + + formatCtx = nullptr; + int errCode = avformat_open_input( + &formatCtx, + filename, + nullptr, + nullptr + ); + if (errCode != 0) { + char err[1024]; + av_strerror(errCode, err, 1024); + qCritical() << "Could not open" << filename << "-" << err; + return; + } + + errCode = avformat_find_stream_info(formatCtx, nullptr); + if (errCode < 0) { + char err[1024]; + av_strerror(errCode, err, 1024); + qCritical() << "Could not open" << filename << "-" << err; + return; + } + + av_dump_format(formatCtx, 0, filename, 0); + + stream = formatCtx->streams[ms->file_index]; + codec = avcodec_find_decoder(stream->codecpar->codec_id); + codecCtx = avcodec_alloc_context3(codec); + avcodec_parameters_to_context(codecCtx, stream->codecpar); + + opts = nullptr; + + // enable multithreading on decoding + av_dict_set(&opts, "threads", "auto", 0); + + // enable extra optimization code on h264 (not even sure if they help) + if (stream->codecpar->codec_id == AV_CODEC_ID_H264) { + av_dict_set(&opts, "tune", "fastdecode", 0); + av_dict_set(&opts, "tune", "zerolatency", 0); + } + + // Open codec + if (avcodec_open2(codecCtx, codec, &opts) < 0) { + qCritical() << "Could not open codec"; + } + + // allocate filtergraph + filter_graph = avfilter_graph_alloc(); + if (filter_graph == nullptr) { + qCritical() << "Could not create filtergraph"; + } + char filter_args[512]; + + if (stream->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) { + snprintf(filter_args, sizeof(filter_args), "video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d", + stream->codecpar->width, + stream->codecpar->height, + stream->codecpar->format, + stream->time_base.num, + stream->time_base.den, + stream->codecpar->sample_aspect_ratio.num, + stream->codecpar->sample_aspect_ratio.den + ); + + avfilter_graph_create_filter(&buffersrc_ctx, avfilter_get_by_name("buffer"), "in", filter_args, nullptr, filter_graph); + avfilter_graph_create_filter(&buffersink_ctx, avfilter_get_by_name("buffersink"), "out", nullptr, nullptr, filter_graph); + + AVFilterContext* last_filter = buffersrc_ctx; + + char filter_args[100]; + + if (ms->video_interlacing != VIDEO_PROGRESSIVE) { + AVFilterContext* yadif_filter; + snprintf(filter_args, sizeof(filter_args), "mode=3:parity=%d", ((ms->video_interlacing == VIDEO_TOP_FIELD_FIRST) ? 0 : 1)); // there's a CUDA version if we start using nvdec/nvenc + avfilter_graph_create_filter(&yadif_filter, avfilter_get_by_name("yadif"), "yadif", filter_args, nullptr, filter_graph); + + avfilter_link(last_filter, 0, yadif_filter, 0); + last_filter = yadif_filter; + } + + const char* chosen_format = av_get_pix_fmt_name(kDestPixFmt); + snprintf(filter_args, sizeof(filter_args), "pix_fmts=%s", chosen_format); + + AVFilterContext* format_conv; + avfilter_graph_create_filter(&format_conv, avfilter_get_by_name("format"), "fmt", filter_args, nullptr, filter_graph); + avfilter_link(last_filter, 0, format_conv, 0); + + avfilter_link(format_conv, 0, buffersink_ctx, 0); + + avfilter_graph_config(filter_graph, nullptr); + + } else if (stream->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { + if (codecCtx->channel_layout == 0) codecCtx->channel_layout = av_get_default_channel_layout(stream->codecpar->channels); + + // set up cache + queue.append(av_frame_alloc()); + // if (clip->reverse) { + if (true) { + AVFrame* reverse_frame = av_frame_alloc(); + + reverse_frame->format = kDestSampleFmt; + reverse_frame->nb_samples = current_audio_freq()*10; + reverse_frame->channel_layout = clip->sequence->audio_layout; + reverse_frame->channels = av_get_channel_layout_nb_channels(clip->sequence->audio_layout); + av_frame_get_buffer(reverse_frame, 0); + + queue.append(reverse_frame); + } + + snprintf(filter_args, sizeof(filter_args), "time_base=%d/%d:sample_rate=%d:sample_fmt=%s:channel_layout=0x%" PRIx64, + stream->time_base.num, + stream->time_base.den, + stream->codecpar->sample_rate, + av_get_sample_fmt_name(codecCtx->sample_fmt), + codecCtx->channel_layout + ); + + avfilter_graph_create_filter(&buffersrc_ctx, avfilter_get_by_name("abuffer"), "in", filter_args, nullptr, filter_graph); + avfilter_graph_create_filter(&buffersink_ctx, avfilter_get_by_name("abuffersink"), "out", nullptr, nullptr, filter_graph); + + enum AVSampleFormat sample_fmts[] = { kDestSampleFmt, static_cast(-1) }; + if (av_opt_set_int_list(buffersink_ctx, "sample_fmts", sample_fmts, -1, AV_OPT_SEARCH_CHILDREN) < 0) { + qCritical() << "Could not set output sample format"; + } + + int64_t channel_layouts[] = { AV_CH_LAYOUT_STEREO, static_cast(-1) }; + if (av_opt_set_int_list(buffersink_ctx, "channel_layouts", channel_layouts, -1, AV_OPT_SEARCH_CHILDREN) < 0) { + qCritical() << "Could not set output sample format"; + } + + int target_sample_rate = current_audio_freq(); + + double playback_speed_ = clip->speed().value * m->speed; + + if (qFuzzyCompare(playback_speed_, 1.0)) { + avfilter_link(buffersrc_ctx, 0, buffersink_ctx, 0); + } else if (clip->speed().maintain_audio_pitch) { + AVFilterContext* previous_filter = buffersrc_ctx; + AVFilterContext* last_filter = buffersrc_ctx; + + char speed_param[10]; + + double base = (playback_speed_ > 1.0) ? 2.0 : 0.5; + + double speedlog = log(playback_speed_) / log(base); + int whole2 = qFloor(speedlog); + speedlog -= whole2; + + if (whole2 > 0) { + snprintf(speed_param, sizeof(speed_param), "%f", base); + for (int i=0;itrack() << "(took" << (QDateTime::currentMSecsSinceEpoch() - time_start) << "ms)"; +} + +void Cacher::CacheWorker() { + if (clip->track() < 0) { + // clip is a video track, start caching video + CacheVideoWorker(); + } else { + // clip is audio + CacheAudioWorker(); + } +} + +void Cacher::CloseWorker() { + retrieved_frame = nullptr; + queue.lock(); + queue.clear(); + queue.unlock(); + + av_frame_free(&frame_); + + av_packet_free(&pkt); + + if (clip->media() != nullptr && clip->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + avfilter_graph_free(&filter_graph); + + avcodec_close(codecCtx); + avcodec_free_context(&codecCtx); + + av_dict_free(&opts); + + // protection for get_timebase() + stream = nullptr; + + avformat_close_input(&formatCtx); + } + + clip->reset(); + + qInfo() << "Clip closed on track" << clip->track(); +} + +void Cacher::run() { + clip->cache_lock.lock(); + + OpenWorker(); + + clip->state_change_lock.unlock(); + + while (caching_) { + if (!queued_) { + wait_cond_.wait(&clip->cache_lock); + } + queued_ = false; + if (!caching_) { + break; + } else { + CacheWorker(); + } + } + + CloseWorker(); + + clip->state_change_lock.unlock(); + + clip->cache_lock.unlock(); +} + +void Cacher::Open() +{ + wait(); + + // set variable defaults for caching + caching_ = true; + queued_ = false; + + start((clip->track() < 0) ? QThread::HighPriority : QThread::TimeCriticalPriority); +} + +void Cacher::Cache(long playhead, bool scrubbing, QVector& nests, int playback_speed) +{ + if (clip->media_stream()->infinite_length && queue.size() > 0) { + retrieved_frame = queue.at(0); + return; + } + + playhead_ = playhead; + nests_ = nests; + scrubbing_ = scrubbing; + playback_speed_ = playback_speed; + queued_ = true; + + bool wait_for_cacher_to_respond = true; + + // see if we already have this frame + retrieve_lock_.lock(); + queue.lock(); + retrieved_frame = nullptr; + int64_t target_pts = seconds_to_timestamp(clip, playhead_to_clip_seconds(clip, playhead_)); + for (int i=0;ipts == target_pts) { + retrieved_frame = queue.at(i); +// qDebug() << "================> found frame at" << i; + wait_for_cacher_to_respond = false; + break; + } else if (i > 0 && queue.at(i-1)->pts < target_pts && queue.at(i)->pts > target_pts) { + retrieved_frame = queue.at(i-1); +// qDebug() << "================> found frame at" << i-1; + wait_for_cacher_to_respond = false; + break; + } + } + queue.unlock(); + retrieve_lock_.unlock(); + + if (wait_for_cacher_to_respond) { + main_thread_lock_.lock(); + } + + // wake up cacher + wait_cond_.wakeAll(); + + // if not, wait for cacher to respond + if (wait_for_cacher_to_respond) { +// qDebug() << "================> didn't find frame - waiting for cacher to respond..." << clip->name(); + interrupt_ = true; + main_thread_wait_.wait(&main_thread_lock_, 2000); + } + + if (wait_for_cacher_to_respond) { + main_thread_lock_.unlock(); + } + +// qDebug() << "Cacher::Cache took" << (QDateTime::currentMSecsSinceEpoch() - time) << "and retrieved" << retrieved_frame; +} + +AVFrame *Cacher::Retrieve() +{ +// qint64 time = QDateTime::currentMSecsSinceEpoch(); + + if (!caching_) { + return nullptr; + } + + // check if there's a frame ready to be shown by the cacher + + if (retrieved_frame == nullptr) { + // wait for cacher to finish caching + + if (clip->cache_lock.tryLock()) { + + // If the queue could lock, the cacher isn't running which means no frame is coming. This is an error. + qCritical() << "Cacher frame was null while the cacher wasn't running on clip" << clip->name(); + clip->cache_lock.unlock(); + + } else { + + // cacher is running, wait for it to give a frame +// qDebug() << "====> retrieve lock waiting"; + retrieve_lock_.lock(); + retrieve_wait_.wait(&retrieve_lock_); + retrieve_lock_.unlock(); + + } + + } + +// qDebug() << "Cacher::Retrieve took" << (QDateTime::currentMSecsSinceEpoch() - time) << "and retrieved" << retrieved_frame; + + return retrieved_frame; +} + +void Cacher::Close(bool wait_for_finish) +{ + caching_ = false; + wait_cond_.wakeAll(); + + if (wait_for_finish) { + wait(); + } +} + +void Cacher::ResetAudio() +{ + // using audio_write_lock seems like a good idea, but hasn't been tested yet. If there are audio issues when seeking, + // try uncommenting them + +// audio_write_lock.lock(); + audio_reset_ = true; + frame_sample_index_ = -1; + audio_buffer_write = 0; +// audio_write_lock.unlock(); +} + +int Cacher::media_width() +{ + return stream->codecpar->width; +} + +int Cacher::media_height() +{ + return stream->codecpar->height; +} + +AVRational Cacher::media_time_base() +{ + return stream->time_base; +} + +void Cacher::QueueLock() +{ + queue.lock(); +} + +void Cacher::QueueUnlock() +{ + queue.unlock(); +} + +int Cacher::RetrieveFrameFromDecoder(AVFrame* f) { + int result = 0; + int receive_ret; + + // do we need to retrieve a new packet for a new frame? + av_frame_unref(f); + while ((receive_ret = avcodec_receive_frame(codecCtx, f)) == AVERROR(EAGAIN)) { + int read_ret = 0; + do { + if (pkt->buf != nullptr) { + av_packet_unref(pkt); + } + read_ret = av_read_frame(formatCtx, pkt); + } while (read_ret >= 0 && pkt->stream_index != clip->media_stream_index()); + + if (read_ret >= 0) { + int send_ret = avcodec_send_packet(codecCtx, pkt); + if (send_ret < 0) { + qCritical() << "Failed to send packet to decoder." << send_ret; + return send_ret; + } + } else { + if (read_ret == AVERROR_EOF) { + int send_ret = avcodec_send_packet(codecCtx, nullptr); + if (send_ret < 0) { + qCritical() << "Failed to send packet to decoder." << send_ret; + return send_ret; + } + } else { + qCritical() << "Could not read frame." << read_ret; + return read_ret; // skips trying to find a frame at all + } + } + } + if (receive_ret < 0) { + if (receive_ret != AVERROR_EOF) qCritical() << "Failed to receive packet from decoder." << receive_ret; + result = receive_ret; + } + + return result; +} + +int Cacher::RetrieveFrameAndProcess(AVFrame *f) +{ + // error codes from FFmpeg + int retrieve_code, read_code, send_code; + + // frame for FFmpeg to decode into + f = av_frame_alloc(); + + // loop to pull frames from the AVFilter stack + while ((retrieve_code = av_buffersink_get_frame(buffersink_ctx, f)) == AVERROR(EAGAIN)) { + + // retrieve frame from decoder + read_code = RetrieveFrameFromDecoder(frame_); + + if (read_code >= 0) { + + // we retrieved a decoded video frame, which we will send to the AVFilter stack to convert to RGBA (with other + // adjustments if necessary) + + if ((send_code = av_buffersrc_add_frame_flags(buffersrc_ctx, frame_, AV_BUFFERSRC_FLAG_KEEP_REF)) < 0) { + qCritical() << "Failed to add frame to buffer source." << send_code; + break; + } + + // we don't need the original frame to we free it here + av_frame_unref(frame_); + + } else { + + // AVERROR_EOF means we've reached the end of the file, not technically an error, but it's useful to know that + // there are no more frames in this file + if (read_code != AVERROR_EOF) { + qCritical() << "Failed to read frame." << read_code; + } + break; + } + } + + if (read_code == AVERROR_EOF) { + return AVERROR_EOF; + } + return retrieve_code; +} diff --git a/rendering/cacher.h b/rendering/cacher.h new file mode 100644 index 000000000..1df910650 --- /dev/null +++ b/rendering/cacher.h @@ -0,0 +1,573 @@ +/*** + + Olive - Non-Linear Video Editor + Copyright (C) 2019 Olive Team + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +***/ + +#ifndef CACHER_H +#define CACHER_H + +extern "C" { +#include +#include +#include +#include +#include +#include +#include +#include +#include +} + +#include +#include +#include +#include +#include + +#include "rendering/clipqueue.h" + +class Clip; +using ClipPtr = std::shared_ptr; + +/** + * @brief The Cacher class + * + * For footage clips - usually the majority of clips - decoding can be strenuous on CPU and inconsistent in timing. As + * a result, we keep a memory cache of upcoming frames that we fill in a background thread so they can be retrieved from + * a rendering thread later. This class is the background thread filling up a clip's frame cache (also called a "queue" + * since video files are usually stored with frames in linear chronological order). It involves decoding routines to + * retrieve raw frames from the file (using libavformat/libavcodec), conversion routines to conform the raw frames to + * RGBA/S16LE for the rest of the workflow (using libavfilter/libswscale/libswresample), and memory handling routines + * for keeping the cache within limits defined by the user (see Config::upcoming_queue_type). + * + * Generally the Cacher workflow starts by calling Open() which will start the thread, open a file handle, and create a + * decoding instance. Open() is usually called directly from the parent Clip's Clip::Open() and thus expects the + * Clip::state_change_lock to be locked. It will unlock it when it's finished opening and is ready to start caching, + * meaning Clip::state_change_lock can be used to synchronize threads. + * + * --- + * + * **For video:** + * + * After the Cacher has finished opening, request a frame by calling Cache(). Cache() will tell the Cacher + * information about the current playback state, most importantly the current place in time according to the Sequence's + * playhead. Cache() determines whether the requested frame is already in the queue, and then signals the Cacher thread + * to cache ahead if there's room in the queue (and also remove old frames that are no longer necessary). To retrieve + * the requested frame, call Retrieve(). + * + * If Cache() found the frame already in the queue, Retrieve() will return immediately with this frame. Otherwise + * Retrieve() may block while the cacher retrieves it. Therefore it is recommended never to call Retrieve() from + * the main thread. Retrieve() may also return `nullptr` if there was an issue, e.g. the cacher failed to retrieve + * the frame. + * + * **For audio:** + * + * After the Cacher has finished opening, calling Cache() will handle most of the work. It will decode the audio, + * convert to the correct sample rate and format, reverse or adjust speed if necessary, and send it to the audio + * buffer ready to be played by the output device. It is important to continually call Cache() as it doesn't get + * signalled when more samples are available in the audio buffer. Instead, it'll check every time it's called and + * fill as much of the buffer as it can. + * + * If the user seeks, ResetAudio() must be called to signal the Cacher to interrupt the current audio stream and + * move somewhere else before continuing. + * + * --- + * + * Finally, when the Cacher/parent Clip are no longer in use, call Close() to free all memory and file handling + * allocated for the cacher. You can choose whether to wait for Close() and all of its child processes to complete - + * e.g. if you need to change something with the Clip or attached Footage that changes how it opens and want to be + * thread-safe - or let the Close thread finish up on its own. + * + * Cacher expects to be multithreaded and all of its public functions are thread-safe. + */ +class Cacher : public QThread +{ + Q_OBJECT +public: + /** + * @brief Cacher Constructor + * + * Create Cacher object. The thread is not started here. To start it, call Open(). + * + * @param c + */ + Cacher(ClipPtr c); + + /** + * @brief The main QThread loop + * + * Once the thread has started, all Cacher functions will be called from here until the Cacher closes at which point + * it will close and exit gracefully. + */ + void run(); + + /** + * @brief Open the cacher + * + * Starts the thread and all file/decode handlers. Really just sets some default values and starts the thread, which + * will in turn call OpenWorker() at the start of its functions. + * + * Make sure Clip::state_change_lock is LOCKED before calling this function as the opening process will try to unlock + * it when it's finished (leading to a crash if it's not already locked). + */ + void Open(); + + /** + * @brief Request a frame to be cached + * + * For video, this function is part 1 of the Cache()/Retrieve() workflow. It signals the thread to start caching and + * provides a few other details about the playback state. For optimization it'll also check the frame queue if it + * already contains the requested frame and use it if so, potentially speeding up Retrieve() later on. Otherwise + * it'll interrupt any currently caching operation and signal it to start again. + * While Retrieve() will block until the correct frame is retrieved, this function will return fairly quickly (either + * immediately if the frame was found in the queue, or once the cacher has restarted caching if not). This means + * Cache() can be called from another thread and then that other thread can do other work while the cacher is + * retrieving the frame, finally calling Retrieve() once the frame is absolutely necessary. + * + * For audio, this function will do all the work of signalling the thread to start caching and sending samples to + * the output audio buffer. It's used in tandem with ResetAudio() when the Timeline header is changed abruptly. + * + * @param playhead + * + * The current Timeline played position in frames + * + * @param scrubbing + * + * **TRUE** if the user is currently scrubbing. **FALSE** if not. + * + * @param nests + * + * A hierarchy of nested sequences, if the playback traversed any to get to this clip. + * + * @param playback_speed + * + * The current playback speed (controlled by Shuttle Left/Stop/Right) + */ + void Cache(long playhead, bool scrubbing, QVector& nests, int playback_speed); + + /** + * @brief Retrieve frame requested by Cache() + * + * Part 2 of the Cache()/Retrieve() workflow, only used for video. Whichever frame was requested by Cache(), this + * function will try to retrieve it. In most cases, this function will be pretty quick as the frame will be available + * immediately from Cache()'s optimization or the cacher thread will be close to retrieving the correct frame anyway. + * However it does block for however long it takes to retrieve the correct frame (if the cacher is running) so it's + * not recommended to call this from any main/GUI thread. + * + * @return + * + * The frame requested by Cache(), or `nullptr` if there was an error (e.g. the cacher wasn't running and no frame was + * available). + */ + AVFrame* Retrieve(); + + /** + * @brief Close the cacher and free any allocated memory + * + * When the Cacher thread is no longer needed, Close() should be called in order to free system resources. This will + * signal the thread to exit gracefully, but will not delete the thread object since the cacher may need to be + * re-opened later by Open(). + * + * @param wait_for_finish + * + * **TRUE** if this function should block the calling thread until the Clip has finished closing. Often necessary if + * the Clip is being closed specifically to make changes to it. + */ + void Close(bool wait_for_finish); + + /** + * @brief Interrupt and reset audio state + * + * Used in tandem with Cache(), only for audio clips. Cache() will decode and send audio continually as it's + * repeatedly called. If the audio stream needs to be interrupted and moved somewhere else for any reason + * (e.g. the user seeked somewhere else), then it's necessary to call ResetAudio() to signal the cacher to + * seek to the next place indicated by Cache(). + */ + void ResetAudio(); + + /** + * @brief Retrieve current media width + * + * In some situations, the actual media we're using may be a different resolution to how we're treating it (e.g. + * lower resolution proxies). While most functions will happily treat the media as its original resolution, some + * processes will need the absolute resolution from the file which can be acquired here. + * + * Only call after the thread has been opened by Open(). + * + * @return + * + * The true width of the current video file. + */ + int media_width(); + + /** + * @brief Retrieve current media height + * + * See media_width(). + * + * Only call after the thread has been opened by Open(). + * + * @return + * + * The true height of the current video file. + */ + int media_height(); + + /** + * @brief Retrieve media time base + * + * For some timing operations, it's necessary to use the source media's timebase. Similar to media_width() and + * media_height(), we need the accurate timebase from the file as a proxy's timebase may or may not be the same + * as the source file. + * + * Only call after the thread has been opened by Open(). + * + * @return + * + * The timebase of the file. + */ + AVRational media_time_base(); + + /** + * @brief Wrapper function for queue::lock() + */ + void QueueLock(); + + /** + * @brief Wrapper function for queue::unlock() + */ + void QueueUnlock(); + +private: + /** + * @brief Reference to the parent clip. Set in the constructor and never changed during this object's lifetime. + */ + ClipPtr clip; + + /** + * @brief Frame queue + * + * Valid fames are cached into this, which also does memory handling when necessary. + */ + ClipQueue queue; + + /** + * @brief Main wait condition + * + * Used with Clip::cache_lock as the main block while the the Cacher thread isn't running. Wake this condition + * to start caching. + */ + QWaitCondition wait_cond_; + + /** + * @brief Main thread wait condition + * + * Used with main_thread_lock_ to block Cache() while waiting for a response from the cacher thread. + */ + QWaitCondition main_thread_wait_; + + /** + * @brief Main thread mutex + * + * Used with main_thread_wait_ to block Cache() while waiting for a response from the cacher thread. + */ + QMutex main_thread_lock_; + + /** + * @brief Retrieve() wait condition + * + * Used with retrieve_lock_ to block Retrieve() if the cacher hasn't retrieved the correct frame yet. + */ + QWaitCondition retrieve_wait_; + + /** + * @brief Retrieve() mutex + * + * Used with retrieve_wait_ to block Retrieve() if the cacher hasn't retrieved the correct frame yet. + */ + QMutex retrieve_lock_; + + /** + * @brief Set and used by CacheAudioWorker if the decoder receives an EOF. + * + * Deprecated. CacheAudioWorker() is functional but probably should be rewritten. + */ + bool reached_end; + + /** + * @brief Current Sequence playhead set by Cache() + */ + long playhead_; + + /** + * @brief Current Sequence scrubbing state set by Cache() + */ + bool scrubbing_; + + /** + * @brief Current Sequence playback speed set by Cache() + */ + int playback_speed_; + + /** + * @brief Current nested Sequence hierarchy set by Cache() + */ + QVector nests_; + + /** + * @brief Signal cache to continue operation after one cycle rather than wait for another signal + * + * Each cycle of the cacher thread (see run()) will set this to false in the beginning. Each call of Cache() will set + * this to **TRUE**. If this variable is **TRUE**, the cacher won't wait for another signal before starting the next + * cache cycle, and will instead just start it. + * + * Used if Cache() is called and interrupts the cacher while it's already running so that the cacher will restart + * itself automatically rather than wait for the next cache signal. + */ + bool queued_; + + /** + * @brief Interrupt the current cache cycle + * + * A cache cycle will cache several frames at a time. Since decoding can be strenuous and time consuming, the + * cycle can be interrupted if it needs to abruptly start caching somewhere else. Best used in tandem with + * queued_ to automatically start the next cache cycle. + */ + bool interrupt_; + + // ffmpeg media handling + /** + * @brief FFmpeg format/file context - used for media decoding + */ + AVFormatContext* formatCtx; + + /** + * @brief FFmpeg decoder context - used for media decoding + */ + AVCodecContext* codecCtx; + + /** + * @brief FFmpeg stream - used for media decoding + */ + AVStream* stream; + + /** + * @brief FFmpeg packet - used for media decoding + */ + AVPacket* pkt; + + /** + * @brief FFmpeg frame - used for media decoding + * + * This is usually used as a raw decoded frame before the RGBA conversion/AVFilter stack. Converted/filtered frames go + * into Cacher::queue. + */ + AVFrame* frame_; + + /** + * @brief Retrieved frame reference for Retrieve() + * + * If a frame was found by either Cache() or CacheVideoWorker(), it's set here. If no frame is ready yet, this is set + * to `nullptr`. + */ + AVFrame* retrieved_frame = nullptr; + + // converters/filters + /** + * @brief FFmpeg filter stack + * + * Used for conversion from the media's pixel format to RGBA for OpenGL. Also any other FFmpeg filters are implemented + * here if necessary (e.g. yadif for deinterlacing). GLSL effects are preferred when available since FFmpeg filters + * aren't always fast enough for realtime playback. + */ + AVFilterGraph* filter_graph; + + /** + * @brief FFmpeg buffer source + * + * Raw decoded frames are added to this for conversion/filtering + */ + AVFilterContext* buffersrc_ctx; + + /** + * @brief FFmpeg buffer sink + * + * Converted/filtered frames are retrieved from here and sent to Cacher::queue. + */ + AVFilterContext* buffersink_ctx; + + /** + * @brief FFmpeg codec reference + */ + AVCodec* codec; + + /** + * @brief Options set by the cacher for FFmpeg's decoders (settings like multithreading or other optimizations) + */ + AVDictionary* opts; + + // audio playback variables + /** + * @brief Internal audio reset variable + * + * Set by AudioReset() and read by CacheAudioWorker() when the audio state needs to be interrupted and reset. + */ + bool audio_reset_; + + /** + * @brief Internal reverse target variable + * + * Used by CacheAudioWorker() to stitch audio frames together when reversing. Stores the current frame's timestamp + * so it knows how much to decode up to when it backtracks and decodes the next samples. + */ + int64_t reverse_target_; + + /** + * @brief Internal frame sample index variable + * + * Used by CacheAudioWorker() to mark which part of the audio frame to read from + */ + int frame_sample_index_; + + /** + * @brief Internal audio buffer write variable + * + * Used by CacheAudioWorker() to mark which part of the audio buffer to write to + */ + qint64 audio_buffer_write; + + /** + * @brief Internal variable that holds the playhead the last time the audio state was reset + */ + long audio_target_frame; + + /** + * @brief Main while loop condition to determine whether thread should continue looping + * + * Open() sets this to **TRUE**, Close() sets this to **FALSE**. If it's false, the main loop in run() will exit and + * the thread will exit cleanly. It's not recommended to set this variable directly, use Open() and Close() instead. + */ + bool caching_; + + /** + * @brief Internal function for opening the file handles and decoder + * + * After the thread has started, it'll call this function to start all resources necessary for caching. Any + * FFmpeg decoding variables and filters are set up here. + * + * This is + * fundamentally different from Open(), this is only meant to be called within the cacher thread and never from + * outside and doesn't start the thread like Open() does. + */ + void OpenWorker(); + + /** + * @brief Internal function for starting a cache cycle + * + * This used to have more function, but now just differentiates between CacheVideoWorker() for video clips and + * CacheAudioWorker() for audio clips. + */ + void CacheWorker(); + + /** + * @brief Internal function for closing cacher + * + * Called if the main thread loop in run() exits by setting caching_ to **FALSE**. Free's up handles and memory + * allocated by OpenWorker(). + */ + void CloseWorker(); + + /** + * @brief Internal function for resetting audio state + * + * This used to be a common function, but is now simply a legacy function for CacheAudioWorker(). Resets and + * flushes decoders and seeks to the correct timestamp. + */ + void Reset(); + + /** + * @brief Internal function for setting retrieved_frame and waking up any threads waiting for it + * + * @param f + * + * The frame to set as the retrieved frame. + */ + void SetRetrievedFrame(AVFrame* f); + + /** + * @brief Internal function to wake an external calling thread + * + * In some situations, Cache() may wait for the cacher to respond before returning. This is to assist in thread + * synchronization, making sure the cacher has started working and has locked any resources it needs before any + * other threads can access them (e.g. with a function like Retrieve() ). This must be called at the start of + * any CacheVideoWorker() or CacheAudioWorker() control paths to ensure the render thread doesn't get stuck. + */ + void WakeMainThread(); + + /** + * @brief Retrieve frame from decoder + * + * Retrieves the next decoded frame from the decoder. Depending on the source media, this frame may or may not be + * suitable for usage later in the pipeline as it may or may not be the correct pixel/sample format. For a suitable + * frame for the pipeline, use RetrieveFrameAndProcess() instead (which in turn uses this function anyway). + * + * @param f + * + * Frame buffer to decode frame into + * + * @return + * + * FFmpeg error code (>= 0 on success, a negative error code on failure) + */ + int RetrieveFrameFromDecoder(AVFrame* f); + + /** + * @brief Retrieve frame from decoder and run it through filter stack + * + * Retrieves the next decoded frame and runs it through the AVFilter stack to create an RGBA frame compatible with + * the rest of the pipeline and OpenGL. Use this function if you need a ready-made frame. + * + * @param f + * + * The AVFrame to retrieve. This function allocates an AVFrame so you shouldn't do so beforehand. You'll also need to + * free it later with av_frame_free() (though ClipQueue will do this automatically if the frame is added to it). + * + * @return + * + * FFmpeg error code (>= 0 on success, a negative error code on failure) + */ + int RetrieveFrameAndProcess(AVFrame *f); + + /** + * @brief Internal video caching function + * + * Performs one video cache cycle. Seeks the media and cleans old frames from the queue if necessary. Decodes frames + * and adds them to the queue (after calculating whether they're necessary). + */ + void CacheVideoWorker(); + + /** + * @brief Internal audio caching function + * + * Perform one audio cache cycle. Retrieves audio from decoder, reverses and changes speed if necessary, and sends + * audio to the audio buffer which will later be sent to the audio output device. + */ + void CacheAudioWorker(); +}; + +#endif // CACHER_H diff --git a/rendering/clipqueue.cpp b/rendering/clipqueue.cpp new file mode 100644 index 000000000..bf86cdcd5 --- /dev/null +++ b/rendering/clipqueue.cpp @@ -0,0 +1,95 @@ +/*** + + Olive - Non-Linear Video Editor + Copyright (C) 2019 Olive Team + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +***/ + +#include "clipqueue.h" + + +ClipQueue::ClipQueue() +{ + +} + +ClipQueue::~ClipQueue() +{ + clear(); +} + +void ClipQueue::lock() +{ + queue_lock.lock(); +} + +bool ClipQueue::tryLock() +{ + return queue_lock.tryLock(); +} + +void ClipQueue::unlock() +{ + queue_lock.unlock(); +} + +void ClipQueue::append(AVFrame *frame) +{ + queue.append(frame); +} + +AVFrame *ClipQueue::at(int i) +{ + return queue.at(i); +} + +AVFrame *ClipQueue::first() +{ + return queue.first(); +} + +AVFrame *ClipQueue::last() +{ + return queue.last(); +} + +void ClipQueue::removeFirst() +{ + removeAt(0); +} + +void ClipQueue::removeLast() +{ + removeAt(queue.size()-1); +} + +void ClipQueue::removeAt(int i) +{ + av_frame_free(&queue[i]); + queue.removeAt(i); +} + +void ClipQueue::clear() +{ + while (queue.size() > 0) { + removeAt(0); + } +} + +int ClipQueue::size() +{ + return queue.size(); +} diff --git a/rendering/clipqueue.h b/rendering/clipqueue.h new file mode 100644 index 000000000..f06afc61d --- /dev/null +++ b/rendering/clipqueue.h @@ -0,0 +1,167 @@ +/*** + + Olive - Non-Linear Video Editor + Copyright (C) 2019 Olive Team + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +***/ + +#ifndef CLIPQUEUE_H +#define CLIPQUEUE_H + +extern "C" { +#include +} + +#include +#include + +/** + * @brief The ClipQueue class + * + * A fairly simple wrapper for a QVector and QMutex that cleans up AVFrames automatically when removing them. + */ +class ClipQueue { +public: + /** + * @brief ClipQueue Constructor + */ + ClipQueue(); + + /** + * @brief ClipQueue Destructor + * + * Automatically clears queue freeing any memory consumed by any AVFrames + */ + ~ClipQueue(); + + // Thread safety (QMutex compatible) + /** + * @brief Lock queue mutex + * + * Used for multithreading to ensure queue is only accessed by one thread at a time. See QMutex::lock() for more + * information. + */ + void lock(); + + /** + * @brief Try to lock queue mutex + * + * Used for multithreading to ensure queue is only accessed by one thread at a time. Tries to lock, but doesn't block + * the calling thread and wait if it can't lock it. See QMutex::tryLock() for more information. + * + * @return + * + * **TRUE** if the lock succeeded, **FALSE** if not. + */ + bool tryLock(); + + /** + * @brief Unlock queue mutex + * + * Used for multithreading to ensure queue is only accessed by one thread at a time. See QMutex::unlock() for more + * information. + */ + void unlock(); + + // Array handling (QVector compatible) + /** + * @brief Add a frame to the end of the queue + * + * @param frame + * + * The frame to add + */ + void append(AVFrame* frame); + + /** + * @brief Retrieve a frame at a certain index + * + * @param i + * + * Index to retrieve frame from + * + * @return + * + * AVFrame at this index + */ + AVFrame* at(int i); + + /** + * @brief Retrieve first frame in the queue + * + * @return + * + * The first AVFrame in the queue + */ + AVFrame* first(); + + /** + * @brief Retrieve last frame in the queue + * + * @return + * + * The last AVFrame in the queue + */ + AVFrame* last(); + + /** + * @brief Remove first frame in the queue + * + * Frees all memory occupied by this frame and removes it from the queue + */ + void removeFirst(); + + /** + * @brief Remove last frame in the queue + * + * Frees all memory occupied by this frame and removes it from the queue + */ + void removeLast(); + + /** + * @brief Remove frame in the queue at a certain index + * + * Frees all memory occupied by this frame and removes it from the queue + * + * @param i + * + * Index to remove a frame at + */ + void removeAt(int i); + + /** + * @brief Clear entire queue + * + * Frees all memory occupied by all frames and clears the entire queue + */ + void clear(); + + /** + * @brief Retrieve current size of the queue + * + * @return + * + * Current the current size of the queue. All indexes in the queue are guaranteed to be valid references to an + * AVFrame. + */ + int size(); + +private: + QVector queue; + QMutex queue_lock; +}; + +#endif // CLIPQUEUE_H diff --git a/ui/renderfunctions.cpp b/rendering/renderfunctions.cpp similarity index 76% rename from ui/renderfunctions.cpp rename to rendering/renderfunctions.cpp index 45271853a..4cbda8e3d 100644 --- a/ui/renderfunctions.cpp +++ b/rendering/renderfunctions.cpp @@ -43,8 +43,7 @@ namespace OCIO = OCIO_NAMESPACE; #include "ui/collapsiblewidget.h" -#include "playback/audio.h" -#include "playback/playback.h" +#include "rendering/audio.h" #include "io/math.h" #include "io/config.h" @@ -52,6 +51,8 @@ namespace OCIO = OCIO_NAMESPACE; #include "panels/timeline.h" #include "panels/viewer.h" +const int kMaximumRetryCount = 10; + void full_blit() { glPushMatrix(); glLoadIdentity(); @@ -154,6 +155,8 @@ void process_effect(ClipPtr c, } GLuint compose_sequence(ComposeSequenceParams ¶ms) { +// qint64 time = QDateTime::currentMSecsSinceEpoch(); + GLuint final_fbo = params.main_buffer; SequencePtr s = params.seq; @@ -161,9 +164,9 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { if (!params.nests.isEmpty()) { for (int i=0;imedia->to_sequence(); - playhead += params.nests.at(i)->clip_in - params.nests.at(i)->get_timeline_in_with_transition(); - playhead = refactor_frame_number(playhead, params.nests.at(i)->sequence->frame_rate, s->frame_rate); + s = params.nests.at(i)->media()->to_sequence(); + playhead += params.nests.at(i)->clip_in(true) - params.nests.at(i)->timeline_in(true); + playhead = rescale_frame_number(playhead, params.nests.at(i)->sequence->frame_rate, s->frame_rate); } if (params.video && params.nests.last()->fbo != nullptr) { @@ -185,38 +188,38 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { if (c != nullptr) { // if clip is video and we're processing video - if ((c->track < 0) == params.video) { + if ((c->track() < 0) == params.video) { bool clip_is_active = false; // is the clip a "footage" clip? - if (c->media != nullptr && c->media->get_type() == MEDIA_TYPE_FOOTAGE) { - FootagePtr m = c->media->to_footage(); + if (c->media() != nullptr && c->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + FootagePtr m = c->media()->to_footage(); // does the clip have a valid media source? - if (!m->invalid && !(c->track >= 0 && !is_audio_device_set())) { + if (!m->invalid && !(c->track() >= 0 && !is_audio_device_set())) { // is the media process and ready? if (m->ready) { - const FootageStream* ms = m->get_stream_from_file_index(c->track < 0, c->media_stream); + const FootageStream* ms = c->media_stream(); // does the media have a valid media stream source and is it active? - if (ms != nullptr && is_clip_active(c, playhead)) { + if (ms != nullptr && c->IsActiveAt(playhead)) { // open if not open - if (!c->open) { - open_clip(c, !params.single_threaded); + if (!c->IsOpen()) { + c->Open(); } clip_is_active = true; // increment audio track count - if (c->track >= 0) audio_track_count++; + if (c->track() >= 0) audio_track_count++; - } else if (c->finished_opening) { + } else if (c->IsOpen()) { // close the clip if it isn't active anymore - close_clip(c, false); + c->Close(false); } } else { @@ -229,11 +232,13 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { } else { // if the clip is a nested sequence or null clip, just open it - if (is_clip_active(c, playhead)) { - if (!c->open) open_clip(c, !params.single_threaded); + if (c->IsActiveAt(playhead)) { + if (!c->IsOpen()) { + c->Open(); + } clip_is_active = true; - } else if (c->finished_opening) { - close_clip(c, false); + } else if (c->IsOpen()) { + c->Close(false); } } @@ -247,7 +252,7 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { // insertion sort by track for (int j=0;jtrack < c->track) { + if (current_clips.at(j)->track() < c->track()) { current_clips.insert(j, c); added = true; break; @@ -277,19 +282,23 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { } // loop through current clips + for (int i=0;imedia != nullptr && c->media->get_type() == MEDIA_TYPE_FOOTAGE && !c->finished_opening) { - qWarning() << "Tried to display clip" << i << "but it's closed"; - params.texture_failed = true; + bool got_mutex = true; + + if (params.wait_for_mutexes) { + // wait for clip to finish opening + c->state_change_lock.lock(); } else { + got_mutex = c->state_change_lock.tryLock(); + } - c->render_lock.lock(); - + if (got_mutex && c->IsOpen()) { // if clip is a video clip - if (c->track < 0) { + if (c->track() < 0) { + // reset OpenGL to full color glColor4f(1.0, 1.0, 1.0, 1.0); @@ -297,39 +306,30 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { GLuint textureID = 0; // store video source dimensions - int video_width = c->getWidth(); - int video_height = c->getHeight(); + int video_width = c->media_width(); + int video_height = c->media_height(); // if media is footage - if (c->media != nullptr && c->media->get_type() == MEDIA_TYPE_FOOTAGE) { - - if (c->texture == nullptr) { - // opengl texture doesn't exist yet, create it - - c->texture = new QOpenGLTexture(QOpenGLTexture::Target2D); - c->texture->setSize(c->stream->codecpar->width, c->stream->codecpar->height); - c->texture->setFormat(QOpenGLTexture::RGBA8_UNorm); - c->texture->setMipLevels(c->texture->maximumMipLevels()); - c->texture->setMinMagFilters(QOpenGLTexture::Linear, QOpenGLTexture::Linear); - c->texture->allocateStorage(QOpenGLTexture::RGBA, QOpenGLTexture::UInt8); - } + if (c->media() != nullptr && c->media()->get_type() == MEDIA_TYPE_FOOTAGE) { // retrieve video frame from cache and store it in c->texture - get_clip_frame(c, qMax(playhead, c->timeline_in), params.texture_failed); - - // retrieve ID from c->texture - textureID = c->texture->textureId(); + c->Cache(qMax(playhead, c->timeline_in()), false, false, params.nests, params.playback_speed); + if (!c->Retrieve()) { + params.texture_failed = true; + } else { + // retrieve ID from c->texture + textureID = c->texture->textureId(); + } if (textureID == 0) { qWarning() << "Failed to create texture"; - return 0; } } // prepare framebuffers for backend drawing operations if (c->fbo == nullptr) { // create 3 fbos for nested sequences, 2 for most clips - int fbo_count = (c->media != nullptr && c->media->get_type() == MEDIA_TYPE_SEQUENCE) ? 3 : 2; + int fbo_count = (c->media() != nullptr && c->media()->get_type() == MEDIA_TYPE_SEQUENCE) ? 3 : 2; c->fbo = new QOpenGLFramebufferObject* [size_t(fbo_count)]; @@ -339,8 +339,8 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { } // if clip should actually be shown on screen in this frame - if (playhead >= c->get_timeline_in_with_transition() - && playhead < c->get_timeline_out_with_transition()) { + if (playhead >= c->timeline_in(true) + && playhead < c->timeline_out(true)) { glPushMatrix(); // simple bool for switching between the two framebuffers @@ -348,8 +348,8 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { glViewport(0, 0, video_width, video_height); - if (c->media != nullptr) { - if (c->media->get_type() == MEDIA_TYPE_SEQUENCE) { + if (c->media() != nullptr) { + if (c->media()->get_type() == MEDIA_TYPE_SEQUENCE) { // for a nested sequence, run this function again on that sequence and retrieve the texture // add nested sequence to nest list @@ -363,9 +363,9 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { // compose_sequence() would have written to this clip's fbo[0], so we switch to fbo[1] fbo_switcher = true; - } else if (c->media->get_type() == MEDIA_TYPE_FOOTAGE) { + } else if (c->media()->get_type() == MEDIA_TYPE_FOOTAGE) { - if (!c->media->to_footage()->alpha_is_premultiplied) { + if (!c->media()->to_footage()->alpha_is_premultiplied) { // alpha is not premultiplied, we'll need to multiply it for the rest of the pipeline params.premultiply_program->bind(); @@ -376,20 +376,12 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { fbo_switcher = true; } - // convert to linear colorspace #ifdef OLIVE_OCIO + // convert to linear colorspace bool linear_convert = true; if (linear_convert) { - OCIO::ConstConfigRcPtr config = OCIO::GetCurrentConfig(); - const char* g_display = config->getDefaultDisplay(); - const char* g_transformName = config->getDefaultView(g_display); - const char* g_inputColorSpace = OCIO::ROLE_SCENE_LINEAR; - std::string cs = config->parseColorSpaceFromString("srgb"); - if (!cs.empty()) { - g_inputColorSpace = cs.c_str(); - } } #endif @@ -411,7 +403,7 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { coords.opacity = 1.0; // if auto-scale is enabled, auto-scale the clip - if (c->autoscale && (video_width != s->width && video_height != s->height)) { + if (c->autoscaled() && (video_width != s->width && video_height != s->height)) { float width_multiplier = float(s->width) / float(video_width); float height_multiplier = float(s->height) / float(video_height); float scale_multiplier = qMin(width_multiplier, height_multiplier); @@ -448,7 +440,7 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { // if the clip has an opening transition, process that now if (c->opening_transition != nullptr) { - int transition_progress = playhead - c->get_timeline_in_with_transition(); + int transition_progress = playhead - c->timeline_in(true); if (transition_progress < c->opening_transition->get_length()) { process_effect(c, c->opening_transition, double(transition_progress)/double(c->opening_transition->get_length()), coords, textureID, fbo_switcher, params.texture_failed, kTransitionOpening); } @@ -456,7 +448,7 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { // if the clip has a closing transition, process that now if (c->closing_transition != nullptr) { - int transition_progress = playhead - (c->get_timeline_out_with_transition() - c->closing_transition->get_length()); + int transition_progress = playhead - (c->timeline_out(true) - c->closing_transition->get_length()); if (transition_progress >= 0 && transition_progress < c->closing_transition->get_length()) { process_effect(c, c->closing_transition, double(transition_progress)/double(c->closing_transition->get_length()), coords, textureID, fbo_switcher, params.texture_failed, kTransitionClosing); } @@ -549,6 +541,11 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { + // thread safety (see docs for ComposeSequenceParams::main_buffer_mutex) + if (final_fbo == params.main_buffer) { + params.main_buffer_mutex->lock(); + } + // bind front buffer as draw buffer params.ctx->functions()->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, final_fbo); @@ -596,6 +593,11 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { // unbind framebuffer params.ctx->functions()->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); + // thread safety (see docs for ComposeSequenceParams::main_buffer_mutex) + if (final_fbo == params.main_buffer) { + params.main_buffer_mutex->unlock(); + } + // == END FINAL DRAW ON SEQUENCE BUFFER == @@ -613,22 +615,28 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { glPopMatrix(); } } else { - if (c->media != nullptr && c->media->get_type() == MEDIA_TYPE_SEQUENCE) { + if (c->media() != nullptr && c->media()->get_type() == MEDIA_TYPE_SEQUENCE) { params.nests.append(c); compose_sequence(params); params.nests.removeLast(); } else { - if (c->lock.tryLock()) { - // Check whether cacher is currently active, if not activate it now + // Check whether cacher is currently active, if not activate it now + if (c->cache_lock.tryLock()) { + + c->cache_lock.unlock(); + + c->Cache(playhead, + false, + (params.viewer != nullptr && !params.viewer->playing), + params.nests, + params.playback_speed); - cache_clip(c, playhead, c->audio_reset, (params.viewer != nullptr && !params.viewer->playing), params.nests, params.playback_speed); - c->lock.unlock(); } } // visually update all the keyframe values if (c->sequence == params.seq) { // only if you can currently see them - double ts = (playhead - c->get_timeline_in_with_transition() + c->get_clip_in_with_transition())/s->frame_rate; + double ts = (playhead - c->timeline_in(true) + c->clip_in(true))/s->frame_rate; for (int i=0;ieffects.size();i++) { EffectPtr e = c->effects.at(i); for (int j=0;jrow_count();j++) { @@ -640,9 +648,12 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { } } } + } else { + params.texture_failed = true; + } - c->render_lock.unlock(); - + if (got_mutex) { + c->state_change_lock.unlock(); } } @@ -654,6 +665,8 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { glPopMatrix(); } +// qDebug() << "compose sequence took" << QDateTime::currentMSecsSinceEpoch() - time; + if (!params.nests.isEmpty() && params.nests.last()->fbo != nullptr) { // returns nested clip's texture return params.nests.last()->fbo[0]->texture(); @@ -662,15 +675,62 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { return 0; } -void compose_audio(Viewer* viewer, SequencePtr seq, int playback_speed) { +void compose_audio(Viewer* viewer, SequencePtr seq, int playback_speed, bool wait_for_mutexes) { ComposeSequenceParams params; params.viewer = viewer; params.ctx = nullptr; params.seq = seq; params.video = false; params.gizmos = nullptr; - params.single_threaded = audio_rendering; + params.wait_for_mutexes = wait_for_mutexes; params.playback_speed = playback_speed; params.blend_mode_program = nullptr; compose_sequence(params); } + +long rescale_frame_number(long framenumber, double source_frame_rate, double target_frame_rate) { + return qRound((double(framenumber)/source_frame_rate)*target_frame_rate); +} + +double get_timecode(ClipPtr c, long playhead) { + return double(playhead_to_clip_frame(c, playhead))/c->sequence->frame_rate; +} + +long playhead_to_clip_frame(ClipPtr c, long playhead) { + return (qMax(0L, playhead - c->timeline_in(true)) + c->clip_in(true)); +} + +double playhead_to_clip_seconds(ClipPtr c, long playhead) { + // returns time in seconds + long clip_frame = playhead_to_clip_frame(c, playhead); + + if (c->reversed()) { + clip_frame = c->media_length() - clip_frame - 1; + } + + double secs = (double(clip_frame)/c->sequence->frame_rate)*c->speed().value; + if (c->media() != nullptr && c->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + secs *= c->media()->to_footage()->speed; + } + + return secs; +} + +int64_t seconds_to_timestamp(ClipPtr c, double seconds) { + return qRound64(seconds * av_q2d(av_inv_q(c->time_base()))); +} + +int64_t playhead_to_timestamp(ClipPtr c, long playhead) { + return seconds_to_timestamp(c, playhead_to_clip_seconds(c, playhead)); +} + +void close_active_clips(SequencePtr s) { + if (s != nullptr) { + for (int i=0;iclips.size();i++) { + ClipPtr c = s->clips.at(i); + if (c != nullptr) { + c->Close(true); + } + } + } +} diff --git a/ui/renderfunctions.h b/rendering/renderfunctions.h similarity index 71% rename from ui/renderfunctions.h rename to rendering/renderfunctions.h index a5f11e588..0decab71d 100644 --- a/ui/renderfunctions.h +++ b/rendering/renderfunctions.h @@ -120,7 +120,7 @@ struct ComposeSequenceParams { * threads and syncing up with them. See ComposeSequenceParams::texture_failed for a similar function that could * be removed. */ - bool single_threaded; + bool wait_for_mutexes; /** * @brief Set the current playback speed (adjusted with Shuttle Left/Right) @@ -174,6 +174,16 @@ struct ComposeSequenceParams { */ GLuint main_attachment; + /** + * @brief Mutex for the main framebuffer + * + * Used only for video rendering. Never accessed with audio rendering. + * + * If this is not nullptr, compose_sequence() will lock this mutex when rendering to main_buffer/main_attachment. + * Used to synchronize ViewerWidget and ViewerWindow with RenderThread. + */ + QMutex* main_buffer_mutex; + /** * @brief Backend OpenGL framebuffer 1 used for further processing before rendering to main_buffer * @@ -259,7 +269,148 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms); * @param playback_speed * * The current playback speed (controlled by Shuttle Left/Right) + * + * @param + * + * Whether to wait for media to open or simply fail if the media is not yet open. This should usually be **FALSE**. */ -void compose_audio(Viewer* viewer, SequencePtr seq, int playback_speed); +void compose_audio(Viewer* viewer, SequencePtr seq, int playback_speed, bool wait_for_mutexes); + +/** + * @brief Rescale a frame number between two frame rates + * + * Converts a frame number from one frame rate to its equivalent in another frame rate + * + * @param framenumber + * + * The frame number to convert + * + * @param source_frame_rate + * + * Frame rate that the frame number is currently in + * + * @param target_frame_rate + * + * Frame rate to convert to + * + * @return + * + * Rescaled frame number + */ +long rescale_frame_number(long framenumber, double source_frame_rate, double target_frame_rate); + +/** + * @brief Get timecode + * + * Get the current clip/media time from the Timeline playhead in seconds. For instance if the playhead was at the start + * of a clip (whose in point wasn't trimmed), this would be 0.0 as it's the start of the clip/media; + * + * @param c + * + * Clip to get the timecode of + * + * @param playhead + * + * Sequence playhead to convert to a clip/media timecode + * + * @return + * + * Timecode in seconds + */ +double get_timecode(ClipPtr c, long playhead); + +/** + * @brief Convert playhead frame number to a clip frame number + * + * Converts a Timeline playhead to a the current clip's frame. Equivalent to + * `PLAYHEAD - CLIP_TIMELINE_IN + CLIP_MEDIA_IN`. All keyframes are in clip frames. + * + * @param c + * + * The clip to get the current frame number of + * + * @param playhead + * + * The current Timeline frame number + * + * @return + * + * The curren frame number of the clip at `playhead` + */ +long playhead_to_clip_frame(ClipPtr c, long playhead); + +/** + * @brief Converts the playhead to clip seconds + * + * Get the current timecode at the playhead in terms of clip seconds. + * + * FIXME: Possible duplicate of get_timecode()? Will need to research this more. + * + * @param c + * + * Clip to return clip seconds of. + * + * @param playhead + * + * Current Timeline playhead to convert to clip seconds + * + * @return + * + * Clip time in seconds + */ +double playhead_to_clip_seconds(ClipPtr c, long playhead); + +/** + * @brief Convert seconds to FFmpeg timestamp + * + * Used for interaction with FFmpeg, converts seconds in a floating-point value to a timestamp in AVStream->time_base + * units. + * + * @param c + * + * Clip to get timestamp of + * + * @param seconds + * + * Clip time in seconds + * + * @return + * + * An FFmpeg-compatible timestamp in AVStream->time_base units. + */ +int64_t seconds_to_timestamp(ClipPtr c, double seconds); + +/** + * @brief Convert Timeline playhead to FFmpeg timestamp + * + * Used for interaction with FFmpeg, converts the Timeline playhead to a timestamp in AVStream->time_base + * units. + * + * @param c + * + * Clip to get timestamp of + * + * @param playhead + * + * Timeline playhead to convert to a timestamp + * + * @return + * + * An FFmpeg-compatible timestamp in AVStream->time_base units. + */ +int64_t playhead_to_timestamp(ClipPtr c, long playhead); + +/** + * @brief Close all open clips in a Sequence + * + * Closes any currently open clips on a Sequence and waits for them to close before returning. This may be slow as a + * result on large Sequence objects. If a Clip is a nested Sequence, this function calls itself recursively on that + * Sequence too. + * + * @param s + * + * The Sequence to close all clips on. + */ +void close_active_clips(SequencePtr s); #endif // RENDERFUNCTIONS_H diff --git a/rendering/renderthread.cpp b/rendering/renderthread.cpp new file mode 100644 index 000000000..eb421e2fa --- /dev/null +++ b/rendering/renderthread.cpp @@ -0,0 +1,350 @@ +/*** + + Olive - Non-Linear Video Editor + Copyright (C) 2019 Olive Team + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +***/ + +#include "renderthread.h" + +#include +#include +#include +#include +#include +#ifdef OLIVE_OCIO +#include +namespace OCIO = OCIO_NAMESPACE; +#endif + +#include "rendering/renderfunctions.h" +#include "project/sequence.h" + +RenderThread::RenderThread() +{ + front_buffer1 = 0; + front_buffer2 = 0; + front_texture1 = 0; + front_texture2 = 0; + gizmos = nullptr; + share_ctx = nullptr; + ctx = nullptr; + blend_mode_program = nullptr; + premultiply_program = nullptr; + seq = nullptr; + tex_width = -1; + tex_height = -1; + queued = false; + texture_failed = false; + running = true; + + surface.create(); +} + +RenderThread::~RenderThread() { + surface.destroy(); +} + +void RenderThread::run() { + wait_lock_.lock(); + + while (running) { + if (!queued) { + wait_cond_.wait(&wait_lock_); + } + if (!running) { + break; + } + queued = false; + + if (share_ctx != nullptr) { + if (ctx != nullptr) { + ctx->makeCurrent(&surface); + + // gen fbo + if (front_buffer1 == 0) { + // delete any existing framebuffers + delete_fbo(); + + // create framebuffers + ctx->functions()->glGenFramebuffers(1, &front_buffer1); + ctx->functions()->glGenFramebuffers(1, &front_buffer2); + ctx->functions()->glGenFramebuffers(1, &back_buffer_1); + ctx->functions()->glGenFramebuffers(1, &back_buffer_2); + } + + // gen texture + if (front_texture1 == 0 || tex_width != seq->width || tex_height != seq->height) { + // cache texture size + tex_width = seq->width; + tex_height = seq->height; + + // delete any existing textures + delete_texture(); + + // create texture + glGenTextures(1, &front_texture1); + glGenTextures(1, &front_texture2); + glGenTextures(1, &back_texture_1); + glGenTextures(1, &back_texture_2); + + GLuint textures[4] = { front_texture1, front_texture2, back_texture_1, back_texture_2 }; + GLuint fbos[4] = { front_buffer1, front_buffer2, back_buffer_1, back_buffer_2 }; + + for (int i=0;i<4;i++) { + allocate_texture(textures[i], fbos[i]); + } + } + + if (blend_mode_program == nullptr) { + // create shader program to make blending modes work + delete_shader_program(); + + blend_mode_program = new QOpenGLShaderProgram(); + blend_mode_program->addShaderFromSourceFile(QOpenGLShader::Vertex, ":/internalshaders/common.vert"); + blend_mode_program->addShaderFromSourceFile(QOpenGLShader::Fragment, ":/internalshaders/blending.frag"); + blend_mode_program->link(); + + premultiply_program = new QOpenGLShaderProgram(); + premultiply_program->addShaderFromSourceFile(QOpenGLShader::Vertex, ":/internalshaders/common.vert"); + premultiply_program->addShaderFromSourceFile(QOpenGLShader::Fragment, ":/internalshaders/premultiply.frag"); + premultiply_program->link(); + } + + // draw frame + paint(); + + front_buffer_switcher = !front_buffer_switcher; + + emit ready(); + } + } + } + + delete_ctx(); + + wait_lock_.unlock(); +} + +QMutex *RenderThread::get_texture_mutex() +{ + // return the mutex for the opposite texture being drawn to by the renderer + return front_buffer_switcher ? &front_mutex2 : &front_mutex1; +} + +const GLuint &RenderThread::get_texture() +{ + // return the opposite texture to the texture being drawn to by the renderer + return front_buffer_switcher ? front_texture2 : front_texture1; +} + +void RenderThread::allocate_texture(GLuint tex, GLuint fbo) +{ + // bind framebuffer for attaching + ctx->functions()->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fbo); + + // bind texture + glBindTexture(GL_TEXTURE_2D, tex); + + // allocate storage for texture + glTexImage2D( + GL_TEXTURE_2D, 0, GL_RGBA, seq->width, seq->height, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr + ); + + // set texture filtering to bilinear + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + // attach texture to framebuffer + ctx->functions()->glFramebufferTexture2D( + GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, tex, 0 + ); + + // release texture + glBindTexture(GL_TEXTURE_2D, 0); + + // release framebuffer + ctx->functions()->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); +} + +void RenderThread::set_up_ocio() +{ +} + +void RenderThread::paint() { + // set up compose_sequence() parameters + ComposeSequenceParams params; + params.viewer = nullptr; + params.ctx = ctx; + params.seq = seq; + params.video = true; + params.texture_failed = false; + params.gizmos = &gizmos; + params.wait_for_mutexes = true; + params.playback_speed = 1; + params.blend_mode_program = blend_mode_program; + params.premultiply_program = premultiply_program; + params.backend_buffer1 = back_buffer_1; + params.backend_buffer2 = back_buffer_2; + params.backend_attachment1 = back_texture_1; + params.backend_attachment2 = back_texture_2; + params.main_buffer = front_buffer_switcher ? front_buffer1 : front_buffer2; + params.main_attachment = front_buffer_switcher ? front_texture1 : front_texture2; + params.main_buffer_mutex = front_buffer_switcher ? &front_mutex1 : &front_mutex2; + + // bind framebuffer for drawing + ctx->functions()->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, params.main_buffer); + + glLoadIdentity(); + + glClearColor(0.0, 0.0, 0.0, 0.0); + glClear(GL_COLOR_BUFFER_BIT); + + glMatrixMode(GL_MODELVIEW); + + glEnable(GL_TEXTURE_2D); + glEnable(GL_BLEND); + glEnable(GL_DEPTH); + + gizmos = nullptr; + + compose_sequence(params); + + texture_failed = params.texture_failed; + + if (!save_fn.isEmpty()) { + if (texture_failed) { + // texture failed, try again + queued = true; + } else { + ctx->functions()->glBindFramebuffer(GL_READ_FRAMEBUFFER, params.main_buffer); + QImage img(tex_width, tex_height, QImage::Format_RGBA8888); + glReadPixels(0, 0, tex_width, tex_height, GL_RGBA, GL_UNSIGNED_BYTE, img.bits()); + img.save(save_fn); + ctx->functions()->glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); + save_fn = ""; + } + } + + if (pixel_buffer != nullptr) { + + // set main framebuffer to the current read buffer + ctx->functions()->glBindFramebuffer(GL_READ_FRAMEBUFFER, params.main_buffer); + + // store pixels in buffer + glReadPixels(0, + 0, + pixel_buffer_linesize == 0 ? tex_width : pixel_buffer_linesize, + tex_height, + GL_RGBA, + GL_UNSIGNED_BYTE, + pixel_buffer); + + // release current read buffer + ctx->functions()->glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); + + pixel_buffer = nullptr; + } + + glDisable(GL_DEPTH); + glDisable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + + // flush changes + ctx->functions()->glFinish(); + + // release + ctx->functions()->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); +} + +void RenderThread::start_render(QOpenGLContext *share, SequencePtr s, const QString& save, GLvoid* pixels, int pixel_linesize, int idivider) { + Q_UNUSED(idivider); + + seq = s; + + // stall any dependent actions + texture_failed = true; + + if (share != nullptr && (ctx == nullptr || ctx->shareContext() != share_ctx)) { + share_ctx = share; + delete_ctx(); + ctx = new QOpenGLContext(); + ctx->setFormat(share_ctx->format()); + ctx->setShareContext(share_ctx); + ctx->create(); + ctx->moveToThread(this); + } + + save_fn = save; + pixel_buffer = pixels; + pixel_buffer_linesize = pixel_linesize; + + queued = true; + + wait_cond_.wakeAll(); +} + +bool RenderThread::did_texture_fail() { + return texture_failed; +} + +void RenderThread::cancel() { + running = false; + wait_cond_.wakeAll(); + wait(); +} + +void RenderThread::delete_texture() { + if (front_texture1 > 0) { + GLuint tex[4] = {front_texture1, front_texture2, back_texture_1, back_texture_2}; + glDeleteTextures(3, tex); + } + front_texture1 = 0; + front_texture2 = 0; + back_texture_1 = 0; + back_texture_2 = 0; +} + +void RenderThread::delete_fbo() { + if (front_buffer1 > 0) { + GLuint fbos[4] = {front_buffer1, front_buffer2, back_buffer_1, back_buffer_2}; + ctx->functions()->glDeleteFramebuffers(3, fbos); + } + front_buffer1 = 0; + front_buffer2 = 0; + back_buffer_1 = 0; + back_buffer_2 = 0; +} + +void RenderThread::delete_shader_program() { + if (blend_mode_program != nullptr) { + delete blend_mode_program; + delete premultiply_program; + } + blend_mode_program = nullptr; + premultiply_program = nullptr; +} + +void RenderThread::delete_ctx() { + if (ctx != nullptr) { + delete_shader_program(); + delete_texture(); + delete_fbo(); + ctx->doneCurrent(); + delete ctx; + } + ctx = nullptr; +} diff --git a/ui/renderthread.h b/rendering/renderthread.h similarity index 70% rename from ui/renderthread.h rename to rendering/renderthread.h index 672d07214..846a97ae3 100644 --- a/ui/renderthread.h +++ b/rendering/renderthread.h @@ -44,27 +44,54 @@ public: RenderThread(); ~RenderThread(); void run(); - QMutex mutex; - GLuint front_buffer; - GLuint front_texture; + + QMutex* get_texture_mutex(); + const GLuint& get_texture(); + EffectPtr gizmos; void paint(); - void start_render(QOpenGLContext* share, SequencePtr s, const QString &save = nullptr, GLvoid *pixels = nullptr, int pixel_linesize = 0, int idivider = 0); + void start_render(QOpenGLContext* share, + SequencePtr s, + const QString &save = nullptr, + GLvoid *pixels = nullptr, + int pixel_linesize = 0, + int idivider = 0); bool did_texture_fail(); void cancel(); + public slots: // cleanup functions void delete_ctx(); signals: void ready(); private: + void allocate_texture(GLuint tex, GLuint fbo); + + void set_up_ocio(); + void destroy_ocio(); + // cleanup functions void delete_texture(); void delete_fbo(); void delete_shader_program(); - QWaitCondition waitCond; + GLuint front_buffer1; + GLuint front_texture1; + QMutex front_mutex1; + + GLuint front_buffer2; + GLuint front_texture2; + QMutex front_mutex2; + + bool front_buffer_switcher; + + QWaitCondition wait_cond_; + QMutex wait_lock_; + + QWaitCondition main_thread_wait_cond_; + QMutex main_thread_lock_; + QOffscreenSurface surface; QOpenGLContext* share_ctx; QOpenGLContext* ctx; @@ -77,6 +104,8 @@ private: GLuint back_texture_2; float ocio_lut_data[NUM_3D_ENTRIES]; + GLuint ocio_lut_texture; + QOpenGLShaderProgram* ocio_shader; SequencePtr seq; int divider; diff --git a/ui/audiomonitor.cpp b/ui/audiomonitor.cpp index ec27387e3..0e0f9f528 100644 --- a/ui/audiomonitor.cpp +++ b/ui/audiomonitor.cpp @@ -21,7 +21,7 @@ #include "audiomonitor.h" #include "project/sequence.h" -#include "playback/audio.h" +#include "rendering/audio.h" #include "panels/panels.h" #include "panels/timeline.h" diff --git a/ui/graphview.cpp b/ui/graphview.cpp index 4bcf35a9c..27f625f87 100644 --- a/ui/graphview.cpp +++ b/ui/graphview.cpp @@ -127,8 +127,8 @@ void GraphView::set_view_to_selection() { max_dbl = qMax(key.data.toDouble(), max_dbl); } - min_time -= row->parent_effect->parent_clip->clip_in; - max_time -= row->parent_effect->parent_clip->clip_in; + min_time -= row->parent_effect->parent_clip->clip_in(); + max_time -= row->parent_effect->parent_clip->clip_in(); set_view_to_rect(min_time, min_dbl, max_time, max_dbl); } @@ -153,8 +153,8 @@ void GraphView::set_view_to_all() { } } if (can_set) { - min_time -= row->parent_effect->parent_clip->clip_in; - max_time -= row->parent_effect->parent_clip->clip_in; + min_time -= row->parent_effect->parent_clip->clip_in(); + max_time -= row->parent_effect->parent_clip->clip_in(); set_view_to_rect(min_time, min_dbl, max_time, max_dbl); } @@ -608,85 +608,87 @@ void GraphView::mouseMoveEvent(QMouseEvent *event) { if (field_visibility.at(i)) { QVector sorted_keys = sort_keys_from_field(f); - if (event->pos().x() <= get_screen_x(f->keyframes.at(sorted_keys.first()).time)) { - int y_comp = get_screen_y(f->keyframes.at(sorted_keys.first()).data.toDouble()); - if (event->pos().y() >= y_comp-kBezierLineSize - && event->pos().y() <= y_comp+kBezierLineSize) { - // dout << "make an EARLY key on field" << i; - click_add = true; - click_add_type = f->keyframes.at(sorted_keys.first()).type; - } - } else if (event->pos().x() >= get_screen_x(f->keyframes.at(sorted_keys.last()).time)) { - int y_comp = get_screen_y(f->keyframes.at(sorted_keys.last()).data.toDouble()); - if (event->pos().y() >= y_comp-kBezierLineSize - && event->pos().y() <= y_comp+kBezierLineSize) { - // dout << "make an LATE key on field" << i; - click_add = true; - click_add_type = f->keyframes.at(sorted_keys.last()).type; - } - } else { - for (int j=1;jkeyframes.at(sorted_keys.at(j-1)); - const EffectKeyframe& key = f->keyframes.at(sorted_keys.at(j)); + if (!sorted_keys.isEmpty()) { + if (event->pos().x() <= get_screen_x(f->keyframes.at(sorted_keys.first()).time)) { + int y_comp = get_screen_y(f->keyframes.at(sorted_keys.first()).data.toDouble()); + if (event->pos().y() >= y_comp-kBezierLineSize + && event->pos().y() <= y_comp+kBezierLineSize) { + // dout << "make an EARLY key on field" << i; + click_add = true; + click_add_type = f->keyframes.at(sorted_keys.first()).type; + } + } else if (event->pos().x() >= get_screen_x(f->keyframes.at(sorted_keys.last()).time)) { + int y_comp = get_screen_y(f->keyframes.at(sorted_keys.last()).data.toDouble()); + if (event->pos().y() >= y_comp-kBezierLineSize + && event->pos().y() <= y_comp+kBezierLineSize) { + // dout << "make an LATE key on field" << i; + click_add = true; + click_add_type = f->keyframes.at(sorted_keys.last()).type; + } + } else { + for (int j=1;jkeyframes.at(sorted_keys.at(j-1)); + const EffectKeyframe& key = f->keyframes.at(sorted_keys.at(j)); - int last_key_x = get_screen_x(last_key.time); - int key_x = get_screen_x(key.time); - int last_key_y = get_screen_y(last_key.data.toDouble()); - int key_y = get_screen_y(key.data.toDouble()); + int last_key_x = get_screen_x(last_key.time); + int key_x = get_screen_x(key.time); + int last_key_y = get_screen_y(last_key.data.toDouble()); + int key_y = get_screen_y(key.data.toDouble()); - click_add_type = last_key.type; + click_add_type = last_key.type; - if (event->pos().x() >= last_key_x - && event->pos().x() <= key_x) { - QRect mouse_rect(event->pos().x()-kBezierLineSize, event->pos().y()-kBezierLineSize, kBezierLineSize+kBezierLineSize, kBezierLineSize+kBezierLineSize); - // NOTE: FILTHY copy/paste from paintEvent - if (last_key.type == EFFECT_KEYFRAME_HOLD) { - // hold - if (event->pos().y() >= last_key_y-kBezierLineSize - && event->pos().y() <= last_key_y+kBezierLineSize) { - // dout << "make an HOLD key on field" << i << "after key" << j; - click_add = true; - } - } else if (last_key.type == EFFECT_KEYFRAME_BEZIER || key.type == EFFECT_KEYFRAME_BEZIER) { - QPainterPath bezier_path; - bezier_path.moveTo(last_key_x, last_key_y); - if (last_key.type == EFFECT_KEYFRAME_BEZIER && key.type == EFFECT_KEYFRAME_BEZIER) { - // cubic bezier - bezier_path.cubicTo( - QPointF(last_key_x+last_key.post_handle_x*x_zoom, last_key_y-last_key.post_handle_y*y_zoom), - QPointF(key_x+key.pre_handle_x*x_zoom, key_y-key.pre_handle_y*y_zoom), - QPointF(key_x, key_y) - ); - } else if (key.type == EFFECT_KEYFRAME_LINEAR) { // quadratic bezier - // last keyframe is the bezier one - bezier_path.quadTo( - QPointF(last_key_x+last_key.post_handle_x*x_zoom, last_key_y-last_key.post_handle_y*y_zoom), - QPointF(key_x, key_y) - ); - } else { - // this keyframe is the bezier one - bezier_path.quadTo( - QPointF(key_x+key.pre_handle_x*x_zoom, key_y-key.pre_handle_y*y_zoom), - QPointF(key_x, key_y) - ); - } - if (bezier_path.intersects(mouse_rect)) { - // dout << "make an BEZIER key on field" << i << "after key" << j; - click_add = true; - } - } else { - // linear - QPainterPath linear_path; - linear_path.moveTo(last_key_x, last_key_y); - linear_path.lineTo(key_x, key_y); - if (linear_path.intersects(mouse_rect)) { - // dout << "make an LINEAR key on field" << i << "after key" << j; - click_add = true; - } - } - } - } - } + if (event->pos().x() >= last_key_x + && event->pos().x() <= key_x) { + QRect mouse_rect(event->pos().x()-kBezierLineSize, event->pos().y()-kBezierLineSize, kBezierLineSize+kBezierLineSize, kBezierLineSize+kBezierLineSize); + // NOTE: FILTHY copy/paste from paintEvent + if (last_key.type == EFFECT_KEYFRAME_HOLD) { + // hold + if (event->pos().y() >= last_key_y-kBezierLineSize + && event->pos().y() <= last_key_y+kBezierLineSize) { + // dout << "make an HOLD key on field" << i << "after key" << j; + click_add = true; + } + } else if (last_key.type == EFFECT_KEYFRAME_BEZIER || key.type == EFFECT_KEYFRAME_BEZIER) { + QPainterPath bezier_path; + bezier_path.moveTo(last_key_x, last_key_y); + if (last_key.type == EFFECT_KEYFRAME_BEZIER && key.type == EFFECT_KEYFRAME_BEZIER) { + // cubic bezier + bezier_path.cubicTo( + QPointF(last_key_x+last_key.post_handle_x*x_zoom, last_key_y-last_key.post_handle_y*y_zoom), + QPointF(key_x+key.pre_handle_x*x_zoom, key_y-key.pre_handle_y*y_zoom), + QPointF(key_x, key_y) + ); + } else if (key.type == EFFECT_KEYFRAME_LINEAR) { // quadratic bezier + // last keyframe is the bezier one + bezier_path.quadTo( + QPointF(last_key_x+last_key.post_handle_x*x_zoom, last_key_y-last_key.post_handle_y*y_zoom), + QPointF(key_x, key_y) + ); + } else { + // this keyframe is the bezier one + bezier_path.quadTo( + QPointF(key_x+key.pre_handle_x*x_zoom, key_y-key.pre_handle_y*y_zoom), + QPointF(key_x, key_y) + ); + } + if (bezier_path.intersects(mouse_rect)) { + // dout << "make an BEZIER key on field" << i << "after key" << j; + click_add = true; + } + } else { + // linear + QPainterPath linear_path; + linear_path.moveTo(last_key_x, last_key_y); + linear_path.lineTo(key_x, key_y); + if (linear_path.intersects(mouse_rect)) { + // dout << "make an LINEAR key on field" << i << "after key" << j; + click_add = true; + } + } + } + } + } + } } if (click_add) { click_add_field = f; @@ -796,7 +798,7 @@ void GraphView::set_row(EffectRow *r) { for (int i=0;ifieldCount();i++) { field_visibility[i] = row->field(i)->is_enabled(); } - visible_in = row->parent_effect->parent_clip->timeline_in; + visible_in = row->parent_effect->parent_clip->timeline_in(); set_view_to_all(); } else { update(); @@ -864,7 +866,7 @@ void GraphView::set_zoom(double xz, double yz) { int GraphView::get_screen_x(double d) { if (row != nullptr) { - d -= row->parent_effect->parent_clip->clip_in; + d -= row->parent_effect->parent_clip->clip_in(); } return qRound((d*x_zoom) - x_scroll); } @@ -876,7 +878,7 @@ int GraphView::get_screen_y(double d) { long GraphView::get_value_x(int i) { long frame = qRound((i + x_scroll)/x_zoom); if (row != nullptr) { - frame += row->parent_effect->parent_clip->clip_in; + frame += row->parent_effect->parent_clip->clip_in(); } return frame; } diff --git a/ui/keyframedrawing.cpp b/ui/keyframedrawing.cpp index 8fa773bcf..734c658ee 100644 --- a/ui/keyframedrawing.cpp +++ b/ui/keyframedrawing.cpp @@ -55,5 +55,7 @@ void draw_keyframe(QPainter &p, int type, int x, int y, bool darker, int r, int // adjusts keyframe's internal time (in clip time) to timeline time long adjust_row_keyframe(EffectRow* row, long time, long visible_in) { - return time-row->parent_effect->parent_clip->clip_in+(row->parent_effect->parent_clip->timeline_in-visible_in); + return time + - row->parent_effect->parent_clip->clip_in() + + (row->parent_effect->parent_clip->timeline_in() - visible_in); } diff --git a/ui/keyframeview.cpp b/ui/keyframeview.cpp index 5d494673d..0ecfbbe84 100644 --- a/ui/keyframeview.cpp +++ b/ui/keyframeview.cpp @@ -44,394 +44,397 @@ #include KeyframeView::KeyframeView(QWidget *parent) : - QWidget(parent), - visible_in(0), - visible_out(0), - mousedown(false), - dragging(false), - keys_selected(false), - select_rect(false), - x_scroll(0), - y_scroll(0), - scroll_drag(false) + QWidget(parent), + visible_in(0), + visible_out(0), + mousedown(false), + dragging(false), + keys_selected(false), + select_rect(false), + x_scroll(0), + y_scroll(0), + scroll_drag(false) { - setFocusPolicy(Qt::ClickFocus); - setMouseTracking(true); + setFocusPolicy(Qt::ClickFocus); + setMouseTracking(true); - setContextMenuPolicy(Qt::CustomContextMenu); - connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(show_context_menu(const QPoint&))); + setContextMenuPolicy(Qt::CustomContextMenu); + connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(show_context_menu(const QPoint&))); } void KeyframeView::show_context_menu(const QPoint& pos) { - if (selected_fields.size() > 0) { - QMenu menu(this); + if (selected_fields.size() > 0) { + QMenu menu(this); - QAction* linear = menu.addAction(tr("Linear")); - linear->setData(EFFECT_KEYFRAME_LINEAR); - QAction* bezier = menu.addAction(tr("Bezier")); - bezier->setData(EFFECT_KEYFRAME_BEZIER); - QAction* hold = menu.addAction(tr("Hold")); - hold->setData(EFFECT_KEYFRAME_HOLD); - menu.addSeparator(); - menu.addAction("Graph Editor"); + QAction* linear = menu.addAction(tr("Linear")); + linear->setData(EFFECT_KEYFRAME_LINEAR); + QAction* bezier = menu.addAction(tr("Bezier")); + bezier->setData(EFFECT_KEYFRAME_BEZIER); + QAction* hold = menu.addAction(tr("Hold")); + hold->setData(EFFECT_KEYFRAME_HOLD); + menu.addSeparator(); + menu.addAction("Graph Editor"); - connect(&menu, SIGNAL(triggered(QAction*)), this, SLOT(menu_set_key_type(QAction*))); - menu.exec(mapToGlobal(pos)); - } + connect(&menu, SIGNAL(triggered(QAction*)), this, SLOT(menu_set_key_type(QAction*))); + menu.exec(mapToGlobal(pos)); + } } void KeyframeView::menu_set_key_type(QAction* a) { - if (a->data().isNull()) { - // load graph editor - panel_graph_editor->show(); - } else { - ComboAction* ca = new ComboAction(); - for (int i=0;iappend(new SetInt(&f->keyframes[selected_keyframes.at(i)].type, a->data().toInt())); - } - olive::UndoStack.push(ca); - update_ui(false); - } + if (a->data().isNull()) { + // load graph editor + panel_graph_editor->show(); + } else { + ComboAction* ca = new ComboAction(); + for (int i=0;iappend(new SetInt(&f->keyframes[selected_keyframes.at(i)].type, a->data().toInt())); + } + olive::UndoStack.push(ca); + update_ui(false); + } } void KeyframeView::paintEvent(QPaintEvent*) { - QPainter p(this); + QPainter p(this); - rowY.clear(); - rows.clear(); + rowY.clear(); + rows.clear(); - if (panel_effect_controls->selected_clips.size() > 0) { - visible_in = LONG_MAX; - visible_out = 0; + if (panel_effect_controls->selected_clips.size() > 0) { + visible_in = LONG_MAX; + visible_out = 0; - for (int j=0;jselected_clips.size();j++) { - ClipPtr c = olive::ActiveSequence->clips.at(panel_effect_controls->selected_clips.at(j)); - visible_in = qMin(visible_in, c->timeline_in); - visible_out = qMax(visible_out, c->timeline_out); - } + for (int j=0;jselected_clips.size();j++) { + ClipPtr c = olive::ActiveSequence->clips.at(panel_effect_controls->selected_clips.at(j)); + visible_in = qMin(visible_in, c->timeline_in()); + visible_out = qMax(visible_out, c->timeline_out()); + } - for (int j=0;jselected_clips.size();j++) { - ClipPtr c = olive::ActiveSequence->clips.at(panel_effect_controls->selected_clips.at(j)); - for (int i=0;ieffects.size();i++) { - EffectPtr e = c->effects.at(i); - if (e->container->is_expanded()) { - for (int j=0;jrow_count();j++) { - EffectRow* row = e->row(j); + for (int j=0;jselected_clips.size();j++) { + ClipPtr c = olive::ActiveSequence->clips.at(panel_effect_controls->selected_clips.at(j)); + for (int i=0;ieffects.size();i++) { + EffectPtr e = c->effects.at(i); + if (e->container->is_expanded()) { + for (int j=0;jrow_count();j++) { + EffectRow* row = e->row(j); - ClickableLabel* label = row->label; - QWidget* contents = e->container->contents; + ClickableLabel* label = row->label; + QWidget* contents = e->container->contents; - QVector key_times; - int keyframe_y = label->y() + (label->height()>>1) + mapFrom(panel_effect_controls, contents->mapTo(panel_effect_controls, contents->pos())).y() - e->container->title_bar->height()/* - y_scroll*/; - for (int l=0;lfieldCount();l++) { - EffectField* f = row->field(l); - for (int k=0;kkeyframes.size();k++) { - if (!key_times.contains(f->keyframes.at(k).time)) { - bool keyframe_selected = keyframeIsSelected(f, k); - long keyframe_frame = adjust_row_keyframe(row, f->keyframes.at(k).time, visible_in); + QVector key_times; + int keyframe_y = label->y() + (label->height()>>1) + mapFrom(panel_effect_controls, contents->mapTo(panel_effect_controls, contents->pos())).y() - e->container->title_bar->height()/* - y_scroll*/; + for (int l=0;lfieldCount();l++) { + EffectField* f = row->field(l); + for (int k=0;kkeyframes.size();k++) { + if (!key_times.contains(f->keyframes.at(k).time)) { + bool keyframe_selected = keyframeIsSelected(f, k); + long keyframe_frame = adjust_row_keyframe(row, f->keyframes.at(k).time, visible_in); - // see if any other keyframes have this time - int appearances = 0; - for (int m=0;mfieldCount();m++) { - EffectField* compf = row->field(m); - for (int n=0;nkeyframes.size();n++) { - if (f->keyframes.at(k).time == compf->keyframes.at(n).time) { - appearances++; - } - } - } + // see if any other keyframes have this time + int appearances = 0; + for (int m=0;mfieldCount();m++) { + EffectField* compf = row->field(m); + for (int n=0;nkeyframes.size();n++) { + if (f->keyframes.at(k).time == compf->keyframes.at(n).time) { + appearances++; + } + } + } - if (appearances != row->fieldCount()) { - QColor cc = get_curve_color(l, row->fieldCount()); - draw_keyframe(p, f->keyframes.at(k).type, getScreenPointFromFrame(panel_effect_controls->zoom, keyframe_frame) - x_scroll, keyframe_y, keyframe_selected, cc.red(), cc.green(), cc.blue()); - } else { - draw_keyframe(p, f->keyframes.at(k).type, getScreenPointFromFrame(panel_effect_controls->zoom, keyframe_frame) - x_scroll, keyframe_y, keyframe_selected); - } + if (appearances != row->fieldCount()) { + QColor cc = get_curve_color(l, row->fieldCount()); + draw_keyframe(p, f->keyframes.at(k).type, getScreenPointFromFrame(panel_effect_controls->zoom, keyframe_frame) - x_scroll, keyframe_y, keyframe_selected, cc.red(), cc.green(), cc.blue()); + } else { + draw_keyframe(p, f->keyframes.at(k).type, getScreenPointFromFrame(panel_effect_controls->zoom, keyframe_frame) - x_scroll, keyframe_y, keyframe_selected); + } - key_times.append(f->keyframes.at(k).time); - } - } - } + key_times.append(f->keyframes.at(k).time); + } + } + } - rows.append(row); - rowY.append(keyframe_y); - } - } - } - } + rows.append(row); + rowY.append(keyframe_y); + } + } + } + } - int max_width = getScreenPointFromFrame(panel_effect_controls->zoom, visible_out - visible_in); - if (max_width < width()) { - p.fillRect(QRect(max_width, 0, width(), height()), QColor(0, 0, 0, 64)); - } - panel_effect_controls->horizontalScrollBar->setMaximum(qMax(max_width - width(), 0)); - header->set_visible_in(visible_in); + int max_width = getScreenPointFromFrame(panel_effect_controls->zoom, visible_out - visible_in); + if (max_width < width()) { + p.fillRect(QRect(max_width, 0, width(), height()), QColor(0, 0, 0, 64)); + } + panel_effect_controls->horizontalScrollBar->setMaximum(qMax(max_width - width(), 0)); + header->set_visible_in(visible_in); - int playhead_x = getScreenPointFromFrame(panel_effect_controls->zoom, olive::ActiveSequence->playhead-visible_in) - x_scroll; - if (dragging && panel_timeline->snapped) { - p.setPen(Qt::white); - } else { - p.setPen(Qt::red); - } - p.drawLine(playhead_x, 0, playhead_x, height()); - } + int playhead_x = getScreenPointFromFrame(panel_effect_controls->zoom, olive::ActiveSequence->playhead-visible_in) - x_scroll; + if (dragging && panel_timeline->snapped) { + p.setPen(Qt::white); + } else { + p.setPen(Qt::red); + } + p.drawLine(playhead_x, 0, playhead_x, height()); + } - if (select_rect) { - draw_selection_rectangle(p, QRect(rect_select_x, rect_select_y, rect_select_w, rect_select_h)); - } + if (select_rect) { + draw_selection_rectangle(p, QRect(rect_select_x, rect_select_y, rect_select_w, rect_select_h)); + } - /*if (mouseover && mouseover_row < rowY.size()) { - draw_keyframe(p, getScreenPointFromFrame(panel_effect_controls->zoom, mouseover_frame - visible_in), rowY.at(mouseover_row), true); + /*if (mouseover && mouseover_row < rowY.size()) { + draw_keyframe(p, getScreenPointFromFrame(panel_effect_controls->zoom, mouseover_frame - visible_in), rowY.at(mouseover_row), true); }*/ } void KeyframeView::wheelEvent(QWheelEvent *e) { - emit wheel_event_signal(e); + emit wheel_event_signal(e); } bool KeyframeView::keyframeIsSelected(EffectField *field, int keyframe) { - for (int i=0;iupdate_panel(); - update(); + // panel_graph_editor->update_panel(); + update(); } void KeyframeView::delete_selected_keyframes() { - delete_keyframes(selected_fields, selected_keyframes); + delete_keyframes(selected_fields, selected_keyframes); } void KeyframeView::set_x_scroll(int s) { - x_scroll = s; - update_keys(); + x_scroll = s; + update_keys(); } void KeyframeView::set_y_scroll(int s) { - y_scroll = s; - update_keys(); + y_scroll = s; + update_keys(); } void KeyframeView::resize_move(double d) { - panel_effect_controls->zoom *= d; - header->update_zoom(panel_effect_controls->zoom); - update(); + panel_effect_controls->zoom *= d; + header->update_zoom(panel_effect_controls->zoom); + update(); } void KeyframeView::mousePressEvent(QMouseEvent *event) { - rect_select_x = event->x(); - rect_select_y = event->y(); - rect_select_w = 0; - rect_select_h = 0; + rect_select_x = event->x(); + rect_select_y = event->y(); + rect_select_w = 0; + rect_select_h = 0; - if (panel_timeline->tool == TIMELINE_TOOL_HAND || event->buttons() & Qt::MiddleButton) { - scroll_drag = true; - return; - } + if (panel_timeline->tool == TIMELINE_TOOL_HAND || event->buttons() & Qt::MiddleButton) { + scroll_drag = true; + return; + } - old_key_vals.clear(); + old_key_vals.clear(); - int mouse_x = event->x() + x_scroll; - int mouse_y = event->y(); - int row_index = -1; - int field_index = -1; - int keyframe_index = -1; - long frame_diff = 0; - long frame_min = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x-KEYFRAME_SIZE); - drag_frame_start = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x); - long frame_max = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x+KEYFRAME_SIZE); - for (int i=0;i rowY.at(i)-KEYFRAME_SIZE-KEYFRAME_SIZE && mouse_y < rowY.at(i)+KEYFRAME_SIZE+KEYFRAME_SIZE) { - EffectRow* row = rows.at(i); + int mouse_x = event->x() + x_scroll; + int mouse_y = event->y(); + int row_index = -1; + int field_index = -1; + int keyframe_index = -1; + long frame_diff = 0; + long frame_min = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x-KEYFRAME_SIZE); + drag_frame_start = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x); + long frame_max = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x+KEYFRAME_SIZE); + for (int i=0;i rowY.at(i)-KEYFRAME_SIZE-KEYFRAME_SIZE && mouse_y < rowY.at(i)+KEYFRAME_SIZE+KEYFRAME_SIZE) { + EffectRow* row = rows.at(i); - row->focus_row(); + row->focus_row(); - for (int k=0;kfieldCount();k++) { - EffectField* f = row->field(k); - for (int j=0;jkeyframes.size();j++) { - long eval_keyframe_time = f->keyframes.at(j).time-row->parent_effect->parent_clip->clip_in+(row->parent_effect->parent_clip->timeline_in-visible_in); - if (eval_keyframe_time >= frame_min && eval_keyframe_time <= frame_max) { - long eval_frame_diff = qAbs(eval_keyframe_time - drag_frame_start); - if (keyframe_index == -1 || eval_frame_diff < frame_diff) { - row_index = i; - field_index = k; - keyframe_index = j; - frame_diff = eval_frame_diff; - } - } - } - } - break; - } - } - bool already_selected = false; - keys_selected = false; - if (keyframe_index > -1) { - already_selected = keyframeIsSelected(rows.at(row_index)->field(field_index), keyframe_index); - } else { - select_rect = true; - } - if (!already_selected) { - if (!(event->modifiers() & Qt::ShiftModifier)) { - selected_fields.clear(); - selected_keyframes.clear(); - } - if (keyframe_index > -1) { - selected_fields.append(rows.at(row_index)->field(field_index)); - selected_keyframes.append(keyframe_index); + for (int k=0;kfieldCount();k++) { + EffectField* f = row->field(k); + for (int j=0;jkeyframes.size();j++) { + long eval_keyframe_time = f->keyframes.at(j).time-row->parent_effect->parent_clip->clip_in()+(row->parent_effect->parent_clip->timeline_in()-visible_in); + if (eval_keyframe_time >= frame_min && eval_keyframe_time <= frame_max) { + long eval_frame_diff = qAbs(eval_keyframe_time - drag_frame_start); + if (keyframe_index == -1 || eval_frame_diff < frame_diff) { + row_index = i; + field_index = k; + keyframe_index = j; + frame_diff = eval_frame_diff; + } + } + } + } + break; + } + } + bool already_selected = false; + keys_selected = false; + if (keyframe_index > -1) { + already_selected = keyframeIsSelected(rows.at(row_index)->field(field_index), keyframe_index); + } else { + select_rect = true; + } + if (!already_selected) { + if (!(event->modifiers() & Qt::ShiftModifier)) { + selected_fields.clear(); + selected_keyframes.clear(); + } + if (keyframe_index > -1) { + selected_fields.append(rows.at(row_index)->field(field_index)); + selected_keyframes.append(keyframe_index); - // find other field with keyframes at the same time - long comp_time = rows.at(row_index)->field(field_index)->keyframes.at(keyframe_index).time; - for (int i=0;ifieldCount();i++) { - if (i != field_index) { - EffectField* f = rows.at(row_index)->field(i); - for (int j=0;jkeyframes.size();j++) { - if (f->keyframes.at(j).time == comp_time) { - selected_fields.append(f); - selected_keyframes.append(j); - } - } - } - } - } - } + // find other field with keyframes at the same time + long comp_time = rows.at(row_index)->field(field_index)->keyframes.at(keyframe_index).time; + for (int i=0;ifieldCount();i++) { + if (i != field_index) { + EffectField* f = rows.at(row_index)->field(i); + for (int j=0;jkeyframes.size();j++) { + if (f->keyframes.at(j).time == comp_time) { + selected_fields.append(f); + selected_keyframes.append(j); + } + } + } + } + } + } - if (selected_fields.size() > 0) { - for (int i=0;ikeyframes.at(selected_keyframes.at(i)).time); - } - keys_selected = true; - } + if (selected_fields.size() > 0) { + for (int i=0;ikeyframes.at(selected_keyframes.at(i)).time); + } + keys_selected = true; + } - rect_select_offset = selected_fields.size(); + rect_select_offset = selected_fields.size(); - update_keys(); + update_keys(); - if (event->button() == Qt::LeftButton) { - mousedown = true; - } + if (event->button() == Qt::LeftButton) { + mousedown = true; + } } void KeyframeView::mouseMoveEvent(QMouseEvent* event) { - if (panel_timeline->tool == TIMELINE_TOOL_HAND) { - setCursor(Qt::OpenHandCursor); - } else { - unsetCursor(); - } - if (scroll_drag) { - panel_effect_controls->horizontalScrollBar->setValue(panel_effect_controls->horizontalScrollBar->value() + rect_select_x - event->pos().x()); - panel_effect_controls->verticalScrollBar->setValue(panel_effect_controls->verticalScrollBar->value() + rect_select_y - event->pos().y()); - rect_select_x = event->pos().x(); - rect_select_y = event->pos().y(); - } else if (mousedown) { - int mouse_x = event->x() + x_scroll; - if (select_rect) { - // do a rect select - selected_fields.resize(rect_select_offset); - selected_keyframes.resize(rect_select_offset); + if (panel_timeline->tool == TIMELINE_TOOL_HAND) { + setCursor(Qt::OpenHandCursor); + } else { + unsetCursor(); + } + if (scroll_drag) { + panel_effect_controls->horizontalScrollBar->setValue(panel_effect_controls->horizontalScrollBar->value() + rect_select_x - event->pos().x()); + panel_effect_controls->verticalScrollBar->setValue(panel_effect_controls->verticalScrollBar->value() + rect_select_y - event->pos().y()); + rect_select_x = event->pos().x(); + rect_select_y = event->pos().y(); + } else if (mousedown) { + int mouse_x = event->x() + x_scroll; - rect_select_w = event->x() - rect_select_x; - rect_select_h = event->y() - rect_select_y; + long current_frame = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x); + panel_effect_controls->scroll_to_frame(current_frame + visible_in); - int min_row = qMin(rect_select_y, event->y())-KEYFRAME_SIZE; - int max_row = qMax(rect_select_y, event->y())+KEYFRAME_SIZE; + if (select_rect) { + // do a rect select + selected_fields.resize(rect_select_offset); + selected_keyframes.resize(rect_select_offset); - long frame_start = getFrameFromScreenPoint(panel_effect_controls->zoom, rect_select_x+x_scroll); - long frame_end = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x); - long min_frame = qMin(frame_start, frame_end)-KEYFRAME_SIZE; - long max_frame = qMax(frame_start, frame_end)+KEYFRAME_SIZE; + rect_select_w = event->x() - rect_select_x; + rect_select_h = event->y() - rect_select_y; - for (int i=0;i= min_row && rowY.at(i) <= max_row) { - EffectRow* row = rows.at(i); - for (int k=0;kfieldCount();k++) { - EffectField* field = row->field(k); - for (int j=0;jkeyframes.size();j++) { - long keyframe_frame = adjust_row_keyframe(row, field->keyframes.at(j).time, visible_in); - if (!keyframeIsSelected(field, j) && keyframe_frame >= min_frame && keyframe_frame <= max_frame) { - selected_fields.append(field); - selected_keyframes.append(j); - } - } - } - } - } + int min_row = qMin(rect_select_y, event->y())-KEYFRAME_SIZE; + int max_row = qMax(rect_select_y, event->y())+KEYFRAME_SIZE; - update_keys(); - } else if (keys_selected) { - // move keyframes - long frame_diff = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x) - drag_frame_start; + long frame_start = getFrameFromScreenPoint(panel_effect_controls->zoom, rect_select_x+x_scroll); + long min_frame = qMin(frame_start, current_frame)-KEYFRAME_SIZE; + long max_frame = qMax(frame_start, current_frame)+KEYFRAME_SIZE; - // snapping to playhead - panel_timeline->snapped = false; - if (panel_timeline->snapping) { - for (int i=0;iparent_row->parent_effect->parent_clip; - long key_time = old_key_vals.at(i) + frame_diff - c->clip_in + c->timeline_in; - long key_eval = key_time; - if (panel_timeline->snap_to_point(olive::ActiveSequence->playhead, &key_eval)) { - frame_diff += (key_eval - key_time); - break; - } - } - } + for (int i=0;i= min_row && rowY.at(i) <= max_row) { + EffectRow* row = rows.at(i); + for (int k=0;kfieldCount();k++) { + EffectField* field = row->field(k); + for (int j=0;jkeyframes.size();j++) { + long keyframe_frame = adjust_row_keyframe(row, field->keyframes.at(j).time, visible_in); + if (!keyframeIsSelected(field, j) && keyframe_frame >= min_frame && keyframe_frame <= max_frame) { + selected_fields.append(field); + selected_keyframes.append(j); + } + } + } + } + } - // validate frame_diff (make sure no keyframes overlap each other) - for (int i=0;ikeyframes.size();j++) { - while (!keyframeIsSelected(field, j) && field->keyframes.at(j).time == eval_key + frame_diff) { - if (last_frame_diff > frame_diff) { - frame_diff++; - panel_timeline->snapped = false; - } else { - frame_diff--; - panel_timeline->snapped = false; - } - } - } - } + update_keys(); + } else if (keys_selected) { + // move keyframes + long frame_diff = current_frame - drag_frame_start; - // apply frame_diffs - for (int i=0;ikeyframes[selected_keyframes.at(i)].time = old_key_vals.at(i) + frame_diff; - } + // snapping to playhead + panel_timeline->snapped = false; + if (panel_timeline->snapping) { + for (int i=0;iparent_row->parent_effect->parent_clip; + long key_time = old_key_vals.at(i) + frame_diff - c->clip_in() + c->timeline_in(); + long key_eval = key_time; + if (panel_timeline->snap_to_point(olive::ActiveSequence->playhead, &key_eval)) { + frame_diff += (key_eval - key_time); + break; + } + } + } - last_frame_diff = frame_diff; + // validate frame_diff (make sure no keyframes overlap each other) + for (int i=0;ikeyframes.size();j++) { + while (!keyframeIsSelected(field, j) && field->keyframes.at(j).time == eval_key + frame_diff) { + if (last_frame_diff > frame_diff) { + frame_diff++; + panel_timeline->snapped = false; + } else { + frame_diff--; + panel_timeline->snapped = false; + } + } + } + } - dragging = true; + // apply frame_diffs + for (int i=0;ikeyframes[selected_keyframes.at(i)].time = old_key_vals.at(i) + frame_diff; + } - update_ui(false); - } - } + last_frame_diff = frame_diff; + + dragging = true; + + update_ui(false); + } + } } void KeyframeView::mouseReleaseEvent(QMouseEvent*) { - if (dragging) { - ComboAction* ca = new ComboAction(); - for (int i=0;iappend(new SetLong( - &selected_fields.at(i)->keyframes[selected_keyframes.at(i)].time, - old_key_vals.at(i), - selected_fields.at(i)->keyframes.at(selected_keyframes.at(i)).time - )); - } - olive::UndoStack.push(ca); - } + if (dragging) { + ComboAction* ca = new ComboAction(); + for (int i=0;iappend(new SetLong( + &selected_fields.at(i)->keyframes[selected_keyframes.at(i)].time, + old_key_vals.at(i), + selected_fields.at(i)->keyframes.at(selected_keyframes.at(i)).time + )); + } + olive::UndoStack.push(ca); + } - select_rect = false; - dragging = false; - mousedown = false; - scroll_drag = false; - panel_timeline->snapped = false; - update_ui(false); + select_rect = false; + dragging = false; + mousedown = false; + scroll_drag = false; + panel_timeline->snapped = false; + update_ui(false); } diff --git a/ui/panel.cpp b/ui/panel.cpp index fd40ba786..899afd526 100644 --- a/ui/panel.cpp +++ b/ui/panel.cpp @@ -22,8 +22,17 @@ #include +QVector olive::panels; + Panel::Panel(QWidget *parent) : QDockWidget (parent) { setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + + olive::panels.append(this); +} + +Panel::~Panel() +{ + olive::panels.removeAll(this); } bool Panel::event(QEvent *e) { diff --git a/ui/panel.h b/ui/panel.h index 920279432..98869015b 100644 --- a/ui/panel.h +++ b/ui/panel.h @@ -27,9 +27,14 @@ class Panel : public QDockWidget { Q_OBJECT public: Panel(QWidget* parent = nullptr); + virtual ~Panel() override; virtual bool event(QEvent* e) override; protected: virtual void Retranslate() = 0; }; +namespace olive { + extern QVector panels; +} + #endif // PANEL_H diff --git a/ui/renderthread.cpp b/ui/renderthread.cpp deleted file mode 100644 index 29da93012..000000000 --- a/ui/renderthread.cpp +++ /dev/null @@ -1,313 +0,0 @@ -/*** - - Olive - Non-Linear Video Editor - Copyright (C) 2019 Olive Team - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -***/ - -#include "renderthread.h" - -#include -#include -#include -#include - -#include "ui/renderfunctions.h" -#include "playback/playback.h" -#include "project/sequence.h" - -RenderThread::RenderThread() : - front_buffer(0), - front_texture(0), - gizmos(nullptr), - share_ctx(nullptr), - ctx(nullptr), - blend_mode_program(nullptr), - premultiply_program(nullptr), - seq(nullptr), - tex_width(-1), - tex_height(-1), - queued(false), - texture_failed(false), - running(true) -{ - surface.create(); -} - -RenderThread::~RenderThread() { - surface.destroy(); -} - -void RenderThread::run() { - mutex.lock(); - - while (running) { - if (!queued) { - waitCond.wait(&mutex); - } - if (!running) { - break; - } - queued = false; - - if (share_ctx != nullptr) { - if (ctx != nullptr) { - ctx->makeCurrent(&surface); - - // gen fbo - if (front_buffer == 0) { - // delete any existing framebuffers - delete_fbo(); - - // create framebuffers - ctx->functions()->glGenFramebuffers(1, &front_buffer); - ctx->functions()->glGenFramebuffers(1, &back_buffer_1); - ctx->functions()->glGenFramebuffers(1, &back_buffer_2); - } - - // gen texture - if (front_texture == 0 || tex_width != seq->width || tex_height != seq->height) { - // cache texture size - tex_width = seq->width; - tex_height = seq->height; - - // delete any existing textures - delete_texture(); - - // create texture - glGenTextures(1, &front_texture); - glGenTextures(1, &back_texture_1); - glGenTextures(1, &back_texture_2); - - GLuint fbos[3] = {front_buffer, back_buffer_1, back_buffer_2}; - GLuint textures[3] = {front_texture, back_texture_1, back_texture_2}; - - for (int i=0;i<3;i++) { - // bind framebuffer for attaching - ctx->functions()->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fbos[i]); - - // bind texture - glBindTexture(GL_TEXTURE_2D, textures[i]); - - // allocate storage for texture - glTexImage2D( - GL_TEXTURE_2D, 0, GL_RGBA, seq->width, seq->height, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr - ); - - // set texture filtering to bilinear - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - - // attach texture to framebuffer - ctx->functions()->glFramebufferTexture2D( - GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, textures[i], 0 - ); - - // release texture - glBindTexture(GL_TEXTURE_2D, 0); - - // release framebuffer - ctx->functions()->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); - } - } - - if (blend_mode_program == nullptr) { - // create shader program to make blending modes work - delete_shader_program(); - - blend_mode_program = new QOpenGLShaderProgram(); - blend_mode_program->addShaderFromSourceFile(QOpenGLShader::Vertex, ":/internalshaders/common.vert"); - blend_mode_program->addShaderFromSourceFile(QOpenGLShader::Fragment, ":/internalshaders/blending.frag"); - blend_mode_program->link(); - - premultiply_program = new QOpenGLShaderProgram(); - premultiply_program->addShaderFromSourceFile(QOpenGLShader::Vertex, ":/internalshaders/common.vert"); - premultiply_program->addShaderFromSourceFile(QOpenGLShader::Fragment, ":/internalshaders/premultiply.frag"); - premultiply_program->link(); - } - - // bind framebuffer for drawing - ctx->functions()->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, front_buffer); - - // draw frame - paint(); - - // flush changes - ctx->functions()->glFinish(); - - // release - ctx->functions()->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); - - emit ready(); - } - } - } - - delete_ctx(); - - mutex.unlock(); -} - -void RenderThread::paint() { - glLoadIdentity(); - - glClearColor(0.0, 0.0, 0.0, 0.0); - glClear(GL_COLOR_BUFFER_BIT); - - glMatrixMode(GL_MODELVIEW); - - glEnable(GL_TEXTURE_2D); - glEnable(GL_BLEND); - glEnable(GL_DEPTH); - - gizmos = nullptr; - - ComposeSequenceParams params; - params.viewer = nullptr; - params.ctx = ctx; - params.seq = seq; - params.video = true; - params.texture_failed = false; - params.gizmos = &gizmos; - params.single_threaded = false; - params.playback_speed = 1; - params.blend_mode_program = blend_mode_program; - params.premultiply_program = premultiply_program; - params.backend_buffer1 = back_buffer_1; - params.backend_buffer2 = back_buffer_2; - params.backend_attachment1 = back_texture_1; - params.backend_attachment2 = back_texture_2; - params.main_buffer = front_buffer; - params.main_attachment = front_texture; - compose_sequence(params); - - texture_failed = params.texture_failed; - - if (!save_fn.isEmpty()) { - if (texture_failed) { - // texture failed, try again - queued = true; - } else { - ctx->functions()->glBindFramebuffer(GL_READ_FRAMEBUFFER, front_buffer); - QImage img(tex_width, tex_height, QImage::Format_RGBA8888); - glReadPixels(0, 0, tex_width, tex_height, GL_RGBA, GL_UNSIGNED_BYTE, img.bits()); - img.save(save_fn); - ctx->functions()->glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); - save_fn = ""; - } - } - - if (pixel_buffer != nullptr) { - - // set main framebuffer to the current read buffer - ctx->functions()->glBindFramebuffer(GL_READ_FRAMEBUFFER, front_buffer); - - // store pixels in buffer - glReadPixels(0, - 0, - pixel_buffer_linesize == 0 ? tex_width : pixel_buffer_linesize, - tex_height, - GL_RGBA, - GL_UNSIGNED_BYTE, - pixel_buffer); - - // release current read buffer - ctx->functions()->glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); - - pixel_buffer = nullptr; - } - - glDisable(GL_DEPTH); - glDisable(GL_BLEND); - glDisable(GL_TEXTURE_2D); -} - -void RenderThread::start_render(QOpenGLContext *share, SequencePtr s, const QString& save, GLvoid* pixels, int pixel_linesize, int idivider) { - Q_UNUSED(idivider); - - seq = s; - - // stall any dependent actions - texture_failed = true; - - if (share != nullptr && (ctx == nullptr || ctx->shareContext() != share_ctx)) { - share_ctx = share; - delete_ctx(); - ctx = new QOpenGLContext(); - ctx->setFormat(share_ctx->format()); - ctx->setShareContext(share_ctx); - ctx->create(); - ctx->moveToThread(this); - } - - save_fn = save; - pixel_buffer = pixels; - pixel_buffer_linesize = pixel_linesize; - - queued = true; - - waitCond.wakeAll(); -} - -bool RenderThread::did_texture_fail() { - return texture_failed; -} - -void RenderThread::cancel() { - running = false; - waitCond.wakeAll(); - wait(); -} - -void RenderThread::delete_texture() { - if (front_texture > 0) { - GLuint tex[3] = {front_texture, back_texture_1, back_texture_2}; - glDeleteTextures(3, tex); - } - front_texture = 0; - back_texture_1 = 0; - back_texture_2 = 0; -} - -void RenderThread::delete_fbo() { - if (front_buffer > 0) { - GLuint fbos[3] = {front_buffer, back_buffer_1, back_buffer_2}; - ctx->functions()->glDeleteFramebuffers(3, fbos); - } - front_buffer = 0; - back_buffer_1 = 0; - back_buffer_2 = 0; -} - -void RenderThread::delete_shader_program() { - if (blend_mode_program != nullptr) { - delete blend_mode_program; - delete premultiply_program; - } - blend_mode_program = nullptr; - premultiply_program = nullptr; -} - -void RenderThread::delete_ctx() { - if (ctx != nullptr) { - delete_shader_program(); - delete_texture(); - delete_fbo(); - ctx->doneCurrent(); - delete ctx; - } - ctx = nullptr; -} diff --git a/ui/sourcetable.cpp b/ui/sourcetable.cpp index 1a642cd6e..9f88b2779 100644 --- a/ui/sourcetable.cpp +++ b/ui/sourcetable.cpp @@ -25,7 +25,7 @@ #include "panels/timeline.h" #include "panels/viewer.h" #include "panels/panels.h" -#include "playback/playback.h" +#include "rendering/renderfunctions.h" #include "project/undo.h" #include "project/sequence.h" #include "mainwindow.h" diff --git a/ui/timelinewidget.cpp b/ui/timelinewidget.cpp index 671626ad0..7651ddd81 100644 --- a/ui/timelinewidget.cpp +++ b/ui/timelinewidget.cpp @@ -24,7 +24,7 @@ #include "panels/panels.h" #include "project/projectelements.h" -#include "playback/audio.h" +#include "rendering/audio.h" #include "io/config.h" #include "ui/sourcetable.h" #include "ui/sourceiconview.h" @@ -34,7 +34,7 @@ #include "dialogs/newsequencedialog.h" #include "mainwindow.h" #include "ui/rectangleselect.h" -#include "playback/playback.h" +#include "rendering/renderfunctions.h" #include "ui/cursors.h" #include "ui/menuhelper.h" #include "ui/focusfilter.h" @@ -139,7 +139,7 @@ void TimelineWidget::show_context_menu(const QPoint& pos) { QAction* autoscaleAction = menu.addAction(tr("Auto-s&cale"), this, SLOT(toggle_autoscale())); autoscaleAction->setCheckable(true); // set autoscale to the first selected clip - autoscaleAction->setChecked(selected_clips.at(0)->autoscale); + autoscaleAction->setChecked(selected_clips.at(0)->autoscaled()); olive::MenuHelper.make_clip_functions_menu(&menu); @@ -147,10 +147,10 @@ void TimelineWidget::show_context_menu(const QPoint& pos) { /*int video_clip_count = 0; bool all_video_is_footage = true; for (int i=0;itrack < 0) { + if (selected_clips.at(i)->track() < 0) { video_clip_count++; - if (selected_clips.at(i)->media == nullptr - || selected_clips.at(i)->media->get_type() != MEDIA_TYPE_FOOTAGE) { + if (selected_clips.at(i)->media() == nullptr + || selected_clips.at(i)->media()->get_type() != MEDIA_TYPE_FOOTAGE) { all_video_is_footage = false; } } @@ -162,9 +162,9 @@ void TimelineWidget::show_context_menu(const QPoint& pos) { // check if all selected clips have the same media for a "Reveal In Project" bool same_media = true; - rc_reveal_media = selected_clips.at(0)->media; + rc_reveal_media = selected_clips.at(0)->media(); for (int i=1;imedia != rc_reveal_media) { + if (selected_clips.at(i)->media() != rc_reveal_media) { same_media = false; break; } @@ -184,14 +184,17 @@ void TimelineWidget::show_context_menu(const QPoint& pos) { } void TimelineWidget::toggle_autoscale() { - SetAutoscaleAction* action = new SetAutoscaleAction(); + SetClipProperty* action = new SetClipProperty(kSetClipPropertyAutoscale); + + bool added_clip = false; for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); if (c != nullptr && is_clip_selected(c, true)) { - action->clips.append(c); + action->AddSetting(c, !c->autoscaled()); + added_clip = true; } } - if (action->clips.size() > 0) { + if (added_clip) { olive::UndoStack.push(action); } else { delete action; @@ -205,10 +208,10 @@ void TimelineWidget::tooltip_timer_timeout() { if (c != nullptr) { QToolTip::showText(QCursor::pos(), tr("%1\nStart: %2\nEnd: %3\nDuration: %4").arg( - c->name, - frame_to_timecode(c->timeline_in, olive::CurrentConfig.timecode_view, olive::ActiveSequence->frame_rate), - frame_to_timecode(c->timeline_out, olive::CurrentConfig.timecode_view, olive::ActiveSequence->frame_rate), - frame_to_timecode(c->getLength(), olive::CurrentConfig.timecode_view, olive::ActiveSequence->frame_rate) + c->name(), + frame_to_timecode(c->timeline_in(), olive::CurrentConfig.timecode_view, olive::ActiveSequence->frame_rate), + frame_to_timecode(c->timeline_out(), olive::CurrentConfig.timecode_view, olive::ActiveSequence->frame_rate), + frame_to_timecode(c->length(), olive::CurrentConfig.timecode_view, olive::ActiveSequence->frame_rate) )); } } @@ -226,10 +229,11 @@ void TimelineWidget::rename_clip() { } if (selected_clips.size() > 0) { QString s = QInputDialog::getText(this, - (selected_clips.size() == 1) ? tr("Rename '%1'").arg(selected_clips.at(0)->name) : tr("Rename multiple clips"), + (selected_clips.size() == 1) ? tr("Rename '%1'").arg(selected_clips.at(0)->name()) + : tr("Rename multiple clips"), tr("Enter a new name for this clip:"), QLineEdit::Normal, - selected_clips.at(0)->name + selected_clips.at(0)->name() ); if (!s.isEmpty()) { RenameClipCommand* rcc = new RenameClipCommand(); @@ -347,6 +351,7 @@ void TimelineWidget::dragMoveEvent(QDragMoveEvent *event) { if (olive::ActiveSequence != nullptr) { QPoint pos = event->pos(); + panel_timeline->scroll_to_frame(panel_timeline->getTimelineFrameFromScreenPoint(event->pos().x())); update_ghosts(pos, event->keyboardModifiers() & Qt::ShiftModifier); panel_timeline->move_insert = ((event->keyboardModifiers() & Qt::ControlModifier) && (panel_timeline->tool == TIMELINE_TOOL_POINTER || panel_timeline->importing)); update_ui(false); @@ -472,13 +477,13 @@ void insert_clips(ComboAction* ca) { } } if (!found) { - if (c->timeline_in < earliest_new_point && c->timeline_out > earliest_new_point) { + if (c->timeline_in() < earliest_new_point && c->timeline_out() > earliest_new_point) { panel_timeline->split_clip_and_relink(ca, i, earliest_new_point, true); } // determine if we should close the gap the old clips left behind if (ripple_old_point - && !((c->timeline_in < earliest_old_point && c->timeline_out <= earliest_old_point) || (c->timeline_in >= latest_old_point && c->timeline_out > latest_old_point)) + && !((c->timeline_in() < earliest_old_point && c->timeline_out() <= earliest_old_point) || (c->timeline_in() >= latest_old_point && c->timeline_out() > latest_old_point)) && !ignore_clips.contains(i)) { ripple_old_point = false; } @@ -548,9 +553,9 @@ void TimelineWidget::mouseDoubleClickEvent(QMouseEvent *event) { ClipPtr clip = olive::ActiveSequence->clips.at(clip_index); if (!(event->modifiers() & Qt::ShiftModifier)) olive::ActiveSequence->selections.clear(); Selection s; - s.in = clip->timeline_in; - s.out = clip->timeline_out; - s.track = clip->track; + s.in = clip->timeline_in(); + s.out = clip->timeline_out(); + s.track = clip->track(); olive::ActiveSequence->selections.append(s); update_ui(false); } @@ -558,8 +563,8 @@ void TimelineWidget::mouseDoubleClickEvent(QMouseEvent *event) { int clip_index = getClipIndexFromCoords(panel_timeline->cursor_frame, panel_timeline->cursor_track); if (clip_index >= 0) { ClipPtr c = olive::ActiveSequence->clips.at(clip_index); - if (c->media != nullptr && c->media->get_type() == MEDIA_TYPE_SEQUENCE) { - set_sequence(c->media->to_sequence()); + if (c->media() != nullptr && c->media()->get_type() == MEDIA_TYPE_SEQUENCE) { + olive::Global->set_sequence(c->media()->to_sequence()); } } } @@ -671,13 +676,13 @@ void TimelineWidget::mousePressEvent(QMouseEvent *event) { if (shift) { // if the user clicks a selected clip while holding shift, deselect the clip - panel_timeline->deselect_area(clip->timeline_in, clip->timeline_out, clip->track); + panel_timeline->deselect_area(clip->timeline_in(), clip->timeline_out(), clip->track()); // if the user isn't holding alt, also deselect all of its links as well if (!alt) { for (int i=0;ilinked.size();i++) { ClipPtr link = olive::ActiveSequence->clips.at(clip->linked.at(i)); - panel_timeline->deselect_area(link->timeline_in, link->timeline_out, link->track); + panel_timeline->deselect_area(link->timeline_in(), link->timeline_out(), link->track()); } } @@ -687,28 +692,28 @@ void TimelineWidget::mousePressEvent(QMouseEvent *event) { // if the clip was selected by then the user clicked a transition, de-select the clip and its links // and select the transition only - panel_timeline->deselect_area(clip->timeline_in, clip->timeline_out, clip->track); + panel_timeline->deselect_area(clip->timeline_in(), clip->timeline_out(), clip->track()); for (int i=0;ilinked.size();i++) { ClipPtr link = olive::ActiveSequence->clips.at(clip->linked.at(i)); - panel_timeline->deselect_area(link->timeline_in, link->timeline_out, link->track); + panel_timeline->deselect_area(link->timeline_in(), link->timeline_out(), link->track()); } Selection s; - s.track = clip->track; + s.track = clip->track(); // select the transition only if (panel_timeline->transition_select == kTransitionOpening && clip->opening_transition != nullptr) { - s.in = clip->timeline_in; + s.in = clip->timeline_in(); if (clip->opening_transition->secondary_clip != nullptr) { s.in -= clip->opening_transition->get_true_length(); } - s.out = clip->timeline_in + clip->opening_transition->get_true_length(); + s.out = clip->timeline_in() + clip->opening_transition->get_true_length(); } else if (panel_timeline->transition_select == kTransitionClosing && clip->closing_transition != nullptr) { - s.in = clip->timeline_out - clip->closing_transition->get_true_length(); - s.out = clip->timeline_out; + s.in = clip->timeline_out() - clip->closing_transition->get_true_length(); + s.out = clip->timeline_out(); if (clip->closing_transition->secondary_clip != nullptr) { s.out += clip->closing_transition->get_true_length(); @@ -727,16 +732,16 @@ void TimelineWidget::mousePressEvent(QMouseEvent *event) { Selection s; - s.in = clip->timeline_in; - s.out = clip->timeline_out; - s.track = clip->track; + s.in = clip->timeline_in(); + s.out = clip->timeline_out(); + s.track = clip->track(); // if user is using the pointer tool, they may be trying to select a transition // check if the use is hovering over a transition if (panel_timeline->tool == TIMELINE_TOOL_POINTER) { if (panel_timeline->transition_select == kTransitionOpening) { // move the selection to only select the transitoin - s.out = clip->timeline_in + clip->opening_transition->get_true_length(); + s.out = clip->timeline_in() + clip->opening_transition->get_true_length(); // if the transition is a "shared" transition, adjust the selection to select both sides if (clip->opening_transition->secondary_clip != nullptr) { @@ -744,7 +749,7 @@ void TimelineWidget::mousePressEvent(QMouseEvent *event) { } } else if (panel_timeline->transition_select == kTransitionClosing) { // move the selection to only select the transitoin - s.in = clip->timeline_out - clip->closing_transition->get_true_length(); + s.in = clip->timeline_out() - clip->closing_transition->get_true_length(); // if the transition is a "shared" transition, adjust the selection to select both sides if (clip->closing_transition->secondary_clip != nullptr) { @@ -758,7 +763,7 @@ void TimelineWidget::mousePressEvent(QMouseEvent *event) { // if the config is set to also seek with selections, do so now if (olive::CurrentConfig.select_also_seeks) { - panel_sequence_viewer->seek(clip->timeline_in); + panel_sequence_viewer->seek(clip->timeline_in()); } // if alt is not down, select links (provided we're not selecting transitions) @@ -771,9 +776,9 @@ void TimelineWidget::mousePressEvent(QMouseEvent *event) { // check if the clip is already selected if (!is_clip_selected(link, true)) { Selection ss; - ss.in = link->timeline_in; - ss.out = link->timeline_out; - ss.track = link->track; + ss.in = link->timeline_in(); + ss.out = link->timeline_out(); + ss.track = link->track(); olive::ActiveSequence->selections.append(ss); } @@ -858,10 +863,10 @@ void make_room_for_transition(ComboAction* ca, long timeline_out = -1) { // it's possible to specify other in/out points for the clip, but default behavior is to use the ones existing if (timeline_in < 0) { - timeline_in = c->timeline_in; + timeline_in = c->timeline_in(); } if (timeline_out < 0) { - timeline_out = c->timeline_out; + timeline_out = c->timeline_out(); } // make room for transition @@ -870,10 +875,10 @@ void make_room_for_transition(ComboAction* ca, ca->append(new DeleteTransitionCommand(c->opening_transition)); } if (c->closing_transition != nullptr) { - if (transition_end >= c->timeline_out) { + if (transition_end >= c->timeline_out()) { ca->append(new DeleteTransitionCommand(c->closing_transition)); - } else if (transition_end > c->timeline_out - c->closing_transition->get_true_length()) { - ca->append(new ModifyTransitionCommand(c->closing_transition, c->timeline_out - transition_end)); + } else if (transition_end > c->timeline_out() - c->closing_transition->get_true_length()) { + ca->append(new ModifyTransitionCommand(c->closing_transition, c->timeline_out() - transition_end)); } } } else { @@ -881,10 +886,10 @@ void make_room_for_transition(ComboAction* ca, ca->append(new DeleteTransitionCommand(c->closing_transition)); } if (c->opening_transition != nullptr) { - if (transition_start <= c->timeline_in) { + if (transition_start <= c->timeline_in()) { ca->append(new DeleteTransitionCommand(c->opening_transition)); - } else if (transition_start < c->timeline_in + c->opening_transition->get_true_length()) { - ca->append(new ModifyTransitionCommand(c->opening_transition, transition_start - c->timeline_in)); + } else if (transition_start < c->timeline_in() + c->opening_transition->get_true_length()) { + ca->append(new ModifyTransitionCommand(c->opening_transition, transition_start - c->timeline_in())); } } } @@ -907,11 +912,11 @@ void VerifyTransitionsAfterCreating(ComboAction* ca, ClipPtr open, ClipPtr close // first we set the clips to "undeletable" so they aren't affected by delete_areas_and_relink() if (open != nullptr) { open->undeletable = true; - track = open->track; + track = open->track(); } if (close != nullptr) { close->undeletable = true; - track = close->track; + track = close->track(); } // set the area to delete to the transition's coordinates and clear it @@ -946,7 +951,7 @@ void VerifyTransitionsAfterCreating(ComboAction* ca, ClipPtr open, ClipPtr close make_room_for_transition(ca, clip_ref, t, transition_start, transition_end, true); // check if the transition coordinates require the clip to be resized - if (transition_start < clip_ref->timeline_in || transition_end > clip_ref->timeline_out) { + if (transition_start < clip_ref->timeline_in() || transition_end > clip_ref->timeline_out()) { long new_in, new_out; @@ -954,17 +959,17 @@ void VerifyTransitionsAfterCreating(ComboAction* ca, ClipPtr open, ClipPtr close // if the transition is shared, it doesn't matter if the transition extend beyond the in point since // that'll be "absorbed" by the other clip - new_in = (shared_transition) ? open->timeline_in : qMin(transition_start, open->timeline_in); + new_in = (shared_transition) ? open->timeline_in() : qMin(transition_start, open->timeline_in()); - new_out = qMax(transition_end, open->timeline_out); + new_out = qMax(transition_end, open->timeline_out()); } else { - new_in = qMin(transition_start, close->timeline_in); + new_in = qMin(transition_start, close->timeline_in()); // if the transition is shared, it doesn't matter if the transition extend beyond the out point since // that'll be "absorbed" by the other clip - new_out = (shared_transition) ? close->timeline_out : qMax(transition_end, close->timeline_out); + new_out = (shared_transition) ? close->timeline_out() : qMax(transition_end, close->timeline_out()); } @@ -974,8 +979,8 @@ void VerifyTransitionsAfterCreating(ComboAction* ca, ClipPtr open, ClipPtr close clip_ref, new_in, new_out, - clip_ref->clip_in - (clip_ref->timeline_in - new_in), - clip_ref->track); + clip_ref->clip_in() - (clip_ref->timeline_in() - new_in), + clip_ref->track()); } } } @@ -1002,22 +1007,20 @@ void TimelineWidget::mouseReleaseEvent(QMouseEvent *event) { panel_timeline->creating = false; } else if (g.in != g.out) { ClipPtr c = ClipPtr(new Clip(olive::ActiveSequence)); - c->media = nullptr; - c->timeline_in = qMin(g.in, g.out); - c->timeline_out = qMax(g.in, g.out); - c->clip_in = 0; - c->color_r = 192; - c->color_g = 192; - c->color_b = 64; - c->track = g.track; + c->set_media(nullptr, 0); + c->set_timeline_in(qMin(g.in, g.out)); + c->set_timeline_out(qMax(g.in, g.out)); + c->set_clip_in(0); + c->set_color(192, 192, 64); + c->set_track(g.track); if (ctrl) { insert_clips(ca); } else { Selection s; - s.in = c->timeline_in; - s.out = c->timeline_out; - s.track = c->track; + s.in = c->timeline_in(); + s.out = c->timeline_out(); + s.track = c->track(); QVector areas; areas.append(s); panel_timeline->delete_areas_and_relink(ca, areas, false); @@ -1027,39 +1030,39 @@ void TimelineWidget::mouseReleaseEvent(QMouseEvent *event) { add.append(c); ca->append(new AddClipCommand(olive::ActiveSequence, add)); - if (c->track < 0 && olive::CurrentConfig.add_default_effects_to_clips) { + if (c->track() < 0 && olive::CurrentConfig.add_default_effects_to_clips) { // default video effects (before custom effects) c->effects.append(create_effect(c, get_internal_meta(EFFECT_INTERNAL_TRANSFORM, EFFECT_TYPE_EFFECT))); } switch (panel_timeline->creating_object) { case ADD_OBJ_TITLE: - c->name = tr("Title"); + c->set_name(tr("Title")); c->effects.append(create_effect(c, get_internal_meta(EFFECT_INTERNAL_TEXT, EFFECT_TYPE_EFFECT))); break; case ADD_OBJ_SOLID: - c->name = tr("Solid Color"); + c->set_name(tr("Solid Color")); c->effects.append(create_effect(c, get_internal_meta(EFFECT_INTERNAL_SOLID, EFFECT_TYPE_EFFECT))); break; case ADD_OBJ_BARS: { - c->name = tr("Bars"); + c->set_name(tr("Bars")); EffectPtr e = create_effect(c, get_internal_meta(EFFECT_INTERNAL_SOLID, EFFECT_TYPE_EFFECT)); e->row(0)->field(0)->set_combo_index(1); c->effects.append(e); } break; case ADD_OBJ_TONE: - c->name = tr("Tone"); + c->set_name(tr("Tone")); c->effects.append(create_effect(c, get_internal_meta(EFFECT_INTERNAL_TONE, EFFECT_TYPE_EFFECT))); break; case ADD_OBJ_NOISE: - c->name = tr("Noise"); + c->set_name(tr("Noise")); c->effects.append(create_effect(c, get_internal_meta(EFFECT_INTERNAL_NOISE, EFFECT_TYPE_EFFECT))); break; } - if (c->track >= 0 && olive::CurrentConfig.add_default_effects_to_clips) { + if (c->track() >= 0 && olive::CurrentConfig.add_default_effects_to_clips) { // default audio effects (after custom effects) c->effects.append(create_effect(c, get_internal_meta(EFFECT_INTERNAL_VOLUME, EFFECT_TYPE_EFFECT))); c->effects.append(create_effect(c, get_internal_meta(EFFECT_INTERNAL_PAN, EFFECT_TYPE_EFFECT))); @@ -1160,9 +1163,9 @@ void TimelineWidget::mouseReleaseEvent(QMouseEvent *event) { // create copy of clip ClipPtr c(olive::ActiveSequence->clips.at(g.clip)->copy(olive::ActiveSequence)); - c->timeline_in = g.in; - c->timeline_out = g.out; - c->track = g.track; + c->set_timeline_in(g.in); + c->set_timeline_out(g.out); + c->set_track(g.track); Selection s; s.in = g.in; @@ -1267,7 +1270,7 @@ void TimelineWidget::mouseReleaseEvent(QMouseEvent *event) { new_transition_length) ); - long clip_length = c->getLength(); + long clip_length = c->length(); if (g.transition->secondary_clip != nullptr) { @@ -1277,14 +1280,14 @@ void TimelineWidget::mouseReleaseEvent(QMouseEvent *event) { // check if the transition is going to extend the out point (opening clip) long timeline_out_movement = 0; - if (g.out > g.transition->parent_clip->timeline_out) { - timeline_out_movement = g.out - g.transition->parent_clip->timeline_out; + if (g.out > g.transition->parent_clip->timeline_out()) { + timeline_out_movement = g.out - g.transition->parent_clip->timeline_out(); } // check if the transition is going to extend the in point (closing clip) long timeline_in_movement = 0; - if (g.in < g.transition->secondary_clip->timeline_in) { - timeline_in_movement = g.in - g.transition->secondary_clip->timeline_in; + if (g.in < g.transition->secondary_clip->timeline_in()) { + timeline_in_movement = g.in - g.transition->secondary_clip->timeline_in(); } move_clip(ca, g.transition->parent_clip, movement, timeline_out_movement, movement, 0, false, true); @@ -1302,8 +1305,8 @@ void TimelineWidget::mouseReleaseEvent(QMouseEvent *event) { // check if the transition is going to extend the out point long timeline_out_movement = 0; - if (g.out > g.transition->parent_clip->timeline_out) { - timeline_out_movement = g.out - g.transition->parent_clip->timeline_out; + if (g.out > g.transition->parent_clip->timeline_out()) { + timeline_out_movement = g.out - g.transition->parent_clip->timeline_out(); } move_clip(ca, c, (g.in - g.old_in), timeline_out_movement, (g.clip_in - g.old_clip_in), 0, false, true); @@ -1318,8 +1321,8 @@ void TimelineWidget::mouseReleaseEvent(QMouseEvent *event) { // check if the transition is going to extend the in point long timeline_in_movement = 0; - if (g.in < g.transition->parent_clip->timeline_in) { - timeline_in_movement = g.in - g.transition->parent_clip->timeline_in; + if (g.in < g.transition->parent_clip->timeline_in()) { + timeline_in_movement = g.in - g.transition->parent_clip->timeline_in(); } // if transition is going to make the clip bigger, make the clip bigger @@ -1547,33 +1550,32 @@ void TimelineWidget::init_ghosts() { Ghost& g = panel_timeline->ghosts[i]; ClipPtr c = olive::ActiveSequence->clips.at(g.clip); - g.track = g.old_track = c->track; - g.clip_in = g.old_clip_in = c->clip_in; + g.track = g.old_track = c->track(); + g.clip_in = g.old_clip_in = c->clip_in(); if (panel_timeline->tool == TIMELINE_TOOL_SLIP) { - g.clip_in = g.old_clip_in = c->get_clip_in_with_transition(); - g.in = g.old_in = c->get_timeline_in_with_transition(); - g.out = g.old_out = c->get_timeline_out_with_transition(); + g.clip_in = g.old_clip_in = c->clip_in(true); + g.in = g.old_in = c->timeline_in(true); + g.out = g.old_out = c->timeline_out(true); g.ghost_length = g.old_out - g.old_in; } else if (g.transition == nullptr) { // this ghost is for a clip - g.in = g.old_in = c->timeline_in; - g.out = g.old_out = c->timeline_out; + g.in = g.old_in = c->timeline_in(); + g.out = g.old_out = c->timeline_out(); g.ghost_length = g.old_out - g.old_in; } else if (g.transition == c->opening_transition) { - g.in = g.old_in = c->get_timeline_in_with_transition(); + g.in = g.old_in = c->timeline_in(true); g.ghost_length = c->opening_transition->get_length(); g.out = g.old_out = g.in + g.ghost_length; } else if (g.transition == c->closing_transition) { - g.out = g.old_out = c->get_timeline_out_with_transition(); + g.out = g.old_out = c->timeline_out(true); g.ghost_length = c->closing_transition->get_length(); g.in = g.old_in = g.out - g.ghost_length; - g.clip_in = g.old_clip_in = c->clip_in + c->getLength() - c->closing_transition->get_true_length(); + g.clip_in = g.old_clip_in = c->clip_in() + c->length() - c->closing_transition->get_true_length(); } // used for trim ops - c->recalculateMaxLength(); - g.media_length = c->getMaximumLength(); + g.media_length = c->media_length(); } for (int i=0;iselections.size();i++) { Selection& s = olive::ActiveSequence->selections[i]; @@ -1588,27 +1590,27 @@ void validate_transitions(ClipPtr c, int transition_type, long& frame_diff) { if (transition_type == kTransitionOpening) { // prevent from going below 0 on the timeline - validator = c->timeline_in + frame_diff; + validator = c->timeline_in() + frame_diff; if (validator < 0) frame_diff -= validator; // prevent from going below 0 for the media - validator = c->clip_in + frame_diff; + validator = c->clip_in() + frame_diff; if (validator < 0) frame_diff -= validator; // prevent transition from exceeding media length - validator -= c->getMaximumLength(); + validator -= c->media_length(); if (validator > 0) frame_diff -= validator; } else { // prevent from going below 0 on the timeline - validator = c->timeline_out + frame_diff; + validator = c->timeline_out() + frame_diff; if (validator < 0) frame_diff -= validator; // prevent from going below 0 for the media - validator = c->clip_in + c->getLength() + frame_diff; + validator = c->clip_in() + c->length() + frame_diff; if (validator < 0) frame_diff -= validator; // prevent transition from exceeding media length - validator -= c->getMaximumLength(); + validator -= c->media_length(); if (validator > 0) frame_diff -= validator; } } @@ -1657,7 +1659,7 @@ void TimelineWidget::update_ghosts(const QPoint& mouse_pos, bool lock_frame) { if (panel_timeline->trim_target == -1 && g.clip >= 0 && panel_timeline->tool != TIMELINE_TOOL_TRANSITION) { ClipPtr c = olive::ActiveSequence->clips.at(g.clip); for (int j=0;jget_markers().size();j++) { - long marker_real_time = c->get_markers().at(j).frame + c->timeline_in - c->clip_in; + long marker_real_time = c->get_markers().at(j).frame + c->timeline_in() - c->clip_in(); fm = marker_real_time + frame_diff; if (panel_timeline->snap_to_timeline(&fm, true, true, true)) { frame_diff = fm - marker_real_time; @@ -1678,15 +1680,15 @@ void TimelineWidget::update_ghosts(const QPoint& mouse_pos, bool lock_frame) { if (g.clip != -1) c = olive::ActiveSequence->clips.at(g.clip); const FootageStream* ms = nullptr; - if (g.clip != -1 && c->media != nullptr && c->media->get_type() == MEDIA_TYPE_FOOTAGE) { - ms = c->media->to_footage()->get_stream_from_file_index(c->track < 0, c->media_stream); + if (g.clip != -1 && c->media() != nullptr && c->media()->get_type() == MEDIA_TYPE_FOOTAGE) { + ms = c->media_stream(); } // validate ghosts for trimming if (panel_timeline->creating) { // i feel like we might need something here but we haven't so far? } else if (effective_tool == TIMELINE_TOOL_SLIP) { - if ((c->media != nullptr && c->media->get_type() == MEDIA_TYPE_SEQUENCE) + if ((c->media() != nullptr && c->media()->get_type() == MEDIA_TYPE_SEQUENCE) || (ms != nullptr && !ms->infinite_length)) { // prevent slip moving a clip below 0 clip_in validator = g.old_clip_in - frame_diff; @@ -1709,7 +1711,7 @@ void TimelineWidget::update_ghosts(const QPoint& mouse_pos, bool lock_frame) { } // prevent clip_in from going below 0 - if ((c->media != nullptr && c->media->get_type() == MEDIA_TYPE_SEQUENCE) + if ((c->media() != nullptr && c->media()->get_type() == MEDIA_TYPE_SEQUENCE) || (ms != nullptr && !ms->infinite_length)) { validator = g.old_clip_in + frame_diff; if (validator < 0) frame_diff -= validator; @@ -1720,7 +1722,7 @@ void TimelineWidget::update_ghosts(const QPoint& mouse_pos, bool lock_frame) { if (validator < 1) frame_diff += (1 - validator); // prevent clip length exceeding media length - if ((c->media != nullptr && c->media->get_type() == MEDIA_TYPE_SEQUENCE) + if ((c->media() != nullptr && c->media()->get_type() == MEDIA_TYPE_SEQUENCE) || (ms != nullptr && !ms->infinite_length)) { validator = g.old_clip_in + g.ghost_length + frame_diff; if (validator > g.media_length) frame_diff -= validator - g.media_length; @@ -1760,19 +1762,19 @@ void TimelineWidget::update_ghosts(const QPoint& mouse_pos, bool lock_frame) { // prevent any rippled clip from going below 0 if (panel_timeline->trim_type == TRIM_IN) { - validator = post->timeline_in - frame_diff; + validator = post->timeline_in() - frame_diff; if (validator < 0) frame_diff += validator; } // prevent any post-clips colliding with pre-clips for (int k=0;ktrack == post->track) { + if (pre != post && pre->track() == post->track()) { if (panel_timeline->trim_type == TRIM_IN) { - validator = post->timeline_in - frame_diff - pre->timeline_out; + validator = post->timeline_in() - frame_diff - pre->timeline_out(); if (validator < 0) frame_diff += validator; } else { - validator = post->timeline_in + frame_diff - pre->timeline_out; + validator = post->timeline_in() + frame_diff - pre->timeline_out(); if (validator < 0) frame_diff -= validator; } } @@ -1788,27 +1790,27 @@ void TimelineWidget::update_ghosts(const QPoint& mouse_pos, bool lock_frame) { if (g.transition->secondary_clip != nullptr) { // prevent dual transitions from going below 0 on the primary or above media length on the secondary - validator = g.transition->parent_clip->get_clip_in_with_transition() + frame_diff; + validator = g.transition->parent_clip->clip_in(true) + frame_diff; if (validator < 0) frame_diff -= validator; - validator = g.transition->secondary_clip->get_timeline_out_with_transition() - g.transition->secondary_clip->get_timeline_in_with_transition() - g.transition->get_length() + g.transition->secondary_clip->get_clip_in_with_transition() + frame_diff; + validator = g.transition->secondary_clip->timeline_out(true) - g.transition->secondary_clip->timeline_in(true) - g.transition->get_length() + g.transition->secondary_clip->clip_in(true) + frame_diff; if (validator < 0) frame_diff -= validator; - validator = g.transition->parent_clip->clip_in + frame_diff - g.transition->parent_clip->getMaximumLength() + g.transition->get_true_length(); + validator = g.transition->parent_clip->clip_in() + frame_diff - g.transition->parent_clip->media_length() + g.transition->get_true_length(); if (validator > 0) frame_diff -= validator; - validator = g.transition->secondary_clip->get_timeline_out_with_transition() - g.transition->secondary_clip->get_timeline_in_with_transition() + g.transition->secondary_clip->get_clip_in_with_transition() + frame_diff - g.transition->secondary_clip->getMaximumLength(); + validator = g.transition->secondary_clip->timeline_out(true) - g.transition->secondary_clip->timeline_in(true) + g.transition->secondary_clip->clip_in(true) + frame_diff - g.transition->secondary_clip->media_length(); if (validator > 0) frame_diff -= validator; } else { // prevent clip_in from going below 0 - if (c->media->get_type() == MEDIA_TYPE_SEQUENCE + if (c->media()->get_type() == MEDIA_TYPE_SEQUENCE || (ms != nullptr && !ms->infinite_length)) { validator = g.old_clip_in + frame_diff; if (validator < 0) frame_diff -= validator; } // prevent clip length exceeding media length - if (c->media->get_type() == MEDIA_TYPE_SEQUENCE + if (c->media()->get_type() == MEDIA_TYPE_SEQUENCE || (ms != nullptr && !ms->infinite_length)) { validator = g.old_clip_in + g.ghost_length + frame_diff; if (validator > g.media_length) frame_diff -= validator - g.media_length; @@ -2000,6 +2002,11 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { panel_timeline->cursor_frame = panel_timeline->getTimelineFrameFromScreenPoint(event->pos().x()); panel_timeline->cursor_track = getTrackFromScreenPoint(event->pos().y()); + // if holding the mouse button down, let's scroll to that location + if (event->buttons() != 0) { + panel_timeline->scroll_to_frame(panel_timeline->cursor_frame); + } + // determine if the action should be "inserting" rather than "overwriting" // Default behavior is to replace/overwrite clips under any clips we're dropping over them. Inserting will // split and move existing clips at the drop point to make space for the drop @@ -2069,14 +2076,14 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { ClipPtr link = olive::ActiveSequence->clips.at(c->linked.at(k)); // see if one of the selections is already covering this track - if (!(link->track >= minimum_selection_track - && link->track <= maximum_selection_track)) { + if (!(link->track() >= minimum_selection_track + && link->track() <= maximum_selection_track)) { // clip is not in selectin area, time to select it Selection link_sel; link_sel.in = selection_in; link_sel.out = selection_out; - link_sel.track = link->track; + link_sel.track = link->track(); olive::ActiveSequence->selections.append(link_sel); } @@ -2169,7 +2176,7 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { const Selection& s = olive::ActiveSequence->selections.at(j); - if (s.track == c->track) { + if (s.track == c->track()) { if (selection_contains_transition(s, c, kTransitionOpening)) { g.transition = c->opening_transition; @@ -2238,7 +2245,7 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { ClipPtr ghost_clip = olive::ActiveSequence->clips.at(g.clip); - if (c->track == ghost_clip->track) { + if (c->track() == ghost_clip->track()) { // see if this clip is currently selected, if so we won't add it as a "touching" clip bool found = false; @@ -2252,8 +2259,8 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { if (!found) { // the clip is not currently selected // check if this clip is indeed touching - bool is_in = (c->timeline_in == ghost_clip->timeline_out); - if (is_in || c->timeline_out == ghost_clip->timeline_in) { + bool is_in = (c->timeline_in() == ghost_clip->timeline_out()); + if (is_in || c->timeline_out() == ghost_clip->timeline_in()) { Ghost gh; gh.transition = nullptr; gh.clip = j; @@ -2283,9 +2290,9 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { for (int i=0;ighosts.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(panel_timeline->ghosts.at(i).clip); if (panel_timeline->trim_type == TRIM_IN) { - axis = qMin(axis, c->timeline_in); + axis = qMin(axis, c->timeline_in()); } else { - axis = qMin(axis, c->timeline_out); + axis = qMin(axis, c->timeline_out()); } // store clip reference @@ -2296,7 +2303,7 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); if (c != nullptr && !ghost_clips.contains(c)) { - bool clip_is_post = (c->timeline_in >= axis); + bool clip_is_post = (c->timeline_in() >= axis); // construct the list of pre and post clips QVector& clip_list = (clip_is_post) ? post_clips : pre_clips; @@ -2307,11 +2314,11 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { ClipPtr compare = clip_list.at(j); - if (compare->track == c->track) { + if (compare->track() == c->track()) { // if the clip is closer, use this one instead of the current one in the list - if ((!clip_is_post && compare->timeline_out < c->timeline_out) - || (clip_is_post && compare->timeline_in > c->timeline_in)) { + if ((!clip_is_post && compare->timeline_out() < c->timeline_out()) + || (clip_is_post && compare->timeline_in() > c->timeline_in())) { clip_list[j] = c; } @@ -2366,8 +2373,8 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { ClipPtr link = olive::ActiveSequence->clips.at(clip->linked.at(j)); // if this clip isn't already in the list of tracks to split - if (link->track < track_start || link->track > track_end) { - panel_timeline->split_tracks.append(link->track); + if (link->track() < track_start || link->track() > track_end) { + panel_timeline->split_tracks.append(link->track()); } } @@ -2406,10 +2413,10 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { for (int i=0;iclips.size();i++) { ClipPtr clip = olive::ActiveSequence->clips.at(i); if (clip != nullptr && - clip->track >= track_min && - clip->track <= track_max && - !(clip->timeline_in < frame_min && clip->timeline_out < frame_min) && - !(clip->timeline_in > frame_max && clip->timeline_out > frame_max)) { + clip->track() >= track_min && + clip->track() <= track_max && + !(clip->timeline_in() < frame_min && clip->timeline_out() < frame_min) && + !(clip->timeline_in() > frame_max && clip->timeline_out() > frame_max)) { // create a group of the clip (and its links if alt is not pressed) QVector session_clips; @@ -2447,9 +2454,9 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { for (int i=0;iselections[i+panel_timeline->selection_offset]; ClipPtr clip = selected_clips.at(i); - s.old_in = s.in = clip->timeline_in; - s.old_out = s.out = clip->timeline_out; - s.old_track = s.track = clip->track; + s.old_in = s.in = clip->timeline_in(); + s.old_out = s.out = clip->timeline_out(); + s.old_track = s.track = clip->track(); } panel_timeline->repaint_timeline(); @@ -2524,15 +2531,15 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { if (c != nullptr) { // cache track range - min_track = qMin(min_track, c->track); - max_track = qMax(max_track, c->track); + min_track = qMin(min_track, c->track()); + max_track = qMax(max_track, c->track()); // if this clip is on the same track the mouse is - if (c->track == panel_timeline->cursor_track) { + if (c->track() == panel_timeline->cursor_track) { // if this cursor is inside the boundaries of this clip (hovering over the clip) - if (panel_timeline->cursor_frame >= c->timeline_in && - panel_timeline->cursor_frame <= c->timeline_out) { + if (panel_timeline->cursor_frame >= c->timeline_in() && + panel_timeline->cursor_frame <= c->timeline_out()) { // acknowledge that we are hovering over a clip cursor_contains_clip = true; @@ -2543,12 +2550,12 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { // check if the cursor is specifically hovering over one of the clip's transitions if (c->opening_transition != nullptr - && panel_timeline->cursor_frame <= c->timeline_in + c->opening_transition->get_true_length()) { + && panel_timeline->cursor_frame <= c->timeline_in() + c->opening_transition->get_true_length()) { panel_timeline->transition_select = kTransitionOpening; } else if (c->closing_transition != nullptr - && panel_timeline->cursor_frame >= c->timeline_out - c->closing_transition->get_true_length()) { + && panel_timeline->cursor_frame >= c->timeline_out() - c->closing_transition->get_true_length()) { panel_timeline->transition_select = kTransitionClosing; @@ -2556,10 +2563,10 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { } // is the cursor hovering around the clip's IN point? - if (c->timeline_in > mouse_frame_lower && c->timeline_in < mouse_frame_upper) { + if (c->timeline_in() > mouse_frame_lower && c->timeline_in() < mouse_frame_upper) { // test how close this IN point is to the cursor - int nc = qAbs(c->timeline_in + 1 - panel_timeline->cursor_frame); + int nc = qAbs(c->timeline_in() + 1 - panel_timeline->cursor_frame); // and test whether it's closer than the last in/out point we found if (nc < closeness) { @@ -2574,10 +2581,10 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { } // is the cursor hovering around the clip's OUT point? - if (c->timeline_out > mouse_frame_lower && c->timeline_out < mouse_frame_upper) { + if (c->timeline_out() > mouse_frame_lower && c->timeline_out() < mouse_frame_upper) { // test how close this OUT point is to the cursor - int nc = qAbs(c->timeline_out - 1 - panel_timeline->cursor_frame); + int nc = qAbs(c->timeline_out() - 1 - panel_timeline->cursor_frame); // and test whether it's closer than the last in/out point we found if (nc < closeness) { @@ -2599,7 +2606,7 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { if (c->opening_transition != nullptr) { // cache the timeline frame where the transition ends - long transition_point = c->timeline_in + c->opening_transition->get_true_length(); + long transition_point = c->timeline_in() + c->opening_transition->get_true_length(); // check if the cursor is hovering around it (within the threshold) if (transition_point > mouse_frame_lower && transition_point < mouse_frame_upper) { @@ -2620,7 +2627,7 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { if (c->closing_transition != nullptr) { // cache the timeline frame where the transition starts - long transition_point = c->timeline_out - c->closing_transition->get_true_length(); + long transition_point = c->timeline_out() - c->closing_transition->get_true_length(); // check if the cursor is hovering around it (within the threshold) if (transition_point > mouse_frame_lower && transition_point < mouse_frame_upper) { @@ -2714,10 +2721,10 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { Ghost g; g.in = g.old_in = g.out = g.old_out = (primary_type == kTransitionOpening) ? - c->timeline_in - : c->timeline_out; + c->timeline_in() + : c->timeline_out(); - g.track = c->track; + g.track = c->track(); g.clip = primary; g.media_stream = primary_type; g.trim_type = TRIM_NONE; @@ -2746,7 +2753,7 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { ClipPtr c = olive::ActiveSequence->clips.at(mouse_clip); // check if the clip and transition are both the same sign (meaning video/audio are the same) - if (same_sign(c->track, panel_timeline->transition_tool_side)) { + if (same_sign(c->track(), panel_timeline->transition_tool_side)) { // the range within which the transition tool will assume the user wants to make a shared transition // between two clips rather than just one transition on one clip @@ -2754,21 +2761,21 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { // set whether the transition is opening or closing based on whether the cursor is on the left half // or right half of the clip - if (panel_timeline->cursor_frame > (c->timeline_in + (c->getLength()/2))) { + if (panel_timeline->cursor_frame > (c->timeline_in() + (c->length()/2))) { panel_timeline->transition_tool_close_clip = mouse_clip; // if the cursor is within this range, set the post_clip to be the next clip touching // // getClipIndexFromCoords() will automatically set to -1 if there's no clip there which means the // end result will be the same as not setting a clip here at all - if (panel_timeline->cursor_frame > c->timeline_out - between_range) { - panel_timeline->transition_tool_open_clip = getClipIndexFromCoords(c->timeline_out+1, c->track); + if (panel_timeline->cursor_frame > c->timeline_out() - between_range) { + panel_timeline->transition_tool_open_clip = getClipIndexFromCoords(c->timeline_out()+1, c->track()); } } else { panel_timeline->transition_tool_open_clip = mouse_clip; - if (panel_timeline->cursor_frame < c->timeline_in + between_range) { - panel_timeline->transition_tool_close_clip = getClipIndexFromCoords(c->timeline_in-1, c->track); + if (panel_timeline->cursor_frame < c->timeline_in() + between_range) { + panel_timeline->transition_tool_close_clip = getClipIndexFromCoords(c->timeline_in()-1, c->track()); } } @@ -2785,37 +2792,38 @@ void TimelineWidget::leaveEvent(QEvent*) { tooltip_timer.stop(); } -int color_brightness(int r, int g, int b) { - return qRound(0.2126*r + 0.7152*g + 0.0722*b); -} - void draw_waveform(ClipPtr clip, const FootageStream* ms, long media_length, QPainter *p, const QRect& clip_rect, int waveform_start, int waveform_limit, double zoom) { + // audio channels multiplied by the number of bytes in a 16-bit audio sample int divider = ms->audio_channels*2; + int channel_height = clip_rect.height()/ms->audio_channels; int last_waveform_index = -1; for (int i=waveform_start;iclip_in + (double(i)/zoom))/media_length) * ms->audio_preview.size())/divider)*divider; - if (last_waveform_index < 0) last_waveform_index = waveform_index; + int waveform_index = qFloor((((clip->clip_in() + (double(i)/zoom))/media_length) * ms->audio_preview.size())/divider)*divider; - if (clip->reverse) { + if (clip->reversed()) { waveform_index = ms->audio_preview.size() - waveform_index - (ms->audio_channels * 2); } + if (last_waveform_index < 0) last_waveform_index = waveform_index; + for (int j=0;jaudio_channels;j++) { int mid = (olive::CurrentConfig.rectified_waveforms) ? clip_rect.top()+channel_height*(j+1) : clip_rect.top()+channel_height*j+(channel_height/2); int offset_range_start = last_waveform_index+(j*2); int offset_range_end = waveform_index+(j*2); + int offset_range_min = qMin(offset_range_start, offset_range_end); + int offset_range_max = qMax(offset_range_start, offset_range_end); - qint8 min = qint8(qRound(double(ms->audio_preview.at(offset_range_start)) / 128.0 * (channel_height/2))); - qint8 max = qint8(qRound(double(ms->audio_preview.at(offset_range_start+1)) / 128.0 * (channel_height/2))); + qint8 min = qint8(qRound(double(ms->audio_preview.at(offset_range_min)) / 128.0 * (channel_height/2))); + qint8 max = qint8(qRound(double(ms->audio_preview.at(offset_range_min+1)) / 128.0 * (channel_height/2))); - if ((offset_range_end + 1) < ms->audio_preview.size()) { + if ((offset_range_max + 1) < ms->audio_preview.size()) { // for waveform drawings, we get the maximum below 0 and maximum above 0 for this waveform range - for (int k=offset_range_start+2;k<=offset_range_end;k+=2) { + for (int k=offset_range_min+2;k<=offset_range_max;k+=2) { min = qMin(min, qint8(qRound(double(ms->audio_preview.at(k)) / 128.0 * (channel_height/2)))); max = qMax(max, qint8(qRound(double(ms->audio_preview.at(k+1)) / 128.0 * (channel_height/2)))); } @@ -2898,8 +2906,8 @@ void TimelineWidget::paintEvent(QPaintEvent*) { for (int i=0;iclips.size();i++) { ClipPtr clip = olive::ActiveSequence->clips.at(i); if (clip != nullptr) { - video_track_limit = qMin(video_track_limit, clip->track); - audio_track_limit = qMax(audio_track_limit, clip->track); + video_track_limit = qMin(video_track_limit, clip->track()); + audio_track_limit = qMax(audio_track_limit, clip->track()); } } @@ -2924,8 +2932,8 @@ void TimelineWidget::paintEvent(QPaintEvent*) { for (int i=0;iclips.size();i++) { ClipPtr clip = olive::ActiveSequence->clips.at(i); - if (clip != nullptr && is_track_visible(clip->track)) { - QRect clip_rect(panel_timeline->getTimelineScreenPointFromFrame(clip->timeline_in), getScreenPointFromTrack(clip->track), getScreenPointFromFrame(panel_timeline->zoom, clip->getLength()), panel_timeline->GetTrackHeight(clip->track)); + if (clip != nullptr && is_track_visible(clip->track())) { + QRect clip_rect(panel_timeline->getTimelineScreenPointFromFrame(clip->timeline_in()), getScreenPointFromTrack(clip->track()), getScreenPointFromFrame(panel_timeline->zoom, clip->length()), panel_timeline->GetTrackHeight(clip->track())); QRect text_rect(clip_rect.left() + olive::timeline::kClipTextPadding, clip_rect.top() + olive::timeline::kClipTextPadding, clip_rect.width() - olive::timeline::kClipTextPadding - 1, clip_rect.height() - olive::timeline::kClipTextPadding - 1); if (clip_rect.left() < width() && clip_rect.right() >= 0 && clip_rect.top() < height() && clip_rect.bottom() >= 0) { QRect actual_clip_rect = clip_rect; @@ -2933,15 +2941,15 @@ void TimelineWidget::paintEvent(QPaintEvent*) { if (actual_clip_rect.right() > width()) actual_clip_rect.setRight(width()); if (actual_clip_rect.y() < 0) actual_clip_rect.setY(0); if (actual_clip_rect.bottom() > height()) actual_clip_rect.setBottom(height()); - p.fillRect(actual_clip_rect, (clip->enabled) ? QColor(clip->color_r, clip->color_g, clip->color_b) : QColor(96, 96, 96)); + p.fillRect(actual_clip_rect, (clip->enabled()) ? clip->color() : QColor(96, 96, 96)); int thumb_x = clip_rect.x() + 1; - if (clip->media != nullptr && clip->media->get_type() == MEDIA_TYPE_FOOTAGE) { + if (clip->media() != nullptr && clip->media()->get_type() == MEDIA_TYPE_FOOTAGE) { bool draw_checkerboard = false; QRect checkerboard_rect(clip_rect); - FootagePtr m = clip->media->to_footage(); - FootageStream* ms = m->get_stream_from_file_index(clip->track < 0, clip->media_stream); + FootagePtr m = clip->media()->to_footage(); + FootageStream* ms = clip->media_stream(); if (ms == nullptr) { draw_checkerboard = true; } else if (ms->preview_done) { @@ -2950,7 +2958,7 @@ void TimelineWidget::paintEvent(QPaintEvent*) { if (!ms->infinite_length && clip_rect.width() > triangle_size) { p.setPen(Qt::NoPen); p.setBrush(QColor(80, 80, 80)); - if (clip->clip_in == 0 + if (clip->clip_in() == 0 && clip_rect.x() + triangle_size > 0 && clip_rect.y() + triangle_size > 0 && clip_rect.x() < width() @@ -2963,7 +2971,7 @@ void TimelineWidget::paintEvent(QPaintEvent*) { p.drawPolygon(points, 3); text_rect.setLeft(text_rect.left() + (triangle_size >> 2)); } - if (clip->timeline_out - clip->timeline_in + clip->clip_in == clip->getMaximumLength() + if (clip->timeline_out() - clip->timeline_in() + clip->clip_in() == clip->media_length() && clip_rect.right() - triangle_size < width() && clip_rect.y() + triangle_size > 0 && clip_rect.right() > 0 @@ -2981,9 +2989,9 @@ void TimelineWidget::paintEvent(QPaintEvent*) { p.setBrush(Qt::NoBrush); // draw thumbnail/waveform - long media_length = clip->getMaximumLength(); + long media_length = clip->media_length(); - if (clip->track < 0) { + if (clip->track() < 0) { // draw thumbnail int thumb_y = p.fontMetrics().height()+olive::timeline::kClipTextPadding+olive::timeline::kClipTextPadding; if (thumb_x < width() && thumb_y < height()) { @@ -3016,16 +3024,16 @@ void TimelineWidget::paintEvent(QPaintEvent*) { ); } } - if (clip->timeline_out - clip->timeline_in + clip->clip_in > clip->getMaximumLength()) { + if (clip->timeline_out() - clip->timeline_in() + clip->clip_in() > clip->media_length()) { draw_checkerboard = true; - checkerboard_rect.setLeft(panel_timeline->getTimelineScreenPointFromFrame(clip->getMaximumLength() + clip->timeline_in - clip->clip_in)); + checkerboard_rect.setLeft(panel_timeline->getTimelineScreenPointFromFrame(clip->media_length() + clip->timeline_in() - clip->clip_in())); } } else if (clip_rect.height() > olive::timeline::kTrackMinHeight) { // draw waveform p.setPen(QColor(80, 80, 80)); int waveform_start = -qMin(clip_rect.x(), 0); - int waveform_limit = qMin(clip_rect.width(), getScreenPointFromFrame(panel_timeline->zoom, media_length - clip->clip_in)); + int waveform_limit = qMin(clip_rect.width(), getScreenPointFromFrame(panel_timeline->zoom, media_length - clip->clip_in())); if ((clip_rect.x() + waveform_limit) > width()) { waveform_limit -= (clip_rect.x() + waveform_limit - width()); @@ -3075,7 +3083,7 @@ void TimelineWidget::paintEvent(QPaintEvent*) { const Marker& m = clip->get_markers().at(j); // convert marker time (in clip time) to sequence time - long marker_time = m.frame + clip->timeline_in - clip->clip_in; + long marker_time = m.frame + clip->timeline_in() - clip->clip_in(); int marker_x = panel_timeline->getTimelineScreenPointFromFrame(marker_time); if (marker_x > clip_rect.x() && marker_x < clip_rect.right()) { draw_marker(p, marker_x, clip_rect.bottom()-p.fontMetrics().height(), clip_rect.bottom(), false); @@ -3094,22 +3102,22 @@ void TimelineWidget::paintEvent(QPaintEvent*) { // draw text if (text_rect.width() > MAX_TEXT_WIDTH && text_rect.right() > 0 && text_rect.left() < width()) { - if (!clip->enabled) { + if (!clip->enabled()) { p.setPen(Qt::gray); - } else if (color_brightness(clip->color_r, clip->color_g, clip->color_b) > 160) { + } else if (clip->color().lightness() > 160) { // set to black if color is bright p.setPen(Qt::black); } if (clip->linked.size() > 0) { int underline_y = olive::timeline::kClipTextPadding + p.fontMetrics().height() + clip_rect.top(); - int underline_width = qMin(text_rect.width() - 1, p.fontMetrics().width(clip->name)); + int underline_width = qMin(text_rect.width() - 1, p.fontMetrics().width(clip->name())); p.drawLine(text_rect.x(), underline_y, text_rect.x() + underline_width, underline_y); } - QString name = clip->name; - if (clip->speed != 1.0 || clip->reverse) { + QString name = clip->name(); + if (clip->speed().value != 1.0 || clip->reversed()) { name += " ("; - if (clip->reverse) name += "-"; - name += QString::number(clip->speed*100) + "%)"; + if (clip->reversed()) name += "-"; + name += QString::number(clip->speed().value*100) + "%)"; } p.drawText(text_rect, 0, name, &text_rect); } @@ -3401,7 +3409,7 @@ int TimelineWidget::getScreenPointFromTrack(int track) { int TimelineWidget::getClipIndexFromCoords(long frame, int track) { for (int i=0;iclips.size();i++) { ClipPtr c = olive::ActiveSequence->clips.at(i); - if (c != nullptr && c->track == track && frame >= c->timeline_in && frame < c->timeline_out) { + if (c != nullptr && c->track() == track && frame >= c->timeline_in() && frame < c->timeline_out()) { return i; } } diff --git a/ui/viewerwidget.cpp b/ui/viewerwidget.cpp index 3fc32f230..66b81f51c 100644 --- a/ui/viewerwidget.cpp +++ b/ui/viewerwidget.cpp @@ -20,30 +20,9 @@ #include "viewerwidget.h" -#include "panels/panels.h" -#include "panels/viewer.h" -#include "panels/timeline.h" -#include "panels/project.h" -#include "project/sequence.h" -#include "project/clip.h" -#include "project/effect.h" -#include "project/transition.h" -#include "playback/playback.h" -#include "playback/audio.h" -#include "project/footage.h" -#include "playback/cacher.h" -#include "io/config.h" -#include "debug.h" -#include "io/math.h" -#include "ui/collapsiblewidget.h" -#include "project/undo.h" -#include "project/media.h" -#include "ui/viewercontainer.h" -#include "ui/timelinewidget.h" -#include "ui/renderfunctions.h" -#include "ui/renderthread.h" -#include "ui/viewerwindow.h" -#include "mainwindow.h" +extern "C" { +#include +} #include #include @@ -63,572 +42,587 @@ #include #include -extern "C" { - #include -} +#include "panels/panels.h" +#include "project/projectelements.h" +#include "rendering/renderfunctions.h" +#include "rendering/audio.h" +#include "io/config.h" +#include "debug.h" +#include "io/math.h" +#include "ui/collapsiblewidget.h" +#include "project/undo.h" +#include "project/media.h" +#include "ui/viewercontainer.h" +#include "rendering/cacher.h" +#include "ui/timelinewidget.h" +#include "rendering/renderfunctions.h" +#include "rendering/renderthread.h" +#include "ui/viewerwindow.h" +#include "mainwindow.h" ViewerWidget::ViewerWidget(QWidget *parent) : - QOpenGLWidget(parent), - waveform(false), - waveform_zoom(1.0), - waveform_scroll(0), - dragging(false), - gizmos(nullptr), - selected_gizmo(nullptr), - x_scroll(0), - y_scroll(0) + QOpenGLWidget(parent), + waveform(false), + waveform_zoom(1.0), + waveform_scroll(0), + dragging(false), + gizmos(nullptr), + selected_gizmo(nullptr), + x_scroll(0), + y_scroll(0) { - setMouseTracking(true); - setFocusPolicy(Qt::ClickFocus); + setMouseTracking(true); + setFocusPolicy(Qt::ClickFocus); - QSurfaceFormat format; - format.setDepthBufferSize(24); - setFormat(format); + QSurfaceFormat format; + format.setDepthBufferSize(24); + setFormat(format); - setContextMenuPolicy(Qt::CustomContextMenu); - connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(show_context_menu())); + setContextMenuPolicy(Qt::CustomContextMenu); + connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(show_context_menu())); - renderer = new RenderThread(); - renderer->start(QThread::HighPriority); - connect(renderer, SIGNAL(ready()), this, SLOT(queue_repaint())); - connect(renderer, SIGNAL(finished()), renderer, SLOT(deleteLater())); + renderer = new RenderThread(); + renderer->start(QThread::HighestPriority); + connect(renderer, SIGNAL(ready()), this, SLOT(queue_repaint())); + connect(renderer, SIGNAL(finished()), renderer, SLOT(deleteLater())); - window = new ViewerWindow(this); + window = new ViewerWindow(this); } ViewerWidget::~ViewerWidget() { - renderer->cancel(); - delete renderer; + renderer->cancel(); + delete renderer; } void ViewerWidget::delete_function() { - closeActiveClips(viewer->seq); + close_active_clips(viewer->seq); } void ViewerWidget::set_waveform_scroll(int s) { - if (waveform) { - waveform_scroll = s; - update(); - } + if (waveform) { + waveform_scroll = s; + update(); + } } void ViewerWidget::set_fullscreen(int screen) { - if (screen >= 0 && screen < QGuiApplication::screens().size()) { - QScreen* selected_screen = QGuiApplication::screens().at(screen); - window->showFullScreen(); - window->setGeometry(selected_screen->geometry()); - } else { - qCritical() << "Failed to find requested screen" << screen << "to set fullscreen to"; - } + if (screen >= 0 && screen < QGuiApplication::screens().size()) { + QScreen* selected_screen = QGuiApplication::screens().at(screen); + window->showFullScreen(); + window->setGeometry(selected_screen->geometry()); + } else { + qCritical() << "Failed to find requested screen" << screen << "to set fullscreen to"; + } } void ViewerWidget::show_context_menu() { - QMenu menu(this); + QMenu menu(this); - QAction* save_frame_as_image = menu.addAction(tr("Save Frame as Image...")); - connect(save_frame_as_image, SIGNAL(triggered(bool)), this, SLOT(save_frame())); + QAction* save_frame_as_image = menu.addAction(tr("Save Frame as Image...")); + connect(save_frame_as_image, SIGNAL(triggered(bool)), this, SLOT(save_frame())); - /*QAction* show_fullscreen_action = menu.addAction(tr("Show Fullscreen")); - connect(show_fullscreen_action, SIGNAL(triggered()), this, SLOT(show_fullscreen()));*/ - QMenu* fullscreen_menu = menu.addMenu(tr("Show Fullscreen")); - QList screens = QGuiApplication::screens(); - if (window->isVisible()) { - fullscreen_menu->addAction(tr("Disable")); - } - for (int i=0;iaddAction(tr("Screen %1: %2x%3").arg( - QString::number(i), - QString::number(screens.at(i)->size().width()), - QString::number(screens.at(i)->size().height()))); - screen_action->setData(i); - } - connect(fullscreen_menu, SIGNAL(triggered(QAction*)), this, SLOT(fullscreen_menu_action(QAction*))); + QMenu* fullscreen_menu = menu.addMenu(tr("Show Fullscreen")); + QList screens = QGuiApplication::screens(); + if (window->isVisible()) { + fullscreen_menu->addAction(tr("Disable")); + } + for (int i=0;iaddAction(tr("Screen %1: %2x%3").arg( + QString::number(i), + QString::number(screens.at(i)->size().width()), + QString::number(screens.at(i)->size().height()))); + screen_action->setData(i); + } + connect(fullscreen_menu, SIGNAL(triggered(QAction*)), this, SLOT(fullscreen_menu_action(QAction*))); - QMenu zoom_menu(tr("Zoom")); - QAction* fit_zoom = zoom_menu.addAction(tr("Fit")); - connect(fit_zoom, SIGNAL(triggered(bool)), this, SLOT(set_fit_zoom())); - zoom_menu.addAction("10%")->setData(0.1); - zoom_menu.addAction("25%")->setData(0.25); - zoom_menu.addAction("50%")->setData(0.5); - zoom_menu.addAction("75%")->setData(0.75); - zoom_menu.addAction("100%")->setData(1.0); - zoom_menu.addAction("150%")->setData(1.5); - zoom_menu.addAction("200%")->setData(2.0); - zoom_menu.addAction("400%")->setData(4.0); - QAction* custom_zoom = zoom_menu.addAction(tr("Custom")); - connect(custom_zoom, SIGNAL(triggered(bool)), this, SLOT(set_custom_zoom())); - connect(&zoom_menu, SIGNAL(triggered(QAction*)), this, SLOT(set_menu_zoom(QAction*))); - menu.addMenu(&zoom_menu); + QMenu zoom_menu(tr("Zoom")); + QAction* fit_zoom = zoom_menu.addAction(tr("Fit")); + connect(fit_zoom, SIGNAL(triggered(bool)), this, SLOT(set_fit_zoom())); + zoom_menu.addAction("10%")->setData(0.1); + zoom_menu.addAction("25%")->setData(0.25); + zoom_menu.addAction("50%")->setData(0.5); + zoom_menu.addAction("75%")->setData(0.75); + zoom_menu.addAction("100%")->setData(1.0); + zoom_menu.addAction("150%")->setData(1.5); + zoom_menu.addAction("200%")->setData(2.0); + zoom_menu.addAction("400%")->setData(4.0); + QAction* custom_zoom = zoom_menu.addAction(tr("Custom")); + connect(custom_zoom, SIGNAL(triggered(bool)), this, SLOT(set_custom_zoom())); + connect(&zoom_menu, SIGNAL(triggered(QAction*)), this, SLOT(set_menu_zoom(QAction*))); + menu.addMenu(&zoom_menu); - if (!viewer->is_main_sequence()) { - menu.addAction(tr("Close Media"), viewer, SLOT(close_media())); - } + if (!viewer->is_main_sequence()) { + menu.addAction(tr("Close Media"), viewer, SLOT(close_media())); + } - menu.exec(QCursor::pos()); + menu.exec(QCursor::pos()); } void ViewerWidget::save_frame() { - QFileDialog fd(this); - fd.setAcceptMode(QFileDialog::AcceptSave); - fd.setFileMode(QFileDialog::AnyFile); - fd.setWindowTitle(tr("Save Frame")); - fd.setNameFilter("Portable Network Graphic (*.png);;JPEG (*.jpg);;Windows Bitmap (*.bmp);;Portable Pixmap (*.ppm);;X11 Bitmap (*.xbm);;X11 Pixmap (*.xpm)"); + QFileDialog fd(this); + fd.setAcceptMode(QFileDialog::AcceptSave); + fd.setFileMode(QFileDialog::AnyFile); + fd.setWindowTitle(tr("Save Frame")); + fd.setNameFilter("Portable Network Graphic (*.png);;JPEG (*.jpg);;Windows Bitmap (*.bmp);;Portable Pixmap (*.ppm);;X11 Bitmap (*.xbm);;X11 Pixmap (*.xpm)"); - if (fd.exec()) { - QString fn = fd.selectedFiles().at(0); - QString selected_ext = fd.selectedNameFilter().mid(fd.selectedNameFilter().indexOf(QRegExp("\\*.[a-z][a-z][a-z]")) + 1, 4); - if (!fn.endsWith(selected_ext, Qt::CaseInsensitive)) { - fn += selected_ext; - } + if (fd.exec()) { + QString fn = fd.selectedFiles().at(0); + QString selected_ext = fd.selectedNameFilter().mid(fd.selectedNameFilter().indexOf(QRegExp("\\*.[a-z][a-z][a-z]")) + 1, 4); + if (!fn.endsWith(selected_ext, Qt::CaseInsensitive)) { + fn += selected_ext; + } - renderer->start_render(context(), viewer->seq, fn); - } + renderer->start_render(context(), viewer->seq, fn); + } } void ViewerWidget::queue_repaint() { - update(); + update(); } void ViewerWidget::fullscreen_menu_action(QAction *action) { - if (action->data().isNull()) { - window->hide(); - } else { - set_fullscreen(action->data().toInt()); - } + if (action->data().isNull()) { + window->hide(); + } else { + set_fullscreen(action->data().toInt()); + } } void ViewerWidget::set_fit_zoom() { - container->fit = true; - container->adjust(); + container->fit = true; + container->adjust(); } void ViewerWidget::set_custom_zoom() { - bool ok; - double d = QInputDialog::getDouble(this, - tr("Viewer Zoom"), - tr("Set Custom Zoom Value:"), - container->zoom*100, 0, 2147483647, 2, &ok); - if (ok) { - container->fit = false; - container->zoom = d*0.01; - container->adjust(); - } + bool ok; + double d = QInputDialog::getDouble(this, + tr("Viewer Zoom"), + tr("Set Custom Zoom Value:"), + container->zoom*100, 0, 2147483647, 2, &ok); + if (ok) { + container->fit = false; + container->zoom = d*0.01; + container->adjust(); + } } void ViewerWidget::set_menu_zoom(QAction* action) { - const QVariant& data = action->data(); - if (!data.isNull()) { - container->fit = false; - container->zoom = data.toDouble(); - container->adjust(); - } + const QVariant& data = action->data(); + if (!data.isNull()) { + container->fit = false; + container->zoom = data.toDouble(); + container->adjust(); + } } void ViewerWidget::retry() { - update(); + update(); } void ViewerWidget::initializeGL() { - initializeOpenGLFunctions(); + initializeOpenGLFunctions(); - connect(context(), SIGNAL(aboutToBeDestroyed()), this, SLOT(context_destroy()), Qt::DirectConnection); + connect(context(), SIGNAL(aboutToBeDestroyed()), this, SLOT(context_destroy()), Qt::DirectConnection); } void ViewerWidget::frame_update() { - if (viewer->seq != nullptr) { - // send context to other thread for drawing - if (waveform) { - update(); - } else { - doneCurrent(); - renderer->start_render(context(), viewer->seq); - } + if (viewer->seq != nullptr) { + // send context to other thread for drawing + if (waveform) { + update(); + } else { + doneCurrent(); + renderer->start_render(context(), viewer->seq); + } - // render the audio - compose_audio(viewer, viewer->seq, viewer->get_playback_speed()); - } + // render the audio + compose_audio(viewer, viewer->seq, viewer->get_playback_speed(), viewer->WaitingForPlayWake()); + } } RenderThread *ViewerWidget::get_renderer() { - return renderer; + return renderer; } void ViewerWidget::set_scroll(double x, double y) { - x_scroll = x; - y_scroll = y; - update(); + x_scroll = x; + y_scroll = y; + update(); } void ViewerWidget::seek_from_click(int x) { - viewer->seek(getFrameFromScreenPoint(waveform_zoom, x+waveform_scroll)); + viewer->seek(getFrameFromScreenPoint(waveform_zoom, x+waveform_scroll)); } void ViewerWidget::context_destroy() { - makeCurrent(); - if (viewer->seq != nullptr) { - closeActiveClips(viewer->seq); - } - renderer->delete_ctx(); - doneCurrent(); + makeCurrent(); + if (viewer->seq != nullptr) { + close_active_clips(viewer->seq); + } + renderer->delete_ctx(); + doneCurrent(); } EffectGizmo* ViewerWidget::get_gizmo_from_mouse(int x, int y) { - if (gizmos != nullptr) { - double multiplier = double(viewer->seq->width) / double(width()); - QPoint mouse_pos(qRound(x*multiplier), qRound((height()-y)*multiplier)); - int dot_size = 2 * qRound(GIZMO_DOT_SIZE * multiplier); - int target_size = 2 * qRound(GIZMO_TARGET_SIZE * multiplier); - for (int i=0;igizmo_count();i++) { - EffectGizmo* g = gizmos->gizmo(i); + if (gizmos != nullptr) { + double multiplier = double(viewer->seq->width) / double(width()); + QPoint mouse_pos(qRound(x*multiplier), qRound((height()-y)*multiplier)); + int dot_size = 2 * qRound(GIZMO_DOT_SIZE * multiplier); + int target_size = 2 * qRound(GIZMO_TARGET_SIZE * multiplier); + for (int i=0;igizmo_count();i++) { + EffectGizmo* g = gizmos->gizmo(i); - switch (g->get_type()) { - case GIZMO_TYPE_DOT: - if (mouse_pos.x() > g->screen_pos[0].x() - dot_size - && mouse_pos.y() > g->screen_pos[0].y() - dot_size - && mouse_pos.x() < g->screen_pos[0].x() + dot_size - && mouse_pos.y() < g->screen_pos[0].y() + dot_size) { - return g; - } - break; - case GIZMO_TYPE_POLY: - if (QPolygon(g->screen_pos).containsPoint(mouse_pos, Qt::OddEvenFill)) { - return g; - } - break; - case GIZMO_TYPE_TARGET: - if (mouse_pos.x() > g->screen_pos[0].x() - target_size - && mouse_pos.y() > g->screen_pos[0].y() - target_size - && mouse_pos.x() < g->screen_pos[0].x() + target_size - && mouse_pos.y() < g->screen_pos[0].y() + target_size) { - return g; - } - break; - } - } - } - return nullptr; + switch (g->get_type()) { + case GIZMO_TYPE_DOT: + if (mouse_pos.x() > g->screen_pos[0].x() - dot_size + && mouse_pos.y() > g->screen_pos[0].y() - dot_size + && mouse_pos.x() < g->screen_pos[0].x() + dot_size + && mouse_pos.y() < g->screen_pos[0].y() + dot_size) { + return g; + } + break; + case GIZMO_TYPE_POLY: + if (QPolygon(g->screen_pos).containsPoint(mouse_pos, Qt::OddEvenFill)) { + return g; + } + break; + case GIZMO_TYPE_TARGET: + if (mouse_pos.x() > g->screen_pos[0].x() - target_size + && mouse_pos.y() > g->screen_pos[0].y() - target_size + && mouse_pos.x() < g->screen_pos[0].x() + target_size + && mouse_pos.y() < g->screen_pos[0].y() + target_size) { + return g; + } + break; + } + } + } + return nullptr; } void ViewerWidget::move_gizmos(QMouseEvent *event, bool done) { - if (selected_gizmo != nullptr) { - double multiplier = double(viewer->seq->width) / double(width()); + if (selected_gizmo != nullptr) { + double multiplier = double(viewer->seq->width) / double(width()); - int x_movement = qRound((event->pos().x() - drag_start_x)*multiplier); - int y_movement = qRound((event->pos().y() - drag_start_y)*multiplier); + int x_movement = qRound((event->pos().x() - drag_start_x)*multiplier); + int y_movement = qRound((event->pos().y() - drag_start_y)*multiplier); - gizmos->gizmo_move(selected_gizmo, x_movement, y_movement, get_timecode(gizmos->parent_clip, gizmos->parent_clip->sequence->playhead), done); + gizmos->gizmo_move(selected_gizmo, x_movement, y_movement, get_timecode(gizmos->parent_clip, gizmos->parent_clip->sequence->playhead), done); - gizmo_x_mvmt += x_movement; - gizmo_y_mvmt += y_movement; + gizmo_x_mvmt += x_movement; + gizmo_y_mvmt += y_movement; - drag_start_x = event->pos().x(); - drag_start_y = event->pos().y(); + drag_start_x = event->pos().x(); + drag_start_y = event->pos().y(); - gizmos->field_changed(); - } + gizmos->field_changed(); + } } void ViewerWidget::mousePressEvent(QMouseEvent* event) { - if (waveform) { - seek_from_click(event->x()); - } else if (event->buttons() & Qt::MiddleButton || panel_timeline->tool == TIMELINE_TOOL_HAND) { - container->dragScrollPress(event->pos()*container->zoom); - } else if (event->buttons() & Qt::LeftButton) { - drag_start_x = event->pos().x(); - drag_start_y = event->pos().y(); + if (waveform) { + seek_from_click(event->x()); + } else if (event->buttons() & Qt::MiddleButton || panel_timeline->tool == TIMELINE_TOOL_HAND) { + container->dragScrollPress(event->pos()*container->zoom); + } else if (event->buttons() & Qt::LeftButton) { + drag_start_x = event->pos().x(); + drag_start_y = event->pos().y(); - gizmo_x_mvmt = 0; - gizmo_y_mvmt = 0; + gizmo_x_mvmt = 0; + gizmo_y_mvmt = 0; - selected_gizmo = get_gizmo_from_mouse(event->pos().x(), event->pos().y()); + selected_gizmo = get_gizmo_from_mouse(event->pos().x(), event->pos().y()); - if (selected_gizmo != nullptr) { - selected_gizmo->set_previous_value(); - } - } - dragging = true; + if (selected_gizmo != nullptr) { + selected_gizmo->set_previous_value(); + } + } + dragging = true; } void ViewerWidget::mouseMoveEvent(QMouseEvent* event) { - unsetCursor(); - if (panel_timeline->tool == TIMELINE_TOOL_HAND) { - setCursor(Qt::OpenHandCursor); - } - if (dragging) { - if (waveform) { - seek_from_click(event->x()); - } else if (event->buttons() & Qt::MiddleButton || panel_timeline->tool == TIMELINE_TOOL_HAND) { - container->dragScrollMove(event->pos()*container->zoom); - } else if (event->buttons() & Qt::LeftButton) { - if (gizmos == nullptr) { - QDrag* drag = new QDrag(this); - QMimeData* mimeData = new QMimeData; - mimeData->setText("h"); // QMimeData will fail without some kind of data - drag->setMimeData(mimeData); - drag->exec(); - dragging = false; - } else { - move_gizmos(event, false); - } - } - } else { - EffectGizmo* g = get_gizmo_from_mouse(event->pos().x(), event->pos().y()); - if (g != nullptr) { - if (g->get_cursor() > -1) { - setCursor(static_cast(g->get_cursor())); - } - } - } + unsetCursor(); + if (panel_timeline->tool == TIMELINE_TOOL_HAND) { + setCursor(Qt::OpenHandCursor); + } + if (dragging) { + if (waveform) { + seek_from_click(event->x()); + } else if (event->buttons() & Qt::MiddleButton || panel_timeline->tool == TIMELINE_TOOL_HAND) { + container->dragScrollMove(event->pos()*container->zoom); + } else if (event->buttons() & Qt::LeftButton) { + if (gizmos == nullptr) { + QDrag* drag = new QDrag(this); + QMimeData* mimeData = new QMimeData; + mimeData->setText("h"); // QMimeData will fail without some kind of data + drag->setMimeData(mimeData); + drag->exec(); + dragging = false; + } else { + move_gizmos(event, false); + } + } + } else { + EffectGizmo* g = get_gizmo_from_mouse(event->pos().x(), event->pos().y()); + if (g != nullptr) { + if (g->get_cursor() > -1) { + setCursor(static_cast(g->get_cursor())); + } + } + } } void ViewerWidget::mouseReleaseEvent(QMouseEvent *event) { - if (dragging - && gizmos != nullptr - && event->button() == Qt::LeftButton - && panel_timeline->tool != TIMELINE_TOOL_HAND) { - move_gizmos(event, true); - } - dragging = false; + if (dragging + && gizmos != nullptr + && event->button() == Qt::LeftButton + && panel_timeline->tool != TIMELINE_TOOL_HAND) { + move_gizmos(event, true); + } + dragging = false; } void ViewerWidget::wheelEvent(QWheelEvent *event) { - container->parseWheelEvent(event); + container->parseWheelEvent(event); } void ViewerWidget::close_window() { - window->hide(); + window->hide(); } void ViewerWidget::draw_waveform_func() { - QPainter p(this); - if (viewer->seq->using_workarea) { - int in_x = getScreenPointFromFrame(waveform_zoom, viewer->seq->workarea_in) - waveform_scroll; - int out_x = getScreenPointFromFrame(waveform_zoom, viewer->seq->workarea_out) - waveform_scroll; + QPainter p(this); + if (viewer->seq->using_workarea) { + int in_x = getScreenPointFromFrame(waveform_zoom, viewer->seq->workarea_in) - waveform_scroll; + int out_x = getScreenPointFromFrame(waveform_zoom, viewer->seq->workarea_out) - waveform_scroll; - p.fillRect(QRect(in_x, 0, out_x - in_x, height()), QColor(255, 255, 255, 64)); - p.setPen(Qt::white); - p.drawLine(in_x, 0, in_x, height()); - p.drawLine(out_x, 0, out_x, height()); - } - QRect wr = rect(); - wr.setX(wr.x() - waveform_scroll); + p.fillRect(QRect(in_x, 0, out_x - in_x, height()), QColor(255, 255, 255, 64)); + p.setPen(Qt::white); + p.drawLine(in_x, 0, in_x, height()); + p.drawLine(out_x, 0, out_x, height()); + } + QRect wr = rect(); + wr.setX(wr.x() - waveform_scroll); - p.setPen(Qt::green); - draw_waveform(waveform_clip, waveform_ms, waveform_clip->timeline_out, &p, wr, waveform_scroll, width()+waveform_scroll, waveform_zoom); - p.setPen(Qt::red); - int playhead_x = getScreenPointFromFrame(waveform_zoom, viewer->seq->playhead) - waveform_scroll; - p.drawLine(playhead_x, 0, playhead_x, height()); + p.setPen(Qt::green); + draw_waveform(waveform_clip, waveform_ms, waveform_clip->timeline_out(), &p, wr, waveform_scroll, width()+waveform_scroll, waveform_zoom); + p.setPen(Qt::red); + int playhead_x = getScreenPointFromFrame(waveform_zoom, viewer->seq->playhead) - waveform_scroll; + p.drawLine(playhead_x, 0, playhead_x, height()); } void ViewerWidget::draw_title_safe_area() { - double halfWidth = 0.5; - double halfHeight = 0.5; - double viewportAr = (double) width() / (double) height(); - double halfAr = viewportAr*0.5; + double halfWidth = 0.5; + double halfHeight = 0.5; + double viewportAr = (double) width() / (double) height(); + double halfAr = viewportAr*0.5; - if (olive::CurrentConfig.use_custom_title_safe_ratio && olive::CurrentConfig.custom_title_safe_ratio > 0) { - if (olive::CurrentConfig.custom_title_safe_ratio > viewportAr) { - halfHeight = (olive::CurrentConfig.custom_title_safe_ratio/viewportAr)*0.5; - } else { - halfWidth = (viewportAr/olive::CurrentConfig.custom_title_safe_ratio)*0.5; - } - } + if (olive::CurrentConfig.use_custom_title_safe_ratio && olive::CurrentConfig.custom_title_safe_ratio > 0) { + if (olive::CurrentConfig.custom_title_safe_ratio > viewportAr) { + halfHeight = (olive::CurrentConfig.custom_title_safe_ratio/viewportAr)*0.5; + } else { + halfWidth = (viewportAr/olive::CurrentConfig.custom_title_safe_ratio)*0.5; + } + } - glLoadIdentity(); - glOrtho(-halfWidth, halfWidth, halfHeight, -halfHeight, 0, 1); + glLoadIdentity(); + glOrtho(-halfWidth, halfWidth, halfHeight, -halfHeight, 0, 1); - glColor4f(0.66f, 0.66f, 0.66f, 1.0f); - glBegin(GL_LINES); + glColor4f(0.66f, 0.66f, 0.66f, 1.0f); + glBegin(GL_LINES); - // action safe rectangle - glVertex2d(-0.45, -0.45); - glVertex2d(0.45, -0.45); - glVertex2d(0.45, -0.45); - glVertex2d(0.45, 0.45); - glVertex2d(0.45, 0.45); - glVertex2d(-0.45, 0.45); - glVertex2d(-0.45, 0.45); - glVertex2d(-0.45, -0.45); + // action safe rectangle + glVertex2d(-0.45, -0.45); + glVertex2d(0.45, -0.45); + glVertex2d(0.45, -0.45); + glVertex2d(0.45, 0.45); + glVertex2d(0.45, 0.45); + glVertex2d(-0.45, 0.45); + glVertex2d(-0.45, 0.45); + glVertex2d(-0.45, -0.45); - // title safe rectangle - glVertex2d(-0.4, -0.4); - glVertex2d(0.4, -0.4); - glVertex2d(0.4, -0.4); - glVertex2d(0.4, 0.4); - glVertex2d(0.4, 0.4); - glVertex2d(-0.4, 0.4); - glVertex2d(-0.4, 0.4); - glVertex2d(-0.4, -0.4); + // title safe rectangle + glVertex2d(-0.4, -0.4); + glVertex2d(0.4, -0.4); + glVertex2d(0.4, -0.4); + glVertex2d(0.4, 0.4); + glVertex2d(0.4, 0.4); + glVertex2d(-0.4, 0.4); + glVertex2d(-0.4, 0.4); + glVertex2d(-0.4, -0.4); - // horizontal centers - glVertex2d(-0.45, 0); - glVertex2d(-0.375, 0); - glVertex2d(0.45, 0); - glVertex2d(0.375, 0); + // horizontal centers + glVertex2d(-0.45, 0); + glVertex2d(-0.375, 0); + glVertex2d(0.45, 0); + glVertex2d(0.375, 0); - // vertical centers - glVertex2d(0, -0.45); - glVertex2d(0, -0.375); - glVertex2d(0, 0.45); - glVertex2d(0, 0.375); + // vertical centers + glVertex2d(0, -0.45); + glVertex2d(0, -0.375); + glVertex2d(0, 0.45); + glVertex2d(0, 0.375); - glEnd(); + glEnd(); - // center cross - glLoadIdentity(); - glOrtho(-halfAr, halfAr, 0.5, -0.5, -1, 1); + // center cross + glLoadIdentity(); + glOrtho(-halfAr, halfAr, 0.5, -0.5, -1, 1); - glBegin(GL_LINES); + glBegin(GL_LINES); - glVertex2d(-0.05, 0); - glVertex2d(0.05, 0); - glVertex2d(0, -0.05); - glVertex2d(0, 0.05); + glVertex2d(-0.05, 0); + glVertex2d(0.05, 0); + glVertex2d(0, -0.05); + glVertex2d(0, 0.05); - glEnd(); + glEnd(); } void ViewerWidget::draw_gizmos() { - float color[4]; - glGetFloatv(GL_CURRENT_COLOR, color); + float color[4]; + glGetFloatv(GL_CURRENT_COLOR, color); - float dot_size = GIZMO_DOT_SIZE / width() * viewer->seq->width; - float target_size = GIZMO_TARGET_SIZE / width() * viewer->seq->width; + double dot_size = GIZMO_DOT_SIZE / double(width()) * viewer->seq->width; + double target_size = GIZMO_TARGET_SIZE / double(width()) * viewer->seq->width; - double zoom_factor = container->zoom/(double(width())/double(viewer->seq->width)); + double zoom_factor = container->zoom/(double(width())/double(viewer->seq->width)); - glPushMatrix(); - glLoadIdentity(); + glPushMatrix(); + glLoadIdentity(); - glOrtho(0, viewer->seq->width, 0, viewer->seq->height, -1, 10); - glScaled(zoom_factor, zoom_factor, 0.0); - glTranslated(-(viewer->seq->width-(width()/container->zoom))*x_scroll, - -((viewer->seq->height-(height()/container->zoom))*(1.0-y_scroll)), - 0); + glOrtho(0, viewer->seq->width, 0, viewer->seq->height, -1, 10); + glScaled(zoom_factor, zoom_factor, 0.0); + glTranslated(-(viewer->seq->width-(width()/container->zoom))*x_scroll, + -((viewer->seq->height-(height()/container->zoom))*(1.0-y_scroll)), + 0); - float gizmo_z = 0.0f; - for (int j=0;jgizmo_count();j++) { - EffectGizmo* g = gizmos->gizmo(j); - glColor4f(g->color.redF(), g->color.greenF(), g->color.blueF(), 1.0); - switch (g->get_type()) { - case GIZMO_TYPE_DOT: // draw dot - glBegin(GL_QUADS); - glVertex3f(g->screen_pos[0].x()-dot_size, g->screen_pos[0].y()-dot_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()+dot_size, g->screen_pos[0].y()-dot_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()+dot_size, g->screen_pos[0].y()+dot_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()-dot_size, g->screen_pos[0].y()+dot_size, gizmo_z); - glEnd(); - break; - case GIZMO_TYPE_POLY: // draw lines - glBegin(GL_LINES); - for (int k=1;kget_point_count();k++) { - glVertex3f(g->screen_pos[k-1].x(), g->screen_pos[k-1].y(), gizmo_z); - glVertex3f(g->screen_pos[k].x(), g->screen_pos[k].y(), gizmo_z); - } - glVertex3f(g->screen_pos[g->get_point_count()-1].x(), g->screen_pos[g->get_point_count()-1].y(), gizmo_z); - glVertex3f(g->screen_pos[0].x(), g->screen_pos[0].y(), gizmo_z); - glEnd(); - break; - case GIZMO_TYPE_TARGET: // draw target - glBegin(GL_LINES); - glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y()-target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y()-target_size, gizmo_z); + float gizmo_z = 0.0f; + for (int j=0;jgizmo_count();j++) { + EffectGizmo* g = gizmos->gizmo(j); + glColor4d(g->color.redF(), g->color.greenF(), g->color.blueF(), 1.0); + switch (g->get_type()) { + case GIZMO_TYPE_DOT: // draw dot + glBegin(GL_QUADS); + glVertex3f(g->screen_pos[0].x()-dot_size, g->screen_pos[0].y()-dot_size, gizmo_z); + glVertex3f(g->screen_pos[0].x()+dot_size, g->screen_pos[0].y()-dot_size, gizmo_z); + glVertex3f(g->screen_pos[0].x()+dot_size, g->screen_pos[0].y()+dot_size, gizmo_z); + glVertex3f(g->screen_pos[0].x()-dot_size, g->screen_pos[0].y()+dot_size, gizmo_z); + glEnd(); + break; + case GIZMO_TYPE_POLY: // draw lines + glBegin(GL_LINES); + for (int k=1;kget_point_count();k++) { + glVertex3f(g->screen_pos[k-1].x(), g->screen_pos[k-1].y(), gizmo_z); + glVertex3f(g->screen_pos[k].x(), g->screen_pos[k].y(), gizmo_z); + } + glVertex3f(g->screen_pos[g->get_point_count()-1].x(), g->screen_pos[g->get_point_count()-1].y(), gizmo_z); + glVertex3f(g->screen_pos[0].x(), g->screen_pos[0].y(), gizmo_z); + glEnd(); + break; + case GIZMO_TYPE_TARGET: // draw target + glBegin(GL_LINES); + glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y()-target_size, gizmo_z); + glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y()-target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y()-target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y()+target_size, gizmo_z); + glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y()-target_size, gizmo_z); + glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y()+target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y()+target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y()+target_size, gizmo_z); + glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y()+target_size, gizmo_z); + glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y()+target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y()+target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y()-target_size, gizmo_z); + glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y()+target_size, gizmo_z); + glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y()-target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y(), gizmo_z); - glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y(), gizmo_z); + glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y(), gizmo_z); + glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y(), gizmo_z); - glVertex3f(g->screen_pos[0].x(), g->screen_pos[0].y()-target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x(), g->screen_pos[0].y()+target_size, gizmo_z); - glEnd(); - break; - } - } - glPopMatrix(); + glVertex3f(g->screen_pos[0].x(), g->screen_pos[0].y()-target_size, gizmo_z); + glVertex3f(g->screen_pos[0].x(), g->screen_pos[0].y()+target_size, gizmo_z); + glEnd(); + break; + } + } + glPopMatrix(); - glColor4f(color[0], color[1], color[2], color[3]); + glColor4f(color[0], color[1], color[2], color[3]); } void ViewerWidget::paintGL() { - if (waveform) { - draw_waveform_func(); - } else { - renderer->mutex.lock(); + if (waveform) { + draw_waveform_func(); + } else { + const GLuint tex = renderer->get_texture(); + QMutex* tex_lock = renderer->get_texture_mutex(); - makeCurrent(); + tex_lock->lock(); - // clear to solid black - glClearColor(0.0, 0.0, 0.0, 1.0); - glClear(GL_COLOR_BUFFER_BIT); + makeCurrent(); - // set color multipler to straight white - glColor4f(1.0, 1.0, 1.0, 1.0); + // clear to solid black + glClearColor(0.0, 0.0, 0.0, 1.0); + glClear(GL_COLOR_BUFFER_BIT); - glEnable(GL_TEXTURE_2D); + // set color multipler to straight white + glColor4f(1.0, 1.0, 1.0, 1.0); - // set screen coords to widget size - glLoadIdentity(); - glOrtho(-1, 1, -1, 1, -1, 1); + glEnable(GL_TEXTURE_2D); - // draw texture from render thread + // set screen coords to widget size + glLoadIdentity(); + glOrtho(-1, 1, -1, 1, -1, 1); - glBindTexture(GL_TEXTURE_2D, renderer->front_texture); + // draw texture from render thread - glBegin(GL_QUADS); + glBindTexture(GL_TEXTURE_2D, tex); -// double ar_diff = (double(viewer->seq->width)/double(viewer->seq->height)/(double(width())/double(height()))); - double zoom_factor = container->zoom/(double(width())/double(viewer->seq->width)); - double zoom_size = (zoom_factor*2.0) - 2.0; - double zoom_left = -zoom_size*x_scroll - 1.0; - double zoom_right = zoom_size*(1.0-x_scroll) + 1.0; - double zoom_bottom = -zoom_size*(1.0-y_scroll) - 1.0; - double zoom_top = zoom_size*(y_scroll) + 1.0; + glBegin(GL_QUADS); - //zoom_left *= ar_diff; - //zoom_right *= ar_diff; + // double ar_diff = (double(viewer->seq->width)/double(viewer->seq->height)/(double(width())/double(height()))); + double zoom_factor = container->zoom/(double(width())/double(viewer->seq->width)); + double zoom_size = (zoom_factor*2.0) - 2.0; + double zoom_left = -zoom_size*x_scroll - 1.0; + double zoom_right = zoom_size*(1.0-x_scroll) + 1.0; + double zoom_bottom = -zoom_size*(1.0-y_scroll) - 1.0; + double zoom_top = zoom_size*(y_scroll) + 1.0; - glVertex2d(zoom_left, zoom_bottom); - glTexCoord2d(0, 0); - glVertex2d(zoom_left, zoom_top); - glTexCoord2d(1, 0); - glVertex2d(zoom_right, zoom_top); - glTexCoord2d(1, 1); - glVertex2d(zoom_right, zoom_bottom); - glTexCoord2d(0, 1); + //zoom_left *= ar_diff; + //zoom_right *= ar_diff; - glEnd(); + glVertex2d(zoom_left, zoom_bottom); + glTexCoord2d(0, 0); + glVertex2d(zoom_left, zoom_top); + glTexCoord2d(1, 0); + glVertex2d(zoom_right, zoom_top); + glTexCoord2d(1, 1); + glVertex2d(zoom_right, zoom_bottom); + glTexCoord2d(0, 1); - glBindTexture(GL_TEXTURE_2D, 0); + glEnd(); - // draw title/action safe area - if (olive::CurrentConfig.show_title_safe_area) { - draw_title_safe_area(); - } + glBindTexture(GL_TEXTURE_2D, 0); - gizmos = renderer->gizmos; - if (gizmos != nullptr) { - draw_gizmos(); - } + // draw title/action safe area + if (olive::CurrentConfig.show_title_safe_area) { + draw_title_safe_area(); + } - glDisable(GL_TEXTURE_2D); + gizmos = renderer->gizmos; + if (gizmos != nullptr) { + draw_gizmos(); + } - if (window->isVisible()) { - window->set_texture(renderer->front_texture, double(viewer->seq->width)/double(viewer->seq->height), &renderer->mutex); - } + glDisable(GL_TEXTURE_2D); - renderer->mutex.unlock(); + if (window->isVisible()) { + window->set_texture(tex, double(viewer->seq->width)/double(viewer->seq->height), tex_lock); + } - if (renderer->did_texture_fail() && !viewer->playing) { - doneCurrent(); - renderer->start_render(context(), viewer->seq); - } - } + tex_lock->unlock(); + + if (renderer->did_texture_fail() && !viewer->playing) { + doneCurrent(); + renderer->start_render(context(), viewer->seq); + } + } } diff --git a/ui/viewerwidget.h b/ui/viewerwidget.h index 34c8f9d5d..16888041c 100644 --- a/ui/viewerwidget.h +++ b/ui/viewerwidget.h @@ -35,7 +35,7 @@ #include "project/effect.h" #include "ui/viewerwindow.h" #include "ui/viewercontainer.h" -#include "ui/renderthread.h" +#include "rendering/renderthread.h" class Viewer; class QOpenGLFramebufferObject; @@ -43,64 +43,64 @@ struct GLTextureCoords; class ViewerWidget : public QOpenGLWidget, QOpenGLFunctions { - Q_OBJECT + Q_OBJECT public: - ViewerWidget(QWidget *parent = nullptr); - ~ViewerWidget(); + ViewerWidget(QWidget *parent = nullptr); + ~ViewerWidget(); - void delete_function(); - void close_window(); + void delete_function(); + void close_window(); - void paintGL(); - void initializeGL(); - Viewer* viewer; - ViewerContainer* container; + void paintGL(); + void initializeGL(); + Viewer* viewer; + ViewerContainer* container; - bool waveform; - ClipPtr waveform_clip; - const FootageStream* waveform_ms; - double waveform_zoom; - int waveform_scroll; + bool waveform; + ClipPtr waveform_clip; + const FootageStream* waveform_ms; + double waveform_zoom; + int waveform_scroll; - void frame_update(); - RenderThread* get_renderer(); - void set_scroll(double x, double y); + void frame_update(); + RenderThread* get_renderer(); + void set_scroll(double x, double y); public slots: - void set_waveform_scroll(int s); - void set_fullscreen(int screen = 0); + void set_waveform_scroll(int s); + void set_fullscreen(int screen = 0); protected: - void mousePressEvent(QMouseEvent *event); - void mouseMoveEvent(QMouseEvent *event); - void mouseReleaseEvent(QMouseEvent *event); - void wheelEvent(QWheelEvent* event); + void mousePressEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); + void mouseReleaseEvent(QMouseEvent *event); + void wheelEvent(QWheelEvent* event); private: - void draw_waveform_func(); - void draw_title_safe_area(); - void draw_gizmos(); - EffectGizmo* get_gizmo_from_mouse(int x, int y); - void move_gizmos(QMouseEvent *event, bool done); - bool dragging; - void seek_from_click(int x); - EffectPtr gizmos; - int drag_start_x; - int drag_start_y; - int gizmo_x_mvmt; - int gizmo_y_mvmt; - EffectGizmo* selected_gizmo; - RenderThread* renderer; - ViewerWindow* window; - double x_scroll; - double y_scroll; + void draw_waveform_func(); + void draw_title_safe_area(); + void draw_gizmos(); + EffectGizmo* get_gizmo_from_mouse(int x, int y); + void move_gizmos(QMouseEvent *event, bool done); + bool dragging; + void seek_from_click(int x); + EffectPtr gizmos; + int drag_start_x; + int drag_start_y; + int gizmo_x_mvmt; + int gizmo_y_mvmt; + EffectGizmo* selected_gizmo; + RenderThread* renderer; + ViewerWindow* window; + double x_scroll; + double y_scroll; private slots: - void context_destroy(); - void retry(); - void show_context_menu(); - void save_frame(); - void queue_repaint(); - void fullscreen_menu_action(QAction* action); - void set_fit_zoom(); - void set_custom_zoom(); - void set_menu_zoom(QAction *action); + void context_destroy(); + void retry(); + void show_context_menu(); + void save_frame(); + void queue_repaint(); + void fullscreen_menu_action(QAction* action); + void set_fit_zoom(); + void set_custom_zoom(); + void set_menu_zoom(QAction *action); }; #endif // VIEWERWIDGET_H diff --git a/ui/viewerwindow.cpp b/ui/viewerwindow.cpp index 77178b70b..69bb74053 100644 --- a/ui/viewerwindow.cpp +++ b/ui/viewerwindow.cpp @@ -34,130 +34,130 @@ #include "mainwindow.h" ViewerWindow::ViewerWindow(QWidget *parent) : - QOpenGLWidget(parent, Qt::Window), - texture(0), - mutex(nullptr), - show_fullscreen_msg(false) + QOpenGLWidget(parent, Qt::Window), + texture(0), + mutex(nullptr), + show_fullscreen_msg(false) { - setMouseTracking(true); + setMouseTracking(true); - fullscreen_msg_timer.setInterval(2000); - connect(&fullscreen_msg_timer, SIGNAL(timeout()), this, SLOT(fullscreen_msg_timeout())); + fullscreen_msg_timer.setInterval(2000); + connect(&fullscreen_msg_timer, SIGNAL(timeout()), this, SLOT(fullscreen_msg_timeout())); } void ViewerWindow::set_texture(GLuint t, double iar, QMutex* imutex) { - texture = t; - ar = iar; - mutex = imutex; - update(); + texture = t; + ar = iar; + mutex = imutex; + update(); } void ViewerWindow::keyPressEvent(QKeyEvent *e) { - if (e->key() == Qt::Key_Escape) { - hide(); - } + if (e->key() == Qt::Key_Escape) { + hide(); + } } void ViewerWindow::mousePressEvent(QMouseEvent *e) { - if (show_fullscreen_msg && fullscreen_msg_rect.contains(e->pos())) { - hide(); - } + if (show_fullscreen_msg && fullscreen_msg_rect.contains(e->pos())) { + hide(); + } } void ViewerWindow::mouseMoveEvent(QMouseEvent *) { - fullscreen_msg_timer.start(); - if (!show_fullscreen_msg) { - show_fullscreen_msg = true; - update(); - } + fullscreen_msg_timer.start(); + if (!show_fullscreen_msg) { + show_fullscreen_msg = true; + update(); + } } void ViewerWindow::paintGL() { - if (texture > 0) { - if (mutex != nullptr) mutex->lock(); + if (texture > 0) { + if (mutex != nullptr) mutex->lock(); - glClearColor(0.0, 0.0, 0.0, 1.0); - glClear(GL_COLOR_BUFFER_BIT); + glClearColor(0.0, 0.0, 0.0, 1.0); + glClear(GL_COLOR_BUFFER_BIT); - glEnable(GL_TEXTURE_2D); + glEnable(GL_TEXTURE_2D); - glBindTexture(GL_TEXTURE_2D, texture); + glBindTexture(GL_TEXTURE_2D, texture); - glLoadIdentity(); - glOrtho(0, 1, 0, 1, -1, 1); + glLoadIdentity(); + glOrtho(0, 1, 0, 1, -1, 1); - glBegin(GL_QUADS); + glBegin(GL_QUADS); - double top = 0; - double left = 0; - double right = 1; - double bottom = 1; + double top = 0; + double left = 0; + double right = 1; + double bottom = 1; - double widget_ar = double(width()) / double(height()); + double widget_ar = double(width()) / double(height()); - if (widget_ar > ar) { - double width = 1.0 * ar / widget_ar; - left = (1.0 - width)*0.5; - right = left + width; - } else { - double height = 1.0 / ar * widget_ar; - top = (1.0 - height)*0.5; - bottom = top + height; - } - - glVertex2d(left, top); - glTexCoord2d(0, 0); - glVertex2d(left, bottom); - glTexCoord2d(1, 0); - glVertex2d(right, bottom); - glTexCoord2d(1, 1); - glVertex2d(right, top); - glTexCoord2d(0, 1); - - glEnd(); - - glBindTexture(GL_TEXTURE_2D, 0); - - glDisable(GL_TEXTURE_2D); - - if (mutex != nullptr) mutex->unlock(); - } - - if (show_fullscreen_msg) { - QPainter p(this); - - QFont f = p.font(); - f.setPointSize(24); - p.setFont(f); - - QFontMetrics fm(f); - - QString fs_str = tr("Exit Fullscreen"); - - p.setPen(Qt::white); - p.setBrush(QColor(0, 0, 0, 128)); - - int text_width = fm.width(fs_str); - int text_x = (width()/2)-(text_width/2); - int text_y = fm.height()+fm.ascent(); - - int rect_padding = 8; - - fullscreen_msg_rect = QRect(text_x-rect_padding, - fm.height()-rect_padding, - text_width+rect_padding+rect_padding, - fm.height()+rect_padding+rect_padding); - - p.drawRect(fullscreen_msg_rect); - - p.drawText(text_x, text_y, fs_str); + if (widget_ar > ar) { + double width = 1.0 * ar / widget_ar; + left = (1.0 - width)*0.5; + right = left + width; + } else { + double height = 1.0 / ar * widget_ar; + top = (1.0 - height)*0.5; + bottom = top + height; } + + glVertex2d(left, top); + glTexCoord2d(0, 0); + glVertex2d(left, bottom); + glTexCoord2d(1, 0); + glVertex2d(right, bottom); + glTexCoord2d(1, 1); + glVertex2d(right, top); + glTexCoord2d(0, 1); + + glEnd(); + + glBindTexture(GL_TEXTURE_2D, 0); + + glDisable(GL_TEXTURE_2D); + + if (mutex != nullptr) mutex->unlock(); + } + + if (show_fullscreen_msg) { + QPainter p(this); + + QFont f = p.font(); + f.setPointSize(24); + p.setFont(f); + + QFontMetrics fm(f); + + QString fs_str = tr("Exit Fullscreen"); + + p.setPen(Qt::white); + p.setBrush(QColor(0, 0, 0, 128)); + + int text_width = fm.width(fs_str); + int text_x = (width()/2)-(text_width/2); + int text_y = fm.height()+fm.ascent(); + + int rect_padding = 8; + + fullscreen_msg_rect = QRect(text_x-rect_padding, + fm.height()-rect_padding, + text_width+rect_padding+rect_padding, + fm.height()+rect_padding+rect_padding); + + p.drawRect(fullscreen_msg_rect); + + p.drawText(text_x, text_y, fs_str); + } } void ViewerWindow::fullscreen_msg_timeout() { - fullscreen_msg_timer.stop(); - if (show_fullscreen_msg) { - show_fullscreen_msg = false; - update(); - } + fullscreen_msg_timer.stop(); + if (show_fullscreen_msg) { + show_fullscreen_msg = false; + update(); + } }