Giter Club home page Giter Club logo

passerine's Introduction

Passerine

Ornithography


Download

git clone https://github.com/reidiiius/passerine.git

Usage

Command-line interface

cd passerine/

Print formatted menu of key signs.

tclsh syrinx.tcl

Print available tunings with example.

tclsh syrinx.tcl help

First argument denotes instrument tuning,
consecutive arguments portray key signs.

tclsh syrinx.tcl eadgbe n0 j3

Numerical search through keys.

tclsh syrinx.tcl 56

Alphabetic search through values.

tclsh syrinx.tcl yq

Print all and pipe through terminal pager.

tclsh syrinx.tcl eadgbe flock | sensible-pager

Tcl interactive session

tclsh

Evaluate contents of estrilda.tcl as a script.

source estrilda.tcl; Estrilda::surname

Estrilda::oscines holds an array of key-value pairs.

parray Estrilda::oscines

Retrieve key signs and store them in a sorted list.

set clefs [lsort [array names Estrilda::oscines]]

Estrilda::signboard takes a list argument of which
it sorts and prints contents formatted to screen.

Estrilda::signboard $clefs

Estrilda::research takes two arguments;
The first is a list to be searched through
and the second is a pattern to search for.

Estrilda::research $clefs {j?k*[xy]}

Estrilda::correlate takes two arguments;
The first is a pattern to search for
and the second is a boolean switch.

Estrilda::correlate HgAu true

Boolean false for nonmetallic symbols is default.

Estrilda::correlate vu false

Retrieve and store string value of selected key sign.

set harminor $Estrilda::oscines(j36)

Estrilda::transits is a list of substring pairs.

set pairs $Estrilda::transits

Replace substrings in harminor based on pairs.

string map $pairs $harminor

Evaluate contents of ploceus.tcl as a script.

source ploceus.tcl; Ploceus::surname

Ploceus::machines holds a list of tunings.

foreach tuned $Ploceus::machines {puts $tuned}

Assignment composition of key and tuning.

set sign n0; set harp eadgbe

Ploceus::sequence holds the current time as an integer
which represents seconds milliseconds or microseconds.

set Ploceus::sequence [clock milliseconds]

Ploceus::fingerboard takes two arguments;
The first is the selected tuning, and the
second is the key denoting accidentals.

Ploceus::fingerboard $harp $sign

Ploceus::metallic stores a boolean value.

set Ploceus::metallic true

This switch facilitates symbolic transition.

Ploceus::fingerboard $harp $sign

Toggle betwixt cloaks by flipping Ploceus::metallic boolean.

set Ploceus::metallic false

Ploceus::tributes holds state set by fingerboard call.

parray Ploceus::tributes

Ploceus::utensils stores mapping of pitch to numeric indices

parray Ploceus::utensils

Ploceus::monotonic takes a pitch argument that pairs with a
numeric value in utensils which will be used as a range index
to splice and concatenate the copied value of tributes(crow).

foreach peg [lsort [array names Ploceus::utensils]] {
  puts [string cat $peg: '[Ploceus::monotonic $peg]']
}

Ploceus::headstock takes an argument which represents pitch and
returns an altered copy of the value in Ploceus::tributes(crow)

Ploceus::headstock En

Ploceus::layout takes no arguments but acquires values stored in
tributes and sequence of which it formats and prints to screen.

Ploceus::layout

Evaluate contents of syrinx.tcl as a script.

source syrinx.tcl; Syrinx::surname

Syrinx::compendia takes two arguments;
The 1st being the selected instrument tuning,
and the 2nd is a list containing key signs.

Syrinx::compendia cgdae $clefs

Syrinx::atrium is the main entry point;
Taking a list argument of which the 1st
item is the selected instrument tuning
and the remaining items are key signs.

Syrinx::atrium {beadgcf n0 k6 j3 j6 j2}

Syrinx::atrium with no arguments prints
a formatted menu of key signs to screen.

Syrinx::atrium

Leave interactive session.

exit

Distribution

MIT License

passerine's People

Contributors

reidiiius avatar

Watchers

 avatar  avatar

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.