Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/add record button and playback button in sampler widget #3813

Merged
merged 9 commits into from
Sep 14, 2024

Conversation

Mubashirshariq
Copy link
Contributor

@Mubashirshariq Mubashirshariq commented Mar 11, 2024

fixes #3806

1)Added record button to record the audio in the browser itself
2)Added the playback button to play the recorded audio

sampler

@Mubashirshariq
Copy link
Contributor Author

@walterbender @pikurasa i have added recording and playback buttons to the sampler widget. Could you please review and suggest any further changes needed?

@walterbender
Copy link
Member

It sort of kind of works.
A couple of suggestions: (1) give some indication that recording is in progress; (2) give some indication that recording has stopped; (3) the wave form did not change for me (or maybe the amplitude was so small that I couldn't see it? the audio level seemed fine); (4) maybe the play button is disabled if there is nothing recorded yet?; (5) maybe as a separate MR, but it would be great to be able to crop the sound (start and end positions) in the widget.

@Mubashirshariq
Copy link
Contributor Author

@walterbender sir I have made the changes as suggested by you

@walterbender
Copy link
Member

I am not seeing any UX changes with your latest commit: I don't see the micorphone state change; the playback button status changing; or any signal on the waveform.

@Mubashirshariq
Copy link
Contributor Author

@walterbender what I have done is that when the recording starts I am displaying a msg "recording started" and when I stop the recording the msg is displayed "recording complete" and I am disabling the playback button whenever there is no audio url
and regarding waveform I think the amplitude is too small to see but still I will look into it again

@walterbender
Copy link
Member

I think it would be a better UX to change the button icon to show that recording has started/stopped...

@Mubashirshariq
Copy link
Contributor Author

sure,will do that

@Mubashirshariq
Copy link
Contributor Author

@walterbender could you please review it i have updated it.

@walterbender
Copy link
Member

The UX is improved. But I don't seem to be able to use the sample in my code. The play button in the widget doesn't play my sample either. And the wave forms are still not working.

@Mubashirshariq
Copy link
Contributor Author

Sure, will address the playback and waveform display issues

@Mubashirshariq
Copy link
Contributor Author

@walterbender i have added the recorded audio sample to the list, and now the waveform is also getting displayed.could you please review it

@pikurasa
Copy link
Collaborator

It seems to now play the sample via the widget, but it doesn't yet seem to be something that can be used in a user's code.

@Mubashirshariq did you test it? Does it work within a user's code for you?

@pikurasa
Copy link
Collaborator

This is my test:

sampler-test.webm

In the video:

  1. Pressing play for reference pitch, which did not seem to work the first time. Unsure why...
  2. Recording (you cannot hear my voice, because it is only recording audio from the output of the computer)
  3. Playback the recorded sound. This works! (Except the amplitude is not shown in visualization. This should be checked into.)
  4. Pressing play for reference pitch, which worked the second time.
  5. Re-recording the audio
  6. Saving
  7. Putting new sample into set instrument block
  8. Putting notes into set instrument generated by sampler
  9. Running the code

This represents a typical workflow

@Mubashirshariq
Copy link
Contributor Author

Mubashirshariq commented Mar 16, 2024

@walterbender @pikurasa i was going through the code i noticed one thing, do we need to record the audio in .wav format ,because while uploading file we are checking that if the file format is .wav then only we are adding that sample .I think that might be the reason for waveform of the recorded file not being displayed

@pikurasa
Copy link
Collaborator

@walterbender @pikurasa i was going through the code i noticed one thing, do we need to record the audio in .wav format ,because while uploading file we are checking that if the file format is .wav then only we are adding that sample .I think that might be the reason for waveform of the recorded file not being displayed

It may be that it must be in .wav format, but I'm not 100% certain.

Here are the instructions for adding a sample: https://github.com/sugarlabs/musicblocks/tree/master/sounds/samples which does not mention mp4 format, if that is helpful.

@walterbender Can you confirm, please?

@walterbender
Copy link
Member

I think that the file must be WAV in the current implementation.

@Mubashirshariq
Copy link
Contributor Author

Mubashirshariq commented Mar 28, 2024

@walterbender @pikurasa sir could you please review it now i have used webm2wav converter to convert audio/webm to .wav ,now i am able to see the waveform and also now i can use it in my code

@walterbender
Copy link
Member

Works for me. But I still don't see anything on the waveform/oscilloscope output.

@Mubashirshariq
Copy link
Contributor Author

@walterbender i am able to see the waveform i am sharing the below video for reference ,maybe the amplitude of your waveform was too small

screen-capture.1.webm

@walterbender
Copy link
Member

@pikurasa do you see activity on the waveform?

@pikurasa
Copy link
Collaborator

@pikurasa do you see activity on the waveform?

No, I don't.

I am currently testing on a3fe921

@pikurasa
Copy link
Collaborator

Also, watching that video, I'm confused. I would expect to see waveform activity soon after the record button was pushed. This is because it should be showing mic activity as the mic is recording.

@Mubashirshariq
Copy link
Contributor Author

@pikurasa now how it is working is like first it records the audio then the audio sample is added to our list ,then whenever click play button it displays the waveform.Do you want it like during recording itself the waveform should be displayed

@pikurasa
Copy link
Collaborator

Do you want it like during recording itself the waveform should be displayed

If that's not too much trouble, yes, that would be best.

Then the person recording has visual feedback as to how well the mic is getting the input, as well as whether the levels are too low or too high.

@Mubashirshariq
Copy link
Contributor Author

sure will do that

Copy link

This pull request has been open for more than 60 days without any activity. It will be closed in 3 days unless the stale label is removed or commented on.

@github-actions github-actions bot added the Stale label May 31, 2024
@pikurasa
Copy link
Collaborator

@Mubashirshariq It would be nice to land this. Do you have any particular questions, or do you need feedback on anything?

@github-actions github-actions bot removed the Stale label Jun 1, 2024
@Mubashirshariq
Copy link
Contributor Author

@pikurasa the issue I am facing is showing the waveform simultaneously while recording itself. I am not able to figure that out. However, once the recording is completed, pressing play button shows the waveform. If I try to use it in the code, it works well

@pikurasa
Copy link
Collaborator

pikurasa commented Jun 3, 2024

@pikurasa the issue I am facing is showing the waveform simultaneously while recording itself. I am not able to figure that out. However, once the recording is completed, pressing play button shows the waveform. If I try to use it in the code, it works well

Perhaps we don't need to have that feature for now.

But we should probably put some indication that recording is happening.

@Mubashirshariq
Copy link
Contributor Author

@pikurasa i am attaching few screenshots for your reference
1)Initially when the mic is off we have this symbol for mic

