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

Added midi support to MB #3904

Merged
merged 19 commits into from
Aug 26, 2024
Merged

Conversation

Mubashirshariq
Copy link
Contributor

Added midi support to Music Blocks

@walterbender
Copy link
Member

The first block inside the clamp of an Action Block is a Hidden Block. But the Action Blocks don't need a Hidden Block afterward. Note Blocks (all clamp blocks that can be connected to other clamp blocks) need a Hidden Block afterwards.

[
[0,["start"],988,100,[null,1,null]],
[1,"settimbre",1002,141,[0,2,3,4]],
[2,["voicename",{"value":"guitar"}],1162,141,[1]],
[3,["nameddo",{"value":"action"}],1016,173,[1,null]],
[4,"hidden",1002,236,[1,null]],

[5,["action",{"collapsed":false}],513,96,[null,6,7,null]],
[6,["text",{"value":"action"}],645,105,[5]],
[7,"hidden",527,137,[5,8]],
[8,["newnote",{"collapsed":false}],527,137,[7,9,12,16]],
[9,"divide",629,137,[8,10,11]],
[10,["number",{"value":1}],715,137,[9]],
[11,["number",{"value":4}],715,169,[9]],
[12,"vspace",541,169,[8,13]],
[13,"pitch",541,201,[12,14,15,null]],
[14,["solfege",{"value":"sol"}],615,201,[13]],
[15,["number",{"value":4}],615,233,[13]],
[16,"hidden",527,295,[8,null]]
]

@Mubashirshariq
Copy link
Contributor Author

Davy-Jones (1).zip

@walterbender i have attached the zip which contains the midi file

@pikurasa
Copy link
Collaborator

I am doing some testing today.

I imported Davy Jones, then, as I was making some corrections for you to study, something strange happened. Action blocks where connecting behind other Action blocks. Then, when I tried to move them, they disappeared completely.

I'll try to find the easiest way to reproduce this, but, for the time being, here's the last part of my logs:

Did not find match for hidden (312) and newnote (313)
blocks.js:938 Array(2)
blocks.js:940 Array(4)
blocks.js:926 Did not find match for hidden (312) and newnote (313)
blocks.js:938 Array(2)
blocks.js:940 Array(4)
blocks.js:926 Did not find match for hidden (312) and newnote (313)
blocks.js:938 Array(2)
blocks.js:940 Array(4)
blocks.js:926 Did not find match for hidden (312) and newnote (313)
blocks.js:938 Array(2)
blocks.js:940 Array(4)
blocks.js:926 Did not find match for hidden (312) and newnote (313)
blocks.js:938 Array(2)
blocks.js:940 Array(4)
blocks.js:926 Did not find match for hidden (312) and newnote (313)
blocks.js:938 Array(2)
blocks.js:940 Array(4)
blocks.js:926 Did not find match for hidden (312) and newnote (313)
blocks.js:938 Array(2)
blocks.js:940 Array(4)
blocks.js:926 Did not find match for hidden (312) and newnote (313)
blocks.js:938 Array(2)
blocks.js:940 Array(4)
blocks.js:2129 Infinite loop checking for expandables?
blocks.js:2131 Array(519)
blocks.js:926 Did not find match for hidden (312) and newnote (313)
blocks.js:938 Array(2)
blocks.js:940 Array(4)
blocks.js:2689 infinite loop finding topBlock?
blocks.js:2691 288 hidden
blocks.js:3638 Maximum loop counter exceeded in calculateDragGroup... this is bad. 295
2blocks.js:3638 Maximum loop counter exceeded in calculateDragGroup... this is bad. 296
blocks.js:2689 infinite loop finding topBlock?
blocks.js:2691 288 hidden
blocks.js:1503 Infinite loop encountered checking for expandables?
blocks.js:926 Did not find match for hidden (312) and newnote (313)
blocks.js:938 Array(2)
blocks.js:940 Array(4)
blocks.js:2129 Infinite loop checking for expandables?
blocks.js:2131 Array(519)
blocks.js:926 Did not find match for hidden (312) and newnote (313)
blocks.js:938 Array(2)
blocks.js:940 Array(4)
11blocks.js:3638 Maximum loop counter exceeded in calculateDragGroup... this is bad. 296
blocks.js:2689 infinite loop finding topBlock?
blocks.js:2691 288 hidden
blocks.js:1503 Infinite loop encountered checking for expandables?
blocks.js:926 Did not find match for hidden (312) and newnote (313)
blocks.js:938 Array(2)
blocks.js:940 Array(4)

And full log:
MIDI-test-Davy-Jones-1719264829443.log

All files I saved during testing:
all-test-files.zip

@pikurasa
Copy link
Collaborator

Here's a video of a full reproduction of what I did that lead to the problem:

blocks-are-a-mess.webm

