Back Button 1.0 [MM2]

Download and get help for different MediaMonkey Addons.

Moderators: Peke, Gurus

Back Button 1.0 [MM2]

Postby trixmoto » Wed Mar 01, 2006 4:06 am

This script remembers previously played tracks so you can skip back even when in shuffle mode.

Code: Select all
'
' MediaMonkey Script
'
' NAME: BackButton 1.0
'
' AUTHOR: trixmoto (http://trixmoto.net)
' DATE : 28/02/2006
'
' INSTALL: Copy to Scripts directory and add the following to Scripts.ini
'          Don't forget to remove comments (') and set the order appropriately
'          Set the Capacity variable to the value you require
'
' [BackButton]
' FileName=BackButton.vbs
' ProcName=BackButton
' Order=31
' DisplayName=Back Button
' Description=Back Button
' Language=VBScript
' ScriptType=0
' [BackButton2]
' FileName=BackButton.vbs
' ProcName=BackButton2
' Order=31
' DisplayName=Back Button 2
' Description=Back Button 2
' Language=VBScript
' ScriptType=2
'

Option Explicit
Dim Capacity

Capacity = 10  ' number of tracks to remember

Sub BackButton
  'check there is a memory
  Dim str,pos
  str = SDB.IniFile.StringValue("Scripts","BackButtonMemory")
  If str = "" Then
    pos = SDB.MessageBox("Sorry, there are no tracks in the memory to go back to.",mtInformation,Array(mbOk)) 
    Exit Sub
  End If
   
  'check memory contains current track
  str = Left(str,Len(str)-1)
  pos = InStrRev(str,"|")
  If pos < 2 Then
    pos = SDB.MessageBox("Sorry, there are no tracks in the memory to go back to.",mtInformation,Array(mbOk)) 
    Exit Sub
  End If

  'check memory contains previous track
  str = Left(str,pos-1)
  pos = InStrRev(str,"|")
  If pos = 0 Then
    pos = SDB.MessageBox("Sorry, there are no tracks in the memory to go back to.",mtInformation,Array(mbOk)) 
    Exit Sub
  End If

  'extract previous track from memory
  Dim trk
  trk = Int(Mid(str,pos+1))
  str = Left(str,pos)
   
  'find last track   
  Dim found
  found = False
  If SDB.Player.CurrentSong.ID = trk Then
    'play if currently now playing
    found = True
  Else
    'play if in now playing list
    Dim list,itm,i
    Set list = SDB.Player.CurrentSongList
    For i = 0 To list.Count-1
      Set itm = list.Item(i)
      If itm.ID = trk Then
        SDB.Player.CurrentSongIndex = CLng(i)
        found = True
        Exit For
      End If
    Next 
    'else add to now playing
    If not found Then
      Dim sql,iter     
      sql = "AND (Songs.ID="&trk&")"
      Set iter = SDB.Database.QuerySongs(sql)
      If Not iter.EOF Then
        SDB.Player.PlaylistAddTrack(iter.Item)
        SDB.Player.CurrentSongIndex = list.Count
        found = True
      End If
    End If     
  End If
   
  'play and update memory
  If found Then
    SDB.IniFile.StringValue("Scripts","BackButtonMemory") = str
  Else
    pos = SDB.MessageBox("Sorry, the previous track could not be found.",mtInformation,Array(mbOk))
  End If
End Sub

Sub BackButton2
  'add track to memory
  Dim str,arr,trk,max,tmp
  trk = SDB.Player.CurrentSong.ID
  str = SDB.IniFile.StringValue("Scripts","BackButtonMemory")
  If str = "" Then
    str = "|"&trk&"|"
  Else
    tmp = str
    str = str&trk
    arr = Split(Mid(str,2),"|")
    max = UBound(arr)
    If arr(max-1) = arr(max) Then
      str = tmp
    Else
      If max >= Capacity Then
        str = Mid(str,InStr(2,str,"|"))
      End If
      str = str&"|"
    End If
  End If
  SDB.IniFile.StringValue("Scripts","BackButtonMemory") = str
End Sub
Last edited by trixmoto on Fri Nov 30, 2007 3:45 am, edited 1 time in total.
Download my scripts at trixmoto.net.
All the code for my website and scripts is safely backed up immediately and for free using Dropbox.
Send me BTC: 34VQPVsf9mCeR4nfhFvvBYZqQ7LkqNZ8Mn
Send me LTC: 3P1mzrfbyscdhbxRpXLgKz7tufGAU3SrEG
Send me DOGE: 9xPpYSqgF7P5yQiqvE1VqWb4UjxVCCLFJ6
Check out these great cryptocurrency faucets... BTC / LTC / DOGE
trixmoto
 
Posts: 10024
Joined: Fri Aug 26, 2005 3:28 am
Location: Barton, UK

Postby onkel_enno » Wed Mar 01, 2006 5:43 am

Why don't you only look at Table "Played" which Song was played last (or Table "Songs" Field "LastTimePlayed")? :wink:
SansaMonkey - for SanDisk Sansa and Rockbox Users

Please no PMs for Questions which should be asked in the Forum. Thx
onkel_enno
 
Posts: 2145
Joined: Fri Jan 14, 2005 1:45 am
Location: Germany

Postby trixmoto » Wed Mar 01, 2006 5:52 am

You could use the database but I couldn't remember how they were updated. I thought they weren't updated until you were a third of the way through the track or something. Or is that just the playcounter?
Download my scripts at trixmoto.net.
All the code for my website and scripts is safely backed up immediately and for free using Dropbox.
Send me BTC: 34VQPVsf9mCeR4nfhFvvBYZqQ7LkqNZ8Mn
Send me LTC: 3P1mzrfbyscdhbxRpXLgKz7tufGAU3SrEG
Send me DOGE: 9xPpYSqgF7P5yQiqvE1VqWb4UjxVCCLFJ6
Check out these great cryptocurrency faucets... BTC / LTC / DOGE
trixmoto
 
Posts: 10024
Joined: Fri Aug 26, 2005 3:28 am
Location: Barton, UK

Postby onkel_enno » Wed Mar 01, 2006 6:51 am

I don't know, but if you're right then your way might be better.
SansaMonkey - for SanDisk Sansa and Rockbox Users

Please no PMs for Questions which should be asked in the Forum. Thx
onkel_enno
 
Posts: 2145
Joined: Fri Jan 14, 2005 1:45 am
Location: Germany

Postby psyXonova » Wed Mar 01, 2006 8:20 am

trixmoto wrote:You could use the database but I couldn't remember how they were updated. I thought they weren't updated until you were a third of the way through the track or something. Or is that just the playcounter?

Trix is right, the 1/3 of the song must be played to be entered in the "Played" table
psyXonova
 
Posts: 785
Joined: Fri May 20, 2005 3:57 am
Location: Nicosia, Cyprus

Postby Guest » Thu Apr 20, 2006 11:03 am

@trixmoto:
Real nice plugin, thanks for it. It is how the Back Button should behave... :roll:

By the way, is there a way to change the "back button" behavior so that it behaves as this plugin?
Guest
 

Postby trixmoto » Thu Apr 20, 2006 3:23 pm

No this is not possible. By the devs have said they'll look into the behaviour, so it might be fixed in a future version.
Download my scripts at trixmoto.net.
All the code for my website and scripts is safely backed up immediately and for free using Dropbox.
Send me BTC: 34VQPVsf9mCeR4nfhFvvBYZqQ7LkqNZ8Mn
Send me LTC: 3P1mzrfbyscdhbxRpXLgKz7tufGAU3SrEG
Send me DOGE: 9xPpYSqgF7P5yQiqvE1VqWb4UjxVCCLFJ6
Check out these great cryptocurrency faucets... BTC / LTC / DOGE
trixmoto
 
Posts: 10024
Joined: Fri Aug 26, 2005 3:28 am
Location: Barton, UK

Postby Guest » Fri Apr 21, 2006 3:13 am

:D Great!!!

Thanks for the info and -- once again -- for the plugin. :wink:
Guest
 

Postby Guest » Fri Apr 21, 2006 3:14 am

Anonymous wrote:(...) for the plugin (...)


err... I mean for the script. :roll:
Guest
 

Postby trixmoto » Sun Jul 02, 2006 4:50 am

Zachm019 wrote:WOW Thanks a TON trixmoto!!! Do you happen to know if there is a way to create a short cut for that script? I got it installed and working just wondering if there was a way I could press a key combination for it to work... now on the sad note while I was typing it this message it went forward to another song and I got two error messages...

Image
Image

Do you know what is causing this?

Originally posted here: http://www.mediamonkey.com/forum/viewtopic.php?p=52448#52448
Download my scripts at trixmoto.net.
All the code for my website and scripts is safely backed up immediately and for free using Dropbox.
Send me BTC: 34VQPVsf9mCeR4nfhFvvBYZqQ7LkqNZ8Mn
Send me LTC: 3P1mzrfbyscdhbxRpXLgKz7tufGAU3SrEG
Send me DOGE: 9xPpYSqgF7P5yQiqvE1VqWb4UjxVCCLFJ6
Check out these great cryptocurrency faucets... BTC / LTC / DOGE
trixmoto
 
Posts: 10024
Joined: Fri Aug 26, 2005 3:28 am
Location: Barton, UK

Postby trixmoto » Sun Jul 02, 2006 4:59 am

In the "{MM}\Scripts\Scripts.ini" file you will find the following entries...
Code: Select all
[BackButton]
FileName=BackButton.vbs
ProcName=BackButton
Order=31
DisplayName=Back Button
Description=Back Button
Language=VBScript
ScriptType=0

[BackButton2]
FileName=BackButton.vbs
ProcName=BackButton2
Order=31
DisplayName=Back Button 2
Description=Back Button 2
Language=VBScript
ScriptType=2

That blank line might not be there, but it is in this space (directly before "[BackButton2]") that you will want to add the following line...
Code: Select all
Shortcut=Ctrl+Shift+B

Or whatever shortcut key combination you want!

About the error: There is a variable at the top of the BackButton.vbs file called "Capacity" which by default is 10. Have you changed this? If so, what to?

If you could open "{MM}\MediaMonkey.ini" in a text editor and find the [Scripts] secction and tell me the value of "BackButtonMemory" - that might also be useful.
Download my scripts at trixmoto.net.
All the code for my website and scripts is safely backed up immediately and for free using Dropbox.
Send me BTC: 34VQPVsf9mCeR4nfhFvvBYZqQ7LkqNZ8Mn
Send me LTC: 3P1mzrfbyscdhbxRpXLgKz7tufGAU3SrEG
Send me DOGE: 9xPpYSqgF7P5yQiqvE1VqWb4UjxVCCLFJ6
Check out these great cryptocurrency faucets... BTC / LTC / DOGE
trixmoto
 
Posts: 10024
Joined: Fri Aug 26, 2005 3:28 am
Location: Barton, UK

Postby Zachm019 » Sun Jul 02, 2006 2:18 pm

I have recopied your code as said... in the script.ini and the BackButton.vbs. Without changing anything but adding the shortcut information in the blank line and I still get the error message
Zachm019
 
Posts: 54
Joined: Sat Jun 24, 2006 11:21 pm

Postby trixmoto » Sun Jul 02, 2006 5:14 pm

Could you please open "{MM}\MediaMonkey.ini" in a text editor and find the [Scripts] secction and tell me the value of "BackButtonMemory" - this is probably the root of the problem.
Download my scripts at trixmoto.net.
All the code for my website and scripts is safely backed up immediately and for free using Dropbox.
Send me BTC: 34VQPVsf9mCeR4nfhFvvBYZqQ7LkqNZ8Mn
Send me LTC: 3P1mzrfbyscdhbxRpXLgKz7tufGAU3SrEG
Send me DOGE: 9xPpYSqgF7P5yQiqvE1VqWb4UjxVCCLFJ6
Check out these great cryptocurrency faucets... BTC / LTC / DOGE
trixmoto
 
Posts: 10024
Joined: Fri Aug 26, 2005 3:28 am
Location: Barton, UK

Postby Zachm019 » Sun Jul 02, 2006 5:26 pm

in the mediamonkey.ini this is all that is there

[out_ds]
cfg_total_time=36539093
Zachm019
 
Posts: 54
Joined: Sat Jun 24, 2006 11:21 pm

Postby trixmoto » Sun Jul 02, 2006 5:59 pm

Then you're looking at the wrong .ini file. Try the one in "..\My Documents\My Music\MediaMonkey\".
Download my scripts at trixmoto.net.
All the code for my website and scripts is safely backed up immediately and for free using Dropbox.
Send me BTC: 34VQPVsf9mCeR4nfhFvvBYZqQ7LkqNZ8Mn
Send me LTC: 3P1mzrfbyscdhbxRpXLgKz7tufGAU3SrEG
Send me DOGE: 9xPpYSqgF7P5yQiqvE1VqWb4UjxVCCLFJ6
Check out these great cryptocurrency faucets... BTC / LTC / DOGE
trixmoto
 
Posts: 10024
Joined: Fri Aug 26, 2005 3:28 am
Location: Barton, UK

Next

Return to Need Help with Addons?

Who is online

Users browsing this forum: Google [Bot] and 29 guests