better temp

This commit is contained in:
NATURESPEAK 2022-04-04 10:49:14 +02:00
parent b4c923408e
commit b9249ed7af
3 changed files with 20 additions and 7 deletions

View File

@ -1,4 +1,5 @@
#include "Voice.h"
#include <sstream>
void Voice::setup(Receiver &receiver)
{
@ -6,6 +7,11 @@ void Voice::setup(Receiver &receiver)
_tex = gl::TextureFont::create(_font);
_tex_name = gl::TextureFont::create(_font);
std::ostringstream out;
out.precision(2);
out << std::fixed << _temperature;
_temperature_str = out.str();
/*- NET -*/
receiver.setListener(_channel + "/utterance",
[&](const osc::Message &m){
@ -37,7 +43,13 @@ void Voice::setup(Receiver &receiver)
[&](const osc::Message &m){
std::lock_guard<std::mutex> lock(_temperatue_mutex);
float t = m[0].flt();
if(_temperature != t) _temperature = t;
if(_temperature != t) {
_temperature = t;
std::ostringstream out;
out.precision(2);
out << std::fixed << _temperature;
_temperature_str = out.str();
}
});
@ -113,10 +125,7 @@ void Voice::update()
void Voice::draw(Rectf &bounds, bool name, bool debug)
{
// gl::color(_color);
if(name && debug) {
_tex_name->drawStringWrapped(_name + " " + std::to_string(_temperature), bounds);
}
if(name && debug) _tex_name->drawStringWrapped(_name + " " + _temperature_str, bounds);
else if(name) _tex_name->drawStringWrapped(_name, bounds);
_tex->drawStringWrapped(_utterance, bounds + _offset);

View File

@ -25,7 +25,7 @@ using Receiver = osc::ReceiverUdp;
/*- Voice -*/
class Voice {
public:
Voice(std::string name, std::string channel, std::string font, int size, ColorA8u color, ColorA8u background, Rectf bounds, std::function<void(Voice*)> utterance_cb, std::function<void(Voice*)> change_cb)
Voice(std::string name, std::string channel, std::string font, int size, ColorA8u color, ColorA8u background, float temp, Rectf bounds, std::function<void(Voice*)> utterance_cb, std::function<void(Voice*)> change_cb)
: _name(name),
_channel(channel),
_utterance(name),
@ -33,6 +33,7 @@ public:
_size(size),
_color(color),
_background(background),
_temperature(temp),
_bounds(bounds),
_offset(vec2(0)),
_utterance_cb(utterance_cb),
@ -55,6 +56,7 @@ public:
int _size;
bool _update_font = false;
float _temperature;
std::string _temperature_str;
gl::TextureFontRef _tex;
gl::TextureFontRef _tex_name;

View File

@ -115,6 +115,8 @@ void VoiceMachineApp::stage_config()
ColorA8u color = ColorA8u::hexA(std::stoul(hexcolor, nullptr, 16));
std::string hexbackground = voice["background"].getValue();
ColorA background = ColorA::hexA(std::stoul(hexbackground, nullptr, 16));
std::string tempstr = voice["model"]["temperature"].getValue();
float temp = std::stof(tempstr);
std::function<void(Voice*)> utterance_cb = [=](Voice* v) {
this->utterance(v);
@ -124,7 +126,7 @@ void VoiceMachineApp::stage_config()
this->change(v);
};
Voice* v = new Voice(name, channel, font, size, color, background, bounds, utterance_cb, change_cb);
Voice* v = new Voice(name, channel, font, size, color, background, temp, bounds, utterance_cb, change_cb);
_map_voices[name] = v;
}