PreGSoC 2021 Release
The plan is to have this be the last release of v3 of Music Blocks. All of our efforts beginning with GSoC 2021 will be put towards Music Blocks v4, which will be a major refactoring of all aspects of the code. We will continue to accept bug fixes to the v3 branch, but no more new features will be added. New contributors should please focus on the 4.0 efforts, which can be followed here: https://github.com/sugarlabs/musicblocks-v4-lib and https://github.com/sugarlabs/musicblocks-v4
Regarding this release, it has largely been dedicated to bug fixing and general tidying up of the code, but there are a few new features worth mentioning. Liam Norman has added support for end-user samples (you are no longer restricted to the samples provided by Music Blocks.)
There were major improvements to many of the widgets. The plugin mechanism has been overhauled. And developers may appreciated that the code is now free of eslint errors.
Thanks to everyone who contributed to the code and the testing, including Will and Henry Rico.
Here are all of the PRs from this release:
- #2927 pitchdrum widget for full screen functionality @kevinzheng17
- #2946 Fix: Concat text string inside a Note by @daksh4469
- #2943 Activity refactor by @walterbender
- #2942 Fixes Mouse Name Block Connection issues by @ksraj123
- #2938 Fix: Print simultaneous with the note by @daksh4469
- #2937 Fixed : NaN appearing in Stats by @joykirat18
- #2934 Collapsible define temperament and define mode blocks by @daksh4469
- #2932 Blocks cleanup by @walterbender
- #2930 Persistent text block for define temperament by @ksraj123
- #2929 Regression Fix: Add check to avoid name undefined errors by @daksh4469
- #2926 Bug Fix: Force stop runnning project on New Project by @daksh4469
- #2923 fixes #2907: When new project button is pressed, the original project is first saved by @tborich
- #2922 lessonplanv14-14 by @sandyliu418
- #2919 Create BO-README.md by @ghostcoder12
- #2918 Renamed README for MusicBlocks by @pmccabe5
- #2917 Added README for the Examples folder by @pmccabe5
- #2916 bottom button issue fix #2913 by @KaranSingh1301
- #2910 Create a README for the examples folder by @jhones212
- #2909 Added an example classification README_1.md to musicblocks/examples/ by @CormacDC
- #2908 Add oscilloscope visualizer to sampler widget by @liamnorm
- #2904 README for the examples folder with organization by @pmccabe5
- #2903 pitchdrum-mapper: Implement Stop Functionality and enhance UI by @daksh4469
- #2902 BugFix: rhythmruler widget does not render individual pause buttons by @daksh4469
- #2901 BugFix: rhythmruler widget does not render individual pause buttons by @daksh4469
- #2899 StatsWidget: Fix regression in frequency values when using custom pitches by @ksraj123
- #2898 Correcting Auxiliary Menu Spelling by @Arjit222830
- #2897 Update in ReadMe file by @Arjit222830
- #2895 Rhythm Ruler Widget: fix rulers overflowing outside widetWindow and enhancements to fullscreen mode. by @ksraj123
- #2894 Mode Widget: enhancements to fullscreen mode by @ksraj123
- #2893 Statistics Widget: Enhancements to fullscreen mode by @ksraj123
- #2892 Oscilloscope Widget: Enhancements to fullscreen mode by @ksraj123
- #2887 Correcting Auxiliary menu Spelling by @Arjit222830
- #2886 Correcting Auxiliary menu spelling by @Arjit222830
- #2885 Fixes bugs in PhraseMaker with custom pitch and custom temperament by @ksraj123
- #2884 Souptik main by @souptik4572
- #2880 Updating README.md by @Arjit222830
- #2879 Updating README.md by @Arjit222830
- #2878 Bug Fix: Tooltip of Collapse Icon by @daksh4469
- #2877 Fixes regression in overlay of full-screen mode and disables full-screen in some widgets by @ksraj123
- #2874 Enhanced the UI of search-bar and its suggestions by @daksh4469
- #2873 fixing cents wrt C only for higher frequencies in temperament stack with custom octave ratio by @ksraj123
- #2871 Define temperament - custom pitch names by @ksraj123
- #2870 Update root documentation to target more beginner contributors by @meganindya
- #2868 Sampler widget no longer attempts to play a sound on load, changes to play button. by @liamnorm
- #2863 Fix regressions in MusicKeyboard widget by @daksh4469
- #2862 Temperament export save regression fix by @ricknjacky
- #2861 Temperament export save bug fix by @ricknjacky
- #2860 Sample block and sampler widget by @liamnorm
- #2857 Update the MusicKeyboard widget on maximizing. by @daksh4469
- #2856 Sample block and sampler widget by @liamnorm
- #2855 Oscilloscope: Error Fix and UI modification by @daksh4469
- #2854 Bug Fix: Pitch Staircase Widget by @daksh4469
- #2851 Fix: palletes for plugins not loading by @ksraj123
- #2849 Multiple Bug Fixes and Enhancements to Music Keyboard by @ksraj123
- #2847 musicKeyboard: fix extra octave generated with hertz blocks by @ksraj123
- #2845 Bug Fix, Temperament Widget: Play and Stop not working properly by @daksh4469
- #2844 Fixing regression in Music keyboard widget block with alignment of blocks by @ksraj123
- #2843 Fixing regression in lillypond by @ksraj123
- #2841 musickeyboard.js: Enhanced the UI on maximizing the musickeyboard widget and fix bugs. by @daksh4469
- #2840 Andantino by @Giuliani
- #2838 widgets/status.js: Improved UI of status widget by @daksh4469
- #2837 pitchstairecase Bug Fix: Sound keeps playing even after closing the widget. by @daksh4469
- #2835 blockfactory.js: Add global locations and constructor JSDoc by @daksh4469
- #2834 Initial cleanup by @meganindya
- #2832 WidgetWindows: UX Enhancement by @daksh4469
- #2831 Linting and Prettify: All files in js/turtleactions by @daksh4469
- #2830 turtleactions/DictActions.js: Linting and Prettify by @daksh4469
- #2829 Feature: Set Key - Multiple custom modes by @ksraj123
- #2827 FAQ/README.MD: Fixed some typos and grammatical mistakes. by @daksh4469
- #2826 widgets/musickeyboard ES6 port, enhancements etc. by @ricknjacky
- #2825 Fixing movable do - set key not working as expected by @ksraj123
- #2824 widgets/statistics.js: Add JSDoc Documentation by @daksh4469
- #2823 refractor: utils/munsell.js: linting, prettify by @abhishekkumar08
- #2822 refractor:utils/mathutils.js:linting by @abhishekkumar08
- #2821 notation.js: Linting and prettify by @daksh4469
- #2820 js/activity.js : prettify, linting and jsdocs by @abhishekkumar08
- #2819 mxml.js: Prettify and Linting by @daksh4469
- #2818 basicblocks.js: Pretiffy,linting and JSDoc Documentation by @daksh4469
- #2817 utils/platformstyle.js: Pretiffy, Linting and JSDoc Documentation by @daksh4469
- #2816 refractor/boundary.js by @abhishekkumar08
- #2815 Refractor/languagebox.js by @abhishekkumar08
- #2814 utils/musicutils.js: Pretiffy,linting and JSDoc Documentation by @daksh4469
- #2813 js/turtleactions: refactor, lint & prettify by @ricknjacky
- #2812 widgets/jseditor.js: Linting and Prettify by @daksh4469
- #2811 toolbar.js: Prettify, Linting and JSDoc documentation by @daksh4469
- #2810 toolbar.js: JSDoc, Refactored and Prettify by @daksh4469
- #2809 refractor:js/logo.js by @abhishekkumar08
- #2807 Fix Bug in Arbitrary Edit Tab and improvements in Tempo Widget. by @daksh4469
- #2806 Lint, Pretify js/js-exp files by @ricknjacky
- #2805 Help artwork for wrap block by @ksraj123
- #2804 BugFix: custom mode block mode preview by @ksraj123
- #2803 timbre erratic svgs update by @ricknjacky
- #2802 Corrected spelling errors and checked grammar of README.md by @Hackerbone
- #2801 Refractor/pastebox.js by @abhishekkumar08
- #2799 js/blockfactory.js JSDoc and ESLint by @ricknjacky
- #2798 refractored: turtles.js JSDoc, lint and prettify by @abhishekkumar08
- #2797 Trash.js file JSDoc, Lint and Prettify by @ricknjacky
- #2796 MusicKeyboard: BugFixes, ES6 port, linting. by @ricknjacky
- #2795 Feature: Wrap Block by @ksraj123
- #2794 BugFix: missing exit wheel in piemenus of temperament, invert and some other blocks by @ksraj123
- #2793 Rhythm Maker solving regression, linting & jsdoc by @ricknjacky
- #2792 widgets/timbre.js JSDoc style comments by @ricknjacky
- #2791 refractor/pitchslider:fixed linting errors and added js docs by @abhishekkumar08
- #2790 Fix linter changed files identification by @meganindya
- #2789 BugFix: Scalar step behaving incorrectly inside invert by @ksraj123
- #2785 Refractor/status.js by @abhishekkumar08
- #2784 Refractor/tempo.js by @abhishekkumar08
- #2783 BugFix: Scalar step behaving incorrectly inside invert by @ksraj123
- #2782 BugFix: strage behaviour for mouse events in some widgets by @ksraj123
- #2781 Refractor/pitchdrummatrix.js by @abhishekkumar08
- #2780 Feature: dragging windows to top to maximize - windows/widgetWindow by @ksraj123
- #2778 Refactor: widgets/pitchstaircase.js - lint, prettify and documentation by @joykirat18
- #2776 Update UI of Temperament Widget by @daksh4469
- #2775 BugFix and Refactor : widget/modewidget.js by @joykirat18
- #2774 BugFix and Refactor : widget/modewidget.js by @joykirat18
- #2773 Add class to js/widgets/temperament.js and port ES6 to syntax. by @daksh4469
- #2772 Temperament BugFix and ES6+ port by @ricknjacky
- #2771 meterWidget: fix sound playing indefinitely on reload and enhancement to fullscreen mode by @ksraj123
- #2770 refractor:widget/statistics-lint, prettify and documentation by @abhishekkumar08
- #2769 Oscilloscope lint-pretify and jsdoc by @ricknjacky
- #2768 Refactor: widgets/help - lint, prettify and documentation by @ksraj123
- #2766 BugFix: Phrase Maker - play stop button by @ksraj123
- #2765 No wrapping in middle of fill by @ksraj123
- #2764 Port ES6 and added classes to js/widgets/temperament.js by @daksh4469
- #2763 Porting ES6 widgets/rhythmruler.js by @joykirat18
- #2762 BugFix: doSearch is not defined by @ksraj123
- #2760 Update a function to ES6 Arrow Function in js/toolbar.js by @daksh4469
- #2759 Trash.js port to Class by @ricknjacky
- #2758 Fix JS Editor bugs for some number, graphics, pen blocks by @meganindya
- #2755 widgets/pitchstaircae port to class by @ricknjacky
- #2753 adding ES6 classes to widgets/meterwidget.js by @joykirat18
- #2752 Fixed typo in readme file. by @RajatSinghRawat
- #2747 Refactor, Documentation and Bug Fix: widgets/widgetWindow by @ksraj123
- #2746 Organised the Examples folder by @aditya113141
- #2745 added class to js/widgets/pitchdrummatrix.js by @abhishekkumar08
- #2742 Fix Typos by @aviral19
- #2741 adding ES6 classes to widgets/tempo.js by @Nirali0029
- #2740 Music keyboard - A# missing fix by @ksraj123
- #2738 add class to widgets/status.js by @ishankumarkaler
- #2737 Update from Function to Class in js/widgets/tempo.js by @piyushsingariya
- #2736 Added Class to widgets/pitchstaircase.js by @PratyushSawan
- #2735 update in timbre.js by @piyushsingariya
- #2734 Minor regression with rawgit by @ricknjacky
- #2733 add class to widgets/status.js by @Nirali0029
- #2732 Add class to meterwidget.js by @codescientist703
- #2731 planet/local - remove share by @ksraj123
- #2730 planet global share box css fix by @ksraj123
- #2727 Update guide_addingblocks.md by @zaidjamal-op
- #2726 Update status.js by @Nirali0029
- #2725 adding classes to widgets/status.js by @Nirali0029
- #2724 Add class to oscilloscope.js by @codescientist703
Contributors include:
@abhishekkumar08, @aditya113141, @Arjit222830, @aviral19, @codescientist703, @CormacDC, @daksh4469, @ghostcoder12, @Giuliani, @pikurasa, @Hackerbone, @ishankumarkaler, @jhones212, @joykirat18, @KaranSingh1301, @ksraj123, @liamnorm, @meganindya, @Nirali0029, @piyushsingariya, @pmccabe5, @PratyushSawan, @RajatSinghRawat, @ricknjacky, @sandyliu418, @souptik4572, @tborich, @walterbender, @zaidjamal-op