Okay, here is where I knew there would be issues. May have to rethink the music part if one doesn't want to reconfigure their music files. I found my music to be just like yours John. I redid all mine to be like the pic below. I cleaned up all my song names. Only words that can be spoken.
By Artist/Song. I'm sure people will be reluctant to do this. Especially with 30,000 + songs! :) There are apps out there to do this easily.
The reason it stays at listening, notice it says command at the top, is that it hasn't recognized your command. And it is not going to recognize Play ABBA -One Of US. The hyphen is a character that VR will never recognize. Blame MS not me! Voice Recognition will not recognize anything that is not spoken period. Therefore no match.
You have two choices for this, neither of which you will like. Either redo your music filenames, we depend on tags anyways, or go through your Songs.ini and edit every VRCommand, for example removing the ABBA- part. Yes every command should be what you speak. Does this make sense. It is a limitation of Voice Recognition not RRVoiceControl. How can it recognize the hyphen if you cant speak it? And you can't just say Play ABBA Hyphen One Of US. The word hyphen is not there, it is a -,not hyphen.
This holds true for numbers. VR will not match the number one to 1. You have to have all numbers spelled out.
Example: Play You Are The 1 will not work, It has to be Play You Are The One.
We are matching WORDS not numbers, hyphens, or exclamation points. The only thing I have found that it ignores is Play You (Are) The One
The overflow part I will look into as I am using a collection to temp store the path lists before writing. It shouldn't overflow. Maybe it is my ini writing code...
Personally I don't give a rats axx where MS wants my files. :)Quote:
To correctly code a proper app for future OS's and really the current one's.(XP), the program is NOT supposed to write anything to the programs folder period. This is Y the M$ made a Application Data folder under the user profile path to hold such data.
But for the sake of civility, just run the whole app from anywhere you want it. I think I already stated this above,.Quote:
Documents and Settings/RRVoiceControl would maybe be good for newer OP systems?
It is not a plugin and probably wont be anytime soon. Maybe after I get the bugs worked out. I don't see any reason to. I can get those ini settings from rr.ini if enough people gripe about how hard it is to set it up manually once. :)Quote:
Would be nice if here was like an RR extention plugin to go with this that would handle all of the "native" stuff that this would need to work out of the box, ie... using the user's RR music path, audio file types...ect and any other data that it could be used w/o having to have settings that are really aready defined in/by rr's config.
Sorry, I was trying to get that point across to everyone.
And, yes, you do have a point. I could create the RR object, hide all sendmessage commands, get RR's info, and use my own native RR commands. Hmmm..I will look into this.
Thinking about this further.....
It should not matter where or what folder the songs are in. It's just a matter of the script that makes the songs.ini to build it differently. I cant immagine that you reloacted all of your songs to work with the script, and not make the script work with your directory structure instead hehe TRUST ME I have done some crazier things when trying to get a script or something to work! haha I am a programmer by no means, I just muddle my way through out of necessity.
It would just need to start at the root mp3 folder, as it does now. Then for every folder inside there, grab all the mp3's recursively (Under that 2nd level folder tree) and put them under that folders name.
Then it's just a matter of not using the position number of the song in the playlist, but use the full path instead when building the songs.ini, which can be read with the play command, to tell RRVoice Control where the song is located.
If I am in the GPS screen for instance and say "Load Billy Joel" I would like to stay on the GPS screen. If I want to go to the music screen I can always just say "Select Audio". Or make a new command "Select Playlist" to see the currently loaded artist.
This way, you can load up an artist or song and stay on the screen you are on. When a song is loaded in this manner in RR, the song title and labels will change accordingly, and there is no reason to have to go to the music screen to see whats playing.
The .ini files would need to be created differently, something like this:
Load Billy Joel=H:\MP3\Billy Joel
(Only adding the folder names that are in the root MP3 folder)
Then in the songs.ini
(Scanning for all .mp3's recursivly in each of the above folders, this will grab all songs under the artist folder, no matter how many alubms or sub folders are in that main folder)
Play Blonde over Blue=H:\MP3\Billy Joel\Innocent Man\Blonde over Blue.mp3
Play Famous Last Words=H:\MP3\Billy Joel\Greatest Hits\Famous Last Words.mp3
Notice the 2 songs above are in 2 different paths, and will still work perfectly, as it contains the full path to the song to be used bur RRVoice Control to play it back.
Then, in Your code, use:
Without the variable would look like this:
RR.Execute("loadlist;H:\MP3\ABBA\Remixes\Abba - Gimme Gimme Gimme.mp3")
Makes perfect sense, why the he77 didn't I think of that:confused:
I'll whip something up soon. I still think that Artist is the way to go for Load commands.
Still doesn't get around the folder or filename having hyphens, numbers, and other characters in it. Like Load Time 3 (3 of 3)=Journey\Time 3 (3 of 3)
VRcommand NOT OK
I can't think of a solution. Convert Numbers to Words and Eliminate Non Spoken Characters for VRcommand before writing ini's?
We are posting @ same time.
Hence Blues suggestion to use a dll?Quote:
RR.Execute("loadlist;H:\MP3\ABBA\Remixes\Abba - Gimme Gimme Gimme.mp3")
Right now it is all SendMessage, I'm not creating the RR object.
Wait some of my Commands Menu on the RRVoiceControl form depends on current structure.
And Loadlist will only load the one song to playlist....if on one.
Man I knew I would be rewriting all this code... :banplease:
Must Get Food...
Just before you write the .ini use this:
SongTitle = Replace (SongTitle , "-", "")
That will replace any hyphens with nothing.
As for numbers, they are no problem with with VR with numbers. You can for instance have:
o I 8 1 2
Oh I ate one two
and both will work as far as voice recognition.
If there is anything I can help with please let me know. I am talking with Blue right now via Yahoo Voice, and he said the same thing. We are both pretty good at coming up with solutions and work arounds :)
You can get me on Yahoo with my Yahoo screen name JohnWPBFL
Okay so I Understand your responses about exotic stuff, which is fine with me as I have it working 98% except when volume goes to zero and wont move.
The bug I have found has to do with the number of songs also, but in my case albums. My structure is not coming up with the load artists. It is just coming up with albums. But once it gets to say 500 albums, it does not add any more into the .exe window. I run out in the "S" artists and cant get any albums beyond that.
Oh my specs
XP SP3 on Dell Inspiron 8600, 1.7mHz, 2G Ram, 320G Music hard drive, 80G OS hard drive
Music Structure is D:\My Music\Artist\Album\Song
Drew, He sent me a PM about some stuff, and mentioned to re-download the program in the first post, as he updated it allowing for larger collections. Give that a try and see if it works for you.
Also, anyone else adding their own custom commands:
I noticed that you have to use two words for the command. For instance just "Weather" will not work, but "Display Weather" will.
This is probably due to some code splitting the phrase apart looking for the "load" or "select" commands. If it is a single word, it can not split it, and you will get an out of bounds error dialog.