And this is the log:

Block-mess-1719265511589.log

I'll see if I can find a more succinct way to reproduce the issue.

@pikurasa pikurasa mentioned this pull request Jun 28, 2024
@pikurasa
Copy link
Collaborator

I tested a different file, which seems to have exposed something strange.

Please see the behavior of the blocks in this video:

MIDI-test.webm

The file I used to create this is here:

AUD_HTX0675.zip

(I found it here: https://www.mididb.com/arijit-singh/asoch-na-sake-midi/)

@pikurasa
Copy link
Collaborator

I kind of suspect that it's not yet trimming the MIDI file in a smart way. This is because it's typically the last few action blocks that are problematic.

@pikurasa
Copy link
Collaborator

I did a test where I generated a MIDI from https://tones.wolfram.com/ and tried to import it into your latest commit (#06b7c335e).

I'm getting these errors:

activity.js:3702 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'timeSignature')
    at Activity.transcribeMidi (activity.js:3702:79)
    at midiReader.onload (activity.js:5959:26)
activity.js:5861 
t
activity.js:3702 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'timeSignature')
    at Activity.transcribeMidi (activity.js:3702:79)
    at midiReader.onload (activity.js:5862:30)
index.html:1 Access to internal resource at 'file:///home/devinulibarri/Computer-Code/musicblocks-all/walter-bender-musicblocks/android_chrome_manifest.json' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome, https, chrome-untrusted.

If it's getting a time signature of "undefined", we should probably just give it the default value of 90. (But I'm not totally certain that's what the issue is here.)

@Mubashirshariq
Copy link
Contributor Author

Mubashirshariq commented Jul 16, 2024

@pikurasa this midi file doesn't contain time signatures that is why it is showing error,what default value should i keep,tempo i had already set 90 as default if it is not there

@pikurasa
Copy link
Collaborator

@pikurasa this midi file doesn't contain time signatures that is why it is showing error,what default value should i keep,tempo i had already set 90 as default if it is not there

The problem is that it's not loading the MIDI at all from within Music Blocks. Does it load for you?

@Mubashirshariq
Copy link
Contributor Author

what default value should i set for timesignature array , i will add them then you test it will work .since in this case there is no timesignatures it is accessing timesignauture array which has no value it

@pikurasa
Copy link
Collaborator

Let's just do 90 when there is no timesignature specified.

@pikurasa
Copy link
Collaborator

I tested from 31ecd82, and it works now.

@walterbender
Copy link
Member

@pikurasa so ready to merge?

@pikurasa
Copy link
Collaborator

@pikurasa so ready to merge?

Yes.

@pikurasa
Copy link
Collaborator

Yes... but there is certainly still work to be done.

We seem to be getting a lot of duplicate notes, and the octave seems to be too low, in addition to the tempo being too slow.

Test from Wolfram Tones: https://youtu.be/ebcPLCI-hXw

@pikurasa
Copy link
Collaborator

Here's a test from a MIDI generated from one of my arrangements of Rudolph the Red Nosed Reindeer:

https://youtu.be/8v4W6K7S3Vk

The results are much better than from MIDI created via Wolfram Tones.

It does seem to be calculating the following two things incorrectly:

  • The rest (silence) of the second voice before the first (top) voice begins. Right now, there is no rest, so the timing of the performance together is off.
  • The tuplets are not being calculated correctly.

It's a bit challenging to correct, but you can see me correct it in the video.

I'm also attaching the following package of various tests:

I'll try to make a more thorough correction of the MIDI import in a bit.

@pikurasa
Copy link
Collaborator

Here's a completely corrected version: Rudolph-Corrected.zip

Notes:

  • For efficiency, I used "Multiply Note value" to modify the note value of consecutive note blocks. The triplets were all off by a factor of 4:3. The ones that imported as 1/8 should have been 1/6, and the ones that imported as 1/16 should have been 1/12. As the melody switches between duples and triples, please pay special attention to where those sections are as you debug the issue.
  • As mentioned in the previous comment, the pickup was missed. There should have been a quarter rest at the beginning in the voice that has the lower notes / chords. Optionally, you could also add a pickup block as I have added in this file. This helps generate an accurate Lilypond file, and it also helps when you use something like "On Strong Beat Do" and "On Weak Beat Do".
  • I found another missing rest in the lower voice. In the lower voice there is a rest of 1/1. There should be another rest of 1/1 after it.

@Mubashirshariq I hope this helps! If you have any questions, please let me know.

@pikurasa
Copy link
Collaborator

Here's a possible mapping give our current collection of drum sounds:

