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