Mercurial > web
comparison js/chiptune2.js @ 70:629553bdc8aa
music: fix metadata fetching in chiptune2.js
turns out the function for getting ascii strings was deprecated, and now
I have to use a custom build of libopenmpt because there's no other way to do it.
YAY!
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Sat, 30 Sep 2023 02:32:41 -0400 |
parents | e6c574c6f8e0 |
children |
comparison
equal
deleted
inserted
replaced
69:2e645b936727 | 70:629553bdc8aa |
---|---|
83 ChiptuneJsPlayer.prototype.metadata = function() { | 83 ChiptuneJsPlayer.prototype.metadata = function() { |
84 var data = {}; | 84 var data = {}; |
85 var keys = UTF8ToString(libopenmpt._openmpt_module_get_metadata_keys(this.currentPlayingNode.modulePtr)).split(';'); | 85 var keys = UTF8ToString(libopenmpt._openmpt_module_get_metadata_keys(this.currentPlayingNode.modulePtr)).split(';'); |
86 var keyNameBuffer = 0; | 86 var keyNameBuffer = 0; |
87 for (var i = 0; i < keys.length; i++) { | 87 for (var i = 0; i < keys.length; i++) { |
88 keyNameBuffer = libopenmpt._malloc(keys[i].length + 1); | 88 keyNameBuffer = libopenmpt._malloc(libopenmpt.lengthBytesUTF8(keys[i])+1); |
89 writeAsciiToMemory(keys[i], keyNameBuffer); | 89 libopenmpt.stringToUTF8(keys[i], keyNameBuffer, libopenmpt.lengthBytesUTF8(keys[i])+1); |
90 data[keys[i]] = UTF8ToString(libopenmpt._openmpt_module_get_metadata(this.currentPlayingNode.modulePtr, keyNameBuffer)); | 90 data[keys[i]] = UTF8ToString(libopenmpt._openmpt_module_get_metadata(this.currentPlayingNode.modulePtr, keyNameBuffer)); |
91 libopenmpt._free(keyNameBuffer); | 91 libopenmpt._free(keyNameBuffer); |
92 } | 92 } |
93 return data; | 93 return data; |
94 } | 94 } |