{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreigdghkzz4pe4qiv7ev6m5zaiq5wsq5cy7uqoriepjsn2v32hke244",
    "uri": "at://did:plc:6dmfe46c76jjenq3kaxc5eds/app.bsky.feed.post/3mn6adbep2ls2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreigumn42yvnq7zdbw6pabvqf334varkf3e4mxpkm77mzx2jrzwbe3a"
    },
    "mimeType": "image/png",
    "size": 21301
  },
  "path": "/week-1-update/",
  "publishedAt": "2026-05-31T13:11:00.000Z",
  "site": "https://yashbavadiya.bearblog.dev",
  "textContent": "This is my first weekly update as a Google Summer of Code 2026 student working with KDE on Kdenlive.\n\nMy project is \"Improving Effect Widgets for Kdenlive.\" The first widget I'm working on is the Curves Widget, specifically adding per-channel tab support to the avfilter.curves effect.\n\n* * *\n\nThe problem: Kdenlive's current Curves effect uses a dropdown to switch between channels (R, G, B). Switching channels wipes the previous curve there's no memory per channel. So if you tune the red channel and switch to green, your red curve is gone. You'd have to stack multiple instances of the effect to adjust more than one channel.\n\nThe fix: replace the dropdown with tabs (All, R, G, B), each storing its own curve independently, all serialized together into avfilter.curves format.\n\n* * *\n\nThis week I went from zero code to functional tabs in Kdenlive.\n\nWhat went in:\n\n  * Added `m_channelData` (`std::map<CurveModes, QString>`) to store per-channel curve state and `m_tabBar` (`QTabBar`) to CurveParamWidget\n  * Implemented `slotTabChanged` -> saves the current channel's curve before switching, loads the next channel's curve or resets to straight line\n  * Implemented `serializeAllChannels` -> builds the full avfilter.curves format from all channel data\n  * Created `avfilter_curves.xml` -> new effect definition with per-channel parameter support\n  * Fixed avfilter.curves being silently excluded from Kdenlive's effects list\n\n\n\nR, G, B tabs are working correctly and affecting the video output. The \"All\" tab (master curve for all channels) is still being worked on.\n\nWeek 2 starts tomorrow.",
  "title": "Week 1 : Tabs are in"
}