rosetta-code.metronome: parse command line
parent
ba57d1adcd
commit
d067e50ef5
|
@ -1,8 +1,8 @@
|
||||||
! Copyright (C) 2013 Jon Harper.
|
! Copyright (C) 2013 Jon Harper.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors calendar circular colors.constants colors.hsv
|
USING: accessors calendar circular colors.constants colors.hsv
|
||||||
kernel math openal.example sequences timers ui ui.gadgets
|
command-line kernel math math.parser namespaces openal.example
|
||||||
ui.pens.solid ;
|
sequences timers ui ui.gadgets ui.pens.solid ;
|
||||||
IN: rosetta-code.metronome
|
IN: rosetta-code.metronome
|
||||||
|
|
||||||
: bpm>duration ( bpm -- duration ) 60 swap / seconds ;
|
: bpm>duration ( bpm -- duration ) 60 swap / seconds ;
|
||||||
|
@ -38,7 +38,19 @@ M: metronome-gadget ungraft*
|
||||||
|
|
||||||
M: metronome-gadget pref-dim* drop { 200 200 } ;
|
M: metronome-gadget pref-dim* drop { 200 200 } ;
|
||||||
|
|
||||||
: metronome-example ( -- )
|
: metronome-defaults ( -- bpm notes ) 60 { 440 220 330 } ;
|
||||||
[ 60 { 440 220 330 } <metronome-gadget> "Metronome" open-window ] with-ui ;
|
|
||||||
|
|
||||||
MAIN: metronome-example
|
: metronome-ui ( bpm notes -- ) <metronome-gadget> "Metronome" open-window ;
|
||||||
|
|
||||||
|
: metronome-example ( -- ) metronome-defaults metronome-ui ;
|
||||||
|
|
||||||
|
: (metronome-cmdline) ( args -- bpm notes )
|
||||||
|
[ string>number ] map unclip swap ;
|
||||||
|
|
||||||
|
: metronome-cmdline ( -- bpm notes )
|
||||||
|
command-line get [ metronome-defaults ] [ (metronome-cmdline) ] if-empty ;
|
||||||
|
|
||||||
|
: metronome-main ( -- )
|
||||||
|
[ metronome-cmdline metronome-ui ] with-ui ;
|
||||||
|
|
||||||
|
MAIN: metronome-main
|
||||||
|
|
Loading…
Reference in New Issue