Skip to content

Commit e8e7c30

Browse files
committed
Fix section size
1 parent a0ced9d commit e8e7c30

1 file changed

Lines changed: 18 additions & 18 deletions

File tree

content/news/XXXX-XX-XX-gsoc2025-report-AntonioGiordano.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ comments: yes
77

88
Hello everyone! I’m **Antonio Giordano**, and I’m excited to share the results of my **Google Summer of Code 2025** work on Mixxx. We’ve introduced **true multi-genre support** with smart autocompletion, a cleaner editing experience, and tools to migrate your existing library—without breaking your flow.
99

10-
## Project Vision & Evolution
10+
### Project Vision & Evolution
1111

1212
Our goal was to give DJs flexible, reliable control over genres—beyond a single free-text field. In earlier versions, you could type multiple genres (e.g., `Dance/Electronic/House`), but Mixxx treated that as **plain text**. It couldn’t understand or manage individual tags.
1313

1414
To get this right, we started with a **solid multi-genre foundation** that’s fast, consistent, and future-friendly. This foundation paves the way for richer features like hierarchical genres.
1515

16-
## What’s New
16+
### What’s New
1717

18-
### 1 Single-Track Genre Editing (Chip UI + Autocomplete)
18+
**1 Single-Track Genre Editing (Chip UI + Autocomplete)**
1919

2020
The **Track Properties** dialog now shows genres as compact **chips** with a white **×** to remove, plus **autocomplete** to add existing genres quickly.
2121

@@ -26,23 +26,23 @@ The **Track Properties** dialog now shows genres as compact **chips** with a
2626

2727
**Note:** If you type a genre that doesn’t exist yet, Mixxx keeps it as a literal. You can map it later using the Orphan Genres tool (see below).
2828

29-
### 2 Multi-Track Editing (Experimental)
29+
**2 Multi-Track Editing (Experimental)**
3030

3131
You can now edit genres across multiple tracks in one go (experimental):
3232

3333
- **Common view:** shows the **intersection** of genres shared by all selected tracks.
3434
- **Batch operations:** add or remove genres for the whole selection.
3535
- **Safe by design:** unique per-track genres are preserved.
3636

37-
### 3 A Smarter Library: Tree, Counts, and Drag & Drop
37+
**3 A Smarter Library: Tree, Counts, and Drag & Drop**
3838

3939
Genres now live in a **tree**. Each node shows **track count** and **total duration**. When you select a track, the genres it belongs to become **bold** in the tree—crate-like ergonomics for quick navigation.
4040

4141
- **Drag & drop:** drag tracks from the Tracklist onto a genre to assign it.
4242
- **Quick menu:** right-click a track then **Genres** to (de)select on the fly.
4343
- **Rename safely:** renaming a genre changes the **name**, not the ID, so tracks keep their associations.
4444

45-
### 4 Clean Migration: “Orphan Genres”
45+
**4 Clean Migration: “Orphan Genres”**
4646

4747
If your library contains free-text genres, Mixxx detects **orphans** and helps you clean them up:
4848

@@ -51,7 +51,7 @@ If your library contains free-text genres, Mixxx detects **orphans** and helps
5151
- Multi-word strings appear as both a full string *and* individual tokens; add the full string first if you want to keep it as a single genre.
5252

5353

54-
## Why This Matters for DJs
54+
### Why This Matters for DJs
5555

5656
**Before:**
5757

@@ -70,41 +70,41 @@ If your library contains free-text genres, Mixxx detects **orphans** and helps
7070
- **Library-aware:** a genre tree with counts, duration, and drag & drop.
7171
- **Backwards-compatible:** your library keeps working; migrate at your pace.
7272

73-
## How to Use It
73+
### How to Use It
7474

75-
### Single Track
75+
**Single Track**
7676

7777
1. Right-click a track, **Properties**.
7878
2. In **Genre**, start typing and pick from autocomplete.
7979
3. Click the **×** to remove a tag.
8080
4. **OK** or **Apply** to save.
8181

82-
### Multi Track (Experimental)
82+
**Multi Track (Experimental)**
8383

8484
1. Select multiple tracks then right-click then **Properties**.
8585
2. See the **common** genres across the selection.
8686
3. Add or remove tags in bulk.
8787
4. Save: Mixxx preserves track-specific genres.
8888

89-
### Clean Up Old Text Tags
89+
**Clean Up Old Text Tags**
9090

9191
1. In the genre tree, right-click the **root** then **Edit Orphan Genres**.
9292
2. **Add** new genres or **Link** strings to existing ones.
9393
3. Repeat as needed, your sets keep running.
9494

95-
## Under the Hood (Brief)
95+
**Under the Hood (Brief)**
9696

9797
- **Stable IDs** for genres and a fast **join table** (`genre_tracks`) so filtering and counts are snappy.
9898
- A central **Genre DAO** (data access layer) that maps between IDs and names and normalizes raw data.
9999
- The UI always shows **human-friendly names**; the storage format stays robust behind the scenes.
100100

101-
## Demo video (quick tour)
101+
### Demo video (quick tour)
102102

103-
@Video(https://www.youtube.com/watch?v=5vg1IkYBj2Y)
103+
@Video(https://www.youtube.com/watch?v=46gCxOuhvPg&t=1s)
104104
*This short video bundles all demos: single-track tag chips, multi-track bulk edit, the Genre Tree with drag-and-drop and **F2** rename, and the **Edit Orphan Genres** flow*
105105

106106

107-
## What’s Next
107+
### What’s Next
108108

109109
This foundation unlocks a lot of potential. Based on community input, we’re exploring:
110110

@@ -115,12 +115,12 @@ This foundation unlocks a lot of potential. Based on community input, we’re ex
115115
- Better **metadata export** across formats for multi-genre fields.
116116
- Optional **auto-conversion** of known strings to stable IDs on import.
117117

118-
## Thank You
118+
### Thank You
119119

120120
Huge thanks to the Mixxx mentors and community for guidance, reviews, and real-world feedback. This is a big step forward, and we’ll keep refining it together.
121121
Please try it and tell us what works for you.
122122

123-
## Learn More
123+
### Learn More
124124

125125
For comprehensive project details:
126126

@@ -129,7 +129,7 @@ For comprehensive project details:
129129

130130
**Feedback & Support:**
131131

132-
- Report issues on GitHub, share ideas on the forums, or chat with us on Zulip. We'd love to hear about your experience with the new genre features:
132+
Report issues on GitHub, share ideas on the forums, or chat with us on Zulip. We'd love to hear about your experience with the new genre features:
133133

134134
- **Report Issues**: [GitHub Issues](https://github.com/mixxxdj/mixxx/issues)
135135
- **Share Feedback**: [Community Forums](https://mixxx.discourse.group)

0 commit comments

Comments
 (0)