mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-19 14:19:57 +01:00
BugFix Accept empty string to create Text source
This commit is contained in:
@@ -444,10 +444,14 @@ Source *Mixer::createSourceText(const std::string &contents, glm::ivec2 res)
|
|||||||
s->setContents(contents, res);
|
s->setContents(contents, res);
|
||||||
|
|
||||||
// propose a new name based on contents
|
// propose a new name based on contents
|
||||||
std::string basestring = BaseToolkit::transliterate(contents);
|
std::string basestring = "Text";
|
||||||
basestring = BaseToolkit::splitted(basestring, '\n').front();
|
if (contents.size() > 1) {
|
||||||
if (SystemToolkit::file_exists(basestring))
|
basestring = BaseToolkit::transliterate(contents);
|
||||||
basestring = SystemToolkit::base_filename(basestring);
|
if (SystemToolkit::file_exists(basestring))
|
||||||
|
basestring = SystemToolkit::base_filename(basestring);
|
||||||
|
else
|
||||||
|
basestring = BaseToolkit::splitted(basestring, '\n').front();
|
||||||
|
}
|
||||||
s->setName( basestring );
|
s->setName( basestring );
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
|
|||||||
@@ -220,24 +220,22 @@ void TextContents::open(const std::string &text, glm::ivec2 res)
|
|||||||
{
|
{
|
||||||
std::string gstreamer_pattern
|
std::string gstreamer_pattern
|
||||||
= "videotestsrc pattern=black background-color=0x00000000 ! "
|
= "videotestsrc pattern=black background-color=0x00000000 ! "
|
||||||
"textoverlay text=\"! no text !\" halignment=center valignment=center ";
|
"textoverlay text=\"\" halignment=center valignment=center ";
|
||||||
|
|
||||||
if (!text.empty() && text_.compare(text) != 0) {
|
// set text
|
||||||
// set text
|
text_ = text;
|
||||||
text_ = text;
|
// test if text is the filename of a subtitle
|
||||||
// test if text is the filename of a subtitle
|
if (TextContents::SubtitleDiscoverer(text_)) {
|
||||||
if (TextContents::SubtitleDiscoverer(text_)) {
|
// setup a pipeline that reads the file and parses subtitle
|
||||||
// setup a pipeline that reads the file and parses subtitle
|
// Log::Info("Using %s as subtitle file", text.c_str());
|
||||||
// Log::Info("Using %s as subtitle file", text.c_str());
|
gstreamer_pattern = "filesrc name=src ! subparse ! queue ! txt. ";
|
||||||
gstreamer_pattern = "filesrc name=src ! subparse ! queue ! txt. ";
|
} else {
|
||||||
} else {
|
// else, setup a pipeline with custom appsrc
|
||||||
// else, setup a pipeline with custom appsrc
|
// Log::Info("Using '%s' as raw text content", text.c_str());
|
||||||
// Log::Info("Using '%s' as raw text content", text.c_str());
|
gstreamer_pattern = "";
|
||||||
gstreamer_pattern = "";
|
|
||||||
}
|
|
||||||
gstreamer_pattern += "videotestsrc name=bg pattern=black background-color=0x00000000 ! "
|
|
||||||
"textoverlay name=txt ";
|
|
||||||
}
|
}
|
||||||
|
gstreamer_pattern += "videotestsrc name=bg pattern=black background-color=0x00000000 ! "
|
||||||
|
"textoverlay name=txt ";
|
||||||
|
|
||||||
// (private) open stream
|
// (private) open stream
|
||||||
Stream::open(gstreamer_pattern, res.x, res.y);
|
Stream::open(gstreamer_pattern, res.x, res.y);
|
||||||
|
|||||||
Reference in New Issue
Block a user