Giter VIP home page Giter VIP logo

effectspedalswrangler's Introduction

Effects Pedal Wranger

What is it?

The Effects Pedal Wranger is a C# application that will help guitar players keep track of their pedal boards and different 'presets' for different songs/sets. All the basic functionality is here in a command line application, including saving and loading pedals and boards with json files. That being said, there's still a lot of ways I'd like to improve the functionality in the future, so keep an eye out!

What's the plan?

  • I built the core functionality of this application using Test Driven Development, stubbing out class fields and writing unit tests before writing the code. The only methods I didn't unit test are the interactive methods that require user input from the console.
  • I've written classes to represent individual settings for pedals, the pedals themselves, and a pedalboard with presets.
  • The static class ListSerializer writes and reads the Pedals and PedalBoards to and from json files so that you can save everything between runtimes.

Project Requirements

  • Implements a master loop interface to interact with the user.
  • Many Dictionaries and Lists instantiated and used throughout, for instance in the Pedal and PedalBoard classes, as well as within Program.
  • Implements a regular expression when confirming proper clockface format for pedal settings that don't have numbers.
  • Many unit tests written throughout all Settings, Utils, Pedal, and PedalBoard classes.
  • Implements a conversion tool to go back and forth between clockface strings and integer values for settings (Utils.ClockFaceConverter).
  • Implements Linq queries in PedalBoards.PedalBoard and its unit tests.

effectspedalswrangler's People

Contributors

ericnerby avatar

Watchers

 avatar

effectspedalswrangler's Issues

Functionality Enhancements

  • Allow printing of presets
  • Serialize Pedals and Boards to save between runtimes of application
  • Add some common pedals preloaded into the application

Editing Numbered Knobs rounding issue

When going through the interactive edit for a numbered knob setting, the resulting value appears to be rounded to a whole number. Eg, when putting in 5.5, the resulting CurrentValue becomes 5.0.

UI ToDo List

General:

  • Check for help and quit everywhere in the program
  • In 'View Existing Pedals' and 'View Existing Boards', allow choosing of a pedal or board
  • Allow delete or edit options once a pedal or board is selected to view
  • Cleanup UI throughout once everything is working

Edit Board:

  • Show pedals on board in order
  • Allow reordering (additional fields to code in VersionedList class)
  • Show Presets and allow selection of a preset

Preset View:

  • View all pedals with their settings simultaneously
  • Select pedal to edit
  • Allow changing of settings on pedal (implement IInteractiveEditable on Settings)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.