bool SamplePlayer::_set(const StringName& p_name, const Variant& p_value) { String name=p_name; if (name=="play/play") { if (library.is_valid()) { String what=p_value; if (what=="") stop_all(); else play(what); played_back=what; } } else if (name=="config/samples") set_sample_library(p_value); else if (name=="config/voices") set_voice_count(p_value); else if (name.begins_with("default/")) { String what=name.right(8); if (what=="volume_db") set_default_volume_db(p_value); else if (what=="pitch_scale") set_default_pitch_scale(p_value); else if (what=="pan") _default.pan=p_value; else if (what=="depth") _default.depth=p_value; else if (what=="height") _default.height=p_value; else if (what=="filter/type") _default.filter_type=FilterType(p_value.operator int()); else if (what=="filter/cutoff") _default.filter_cutoff=p_value; else if (what=="filter/resonance") _default.filter_resonance=p_value; else if (what=="filter/gain") _default.filter_gain=p_value; else if (what=="reverb_room") _default.reverb_room=ReverbRoomType(p_value.operator int()); else if (what=="reverb_send") _default.reverb_send=p_value; else if (what=="chorus_send") _default.chorus_send=p_value; else return false; } else return false; return true; }
void testFilter() { Store store_comp; std::vector<byte> data; uint32_t size = (rand() * 7654321 + rand()) % kDataSize; for (uint32_t i = 0; i < size; ++i) { data.push_back(rand() % 256); } std::vector<byte> out_data; store_comp.compress(&FilterType(&ReadMemoryStream(&data)), &WriteVectorStream(&out_data), std::numeric_limits<uint64_t>::max()); std::vector<byte> result; WriteVectorStream wvs(&result); FilterType reverse_filter(&wvs); store_comp.decompress(&ReadMemoryStream(&out_data), &reverse_filter, std::numeric_limits<uint64_t>::max()); reverse_filter.flush(); // Check tht the shit matches. check(result.size() == data.size()); for (uint32_t i = 0; i < data.size(); ++i) { byte a = result[i]; byte b = data[i]; check(a == b); } }
void Filter::on_filterComboBox_currentIndexChanged(int index) { currentFilter = FilterType(index); applyFilter(); }