#71196 - Nphinity - Fri Feb 10, 2006 11:13 pm
Soo, I was thinking maybe open a thread for Moonshell feature requests that Moonlight could look into sometime if he felt like it.
Feel free to post your requests here, try to keep each post to be one request.
The idea here being, if anyone, including Moonlight is intrested in adding one of these features, and is farmiliar enough with the source to Moonshell to do so, then they can pick up the feature from the list of requests.
Obviously not all features can be added, but with multiple developers contributing to the project moonshell can really grow.
So I'll start by reposting a request I made elsewhere:
Quote: |
This has to do with the shoulder(L/R) button behavior.
#1 Please make it so it does not forward/pause/play until the button is released.
#2 Please make it so if both L and R are pressed it goes back to the previous media(#1 is needed to accomplish this.)
Back before portable media players, before MP3 CD players and iPods, I started using my laptop as a media player for mp3s. And I wrote a lil app that grabbed my mouse clicks, left button was next track.. right was pause.. and both was back a track, worked excellent.
#3 Possibly an option to have to hold the button for 0.5secs or maybe more before it will jump track/pause/play to help prevent accidental pushing. |
And then make some more.
Last edited by Nphinity on Fri Feb 10, 2006 11:33 pm; edited 2 times in total
#71197 - Nphinity - Fri Feb 10, 2006 11:18 pm
Store position:
I would like to see moonshell remember where you were at in the file system, what file you had open and what position it was at. So that next time you start it up, it will pick up where ti left off.
This would for instance be ideal if you were using it for an audio player. You could shut it off, and then when ready, turn it back on and it would pick right up where it left off.
I'm sure this wouldnt be the easiest request to deal with. Asis I dont think Moonshell stores anything. Idealy it would keep its settings stored in a file on SC/M3, and in sram or eeprom on flash carts.
It would also need to be periodically storing its info while the song(or whatever) was playing to keep the position stored, since it cant simply store when the system is shut off.
But I think this would be a really nice feature to see.
#71198 - Nphinity - Fri Feb 10, 2006 11:21 pm
Manual Playist Sorting:
I'de like to see the ability to move items around inside the playlist manually. Perhaps have a button you can touch to put the file listing on the screen, and then allow dragging of the media.
In this case Moonshell should store the the new order of the playlist somewhere in memory for the next boot.
A shuffle button could also be added to shuffle the list randomly, thus allowing for a solid shuffled list, that can be resumed between sessions.(or after stopping the song. As is if you stop the song, the shuffle gets reset when you go to start playing a new song)
#71199 - Nphinity - Fri Feb 10, 2006 11:24 pm
Control Bar:
Having a bar across the top or bottom of the touchscreen that is always showing, that would have menu entries or buttons of some other form. The buttons would either do something functional when clicked, or open a menu of things.
In this way you could for instance allow the help window to be closed, and then have a dropdown list where a user could select help to see it.
This would be an ideal way to make improved use of the available inputs. For instance this could hose a next/previous button and a play/paus button, so that one doesn't have to use the shoulder buttons.
#71200 - Nphinity - Fri Feb 10, 2006 11:28 pm
Volume Normalization:
I don't know if this would be at all doable, as is the CPU's are fairly taxed. But if there is a enough CPU power, it would be nice to see a volume normalization function in Moonshell. It would need to average the sound level over an amount of time, and then raise/lower the volume to achieve a more averaged volume.
#71202 - Nphinity - Fri Feb 10, 2006 11:32 pm
Crossfading:
This one I think is likely the most unlikely. It means having the next second begin playing before the current song finishes, and fading out the very end of the current song, so that the two songs smoothly transfer from one to the next.
Good crossfading can be a complicated proccess... soo anyone who picks this one up is brave.
A good crossfade should be watching the volume at the end of the song, and begin the next song when the very end of the current song is just coming in, overlapping the two by no more than 1 second. Usually one would not want to fade in the second song, only fade out the first. You need to essentially remove the silence at the end of the track by watching volume level as well.
I figure this is unlikely since the CPU is soo taxed to begin with, to achive this you need to be, atleast for a time, playing two tracks at once.
#71213 - tepples - Sat Feb 11, 2006 1:46 am
Nphinity wrote: |
I figure [crossfading] is unlikely since the CPU is soo taxed to begin with, to achive this you need to be, atleast for a time, playing two tracks at once. |
But if you have a decent size audio playback buffer, you can decode the whole end of a file and then apply the proper fade curve. Then immediately start decoding the next file and adding the buffered audio to it.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#71237 - HyperHacker - Sat Feb 11, 2006 11:41 am
Instead of manual playlist sorting, just support for .m3u playlists would be great. They're basically just a plain-text file list, with "#EXTM3U" as the first line and some "#EXTINF" lines that can be ignored.
That and not skipping different types of files. Eg if you play an SPC, it should also play MP3s, OGGs etc in the same directory, not just SPCs.
#71251 - Darkflame - Sat Feb 11, 2006 12:14 pm
*agrees with above*
A file based playlist makes more sense then anything more fancy.
How about:
*Pysdo-file name support. (eg, programs with a certain extension trigger a certain program to load. This could be as simple as compareing the last 3 letters of one file name, and triggering a programing in a directory starting with those letters). Moonshell could also place the route to the file that triggered it into the ram.
~It would then be upto the program writters, not moonshell, to run the program, get the route from ram, and open the file that was selected~
*A great big Easter-Egg that says "Moonlight is a god amongst men, everyone shall worship moonlight for he provides for all our needs"
#71269 - tepples - Sat Feb 11, 2006 2:43 pm
Darkflame wrote: |
*A great big Easter-Egg that says "Moonlight is a god amongst men, everyone shall worship moonlight for he provides for all our needs" |
eh?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#71310 - adrian783 - Sat Feb 11, 2006 8:51 pm
save bookmark in the text reader..big BIG plus
#71326 - HyperHacker - Sat Feb 11, 2006 10:24 pm
Darkflame wrote: |
*Pysdo-file name support. (eg, programs with a certain extension trigger a certain program to load. This could be as simple as compareing the last 3 letters of one file name, and triggering a programing in a directory starting with those letters). Moonshell could also place the route to the file that triggered it into the ram.
~It would then be upto the program writters, not moonshell, to run the program, get the route from ram, and open the file that was selected~ |
This would be awesome, but it'd essentially require Moonshell to be a simple operating system, loading the apps into memory and executing them. (Even more difficult if it's multitasking.) It's easy when the apps are built in, but as I've discovered, writing programs that use all relocatable code isn't so easy.
Quote: |
Moonlight is a god amongst men, everyone shall worship moonlight for he provides for all our needs |
I'm tempted to put this in my sig. ;-)
#71331 - tepples - Sat Feb 11, 2006 10:37 pm
HyperHacker wrote: |
Darkflame wrote: | ~It would then be upto the program writters, not moonshell, to run the program, get the route from ram, and open the file that was selected~ |
This would be awesome, but it'd essentially require Moonshell to be a simple operating system, loading the apps into memory and executing them. |
You mean like PogoShell? Each PogoShell app was a program that received the filename and start address in EWRAM and would jump to 0x08000000 when done. Many PogoShell apps were multiboots; those that weren't would use the Visoly bankswitch reset.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#71419 - marcspc - Sun Feb 12, 2006 8:02 pm
can the next version work in the windows ME??