Integrate all the progress into master #6
|
@ -15,6 +15,6 @@ namespace JabyEngine {
|
|||
TrackList get_tracks();
|
||||
|
||||
void play(uint8_t track);
|
||||
void stop();
|
||||
void pause();
|
||||
}
|
||||
}
|
|
@ -29,8 +29,9 @@ namespace JabyEngine {
|
|||
CD::Command::send<CD_IO::PortIndex0>(CD_IO::Command::Play, track);
|
||||
}
|
||||
|
||||
void stop() {
|
||||
|
||||
void pause() {
|
||||
CD::Command::wait_completed();
|
||||
CD::Command::send<CD_IO::PortIndex0>(CD_IO::Command::Pause);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -70,7 +70,11 @@ impl Time {
|
|||
let minute = (((lba/Time::MAX_SECTORS)/Time::MAX_SECONDS)%Time::MAX_MINUTES) as u8;
|
||||
|
||||
Time{sector, second, minute}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn as_sectors(&self) -> usize {
|
||||
self.sector as usize + self.second as usize*Self::MAX_SECTORS + self.minute as usize*Self::MAX_SECONDS*Self::MAX_SECTORS
|
||||
}
|
||||
|
||||
pub fn dump(&self) -> String {
|
||||
format!("min: {}, sec: {}, sector: {}", self.minute, self.second, self.sector)
|
||||
|
|
|
@ -50,7 +50,16 @@ impl SectorWriter for BinCueWriter {
|
|||
fn cd_da_start(&mut self) -> Result<(), Error> {
|
||||
self.track += 1;
|
||||
self.cue.push(CueSpecifier::Track{number: self.track, data_type: CueDataType::Audio});
|
||||
// Skip pregap because why have one?
|
||||
|
||||
|
||||
if self.track == 2 {
|
||||
self.cue.push(CueSpecifier::PreGap{time: Time::cd_pregap()});
|
||||
}
|
||||
|
||||
else {
|
||||
self.cue.push(CueSpecifier::Index{number: 0, time: self.cd_time.clone()});
|
||||
self.cd_time.add_sectors(Time::cd_pregap().as_sectors())?;
|
||||
}
|
||||
self.cue.push(CueSpecifier::Index{number: 1, time: self.cd_time.clone()});
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue