diff --git a/README.md b/README.md index 06fa24d..8a7f621 100644 --- a/README.md +++ b/README.md @@ -14,10 +14,10 @@ Commands: ```shell # Run code -cargo run --example hello +cargo run --example basic cargo run --example core_usage # Background code runner -bacon -- --example hello +bacon -- --example basic # Background code checker @@ -38,7 +38,7 @@ wasm-pack build --target web ls -l pkg/guitar_tab_generator_bg.wasm # get size in bytes 1137837 -> 905075 ``` -Running To-Dos: +## Future Improvements - [ ] add filter for max_fret_span in `arrangements` - [ ] re-examine namespace of functions (object functions vs standalone) (public vs private) diff --git a/benches/my_benchmark.rs b/benches/my_benchmark.rs index 98b807c..922b92d 100644 --- a/benches/my_benchmark.rs +++ b/benches/my_benchmark.rs @@ -253,7 +253,7 @@ fn bench_create_single_composition_scaling(c: &mut Criterion) { &input_lines_num, |b, &playback_index| { b.iter(|| { - guitar_tab_generator::create_guitar_compositions(black_box(input.clone())); + guitar_tab_generator::wrapper_create_arrangements(black_box(input.clone())); }); }, ); diff --git a/examples/core_usage.rs b/examples/advanced.rs similarity index 91% rename from examples/core_usage.rs rename to examples/advanced.rs index 09cc771..03d177e 100644 --- a/examples/core_usage.rs +++ b/examples/advanced.rs @@ -9,6 +9,7 @@ use guitar_tab_generator::{ extern crate guitar_tab_generator; +/// Advanced usage example using the individual component functions. fn main() -> Result<()> { let input = "E4 Eb4 @@ -42,11 +43,11 @@ fn main() -> Result<()> { let guitar_num_frets = 18; let guitar_capo = 0; let guitar = Guitar::new(tuning, guitar_num_frets, guitar_capo)?; - dbg!(&guitar); + // dbg!(&guitar); let num_arrangements = 1; let arrangements = create_arrangements(guitar.clone(), lines, num_arrangements)?; - dbg!(&guitar); + // dbg!(&arrangements); let tab_width = 20; let padding = 1; diff --git a/examples/hello.rs b/examples/basic.rs similarity index 67% rename from examples/hello.rs rename to examples/basic.rs index e35699a..a2a344b 100644 --- a/examples/hello.rs +++ b/examples/basic.rs @@ -1,5 +1,6 @@ extern crate guitar_tab_generator; +/// Basic usage example using the wrapper creation function. fn main() { let input = guitar_tab_generator::CompositionInput { pitches: "E4 @@ -24,11 +25,12 @@ fn main() { guitar_num_frets: 18, guitar_capo: 0, num_arrangements: 1, - width: 40, + width: 55, padding: 2, playback_index: Some(12), }; - let tab = guitar_tab_generator::create_guitar_compositions(input); - dbg!(&tab); + let compositions = guitar_tab_generator::wrapper_create_arrangements(input).unwrap(); + // dbg!(&compositions); + println!("Tab:\n{}", compositions[0].tab); } diff --git a/src/lib.rs b/src/lib.rs index 64fc7e9..6e86e86 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -36,15 +36,17 @@ pub struct Composition { pub fn wasm_create_guitar_compositions(input: JsValue) -> Result { let composition_input: CompositionInput = serde_wasm_bindgen::from_value(input)?; - let compositions = match create_guitar_compositions(composition_input) { - Ok(comps) => comps, + let compositions = match wrapper_create_arrangements(composition_input) { + Ok(compositions) => compositions, Err(e) => return Err(JsError::new(&e.to_string())), }; Ok(serde_wasm_bindgen::to_value(&compositions)?) } -pub fn create_guitar_compositions(composition_input: CompositionInput) -> Result> { +pub fn wrapper_create_arrangements( + composition_input: CompositionInput, +) -> Result> { let CompositionInput { pitches: input_pitches, tuning_name, @@ -76,7 +78,7 @@ pub fn create_guitar_compositions(composition_input: CompositionInput) -> Result Ok(compositions) } #[cfg(test)] -mod test_create_guitar_compositions { +mod test_wrapper_create_arrangements { use super::*; #[test] @@ -92,7 +94,7 @@ mod test_create_guitar_compositions { playback_index: Some(3), }; - let compositions = create_guitar_compositions(composition_input).unwrap(); + let compositions = wrapper_create_arrangements(composition_input).unwrap(); let expected_composition = Composition { tab: " ▼\n-----------------0------\n--------------0---------\n-----------0------------\n--------0---------------\n-----0------------------\n--0---------------------\n ▲\n".to_owned(), max_fret_span: 0, @@ -112,6 +114,6 @@ mod test_create_guitar_compositions { padding: 2, playback_index: Some(3), }; - assert!(create_guitar_compositions(composition_input).is_err()); + assert!(wrapper_create_arrangements(composition_input).is_err()); } }