mirror of
https://github.com/iluvcapra/bwavfile.git
synced 2025-12-31 17:00:44 +00:00
allow more types to be used as paths
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
|
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
|
|
||||||
|
use std::path::Path;
|
||||||
|
|
||||||
use std::io::SeekFrom;
|
use std::io::SeekFrom;
|
||||||
use std::io::Cursor;
|
use std::io::Cursor;
|
||||||
use std::io::{Read, Seek, BufReader};
|
use std::io::{Read, Seek, BufReader};
|
||||||
@@ -198,7 +200,7 @@ pub struct WaveReader<R: Read + Seek> {
|
|||||||
|
|
||||||
impl WaveReader<BufReader<File>> {
|
impl WaveReader<BufReader<File>> {
|
||||||
|
|
||||||
pub fn open(path: &str) -> Result<Self, ParserError> {
|
pub fn open<P: AsRef<Path>>(path: P) -> Result<Self, ParserError> {
|
||||||
let f = File::open(path)?;
|
let f = File::open(path)?;
|
||||||
let inner = BufReader::new(f);
|
let inner = BufReader::new(f);
|
||||||
Ok( Self::new(inner)? )
|
Ok( Self::new(inner)? )
|
||||||
@@ -211,7 +213,7 @@ impl WaveReader<File> {
|
|||||||
///
|
///
|
||||||
/// A convenience that opens `path` and calls `Self::new()`
|
/// A convenience that opens `path` and calls `Self::new()`
|
||||||
|
|
||||||
pub fn open_unbuffered(path: &str) -> Result<Self, ParserError> {
|
pub fn open_unbuffered<P: AsRef<Path>>(path: P) -> Result<Self, ParserError> {
|
||||||
let inner = File::open(path)?;
|
let inner = File::open(path)?;
|
||||||
return Ok( Self::new(inner)? )
|
return Ok( Self::new(inner)? )
|
||||||
}
|
}
|
||||||
@@ -600,4 +602,4 @@ fn test_list_form() {
|
|||||||
|
|
||||||
assert_ne!(buf.len(), 0);
|
assert_ne!(buf.len(), 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
|
use std::path::Path;
|
||||||
use std::io::{Write,Seek,SeekFrom,Cursor,BufWriter};
|
use std::io::{Write,Seek,SeekFrom,Cursor,BufWriter};
|
||||||
|
|
||||||
use super::Error;
|
use super::Error;
|
||||||
@@ -213,7 +214,7 @@ const DS64_RESERVATION_LENGTH : u32 = 96;
|
|||||||
impl WaveWriter<BufWriter<File>> {
|
impl WaveWriter<BufWriter<File>> {
|
||||||
|
|
||||||
/// Create a new Wave file at `path`.
|
/// Create a new Wave file at `path`.
|
||||||
pub fn create(path : &str, format : WaveFmt) -> Result<Self, Error> {
|
pub fn create<P: AsRef<Path>>(path : P, format : WaveFmt) -> Result<Self, Error> {
|
||||||
let f = File::create(path)?;
|
let f = File::create(path)?;
|
||||||
let b = BufWriter::new(f);
|
let b = BufWriter::new(f);
|
||||||
Ok( Self::new(b, format)? )
|
Ok( Self::new(b, format)? )
|
||||||
@@ -222,7 +223,7 @@ impl WaveWriter<BufWriter<File>> {
|
|||||||
|
|
||||||
impl WaveWriter<File> {
|
impl WaveWriter<File> {
|
||||||
/// Creare a new Wave file with unbuffered IO at `path`
|
/// Creare a new Wave file with unbuffered IO at `path`
|
||||||
pub fn create_unbuffered(path : &str, format : WaveFmt) -> Result<Self, Error> {
|
pub fn create_unbuffered<P: AsRef<Path>>(path : P, format : WaveFmt) -> Result<Self, Error> {
|
||||||
let f = File::create(path)?;
|
let f = File::create(path)?;
|
||||||
Ok( Self::new(f, format)? )
|
Ok( Self::new(f, format)? )
|
||||||
}
|
}
|
||||||
@@ -521,4 +522,4 @@ fn test_create_rf64() {
|
|||||||
cursor.seek(SeekFrom::Current(data_size as i64)).unwrap();
|
cursor.seek(SeekFrom::Current(data_size as i64)).unwrap();
|
||||||
|
|
||||||
assert_eq!(4 + 8 + ds64_size as u64 + 8 + data_size + 8 + fmt_size as u64 + 8 + elm1_size as u64, form_size)
|
assert_eq!(4 + 8 + ds64_size as u64 + 8 + data_size + 8 + fmt_size as u64 + 8 + elm1_size as u64, form_size)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user