DirectoryPlayer::DirectoryPlayer() : MusicPlayer() {
	// determine path to config file
	char tmp[FILENAME_MAX];
	fnkdat(NULL, tmp, FILENAME_MAX, FNKDAT_USER | FNKDAT_CREAT);
	std::string configfilepath(tmp);

	static const char* musicDirectoryNames[MUSIC_NUM_MUSIC_TYPES] = {   "/music/attack/",
                                                                        "/music/peace/",
                                                                        "/music/intro/",
                                                                        "/music/menu/",
                                                                        "/music/briefingA/",
                                                                        "/music/briefingO/",
                                                                        "/music/briefingH/",
                                                                        "/music/winA/",
                                                                        "/music/winO/",
                                                                        "/music/winH/",
                                                                        "/music/lose/",
                                                                        "/music/gamestats/",
                                                                        "/music/mapchoice/",
                                                                        "/music/meanwhile/",
                                                                        "/music/finaleA/",
                                                                        "/music/finaleO/",
                                                                        "/music/finaleH/"
                                                                    };

    for(int i=0;i<MUSIC_NUM_MUSIC_TYPES;i++) {
        MusicFileList[i] = getMusicFileNames(configfilepath + musicDirectoryNames[i]);
    }


	musicVolume = MIX_MAX_VOLUME/2;
    Mix_VolumeMusic(musicVolume);

	music = NULL;
}
Beispiel #2
0
int main( int argc, char * argv[] )
{
	std::string qqnumber, qqpwd;
	std::string ircnick, ircroom, ircpwd;
	std::string xmppuser, xmppserver, xmpppwd, xmpproom;
	std::string cfgfile;
	std::string logdir;
	std::string chanelmap;
	std::string mailaddr, mailpasswd, mailserver;

	setlocale( LC_ALL, "" );

	po::options_description desc( "qqbot options" );
	desc.add_options()
	( "version,v",										"output version" )
	( "help,h",											"produce help message" )
	( "daemon,d",										"go to background" )
	( "mail",		po::value<std::string>( &mailaddr ),	"send mail by this address" )
	( "mailpasswd",	po::value<std::string>( &mailpasswd ), "password of mail" )
	( "mailserver",	po::value<std::string>( &mailserver ), "server to use" )
	;

	po::variables_map vm;
	po::store( po::parse_command_line( argc, argv, desc ), vm );
	po::notify( vm );

	if( vm.count( "help" ) ) {
		std::cerr <<  desc <<  std::endl;
		return 1;
	}

	if( vm.size() == 0 ) {
		try {
			fs::path p = configfilepath();
			po::store( po::parse_config_file<char>( p.string().c_str(), desc ), vm );
			po::notify( vm );
		} catch( char* e ) {
			std::cerr << e << std::endl;
		}
	}

	boost::asio::io_service io;
	mx::smtp smtp( io, mailaddr, mailpasswd, mailserver );
	InternetMailFormat imf;

	imf.header["from"] = mailaddr;
	imf.header["to"] = "\"晕菜\" <*****@*****.**>";
	imf.header["subject"] = "test mail";
	imf.header["content-type"] = "text/plain; charset=utf8";

	imf.body = "test body dasdfasd ";
	std::stringstream maildata;
	boost::asio::streambuf buf;
	std::ostream os( &buf );
	imf_write_stream( imf, os );

	std::string _mdata = boost::asio::buffer_cast<const char*>( buf.data() );

	smtp.async_sendmail( imf, sended );
	io.run();
}