2023-07-23 11:01:50 +02:00
|
|
|
#ifndef _LAYOUTS_UTIL_H
|
|
|
|
#define _LAYOUTS_UTIL_H
|
|
|
|
|
|
|
|
#include "../vgmstream.h"
|
|
|
|
|
2023-10-14 12:55:19 +02:00
|
|
|
typedef VGMSTREAM* (*init_vgmstream_t)(STREAMFILE*);
|
|
|
|
|
|
|
|
/* add a new layer from subfile (setups layout if needed) */
|
|
|
|
bool layered_add_subfile(VGMSTREAM* vs, int layers, int layer_channels, STREAMFILE* sf, uint32_t offset, uint32_t size, const char* ext, init_vgmstream_t init_vgmstream);
|
|
|
|
|
2023-10-14 19:49:17 +02:00
|
|
|
|
|
|
|
/* add a new layer from base vgmstream (setups layout if needed) */
|
|
|
|
bool layered_add_sf(VGMSTREAM* vs, int layers, int layer_channels, STREAMFILE* sf);
|
|
|
|
|
2023-07-23 11:01:50 +02:00
|
|
|
/* add a new layer from codec data (setups layout if needed)
|
|
|
|
* codec is passed in the vs for easier free/etc control */
|
|
|
|
bool layered_add_codec(VGMSTREAM* vs, int layers, int layer_channels);
|
|
|
|
|
|
|
|
/* call when done adding layers */
|
|
|
|
bool layered_add_done(VGMSTREAM* vs);
|
|
|
|
#endif
|