Skip to content

Commit 69dbfec

Browse files
committed
gsoc-25-firepheonix-week-03
1 parent bc60e09 commit 69dbfec

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
---
2+
title: "GSoC '25 Week 03 Update by Shubham Singh"
3+
excerpt: "Mapped Music from Synthutils to LegoBricks. Completed LegoBricks Wdiget UIs"
4+
category: "DEVELOPER NEWS"
5+
date: "2025-06-25"
6+
slug: "2025-06-25-gsoc-25-firepheonix-week03"
7+
author: "@/constants/MarkdownFiles/authors/shubham-singh.md"
8+
tags:
9+
- gsoc25
10+
- sugarlabs
11+
- week02
12+
- firepheonix
13+
image: "assets/Images/GSOC.png"
14+
---
15+
16+
<!-- markdownlint-disable -->
17+
18+
# Week 3 Progress Report by Shubham Singh
19+
20+
**Project:** [Color Sensor for Music Blocks](https://github.com/sugarlabs/musicblocks/issues/4537)
21+
**Mentors:** [Devin Ulibarri](https://github.com/pikurasa), [Walter Bender](https://github.com/walterbender)
22+
**Reporting Period:** 2025-06-016 – 2025-06-22
23+
24+
---
25+
26+
## Goals for This Week
27+
28+
- Complete UIs for image upload, webcam integration to music blocks.
29+
- Integrating audios from Synth Sampler to LegoBricks widget.
30+
- Researching existing audio integration patterns in the phrase maker and note blocks.
31+
32+
---
33+
34+
## This Week's Achievements
35+
36+
1. **Complete Image upload facility into Lego Bricks Widget.**
37+
- Integrated image upload support within the LegoBricks widget, enabling external image input directly on the Music Blocks canvas.
38+
- Created a new block type by modifying six core files across the codebase.
39+
- The codebase proved beautifully encapsulated and thoroughly documented, making the learning curve smoother.
40+
![Completed UIs](https://i.ibb.co/39pZpDGv/Music-Blocks-Google-Chrome-28-06-2025-07-13-38.png)
41+
42+
![Putting images on lego bricks widget](https://i.ibb.co/203Mjsdk/Music-Blocks-Google-Chrome-28-06-2025-07-14-47.png)
43+
44+
2. **Real-time Video Integration**
45+
- Implemented real-time video functionality through webcam integration.
46+
- Enabled real-time video streaming, with support for dynamic canvas manipulation and block interaction.
47+
- Made grided interface for addition of both image and webcam. Made changes for adjusting.
48+
49+
<iframe width="800" height="400" src="https://www.youtube.com/embed/HG6C0ZX7QRA?si=OIGvtD4qpwxMmb8W" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
50+
51+
3. **Addition of music notations to Lego Bricks widget**
52+
- Researched about where audio samples lie.
53+
- Deep-dived into Phrase Maker, Synth Sampler widget documentation and codebase.
54+
- Applied music samples to Music Blocks.
55+
56+
<iframe width="800" height="400" src="https://www.youtube.com/embed/PwuPtACP8WM?si=NpfkLI-4SUVkVeU7" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
57+
58+
---
59+
60+
## Challenges & How I Overcame Them
61+
62+
- **Challenge:** Music Blocks didn't have any code for integrating webcam video on to the Music Blocks interface.
63+
**Solution:** Researched some stack overflow resources and added the webcam video on to the legobricks widget canvas.
64+
- **Challenge:** Finding out where the SVGs and existing phrase maker and synthsampler audio files lie.
65+
**Solution:** Asked my mentor, Walter Bender in Wednesday's meet. Saw some previous PRs inside of music blocks itself, related to phrase maker, related to synth sampler.
66+
67+
---
68+
69+
## Key Learnings
70+
71+
- Gained comprehensive understanding of **synth utils** and how **music samples are being exported to other blocks**
72+
- Deepened appreciation for **code architecture** including inheritance patterns, code modularity, and custom return types within the Music Blocks ecosystem.
73+
- Improved skills in **development workflow** including exports, imports, code reusability, documentation practices, and collaborative development workflows.
74+
75+
---
76+
77+
## Next Week's Roadmap
78+
79+
- Implement complete Core Implementation of Scanning the Lego Blocks image on the X-axis.
80+
- Next to Next week -> Test for shadow handling
81+
- Focus on algorithmic challenges for note-to-color mapping system.
82+
83+
---
84+
85+
## Resources & References
86+
87+
- **Project Issue:** [Color Sensor for Music Blocks](https://github.com/sugarlabs/musicblocks/issues/4537)
88+
- **Music Blocks Repository:** [sugarlabs/musicblocks](https://github.com/sugarlabs/musicblocks)
89+
- **Documentation:** Music Blocks Developer Guide
90+
91+
---
92+
93+
## Acknowledgments
94+
95+
Thank you to my mentors [Walter Bender](https://github.com/walterbender) and [Devin Ulibarri](https://github.com/pikurasa) for invaluable guidance throughout this development phase. Special thanks to Walter. A lot of code of Music Blocks was written by Walter, he has a very good knowledge of this code base. Can completely rely on him for help. He also helped this week as well.
96+
97+
---

0 commit comments

Comments
 (0)