@@ -100,53 +100,65 @@ First, list all available plugins:
100100
101101.. doctest ::
102102
103- >>> import timeside.core
104- >>> timeside.core.list_processors()
103+ >>> import timeside.core
104+ >>> timeside.core.list_processors() # doctest: +ELLIPSIS
105+ IProcessor
106+ ==========
107+ ...
105108
106109Define some processors:
107110
108111.. doctest ::
109112
110- >>> from timeside.core import get_processor
111- >>> from timeside.core.tools.test_samples import samples
112- >>> wavfile = samples[' sweep.wav' ]
113- >>> decoder = get_processor(' file_decoder' )(wavfile)
114- >>> grapher = get_processor(' waveform_simple' )()
115- >>> analyzer = get_processor(' level' )()
116- >>> encoder = get_processor(' vorbis_encoder' )(' sweep.ogg' )
113+ >>> from timeside.core import get_processor
114+ >>> from timeside.core.tools.test_samples import samples
115+ >>> wavfile = samples[' sweep.wav' ]
116+ >>> decoder = get_processor(' file_decoder' )(wavfile)
117+ >>> grapher = get_processor(' waveform_simple' )()
118+ >>> analyzer = get_processor(' level' )()
119+ >>> encoder = get_processor(' vorbis_encoder' )(' sweep.ogg' )
120+
117121
118122Then run the *magic * pipeline:
119123
120124.. doctest ::
121125
122- >>> (decoder | grapher | analyzer | encoder).run()
126+ >>> (decoder | grapher | analyzer | encoder).run()
123127
124128Render the grapher results:
125129
126130.. doctest ::
127131
128- >>> grapher.render(output = ' waveform.png' )
132+ >>> grapher.render(output = ' waveform.png' )
133+
134+ .. testcleanup ::
135+
136+ import os
137+ os.remove('waveform.png')
138+ os.remove('sweep.ogg')
139+
129140
130141Show the analyzer results:
131142
132143.. doctest ::
133144
134- >>> print ' Level:' , analyzer.results # doctest: +ELLIPSIS
135- Level: {'level.max': AnalyzerResult(...)}
145+ >>> print ' Level:' , analyzer.results # doctest: +ELLIPSIS
146+ Level: {'level.max': AnalyzerResult(...), 'level.rms ': AnalyzerResult(...)}
136147
137148
138149So, in only one pass, the audio file has been decoded, analyzed, graphed and transcoded.
139150
140151For more extensive examples, please see the `full documentation <http://files.parisson.com/timeside/doc/ >`_.
141152
142- API / Documentation
143- ====================
153+ Documentation
154+ ==============
144155
145- * General : http://files.parisson.com/timeside/doc/
156+ * General documentation : http://files.parisson.com/timeside/doc/
146157* Tutorials : http://files.parisson.com/timeside/doc/tutorials/index.html
147- * Notebooks : http://nbviewer.ipython.org/github/thomasfillon/Timeside-demos/tree/master/
158+ * API : http://files.parisson.com/timeside/doc/api/index.html
148159* Publications : https://github.com/Parisson/Telemeta-doc
149- * Player / UI (old wiki) : https://github.com/Parisson/TimeSide/wiki/Ui-Guide
160+ * Some online notebooks : http://app.mybinder.org/1921720142/tree
161+ * Player / UI wiki : https://github.com/Parisson/TimeSide/wiki/Ui-Guide
150162* A player example : http://archives.crem-cnrs.fr/archives/items/CNRSMH_E_2004_017_001_01/
151163
152164Install
@@ -200,12 +212,12 @@ License
200212
201213TimeSide is free software: you can redistribute it and/or modify
202214it under the terms of the GNU Affero General Public License as published by
203- the Free Software Foundation, either version 2 of the License, or
215+ the Free Software Foundation, either version 3 of the License, or
204216(at your option) any later version.
205217
206218TimeSide is distributed in the hope that it will be useful,
207219but WITHOUT ANY WARRANTY; without even the implied warranty of
208220MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
209221GNU Affero General Public License for more details.
210222
211- See LICENSE for more details.
223+ Read the LICENSE.txt file for more details.
0 commit comments