History

[py] move cut_slice from cut to cmd to avoid cyclic import

Paul Brossier committed 8 years ago

Commit dc74f691 parent f8c75aa2 files · +28 −32Browse files

Showing the changes to python (2 of 2 files). Show all

Unified · Split

2 files
  1. python/lib/aubio/cmd.py +27 −1
  2. python/lib/aubio/cut.py +1 −31
python/lib/aubio/cmd.py+27−1
@@ -11,6 +11,7 @@ readable code examples, check out the `python/demos` folder.""" · 10 unmodified lines
1111
1212 import sys
1313 import argparse
14+import warnings
1415 import aubio
1516
1617 def aubio_parser():
@@ -507,7 +508,6 @@ class process_cut(process_onset): · 490 unmodified lines
507508 return ret
508509
509510 def flush(self, frames_read, samplerate):
510− from aubio.cut import _cut_slice
511511 _cut_slice(self.options, self.slices)
512512 duration = float(frames_read) / float(samplerate)
513513 base_info = '%(source_file)s' % \
@@ -518,6 +518,32 @@ class process_cut(process_onset): · 4 unmodified lines
518518 info += base_info
519519 sys.stderr.write(info)
520520
521+def _cut_slice(options, timestamps):
522+ # cutting pass
523+ nstamps = len(timestamps)
524+ if nstamps > 0:
525+ # generate output files
526+ timestamps_end = None
527+ if options.cut_every_nslices:
528+ timestamps = timestamps[::options.cut_every_nslices]
529+ nstamps = len(timestamps)
530+ if options.cut_until_nslices and options.cut_until_nsamples:
531+ msg = "using cut_until_nslices, but cut_until_nsamples is set"
532+ warnings.warn(msg)
533+ if options.cut_until_nsamples:
534+ lag = options.cut_until_nsamples
535+ timestamps_end = [t + lag for t in timestamps[1:]]
536+ timestamps_end += [1e120]
537+ if options.cut_until_nslices:
538+ slice_lag = options.cut_until_nslices
539+ timestamps_end = [t for t in timestamps[1 + slice_lag:]]
540+ timestamps_end += [1e120] * (options.cut_until_nslices + 1)
541+ aubio.slice_source_at_stamps(options.source_uri,
542+ timestamps, timestamps_end = timestamps_end,
543+ output_dir = options.output_directory,
544+ samplerate = options.samplerate,
545+ create_first = options.create_first)
546+
521547 def main():
522548 parser = aubio_parser()
523549 if sys.version_info[0] != 3:
python/lib/aubio/cut.py+1−31
@@ -5,10 +5,7 @@ · 4 unmodified lines
55 """
66
77 import sys
8−import warnings
9−from aubio.cmd import AubioArgumentParser
10−from aubio.slicing import slice_source_at_stamps
11−
8+from aubio.cmd import AubioArgumentParser, _cut_slice
129
1310 def aubio_cut_parser():
1411 parser = AubioArgumentParser()
@@ -136,33 +133,6 @@ def _cut_analyze(options): · 121 unmodified lines
136133 del s
137134 return timestamps, total_frames
138135
139−
140−def _cut_slice(options, timestamps):
141− # cutting pass
142− nstamps = len(timestamps)
143− if nstamps > 0:
144− # generate output files
145− timestamps_end = None
146− if options.cut_every_nslices:
147− timestamps = timestamps[::options.cut_every_nslices]
148− nstamps = len(timestamps)
149− if options.cut_until_nslices and options.cut_until_nsamples:
150− msg = "using cut_until_nslices, but cut_until_nsamples is set"
151− warnings.warn(msg)
152− if options.cut_until_nsamples:
153− lag = options.cut_until_nsamples
154− timestamps_end = [t + lag for t in timestamps[1:]]
155− timestamps_end += [1e120]
156− if options.cut_until_nslices:
157− slice_lag = options.cut_until_nslices
158− timestamps_end = [t for t in timestamps[1 + slice_lag:]]
159− timestamps_end += [1e120] * (options.cut_until_nslices + 1)
160− slice_source_at_stamps(options.source_uri,
161− timestamps, timestamps_end = timestamps_end,
162− output_dir = options.output_directory,
163− samplerate = options.samplerate,
164− create_first = options.create_first)
165−
166136 def main():
167137 parser = aubio_cut_parser()
168138 options = parser.parse_args()

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t