ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/Protocol.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/Protocol.pm (file contents):
Revision 1.118 by root, Fri Jul 13 15:44:48 2007 UTC vs.
Revision 1.119 by root, Sat Jul 14 12:05:53 2007 UTC

67 $chksum = unpack "H*", $chksum; 67 $chksum = unpack "H*", $chksum;
68 $self->{music_map}{$face} = $chksum; 68 $self->{music_map}{$face} = $chksum;
69 69
70 # check if already cached 70 # check if already cached
71 CFPlus::DB::get "res-metadata" => $chksum, sub { 71 CFPlus::DB::get "res-metadata" => $chksum, sub {
72 my ($meta) = @_; 72 my ($meta_json) = @_;
73 73
74 if (defined $meta) { 74 if (defined $meta_json) {
75 $self->{music_meta}{$chksum} = $self->{json_coder}->decode ($meta); 75 my $meta = $self->{json_coder}->decode ($meta_json);
76 $meta->{path} = CFPlus::DB::path_of_res $chksum;
77 $self->{music_meta}{$chksum} = $meta;
76 } else { 78 } else {
77 ::message ({ markup => "starting to download song #$face/$pri, check your output-rate setting if your connection gets laggy." }); 79 ::message ({ markup => "starting to download song #$face/$pri, check your output-rate setting if your connection gets laggy." });
78 $self->ask_face ($face, -100 - $pri, undef, sub { 80 $self->ask_face ($face, -100 - $pri, undef, sub {
79 my $len = length $_[1]; 81 my $len = length $_[1];
80 my ($meta, $data) = unpack "(w/a*)*", $_[1]; 82 my ($meta_json, $data) = unpack "(w/a*)*", $_[1];
81 83
84 my $meta = $self->{json_coder}->decode ($meta_json);
85 $meta->{path} = CFPlus::DB::path_of_res $chksum;
86 $self->{music_meta}{$chksum} = $meta;
87
82 CFPlus::DB::write_file $chksum, $data, sub { }; 88 CFPlus::DB::write_file $meta->{path}, $data, sub { };
83 CFPlus::DB::put "res-metadata" => $chksum => $meta, sub { }; 89 CFPlus::DB::put "res-metadata" => $chksum => $meta_json, sub { };
84 90
85 $self->{music_meta}{$chksum} = $self->{json_coder}->decode ($meta);
86 ::message ({ markup => "downloaded song #$face, size $len octets" }); 91 ::message ({ markup => "downloaded song #$face, size $len octets" });
87
88 &::audio_music_set ($self->{songs});
89 }); 92 });
90 } 93 }
94
95 &::audio_music_set ($self->{songs});
91 } 96 }
92 } 97 }
93 } 98 }
94 99
95 if (my $play = $ev->{play}) { 100 if (my $play = $ev->{play}) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines