From 65006d5730eab995c64f9a1d88e33ac270d788f9 Mon Sep 17 00:00:00 2001 From: epoupon Date: Thu, 24 Sep 2015 12:49:55 +0200 Subject: [PATCH] [UI] Restored some video code --- configure.ac | 1 + src/av/AvInfo.hpp | 5 + src/av/AvTranscoder.hpp | 8 +- src/ui/LmsApplication.cpp | 2 + src/ui/video/VideoMediaPlayerWidget.cpp | 43 +++--- src/ui/video/VideoMediaPlayerWidget.hpp | 4 +- src/ui/video/VideoParametersDialog.cpp | 105 ++++----------- src/ui/video/VideoParametersDialog.hpp | 19 ++- src/ui/video/VideoWidget.cpp | 74 +++++----- src/ui/video/tags | 171 ++++++++++++++++++++++++ 10 files changed, 278 insertions(+), 154 deletions(-) create mode 100644 src/ui/video/tags diff --git a/configure.ac b/configure.ac index db8630ce..f7e9611a 100644 --- a/configure.ac +++ b/configure.ac @@ -45,6 +45,7 @@ AC_ARG_ENABLE([video], AS_HELP_STRING([--enable-video], [enable_video="yes"]) AM_CONDITIONAL([VIDEO], [test x$enable_video = xyes]) +AS_IF([test x$enable_video = xyes], [AC_DEFINE(HAVE_VIDEO, [1], [Enable Video support])]) PKG_CHECK_MODULES(IMAGEMAGICKXX, "ImageMagick++", [ HAVE_IMAGEMAGICKXX=yes ], [ ]) if test -n "$HAVE_IMAGEMAGICKXX"; then diff --git a/src/av/AvInfo.hpp b/src/av/AvInfo.hpp index 7d8061a2..377fd6fd 100644 --- a/src/av/AvInfo.hpp +++ b/src/av/AvInfo.hpp @@ -71,6 +71,10 @@ class MediaFile MediaFile(const boost::filesystem::path& p); ~MediaFile(); + // non copyable + MediaFile(const MediaFile&) = delete; + MediaFile& operator=(const MediaFile&) = delete; + boost::filesystem::path getPath() const {return _p;}; bool open(void); @@ -85,6 +89,7 @@ class MediaFile std::vector getAttachedPictures(std::size_t nbMaxPictures) const; private: + MediaFile(); boost::filesystem::path _p; AVFormatContext* _context; diff --git a/src/av/AvTranscoder.hpp b/src/av/AvTranscoder.hpp index 6d253dbd..40a00b7a 100644 --- a/src/av/AvTranscoder.hpp +++ b/src/av/AvTranscoder.hpp @@ -73,7 +73,7 @@ class TranscodeParameters private: Encoding _encoding = Encoding::MP3; boost::posix_time::time_duration _offset = boost::posix_time::seconds(0); - std::set _selectedStreams; + std::set _selectedStreams; std::map _outputBitrate = { {Stream::Type::Audio, 0}, { Stream::Type::Video, 0}, { Stream::Type::Subtitle, 0} }; }; @@ -86,12 +86,18 @@ class Transcoder Transcoder(boost::filesystem::path file, TranscodeParameters parameters); ~Transcoder(); + // non copyable + Transcoder(const Transcoder&) = delete; + Transcoder& operator=(const Transcoder&) = delete; + bool start(); void process(std::vector& output, std::size_t maxSize); bool isComplete(void); private: + Transcoder(); + boost::filesystem::path _filePath; TranscodeParameters _parameters; diff --git a/src/ui/LmsApplication.cpp b/src/ui/LmsApplication.cpp index c8b8ae62..b00d7ba8 100644 --- a/src/ui/LmsApplication.cpp +++ b/src/ui/LmsApplication.cpp @@ -28,6 +28,8 @@ #include #include +#include "config/config.h" + #include "logger/Logger.hpp" #include "settings/Settings.hpp" diff --git a/src/ui/video/VideoMediaPlayerWidget.cpp b/src/ui/video/VideoMediaPlayerWidget.cpp index a1069c28..2062cd4d 100644 --- a/src/ui/video/VideoMediaPlayerWidget.cpp +++ b/src/ui/video/VideoMediaPlayerWidget.cpp @@ -17,8 +17,7 @@ * along with LMS. If not, see . */ - -#include +#include //include all types plus i/o #include @@ -47,7 +46,7 @@ AvEncoding_to_WtEncoding(Av::Encoding encoding) } -VideoMediaPlayerWidget::VideoMediaPlayerWidget( Av::TranscodeParameters parameters, Wt::WContainerWidget *parent) +VideoMediaPlayerWidget::VideoMediaPlayerWidget( const Av::MediaFile& mediaFile, Av::TranscodeParameters parameters, Wt::WContainerWidget *parent) : Wt::WContainerWidget(parent), _mediaResource(nullptr), _currentParameters(parameters), @@ -102,7 +101,12 @@ VideoMediaPlayerWidget::VideoMediaPlayerWidget( Av::TranscodeParameters paramete Wt::WPushButton* parametersButton = new Wt::WPushButton("Parameters", this); parametersButton->clicked().connect( this, &VideoMediaPlayerWidget::handleParametersEdit ); + _currentFile = mediaFile.getPath(); + load(parameters); + + _timeSlider->setRange(0, mediaFile.getDuration().total_seconds() ); + _duration->setText( boost::posix_time::to_simple_string( mediaFile.getDuration() )); } void @@ -116,15 +120,13 @@ VideoMediaPlayerWidget::load(Av::TranscodeParameters parameters) if (_mediaResource) delete _mediaResource; -// TODO _mediaResource = new AvConvTranscodeStreamResource( parameters, this ); + _mediaResource = new AvConvTranscodeStreamResource( _currentFile, parameters, this ); _mediaInternalLink.setResource( _mediaResource ); _mediaPlayer->addSource( AvEncoding_to_WtEncoding(parameters.getEncoding()), _mediaInternalLink ); - _timeSlider->setRange(0, 0/* TODO parameters.getInputMediaFile().getDuration().total_seconds()*/ ); - _timeSlider->setValue( parameters.getOffset().total_seconds() ); + _timeSlider->setValue( 0 ); -// TODO _duration->setText( boost::posix_time::to_simple_string( parameters.getInputMediaFile().getDuration() )); _mediaPlayer->play(); } @@ -132,7 +134,6 @@ VideoMediaPlayerWidget::load(Av::TranscodeParameters parameters) void VideoMediaPlayerWidget::handlePlayOffset(int offsetSecs) { - std::cout << "Want to play at offset " << offsetSecs << std::endl;; _currentParameters.setOffset( boost::posix_time::seconds(offsetSecs) ); load( _currentParameters ); @@ -142,24 +143,17 @@ VideoMediaPlayerWidget::handlePlayOffset(int offsetSecs) void VideoMediaPlayerWidget::handleSliderMoved(int value) { - std::cout << "Slider moved to " << value << std::endl; _curTime->setText( boost::posix_time::to_simple_string( boost::posix_time::seconds( value ) ) ); } void VideoMediaPlayerWidget::handleTimeUpdated(void) { - std::cout << "Time updated to " << _mediaPlayer->currentTime() << std::endl; - /* TODO - if (_mediaPlayer->currentTime() > 0 && _mediaPlayer->currentTime() < _currentParameters.getInputMediaFile().getDuration().total_seconds()) - { - boost::posix_time::time_duration currentTime ( boost::posix_time::seconds( _mediaPlayer->currentTime() + _currentParameters.getOffset().total_seconds())); + boost::posix_time::time_duration currentTime ( boost::posix_time::seconds( _mediaPlayer->currentTime() + _currentParameters.getOffset().total_seconds())); - _timeSlider->setValue( currentTime.total_seconds() ); - _curTime->setText( boost::posix_time::to_simple_string( currentTime) ); - } - */ + _timeSlider->setValue( currentTime.total_seconds() ); + _curTime->setText( boost::posix_time::to_simple_string( currentTime) ); } void @@ -177,13 +171,14 @@ VideoMediaPlayerWidget::handleClose(void) void VideoMediaPlayerWidget::handleParametersEdit(void) { +/* + _dialog = new VideoParametersDialog("Parameters"); + _dialog->load(_currentParameters); -// _dialog = new VideoParametersDialog("Parameters"); -//TODO _dialog->load(_currentParameters); + _dialog->show(); -// _dialog->show(); - -// _dialog->finished().connect(this, &VideoMediaPlayerWidget::handleParametersDone); + _dialog->finished().connect(this, &VideoMediaPlayerWidget::handleParametersDone); + */ } void @@ -193,7 +188,7 @@ VideoMediaPlayerWidget::handleParametersDone(Wt::WDialog::DialogCode code) if (code == Wt::WDialog::Accepted) { -// TODO _dialog->save( _currentParameters ); + _dialog->save( _currentParameters ); // TODO SYNC current offset with player? // HACK use slider current value diff --git a/src/ui/video/VideoMediaPlayerWidget.hpp b/src/ui/video/VideoMediaPlayerWidget.hpp index e0e7a357..ef292c52 100644 --- a/src/ui/video/VideoMediaPlayerWidget.hpp +++ b/src/ui/video/VideoMediaPlayerWidget.hpp @@ -37,7 +37,7 @@ class VideoMediaPlayerWidget : public Wt::WContainerWidget { public: - VideoMediaPlayerWidget( Av::TranscodeParameters parameters, Wt::WContainerWidget *parent = 0); + VideoMediaPlayerWidget( const Av::MediaFile& mediaFile, Av::TranscodeParameters parameters, Wt::WContainerWidget *parent = 0); Wt::Signal& close() { return _close; }; @@ -60,6 +60,8 @@ class VideoMediaPlayerWidget : public Wt::WContainerWidget void handleParametersEdit(void); void handleParametersDone(Wt::WDialog::DialogCode); + boost::filesystem::path _currentFile; + // Core Wt::WMediaPlayer* _mediaPlayer; AvConvTranscodeStreamResource* _mediaResource; diff --git a/src/ui/video/VideoParametersDialog.cpp b/src/ui/video/VideoParametersDialog.cpp index 71c3db9b..88b578c2 100644 --- a/src/ui/video/VideoParametersDialog.cpp +++ b/src/ui/video/VideoParametersDialog.cpp @@ -17,53 +17,25 @@ * along with LMS. If not, see . */ -#include - #include #include #include #include "VideoParametersDialog.hpp" -using namespace Transcode; - namespace UserInterface { -static const std::list streamTypes = {Stream::Video, Stream::Audio, Stream::Subtitle}; +static const std::list streamTypes = {Av::Stream::Type::Video, Av::Stream::Type::Audio, Av::Stream::Type::Subtitle}; -VideoParametersDialog::VideoParametersDialog(const Wt::WString &windowTitle, Wt::WDialog* parent) +VideoParametersDialog::VideoParametersDialog(Wt::WString windowTitle, Wt::WDialog* parent) : Wt::WDialog(windowTitle, parent) { Wt::WTable* layout = new Wt::WTable(contents()); - int row = 0; - { - Wt::WLabel* label = new Wt::WLabel("Format"); - _outputFormat = new Wt::WComboBox(); - label->setBuddy(_outputFormat); - - layout->elementAt(row, 0)->addWidget(label); - layout->elementAt(row, 1)->addWidget(_outputFormat); - - _outputFormatModel = new Wt::WStringListModel(_outputFormat); - - std::vector formats ; // TODO Format::get( Format::Video ); - - for(std::size_t idFormat = 0; idFormat < formats.size(); ++idFormat) - { - _outputFormatModel->addString(formats[idFormat].getDesc()); - _outputFormatModel->setData(idFormat, 0, formats[idFormat].getEncoding(), Wt::UserRole); - } - - _outputFormat->setModel(_outputFormatModel); - - row++; - } - - createStreamWidgets("Video", Stream::Video, layout); - createStreamWidgets("Audio", Stream::Audio, layout); - createStreamWidgets("Subtitles", Stream::Subtitle, layout); + createStreamWidgets("Video", Av::Stream::Type::Video, layout); + createStreamWidgets("Audio", Av::Stream::Type::Audio, layout); + createStreamWidgets("Subtitles", Av::Stream::Type::Subtitle, layout); Wt::WPushButton *ok = new Wt::WPushButton("Apply", contents()); ok->clicked().connect(this, &Wt::WDialog::accept); @@ -73,7 +45,7 @@ VideoParametersDialog::VideoParametersDialog(const Wt::WString &windowTitle, Wt: } void -VideoParametersDialog::createStreamWidgets(const Wt::WString& labelString, Transcode::Stream::Type type, Wt::WTable* layout) +VideoParametersDialog::createStreamWidgets(const Wt::WString& labelString, Av::Stream::Type type, Wt::WTable* layout) { int row = layout->rowCount(); @@ -99,29 +71,21 @@ VideoParametersDialog::handleApply() } void -VideoParametersDialog::addStreams(Wt::WStringListModel* model, const std::vector& streams) +VideoParametersDialog::addStreams(Wt::WStringListModel* model, const std::vector& streams) { - for (std::size_t idStream = 0; idStream < streams.size(); ++idStream) + for (const Av::Stream& stream : streams) { - const Stream& stream = streams[idStream]; - - std::ostringstream oss; - if (!stream.getLanguage().empty()) - oss << "[" << stream.getLanguage() << "] "; - - oss << stream.getDesc(); - - model->addString(oss.str()); - model->setData(idStream, 0, stream.getId(), Wt::UserRole); + model->addString(stream.desc); + model->setData(model->rowCount(), 0, stream.id, Wt::UserRole); } } void -VideoParametersDialog::selectStream(const Wt::WStringListModel* model, Stream::Id streamId, Wt::WComboBox* combo) +VideoParametersDialog::selectStream(const Wt::WStringListModel* model, int streamId, Wt::WComboBox* combo) { for (int idStream = 0; idStream < model->rowCount(); ++idStream) { - Stream::Id id = boost::any_cast( model->data( model->index(idStream, 0), Wt::UserRole)); + int id = boost::any_cast( model->data( model->index(idStream, 0), Wt::UserRole)); if (id == streamId) { combo->setCurrentIndex(idStream); @@ -132,55 +96,44 @@ VideoParametersDialog::selectStream(const Wt::WStringListModel* model, Stream::I void -VideoParametersDialog::load(const Transcode::Parameters& parameters) +VideoParametersDialog::load(const Av::MediaFile& mediaFile, Av::TranscodeParameters currentParameters) { - // Select proper encoding - for (int row = 0; row < _outputFormat->count(); ++row) - { - Format::Encoding encoding = boost::any_cast( _outputFormatModel->data(_outputFormatModel->index(row,0), Wt::UserRole)); - if (encoding == parameters.getOutputFormat().getEncoding()) { - _outputFormat->setCurrentIndex(row); - break; - } - } - - // Get the current selected input streams - Parameters::StreamMap streamMap = parameters.getInputStreams();; - // Populate the combox with the available streams // And then show the selected one - BOOST_FOREACH(Stream::Type streamType, streamTypes) + for (Av::Stream::Type streamType : streamTypes) { Wt::WComboBox* combo = _streamSelection[streamType].first; Wt::WStringListModel* model = _streamSelection[streamType].second; -// TODO addStreams(model, parameters.getInputMediaFile().getStreams( streamType ) ); + addStreams(model, mediaFile.getStreams(streamType) ); - selectStream(model, streamMap[streamType], combo); + // Pre Select if necessary + std::set selectedStreams = currentParameters.getSelectedStreamIds(); + for (Av::Stream stream : mediaFile.getStreams(streamType)) + { + if (selectedStreams.find(stream.id) != selectedStreams.end()) + { + selectStream(model, stream.id, combo); + break; + } + } } - } void -VideoParametersDialog::save(Transcode::Parameters& parameters) +VideoParametersDialog::save(Av::TranscodeParameters& parameters) { - std::cout << "Grabbing user input!" << std::endl; - - // Get encoder used - Format::Encoding encoding = boost::any_cast( _outputFormatModel->data(_outputFormatModel->index(_outputFormat->currentIndex(), 0), Wt::UserRole)); -// TODO parameters.setOutputFormat( Format::get(encoding) ); - // Get stream selected, if any - BOOST_FOREACH(Stream::Type streamType, streamTypes) + for (Av::Stream::Type streamType : streamTypes) { Wt::WComboBox* combo = _streamSelection[streamType].first; Wt::WStringListModel* model = _streamSelection[streamType].second; if (combo->currentIndex() >= 0) { - Stream::Id streamId = boost::any_cast( model->data(model->index(combo->currentIndex(), 0), Wt::UserRole)); + int streamId = boost::any_cast( model->data(model->index(combo->currentIndex(), 0), Wt::UserRole)); - parameters.selectInputStream(streamType, streamId); + parameters.addStream(streamId); } } diff --git a/src/ui/video/VideoParametersDialog.hpp b/src/ui/video/VideoParametersDialog.hpp index 9f51e3ac..01219c01 100644 --- a/src/ui/video/VideoParametersDialog.hpp +++ b/src/ui/video/VideoParametersDialog.hpp @@ -27,19 +27,21 @@ #include #include +#include "av/AvTranscoder.hpp" + namespace UserInterface { class VideoParametersDialog : public Wt::WDialog { public: // parameters to be edited - VideoParametersDialog(const Wt::WString &windowTitle, Wt::WDialog* parent = 0); + VideoParametersDialog(Wt::WString windowTitle, Wt::WDialog* parent = 0); // Populates widget contents using these paramaters - void load(const Transcode::Parameters& parameters); + void load(const Av::MediaFile& mediaFile, Av::TranscodeParameters currentParameters); // Save widgets contents into these parameters - void save(Transcode::Parameters& parameters); + void save(Av::TranscodeParameters& parameters); // Signal to be emitted if parameters are changed Wt::Signal& apply() { return _apply; } @@ -49,16 +51,13 @@ class VideoParametersDialog : public Wt::WDialog void handleApply(void); // Stream handling - void createStreamWidgets(const Wt::WString& label, Transcode::Stream::Type type, Wt::WTable* layout); - void addStreams(Wt::WStringListModel* model, const std::vector& streams); - void selectStream(const Wt::WStringListModel* model, Transcode::Stream::Id streamId, Wt::WComboBox* combo); + void createStreamWidgets(const Wt::WString& label, Av::Stream::Type type, Wt::WTable* layout); + void addStreams(Wt::WStringListModel* model, const std::vector& streams); + void selectStream(const Wt::WStringListModel* model, int streamId, Wt::WComboBox* combo); Wt::Signal _apply; - Wt::WComboBox* _outputFormat; - Wt::WStringListModel* _outputFormatModel; - - std::map > _streamSelection; + std::map > _streamSelection; }; } // namespace UserInterface diff --git a/src/ui/video/VideoWidget.cpp b/src/ui/video/VideoWidget.cpp index 1ad4f4a9..bfa38d7f 100644 --- a/src/ui/video/VideoWidget.cpp +++ b/src/ui/video/VideoWidget.cpp @@ -49,52 +49,42 @@ VideoWidget::search(const std::string& searchText) void VideoWidget::playVideo(boost::filesystem::path p) { - LMS_LOG(MOD_UI, SEV_DEBUG) << "Want to play video " << p << "'"; - try { + LMS_LOG(UI, DEBUG) << "Want to play video " << p << "'"; -#if 0 - std::size_t audioBitrate = 0; - std::size_t videoBitrate = 0; + std::size_t audioBitrate = 0; + std::size_t videoBitrate = 0; - // Get user preferences - { - Wt::Dbo::Transaction transaction(DboSession()); + // Get user preferences + { + Wt::Dbo::Transaction transaction(DboSession()); - audioBitrate = CurrentUser()->getMaxAudioBitrate(); - videoBitrate = CurrentUser()->getMaxVideoBitrate(); - } - - LMS_LOG(MOD_UI, SEV_DEBUG) << "Max bitrate set to " << videoBitrate << "/" << audioBitrate; - - Transcode::InputMediaFile inputFile(p); - - Transcode::Format::Encoding encoding; - - if (Wt::WApplication::instance()->environment().agentIsChrome()) - encoding = Transcode::Format::WEBMV; - else - encoding = Transcode::Format::FLV; - - Transcode::Parameters parameters(inputFile, Transcode::Format::get(encoding)); - - // TODO, make a quality button in order to choose... - - parameters.setBitrate(Transcode::Stream::Audio, 0/*audioBitrate*/); - parameters.setBitrate(Transcode::Stream::Video, 0/*videoBitrate*/); - - VideoMediaPlayerWidget *mediaPlayer = new VideoMediaPlayerWidget(parameters, this); - mediaPlayer->close().connect(std::bind([=] () - { - _videoDbWidget->setHidden(false); - delete mediaPlayer; - })); - - _videoDbWidget->setHidden(true); -#endif - } - catch( std::exception& e) { - LMS_LOG(MOD_UI, SEV_ERROR) << "Caught exception while loading '" << p << "': " << e.what(); + audioBitrate = CurrentUser()->getMaxAudioBitrate(); + videoBitrate = CurrentUser()->getMaxVideoBitrate(); } + + LMS_LOG(UI, DEBUG) << "Max bitrate set to " << videoBitrate << "/" << audioBitrate; + + Av::MediaFile mediaFile(p); + + if (!mediaFile.open()) + return; + + if (!mediaFile.scan()) + return; + + Av::TranscodeParameters parameters; + + parameters.setEncoding( Av::Encoding::WEBMV ); + + VideoMediaPlayerWidget *mediaPlayer = new VideoMediaPlayerWidget(mediaFile, parameters, this); + + mediaPlayer->close().connect(std::bind([=] () + { + _videoDbWidget->setHidden(false); + delete mediaPlayer; + })); + + _videoDbWidget->setHidden(true); } } // namespace UserInterface diff --git a/src/ui/video/tags b/src/ui/video/tags new file mode 100644 index 00000000..5f317564 --- /dev/null +++ b/src/ui/video/tags @@ -0,0 +1,171 @@ +!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ +!_TAG_FILE_SORTED 2 /0=unsorted, 1=sorted, 2=foldcase/ +!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/ +!_TAG_PROGRAM_NAME Exuberant Ctags // +!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ +!_TAG_PROGRAM_VERSION 5.9~svn20110310 // +addDirectory /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.cpp /^VideoDatabaseWidget::addDirectory(const std::string& name, boost::filesystem::path path, size_t depth)$/;" f language:C++ class:UserInterface::VideoDatabaseWidget +addDirectory /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ void addDirectory(const std::string& name, boost::filesystem::path path, size_t depth);$/;" p language:C++ class:UserInterface::VideoDatabaseWidget +addHeader /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.cpp /^VideoDatabaseWidget::addHeader(void)$/;" f language:C++ class:UserInterface::VideoDatabaseWidget +addHeader /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ void addHeader(void);$/;" p language:C++ class:UserInterface::VideoDatabaseWidget +addStreams /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::addStreams(Wt::WStringListModel* model, const std::vector& streams)$/;" f language:C++ class:UserInterface::VideoParametersDialog +addStreams /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ void addStreams(Wt::WStringListModel* model, const std::vector& streams);$/;" p language:C++ class:UserInterface::VideoParametersDialog +addVideo /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.cpp /^VideoDatabaseWidget::addVideo(const std::string& name, const boost::posix_time::time_duration& duration, const boost::filesystem::path& path)$/;" f language:C++ class:UserInterface::VideoDatabaseWidget +addVideo /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ void addVideo(const std::string& name, const boost::posix_time::time_duration& duration, const boost::filesystem::path& path);$/;" p language:C++ class:UserInterface::VideoDatabaseWidget +apply /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ Wt::Signal& apply() { return _apply; }$/;" f language:C++ class:UserInterface::VideoParametersDialog +AvEncoding_to_WtEncoding /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^AvEncoding_to_WtEncoding(Av::Encoding encoding)$/;" f language:C++ namespace:UserInterface +backToList /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^ void backToList(void);$/;" p language:C++ class:UserInterface::VideoWidget +close /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::Signal& close() { return _close; };$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +createStreamWidgets /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::createStreamWidgets(const Wt::WString& labelString, Av::Stream::Type type, Wt::WTable* layout)$/;" f language:C++ class:UserInterface::VideoParametersDialog +createStreamWidgets /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ void createStreamWidgets(const Wt::WString& label, Av::Stream::Type type, Wt::WTable* layout);$/;" p language:C++ class:UserInterface::VideoParametersDialog +handleApply /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::handleApply()$/;" f language:C++ class:UserInterface::VideoParametersDialog +handleApply /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ void handleApply(void);$/;" p language:C++ class:UserInterface::VideoParametersDialog +handleClose /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handleClose(void)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +handleClose /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleClose(void);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +handleFullscreen /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleFullscreen(void);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +handleParametersDone /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handleParametersDone(Wt::WDialog::DialogCode code)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +handleParametersDone /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleParametersDone(Wt::WDialog::DialogCode);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +handleParametersEdit /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handleParametersEdit(void)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +handleParametersEdit /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleParametersEdit(void);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +handlePlayOffset /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handlePlayOffset(int offsetSecs)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +handlePlayOffset /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handlePlayOffset(int offsetSecs);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +handleSliderMoved /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handleSliderMoved(int value)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +handleSliderMoved /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleSliderMoved(int value);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +handleTimeUpdated /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handleTimeUpdated(void)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +handleTimeUpdated /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleTimeUpdated(void);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +handleVolumeSliderMoved /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handleVolumeSliderMoved(int value)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +handleVolumeSliderMoved /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleVolumeSliderMoved(int value);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +load /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::load(const Av::MediaFile& mediaFile, Av::TranscodeParameters parameters)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +load /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void load(const Av::MediaFile& mediaFile, Av::TranscodeParameters parameters);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +load /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::load(const Av::MediaFile& mediaFile, Av::TranscodeParameters currentParameters)$/;" f language:C++ class:UserInterface::VideoParametersDialog +load /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ void load(const Av::MediaFile& mediaFile, Av::TranscodeParameters currentParameters);$/;" p language:C++ class:UserInterface::VideoParametersDialog +playVideo /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ Wt::Signal< boost::filesystem::path >& playVideo() { return _playVideo; }$/;" f language:C++ class:UserInterface::VideoDatabaseWidget +playVideo /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.cpp /^VideoWidget::playVideo(boost::filesystem::path p)$/;" f language:C++ class:UserInterface::VideoWidget +playVideo /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^ void playVideo(boost::filesystem::path p);$/;" p language:C++ class:UserInterface::VideoWidget +save /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::save(Av::TranscodeParameters& parameters)$/;" f language:C++ class:UserInterface::VideoParametersDialog +save /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ void save(Av::TranscodeParameters& parameters);$/;" p language:C++ class:UserInterface::VideoParametersDialog +search /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.cpp /^VideoWidget::search(const std::string& searchText)$/;" f language:C++ class:UserInterface::VideoWidget +search /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^ void search(const std::string& searchText);$/;" p language:C++ class:UserInterface::VideoWidget +selectStream /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::selectStream(const Wt::WStringListModel* model, int streamId, Wt::WComboBox* combo)$/;" f language:C++ class:UserInterface::VideoParametersDialog +selectStream /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ void selectStream(const Wt::WStringListModel* model, int streamId, Wt::WComboBox* combo);$/;" p language:C++ class:UserInterface::VideoParametersDialog +streamTypes /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^static const std::list streamTypes = {Av::Stream::Type::Video, Av::Stream::Type::Audio, Av::Stream::Type::Subtitle};$/;" m language:C++ namespace:UserInterface file: +updateView /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.cpp /^VideoDatabaseWidget::updateView(boost::filesystem::path directory, size_t depth)$/;" f language:C++ class:UserInterface::VideoDatabaseWidget +updateView /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ void updateView(boost::filesystem::path directory, size_t depth);$/;" p language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.cpp /^namespace UserInterface {$/;" n language:C++ file: +UserInterface /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^namespace UserInterface {$/;" n language:C++ +UserInterface /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^namespace UserInterface {$/;" n language:C++ file: +UserInterface /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^namespace UserInterface {$/;" n language:C++ +UserInterface /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^namespace UserInterface {$/;" n language:C++ file: +UserInterface /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^namespace UserInterface {$/;" n language:C++ +UserInterface /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.cpp /^namespace UserInterface {$/;" n language:C++ file: +UserInterface /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^namespace UserInterface {$/;" n language:C++ +UserInterface::AvEncoding_to_WtEncoding /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^AvEncoding_to_WtEncoding(Av::Encoding encoding)$/;" f language:C++ namespace:UserInterface +UserInterface::streamTypes /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^static const std::list streamTypes = {Av::Stream::Type::Video, Av::Stream::Type::Audio, Av::Stream::Type::Subtitle};$/;" m language:C++ namespace:UserInterface file: +UserInterface::VideoDatabaseWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^class VideoDatabaseWidget : public Wt::WContainerWidget$/;" c language:C++ namespace:UserInterface +UserInterface::VideoDatabaseWidget::addDirectory /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.cpp /^VideoDatabaseWidget::addDirectory(const std::string& name, boost::filesystem::path path, size_t depth)$/;" f language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoDatabaseWidget::addDirectory /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ void addDirectory(const std::string& name, boost::filesystem::path path, size_t depth);$/;" p language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoDatabaseWidget::addHeader /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.cpp /^VideoDatabaseWidget::addHeader(void)$/;" f language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoDatabaseWidget::addHeader /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ void addHeader(void);$/;" p language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoDatabaseWidget::addVideo /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.cpp /^VideoDatabaseWidget::addVideo(const std::string& name, const boost::posix_time::time_duration& duration, const boost::filesystem::path& path)$/;" f language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoDatabaseWidget::addVideo /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ void addVideo(const std::string& name, const boost::posix_time::time_duration& duration, const boost::filesystem::path& path);$/;" p language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoDatabaseWidget::playVideo /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ Wt::Signal< boost::filesystem::path >& playVideo() { return _playVideo; }$/;" f language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoDatabaseWidget::updateView /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.cpp /^VideoDatabaseWidget::updateView(boost::filesystem::path directory, size_t depth)$/;" f language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoDatabaseWidget::updateView /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ void updateView(boost::filesystem::path directory, size_t depth);$/;" p language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoDatabaseWidget::VideoDatabaseWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.cpp /^VideoDatabaseWidget::VideoDatabaseWidget(Wt::WContainerWidget *parent)$/;" f language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoDatabaseWidget::VideoDatabaseWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ VideoDatabaseWidget(Wt::WContainerWidget *parent = 0);$/;" p language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoDatabaseWidget::_playVideo /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ Wt::Signal< boost::filesystem::path > _playVideo;$/;" m language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoDatabaseWidget::_table /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ Wt::WTable* _table;$/;" m language:C++ class:UserInterface::VideoDatabaseWidget +UserInterface::VideoMediaPlayerWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^class VideoMediaPlayerWidget : public Wt::WContainerWidget$/;" c language:C++ namespace:UserInterface +UserInterface::VideoMediaPlayerWidget::close /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::Signal& close() { return _close; };$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleClose /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handleClose(void)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleClose /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleClose(void);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleFullscreen /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleFullscreen(void);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleParametersDone /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handleParametersDone(Wt::WDialog::DialogCode code)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleParametersDone /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleParametersDone(Wt::WDialog::DialogCode);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleParametersEdit /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handleParametersEdit(void)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleParametersEdit /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleParametersEdit(void);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handlePlayOffset /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handlePlayOffset(int offsetSecs)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handlePlayOffset /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handlePlayOffset(int offsetSecs);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleSliderMoved /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handleSliderMoved(int value)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleSliderMoved /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleSliderMoved(int value);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleTimeUpdated /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handleTimeUpdated(void)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleTimeUpdated /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleTimeUpdated(void);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleVolumeSliderMoved /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::handleVolumeSliderMoved(int value)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::handleVolumeSliderMoved /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void handleVolumeSliderMoved(int value);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::load /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::load(const Av::MediaFile& mediaFile, Av::TranscodeParameters parameters)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::load /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ void load(const Av::MediaFile& mediaFile, Av::TranscodeParameters parameters);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::VideoMediaPlayerWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::VideoMediaPlayerWidget( const Av::MediaFile& mediaFile, Av::TranscodeParameters parameters, Wt::WContainerWidget *parent)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::VideoMediaPlayerWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ VideoMediaPlayerWidget( const Av::MediaFile& mediaFile, Av::TranscodeParameters parameters, Wt::WContainerWidget *parent = 0);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::_close /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::Signal _close;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::_currentParameters /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Av::TranscodeParameters _currentParameters;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::_curTime /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WText* _curTime;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::_dialog /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ VideoParametersDialog* _dialog;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::_duration /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WText* _duration;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::_mediaInternalLink /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WLink _mediaInternalLink;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::_mediaPlayer /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WMediaPlayer* _mediaPlayer;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::_mediaResource /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ AvConvTranscodeStreamResource* _mediaResource;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::_pauseBtn /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WPushButton* _pauseBtn;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::_playBtn /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WPushButton* _playBtn;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::_timeSlider /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WSlider* _timeSlider;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoMediaPlayerWidget::_volumeSlider /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WSlider* _volumeSlider;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +UserInterface::VideoParametersDialog /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^class VideoParametersDialog : public Wt::WDialog$/;" c language:C++ namespace:UserInterface +UserInterface::VideoParametersDialog::addStreams /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::addStreams(Wt::WStringListModel* model, const std::vector& streams)$/;" f language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::addStreams /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ void addStreams(Wt::WStringListModel* model, const std::vector& streams);$/;" p language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::apply /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ Wt::Signal& apply() { return _apply; }$/;" f language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::createStreamWidgets /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::createStreamWidgets(const Wt::WString& labelString, Av::Stream::Type type, Wt::WTable* layout)$/;" f language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::createStreamWidgets /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ void createStreamWidgets(const Wt::WString& label, Av::Stream::Type type, Wt::WTable* layout);$/;" p language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::handleApply /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::handleApply()$/;" f language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::handleApply /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ void handleApply(void);$/;" p language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::load /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::load(const Av::MediaFile& mediaFile, Av::TranscodeParameters currentParameters)$/;" f language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::load /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ void load(const Av::MediaFile& mediaFile, Av::TranscodeParameters currentParameters);$/;" p language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::save /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::save(Av::TranscodeParameters& parameters)$/;" f language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::save /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ void save(Av::TranscodeParameters& parameters);$/;" p language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::selectStream /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::selectStream(const Wt::WStringListModel* model, int streamId, Wt::WComboBox* combo)$/;" f language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::selectStream /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ void selectStream(const Wt::WStringListModel* model, int streamId, Wt::WComboBox* combo);$/;" p language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::VideoParametersDialog /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::VideoParametersDialog(Wt::WString windowTitle, Wt::WDialog* parent)$/;" f language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::VideoParametersDialog /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ VideoParametersDialog(Wt::WString windowTitle, Wt::WDialog* parent = 0);$/;" p language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::_apply /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ Wt::Signal _apply;$/;" m language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoParametersDialog::_streamSelection /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ std::map > _streamSelection;$/;" m language:C++ class:UserInterface::VideoParametersDialog +UserInterface::VideoWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^class VideoWidget : public Wt::WContainerWidget$/;" c language:C++ namespace:UserInterface +UserInterface::VideoWidget::backToList /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^ void backToList(void);$/;" p language:C++ class:UserInterface::VideoWidget +UserInterface::VideoWidget::playVideo /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.cpp /^VideoWidget::playVideo(boost::filesystem::path p)$/;" f language:C++ class:UserInterface::VideoWidget +UserInterface::VideoWidget::playVideo /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^ void playVideo(boost::filesystem::path p);$/;" p language:C++ class:UserInterface::VideoWidget +UserInterface::VideoWidget::search /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.cpp /^VideoWidget::search(const std::string& searchText)$/;" f language:C++ class:UserInterface::VideoWidget +UserInterface::VideoWidget::search /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^ void search(const std::string& searchText);$/;" p language:C++ class:UserInterface::VideoWidget +UserInterface::VideoWidget::VideoWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.cpp /^VideoWidget::VideoWidget(Wt::WContainerWidget* parent )$/;" f language:C++ class:UserInterface::VideoWidget +UserInterface::VideoWidget::VideoWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^ VideoWidget(Wt::WContainerWidget* parent = 0);$/;" p language:C++ class:UserInterface::VideoWidget +UserInterface::VideoWidget::_mediaPlayer /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^ VideoMediaPlayerWidget* _mediaPlayer;$/;" m language:C++ class:UserInterface::VideoWidget +UserInterface::VideoWidget::_videoDbWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^ VideoDatabaseWidget* _videoDbWidget;$/;" m language:C++ class:UserInterface::VideoWidget +VideoDatabaseWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.cpp /^VideoDatabaseWidget::VideoDatabaseWidget(Wt::WContainerWidget *parent)$/;" f language:C++ class:UserInterface::VideoDatabaseWidget +VideoDatabaseWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ VideoDatabaseWidget(Wt::WContainerWidget *parent = 0);$/;" p language:C++ class:UserInterface::VideoDatabaseWidget +VideoDatabaseWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^class VideoDatabaseWidget : public Wt::WContainerWidget$/;" c language:C++ namespace:UserInterface +VideoMediaPlayerWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.cpp /^VideoMediaPlayerWidget::VideoMediaPlayerWidget( const Av::MediaFile& mediaFile, Av::TranscodeParameters parameters, Wt::WContainerWidget *parent)$/;" f language:C++ class:UserInterface::VideoMediaPlayerWidget +VideoMediaPlayerWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ VideoMediaPlayerWidget( const Av::MediaFile& mediaFile, Av::TranscodeParameters parameters, Wt::WContainerWidget *parent = 0);$/;" p language:C++ class:UserInterface::VideoMediaPlayerWidget +VideoMediaPlayerWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^class VideoMediaPlayerWidget : public Wt::WContainerWidget$/;" c language:C++ namespace:UserInterface +VideoParametersDialog /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.cpp /^VideoParametersDialog::VideoParametersDialog(Wt::WString windowTitle, Wt::WDialog* parent)$/;" f language:C++ class:UserInterface::VideoParametersDialog +VideoParametersDialog /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ VideoParametersDialog(Wt::WString windowTitle, Wt::WDialog* parent = 0);$/;" p language:C++ class:UserInterface::VideoParametersDialog +VideoParametersDialog /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^class VideoParametersDialog : public Wt::WDialog$/;" c language:C++ namespace:UserInterface +VideoWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.cpp /^VideoWidget::VideoWidget(Wt::WContainerWidget* parent )$/;" f language:C++ class:UserInterface::VideoWidget +VideoWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^ VideoWidget(Wt::WContainerWidget* parent = 0);$/;" p language:C++ class:UserInterface::VideoWidget +VideoWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^class VideoWidget : public Wt::WContainerWidget$/;" c language:C++ namespace:UserInterface +VIDEO_DB_WIDGET_HPP /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp 21;" d language:C++ +VIDEO_WIDGET_HPP /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp 21;" d language:C++ +_apply /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ Wt::Signal _apply;$/;" m language:C++ class:UserInterface::VideoParametersDialog +_close /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::Signal _close;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +_currentParameters /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Av::TranscodeParameters _currentParameters;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +_curTime /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WText* _curTime;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +_dialog /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ VideoParametersDialog* _dialog;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +_duration /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WText* _duration;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +_mediaInternalLink /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WLink _mediaInternalLink;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +_mediaPlayer /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WMediaPlayer* _mediaPlayer;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +_mediaPlayer /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^ VideoMediaPlayerWidget* _mediaPlayer;$/;" m language:C++ class:UserInterface::VideoWidget +_mediaResource /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ AvConvTranscodeStreamResource* _mediaResource;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +_pauseBtn /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WPushButton* _pauseBtn;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +_playBtn /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WPushButton* _playBtn;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +_playVideo /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ Wt::Signal< boost::filesystem::path > _playVideo;$/;" m language:C++ class:UserInterface::VideoDatabaseWidget +_streamSelection /home/emericp/Documents/Progs/lms/src/ui/video/VideoParametersDialog.hpp /^ std::map > _streamSelection;$/;" m language:C++ class:UserInterface::VideoParametersDialog +_table /home/emericp/Documents/Progs/lms/src/ui/video/VideoDatabaseWidget.hpp /^ Wt::WTable* _table;$/;" m language:C++ class:UserInterface::VideoDatabaseWidget +_timeSlider /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WSlider* _timeSlider;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +_videoDbWidget /home/emericp/Documents/Progs/lms/src/ui/video/VideoWidget.hpp /^ VideoDatabaseWidget* _videoDbWidget;$/;" m language:C++ class:UserInterface::VideoWidget +_volumeSlider /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp /^ Wt::WSlider* _volumeSlider;$/;" m language:C++ class:UserInterface::VideoMediaPlayerWidget +__VIDEO_MEDIA_PLAYER_WIDGET_HPP /home/emericp/Documents/Progs/lms/src/ui/video/VideoMediaPlayerWidget.hpp 21;" d language:C++