[SCM] sonic-pi packaging annotated tag, upstream/2.0.0, created. upstream/2.0.0

pere at users.alioth.debian.org pere at users.alioth.debian.org
Fri Feb 12 14:46:31 UTC 2016


The annotated tag, upstream/2.0.0 has been created
        at  09906f0b8bc27346092c9dbb10b02a77016eeb13 (tag)
   tagging  23fd6abcfe0a931c9b5a3302c3fdff10e7281ed0 (commit)
 tagged by  Petter Reinholdtsen
        on  Mon Dec 7 09:38:32 2015 +0100

- Shortlog ------------------------------------------------------------
Upstream version 2.0.0

Joe Haig (1):
      Remove dependency on missing (not required) image files.

Martin Keegan (47):
      fix missing include file
      dedupe font names
      ignore autogenerated C++ files
      fix path to server startup script
      explain how to start QT GUI; avoid circular Makefile trick
      update ignore file
      move build machinery out of toplevel bin/ directory
      Merge branch 'master' into dedupe-lexer
      add hook for autogeneration code
      add execute permission
      add switch for specifying alternative output file for docs generator
      hook ruby docs generation into build bootstrap script
      be more explicit about what file we're trashing
      make it clear what we're doing under the hood
      Merge branch 'master' into split-docs-gen2
      split clobbered part of mainwindow.ccp into separate file
      clobber right file
      note dependency
      add dummy file
      Merge branch 'master' into split-docs-gen3
      update ruby_info.h with latest help text
      include copyright boilerplate
      ignore .lein-plugins directories
      Merge branch 'master' into split-docs-gen3
      generate placeholder for autogenerated file
      ignore autogenerated file
      remove version-specific help text from template file
      generate individual files from ruby docstrings
      don't pass literal help HTML through to C++ include file
      remove transitional documentation
      Merge branch 'master' into split-docs-gen3
      Merge branch 'master' into split-docs-gen3
      fix typo
      add another helper function
      Merge branch 'master' into split-docs-gen3
      use saner generation technique
      rename for generality
      only auto-generate the bare minimum of code
      fix indentation of generated code
      get rid of distracting compiler warning
      move api list to own file
      factor workspace material together
      remove unused vars
      fix typo
      ignore emacs droppings
      properly fix unused parameter warning
      note optional step re ruby compilation

Michał Lewandowski (1):
      Add missing $

Petter Reinholdtsen (1):
      Imported Upstream version 2.0.0

