… | |
… | |
258 | } else { |
258 | } else { |
259 | # fetch from database |
259 | # fetch from database |
260 | CFPlus::DB::get res_data => $meta->{name}, sub { |
260 | CFPlus::DB::get res_data => $meta->{name}, sub { |
261 | my $rwops = new CFPlus::RW $_[0]; |
261 | my $rwops = new CFPlus::RW $_[0]; |
262 | my $chunk = new CFPlus::MixChunk $rwops |
262 | my $chunk = new CFPlus::MixChunk $rwops |
263 | or Carp::confess "sound face " . (JSON::XS::to_json $meta) . " unloadable: " . CFPlus::Mix_GetError; |
263 | or Carp::confess "sound face " . (JSON::XS::encode_json $meta) . " unloadable: " . CFPlus::Mix_GetError; |
264 | $chunk->volume (($meta->{data}{volume} || 1) * 128); |
264 | $chunk->volume (($meta->{data}{volume} || 1) * 128); |
265 | $AUDIO_CHUNK{$face} = $chunk; |
265 | $AUDIO_CHUNK{$face} = $chunk; |
266 | |
266 | |
267 | audio_sound_push ($face); |
267 | audio_sound_push ($face); |
268 | }; |
268 | }; |
… | |
… | |
1350 | my $ok = 0; |
1350 | my $ok = 0; |
1351 | |
1351 | |
1352 | CFPlus::background { |
1352 | CFPlus::background { |
1353 | my $ua = CFPlus::lwp_useragent; |
1353 | my $ua = CFPlus::lwp_useragent; |
1354 | |
1354 | |
1355 | CFPlus::background_msg CFPlus::from_json +(CFPlus::lwp_check $ua->get ($META_SERVER))->decoded_content; |
1355 | CFPlus::background_msg CFPlus::decode_json +(CFPlus::lwp_check $ua->get ($META_SERVER))->decoded_content; |
1356 | } sub { |
1356 | } sub { |
1357 | my ($msg) = @_; |
1357 | my ($msg) = @_; |
1358 | if ($msg) { |
1358 | if ($msg) { |
1359 | $table->clear; |
1359 | $table->clear; |
1360 | |
1360 | |