+
+ ["selected", "unselected"].each do |state|
+ c.program("playlist_item.#{state}", :set_state) do |p|
+ p.signal = "PLAYLIST_ITEM_#{state.upcase}"
+ p.state = state == "unselected" ? "default" : state
+ p.mode = state == "selected" ? :accelerate : :decelerate
+ p.time = 0.5
+ p.targets << ProgramTarget.new(c.part("title"))
+ p.targets << ProgramTarget.new(c.part("length"))
+ end
+ end