Mercurial > code > home > repos > light9
annotate bin/wavecurve @ 2333:447f25b2712d
checkpoint show data
author | drewp@bigasterisk.com |
---|---|
date | Fri, 02 Jun 2023 09:59:52 -0700 |
parents | 3c523c71da29 |
children |
rev | line source |
---|---|
717
d8202a0a7fd5
fix up musicpad and wavecurve. ascoltami2 can now use relative paths in the config
Drew Perttula <drewp@bigasterisk.com>
parents:
624
diff
changeset
|
1 #!bin/python |
623
46d319974176
move networking settings to config.n3
drewp@bigasterisk.com
parents:
617
diff
changeset
|
2 import optparse |
1866
3c523c71da29
pyflakes cleanups and some refactors
Drew Perttula <drewp@bigasterisk.com>
parents:
1859
diff
changeset
|
3 from run_local import log |
221
4a51d4eefa95
add wavecurve from semprini with new cmdline ui
drewp@bigasterisk.com
parents:
diff
changeset
|
4 from light9.wavepoints import simp |
4a51d4eefa95
add wavecurve from semprini with new cmdline ui
drewp@bigasterisk.com
parents:
diff
changeset
|
5 |
1858 | 6 |
357
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
7 def createCurve(inpath, outpath, t): |
1859
f066d6e874db
2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents:
1858
diff
changeset
|
8 print("reading %s, writing %s" % (inpath, outpath)) |
436 | 9 points = simp(inpath.replace('.ogg', '.wav'), seconds_per_average=t) |
357
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
10 |
1866
3c523c71da29
pyflakes cleanups and some refactors
Drew Perttula <drewp@bigasterisk.com>
parents:
1859
diff
changeset
|
11 f = open(outpath, 'w') |
357
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
12 for time_val in points: |
1859
f066d6e874db
2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents:
1858
diff
changeset
|
13 print("%s %s" % time_val, file=f) |
1866
3c523c71da29
pyflakes cleanups and some refactors
Drew Perttula <drewp@bigasterisk.com>
parents:
1859
diff
changeset
|
14 log.info(r'Wrote {outpath}') |
1858 | 15 |
357
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
16 |
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
17 parser = optparse.OptionParser(usage="""%prog inputSong.wav outputCurve |
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
18 |
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
19 You probably just want -a |
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
20 |
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
21 """) |
1858 | 22 parser.add_option("-t", |
23 type="float", | |
24 default=.01, | |
221
4a51d4eefa95
add wavecurve from semprini with new cmdline ui
drewp@bigasterisk.com
parents:
diff
changeset
|
25 help="seconds per sample (default .01, .07 is smooth)") |
1858 | 26 parser.add_option("-a", |
27 "--all", | |
28 action="store_true", | |
357
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
29 help="make standard curves for all songs") |
1858 | 30 options, args = parser.parse_args() |
221
4a51d4eefa95
add wavecurve from semprini with new cmdline ui
drewp@bigasterisk.com
parents:
diff
changeset
|
31 |
617
94039df5cdd9
create Playlist class which is now used in wavecurve, musicPad, and ascoltami2.
David McClosky <dmcc@bigasterisk.com>
parents:
436
diff
changeset
|
32 if options.all: |
357
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
33 from light9 import showconfig |
624 | 34 from light9.ascoltami.playlist import Playlist |
357
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
35 graph = showconfig.getGraph() |
617
94039df5cdd9
create Playlist class which is now used in wavecurve, musicPad, and ascoltami2.
David McClosky <dmcc@bigasterisk.com>
parents:
436
diff
changeset
|
36 |
94039df5cdd9
create Playlist class which is now used in wavecurve, musicPad, and ascoltami2.
David McClosky <dmcc@bigasterisk.com>
parents:
436
diff
changeset
|
37 playlist = Playlist.fromShow(showconfig.getGraph(), showconfig.showUri()) |
624 | 38 for song in playlist.allSongs(): |
717
d8202a0a7fd5
fix up musicpad and wavecurve. ascoltami2 can now use relative paths in the config
Drew Perttula <drewp@bigasterisk.com>
parents:
624
diff
changeset
|
39 inpath = showconfig.songOnDisk(song) |
1858 | 40 for curveName, t in [('music', .01), ('smooth_music', .07)]: |
357
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
41 outpath = showconfig.curvesDir() + "/%s-%s" % ( |
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
42 showconfig.songFilenameFromURI(song), curveName) |
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
43 createCurve(inpath, outpath, t) |
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
44 else: |
617
94039df5cdd9
create Playlist class which is now used in wavecurve, musicPad, and ascoltami2.
David McClosky <dmcc@bigasterisk.com>
parents:
436
diff
changeset
|
45 inpath, outpath = args |
357
7771f37252da
curvecalc persistence, wavecurve -a option
Drew Perttula <drewp@bigasterisk.com>
parents:
224
diff
changeset
|
46 createCurve(inpath, outpath, options.t) |