Has anyone ever seen a Java media program that ties in visualizations like a Windows Media or Winamp type of deal? Don't really care if it uses a Java API, framework, or a simply taps pakages available in the OS....just looking to see if this is possible

Thanks!

Yeah I have already seen that one but, like I said, it doesn't seem to have an visualizations built in. Is it too complex to build in Java or is it simply not possible?

I'm sure its possible, but I'd have to do some research to figure out how. Which I'll be doing eventually anyway. I made an iTunes clone, and the visualizations is one of the last pieces I have left to complete.

I'm sure its possible, but I'd have to do some research to figure out how. Which I'll be doing eventually anyway. I made an iTunes clone, and the visualizations is one of the last pieces I have left to complete.

Sounds pretty cool, got a web site we all can check out for the updates on your project?

Java has pretty decent OpenGL libraries available, search for those.
Or you can go straight for painting things on a canvas using Java2D but why take the hard way?

I already planned on using OGL for the visuals rendering. (would like to get more than 2 fps) Its just getting the frequencies and beats from the music that'll be tough.

No website, this is just a spare time project of mine. I've started it over from scratch about 3 times now. But here are some pictures.

2nd rewrite, Windows
http://img.photobucket.com/albums/v204/phaelax/programming_projects/jtunesv08.jpg
3rd rewrite, Mac
http://img.photobucket.com/albums/v204/phaelax/programming_projects/jTunes_small.jpg

I have to say that is just plain amazing. I wish someday I could have as good as an understanding of any language as you do of Java.

I didn't even know how to use a JTable when I started that project. The whole point of the project was because iTunes wasn't available on Windows yet. (started this quite a few years ago)

I didn't even know how to use a JTable when I started that project. The whole point of the project was because iTunes wasn't available on Windows yet. (started this quite a few years ago)

Phaelax, what sound API are you using? Are you using the Java Sound API, the QuickTime Java library, Tritonus...?

i'm using the libraries from javazoom (mp3spi), which are built on tritonous and jlayer. I also have the ogg vorbis library, but haven't added it into the project yet.

i'm using the libraries from javazoom (mp3spi), which are built on tritonous and jlayer. I also have the ogg vorbis library, but haven't added it into the project yet.

Alright so you are extending the Java Sound API, alright that has been what I'm playing with.

Member Avatar for iamthwee
[B]Jwenting[/B]
Java has pretty decent OpenGL libraries available, search for those.

Wow, I didn't even know that, I just presumed OpenGL belonged to the with of c/c++ programming. sweet. I'm liking java more and more.

http://www.stud.ntnu.no/~johanno/mambo/jogl-tutorials/tutorial-6.html

Check the pic I did on the fly with OpenGL

Here's the site about the OGL wrapper. I've known about this for awhile now. I should've studied OGL instead of DX all those years, darn.
http://lwjgl.org/

DX and OpenGL aren't mutually exclusive, both have their use.

Member Avatar for iamthwee

Phaelax

Sorry if this is getting off topic, but how did you do those cool buttons for windows.


Do you have the source? :o

private JButton makeImageButton(ImageIcon normal, ImageIcon pressed)
	{
		JButton b = new JButton(normal);
		b.setPressedIcon(pressed);		
		b.setMargin(new Insets(0,0,0,0));
		b.setContentAreaFilled(false);
		b.setBorderPainted(false);
		b.setFocusPainted(false);
			
		return b;
	}
Member Avatar for iamthwee

Sweet, do u know how 2 do mouseovers...?

Another thing, for the visualisations, instead of actually using the frequency, u could just use JOGL with some random iterative formula... Who would no the difference?

http://www.nullsoft.com/free/milkdrop/screenshots.html

I'm using winamp to play my mp3 files and I absolutely love the milkdrop pics...

Just look at the JButton API, all your questions can be answered there about this.
JButton.setRolloverEnabled(true)
JButton.setRolloverIcon(Icon)

Nice images, no idea how to program such effects. Closest I've done was perlin noise, and that'd be way too slow for real-time effects like that.

Phaelax (or anyone), I was hoping you could help me out. You had mentioned something about JTables, so that led me to believe you are using Swing with your iTunes program. Basically I working on a program that uses a Swing GUI and uses a BasicPlayer (from JavaZoom) rewrite of the play functions. I am setting my progress bar to be the length of the input stream's total number of bytes (this is a JSlider) and I'm using a mouse listener on the slider (when the slider is released, it sends a call to the backend player skipBytes method). Now I seem to be having this problem where if I drag the progress bar a large distance then release it, the progress will go back to where it was and will not skip anything.

Have you encountered any problems like this? What was your work around? How are you setting up your progress bar and skipping if you are using Swing?

Thanks

i have a progress bar, but haven't added a listener to let me seek yet. I have a thought of what might be going on though. The slider updates its position automatically as the file plays, correct? When you go to move the slider a long distance, you might be holding it too long and the slider updates from its automatic action before you get a chance to finish your manual action.

Solution: throw up a flag when the user has control of the slider. Don't let the slider update itself in its usual manner while this flag is up.

Hope that made sense.

Yeah I understand...I will give it a try when I sit down next time.

Thanks for the help

Thanks, it worked great; I just put a little boolean flag that was set when the user presses on the slider and turned off when the user released using a MouseListener on the JSlider.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.