<?php

function fix_notation($unfixed, $unfixed_mod)
{
    $fixed = [];
    $fixed_mod = [];
    for($i = 0; $i < count($unfixed); $i++)
    {
        if(is_string($unfixed[$i]) && $unfixed[$i] == LY_BAR_SEPARATOR)
        {
            $fixed[] = LY_BAR_SEPARATOR;
            $fixed_mod[] = $unfixed_mod[$i];
            continue;
        }
        if($unfixed[$i] == 0)
        {
            continue;
        }
        if(modifier_is_rest($unfixed_mod[$i]))
        {
            $fixed[] = PERCUSSION_REST . strval($unfixed[$i]);
            $fixed_mod[] = $unfixed_mod[$i];
            continue;
        }
        if(
            ($unfixed[$i + 1] != BAR_SEPARATOR) &&
            modifier_is_rest($unfixed_mod[$i + 1])
        )
        {
            if($unfixed[$i] * 2 == $unfixed[$i + 1])
            {
                $fixed[] = PERCUSSION_CLAP . strval($unfixed[$i]) . LY_DOT;
                $fixed_mod[] = $unfixed_mod[$i];
                $unfixed[$i + 1] = 0;
                continue;
            }
            if($unfixed[$i] == $unfixed[$i + 1])
            {
                $fixed[] = PERCUSSION_CLAP . strval($unfixed[$i] / 2);
                $fixed_mod[] = $unfixed_mod[$i];
                $unfixed[$i + 1] = 0;;
                continue;
            }
        }
        $fixed[] = PERCUSSION_CLAP . strval($unfixed[$i]);
        $fixed_mod[] = $unfixed_mod[$i];
    }
    return array($fixed, $fixed_mod);
}

?>