| |
kenchis
Registered: Jan 2008 Posts: 65 |
New member does Sidplay2 in Java
Hi folks,
I am a new member of CSDb and want to introduce myself
with a little release.
First, i am very proud to be accepted as a new member of the scene.
For short: I am a C64 fan from 1986 until now.
I was never active in the scene, too less talented maybe, but i learned basic and assembler and did some coding for myself in the past.
One thing from the past i actually do until today is listening the precious SID music of all the talented music artists. So many thanks to all of you for your work
collected in the HVSC.
To listen the new releases from the still active groups i often used sidplay2 for windows or an emulator like CCS64, because my commodore was on the attic.
I am also a Java developer and wanted to have my very own java implementation to create a so called C64 Jukebox.
I decided to create a 1:1 conversion of sidplay2 from C++ to java. It should have all features of the original.
It was a long time work and when it was finished i decided to make it open source, that others can integrate into their java emulators.
Perhaps there will be plugins for many java apps some day or a version running even on a mobile.
If you have any suggestions or feedback (positive or negative) it is welcome.
Have a lot of fun with our hobby,
Ken
http://sourceforge.net/projects/jsidplay2/
|
|
| |
Burglar
Registered: Dec 2004 Posts: 1069 |
welcome! |
| |
Stainless Steel
Registered: Mar 2003 Posts: 966 |
good work! |
| |
jailbird
Registered: Dec 2001 Posts: |
The player works like a charm, thanks!
Welcome, and keep up with the nice work! :) |
| |
TDJ
Registered: Dec 2001 Posts: 1879 |
This ofcourse opens the door to a .sid player for Java enabled telephones! Great work man, and welcome from a fellow Java developer ;) |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
Awesome, man! And great that you can switch the distortion on/off on the fly! Now let me know how the SLDb support works, please. |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
Excellent! I'll give a J2ME port a go when I get the time, but I wouldn't keep my hopes up for most phones. The Motorazr2 phone could have a fast enough Java VM for running sidplay2, and so could perhaps also some of the latest Sony Ericsson models, but I reckon that'd be about it. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
For SLDb configure like this:
Edit ~/sidplay2.ini (C:\users\<name>\sidplay2.ini)
Songlength Database =<hvsc_dir>/documents/Songlengths
The INI file is created, if it doesnt exist.
|
| |
TDJ
Registered: Dec 2001 Posts: 1879 |
Quote: Excellent! I'll give a J2ME port a go when I get the time, but I wouldn't keep my hopes up for most phones. The Motorazr2 phone could have a fast enough Java VM for running sidplay2, and so could perhaps also some of the latest Sony Ericsson models, but I reckon that'd be about it.
What about the Nokia N95? Not that I have one but I think it features some extra multimedia chips or something (at least for video).
I myself have a Nokia E61i and a Samsung u700, guess I'll miss out on the fun with both of them :( I did hear about a sid player for phones running Windows Mobile on them though. |
| |
gregg Account closed
Registered: Apr 2005 Posts: 56 |
Very nice port, works flawlessly. However, it is very CPU intensive, compared to c++ sidplay2. On my 2.7 GHz Athlon X2 it uses about 20% CPU time, while sidplay2 hovers around 1-2%. :) |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
TDJ: Sound playback isn't expensive at all compared to emulating the SID and 6510. Doing SID players for Windows Mobile or Symbian is much less taxing than for J2ME, since both Windows Mobile and Symbian run code natively rather than in a VM. Both the Motorazr series and the standard (non-Symbian) Sony Ericsson phones have got very fast Java VM's, so it's worth a try.
That being said, I don't believe any mobile phone SID players for either Symbian or Windows Mobile are based on sidplay2/ReSID. |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
gregg: Well, that's Java for you. Huge and slow. :-P |
| |
Jammer
Registered: Nov 2002 Posts: 1333 |
i wait for j2me version! my k310i is hungry :D |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Oooh, nice. I've been wanting to port sidplay to j2me someday. Now u've done half the work already. Thanx! :D |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Hi folks,
I am currently working on a GUI for jsidplay2,
i have now some graphical output.
If somebody wants to have a sneak preview,
here is it:
http://mitglied.lycos.de/kenchis/jsidplay2.jar
Start with java -jar jsidplay2.jar
Tell me your ideas.
For example i think about a sheet of music
displaying the current note.
Have a nice weekend,
Ken |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
Thanks for your effort, but the final result isn't too appealing to me, sorry. Those displays add no extra value to me, I'd rather have a simple GUI with some extra features that other players lack. For example the ability to activate single channels or switch SID model on-the-fly. |
| |
Conrad
Registered: Nov 2006 Posts: 840 |
I'm suspicious on how you are going to produce a sheet-music facility for SID music. Are you thinking of doing this by frequency reading, or are you actually going to show a full sheet of the current notes been played? |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
@Steppe:
The gui is at least a graphical representation of what
is currently going on in the SID chip. Not more and not less.
The options are still missing.
The other ideas: switching the SID model is good idea.
There are some alternatives in resid engine (faster, but not exact).
Activating/Muting the channel will also be added.
|
| |
kenchis
Registered: Jan 2008 Posts: 65 |
@Conrad:
The idea is to show the actual note (from frequency of the voice) on a note sheet at the correct position:
------|-------
-----O|#------
--------------
--------------
--------------
D#-1
octave 1
38.9Hz
0xD400=0x02
0xD400=0x96
Graphix is not exact,
but shows hopefully what i mean.
The note will scroll like the other graphix of the player.
|
| |
MagerValp
Registered: Dec 2001 Posts: 1065 |
Neat, but something has to be done about CPU usage for this to be usable... On my 1.83 GHz Core Duo laptop it uses 120% and spins up the fans!
|
| |
kenchis
Registered: Jan 2008 Posts: 65 |
I have a Dual Core 1,4GHz Laptop
and 20% of CPU time is used... |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
So one core of Magervalp's Laptop must be broken? %) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11293 |
or the osx java vm sucks =D |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
One user asked of a feature to display the rastertime
of the currently playing SID.
Does anyone know how to add this?
I tried to print out $D012 when the VIC raster interrupt is cleared (MOS656x.java: trigger()), but this works not for all SIDs, any ideas? |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: One user asked of a feature to display the rastertime
of the currently playing SID.
Does anyone know how to add this?
I tried to print out $D012 when the VIC raster interrupt is cleared (MOS656x.java: trigger()), but this works not for all SIDs, any ideas?
Can't u get CPU cycle count timestamp before and after the call to the player routine? Divide that value by 63 do get raster time usage. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Then 63 must be the cycles per line?
Then i will try that way,
thankx :-)
|
| |
Stainless Steel
Registered: Mar 2003 Posts: 966 |
This sounds very interesting i would like
to see a little more sophisticated sidplayer.
But holy shit, it does hog a lot of cpu time.
50%-60% on my core 2 duo 6300.
I assume it runs under Linux just as well, being a Java program ? |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: Then 63 must be the cycles per line?
Then i will try that way,
thankx :-)
Yup, that's the cycle count on a raster line that doesn't have any DMA fetches. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Linux is working good!
One time i found a user that did not support little-endian
sound buffers, but many others tried and it works, I dont know if i should support big endian, too.
The CPU amount is 60%, when the graphical display is turned on. The console version is 20%.
The emulation of the chips is the least expensive part, the sound api and GUI with swing is the most expensive CPU consumer. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Quote: Yup, that's the cycle count on a raster line that doesn't have any DMA fetches.
What exactly are DMA fetches?
I never heard of it. |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: What exactly are DMA fetches?
I never heard of it.
It's when the CPU is blocked and another chip is using the full 2mhz of the bus bandwidth. Normally the CPU and the custom chips share the bus in a 1:1 manner, 1 mhz each, but some custom chip operations require a more quick fetch, for instance reading new chars from memory, reading new sprite gfx each raster line...
Also, don't forget to show the raster time properly for multi speed tunes, preferably with raster time per sub-call per frame because sometimes call 1 of 4 in a 4x-tune requires more rastertime than the other 3, which could be interesting to see. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Quote: It's when the CPU is blocked and another chip is using the full 2mhz of the bus bandwidth. Normally the CPU and the custom chips share the bus in a 1:1 manner, 1 mhz each, but some custom chip operations require a more quick fetch, for instance reading new chars from memory, reading new sprite gfx each raster line...
Also, don't forget to show the raster time properly for multi speed tunes, preferably with raster time per sub-call per frame because sometimes call 1 of 4 in a 4x-tune requires more rastertime than the other 3, which could be interesting to see.
Ok, DMA fetches depend on the operation that is performed.
I am not shure, if this is modeled in sidplay2.
I hope i can ignore that on calculation, if their influence is very small.
But multi speed tunes i must be aware of. But i dont know how to find out.
If i know, that it is a 4x speed i could then show the raster time of each seperate call.
Perhaps i should print out only min max values.
|
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: Ok, DMA fetches depend on the operation that is performed.
I am not shure, if this is modeled in sidplay2.
I hope i can ignore that on calculation, if their influence is very small.
But multi speed tunes i must be aware of. But i dont know how to find out.
If i know, that it is a 4x speed i could then show the raster time of each seperate call.
Perhaps i should print out only min max values.
Ignore it ofcourse, it doesn't matter at all.
Nah, graphically show each call as a bar. One line per raster line or so. For 4x tunes, simply have 4 bars etc. Also have min and max values. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Quote: Ignore it ofcourse, it doesn't matter at all.
Nah, graphically show each call as a bar. One line per raster line or so. For 4x tunes, simply have 4 bars etc. Also have min and max values.
But how to find out if a tune is 4x?
|
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: But how to find out if a tune is 4x?
No idea. The hvsc-guys should know. Send steppe a PM or something. |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
Erm, the easiest way is to read the CIA2 registers $DC04 and $DC05. The total amount of cycles on a PAL C64 is $4CC8 (63 cycles per line times 312 lines). The amount you put into DC04/05 is the amount of cycles the CIA2 reg counts down to 0 before a new interrupt is triggered. So, in effect, take the following formula and you have playspeed:
$4CC7 divided by ($DC05 times 256 plus $DC04). Round that and you should have the proper speed. I'm no coder, I hope that was understandable.
The next problem is how to get that value, as it's a counter, so it doesn't have a constant value. You could either read out the registers for a few frames and take the maximum value or follow the init/play calls for a few instructions and see if you stumble over something like
LDA/X/Y $63
STA/X/Y $DC04
LDA/X/Y $26
STA/X/Y $DC05
That would be a doublespeed tune. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Now i added the tune speed information into the beta version.
It works for PAL/NTSC and
if it changes while playing, it shows min/max values.
I tried the tunes postet here:
Useless(?) facts about sids
And it seems almost to show the correct value.
@Steppe:
Thank you for your explanation, it was very helpful. |
| |
The Overkiller Account closed
Registered: Mar 2002 Posts: 342 |
Quote: This ofcourse opens the door to a .sid player for Java enabled telephones! Great work man, and welcome from a fellow Java developer ;)
Yeah!! A sid player for the mobile phones based on Java or Symbian will be a piece of coolness ..... |
| |
gregg Account closed
Registered: Apr 2005 Posts: 56 |
I guess we will have to wait until cellphones have CPUs in the GHz range. :) |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
Totally missed that post!
Check out http://mitglied.lycos.de/kenchis/jsidplay2.html
It really developed into something very useful, thanks a lot Kenchis! (Even player version is displayed, wow!) |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Hi Steppe,
you did not miss anything.
In fact you are very fast, because i posted that some minutes ago.
It is still in developement, but now everybody can play with the current version.
:-)
|
| |
assiduous Account closed
Registered: Jun 2007 Posts: 343 |
not a bad player atall (SID emulation is pretty impressive,only Hoxs64 emulates better) but ... it drives me nuts that the settings I use reset everytime I load a new tune or even change a sub tune! |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Do keep the settings, you must edit sidplay2.ini in your home directory.
Next version will save the settings... |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
The Applet is now updated, changes are:
1.
HVSC browser shows the most important infos of selected tune
2.
The settings are remembered while the player is running (separate for each filter)
You should store HVSC database path in your INI file, that it is used on startup.
|
| |
assiduous Account closed
Registered: Jun 2007 Posts: 343 |
changed resonance to a higher value,selected another tune and the resonance settings are back to what they were before |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
the resonance belongs to the selected filter.
If you change a tune, the selected filter switches to default (FilterStockResid6581 or FilterStockResid8580).
Normally you have to change resonance for every filter.
If you want to change it permanently you can currently only save it in sidplay2.ini |
| |
assiduous Account closed
Registered: Jun 2007 Posts: 343 |
i cant find the parameter for resonance power in sidplay2.ini, which one is it ? |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
This parameter is set in each filter section:
ResonanceFactor=1.0
|
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: This parameter is set in each filter section:
ResonanceFactor=1.0
When I try to build the source myself I get:
.\jsidplay2-1.4\resid_builder\resid\IWave6581.java:25: code too large
static int /* reg8 */wave6581__ST[] = {
Please help. ;D |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
AFAIK this is a java version issue.
The static array is too big for javac. This has changed.
You schould compile with java 1.6
Which version did you try? |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: AFAIK this is a java version issue.
The static array is too big for javac. This has changed.
You schould compile with java 1.6
Which version did you try?
JDK 1.6 Update 4. I read that they changed the byte code from 1.5 to 1.6 to support >64k code chunks, but still it doesn't work.
Maybe NetBeans is pWNING my ass, I dunno. It says it's using JDK1.6 and the path seems correct... |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
try javac on the command line.
In Eclipse i didnt have this problem,
but i had it on the command line with java 5.
So netbeans uses his own compiler perhaps persumably. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Now i released a new beta, changes are:
Stereo tunes support (added last week)
STIL support (new)
Just reload in your browser :-)
Next version will have at least distortion sim v6
|
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Next beta is available (distortion sim v7).
Remove your INI file (it has changed) and start the beta in your browser, then it is created from scratch.
|
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Next beta is available (distortion sim v8).
Remove your INI file (it has changed) and start the beta in your browser, then it is created from scratch.
Now the distortion should work better using sample method "Interpolate" by default. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Now i changed the location current beta version from provider lycos to sourceforge:
http://jsidplay2.sourceforge.net/jsidplay2.html
The lycos server makes some trouble this evening and does not load my applet
I also added a recording feature to record wav files to the GUI.
It was a short hack, but i hope it works like it should.
I would be glad if someone could try it out.
Best regards
Ken |
| |
gregg Account closed
Registered: Apr 2005 Posts: 56 |
@kenchis
Have you done anything so far to improve the performance? Your project is great and that's about the only real downside of it so far. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Hi gregg,
thank you for your feedback.
The performance can be set on the settings page.
Set the sampling method to "fast" or you can also set the optimize level. So the performance will drop down to 10% of CPU.
I choose the good emulation prior to the fast one by default.
In direct comparison to the C++ sources it is around factor 2 slower.
The other sampling methods are horrible in java and IMHO not usable.
|
| |
assiduous Account closed
Registered: Jun 2007 Posts: 343 |
with no option to override the sid model info in a sid file this emulator is unusable for me. its annoying to change the sid model for each and every sid file/sub tune i play. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Ok, then it should be possible to lock the chosen model for all SIDs to play.
Edit: The feature is now in :-) |
| |
gregg Account closed
Registered: Apr 2005 Posts: 56 |
Another question. How can I disable the GUI? I cannot find the command line switch for that. :) Unsetting $DISPLAY just errors out. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Hi Gregg,
You have to start the console player this way:
java -classpath jsidplay2.jar sidplay.ConsolePlayer
|
| |
yonx Account closed
Registered: Dec 2003 Posts: 31 |
nice work! i just tried out the applet, there seems to be a little glitch in the gui-layout under osx:
http://img.skitch.com/20080406-geshsy91sh1s4422epf1wtu6j1.jpg |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Now i added a Memory tab with a Disassembler :-)
@yoki: can you make a complete sreenshot, then i can possibly find out how much too small the window width is.
Thank you for using it.
|
| |
yonx Account closed
Registered: Dec 2003 Posts: 31 |
@kenchis: sure! http://img.skitch.com/20080406-nrk9cc5qdw8s2d3eku1yra2qm6.jpg |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
The OSX version looks really nice :-)
but the window seem to be too small :-(
Edit: Now you can also listen to the CGSC tunes in parallel to the HVSC tab :-) Some of them sound really good with 4-6 voices
Edit: Now i added graphical output of type 3 filter curves on the settings tab. I also tested substance look&feel on Mac OSX :-) |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
I dont know, if anyone reads my thread in the lemon64 forum,
so i will post my updates twice:
Distortion Simulation v18 is in and also an improved version of the search feature.
Now i will continue my work on the favorites tab.
This version you can export your favorites to a folder
by context menu. So, if you have mmc-replay you can copy them to an SD card :-)
Regards,
Ken |
| |
Dano
Registered: Jul 2004 Posts: 229 |
really nice one (esspecially compared to the lame sidplay/2 windows user have to suffer from), but as it's done in java i can't even make it work smoothly on my athlon 3200+ at home nor my athlon x2 5000+ at work. i'd love this one done with a decent programming language..... |
| |
assiduous Account closed
Registered: Jun 2007 Posts: 343 |
Quote: really nice one (esspecially compared to the lame sidplay/2 windows user have to suffer from), but as it's done in java i can't even make it work smoothly on my athlon 3200+ at home nor my athlon x2 5000+ at work. i'd love this one done with a decent programming language.....
i agree,feature wise its the best sid player but its abit too sluggish. the interpolation sampling mode takes about as much CPU power as the more accurate resampling in Hoxs64 i use via Sidtool so i usually play sids with Sidtool. |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
You can speed-up the player by installing
a Java Developement Kit instead of a Java Runtime Environment.
Then Call:
"C:\Program Files\Java\jdk1.6.0_04\bin\java.exe"
-server -Xmx512M
-classpath mp3spi1.9.4.jar;jl1.0.jar;tritonus_share.jar;derby.jar;jsidplay2.jar
applet.JSIDPlay2
This will use a server VM that is optimized for performance and approximately use only half of the CPU time :-)
|
| |
Dano
Registered: Jul 2004 Posts: 229 |
C:\Downloads>"C:\Programme\Java\jdk1.6.0_07\bin\java.exe" -server -Xmx512M -clas
spath mp3spi1.9.4.jar;jl1.0.jar;tritonus_share.jar;derby.jar;jsidplay2.jar apple
t.JSIDPlay2
Exception in thread "main" java.lang.NoClassDefFoundError: applet/JSIDPlay2
Caused by: java.lang.ClassNotFoundException: applet.JSIDPlay2
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
actually that's what came out when trying what you posted. that's java to me..
is starting with the gui then oder is it staying console? |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
For Console Player call:
"C:\Program Files\Java\jdk1.6.0_04\bin\java.exe"
-server -Xmx512M
-classpath jsidplay2.jar
sidplay.ConsolePlayer
Everthing must be put in one line!
On Unix/Linux the ";" in the classpath must be replaced with ":" |
| |
Dano
Registered: Jul 2004 Posts: 229 |
now i even tried putting that line into a batch-file und starting it from there. same error message.
i'm using windows here, put jsidplay.jar under c:\downloads, the jdk lies under c:\programme\java\andson...
i wish java-programms could be started with a simple doubleclick and nothing more....... *sigh* |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Try to specify the full path name of the jar:
c:\downloads\jsidplay2.jar
Btw, it is possible to doubleclick the jar file on windows. But you need the command-line options in this case. |
| |
Dano
Registered: Jul 2004 Posts: 229 |
actually i got i to work.. atleast sort of. the gui starts up with the commandwindow in the back which wants me to press return as it displays the help (why ever it does that), after that it closes. apart from the fact that i does look pretty different from the one in the browser.
doubleclicking doesnt start it, as this one seems to be linked to java platform se binary.
to be honest i think it would be best if you could distribute some sort of fool-proof zip-archive which every idiot can use... just my 2 cents.
(please note that i spent this week supporting our business clients to use a java console app to transform and transfer their data our beloved german bundesamt. it's soooo cool that those dumbasses aren't able to provide decent error messages, nor a user-friendly gui or else. yes i'm pretty much java-pissed that week.... well if anyone cared that is.. *g*) |
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Everybody that have problems with command line java calls
can now try this Java Web-Start link. Now you will stay up-to-date.
http://jsidplay2.sourceforge.net/jsidplay2.jnlp
Regards,
Ken |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
Haven't tried this player for a while now, but it just looks to be the perfect allround tool! AWESOME! |
| |
Fredrik Account closed
Registered: Apr 2009 Posts: 204 |
What is the htmlcode to embedd the Jsidplay2 in a homepage?
Would be nice if someone could paste the code here.
So the sidsong can be played automaticly.
Thanx
|
| |
MagerValp
Registered: Dec 2001 Posts: 1065 |
Quote: What is the htmlcode to embedd the Jsidplay2 in a homepage?
Would be nice if someone could paste the code here.
So the sidsong can be played automaticly.
Thanx
Please don't make it autoplay. It's extremely annoying to have music starting and stopping randomly as you browse web pages, interrupting the music in my mp3 player.
|
| |
kenchis
Registered: Jan 2008 Posts: 65 |
The player is IMHO not suitable to be used embedded in a web-page.
It is more like a big sized application. It needs a lot of time until it is starts-up.
I also dont like automatic background players, but if you search for such a thing you should use JSIDPlay (jac64.sourceforge.net) by Joakim Ericsson. It does a good job and also uses Java version of the sidplay2 engine by me. |
| |
Fredrik Account closed
Registered: Apr 2009 Posts: 204 |
Ok, thank you.
|
| |
kenchis
Registered: Jan 2008 Posts: 65 |
I updated my version and put in a new function:
The video display.
Now the emulation uses a new VIC chip implementation of another open source user (project j2me on sourceforge).
You can now watch onefiler program files (.prg) on the video tab.
It is only beta, so it might crash the player or can not do any VIC trick, but it should be a nice add-on.
|
| |
enigma
Registered: Feb 2002 Posts: 15 |
For the MP3 / EMU comparison switch, I would like to have this on the same page as the filter settings. So I can switch and tune the filter setting.
Also an indicator when the MP3 has run out would be nice.
As there are SIDs that loop, maybe a loop option for the MP3 would be cool too.
|
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Hi enigma,
I will add the switch MP3 / emulation in the settings tab, too.
I will try to add a mp3 loop, if the mp3 playback has finished. You can then control the option (loop/play once) on the general tab (click on "Respect song length").
|
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Next beta update is available.
Now you can switch between emulation and mp3 playback near the filter settings.
If the end of the mp3 is reached it will loop.
However, the emulation continues to play.
This leads to a small gap.
There is no display to see the current playback position of the mp3, but is it really needed? I think not.
There is also a little feature to "Reset C64".
Yust click on the video screen and type in a little basic program ;-)
Next feature is joystick support...
|
| |
kenchis
Registered: Jan 2008 Posts: 65 |
Next Beta is out, fixes are:
VIC bugfix for softscrolling
joystick support (configure on the joystick tab), works for linux/windows and mac osx
Searching for a SID player, that fits your needs?
http://jsidplay2.sourceforge.net/jsidplay2.jnlp |