libptformat: Add ability to reuse object && add path to ptf to api
This commit is contained in:
parent
b60e9f7df9
commit
feb2763a8a
|
@ -76,13 +76,27 @@ hexdump(uint8_t *data, int len)
|
|||
}
|
||||
}
|
||||
|
||||
PTFFormat::PTFFormat() : version(0), product(NULL) {
|
||||
PTFFormat::PTFFormat() : version(0), product(NULL), ptfunxored(NULL) {
|
||||
}
|
||||
|
||||
PTFFormat::~PTFFormat() {
|
||||
cleanup();
|
||||
}
|
||||
|
||||
void
|
||||
PTFFormat::cleanup(void) {
|
||||
if (ptfunxored) {
|
||||
free(ptfunxored);
|
||||
ptfunxored = NULL;
|
||||
}
|
||||
audiofiles.clear();
|
||||
regions.clear();
|
||||
midiregions.clear();
|
||||
compounds.clear();
|
||||
tracks.clear();
|
||||
miditracks.clear();
|
||||
version = 0;
|
||||
product = NULL;
|
||||
}
|
||||
|
||||
int64_t
|
||||
|
@ -236,7 +250,10 @@ PTFFormat::unxor(std::string path) {
|
|||
-1 could not parse pt session
|
||||
*/
|
||||
int
|
||||
PTFFormat::load(std::string path, int64_t targetsr) {
|
||||
PTFFormat::load(std::string ptf, int64_t targetsr) {
|
||||
cleanup();
|
||||
path = ptf;
|
||||
|
||||
if (unxor(path))
|
||||
return -1;
|
||||
|
||||
|
|
|
@ -147,7 +147,7 @@ public:
|
|||
int64_t targetrate;
|
||||
uint8_t version;
|
||||
uint8_t *product;
|
||||
|
||||
std::string path;
|
||||
|
||||
unsigned char c0;
|
||||
unsigned char c1;
|
||||
|
@ -163,6 +163,7 @@ private:
|
|||
bool parse_version();
|
||||
uint8_t gen_xor_delta(uint8_t xor_value, uint8_t mul, bool negative);
|
||||
void setrates(void);
|
||||
void cleanup(void);
|
||||
void parse5header(void);
|
||||
void parse7header(void);
|
||||
void parse8header(void);
|
||||
|
|
Loading…
Reference in New Issue