/* ------------------------------------------------------------- From KDE Tuberling mailto:e.bischoff@noos.fr ------------------------------------------------------------- */ /* * Copyright (C) 2001 Eric Bischoff 2004-2006 Anne-Marie Mahfouf This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _SOUNDFACTORY_H_ #define _SOUNDFACTORY_H_ #include class KLettres; /** * This class manages the sounds toplay in KLettres, reading the data about the sounds * in the sounds.xml file which is in /data. * * @short Sounds factory class: find and play the right sound. * @author Anne-Marie Mahfouf * @version 1.1 */ class SoundFactory : public TQObject { Q_OBJECT public: SoundFactory(KLettres *parent, const char *name); ~SoundFactory(); ///Call the main instance of the program KLettres *klettres; ///Change the language when the user changes the language in the Languages menu void change(TQString currentLanguage); ///Play the sound associated to int soundRef void playSound(int ) ; ///Number of sounds corresponding to the current language and level (alphabet or syllables) uint sounds; ///List of sound names TQStringList namesList; ///List of sound files associated with each sound name TQStringList filesList; /** * Load the sounds of one given language * Call that when you read the language from Config and when the language changes * or when the level changes */ bool loadLanguage(TQDomDocument &layoutDocument, TQString currentLanguage); ///The language document TQDomDocument m_layoutsDocument; private: ///Report a load failure void loadFailure(); }; #endif