--- /dev/null
+{
+    "configurations": [
+        {
+            "name": "Linux",
+            "includePath": [
+                "${workspaceFolder}/**"
+            ],
+            "defines": [],
+            "compilerPath": "/usr/bin/clang",
+            "cStandard": "c17",
+            "cppStandard": "c++14",
+            "intelliSenseMode": "clang-x64",
+            "compileCommands": "${workspaceFolder}/builddir/compile_commands.json"
+        }
+    ],
+    "version": 4
+}
\ No newline at end of file
 
--- /dev/null
+{
+    // Use IntelliSense to learn about possible attributes.
+    // Hover to view descriptions of existing attributes.
+    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+    "version": "0.2.0",
+    "configurations": [
+        {
+            "name": "(gdb) Launch",
+            "type": "cppdbg",
+            "request": "launch",
+            "program": "/usr/local/bin/deadbeef",
+            "args": [],
+            "stopAtEntry": false,
+            "cwd": "${workspaceFolder}",
+            "environment": [],
+            "externalConsole": false,
+            "MIMode": "gdb",
+            "preLaunchTask": "Deploy",
+            "setupCommands": [
+                {
+                    "description": "Enable pretty-printing for gdb",
+                    "text": "-enable-pretty-printing",
+                    "ignoreFailures": true
+                }
+            ]
+        }
+    ]
+}
\ No newline at end of file
 
--- /dev/null
+{
+    "clangd.arguments": [
+        "-background-index",
+        "-compile-commands-dir=builddir"
+    ],
+    "files.associations": {
+        "array": "c",
+        "string_view": "c",
+        "initializer_list": "c",
+        "ringbuffer.h": "c",
+        "limits.h": "c"
+    },
+    "C_Cpp.default.compileCommands": "builddir/compile_commands.json",
+}
\ No newline at end of file
 
--- /dev/null
+{
+       "version": "2.0.0",
+       "tasks": [
+               {
+                       "type": "shell",
+                       "label": "Meson: Build Project",
+                       "options": {
+                               "cwd": "${workspaceFolder}/builddir"
+                       },
+                       "command": "meson compile",
+                       "problemMatcher": [
+                               {
+                                       "base": "$gcc",
+                                       "fileLocation": ["relative", "${workspaceFolder}/builddir"]
+                               }
+                       ]
+               },
+               {
+                       "label": "Deploy",
+                       "type": "shell",
+                       "command": "cp ${workspaceFolder}/builddir/ddb_out_pw.so ~/.local/lib64/deadbeef/",
+                       "problemMatcher": [],
+                       "dependsOn": ["Meson: Build Project"],
+                       "group": {
+                               "kind": "build",
+                               "isDefault": true
+                       }
+               },
+               {
+                       "type": "shell",
+                       "label": "Clang-Tidy",
+                       "command": "clang-tidy -p builddir -checks=\"*\" pw.c",
+                       "problemMatcher": [
+                               {
+                                       "base": "$gcc",
+                               }
+                       ]
+               }
+       ]
+}
\ No newline at end of file
 
--- /dev/null
+        struct pw_time time;
+        pw_stream_get_time_n(data->stream, &time, sizeof(time));
+        printf("now %ld, rate %u/%u, ticks %lu, delay %ld, queued %lu, buffered %lu, queued_buffers %u, avail_buffers %u\r",
+        time.now, time.rate.num ,time.rate.denom, time.ticks, time.delay, time.queued, time.buffered, time.queued_buffers, time.avail_buffers);
+        fflush(stdout);