always extends playlist if necessary to get_program