Sam Aaron (1034):
      initial commit
      Update main window license info - this file has *long* diverged from the original help example!
      Put group name in /tmp rather than in application directory (which won't necessarily be writable)
      put workspaces in ~/.sonic-pi and generate them if they don't already exist.
      disable logging
      Merge pull request #5 from traylenator/drop_binaries
      Merge pull request #6 from traylenator/home_not_home_pi
      Massive refactor and reworking of Ruby internals:
      Move QT app into a specific directory in anticipation of other UIs
      Add dependencies for HTML5 GUI
      Add more Ruby dependencies (for HTML5 GUI)
      Remove detritus
      Pull in some more Ruby dependencies, jiggle things around and the HTML
      ignore log files
      MonkeyPatch Rubame to not thrash round in a loop waiting for IO:
      Add Overtone source for synth designs.
      update code mirror to 3.2.1
      Fix up server->ws comms.
      Fix play_pad so sound is heard. Still need to hook
      override puts
      Add thread safe way of removing multiple handlers
      Prefix non-public API functions with __
      Add state lifecycle information to nodes:
      Rename node :live state to :running
      Remove unused class IncomingChan - replaced by Event system
      Make current synth, bpm and current pad thread local.
      Store an array of currently running 'jobs'.
      Fix call to __sync after rename
      Ignore Emacs tmp files
      Add function current_tempo which pulls from the Thread local bpm variable in Studio.
      Update bootstrap to 3.1.0
      Rename mods from *.rb to *._rb to stop them being accidentally loaded.
      Allow code to be dynamically reloaded from the HTML GUI
      Move RcvDispatch class to SonicPi module
      Update README with some simple instructions for using the HTML interface.
      Remove deprecated boot scripts
      move vendor from js to parent dir
      Move to Om for HTML GUI:
      Ensure SynthNode is initialised before sending out OSC message
      * Add ability to add on_destroyed handlers to nodes.
      Remove debug statement.
      Fix a couple of bugs introduced in recent commit.
      add Hamster as a dependency - immutable datastructures FTW!
      Add ability to stop individual jobs
      Start moving towards a more lock-free approach:
      Kill all subthreads (created with in_thread) when killing job.
      disable debug mode
      only join subthreads if they exist!
      mention that you need to compile cljs source for dev gui
      only display last 20 messages in dev gui
      Add web server listening on port 8000 serving html, css and js.
      Add new fn with_synth_defaults
      Specifically require 1.9.3+ and backport Ruby 2+'s thread local syntax
      Start adding some nice drum samples from freesound.org (CC 0 Licensed)
      Add support for Ruby 2+'s Thread#thread_variables for 1.9.3
      Fix timing.
      Only allow connections to dev html client from localhost.
      Add Array#choose as an alternative to Array#sample
      Run web server in its own thread - allows script to be killed with C-c
      Add more electronic samples
      Add some more samples
      make rect.js locally available
      Add buffer object and update synths
      Add utility function sample_duration, to return the duration of a sample
      Add synonym Node#control for Node#ctl
      Re-instate standard mono and stereo players and add new method sample_partial
      Update synthdefs
      Add ability to specify note by string or keyword in addition to integers.
      Update synth-designs.clj to reflect latest synthdefs
      Add initial (and very brittle) support for Windows
      Minor refactor
      Plug memory leak - remove /n_end handler on node end.
      short-circuit out of loading sample once within critical section
      Add exit mechanism
      Add simple eval program - which takes a Sonic Pi rb file and executes it.
      Fix remaining memory leak (GC :heap_line_num now flatlines)
      indentation fix
      Move subthread creation and management from sound mod to spider itself.
      Plug another memory leak - this time with groups associated with each job
      whitespace fix
      Don't leak memory when jobs throw exceptions - instead correctly tear things down.
      Add useful test script for looking for memory leaks
      add simple version of the intro to Blue Monday by New Order to examples
      remove comment
      Fix a couple of basic typo bugs w.r.t. job stopping
      Add new method `load_samples` which will take an arbitrary list of sample paths and pre-load them all
      Add new test for jobs stopping - also move quit-on-exit hook to the
      Add crude Raspberry Pi detection and sleep longer when booting
      move quit on exit block closer to top of file
      require set as its used in this class
      add blue monday test
      Add experimental AOT scheduling
      Handle case where no proms have been created when joining job.
      Default to a much smaller AOT - this should be modifiable for platforms.
      Comment out reload button (this should only be available for dev purposes)
      Allow synth trigger sched_ahead_time value to be modified:
      Add quick (potentially hacky) job joining method.
      Update README.md
      Start working on improving synths:
      Add cutoff param to saw synths
      Add limiter to mixer for ear safety.
      Add a fun example
      Update README.md
      Add thread synchronisation mechanism:
      Add `_s` versions of the mod synths:
      Allow values to be passed through `sync`/`wait`:
      Add first cut of keeping a tree of subthreads for both correct joining and killing.
      Fix memory leak in new thread creation code:
      Tidy up tests
      refactor Atom code for readability
      Don't call `Studio#stop` when stopping all jobs:
      Join or kill all subthreads before calling `/job-completed` event
      Add mechanism for creating critical 'no-kill' sections:
      Actually synchronise with the mutex from the correct thread!
      Update code mirror to 3.22
      Move react.js to vendor dir
      Add commented version of server lines for open access
      Simplify blue monday example by using with_synth_defaults
      Tidy up README
      Update HTML GUI to Om 0.5.0 and React.js 0.9.0
      Allow C-r to run code in HTML GUI
      Re-implement mono and stereo sample players:
      re-implement `rand` using a seeded generator:
      remove repeated synthdef
      Teach sample players how to handle negative rates (for reversing)
      Fix recognition of flat notes with b suffix - also make bs 'above' b
      Add sustain parameter to all synthdefs
      Implement a simple ring buffer data structure for storing messages:
      New example: guitar pulses
      don't commit dev js code
      Don't pull in cljs-main.js just yet
      mv LICENSE to md extension
      Add copyright preamble to source files:
      Add copyright notice to GUI files
      Update README.md
      Update README.md
      Update README.md
      Remove Aphex and Kraft workspace sets
      remove old scripts
      start working on Qt GUI:
      Rename samples to have a standard four-letter prefix and add autocompletion.
      Further work on Qt interface:
      load synthdefs when initialising server
      Further qt interface look and feel work:
      Display splash screen in separate window when info button is clicked
      move tabs to bottom of window
      Make further progress hooking up the Qt gui to the new backend...
      Finally hook up errors and output to backend processes.
      Kill off all subprocess when exiting app.
      make both sets of buttons similar heights
      Implement proof-of-concept font zooming for output pane.
      Provide 'auto pushing/popping' versions of `with-*` fns via blocks:
      Teach autocomplete about `with-*` functions
      Ensure merging synth defaults has a target map to merge into
      Update html design
      make rotating boxes lovely pinky pink
      Add slide args to synths:
      Spread out a given node's control messages over real time:
      comment out synths in design file
      Teach stereo sample synth player how to pan
      Fix naming of ambi_glass_hum sample
      ambi_piano isn't called ambi_atmos_piano
      Add new ranged random function rrand
      fix spacing
      Add support for scales:
      Teach play to accept a single args Hash in addition to key-val varargs:
      fix naming issue
      trigger_synth no longer allows varargs, merge buffer info in first
      Add chord functionality:
      Allow scales to be addressed via strings
      Improve printing to end user
      Teach with_merged_synth_defaults and with_synth_defaults to accept
      Remove pad functionality. The focus for Sonic Pi is currently for
      Minor refactoring
      Remove deprecated function comms_eval
      Remove duplicated synth triggering functionality.
      Create and use new node abstraction ChordGroup:
      Improve to_s of Chord and Scale
      defer to play_chord if an Array is passed as the note arg to play
      add to_s for Buffer
      Return scale as an Array rather than a Scale object:
      Fix sample synths to allow :amp to be modulatable
      comment out synth design saving fns (Again)
      Add amen brothers break sample as :loop_amen
      Extract out sched ahead node osc functionality
      Make Node's method to_i actually return an Integer
      Replace sched_osc_for_node with a simpler fn which just calculates time
      Add the ability to pause and run nodes
      Add three more synths:
      Add some more samples:
      Trim samples
      Add more samples:
      Teach sample_duration to also take opts and allow rate to be specified:
      Raise an exception if sample doesn't exist
      Update sample names
      Make calls to sync wait (in real time) before sending sync event:
      Add two more examples:
      Add version of get with timeout to Promise and use it in in_thread:
      Keep trying to receive promise from parent - until parent is dead,
      Check to see if parent is alive *after* attempting to get promise
      Add (super basic) support for sending error messages out to the GUI
      Increase HTML GUI message ring buffer size to 100
      Add tentative support for named threads:
      Fix audible click heard when playing some samples:
      Add basic non-enveloped sample playing synths:
      Remove debug lines
      Update supersaw synth design:
      Use new named thread functionality in comps beats example
      Add license info to synth-designs file.
      Re-order dsaw arg order for consistency.
      Started work on synth information classes for docs and validation.
      Improve fm synth design - add slide args for both div and depth
      Start fleshing out synth information
      Fix bug in Node's on_destroyed method:
      ensure state is set to :destroyed before calling on_destroyed_callbacks
      Kill ChordGroup node when all containing subsides are destroyed.
      move to snake_cased names for sample synths
      specify :amp arg for :amp validation!
      Reference new snake_case sample synth names
      Wire up synth arg validation functionality (still needs fleshing out)
      Teach trigger and control args to handle symbols for note names.
      Breaking Change - rename with_volume to set_volume!
      Rename debug! and debug_off! to set_debug_on! and set_debug_off!
      Breaking change: rename with_tempo to set_tempo!
      add :modulatable metadata to synth info
      Remove code referencing pads
      Revert back to with_tempo as it's set up to use thread locals. Add block.
      Mixer now receives a stereo bus
      Rename new_user_synth_group to new_synth_group
      Fix critical bugs in bus allocator:
      Add initial (sketchy) pass of FX functionality (much more work needed):
      schedule killing and clearing osc messages with virtual clock
      remove amusing debug message
      add option to force group free osc messages to dispatch immediately
      Force group creation to be synchronous with with_server_sync
      Wait for all subthreads to finish before removing self from tree
      Further fx work - still incomplete
      add named threads
      fix sample names
      Add new echo FX synth + example
      Add new synths to head of group. Fixes FX chain ordering issue.
      Join on all subthreads created in fx block before killing fx nodes
      break out trigger_synth into separate synth categories
      remove empty fn stub
      Add missing comma comma comma comma comma
      Add some inline docs
      Remove debug lines
      Add synth node tracking for fx blocks:
      remove debug statements
      Fix bug in new trigger fns where group was overridden accidentally
      remove debug line
      Add ability to bypass sched ahead functionality for node control:
      Use iteration rather than recursion to minimise stack trace sizes
      Use more specific exception class
      Gracefully handle situation where FX bus was unable to be allocated:
      Remove unused qt import for QWindow
      Update Qt GUI project file to include new lexer and other resources
      Massively reduce default kill delay to 1s
      Fix up FX info and add new slicer
      Add fun tron bike example (RPi tested)
      BREAKING CHANGE: with_* methods now require a block
      Allow easy rate change in echo_drama example
      Allow synths to be triggered immediately with a new now argument:
      add shell script for starting up application on RP with dbus started
      Fix up arg resolution algorithm
      create new trigger_* fns which can have their own print statements
      move to relative paths for rb scripts
      use correct var names
      aaargh! Typo
      must kill server!
      remove resources from pro file
      make rp-app-bin executable
      use path to script in bash file to locate application binary
      Fix issue with playing chords and shuffle fn ordering.
      Update README dependencies
      Meta-glasses from our hero Why to help us see more clearly...
      Stop core API function clobbering by users:
      add Copyright info
      Fix examples with new use_* vs with_* names
      Pretty print synth args with new foo: 1, bar: 2 syntax
      Allow fx blocks to accept a param which will be the fx synth node:
      Teach BlankNode to report its state as :destroyed
      Add corresponding slide args on all modulatable synth args:
      comment out synth saving fns
      Add integer version of rrand: rrand_i -
      Teach *_synth_default fns to accept lambdas as args:
      Add new fns use_debug and with_debug:
      Use more idiomatic foo= method for setting sched_ahead_time:
      Remove debug statement
      Fix bug in studio at sched_ahead_time - shouldn't require a param
      Delay messages by sched_ahead_time to keep messages in sync with synths
      Switch from using ramp to lag for sliding synth args:
      Fix bug in fn name for joining thread and subthreads in fx block
      Use basic sampler synths if no non-modulatable args are used:
      Support sample packs with use_sample_pack and with_sample_pack:
      Update codemirror to version 4.0
      Teach with_fx to do nothing if fx_name is set to :none
      Use default sampler synth if rate is negative:
      Add a bunch of new FX:
      Add fun filtered dub example
      Add jungle example
      Add amp param to compressor:
      Add distortion FX
      Wooh, look, no parens!
      Fix distortion to work with a stereo channel
      Add number of allocated audio and control busses to status info
      Update audio and control bus counts to scsynth defaults
      Update with_fx gc logic to handle the case where user killed main thread.
      Don't automatically print status - instead return a map:
      Add on_started call back for Node
      Teach Promise#deliver! to not raise an exception if required.
      Allow synths to sneakily be added to tracker without blowing things up.
      update example to new syntax style
      update blue monday example to new syntax style
      update comps beats example to new syntax style
      Completely rework with_fx logic (again). Remove all (known) resource leaks:
      Add sched_ahead_time to sleep time:
      Only print sample loading message when sample is actually loaded:
      No need to duplicate trigger_synth out-bus logic in with_fx
      Add new ChainNode class which represents a routed audio SynthNode:
      Teach BlankNode about Node#on_started and SynthNode#name
      Introduce new FXNode:
      Teach synths how to describe their own bespoke kill_delay for FX GC
      Switch to using JSON for encoding messages:
      Teach FXNode to free bus in on_destroyed handler
      Switch json lib to multi_json:
      Address compiler warnings:
      Remove unnecessary comments
      remove potentially confusing word "args" from print statement
      Default to beep synth instead of pretty_bell:
      Add link to beep info
      Add OSC comms to Qt GUI:
      Add C++ OSC lib to Qt GUI
      Teach Qt GUI how to stop all synths and to exit correctly
      remove accidental typo
      Release OSC socket when exiting Qt app
      Start using SynthInfo class to spit out markdown docs
      Calling the dbus-launch script has no effect.
      Add useful path fns
      Generate Sample cheat sheet automatically from metadata
      Fix modulatable info
      Add script for auto generating doc cheatsheets
      Add constraints to fx and synth documentation
      Improve synth docs
      Update synths.md
      Add table of contents to synth and fx docs
      Merge remote-tracking branch 'origin/master'
      Add fm noise example
      Fix bug in mod_pulse synth stopping it from modulating pitch
      Update examples to use new preferred syntax
      Add function versions of choose and control:
      Use standard keys for sample groups and add new helper fns
      Print out message if sample had to be loaded into memory
      Teach load_samples to handle an array as an arg
      Add new functions: sample_names and sample_groups:
      Unify sample output format
      Add new example - ambient:
      Add replace versions of all FX synths and new basic_mixer:
      Basic formatting modifications
      Tweak defaults of reverb and tb303 for aesthetic purposes:
      Improve stack trace printing in html gui
      add ability to specify scsynth port
      print exception when found in JSON parsing or message dispatch
      Make basic_mixer synth a chained in/out bus synth:
      Add synth info for basic_mixer and new replace fx synths
      Add active support to vendor directory:
      basic-mixer is now basic_mixer
      add another useful comment (need more of these)
      Move to new Job audio bus infrastructure:
      fix minor syntax error
      Teach in_thread not to pass on thread locals with specific prefix:
      Improve synth doc defaults based on today's workshop
      Add new synth: Zawa
      Improve debug messages
      move start scripts to new bin directory
      add new top level bin directory with a script to launch the qt gui
      Added first draft of autosaving functionality and hooked it up to HTML GUI
      Cleanup unused parts of Qt GUI
      Extract out method for sending OSC message to reduce duplication
      Remove duplicate #includes
      Start hooking up Qt GUI to new buffer loading functionality:
      remove unused code
      add loops to autocomplete in Qt GUI
      Teach Qt GUI to display splash screen until server has started:
      Teach Qt GUI to load and save all workspaces using new OSC mechanism
      use hyphens to separate OSC handles rather than underscores
      Actually send buffer content when attempting to save all workspaces
      revert back to allocating 2 audio busses per FX:
      Further standardisation on hyphenated OSC names
      Fix bug in workspace saving:
      fix another hyphen change bug
      add more samples to autocompletion
      Start each workspace off with the text #loading...
      Add draft of Mag PI magazine article
      Fix typo in autocompletion list
      Change sample param end: to finish:
      remove old cruft
      don't require start-server script to be executable:
      Add code folding functionality and nesting indicators:
      Add missing ) paren
      add missing function definition to main window header
      further interface tweaks
      Modify defaults of beep synth to be more percussive
      Further Qt GUI tweaks
      rename app/scripts to app/server
      also initialise workspace8
      remove tree folding stuff
      Ensure Qt GUI doesn't send out ping messages until it has opened its
      Ensure that the output text area isn't a memory leak:
      Fix synth info defaults to match actual synth design.
      force splash screen to be repainted:
      set style to GTK and clean up a little
      improve scsynth/jackd process creation and teardown mechanism
      Comment out all unnecessary puts statements in server script
      print message when OSC server has started listening
      remove old stop-code script execution
      make synth argument checking optional:
      update splash png to contain border and shadow
      Optimise Server#trigger_synth to remove unnecessary method calls
      Further synth trigger optimisations:
      Add trailing > to to_s for buffer
      Create recording group on studio initialise
      resolve hash_or_arrah args when controlling node
      Extract out allocator from bus allocator:
      swap attr_reader arg order to match constructor
      Teach allocators to have a default index offset of 0
      Add default of 1 for Allocator#num_adj_ids
      Use Allocator to allocate buffer ids rather than a Counter:
      Unify file header comments:
      Reorder autocompletion code to match sample README order:
      Add ability to allocate standard buffers:
      add Buffer at to_i method - returns buffer id
      Add Server#buffer_free - which also releases id from allocator
      Add new server arg to Buffer constructor
      Implement Buffer#free
      Add default number of adjacent ids for Allocator#release!
      Add new class BufferStream for streaming buffers to files:
      Add Server#buffer_stream_open for creating a new buffer stream
      Add initial pass of recording functionality:
      Add Qt GUI interface for starting and stopping recording:
      First pass of hooking recording Qt GUI interface with recording functionality.
      Add simple preference window for modifying system audio settings:
      Start adding implementation for Qt GUI system audio preferences:
      add missing header changes for previous commit
      add missing include
      remove unnecessary references to toolbox
      Handle the fact that the mixer percentage range isn't linear:
      Pull in cmath on RPi and namespace pow correctly
      just initialise preferences window once rather than re-creating on view
      pull in correct qtconcurrent headers for system
      add missing ostringstream line
      update splash image to remove whitespace surround
      give splash image more vertical space
      Add missing ostringstream declaration for OS X Qt GUI
      Stop comments going invisible if they're the current line
      Add more appropriate comment for new buffers :-)
      rename techno fx to ixi_techno in synthinfo
      Use basic HTML formatting on error pane to improve readability.
      Dock prefs pane in right dock by default - also add new prefs:
      remove cruft
      Don't raise an error window if user cancels buffer  save
      Implement pref debug options:
      toggle preference pane visibility on button press
      set output panes to be read only. Also limit size of error pane
      clear error pane before running code
      remove unnecessary debug messages
      Dock doc/help widget at top of app and toggle with button:
      add more with_* methods to autocompletion
      prioritise threads that are struggling to keep up...
      Add more sophisticated thread priority allocation:
      improve __no_kill_block fn and favour over raw mutex sync:
      Give each thread created a group name:
      add helpful comment
      add to_s for SynthNode
      ensure that __no_kill_block returns the result of the block
      Add missing id method to synthnodeproxy
      Run fx block in separate thread to isolate trackers:
      specify correct allocation error exception
      add handy helper method for debugging: __describe_threads:
      move fx bus creation block above gc thread definition:
      Implement use_bpm, with_bpm and current_bpm:
      Add new fns: use_transpose and with_transpose:
      update test code to work with new module injection stuff
      allow indifferent access on dispatch hash
      Start work on a generic method documentation system:
      Fix memory leak in in_thread:
      unify all fonts in Qt editor
      Add two new testing routines:
      add new test routine: test_with_multi_fx
      Plug memory leak when firing off multiple similarly named threads:
      Use different approach for displaying splash screen that hopefully should
      Try another splash screen approach
      add missing header
      uncomment out the code that actually starts the server!
      try another splash screen approach!
      update main.cpp to use csplashscreen
      Revert back to original splash screen method:
      add new basic icon file
      Add icon in ico format
      Add skeleton for doc system:
      Improve doc pane - using a QListWidget instead of buttons
      Add Ruby script to help generate Qt app doc system from Ruby metadata
      remove accidental double underscores
      turn nicely formatted docstring into an ugly single line for new system
      Start populating doc system - exciting times!
      Add FX and Samples to Qt doc system
      Extract out docsystem to separate module and start adding lang docs
      pull in requirements
      Add skeleton info for all API methods and add to Qt doc system
      Fix bug in arg names within rrand_i
      Add examples_path helper method
      use symbol for synth name rather than string
      remove rand function from API - falling back to default Ruby impl
      Update examples to work with latest API
      Further API tweaks - revert octave behaviour
      Add examples to Qt doc system
      Dock documentation pane at bottom of screen
      Teach docsystem about summaries and examples.
      escape html entities in docsystem
      add doc info for print
      expand  detection of :raspberry os
      Teach node_ctl, node_pause and node_run immediate 'now' mode
      Add a default ached ahead time
      Optimise counter:
      Teach server thread about :sonic_pi_thread_group and priority
      Make thread priorities more diverse for a greater effect
      Fix bug in doc name for with_sample_pack
      Further thread prioritisation changes
      Use default_sched_ahead_time rather than a magic number
      Further doc additions
      Merge pull request #34 from jrmhaig/master
      Merge pull request #36 from mk270/master
      remove unnecessary code
      Move log dir inside home_dir and only use if in debug mode
      Merge pull request #37 from mk270/ignore-autogen
      Merge pull request #38 from mk270/fix-readme
      Merge pull request #39 from mk270/qt-instructions
      Merge pull request #40 from mk270/dedupe-lexer
      Merge pull request #41 from mk270/split-docs
      Replace job promise mechanism with non-blocking queue based system:
      Optimisation: cache current job synth group in a thread local
      Optimisation: cache fx group in a thread local.
      Add text size modification toolbar:
      Try and get spacers to work correctly...
      icons are 270x111 rather than 270x109
      disable doc pane debug messages
      Add start of documentation for standard Ruby constructs
      Add more docs
      send exited message on server exit
      Set tool tips for toolbar buttons.
      Merge pull request #42 from wstephenson/mainwindow_toolbar_item_spacing
      Add initial scaffold of Native scsynth FFI bridge:
      Teach the native FFI example how to receive and decode OSC from scsynth
      Restructure server code to support both native and external scsynth
      Fix start-server script to work with new scsynth structure
      Use more appropriate FFI blocking declaration
      Stop using global variables
      Add some more API docs
      Incubate blue_monday example as it doesn't currently perform well on RP
      Update docs in Qt app
      Only store true or false in arg_check thread local
      Add new thread local value viewing functions:
      stop scsynth dumping all OSC messages
      Fix syntax errors in doc additions
      Don't pull in native file as it's still incomplete.
      Merge pull request #45 from mk270/split-docs-gen2
      Merge pull request #46 from mk270/tweak-gitignore
      Merge pull request #47 from mk270/split-docs-gen3
      give basic stereo player a more sensible stereo panning system.
      Mixer doesn't support panning - remove Studio#pan= method
      Send control message to @mixer node rather than @mixer_group when setting
      Don't limit volume in studio method, this happens in sound.rb
      Merge pull request #48 from mk270/split-docs-gen3
      Merge pull request #49 from mk270/fix-typo
      Add some more documentation:
      Merge pull request #50 from mk270/split-docs-gen4
      Merge pull request #52 from mk270/move-api-list
      Merge pull request #53 from mk270/factor-workspaces
      Merge pull request #51 from mk270/fix-prev-warn
      Merge pull request #54 from mk270/fix-readme-typo
      Merge pull request #55 from mk270/ignore-emacs-droppings
      Merge pull request #56 from mk270/fix-docpane-warn
      Remove requirement that generated doc info should be on one line:
      Start making the documentation pretty-pretty
      Fix typo
      Further doc prettification
      Fix up doc metadata
      Remove FX prefix from all FX names
      Further doc prettification :-)
      Fix typo
      stop doc list from being so cramped
      clean up whitespace
      Fix timing regression by re-instating send_at
      Increase sched_ahead_time to RP 1s
      Merge pull request #57 from mlevvy/master
      Set tooltips in addition to status tips for toolbar items
      Fix typo
      Fix bug in set_volume!
      Add soft, hard, and exception-raising timing issues:
      Throw timing exceptions on play, sample and control
      Handle case where sched_ahead_time is 0
      move from out-bus and in-bus to out_bus and in_bus for synth params:
      Remove sp/ prefix from all synthdefs:
      Return to namespaces synth names for mixers and recorder synths:
      block synthdef loading with_server_sync rather than nasty sleeps...
      add new API fn load_synthdefs:
      Add doc skeleton for load_synthdefs
      Create OSC::Server with internal port:
      Remove arbitrary sleep wait on os x boot:
      extract out new booting and waiting (sans sleep) functionality and use
      find out: are these sleeps necessary?
      Make output pane use only one line per message in monospace
      Correctly return workspace name
      Add rugged as a dependency:
      Create a way of easily making platform-specific rugged extensions
      ignore autogenerated rugged Makefile
      Add initial git persistence layer - much work to be done here.
      Add compiled rugged extension for Ruby 1.9.3 on OS X
      Add RP native rugged extension
      make output look more like code which generated it
      Don't clobber git index every commit
      Display synth names as symbols
      Replace nasty sleep with nicer jackd waiting on linux boot
      oops, it's jack_wait rather than jackd_wait
      appropriately invert logic and also store jackpid (-T doesn't seem to do what I wanted)
      Add class to parse incoming OSC binary packets:
      remove unnecessary require statement
      Use new IncomingOSC class - native lib connection now works!!!
      teach incomingosc about doubles
      remove typo
      add missing parameter
      Don't say "starting..." when booting, just say "Ready..." when booted.
      Prettify output pane:
      Try auto-hiding error pane
      Save file as well as storing it in git repo.
      Round long floats to 4 decimal places when printing
      Move editor and errorPane into a separate layout:
      HTML escape errors (as the Qt client current use HTML to display them)
      Set hard timing error buffer to be 0.5s + the sched ahead time:
      Fix spacing
      Remove extra space with thread death error if thread is unnamed.
      move current_bpm to default api file
      Set max height for error pane to stop it taking up half the vertical real estate
      wait for osc thread to complete before exiting.
      move doc metadata after fn definitions
      Improve formatting of error message
      put RC name in ready message
      rename start-server script to sonic-pi-server
      Rework message delay system - still more work to do:
      ensure __delayed is called from a job thread
      wrap job id in square brackets
      Fix major bug in with_fx:
      Move delay logic into sleep function:
      Disable dock ability of prefs pane (only make it close able)
      Rework prefs pane:
      reset delayed_blocks thread local after sound thread has completed:
      Update messaging system:
      send info message when jobs have stopped, not when they're about to.
      Add mechanism to auto-format (i.e. beautify) the current buffer:
      raise more meaningful error if fx name isn't recognised
      Don't use the term job, instead refer to the run button.
      Store the specific time each job started
      Always determine virtual run time wrt job local start time:
      space out output pane for greater clarity
      Don't clear output pane on stop, instead clear on run:
      round current job time to 4 decimal places
      Start work on attempting to get error messages from server available in Qt client:
      don't kill all subthreads on job completion, just deregister job
      don't use cheeky sleep, schedule delayed blocks and messages directly
      grab time *after* /job-start event has completed:
      Improve info messaging on global setting modification
      remove unnecessary sleep
      move all doc metadata declarations after function
      Allow users to control note parameters with note keywords such as :E4
      inform user when run has completed
      improve output message spacing
      Add new fn - stop to kill running synth nodes.
      Don't print finished run as message can be received before other messages from same job.
      use the term sound rather than node
      extract out DEFAULT_PLAY_OPTS and other minor doc improvements
      Further docstring work
      Remove repeat fn - prefer loop
      add more docs. One day I'll get there...
      Prefer control(foo) over foo.control:
      remove erroneous > symbol
      Improve formatting of lang documentation
      improve docstrings
      teach the ruby server how to listen and send to different ports
      fix up server start code
      allow transpose values to be floats as well as integers
      Add align button to toolbar:
      Don't create multiple duplicate windows on multiple info button presses.
      Fix bug in current_bpm - wrong TL was being referenced
      split out __schedule_messages and __schedule delayed blocks
      Merge pull request #66 from mk270/document-compile
      Merge pull request #60 from xavriley/master
      Update README.md
      Update README.md
      Update README.md
      fix Studio#load_synthdefs
      remove unused QAction
      Give message and delay threads their own mutexes.
      Print out number of threads in __describe_threads
      Allow with_fx gc thread's promise to be delivered multiple times:
      Simple improvement to promise to help debugging: now prints out vals
      Move job teardown code into a separate thread:
      add job id to thread name
      don't let the thread die whilst sending out error messages.
      add another test routine
      Relax native lib platform constraints:
      add native directory for server stuff
      add server_path and native_path util fns
      look for scsynth in native path by default
      Add Ruby FFI library to vendor
      remove os x ffi detritus
      Place examples at top position in tab list.
      Maximise app window on start.
      Use safe message output chars on RP
      Only copy the appropriate lib files for the arch
      Add patch level to ruby extension path
      Optimise fn ensure_good_timing!
      default to major chord
      No need to check for good timing before dispatching way to play_chord - just make sure we do it over there though!
      optimise resolve_synth_opts_hash_or_array
      Optimise note:
      Further note optimisations:
      ensure debug and arg checking is set correctly based on prefs.
      use shorthand a += x over a = a + x
      Optimise midi note lookup caching values
      add to_s methods for allocators
      Sweeping optimisation pass:
      Allow for a 2s buffer in ensure timing as this doesn't account for the next sleep.
      Allow an array of tonic	, name to be passed to chord:
      resolve args for node_ctl - fixes control messages
      Optimise Server#trigger_synth - replacing external hash constructor with inline hash bashing
      use ore general resolve_synth_opts_hash_or_array over hash constructor
      prefer delivering a more descriptive promise name over true
      Use payload obtained job_id rather than reading from thread local:
      use descriptive thread_group id - adding job id into the mix
      replace incoming events system with a non-thrashing queue based single-threaded system:
      standardise the way that the args are normalised across node_ctl and trigger_synth
      (temporarily) relax numeric constraint on arg vals
      Revert "replace incoming events system with a non-thrashing queue based single-threaded system:"
      add (temporary) code reload shortcut to easy debugging
      note may be a numeric without having to coerce it
      Run osc code in separate thread to stop melody threads blocking on osc out
      Optimise Node constructor:
      fix midi note resolution with octaves
      Teach play_chord how to play symbols and strings in addition to numbers
      don't put the sched_ahead_time calculation in the osc sending thread, otherwise virtual time isn't honoured!
      Fix chord for new cached note resolution mechanism.
      Use a single worker thread to send out osc messages:
      catch exceptions when  when attempting to send hello message to new scsynth server
      rely on rand for unique keys for gensym - reduces amount of thread coordination necessary.
      Add group to synth node
      Replace guts:
      Revert "Replace guts:"
      Revert "Revert "Replace guts:""
      ensure all node event handlers are added asynchronously to reduce waiting
      add all node handlers at once
      only print out control change messages if the user wants them
      Fix adding multiple async handlers for node
      remove note poller from dsaw synth:
      don't create synth group or fx group for a job unless required:
      fix subtle but annoying thread name bug introduced in big horrible commit:
      ensure current job and fx groups are cached in thread locals
      Fix with_server_sync:
      Oops - remove creation of IncomingEvents object on *every* job eval:
      Implement Node#wait_until_started
      use new Node#wait_until_started to synchronise group creation.
      Fix more thread name bugs introduced in big 'orrid commit.
      s/@EVENTS/@osc_events in Server
      Don't include StudioInfo synths in help system:
      Rename all synths to have a sonic-pi- prefix to remove chance of clashing with external synths. Also:
      Prefix all examples with one of:
      teach Qt app to launch stuff relative to current directory:
      ignore os x native stuff
      Fix FX synth naming:
      Add new functions: use/with_sample_pack_as for aliasing samples:
      Add new frequency utility fns midi_to_hz and hz_to_midi:
      add i18n and thread_safe ruby libs to vendor
      munge around with examples - separate into different dirs for ability
      ensure builtin fx synths have the correct prefix
      add docstring
      Add new fn defonce for defining values only once:
      Further work on formatting the docs: samples now look nicer :-)
      Teach scsynth external booter to handle spaces in paths for OS X
      remove debug statements
      Merge pull request #71 from xavriley/documentation_updates
      Add current_sample_pack_aliases fn
      Add (yet) another alias for load_sample: sample_buffer
      Tweak docs
      fix syntax for new doc metadata
      Always prefer explicit note arg over opts value in note fn.
      Use the absolute of the rate when calculating sample_duration.
      Further docstring work.
      start working towards web interface compliance again...
      add another docstring
      Add a test!
      Add some more note tests and fix up functionality accordingly.
      start playing around with Travis for CI
      Add Travis status image
      Add further tests and a minor fix w.r.t. note
      properly short circuit note resolution with return
      Add further note tests - also unify pitch class
      Format note tests and throw in few more asserts
      Increase precision of note matcher regexp and
      Raise InvalidNoteError over generic RuntimeError
      Add further invalid note tests
      Report and test for invalid octaves to note
      Fix synths and FX:
      Fix mod_dsaw to use envelope params correctly
      OS X build instructions are currently broken...
      add block level comment fn
      remove unnecessary addition
      minor restructure of includes
      tidy up qt config files
      ensure current running ruby is used to compile the extensions
      teach the GUI to use high res images on Mac
      update all synths:
      update all synths:
      Merge remote-tracking branch 'origin/master'
      remove ruby extension detritus
      fix up synthdefs to ensure they don't have ns info:
      fix path to root to be 2 dirs deeper now we have an extra lib/sonicpi
      actually add bitscrusher FX synth designs
      Breaking change! Temporal args now scale with current bpm
      Fix slicer fx to use (/ 1 phase) as rate
      update examples to match new arg names and bpm behaviour
      Add new fn rt for bypassing any bpm scaling:
      allow users to disable bpm scaling for args
      fix whitespacing
      we're heading towards RC12
      add start of tests for scale and chords
      Add mod_phase_offset param to all modulated synths
      new fn: synth for playing an arbitrary synth ignoring TLs
      Don't throw an exception if the synth name isn't recognised.
      remove lambda arg default optimisations and allow lambdas everywhere for
      Add exciting new dimensions to FX by adding mix and amp args:
      Merge pull request #89 from xavriley/fix_mismatched_sample_rates_on_osx
      Merge pull request #90 from xavriley/documentation_Aug2014
      Complete adding mix and amp args to all FX -
      Add new FX: wobble:
      Fix Note inspect fn to display octave. Also add inspect fns for other
      add some more scale tests
      update to latest wobble synthdef
      Improve documentation for core API.
      change name of RP-specific components to mention RP
      replace QSplashScreen with standard window:
      Allow chord to take opts:
      update Qt build artifacts:
      Stop OSC server exploding on error and add support for OSC ‘h’ type
      Add prototype system for obtaining new vals via OSC:
      Minor doc tweaks.
      Teach wobble FX to use different filters for wobble.
      tidy docs
      Update for Qt 5x on Mac
      start drafting build notes for Mac (needs more work and polish)
      add new incubation example using bitcrusher FX - need to test on RP
      Fix wobble FX using pulse control wave form:
      Teach slicer to use different waveforms for modulating amplitude.
      enforce ugen rate to be specified in selects.
      minor synth doc additions
      Teach slicer how to invert control waveform.
      Add further FX docs.
      minor doc tweak
      Further API doc improvements.
      Add another incubation example for RP testing.
      Teach rand_i to return a float rather than an integer:
      Implement rand and rand_i to work using the seeded random_generator:
      Another incubation example…
      define defonce in terms of define for once and not def - fine?
      add sketch of a sample warper similar to that described here:
      minor doc tweaks
      Make implement me! messages more descriptive and useful
      Add rudimentary support for sound in via the sound_in synth.
      Fix compus beats phase rate
      Add new pan FX
      teach oscval to be able to read all vals for a given OSC path
      Breaking change: rename sync/wait fns and add wait as a synonym for sleep:
      monkey patch Integer#times into Float (after a to_i on self)
      Fix up synth arg checking fns
      teach Node#control to check whether or not to check args based on current Run’s TL rather than the TL of the run that started the synth initially.
      Add new fn uncomment which allows you to very easily ensure a comment block is executed:
      Add more docstrings for synth args
      Create space for a tutorial in the docsystem
      remove unnecessary declaration
      update sample rate validation to not be zero
      fix minor typo
      Teach slicer how to act like a tremolo:
      Add new noise synths:
      turn info window into HTML pane for credits
      send the hash version of args to Server#node_ctl
      no need to create ts local - just return the last val in the if/else
      scsynth expects /n_set’s first arg to be an integer representing node id
      teach OSCVal#read to accept an index arg
      update info window to have plain logo and fixed width and height
      Add another incubation example
      update incubation examples
      Add grey noise synth to compliment brown, pink and white noise
      Add cnoise synth (clipped noise)
      offset phase by a half to ensure the min point is start and end of phase
      Modify wobble phase offsets to ensure phase always starts at min point.
      add phase_offset arg to ixi_techno FX
      update other FX with phase offsets to ensure min value is start of phase
      teach mod_fm mod wave forms plus further general phase offset futzing
      add more synth docstrings
      add ocean incubator demo
      Remove all ‘simple’ synths
      Teach all mod_* synths to use multiple control wave forms
      unify control wave design
      Set default mod wave form for mod synths to pulse
      Upgrade zawa synth to have multi-oscillator control. Crazy scenes.
      add docstring for TB303 emulation synth
      Add pre_amp and pre_amp_slide args to all FX
      Further doc improvements for FX
      Tweaks to examples
      Fix wobble and ixi_techno synth info
      rename norm_* synth to n* for easier transitioning  in live coded setting
      add doctoring for ixi techno FX
      whitespace tweak
      use new SonicPi.pro rather than old generic application.pro
      flush all syntdefs to ensure they’re in sync with .clj file
      ensure mainWin has been declared in scope on non OS X architectures
      binary file is now named Sonic-Pi
      Horrible code fork between RP and Mac versions:
      mod_rate is now mod_phase
      Fix Blue Monday to work on non-overclocked RP!
      add qscintilla to libs for RP
      close splash screen differently on RP and Mac
      s/ifdef/if defined()
      use application directory in path names
      output stdout and stderr to temp files for debugging purposes
      Give each run its own similarly seeded random number generator:
      add new randomisation fn dice which will emulate a standard dice:
      specify the inclusivity/exclusivity of rrand_i and rrand respectively
      teach Array#choose to use thread local seeded rand num generator
      Teach sync to print out delayed messages:
      Ensure deterministic randomisation across threads:
      Add fns for deterministically modifying random generator seed thread locals:
      Fix doc examples for cue fn.
      Add new probability function: one_in for defined probabilities
      Add doc metadata for wait
      update blip_ryhthm example
      fix name of sync fn in docs
      fix spelling of attack_level
      Finish up the about window:
      toggle info window on info button press
      Add version to info window!
      Add missing commas
      pimp up blip_rhythm example
      Info.plist should go into Content dir not root
      Add website to info window
      Give a more meaningful error when user uses use_fx instead of with_fx
      Add new fn: version for returning current version information
      Add version number to all fn metadata indicating when fn was introduced
      print info on defonce and define
      comment out on_keypress - will revisit in v3.0
      separate out RP boot fn from generic linux -
      update .gitignore
      ignore *all* native files
      add class representing versions
      remove unnecessary workspaces dir
      Open up welcome window and tutorial on first launch
      tweak wording and spacing of welcome message
      rename doc pane to Help
      fix grammar
      Move tutorial to separate directory
      don’t override default sched_ahead_time for RP (1s)
      move to markdown format for tutorial docs
      give all doc text panes padding
      Start working on the tutorial content. First three sections down
      Tutorial tweaks and changes:
      s/possibilities/opportunities
      Add section 04 of tutorial - changing synths
      Display the Sonic Pi logo in empty doc windows
      rename tutorial 04 to switching synths
      Add section 05 of tutorial - stretching and compressing samples
      minor tutorial tweaks
      unify synth defaults:
      tweak tutorial
      reduce emphasis noise!
      Add section 6 - durations with envelopes including lots of nice diagrams
      minor tweaks to envelope tutorial section
      renumber tutorials 05 and 06 ad beef up envelope section a little
      add a new section on amplitude
      update tutorial
      Upgrade mono and stereo sample players to ADSR envelopes :-)
      Add tutorial section 08 - enveloped samples
      Fix speling mistakes in tuturial
      Default all envelopes to exponential curves between segments:
      Add tutorial section 09 on playing sub parts of samples
      add more information on panning to the parameters section of the tutorial
      fix formatting
      Change default echo decay to 2 seconds
      Add tutorial section 10 on FX
      minor tweaks to FX section
      Use appropriate headers and add some emphasis
      Add new section - Iteration and Loops
      Add new tutorial section on randomisation.
      minor tweaks
      Fix bug in one_in
      fudge all synth amps to normalise their relative amplitudes
      minor tweaks
      Add another section on conditionals
      minor doc tweaks
      Add another section to the tutorial on Chords and Scales
      Fix docsystem to not treat a HTML entity as a Ruby comment
      Teach play_pattern_timed to accept a single number as a time
      minor tweaks to docstrings
      add empty tutorial files waiting for juicy content
      Fix bug in sampler decision logic:
      Add section on threads
      Add new section on functions
      Add section on Live Coding
      Add new section controlling running synths
      Add section on sliding parameters
      Add final two sections to tutorial
      Remove bit crusher as it’s not yet available on RP
      Add some basic doc strings
      Remove comedy fn summary
      Unify on title colour and background across docsystem
      promote examples from incubation
      add more summaries
      make examples pretty-pretty
      rename output pane to log
      prepare for v2.0 release
      remove old incubation examples
      Add more summaries
      move install info to separate file
      use correct indentation
      add final missing summary
      fix typo
      unify on Block-level rather than block level

Steve Traylen (3):
      Drop binaries from source tree.
      Add https://github.com/github/gitignore/blob/master/C%2B%2B.gitignore
      Use $HOME rather than /home/pi

Will Stephenson (1):
      Merge the toolbars so the items can be spaced out

Xavier Riley (14):
      Fix Qt install process on Osx
      Fixup docs for midi_to_hz and hz_to_midi. Add docstring for recording_delete
      Document with_fx
      Document use_sample_pack and use_sample_pack_as
      Document with_sample_pack and with_sample_pack_as
      Document load_sample and load_samples
      Document sample_info, sample_duration and sample_methods
      Document status, note and note_info
      Document scale
      Document chord
      Documented params for sample method
      Fix mismatched input/output sample rates on OSX
      Add docs for rrand, rrand_i, use_bpm, with_bpm and sleep
      Add docs for in_thread

-----------------------------------------------------------------------

-- 
sonic-pi packaging



More information about the pkg-multimedia-commits mailing list