+------+--------+----------+--------+
|MIDI  |Drum    |MIDI      |Pitch   |
|number|in MB   |sound     |        |
+------+--------+----------+--------+
|35    |Bass    |Acoustic  |B1      |
|      |Drum    |Bass      |        |
|      |        |Drum      |        |
+------+--------+----------+--------+
|36    |Kick    |Electric  |C2      |
|      |Drum    |Bass      |        |
|      |        |Drum      |        |
+------+--------+----------+--------+
|37    |Cup Drum|Side      |C#2     |
|      |        |Stick     |        |
|      |        |          |        |
+------+--------+----------+--------+
|38    |Snare   |Acoustic  |D2      |
|      |Drum    |Snare     |        |
|      |        |Drum      |        |
+------+--------+----------+--------+
|40    |Snare   |Electric  |E2      |
|      |Drum    |Snare     |        |
|      |        |Drum      |        |
+------+--------+----------+--------+
|39    |Clap    |Hand      |D#2     |
|      |        |Clap      |        |
+------+--------+----------+--------+
|41    |Floor   |Low       |F2      |
|      |Tom     |Floor     |        |
|      |        |Tom       |        |
+------+--------+----------+--------+
|43    |Floor   |High      |G2      |
|      |Tom     |Floor     |        |
|      |        |Tom       |        |
+------+--------+----------+--------+
|45    |Floor   |Low Tom   |A2      |
|      |Tom     |          |        |
+------+--------+----------+--------+
|42    |Hi      |Closed    |F#2     |
|      |Hat     |Hi-hat    |        |
+------+--------+----------+--------+
|44    |Hi      |Pedal     |G#2     |
|      |Hat     |Hi-Hat    |        |
+------+--------+----------+--------+
|46    |Hi      |Open      |A#2     |
|      |Hat     |Hi-Hat    |        |
+------+--------+----------+--------+
|47    |Tom     |Low-mid   |B2      |
|      |Tom     |Tom       |        |
|      |        |          |        |
+------+--------+----------+--------+
|48    |Tom     |Hi-Mid    |C3      |
|      |Tom     |Tom       |        |
+------+--------+----------+--------+
|49    |Crash   |Crash     |C#3     |
|      |        |Cymbal    |        |
+------+--------+----------+--------+
|51    |Crash   |Ride      |D#3     |
|      |        |Cymbal    |        |
+------+--------+----------+--------+
|55    |Crash   |Splash    |G3      |
|      |        |Cymbal    |        |
+------+--------+----------+--------+
|57    |Crash   |Crash     |A3      |
|      |        |Cymbal    |        |
+------+--------+----------+--------+
|59    |Crash   |Ride      |B3      |
|      |        |Cymbal    |        |
+------+--------+----------+--------+
|50    |Tom     |High Tom  |D3      |
|      |Tom     |          |        |
+------+--------+----------+--------+
|52    |Finger  |Chinese   |E3      |
|      |Cymbals |Cymbal    |        |
+------+--------+----------+--------+
|53    |Ride    |Ride      |F3      |
|      |Bell    |Bell      |        |
+------+--------+----------+--------+
|60    |Darbuka |Hi Bongo  |C4      |
|      |Drum    |          |        |
+------+--------+----------+--------+
|62    |Darbuka |Mute Hi   |D4      |
|      |Drum    |Conga     |        |
+------+--------+----------+--------+
|63    |Darbuka |Open Hi   |Eb4     |
|      |Drum    |Conga     |        |
+------+--------+----------+--------+
|65    |Darbuka |High      |F4      |
|      |Drum    |Timbale   |        |
+------+--------+----------+--------+
|67    |Raindrop|High      |G4      |
|      |        |Agogo     |        |
+------+--------+----------+--------+
|69    |Raindrop|Cabasa    |A4      |
|      |        |          |        |
+------+--------+----------+--------+
|56    |Cow     |Cowbell   |G#3     |
|      |Bell    |          |        |
+------+--------+----------+--------+
|64    |Japanese|Low       |E4      |
|      |Drum    |Conga     |        |
+------+--------+----------+--------+
|66    |Japanese|Low       |F#4     |
|      |Drum    |Timbale   |        |
+------+--------+----------+--------+
|68    |Japanese|Low Agogo |G#4     |
|      |Drum    |          |        |
+------+--------+----------+--------+
|73    |Cup Drum|Short     |D#5     |
|      |        |guiro     |        |
+------+--------+----------+--------+
|71    |Gong    |Short     |B4      |
|      |        |Whistle   |        |
+------+--------+----------+--------+
|72    |Gong    |Long      |C4      |
|      |        |Whistle   |        |
+------+--------+----------+--------+
|76    |Slap    |Hi Wood   |E5      |
|      |        |Block     |        |
+------+--------+----------+--------+
|77    |Slap    |Low Wood  |F5      |
|      |        |Block     |        |
+------+--------+----------+--------+
|70    |Clang   |Maracas   |A#4     |
|      |        |          |        |
+------+--------+----------+--------+
|54    |Chime   |Tambourine|F#3     |
|      |        |          |        |
+------+--------+----------+--------+
|58    |Chime   |Vibraslap |A#3     |
|      |        |          |        |
+------+--------+----------+--------+
|78    |Chime   |Mute Cuica|F#5     |
|      |        |          |        |
+------+--------+----------+--------+
|79    |Chime   |Open Cuica|G5      |
|      |        |          |        |
+------+--------+----------+--------+
|80    |Triangle|Closed    |G#5     |
|      |Bell    |Triangle  |        |
+------+--------+----------+--------+
|81    |Triangle|Open      |A5      |
|      |Bell    |Triangle  |        |
+------+--------+----------+--------+