Screenshot from 2024-06-03 22-25-12

2)Once we hit the mic ,the symbol of mic is getting changed and also on the top msg is being displayed that recording started and playback button is disabled.

Screenshot from 2024-06-03 22-33-17

3)And when we hit the mic again the symbol changed back to default state we are showing the msg recording complete
and playback button is enabled.

Screenshot from 2024-06-03 22-33-28

4)Once i hit the play button i am able to see the waveform as follows

Screenshot from 2024-06-03 22-53-24

5)And once i click "save sample" then i am able to use it in my code as follows

Screenshot from 2024-06-03 22-43-17

@pikurasa
Copy link
Collaborator

I finally came around to testing this again, and I have some feedback:

  1. The "reference tone" feature doesn't seem to work until after you've recorded some audio. This is a bit awkward as the user would want to hear the pitch first to mimic it.
  2. There seems to be something that is causing all the "set instrument" blocks in a sequence to perform using the sample. You can see it in the recording linked below, but "set instrument = guitar" then "set instrment = sample" are both being performed as "set instrument = sample"; I'm including logs as well.
  3. It may be worth exporting the new sample together with the set instrument block.

127.0.0.1-1722299531560.log
sampler-widget-testing.webm

@pikurasa
Copy link
Collaborator

@nathannnie this branch would be a good one for you to experiment with.

@pikurasa
Copy link
Collaborator

@Mubashirshariq Please address the few remaining improvements to the implementation of this.

@Mubashirshariq
Copy link
Contributor Author

@pikurasa working on it!

