Releases: sugarlabs/musicblocks
GCI progress
After almost two weeks of work by students as part of the Google Code-in contest, there are enough bug fixes to merit a spot release.
Issues addressed since the last release:
- Incorrect Calculation for dot #969
- Warning when zero value for note value #962
- Help Images Not Up-To-Date #960
- Planet input boxes broken bug #956
- Panels refuse to scroll down #947
- Start Blocks Unable To Work Concurrently #945
- Focus search bar not working #943
- Settings hover information exceeds bounds #939
- Tutorial UI improvement #936
- Broken i18n #935
- A new method for multiply/divide note value #925
- Play music slowly is broken bug #922
- Add noise as a feature #911
- Impossible to delete all blocks after using + from planet #903
- Add up arrow to planet icon for "upload to planet" option #900
Many thanks to our new and continuing contributors: @kipply, @pipix51, @eohomegrownapps, @EmilyOng, and @pikurasa
Release v2.2 (Pre GCI)
This release is intended to provide a stable and consistent platform prior to the start of the Google Code-in (GCI) contest. (It is anticipated that many changes will be made to the code during GCI.)
The bulk of the changes involved a refactoring of the code for determining intervals and transpositions as regards changes to key and mode.
Specific changes since v2.1 include:
- added down major and minor macros to intervals palette
- added doubly block to intervals palette
- added interval name block -- relevant to #608
- make it easier to select a block inside a clamp
- added scalar interval measure -- relevant to #608
- ensure event handler is removed -- related to #903 and #891
- Modified Status Macros to have BPM (#904) (pikarusa)
- fixes problem with note counter inside note block
- fixes #893 (neither the note counter nor the interval measure trigger cascading block expansion)
- fixes #896 (note counter double counts when notes are embedded inside notes)
- fixes #892 (embedding note counter (or interval measure) inside of a note block fails)
- partial fix to #891 (race condition with action block palette)
- added support for interval measurement with Hertz block
- added semitone interval measure
- calculate octave based on proximity to tonic in movable solfege
- gmajor matrix sorted from G5 (top) to G4 (bottom)
- added more details re how to make a macro in the comments
- fixed regression in attribute label selector
- refactoring of transposition code so that it is applied before interv… …
- when advancing by scalar steps, always land within the notes of the c… …
- map solfege first when calculating scalar interval
- fixes #888 (macros collision)
- related to #862 (Accidentals accurate to "set key" selection)
- added instructions for making macros as a comment
- fixes #841 (Rethink Absolute Interval)
- fixed interval calculation to properly account for octaves
- play extra note on unison interval
- fixed problem with set key in converting solfege
- have default osc time match a quarter note
- changed name of "step pitch" to "scalar step (+/-)" to be consistent
- added G Major option for pitch-time matrix on the widgets palette
- fixes #875 -- enable step pitch inside matrix
- consider key and mode in calculating step size
- added octave math to scalar transpose macros
- added scalar interval macros
- added mode length block; use more consistent block names
- movable should be defined by voice
- add unison, second, third, etc. as per #839
- converted major, minor, perfect, etc. to use absolute interval macro ex… …
- added absolute interval block
- fixed problem with bpm adder
- fixes #865 (bug with absolute interval)
- fixes #858 (Beats Per Minute does not seem to be changing performance tempo)
- Loading splash now centered in viewport (#863) @eohomegrownapps
- added support for scalar transposition
- Fixed issue #852 (A few UI issues in Planet) @eohomegrownapps
- added movable block
- added Boolean block
- fixed some issues with playback vis-a-vis synthVolume; add synthVolume
- added crescendo support to individual synthesizer volume
Thanks to Devin Ulibarri and Euan Ong for their contributions to this release.
Music Blocks Release 2.1
This is a maintenance release of Music Blocks. It is prompted primarily by some new translations and a tweak to the synthesizer interface that has a major impact on performance.
Specific changes of notes:
- Update to Aymara by Edgar Quispe
- Revert to initializing synthesizers on demand (improves performance on small devices)
- New examples by Devin Ulibarri: interactive scales, simple crab canon, harmony, fifths and sixths with thirds then circle 4ths
- Other new examples: music tree, fifths and sixths
- Improvements to the scale degree code (#833)
- Fixed problem with nested transposition blocks (#831)
- Fixed problem with flats and sharps when playing backwards (#828)
- Fixed playback problems (#813 #810)
- Fixed some issues with copy/paste (#809)
- Enabled notes to be embedded inside notes (#803)
- Fixed problem with interval blocks
- Fixed table of contents in the Guide (#808)
Tip of the hat to Devin Ulibarri, Edgar Quispe, and Euan Ong for their contributions to this release.
Music Blocks Version 2.0
This is the second stable release (V2) of Music Blocks. It seems to work reliably on Chrome, Opera, and Firefox browsers that support HTML5. The Guide to using Music Blocks V2 is found at Music Blocks User Manual
Contributors to this release include:
@Tabs16
@prachiagrawal269
@Hrishi1999
@eohomegrownapps
@pikurasa
@Tharangi
@cristinadp
@sdanielf
@walterbender
This release has a number of enhancements and bug fixes created during GSoC 2017.
Enhancements include:
- A user manual by Dinuka Tharangi Jayaweera (දිනූකා තාරංගි ජයවීර)
- A Timbre Widget, which can be used to design custom instruments, by Tayba Wasim and Prachi Argawal
- Numerous improvements to the Rhythm Ruler, including the ability to add rests, merge cells, tap out rhythms, and generate polyphonic rhythms
- Support for meter and pickup
- Support for beat count, including on-beat-do and on-offbeat-do functionality
- ABC export capability
- Drag and drop file-open support by Hrishi Patel
- Enhancements to the mechanisms for communicating between mice (voices), including the capability of syncing the master clock on the fly.
- New effects, including chorus, distortion, and phaser by Tayba Wasim and Prachi Argawal
- Support for switch statements
- A mechanism for saving the block artwork associated with a project (useful for generating documentation)
- A "compiler" mechanism for higher-fidelity playback of a music blocks project.
Bug fixes include:
#795 Rendering on Android truncated
#718 Maybe paste should always paste block(s) to visible area on screen?
#794 note counter changes state
#793 offline issues
#792 embedded graphics don't extend across note duration if silence block is missing
#613 Moving out of window or tab freezes music blocks during lilypond save
#783 Block to initiate status widget?
#784 Duplicate Note block (for status widget)
#772 timbre widget filter adjustments are broken
#777 sync between multiple mice
#773 timbre widget add filter button
#767 better consistency between status blocks
#770 dragging widgets triggers drag&drop code
#776 overrides for notes?
#272 rhythm ruler corner case: imbalance bug
#724 Add Multiple Fx: Timbre Widget
#748 Increase/Decrease Block size is very buggy
#12 notation for beats that are not power of 2
#757 on beat do fails with duplicate block
#737 sticky play-slow button
#753 Rest in Rhythm Ruler?
#751 Upper and Lower limit for Rhythm Ruler
#731 Tie notes in Rhythm Ruler
#738 erase parameter display when playing back full speed
#741 silence default to 1/4
#742 mouse doesn't draw
#337 Implement Meter Block
#739 add a switch block
#717 absolute value block
#728 "Home" to Organize with Start at top (etc)?
#729 Collapse Icon is Hidden
#573 Articulation needs renamed
#701 backspace (and TAB key) disabled when typing project name in planet
#707 Strange blue rectangle in Planet
#709 4 "file" input types shown at bottom of on device project thumbnail.
#705 broken graphic in Planet
#706 Using graphics inside or outside of a note when using duplicate notes block.
#702 action block with arg doesn't resize on load
#700 problem with graphics embedded in notes when using repeat block
#703 transparency block not working
#695 Box Naming Reliability Issue
#689 Create effects for Timbre widget
#688 backward block drops notes
#656 New name for pitch-drum matrix widget?
#673 shared link is wrong in some cases
#621 add midi number block
#585 Trash Issues
#665 Add hover text to images in the guide
#552 Enhancement Dragging the Matrix reveals the right and lower portions of the "canvas"
#667 wide blocks interfere with palette up and down buttons
#635 Improve palette's scrolling and names
#616 refactor widgets
#648 activity icons need to be updated
#571 Ability to set volume for voices separately
#632 Proposal: Highlighting the currently played note block
#384 Names of the icons should be displayed for the Block Palette
#652 Palette navigation button visibility with Show/Hide Palette option
#650 Navigation buttons in the palette are not working.
Maintenance Release
A few bugs uncovered after the V1 Release are fixed:
Fixes #642 -- the stage scaling was not being updated properly so
the coordinates passed to overTrash were wrong
Fixes #640 -- don't match to blocks in the trash when looking for
action names
Fixes #637 -- tempo block can support multiple beats per minute
Fixes #641 -- properly restore beat factor after leaving divide
beat factor block
Fixes #638 -- Default for hertz block
Fixes #632 -- re-enable block highlighting when running full speed
Fixes #630 -- added missing rows and columns for labels
Fixes #629 -- regression in tuplet note value display
Fixes #628 -- visual bug specific to status block
Fixes #625 -- only push to status block when connected to a print block
Fixes #624 -- consider beat factor when calculating note count
Fixes #402 -- Fix background block; add background to palette menu
Music Blocks Release 1.0
This is the first stable release (V1) of Music Blocks. It seems to work reliably on Chrome and Firefox browsers that support HTML5. The Guide to using Music Blocks V1 is found at Guide
This version of Music Blocks supports all of the core ideas: a Note block that can contain a variety of pitch expressions, mechanisms for generating chunks of notes, and applying transformations to individual notes and the chunks. There are also a number of widgets that provide scaffolding for a expressing variety of musical ideas, including sequencing, mode, rhythm, pitch, etc.
Underlying Music Blocks V1 is the Turtle Blocks graphical programming language, which has also achieved a level of stability.
Thanks to the 28 individuals who have contributed to Music Blocks and the many patient users who have provide feedback.
Onward to V2, for which we are targeting a synth tool, more control over musical temperament, and more control of mode.