diff --git a/README.md b/README.md index 0afeed9..1a74a6b 100644 --- a/README.md +++ b/README.md @@ -13,4 +13,18 @@ Oblicza, o ile należy dostosować wszystkie nagrania, aby były w zgodnym zegar - punkty dzielą się na dwie kategorie - A i B; - jest tak dlatego, że robimy dwie sekwencje klaśnięć - jedną od Arka i jedną od Kuby. - przykładowo można wybrać dla klaśnięć Arka kategorię A, a dla klaśnięć Kuby - kategorię B. -- etykiety muszą mieć określoną nazwę: `NAZWAPLIKU-SUFFIX`, gdzie `NAZWAPLIKU` to nazwa ścieżki, której dotyczy dana etykieta, a `SUFFIX` to `startA`, `endA`, `startB` lub `endB` +- etykiety muszą mieć określoną nazwę: `NAZWAPLIKU-SUFFIX`, gdzie `NAZWAPLIKU` + to nazwa ścieżki, której dotyczy dana etykieta, a `SUFFIX` to `startA`, + `endA`, `startB` lub `endB`. Przykładowe poprawne nazwy etykiet: + `VID-20210110-1891-startA`, `odc25-kuba-endB`; +- w przyszłości stworzymy makro, które ułatwia tworzenie poprawnie nazwanych + etykiet, ale to nie jest aż taka pracochłonna czynność, aby to automatyzować. + +3. Wyeksportuj etykiety do pliku (File => Export => Export Labels...), np. `sync-info.txt` + +4. Odpal skrypt `measure-drift.mjs sync-info.txt odc25-kuba`. `sync-info.txt` w + tym przykładzie to ścieżka do pliku z wyeksportowanymi labelkami, a + `odc25-kuba` to nazwa tej jednej wybranej ścieżki, której prędkości nie + będziemy zmieniać. Musimy zawsze wybrać jedną ścieżkę, która będzie tą + referencyjną. Skrypt wypisze na stdout informacje o tym, o ile trzeba zmienić + prędkość danego pliku, aby dostosować do tego jednego wybranego. diff --git a/measure-drift.mjs b/measure-drift.mjs index 1ac979a..76d6f21 100755 --- a/measure-drift.mjs +++ b/measure-drift.mjs @@ -1,6 +1,7 @@ #!/usr/bin/zx -const label_file_path = process.argv.slice(-1)[0]; +const label_file_path = process.argv.slice(-2)[0]; +const align_to = process.argv.slice(-2)[1]; const labels = (await $`cat ${label_file_path}`).stdout .split("\n") @@ -26,8 +27,6 @@ const labels = (await $`cat ${label_file_path}`).stdout return acc; }, {}); -console.log(labels); - for (let filename in labels) { const filelabels = labels[filename].labels; for (const suffix of ["A", "B"]) { @@ -46,12 +45,18 @@ for (let filename1 in labels) { for (const suffix of ["A", "B"]) { const key = `duration[${suffix}]`; - if (labels[filename1][key] && labels[filename2][key]) { + if ( + labels[filename1][key] && + labels[filename2][key] && + filename2 == align_to + ) { console.log( + "Aby dostosować", filename1, - "/", + "na", filename2, - labels[filename1][key] / labels[filename2][key] + "należy zmienić jego prędkość do", + `${labels[filename1][key] / labels[filename2][key]}x` ); break; }