@pikurasa
Copy link
Collaborator

@Mubashirshariq any updates on this?

Otherwise, we should probably just merge it, and add a feature request as an issue for live visual feedback of audio input.

@Mubashirshariq
Copy link
Contributor Author

@pikurasa I was busy with college work that is why I didn't had time to do this,but I think we can merge this and create a separate Ticket for live waveform

@Mubashirshariq
Copy link
Contributor Author

Mubashirshariq commented Sep 14, 2024

@walterbender I have resolved the merge conflict,I have created a separate ticket for live waveform we can merge this one and do the rest of thing in that issue.

@walterbender walterbender merged commit 3a1010f into sugarlabs:master Sep 14, 2024
3 checks passed
walterbender added a commit that referenced this pull request Sep 24, 2024
* fixes #3913

* fix:resolves grid position on hamburger opening(#3914) (#3924)

* fix:resolves hamburger opening(#3914)

* fix:fixes #3914(suggested changes done)

* adjust size of grid element repositioning when using aux toolbar

---------

Co-authored-by: Walter Bender <walter@sorcero.com>

* Fix input boxes (#3927)

* bump version

* enhancement: scale on hover (#3926)

Co-authored-by: anas2357 <141234155+anas2357@users.noreply.github.com>

* calculate frequencies from ratio

* Add close button to extended-menu pie menu (fixes #3933) (#3934)

* Bump braces and gulp (#3903)

Bumps [braces](https://github.com/micromatch/braces) to 3.0.3 and updates ancestor dependency [gulp](https://github.com/gulpjs/gulp). These dependencies need to be updated together.


Updates `braces` from 2.3.2 to 3.0.3
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/commits/3.0.3)

Updates `gulp` from 4.0.2 to 5.0.0
- [Release notes](https://github.com/gulpjs/gulp/releases)
- [Changelog](https://github.com/gulpjs/gulp/blob/master/CHANGELOG.md)
- [Commits](gulpjs/gulp@v4.0.2...v5.0.0)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
- dependency-name: gulp
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* add support for solfege accidentals in phrasemaker

* Add support for cents (#3937)

* add support for cents through semi-tone transposition

* add 50 cents macro

* add cents example

* add output frequencies

* fix issue with ratio cents

* add a ratio-cents example

* Ratio transpose and Ratio interval (#3936)

* use processPitch for all pitch types

* Add support for cents (#3937)

* add support for cents through semi-tone transposition

* add 50 cents macro

* add cents example

* add output frequencies

* fix issue with ratio cents

* add a ratio-cents example

* use processPitch for all pitch types

* convert freq to note before scalar step

* fix note convert

* remove extra comma throwing off indexing

* Hyperscore link update (#3939) (#3947)

* Update Hyperscore example link in guide.html (#3944)

* Update README.md (#3943)

* left_and_back_images (#3950)

* Updated Dockerfile  (#3949)

* Update README.md

* Update dockerfile

* remove yjs and socket.io dependecies

* Fixed #3956 Auto increasing and decreasing input block (#3957)

* fixes #3941

* fixes #3958

* Fixes collapsed state of note block (#3961)

* fixes issue with extra line number in JavaScript Editor (#3962)

* fixes sample block duplication issue (#3965)

* fixes sample block duplication issue

* changed error message

* updated error message

* updated planet image on documentation (#3971)

* updated planet image on documentation

fixes issue number: 3968

* updated images

* removed overlap between two images

* fix 1MB file size limit on audio sample imports (#3976)

* enforce 1MB limit on audio sample imports

* update sampler.js

* updated error msg

* update wheelnav.js (#3977)

* Fixes #3972 Highlight should not activate when code is being run (#3975)

* Fixes #3972 Highlight should not activate when code is being run

* optimized the code by using existing flag

* optimized the code by using existing flag

* fixes #3972

* removed extra code (#3980)

* Fixes #3973 Right click menu only opens in the advanced mode (#3978)

* Contextmenu only opens in advanced mode

* Added indentation and changed the if condition

* FIXES ISSUE #3895 Add alphabet "G" as a block found in easy mode  (#3979)

* FIXES ISSUE #3895 Add alphabet "G" as a block found in easy mode 

The requirement of this bug is to add the pitch G4 nad Alphabet G block in pitch menu of the beginner mode.

* FIXES ISSUE #3895 Add alphabet "G" and Sol as a block found in easy mode 

It adds the sol pitch block in the pitch menu of beginner's mode

* AI BLOCK and Documentation on How to add widget in MB (#3964)

* clean code , added comments

* added abc lib

* added debug statement

* fix : Formatting , Function method & method Func

* add function description

* added AI BLOCKS and DOCS

* change canvas to editor text

* changed canvas to edit text,added hint

* Fix: suggestion in AI Block & AI block structure

* added groq api

* Added midi support to MB (#3904)

* added midi support

* made corrections

* added note approximations

* added action blocks to start block

* added action block to start blk

* made corrections

* break also into multiple action block when noteblock count exceeds 24

* added break statement in case of no of  tracks more than 1

* added start blocks corresponding each track

* added meter and tempo information

* added scaling factor and load as midi feture

* added default timesignatures

* added drum mapper

* removed set instrument in case of percussion

* added an extra condtion when the new note start is less than previous note

* added minor changes

* removed the scaling factor earlier added

* added names to start blocks

* modifications for clarity

* add abacus example

* Rhythm block doesn't repeat issue update (#3982)

* Rhythm block doesn't repeat issue update

* removed console log messages

* added console log message for testing

* fixes #3931 Rhythm block doesn't repeat when outside of PhraseMaker

* add more steps to new palette instructions

* fix: remove redundant code to achieve DRY consistency (#3988)

* removed extra code

* update block.js

* update block.js (#3989)

* refactor: Simplify note processing logic, remove an empty file (#3991)

* Update drum block setup to make it more compact (#3992)

* refactor: update indexOf () === -1 to ! includes (#3993)

* update activity.js

* update block.js

* update activity.js

* Revert "update activity.js"

This reverts commit c61110f.

* update activity.js

* update blocks.js

* update piemenu.js

* update musicutils.js

* update blockfactory.js

* update turtle-singer.js

* update lilypond.js

* update logo.js

* update macros.js

* update palette.js

* update notation.js

* update DrumBlocks.js

* update GraphicsBlocks.js

* update PenBlocks.js

* used regex to shrink code (#3996)

* introduced a setupFunctions array to group all the setup function call, add uses export statements for BACKWARDCOMPATIBILIYDICT and initBasicProtoBlocks, instead of comments to indicate exports (#3994)

* Revert "introduced a setupFunctions array to group all the setup function call, add uses export statements for BACKWARDCOMPATIBILIYDICT and initBasicProtoBlocks, instead of comments to indicate exports (#3994)"

This reverts commit a6f3514.

* move all saved state into a single object (#3998)

* move all saved state into a single object, remove unnecessarya variable declarations

* re-add some variable names to avoid breaking code, and remove singer.notesPlayed

* refactor: update indexOf () === -1 to ! includes (#4001)

* update PitchBlocks.js

* update ProgramBlocks.js

* update VolumeBlocks.js

* update WidgetBlocks.js

* update IntervalsActions.js

* update PitchActions.js

* update RhythmActions.js

* update ToneActions.js

* update VolumeActions.js

* update utils.js

* update arpeggio.js

* update musickeyboards.js

* update phrasemaker.js

* update rhythmruler.js

* update generate.js

* update interface.js

* update mathutils.js

* update synthutils.js

* update help.js

* update helper.js

* ABC to MB Parser (#3925)

* clean code , added comments

* added abc lib

* added debug statement

* fix : Formatting , Function method & method Func

* add function description

---------

Co-authored-by: Walter Bender <walter@sugarlabs.org>

* clean up javascript formatting

* Feat/add record button and playback button in sampler widget (#3813)

* added recording and playback button

* upd

* added recording started,completed msg and button disabled when no url

* updated icons

* added sample for waveform

* upd

* added the required changes,play sample pitch,create sample with setinstrument

* FIXES ISSUE #4000 Regression: 'Set Default Instrument' Block Converts to 'Unknown' Block (#4006)

By this commit the set default instrument block is working fine.

* Add More Frequent "RUN LIVE" Links to Music Blocks Programming Guide (#3999)

* Added RUN LIVE option

* Added RUN LIVE option

* Added new RUN LIVE links

* use object lookup for convertDuration instead of switch (#4003)

* Streamline Drumname for early return of drum post http match, use object lookup (#4008)

* drum returns quicker post http match, use object lookup instead of a for loop

* add value matches

* chore: add textMsg-on-disconnect

* FIXES ISSUE #3921 Reexamine our default temperament list (#4010)

* Updating musicutils.js in order to change the name of the temperament name list 

FIXES ISSUE #3921 Reexamine our default temperament list

* Updating piemenus.js

FIXES ISSUE #3921 Reexamine our default temperament list
In order to fix all the names perfectly in the menu i increased the size of the basic pie menu for the temperament name block

* chore: remove $ operator

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Walter Bender <walter@sorcero.com>
Co-authored-by: Nikhil <154296996+BeNikk@users.noreply.github.com>
Co-authored-by: Anas <141234155+Anas-2357@users.noreply.github.com>
Co-authored-by: anas2357 <141234155+anas2357@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Walter Bender <walter@sugarlabs.org>
Co-authored-by: Harshit Verma <therealharshit014@gmail.com>
Co-authored-by: Geeten Parab <147247925+GeetenParab@users.noreply.github.com>
Co-authored-by: akilesh1706 <126157319+akilesh1706@users.noreply.github.com>
Co-authored-by: Khadar vali <124120102+khadar1020@users.noreply.github.com>
Co-authored-by: Muhammad Haroon <104259212+haroon10725@users.noreply.github.com>
Co-authored-by: AnupamGaur <86046454+AnupamGaur@users.noreply.github.com>
Co-authored-by: omsuneri <142336291+omsuneri@users.noreply.github.com>
Co-authored-by: abhijeet <102318826+abhijeetsingh0401@users.noreply.github.com>
Co-authored-by: Mubashir  Shariq <103755591+Mubashirshariq@users.noreply.github.com>
Co-authored-by: amrit <iamamrit27@gmail.com>
Co-authored-by: dubeanant <147899880+dubeanant@users.noreply.github.com>
walterbender added a commit that referenced this pull request Sep 27, 2024
…nd `Load project from file` events (#4014)

* fixes #3913

* fix:resolves grid position on hamburger opening(#3914) (#3924)

* fix:resolves hamburger opening(#3914)

* fix:fixes #3914(suggested changes done)

* adjust size of grid element repositioning when using aux toolbar

---------

Co-authored-by: Walter Bender <walter@sorcero.com>

* Fix input boxes (#3927)

* bump version

* enhancement: scale on hover (#3926)

Co-authored-by: anas2357 <141234155+anas2357@users.noreply.github.com>

* calculate frequencies from ratio

* Add close button to extended-menu pie menu (fixes #3933) (#3934)

* Bump braces and gulp (#3903)

Bumps [braces](https://github.com/micromatch/braces) to 3.0.3 and updates ancestor dependency [gulp](https://github.com/gulpjs/gulp). These dependencies need to be updated together.


Updates `braces` from 2.3.2 to 3.0.3
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/commits/3.0.3)

Updates `gulp` from 4.0.2 to 5.0.0
- [Release notes](https://github.com/gulpjs/gulp/releases)
- [Changelog](https://github.com/gulpjs/gulp/blob/master/CHANGELOG.md)
- [Commits](gulpjs/gulp@v4.0.2...v5.0.0)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
- dependency-name: gulp
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* add support for solfege accidentals in phrasemaker

* Add support for cents (#3937)

* add support for cents through semi-tone transposition

* add 50 cents macro

* add cents example

* add output frequencies

* fix issue with ratio cents

* add a ratio-cents example

* Ratio transpose and Ratio interval (#3936)

* use processPitch for all pitch types

* Add support for cents (#3937)

* add support for cents through semi-tone transposition

* add 50 cents macro

* add cents example

* add output frequencies

* fix issue with ratio cents

* add a ratio-cents example

* use processPitch for all pitch types

* convert freq to note before scalar step

* fix note convert

* remove extra comma throwing off indexing

* Hyperscore link update (#3939) (#3947)

* Update Hyperscore example link in guide.html (#3944)

* Update README.md (#3943)

* left_and_back_images (#3950)

* Updated Dockerfile  (#3949)

* Update README.md

* Update dockerfile

* remove yjs and socket.io dependecies

* Fixed #3956 Auto increasing and decreasing input block (#3957)

* fixes #3941

* fixes #3958

* Fixes collapsed state of note block (#3961)

* fixes issue with extra line number in JavaScript Editor (#3962)

* fixes sample block duplication issue (#3965)

* fixes sample block duplication issue

* changed error message

* updated error message

* updated planet image on documentation (#3971)

* updated planet image on documentation

fixes issue number: 3968

* updated images

* removed overlap between two images

* fix 1MB file size limit on audio sample imports (#3976)

* enforce 1MB limit on audio sample imports

* update sampler.js

* updated error msg

* update wheelnav.js (#3977)

* Fixes #3972 Highlight should not activate when code is being run (#3975)

* Fixes #3972 Highlight should not activate when code is being run

* optimized the code by using existing flag

* optimized the code by using existing flag

* fixes #3972

* removed extra code (#3980)

* Fixes #3973 Right click menu only opens in the advanced mode (#3978)

* Contextmenu only opens in advanced mode

* Added indentation and changed the if condition

* FIXES ISSUE #3895 Add alphabet "G" as a block found in easy mode  (#3979)

* FIXES ISSUE #3895 Add alphabet "G" as a block found in easy mode 

The requirement of this bug is to add the pitch G4 nad Alphabet G block in pitch menu of the beginner mode.

* FIXES ISSUE #3895 Add alphabet "G" and Sol as a block found in easy mode 

It adds the sol pitch block in the pitch menu of beginner's mode

* AI BLOCK and Documentation on How to add widget in MB (#3964)

* clean code , added comments

* added abc lib

* added debug statement

* fix : Formatting , Function method & method Func

* add function description

* added AI BLOCKS and DOCS

* change canvas to editor text

* changed canvas to edit text,added hint

* Fix: suggestion in AI Block & AI block structure

* added groq api

* Added midi support to MB (#3904)

* added midi support

* made corrections

* added note approximations

* added action blocks to start block

* added action block to start blk

* made corrections

* break also into multiple action block when noteblock count exceeds 24

* added break statement in case of no of  tracks more than 1

* added start blocks corresponding each track

* added meter and tempo information

* added scaling factor and load as midi feture

* added default timesignatures

* added drum mapper

* removed set instrument in case of percussion

* added an extra condtion when the new note start is less than previous note

* added minor changes

* removed the scaling factor earlier added

* added names to start blocks

* modifications for clarity

* add abacus example

* Rhythm block doesn't repeat issue update (#3982)

* Rhythm block doesn't repeat issue update

* removed console log messages

* added console log message for testing

* fixes #3931 Rhythm block doesn't repeat when outside of PhraseMaker

* add more steps to new palette instructions

* fix: remove redundant code to achieve DRY consistency (#3988)

* removed extra code

* update block.js

* update block.js (#3989)

* refactor: Simplify note processing logic, remove an empty file (#3991)

* Update drum block setup to make it more compact (#3992)

* refactor: update indexOf () === -1 to ! includes (#3993)

* update activity.js

* update block.js

* update activity.js

* Revert "update activity.js"

This reverts commit c61110f.

* update activity.js

* update blocks.js

* update piemenu.js

* update musicutils.js

* update blockfactory.js

* update turtle-singer.js

* update lilypond.js

* update logo.js

* update macros.js

* update palette.js

* update notation.js

* update DrumBlocks.js

* update GraphicsBlocks.js

* update PenBlocks.js

* used regex to shrink code (#3996)

* introduced a setupFunctions array to group all the setup function call, add uses export statements for BACKWARDCOMPATIBILIYDICT and initBasicProtoBlocks, instead of comments to indicate exports (#3994)

* Revert "introduced a setupFunctions array to group all the setup function call, add uses export statements for BACKWARDCOMPATIBILIYDICT and initBasicProtoBlocks, instead of comments to indicate exports (#3994)"

This reverts commit a6f3514.

* move all saved state into a single object (#3998)

* move all saved state into a single object, remove unnecessarya variable declarations

* re-add some variable names to avoid breaking code, and remove singer.notesPlayed

* refactor: update indexOf () === -1 to ! includes (#4001)

* update PitchBlocks.js

* update ProgramBlocks.js

* update VolumeBlocks.js

* update WidgetBlocks.js

* update IntervalsActions.js

* update PitchActions.js

* update RhythmActions.js

* update ToneActions.js

* update VolumeActions.js

* update utils.js

* update arpeggio.js

* update musickeyboards.js

* update phrasemaker.js

* update rhythmruler.js

* update generate.js

* update interface.js

* update mathutils.js

* update synthutils.js

* update help.js

* update helper.js

* ABC to MB Parser (#3925)

* clean code , added comments

* added abc lib

* added debug statement

* fix : Formatting , Function method & method Func

* add function description

---------

Co-authored-by: Walter Bender <walter@sugarlabs.org>

* clean up javascript formatting

* Feat/add record button and playback button in sampler widget (#3813)

* added recording and playback button

* upd

* added recording started,completed msg and button disabled when no url

* updated icons

* added sample for waveform

* upd

* added the required changes,play sample pitch,create sample with setinstrument

* FIXES ISSUE #4000 Regression: 'Set Default Instrument' Block Converts to 'Unknown' Block (#4006)

By this commit the set default instrument block is working fine.

* Add More Frequent "RUN LIVE" Links to Music Blocks Programming Guide (#3999)

* Added RUN LIVE option

* Added RUN LIVE option

* Added new RUN LIVE links

* use object lookup for convertDuration instead of switch (#4003)

* Streamline Drumname for early return of drum post http match, use object lookup (#4008)

* drum returns quicker post http match, use object lookup instead of a for loop

* add value matches

* FIXES ISSUE #3921 Reexamine our default temperament list (#4010)

* Updating musicutils.js in order to change the name of the temperament name list 

FIXES ISSUE #3921 Reexamine our default temperament list

* Updating piemenus.js

FIXES ISSUE #3921 Reexamine our default temperament list
In order to fix all the names perfectly in the menu i increased the size of the basic pie menu for the temperament name block

* new strings

* string repair

* new strings

* feat: add event for exit-collaboration

* feat: add flag to indicate exit of user

* feat: function to remove mouses, set the flag and disconnect

* feat: emit exit-collaboration event on new-project, load-project-from-file

* feat: emit exit-collaboration event on new-project in planet

* feat: listen exit-collaboration event and exit the collaboration

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Walter Bender <walter@sorcero.com>
Co-authored-by: Nikhil <154296996+BeNikk@users.noreply.github.com>
Co-authored-by: Anas <141234155+Anas-2357@users.noreply.github.com>
Co-authored-by: anas2357 <141234155+anas2357@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Walter Bender <walter@sugarlabs.org>
Co-authored-by: Harshit Verma <therealharshit014@gmail.com>
Co-authored-by: Geeten Parab <147247925+GeetenParab@users.noreply.github.com>
Co-authored-by: akilesh1706 <126157319+akilesh1706@users.noreply.github.com>
Co-authored-by: Khadar vali <124120102+khadar1020@users.noreply.github.com>
Co-authored-by: Muhammad Haroon <104259212+haroon10725@users.noreply.github.com>
Co-authored-by: AnupamGaur <86046454+AnupamGaur@users.noreply.github.com>
Co-authored-by: omsuneri <142336291+omsuneri@users.noreply.github.com>
Co-authored-by: abhijeet <102318826+abhijeetsingh0401@users.noreply.github.com>
Co-authored-by: Mubashir  Shariq <103755591+Mubashirshariq@users.noreply.github.com>
Co-authored-by: amrit <iamamrit27@gmail.com>
Co-authored-by: dubeanant <147899880+dubeanant@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sample widget improvements
3 participants