From 550f84e02cc071837946f897cdd3916feae95f06 Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Tue, 23 Feb 2010 15:27:00 +0000 Subject: [PATCH] loop option (from config file) git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1630 8eb893ce-cfd4-0310-b710-fb5ebe64c474 --- apps/announcement/Announcement.cpp | 8 +++++++- apps/announcement/Announcement.h | 1 + apps/announcement/etc/announcement.conf | 6 ++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/apps/announcement/Announcement.cpp b/apps/announcement/Announcement.cpp index c3ec8d08..56aff239 100644 --- a/apps/announcement/Announcement.cpp +++ b/apps/announcement/Announcement.cpp @@ -39,6 +39,7 @@ EXPORT_SESSION_FACTORY(AnnouncementFactory,MOD_NAME); string AnnouncementFactory::AnnouncePath; string AnnouncementFactory::AnnounceFile; +bool AnnouncementFactory::Loop = false; AnnouncementFactory::AnnouncementFactory(const string& _app_name) : AmSessionFactory(_app_name) @@ -68,6 +69,8 @@ int AnnouncementFactory::onLoad() return -1; } + Loop = cfg.getParameter("loop") == "true"; + return 0; } @@ -158,7 +161,10 @@ void AnnouncementDialog::startSession(){ ERROR("Couldn't open file %s.\n", filename.c_str()); throw string("AnnouncementDialog::onSessionStart: Cannot open file\n"); } - + + if (AnnouncementFactory::Loop) + wav_file.loop.set(true); + setOutput(&wav_file); } diff --git a/apps/announcement/Announcement.h b/apps/announcement/Announcement.h index 5e2b6392..b6a71df1 100644 --- a/apps/announcement/Announcement.h +++ b/apps/announcement/Announcement.h @@ -46,6 +46,7 @@ class AnnouncementFactory: public AmSessionFactory public: static string AnnouncePath; static string AnnounceFile; + static bool Loop; AnnouncementFactory(const string& _app_name); diff --git a/apps/announcement/etc/announcement.conf b/apps/announcement/etc/announcement.conf index 584982b2..6b4c82ab 100644 --- a/apps/announcement/etc/announcement.conf +++ b/apps/announcement/etc/announcement.conf @@ -5,3 +5,9 @@ announce_path=/usr/local/lib/sems/audio/ #CFGOPTION_SEMS_ANNOUNCEMENT default_announce=default_en.wav #ENDCFGOPTION + +# optional parameter: loop +# set to "true" to make the announcement loop +# (indefinitely) +# +# loop=true