void Upload::generatePayload(std::ostream& out) { generateTextField(out, "screenname", mUserName); generateTextField(out, "password", mPassword); generateTextField(out, "agent", "ContextFree"); generateTextField(out, "title", mTitle); generateFileField(out, "cfdgfile", mText, mTextLen, mFileName); generateFileField(out, "imagefile", mImage, mImageLen, "image.png"); generateTextField(out, "compression", compressionName(mCompression)); generateTextField(out, "cc_js_result_uri", mccLicenseURI); generateTextField(out, "cc_js_result_name", mccLicenseName); generateTextField(out, "cc_js_result_img", mccLicenseImage); if (mccLicenseURI.length()) generateTextField(out, "cc_js_want_cc_license", "sure"); if (mTiled) generateTextField(out, "tiled", "on"); generateTextField(out, "tiledtype", (char)(mTiled + '0')); generateTextField(out, "variation", variationName(mVariation)); generateTextField(out, "notes", mNotes); // generateTextField(out, "submit", "Upload!"); generateMimeFooter(out); }
bool CommunicationVoiceLibrary::GetVoice(VoiceLibraryID libraryID, const char* name, const char*& libraryPath, const char*& voiceName) { stack_string variationName(name); variationName.MakeLower(); VoiceLibraries::iterator it = m_libraries.find(libraryID); if (it == m_libraries.end()) return false; VoiceLibrary& library = it->second; VoiceGroups::iterator git = library.voiceGroups.find(variationName.c_str()); if (git == library.voiceGroups.end()) return false; VoiceGroup& voiceGroup = git->second; uint32 variationCount = voiceGroup.variations.size(); if (!variationCount) return false; uint32 variation = 0; if (variationCount > 1) { m_randomPool.clear(); for (uint32 i = 0; i < variationCount; ++i) { if ((voiceGroup.history.played & (1 << i)) == 0) m_randomPool.push_back(i); } uint32 size = m_randomPool.size(); assert(!m_randomPool.empty()); variation = m_randomPool[Random(size)]; assert(variation < voiceGroup.variations.size()); voiceGroup.history.played |= 1 << variation; if ((voiceGroup.history.played & ((1 << variationCount) - 1)) == voiceGroup.history.played) voiceGroup.history.played = 1 << variation; } if (!library.base.empty()) libraryPath = library.base.c_str(); const string& variationVoiceName = voiceGroup.variations[variation]; if (!variationVoiceName.empty()) voiceName = variationVoiceName.c_str(); return true; }