A MB file with the pitch mappings:
Conversion-MIDI-reviewed.zip

Note: Although this has had a review, there may still be some errors. Even so, it's not a perfect science, so feel free to make changes.

@pikurasa
Copy link
Collaborator

I did some testing, and it may be that something isn't quite working right with "map pitch to drum".

For example, F#2, G#2, and A#2 should all be converted to "hi hat", but they are not doing that right now.

(I'm wondering if it's skipping sharps, but I haven't tested enough to be certain of that.)

@walterbender I think we can merge this and work on that issue separately.

@Mubashirshariq if you have any bandwidth, you could look into "map pitch to drum" and see why some of the pitches, despite being spelled out in our big action block, are not being mapped to drums. This work can be done in a separate branch, if you do it.

@Mubashirshariq
Copy link
Contributor Author

Yeah sure I will open a separate PR for tha

@walterbender
Copy link
Member

@Mubashirshariq could you please rebase from master to resolve the merge conflicts. Thx.

@Mubashirshariq
Copy link
Contributor Author

@walterbender i have solved the merge confilct

@walterbender walterbender merged commit 411cd87 into sugarlabs:master Aug 26, 2024
3 checks passed
walterbender added a commit that referenced this pull request Aug 29, 2024
…stom and random names. (#3984)

* 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

* create a new class for collaboration cursor

* Import collabcursor file

* Add logic to take name from the user

* Implement collaboration mouse functionality

* Implement random name functionality

* 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 scrolling issue

---------

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>
walterbender added a commit that referenced this pull request Sep 10, 2024
…ration` button. (#3997)

* 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.

* chore: remove socketio lib bundle

* chore: remove yjs lib bundle

* chore: remove socketio and yjs imports

* chore: remove collaboraion button (ui and logic both)

---------

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>
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>
walterbender added a commit that referenced this pull request Oct 13, 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

* 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

* add missing translation

* cleanup

* reuse strings

* update sampler.js (#4013)

* fix all lint + Base64Encode errors (#4015)

* revert part of 4015

* Fixed mouse event malfunctioning (#4021)

* FIXME: Implement pickup measures and multi-voice support in abc.js (#4020)

* fix the pickup todo in abc notation

* remove todo

* Fix search box hover behavior replacing input text (#4027)

* Fix search box hover behavior replacing input text

* Fix hover behavior and improve scrolling for search box

* Remove line as weblate has issue with parsing it.

Signed-off-by: Chihurumnaya Ibiam <ibiam@sugarlabs.org>

* Remove other comments

Weblate seems to have issues with parsing them.

Signed-off-by: Chihurumnaya Ibiam <ibiam@sugarlabs.org>

* Revert "Remove line as weblate has issue with parsing it."

This reverts commit 5abca9c.

Signed-off-by: Chihurumnaya Ibiam <ibiam@sugarlabs.org>

* Weblate now parses po files.

Adding msgstr and msgid at the top of the files makes
it easy for weblate to parse.

Signed-off-by: Chihurumnaya Ibiam <ibiam@sugarlabs.org>

* FIXES ISSUE #4018 More default EDOs for temperament (#4022)

By these changes user can experience some of the most common Equal temperaments 
Equal 5EDO
Equal 7EDO
Equal 19EDO
Equal 31EDO

* new strings

* new strings

* add missing header strings

* FIXES ISSUE #4018 More default EDOs for temperament (#4029)

changes the define temperament block's frequency selection from division to exponential format

* fix all eslint errors along with base64encode error (#4030)

* fix eslint & renderLanguageSelectIcon logic (#4031)

* docs: add documentation for collaboration

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Chihurumnaya Ibiam <ibiam@sugarlabs.org>
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>
Co-authored-by: Soumyaranjan Panda <84384924+soumyaranjan-panda@users.noreply.github.com>
Co-authored-by: Chihurumnaya Ibiam <ibiam@sugarlabs.org>
Co-authored-by: Ajeet Pratap Singh <ajeetpratapsingh@Ajeets-MacBook-Air.local>
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.

3 participants