From d3216170f2de525034bb0a45deb3f136195155a6 Mon Sep 17 00:00:00 2001 From: lilo_booter Date: Sun, 31 Oct 2004 15:30:43 +0000 Subject: [PATCH] Added courtesy tokenising class git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt++@496 d19143bc-622f-0410-bfdd-b5b2a6649095 --- mlt++/src/Makefile | 1 + mlt++/src/Mlt.h | 1 + mlt++/src/MltTokeniser.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++ mlt++/src/MltTokeniser.h | 43 +++++++++++++++++++++++++++++++++ mlt++/test/server.cpp | 2 + 5 files changed, 103 insertions(+), 0 deletions(-) create mode 100644 mlt++/src/MltTokeniser.cpp create mode 100644 mlt++/src/MltTokeniser.h diff --git a/mlt++/src/Makefile b/mlt++/src/Makefile index 79601d6..a04ea5a 100644 --- a/mlt++/src/Makefile +++ b/mlt++/src/Makefile @@ -20,6 +20,7 @@ OBJS = MltConsumer.o \ MltProperties.o \ MltResponse.o \ MltService.o \ + MltTokeniser.o \ MltTractor.o \ MltTransition.o diff --git a/mlt++/src/Mlt.h b/mlt++/src/Mlt.h index 820354e..0b76913 100644 --- a/mlt++/src/Mlt.h +++ b/mlt++/src/Mlt.h @@ -36,6 +36,7 @@ #include "MltProperties.h" #include "MltResponse.h" #include "MltService.h" +#include "MltTokeniser.h" #include "MltTractor.h" #include "MltTransition.h" diff --git a/mlt++/src/MltTokeniser.cpp b/mlt++/src/MltTokeniser.cpp new file mode 100644 index 0000000..ed1287d --- /dev/null +++ b/mlt++/src/MltTokeniser.cpp @@ -0,0 +1,56 @@ +/** + * MltTokeniser.cpp - MLT Wrapper + * Copyright (C) 2004-2005 Charles Yates + * Author: Charles Yates + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include "MltTokeniser.h" +using namespace Mlt; + +Tokeniser::Tokeniser( char *text, char *delimiter ) +{ + tokens = mlt_tokeniser_init( ); + if ( text != NULL ) + mlt_tokeniser_parse_new( tokens, text, delimiter ); +} + +Tokeniser::~Tokeniser( ) +{ + mlt_tokeniser_close( tokens ); +} + +int Tokeniser::parse( char *text, char *delimiter ) +{ + return mlt_tokeniser_parse_new( tokens, text, delimiter ); +} + +int Tokeniser::count( ) +{ + return mlt_tokeniser_count( tokens ); +} + +char *Tokeniser::get( int index ) +{ + return mlt_tokeniser_get_string( tokens, index ); +} + +char *Tokeniser::input( ) +{ + return mlt_tokeniser_get_input( tokens ); +} + diff --git a/mlt++/src/MltTokeniser.h b/mlt++/src/MltTokeniser.h new file mode 100644 index 0000000..f3d127e --- /dev/null +++ b/mlt++/src/MltTokeniser.h @@ -0,0 +1,43 @@ +/** + * MltTokeniser.h - MLT Wrapper + * Copyright (C) 2004-2005 Charles Yates + * Author: Charles Yates + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef _MLTPP_TOKENISER_H +#define _MLTPP_TOKENISER_H + +#include + +namespace Mlt +{ + class Tokeniser + { + private: + mlt_tokeniser tokens; + public: + Tokeniser( char *text = NULL, char *delimiter = " " ); + ~Tokeniser( ); + int parse( char *text, char *delimiter = " " ); + int count( ); + char *get( int index ); + char *input( ); + }; +} + +#endif + diff --git a/mlt++/test/server.cpp b/mlt++/test/server.cpp index b613302..21a6ce3 100644 --- a/mlt++/test/server.cpp +++ b/mlt++/test/server.cpp @@ -5,6 +5,8 @@ int main( int argc, char **argv ) { Miracle server( "miracle++" ); server.start( ); + server.execute( "uadd sdl" ); + server.execute( "play u0" ); server.wait_for_shutdown( ); return 0; } -- 1.7.4.4