If my CPU schedule is preemptive priority, and I have no new processes coming, how I should choose from the waiting processes?
“Preemptive priority” is a property of a scheduler, it is not a complete specification. Under preemptive priority scheduling, you choose the waiting process that has the highest priority. If there are multiple process with that priority, knowing that the scheduler is preemptive priority-based isn't enough to know what it will do. If you want to completely describe a scheduler, you need to specify that case as well.
Two common choices that are used together with preemptive priority-based scheduling are preemptive round-robin (interrupt processes after a certain time if another process with the same priority is ready) and non-preemptive round-robin (a ready process is only ever interrupted by a higher-priority process). But there can be more complex algorithms as well.