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 } | 
