• Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

5. AppleScript for iTunes > 78. Increase or Decrease the Play Count

Increase or Decrease the Play Count

Automatically add to or decrease the play count of the selected tracks by a specific number.

Smart Playlists can be configured to regard play counts when assembling tracks. For even greater flexibility using this Smart Playlist criterion, here’s an AppleScript that will uniformly increase or decrease the play counts of a batch of tracks or reset them to zero.

The Code

This script asks the user to first supply a number and then specify whether to add or subtract that number from the play counts of the selected tracks:

    tell application "iTunes"

      -- if no tracks selected, exit
      if selection is {} then
        display dialog "No tracks selected." buttons {"Cancel"} ¬
          default button 1 with icon 0
      end if

      set sel to selection

      -- get the results from the handler
      set options to my get_a_number("")
      set thismany to text returned of options as integer

      repeat with aTrack in sel
        -- skip tracks without played count property
        if aTrack's class is file track then
          tell aTrack
            set curPlayCount to (get played count)

            -- add or subtract?
            if button returned of options is "+" then
              set played count to curPlayCount + thismany
            else
              if curPlayCount _ thismany then
                set played count to curPlayCount - thismany
              else
                set played count to....¬
        with icon 1 giving up after 15

      end tell

      to get_a_number(addenda)
        set myResult to ¬
          (display dialog (addenda & "Enter number to add or subtract" & ¬
            " from each selected track's \"Play Count\" and then " & ¬
            "click the appropriate button:") ¬
            default answer "" buttons {"Cancel", "-", "+"})

        -- try to coerce the text returned to a number
        try
          (text returned of myResult as integer)

          -- return text and button returned from dialog
          return myResult
        on error
          -- if not, handler calls itself again
          get_a_number("Please try again…" & return & return)
        end try
      end get_a_number

PREVIEW

                                                                          

Not a subscriber?

Start A Free Trial


  
  • Creative Edge
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint