29 lines
964 B
Python
29 lines
964 B
Python
import os
|
|
|
|
def parse_samples(file_path, track):
|
|
track_name = track.attrib.get('name', 'N/A')
|
|
|
|
sample_info = {}
|
|
sample_name = None
|
|
|
|
sampletrack = track.find('./sampletrack')
|
|
if sampletrack is not None:
|
|
sample_info['pan'] = sampletrack.attrib.get('pan', '')
|
|
sample_info['vol'] = sampletrack.attrib.get('vol', '')
|
|
|
|
sampletco = track.find('./sampletco')
|
|
if sampletco is not None:
|
|
sample_info['src'] = sampletco.attrib.get('src', '')
|
|
sample_info['len'] = sampletco.attrib.get('len', '')
|
|
sample_info['sample_rate'] = sampletco.attrib.get('sample_rate', '')
|
|
sample_info['pos'] = sampletco.attrib.get('pos', '')
|
|
sample_info['muted'] = sampletco.attrib.get('muted', '')
|
|
sample_name = os.path.basename(sample_info['src'])
|
|
|
|
return {
|
|
'track_name': track_name,
|
|
'sample_name': sample_name,
|
|
'type': 'sample',
|
|
'sample_info': sample_info,
|
|
}
|