Picture-download/file-rename program
# Mac gives a 'cross-device link error' when using File.rename
# to move between Volumes. So assume all pics are moved from camera drive
# to a folder on the computer, 'camera', and then need to be renamed and moved
# to a pictures folder on the desktop.
folder_name = 'Desktop/pics/'
pic_names = Dir['camera/**/*.{JPG,jpg}']
puts 'what would you like to call this batch?'
batch_name = gets.chomp
puts
print 'Downloading '+ pic_names.length.to_s+' files: '
pic_number = 1
pic_names.each do |name|
print '.'
new_name = if pic_number < 10
folder_name.to_s + batch_name + '0' + pic_number.to_s + '.jpg'
else
folder_name.to_s + batch_name + pic_number.to_s + '.jpg'
end
if File.exist? new_name
puts
puts 'DANGER: file names already exist, exiting!'
puts
exit
else
File.rename name, new_name
end
pic_number = pic_number + 1
end
puts
puts 'Done'
2. Build your own playlists.
def shuffle array
x = 0
track_number = 0
number_songs = 0
playlist = [ ]
number_songs = array.length
while x < number_songs
track_number = rand(number_songs)
if array[track_number] != ''
playlist.push array[track_number]
array[track_number] = ''
x = x + 1
else
end
end
filename = 'Desktop/playlist.m3u'
File.open filename, 'w' do |f|
f.puts playlist
end
end
tracks = Dir['Desktop/music/**/*.{ogg,mp3,m4a}']
shuffle tracks
3. Mixed random better playlist.
# music_shuffle tries to minimize clumping at the beginning of playlist,
# does not generate a perfectly mixed up playlist
# just less clumpy
def music_shuffle array
x = 0
track_number = 0
number_songs = 0
playlist = [ ]
full_song_name = [ ]
album_on_deck = ''
previous_album = ''
number_songs = array.length
while x < number_songs
track_number = rand(number_songs)
full_song_name = array[track_number].split'/'
album_on_deck = full_song_name[2]
if album_on_deck != previous_album
if array[track_number] != ''
playlist.push array[track_number]
array[track_number] = ''
x = x + 1
else
end
previous_album = album_on_deck
else
end
end
filename = 'Desktop/playlist.m3u'
File.open filename, 'w' do |f|
f.puts playlist
end
end
tracks = Dir['Desktop/music/**/*.{ogg,mp3,m4a}']
music_shuffle tracks