mmpSearch/scripts/handler/samples/samples.py

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