Have encoder and writer in place
This commit is contained in:
parent
7bc57558d0
commit
68748c863e
|
@ -1 +1,5 @@
|
||||||
pub mod psx;
|
use super::{file_writer::SectorWriter, types::{CDDesc, Error}};
|
||||||
|
|
||||||
|
pub mod psx;
|
||||||
|
|
||||||
|
pub type EncoderFunction = fn(CDDesc, &mut dyn SectorWriter) -> Result<(), Error>;
|
|
@ -0,0 +1,5 @@
|
||||||
|
use super::{SectorWriter, {CDDesc, Error}};
|
||||||
|
|
||||||
|
pub fn encode_psx_image(_: CDDesc, _: &mut dyn SectorWriter) -> Result<(), Error> {
|
||||||
|
Err(Error::not_implemented("encode_psx_image"))
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
pub mod bin_cue;
|
pub mod bin_cue;
|
||||||
|
|
||||||
|
use super::{encoder::EncoderFunction, types::CDDesc};
|
||||||
use bin_cue::BinCueWriter;
|
use bin_cue::BinCueWriter;
|
||||||
use super::types::CDDesc;
|
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
use tool_helper::{Error, open_output_file};
|
use tool_helper::{Error, open_output_file};
|
||||||
|
|
||||||
|
@ -14,12 +14,12 @@ pub trait SectorWriter {
|
||||||
fn sector_written_count(&self) -> usize;
|
fn sector_written_count(&self) -> usize;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn write_image(_cd_desc: CDDesc, image_type: ImageType, output_path: PathBuf) -> Result<(), Error> {
|
pub fn write_image(cd_desc: CDDesc, encoder: EncoderFunction, image_type: ImageType, output_path: PathBuf) -> Result<(), Error> {
|
||||||
match image_type {
|
match image_type {
|
||||||
ImageType::BinCue => {
|
ImageType::BinCue => {
|
||||||
let mut _writer = BinCueWriter::new(open_output_file(output_path)?);
|
let mut writer = BinCueWriter::new(open_output_file(output_path)?);
|
||||||
|
|
||||||
Ok(())
|
encoder(cd_desc, &mut writer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,2 +1,3 @@
|
||||||
|
pub mod encoder;
|
||||||
pub mod file_writer;
|
pub mod file_writer;
|
||||||
pub mod types;
|
pub mod types;
|
|
@ -1,4 +1,4 @@
|
||||||
use psxcdgen_ex::{file_writer::{ImageType, write_image}, types::{layout::Layout, CDDesc, File, Directory}};
|
use psxcdgen_ex::{encoder::psx::encode_psx_image, file_writer::{ImageType, write_image}, types::{layout::Layout, CDDesc, File, Directory}};
|
||||||
use std::{path::PathBuf, str::FromStr};
|
use std::{path::PathBuf, str::FromStr};
|
||||||
use tool_helper::Error;
|
use tool_helper::Error;
|
||||||
|
|
||||||
|
@ -54,7 +54,8 @@ fn run_main() -> Result<(), Error> {
|
||||||
println!("{}", rand_item.0);
|
println!("{}", rand_item.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
write_image(desc, ImageType::BinCue, PathBuf::from_str("planschi.bin")?)
|
println!("\n<== Planschbecken ==>\nStart encoding");
|
||||||
|
write_image(desc, encode_psx_image, ImageType::BinCue, PathBuf::from_str("planschi.bin")?)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
|
|
@ -5,9 +5,9 @@ pub mod file_map;
|
||||||
use cdtypes::types::{cdstring::DString, dir_record::DirectoryRecord, helper::{round_bytes_mode2_form1, sector_count_mode2_form1}, sector::*, path_table::PathTableL};
|
use cdtypes::types::{cdstring::DString, dir_record::DirectoryRecord, helper::{round_bytes_mode2_form1, sector_count_mode2_form1}, sector::*, path_table::PathTableL};
|
||||||
use file_map::FileSystemMap;
|
use file_map::FileSystemMap;
|
||||||
use layout::Layout;
|
use layout::Layout;
|
||||||
use tool_helper::Error;
|
|
||||||
use std::{cell::RefCell, rc::Rc};
|
use std::{cell::RefCell, rc::Rc};
|
||||||
|
|
||||||
|
pub use tool_helper::Error;
|
||||||
pub type SharedPtr<T> = Rc<RefCell<T>>;
|
pub type SharedPtr<T> = Rc<RefCell<T>>;
|
||||||
|
|
||||||
pub fn new_shared_ptr<T>(value: T) -> SharedPtr<T> {
|
pub fn new_shared_ptr<T>(value: T) -> SharedPtr<T> {
|
||||||
|
|
Loading…
Reference in New Issue