SIGN IN SIGN UP

document threading and pickling; convert examples to thread pools; fill doc gaps

- New user guide pages: threading.rst (GIL release, one-engine-per-thread
  pattern, internal serialization of Faust compiles and plugin loads, when
  to still use multiprocessing) and pickling.rst (usage, preserved state,
  pickle_version compatibility, caveats).
- examples/multiprocessing_plugins and examples/xml_synth_sound_rendering
  now use ThreadPoolExecutor with a shared queue.Queue and a thread-safe
  tqdm progress bar instead of multiprocessing.Pool. Worker exceptions
  propagate via future.result(). READMEs explain the tradeoff and the
  multiprocessing fallback for plugins with global state.
- Fix doc errors: dj.py filename in examples.rst, missing numpy import in
  the compatibility.rst test snippet, and the Playback looping
  contradiction in user_guide/index.rst. The "Parallel Processing" section
  is renamed "Graph Fan-Out" and points to the threading page.
- Fill coverage gaps: Sampler and Oscillator sections in
  other_processors.rst (retitled "Built-In Processors"); FaustProcessor
  polyphony tuning, compilation options, compile_box/compile_signals and
  compile_from_bitcode (mono-only); PluginProcessor get_patch/set_patch,
  bus helpers, get_latency_samples, n_midi_events; RenderEngine
  get_processor/remove_processor.
- api_reference: note that the Box/Signal listing is a partial subset,
  show FaustContext with-statement usage, drop the duplicated indices
  block. compatibility.rst notes its entries predate the v0.9.0 rewrite.
  installation.rst verify snippet prints dawdreamer.__version__.
D
David Braun committed
7754216e4154fcd0fe7056ed3480b9938a5e1d2f
Parent: bc402d0