@@ -63,16 +63,17 @@ pub fn parse_module(module: &Module) -> agb_tracker_interop::Track {
6363 let volume = Num :: from_f32 ( sample. volume ) ;
6464
6565 let sample = match & sample. data {
66- SampleDataType :: Depth8 ( depth8) => depth8
66+ SampleDataType :: Mono8 ( depth8) => depth8
6767 . iter ( )
6868 . map ( |value| * value as u8 )
6969 . take ( sample_len)
7070 . collect :: < Vec < _ > > ( ) ,
71- SampleDataType :: Depth16 ( depth16) => depth16
71+ SampleDataType :: Mono16 ( depth16) => depth16
7272 . iter ( )
7373 . map ( |sample| ( sample >> 8 ) as i8 as u8 )
7474 . take ( sample_len)
7575 . collect :: < Vec < _ > > ( ) ,
76+ _ => panic ! ( "Stereo samples not supported" ) ,
7677 } ;
7778
7879 let fadeout = Num :: from_f32 ( instrument. volume_fadeout ) ;
@@ -691,23 +692,23 @@ impl EnvelopeData {
691692 }
692693
693694 let sustain = if e. sustain_enabled {
694- Some (
695- Self :: envelope_frame_to_gba_frame ( e. point [ e. sustain_point as usize ] . frame , bpm )
696- as usize ,
697- )
695+ Some ( Self :: envelope_frame_to_gba_frame (
696+ e. point [ e. sustain_point ] . frame ,
697+ bpm ,
698+ ) )
698699 } else {
699700 None
700701 } ;
701702 let ( loop_start, loop_end) = if e. loop_enabled {
702703 (
703704 Some ( Self :: envelope_frame_to_gba_frame (
704- e. point [ e. loop_start_point as usize ] . frame ,
705+ e. point [ e. loop_start_point ] . frame ,
705706 bpm,
706- ) as usize ) ,
707+ ) ) ,
707708 Some ( Self :: envelope_frame_to_gba_frame (
708- e. point [ e. loop_end_point as usize ] . frame ,
709+ e. point [ e. loop_end_point ] . frame ,
709710 bpm,
710- ) as usize ) ,
711+ ) ) ,
711712 )
712713 } else {
713714 ( None , None )
@@ -748,13 +749,13 @@ impl EnvelopeData {
748749 }
749750 }
750751
751- fn envelope_frame_to_gba_frame ( envelope_frame : u16 , bpm : u32 ) -> u16 {
752+ fn envelope_frame_to_gba_frame ( envelope_frame : usize , bpm : u32 ) -> usize {
752753 // FT2 manual says number of ticks / second = BPM * 0.4
753754 // somehow this works as a good approximation :/
754- ( envelope_frame as u32 * 250 / bpm) as u16
755+ ( envelope_frame as u32 * 250 / bpm) as usize
755756 }
756757
757- fn gba_frame_to_envelope_frame ( gba_frame : u16 , bpm : u32 ) -> u16 {
758- ( gba_frame as u32 * bpm / 250 ) as u16
758+ fn gba_frame_to_envelope_frame ( gba_frame : usize , bpm : u32 ) -> usize {
759+ ( gba_frame as u32 * bpm / 250 ) as usize
759760 }
760761}
0 commit comments