kleemajo Posted March 21, 2010 Share Posted March 21, 2010 and an svn! This. If you are looking for any help, I'd be willing to code something for you. Quote Link to comment Share on other sites More sharing options...
Zimmer Posted March 21, 2010 Author Share Posted March 21, 2010 Well I almost have the player done (ZigZagJoe how did you do your time bar (the blue progress bar, GDI?) (yes I am trying to emulate ZigZagJoe's player progress bar :) (but not all of it :)). Quote Link to comment Share on other sites More sharing options...
ZigZagJoe Posted March 21, 2010 Share Posted March 21, 2010 Well I almost have the player done (ZigZagJoe how did you do your time bar (the blue progress bar, GDI?) (yes I am trying to emulate ZigZagJoe's player progress bar :) (but not all of it :)). A custom control (C#). A thread forces an update every few milliseconds (i forget the exact value). Each time, it draws a bunch of slanted lines (45 degrees); the width of each "segment" is controlled by the height of the control. Then the "moving" counter is incremented once (for each time it is updated), and if it goes over height x 2 it is set to 0. I can send you the source if you like, it's a lot simpler than it sounds (i suck at the explaining). And yes, It's been brought to my attention that the client is a bit ugleh. Working on a pitiful attempt at skinning. Quote Link to comment Share on other sites More sharing options...
Zimmer Posted March 21, 2010 Author Share Posted March 21, 2010 I'd love to see the source :). Also as for ui, I have read some stuff on ui design, and a lot of it is stick with the native look, basically stick what with the user knows and also what is intuitive and simple. Quote Link to comment Share on other sites More sharing options...
ZigZagJoe Posted March 21, 2010 Share Posted March 21, 2010 (edited) I'd love to see the source :). Also as for ui, I have read some stuff on ui design, and a lot of it is stick with the native look, basically stick what with the user knows and also what is intuitive and simple. http://pastebin.com/z1ySDBAb Edited March 22, 2010 by ZigZagJoe Quote Link to comment Share on other sites More sharing options...
mrs_sheep Posted April 2, 2010 Share Posted April 2, 2010 (edited) Hey there guys, awesome project! =) I have been working on something a bit similar (or rather "I am starting to work") and got trouble with the getCommunicationToken procedure. I am not sure if the POST doesn't work, or if I just misform the JSON object... (it's in Java so i can't use httplib2 :( ) Is this one ok to be sent to https://cowbell.grooveshark.com/service.php ?? { "header":{ "session":"24cf16c761dac87ceaa79c706768420f", "uuid":"deb37af2-44ca-4ce4-85ce-d71217402827", "client":"gslite", "clientRevision":"20100211.13" }, "parameters":{ "secretKey":"382a1ebcb74105894ee8ff551e45c9bd" }, "method":"getCommunicationToken" } Don't tell me just to use one of the existing programs, it's not about the program; it's about the programming :D Thank you though :) @Zimmer Great Work :) EDIT: Here the HTTP-Protocoll (with HTTP insetad of HTTPS in order to capture it): POST http://cowbell.grooveshark.com/service.php HTTP/1.1 Accept-Encoding: identity Content-type: application/json Host: cowbell.grooveshark.com Content-length: 252 Connection: close User-Agent: Mozilla/5.0 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive {"header":{"session":"94996ccf0e3e8ed65d8918a18524319c", "client":"gslite", "clientRevision":"20100211.16"", "uuid":"5588be94-98f9-4f82-a6db-b650e205c36e}, "parameters":{"secretKey":"59f3474dd112d80149a974002c88b380"}, "method":"getCommunicationToken"} Edited April 3, 2010 by mrs_sheep Quote Link to comment Share on other sites More sharing options...
Zimmer Posted April 11, 2010 Author Share Posted April 11, 2010 It seems fine from what I can tell (though you have to use https). Also Just completed the plugin system Plugin.py # Plugin Interface class Plugin(object):     '''Implement the methods and then put them into a file.'''     def __init__(self, frame):         self._author_ = 'Author'         self._description_ = 'Plugin Description'         self._name_ = 'Plugin Name'         self._keywords_ = 'Keywords about Plugin'         self._other_ = {}# other information; on running iterates through the keys and values and sets them up along with the above         self.main_frame = frame # main frame that the plugin can acces any attributes, etc     def render(self):         '''         This is the method called and starts up the plugin.         This sets up the gui panel etc.         You can set it up by referance to the main frame.         '''         raise NotImplmentedError('Error: You need to subclass this or create an instance of it and then modify that.') Example Plugin # test plugin from plugin import Plugin class Foo(Plugin):     def __init__(self, frame):         self._author_ = 'Zimmer'         self._description_ = 'Example Plugin'         self._name_ = 'Example Plugin Foo'         self._keywords_ = 'example; Foo; useless'         self._other_ = {'other_field': 'Info on other field', 'other field 2': 'other field info 2'}# other information; on running iterates through the keys and values and sets them up along with the above         self.main_frame = frame # main frame that the plugin can acces any attributes, etc     def show_message(self, event):         msg = wx.MessageDialog(self.main_frame, message = 'Hello; this is an example action a plugin can do.\n\nI know that this is such a usefull example')         msg.ShowModal()     def render(self):         print 'rendering controls'         self.run_plugin_bttn = wx.Button(self.main_frame.panel, -1, label = 'Click Me; I am an example', size = (200, 40), pos = (100,50))         self.main_frame.Bind(wx.EVT_BUTTON, self.show_message, self.run_plugin_bttn) if __name__== '__main__':     # example Frame     # test frame to display it in the non plugin framework     import wx     app = wx.App(redirect = False)     frame = wx.Frame(None, -1, title = 'Foo Test Window')     frame.panel = wx.Panel(frame, -1)     p = Foo(frame)     p.render()     frame.Show()     app.MainLoop() Quote Link to comment Share on other sites More sharing options...
Brandon Posted April 15, 2010 Share Posted April 15, 2010 Grooveshark just changed their whole api, just to let yall know Quote Link to comment Share on other sites More sharing options...
1n5aN1aC Posted April 16, 2010 Share Posted April 16, 2010 If you just wanted a song or two or three, you can easilly use FireFox & FlashGot. It works like a charm. (except some songs show up as blah-blah-blah.php.mp3, and if you play them after downloading, they crash your media player for some reason.....) Quote Link to comment Share on other sites More sharing options...
ZigZagJoe Posted April 16, 2010 Share Posted April 16, 2010 Grooveshark just changed their whole api, just to let yall know Thanks for noting this - updated the grooveshark saver2 plugin. Quote Link to comment Share on other sites More sharing options...
Zimmer Posted April 16, 2010 Author Share Posted April 16, 2010 Mine is already update :P (though sense I am not done with the plugin or option GUI interface doesn't make much difference). Quote Link to comment Share on other sites More sharing options...
TornadoChaser Posted April 19, 2010 Share Posted April 19, 2010 Here's the relevant information for the recent updates: Client: gslite ClientRev: 20100211.13 to 20100412.02 Random String: theColorIsRed to quitStealinMahShit There may be more changes but I've got most everything working again simply by making the above changes. I'm almost done with a beta version of my grooveshark downloader anroid app :) Quote Link to comment Share on other sites More sharing options...
Zimmer Posted April 19, 2010 Author Share Posted April 19, 2010 TornadoChaser posting it on the boards means the people running Grooveshark know we know and will change it faster. Quote Link to comment Share on other sites More sharing options...
Netshroud Posted April 19, 2010 Share Posted April 19, 2010 Be funny if the next 'random' string was pleaseStopZimmer Quote Link to comment Share on other sites More sharing options...
TornadoChaser Posted April 19, 2010 Share Posted April 19, 2010 Sorry Zimmer... I will not post data like that in the future Quote Link to comment Share on other sites More sharing options...
bme2008 Posted April 19, 2010 Share Posted April 19, 2010 (edited) I can talk to the API with this data and get a stream key. However the request to stream.php always comes out as a 404. Any sugesstions why this might be? Edit: Actually I figured it out by now. Quite interesting that there are other people working on this :D Edited April 19, 2010 by bugmenot2589944 Quote Link to comment Share on other sites More sharing options...
Zimmer Posted April 19, 2010 Author Share Posted April 19, 2010 Sorry Zimmer... I will not post data like that in the future No reason to be sorry, I just figure better safe than sorry. :) Be funny if the next 'random' string was pleaseStopZimmer Ha that would be :) Quote Link to comment Share on other sites More sharing options...
remmer Posted April 20, 2010 Share Posted April 20, 2010 Zimmer, any chance you can post your updated code? Do you have a repository somewhere? I got the gui you posted at the start of this thread almost working, but I thought it'd be nice to use your current code instead of reinventing the wheel. Great work everyone, by the way. I stumpled upon this thread when searching for projects similar to what I was doing. I was using the api and pretending to be a mobile phone. This was working, but I seem to be severely rate limited. Quote Link to comment Share on other sites More sharing options...
Zimmer Posted April 30, 2010 Author Share Posted April 30, 2010 Well I have dumped mplayer, so a lot of time has been wasted but also a lot of headaches avoided. Quote Link to comment Share on other sites More sharing options...
TornadoChaser Posted May 3, 2010 Share Posted May 3, 2010 If anyone has an Android phone please check out my app I just released in the Android Market... Song Storm Lite... A free version will be release in the next couple days... I have to work out some screen orientation change issues yet and add some more error handling but it works pretty well so far. Just thought I'd let everyone know in case their interested. Quote Link to comment Share on other sites More sharing options...
gnounc Posted May 4, 2010 Share Posted May 4, 2010 awesome job, that looks great, Wish I had an android phone. Quote Link to comment Share on other sites More sharing options...
Elementix Posted May 14, 2010 Share Posted May 14, 2010 If anyone has an Android phone please check out my app I just released in the Android Market... Song Storm Lite... A free version will be release in the next couple days... I have to work out some screen orientation change issues yet and add some more error handling but it works pretty well so far. Just thought I'd let everyone know in case their interested. So did your app get removed or something? I tried to find it in the market and through a QR code to the app and nothing. If they are removing it are you going to just post it here? Thanks! Ready to try the app... Quote Link to comment Share on other sites More sharing options...
Daniel Danopia Posted May 17, 2010 Share Posted May 17, 2010 I thought that the new secret was aimed at me. I'm writing a Ruby-based CLI client, which uses a lot less RAM and CPU than their flash client. I can control it with media keys, typed commands, or even my iPod (it acts as a MPD server). I use mplayer to actually play audio. When I got the new code, I googled it to see what idiot posted it... and ended up here. Good job :D In my latest change, the secret/clientid was changed, "country" was added, and getStreamKeyFromSongID was replaced with getStreamKeyFromSongIDEx. Quote Link to comment Share on other sites More sharing options...
Zimmer Posted May 17, 2010 Author Share Posted May 17, 2010 New Release of Sharky Download here for all systems (note for mac replace mplayer.exe with mplayer.app and for linux replace mplayer.exe with whatever mplayer binary you use (and name it mplayer, no extenstion (cause unlike windows or mac I don't know the executable extension (plus they probably vary)) http://www.mediafire.com/download.php?ti3njknyuwy Quote Link to comment Share on other sites More sharing options...
Elementix Posted May 19, 2010 Share Posted May 19, 2010 I'd still like to get that android app for my phone.... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.