{"id":28226515,"url":"https://github.com/abakum/drt","last_synced_at":"2025-06-13T08:32:17.932Z","repository":{"id":293687437,"uuid":"982846453","full_name":"abakum/drt","owner":"abakum","description":"drTags is a tagger for DaVinci Resolve","archived":false,"fork":false,"pushed_at":"2025-06-07T22:14:18.000Z","size":108347,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-07T23:25:10.560Z","etag":null,"topics":["davinci-resolve","ffmpeg","metadata","taglib","wasm"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abakum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-13T13:46:49.000Z","updated_at":"2025-06-07T22:14:22.000Z","dependencies_parsed_at":"2025-05-16T16:40:10.347Z","dependency_job_id":"a74f0135-d451-4e47-8920-685d1bf695b6","html_url":"https://github.com/abakum/drt","commit_stats":null,"previous_names":["abakum/drt"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abakum%2Fdrt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abakum%2Fdrt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abakum%2Fdrt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abakum%2Fdrt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abakum","download_url":"https://codeload.github.com/abakum/drt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abakum%2Fdrt/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259241272,"owners_count":22827280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["davinci-resolve","ffmpeg","metadata","taglib","wasm"],"created_at":"2025-05-18T12:08:59.656Z","updated_at":"2025-06-13T08:32:17.926Z","avatar_url":"https://github.com/abakum.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# drTags ─ Tagger для DaVinci Resolve\n\n```\ndrt file [...fileN] [tag1=val1 [...tagN=valN]]\n```\n - Где file...fileN это медиафайлы или файлы `.csv` от DaVinci Resolve c `Description` или `Keywords` в которых указаны тэги.\n - Если в файле `20220626 Концерт\\14.csv` есть таймлайн\n`20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2` и клип с `pcm` в\n`20220626 Концерт\\20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.mov` \nто после запуска\n```\ndrt 14.csv\n```\nпоявятся файлы:\n```\n20220626 Концерт\\20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.mp4\n20220626 Концерт\\20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.flac\n20220626 Концерт\\20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.mp3\n```\nили был клип с `flac` в `20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.mp4`\nто после запуска\n```\ndrt 14.csv\n```\nпоявятся файлы:\n```\n20220626 Концерт\\20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.flac\n20220626 Концерт\\20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.mp3\n```\nс тэгами:\n```\nTitleSort=20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2\nDate=20220626\nAlbum=20220626 Концерт\nTrackNumber=14\nComposer=Прокофьев\nTitle=Соната для фортепиано №2 ре минор\nMovementName=1\nMovementName=2\nGrouping=Фортепиано\nGrouping=Соната для фортепиано\nInitialKey=Dm\n```\n- Для знаков при ключе используется английская нотация где cи мажор как B, си-бемоль минор как Bbm, до-диез мажор как C#\n- Часть `Title` до `№` попадёт в `Grouping`\n- В `Description` или `Keywords` таймлайна для классики можно указать:\n- TitleSort=Это будет источником для тэгов вместо имени таймлайна\n- Title=Соната для фортепиано №2\n- Composer=Сергей Прокофьев\n- Artist=Иван Петров\n- AlbumArtist=Остальные исполнители кроме солиста например оркестр или концертмейстер\n- Conductor=Руководители исполнителей\n- Genre=Classical\n- InvolvedPeople=Остальные люди например Перевертмейстер и группы причастные к выступлению например `Ростовская Государственная Консерватория`\n- Lyricist=Авторы текста и переводчики\n- Arranger=Авторы переложения или оранжировки\n- Subtitle=Подзаголовок например `Патетическая соната`. Части таймлайна или `TitleSort` в \\`обратных апострофах\\` или парных «ёлочках» или в (круглых скобках) тоже попадут сюда\n- Work=Авторские публикации как `Op.14` или каталоги как `BWV2` и прочие\n- Grouping=Группировки по музыкальным формам как `Соната для фортепиано` или по инстументам как `Фортепиано`\n- Если тэг один а значений несколько просто повторяй строчки. Так пиши в `Keywords` или `Description`:\n```\nArtist=Иван Петров\nArtist=Пётр Сидоров\n```\n- Или через `/` в `Description`:\n```\nMovementName=1 Allegro ma non troppo/2 Scherzo Allegro marcato\n```\n- Или с новой строки в `Description`:\n```\nMovement=1 Allegro ma non troppo\n2 Scherzo Allegro marcato\n```\n- Если строка не начинается с тэга то это значение к предыдущему тэгу\n- Всё что в таймлайне или в тэге `TitleSort` идёт после слова `часть` запишу в `MovementName` например если укажешь `TitleSort=20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор часть 1 Allegro ma non troppo` то `MovementName=1 Allegro ma non troppo`\n- Всё что в таймлайне или в тэге `TitleSort` идёт после слова `части` разделю по пробелам и запишу в `MovementName`. Чтоб в `MovementName` попало только 2 части объедини их `_` например\n`TitleSort=20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1_Allegro_ma_non_troppo 2_Scherzo_Allegro_marcato` запишу\n```\nMovementName=1 Allegro ma non troppo\nMovementName=2 Scherzo Allegro marcato\n```\n- Также можно поступить и с композитором например указав `TitleSort=20220626 Концерт 14 Сергей_Прокофьев Соната для фортепиано №2 ре минор` запишу `Composer=Сергей Прокофьев`\n- Если `Comments` таймлайна не пуст запишу в тэг `Comment`.\n- Если в командной строке нет тэгов то их можно ввести в консоле.\n- Если в консольном вводе первая строка не начинается с тэга то это значение к тэгу `Comment`\n- Завершай консольный ввод пустой строкой. Чтоб ввести пустую строку в `Comment` введи `/`\n- Чтоб убрать все значение тэга `X` введи `X=`. Чтоб убрать значение всех тэгов введи `=`\n- Если в видеофайле например `a.mov` звук:\n  - в `pcm` и ввести `==` то запишу `a.mp4` со звуком в `alac`, `a.flac`, `a.mp3`\n  - в `alac` или `flac` и ввести `==` то запишу `a.flac` и `a.mp3`\n  - иначе запишу `a.mp3`\n- Если в аудиофайле например `a.m4a` звук:\n  - в `pcm` в `alac` или `flac` и ввести `==` то запишу `a.flac` и `a.mp3`\n  - иначе запишу `a.mp3` если аудиофайл не `a.mp3`\n- Если в видеофайле с `mpegts` например `a.ts` ввести `==` то запишу `a.ts.mov`\n\n# Ссылочки\n\n- [Остальные тэги](https://taglib.org/api/p_propertymapping.html)\n- [Расширенно про id3](https://id3.org/id3v2.3.0)\n- [Страничка drTags](https://github.com/abakum/drt)\n\n# Как получить drTags\n\n- [Установи go](https://go.dev/doc/install)\n- Запусти сборку `drt`\n\n```\ngo install github.com/abakum/drt/cmd/drt@main\n```\n\n# Как установить drTags\n\nЗапусти `drt` ответь `Y` на предложение `install drTags?`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabakum%2Fdrt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabakum%2Fdrt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabakum%2Fdrt/lists"}