modfile 1.4.6

This is a Rust crate for reading and writing Amiga ProTracker MOD-files. It can also read (some?) MOD-files packed with The Player 6.1, including 8-bit and 4-bit delta packed samples, and also create The Player 6.1 compatible files.
Documentation
use std::fs::File;
use std::io::BufWriter;
use std::io::BufReader;
use std::env;

extern crate modfile;
use modfile::ptmf;

fn main() {
	let args : Vec<String> = env::args().collect();

	for i in 1..args.len() {	
		let ref filename = args[i];
		println!("***** {} *****", filename);

		let file = match File::open(filename) {
			Ok(file) => file,
			Err(..) => panic!("Failed to open file"),
		};
		
		let mut reader = BufReader::new(&file);
		let mut module = ptmf::read_mod(&mut reader, true).unwrap();

		println!("Songname: '{}'",module.name);
		for si in &module.sample_info {
			if si.length > 0 {
				println!("Sample name: '{}' length: '{}' repeat start: '{}' repeat length: '{}'", si.name, si.length*2, si.repeat_start*2, si.repeat_length*2);
			}
		}
		
		let mut filename = filename.clone();
		filename.push_str(".copy");

		let file = match File::create(filename) {
			Ok(file) => file,
			Err(..) => panic!("Failed to open file"),
		};

		let mut writer = BufWriter::new(&file);
		ptmf::write_mod(&mut writer, &mut module).unwrap();
		
		println!("***** *****")
	}
}