mirror of
https://github.com/Michaelangel007/c2t.git
synced 2024-11-26 21:49:43 +00:00
75 lines
1.8 KiB
Python
Executable File
75 lines
1.8 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
import sys, math, os
|
|
|
|
try:
|
|
timeline_file = sys.argv[1]
|
|
except:
|
|
print "usage: %s timeline.txt" % sys.argv[0]
|
|
sys.exit(1)
|
|
|
|
f = open(timeline_file,'r')
|
|
title = f.readline().strip() + " Audio Timeline"
|
|
start = 0
|
|
rot = True
|
|
|
|
g = open('timeline.gnuplot','w')
|
|
if rot:
|
|
g.write('set x2label "%s"\n' % title);
|
|
#else:
|
|
# g.write('set ylabel "%d/%d KHz Cycle"\n' % (int(freq0)/1000,int(freq1)/1000))
|
|
g.write('set term postscript \n')
|
|
#g.write('set size ratio 0.5\n')
|
|
g.write('set output "timeline.ps"\n')
|
|
g.write('set key off\n')
|
|
g.write('set grid xtics lt 0 lw 1 lc rgb "#000000"\n')
|
|
g.write('set grid ytics lt 0 lw 1 lc rgb "#000000"\n')
|
|
g.write('set yrange [0:1]\n')
|
|
g.write('set xtics 1 font "courier,9"\n')
|
|
g.write('set x2tics 1 font "courier,9"\n')
|
|
g.write('set xtic rotate by 90 right \n')
|
|
g.write('set x2tic rotate by 90 left \n')
|
|
g.write('unset ytics\n')
|
|
g.write('unset y2tics\n')
|
|
|
|
x2tics = {}
|
|
xtics = {}
|
|
|
|
ll = 0
|
|
for i in f.readlines():
|
|
if i[0] == '#':
|
|
continue
|
|
timestamp = float(i.split(',')[0])
|
|
label = i.split(',')[1].rstrip()
|
|
if len(label) > ll:
|
|
ll = len(label)
|
|
xtics[str(timestamp)] = label
|
|
x2tics[str(timestamp)] = str(timestamp)
|
|
g.write('set arrow from %f,0 to %f,1 nohead lw 1 lc rgb "black"\n' % (timestamp,timestamp))
|
|
xr = timestamp
|
|
|
|
g.write('set x2tics (')
|
|
for k, v in x2tics.iteritems():
|
|
g.write('"%s" %f, ' % (v,float(k)))
|
|
g.write(')\n')
|
|
|
|
g.write('set xtics (')
|
|
for k, v in xtics.iteritems():
|
|
#g.write('"%s" %f, ' % (v + ' '*(ll-len(v)),float(k)))
|
|
g.write('"%s" %f, ' % (v,float(k)))
|
|
g.write(')\n')
|
|
|
|
f.close()
|
|
|
|
#g.write('set ytics ("0" 0, "+" 1, "-" %f)\n' % yb)
|
|
g.write('set xrange [%d:%f]\n' % (start,xr))
|
|
g.write('plot 0\n')
|
|
g.write('quit\n')
|
|
|
|
g.close()
|
|
os.system('gnuplot timeline.gnuplot')
|
|
os.system('pstopdf timeline.ps -o timeline.pdf')
|
|
if rot:
|
|
os.system('pdf90 timeline.pdf')
|
|
|