… | |
… | |
48 | sort { (length $a) <=> (length $b) } |
48 | sort { (length $a) <=> (length $b) } |
49 | @args |
49 | @args |
50 | } sort { $a->{par} <=> $b->{par} } |
50 | } sort { $a->{par} <=> $b->{par} } |
51 | CFPlus::Pod::find command => "*"; |
51 | CFPlus::Pod::find command => "*"; |
52 | |
52 | |
53 | $self->connect_ext (music => sub { |
53 | $self->connect_ext (ambient_music => sub { |
54 | my ($ev) = @_; |
54 | my ($songs) = @_; |
55 | |
|
|
56 | &::audio_music_set_ambient ($self->{songs} = $ev->{ambient}) |
55 | &::audio_music_set_ambient ($songs); |
57 | if $ev->{ambient}; |
|
|
58 | }); |
56 | }); |
59 | |
57 | |
60 | $self->connect_ext (capabilities => sub { |
58 | $self->connect_ext (capabilities => sub { |
61 | my (%cap) = @_; |
59 | my (%cap) = @_; |
62 | |
60 | |
… | |
… | |
758 | $self->{music_meta}{$facenum} = $face; |
756 | $self->{music_meta}{$facenum} = $face; |
759 | |
757 | |
760 | ::message ({ markup => "downloaded song #$facenum" }) |
758 | ::message ({ markup => "downloaded song #$facenum" }) |
761 | if $changed; |
759 | if $changed; |
762 | |
760 | |
763 | &::audio_music_set_ambient ($self->{songs}); |
761 | &::audio_music_push ($facenum); |
764 | }; |
762 | }; |
765 | } elsif ($face->{type} == 5) { # FT_SOUND |
763 | } elsif ($face->{type} == 5) { # FT_SOUND |
766 | $cb = sub { |
764 | $cb = sub { |
767 | $self->{sound_meta}{$facenum} = $face; |
765 | $self->{sound_meta}{$facenum} = $face; |
768 | |
766 | |
… | |
… | |
777 | my ($meta_json, $data) = unpack "(w/a*)*", delete $face->{data}; |
775 | my ($meta_json, $data) = unpack "(w/a*)*", delete $face->{data}; |
778 | |
776 | |
779 | CFPlus::DB::put res_data => $face->{name} => $data, sub { }; |
777 | CFPlus::DB::put res_data => $face->{name} => $data, sub { }; |
780 | CFPlus::DB::put res_meta => $face->{name} => $meta_json, sub { |
778 | CFPlus::DB::put res_meta => $face->{name} => $meta_json, sub { |
781 | $face->{meta} = $self->{json_coder}->decode ($meta_json); |
779 | $face->{meta} = $self->{json_coder}->decode ($meta_json); |
|
|
780 | ::add_license ($face); |
782 | $cb->(); |
781 | $cb->(); |
783 | }; |
782 | }; |
784 | |
783 | |
785 | } else { |
784 | } else { |
786 | $face->{meta} = $self->{json_coder}->decode (delete $face->{data}); |
785 | $face->{meta} = $self->{json_coder}->decode (delete $face->{data}); |
|
|
786 | ::add_license ($face); |
787 | $cb->(); |
787 | $cb->(); |
788 | } |
788 | } |
789 | } |
789 | } |
790 | } |
790 | } |
791 | |
791 | |