gstreamer/ges/parse.l
Thibault Saunier 6c5daf8c81 command-line-formatter: Add track management to timeline description
Instead of having it all handled by the tool, this way we can
set the restriction before clips are added to the timeline,
leading to better behavior in term of video images placement
in the scene.

Without that we would have the clips positioned before setting the
restriction caps which leads to weird behavior for the end users.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-09 18:11:05 -03:00

56 lines
1.2 KiB
Text

%{
#include "ges-structure-parser.h"
%}
%option noyywrap
%option nounput
%option reentrant
%option extra-type="GESStructureParser *"
%option never-interactive
%option noinput
%option nounistd
CLIP [ ]+\+clip[ ]+
TEST_CLIP [ ]+\+test-clip[ ]+
TRANSITION [ ]+\+transition[ ]+
EFFECT [ ]+\+effect[ ]+
TITLE [ ]+\+title[ ]+
TRACK [ ]+\+track[ ]+
SETTER [ ]+set-[^ ]+[ ]+
STRING \"(\\.|[^"])*\"
/* A value string, as understood by gst_structure_from_string
* Characters are from GST_ASCII_IS_STRING
* NOTE: character set is *not* supposed to be locale dependent */
VALUE {STRING}|([abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_+/:.-]+)
%%
={VALUE} {
ges_structure_parser_parse_value (yyextra, yytext);
}
{STRING} {
ges_structure_parser_parse_string (yyextra, yytext, FALSE);
}
{TRACK}|{CLIP}|{TRANSITION}|{EFFECT}|{TEST_CLIP}|{TITLE} {
ges_structure_parser_parse_symbol (yyextra, yytext);
}
{SETTER} {
ges_structure_parser_parse_setter (yyextra, yytext);
}
[ \t\n]+ {
ges_structure_parser_parse_whitespace (yyextra);
}
. {
/* add everything else */
ges_structure_parser_parse_default (yyextra, yytext);
}
%%