Ustawianie reference

This commit is contained in:
Kuba Orlik 2021-10-01 22:17:22 +02:00
parent b361041ba6
commit 1b3961e852
2 changed files with 26 additions and 7 deletions

View File

@ -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.

View File

@ -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;
}