Subsonic C#

Third-party modifications and add-ons, Apps and Clients

Moderator: moderators

Subsonic C#

Postby vividboarder » Wed Dec 15, 2010 7:55 pm

I'm not sure if anyone here is a C# developer (MS or Mono) but I started writing an API wrapper in C# for anyone to use.

I was having some trouble getting music to actually play reliably, but I have a library that will interact with the Subsonic API pretty well.

It's definitely a work in progress as I only have implemented a few of the API calls so far.

If you want to use it, have at it! Let me know what things you'd like to see. Also, if you have suggestions on playing the music (I can get the streams just fine as a Stream object) in VisualStudio or in Mono then let me know too.

https://code.google.com/p/subsonic-csharp/
vividboarder
 
Posts: 18
Joined: Wed Sep 22, 2010 1:37 pm
Location: 223

Postby kramttocs » Thu Dec 16, 2010 7:55 pm

Hey vivid,

This is great! I just spent a few minutes going through your code/documentation and created a quick winform to try it out.
I don't know anything about Mono but work in VS (C#) daily so I am excited about where this could go and will be glad to help.
kramttocs
 
Posts: 110
Joined: Thu Nov 25, 2010 4:59 am
Location: Southwest Missouri, USA

Postby vividboarder » Sun Dec 19, 2010 1:20 am

kramttocs wrote:Hey vivid,

This is great! I just spent a few minutes going through your code/documentation and created a quick winform to try it out.
I don't know anything about Mono but work in VS (C#) daily so I am excited about where this could go and will be glad to help.


Awesome! Good to hear someone is intrested and it may not just be a waste of my time. :p

I'm going to try to finish getting the minimum necessary API methods implemented and then try my hand at building an actual, functioning front-end. Either GTK#, WinForms or something else.

I was thinking it may be cool to do a whole ASP.net alternate interface. But... I'm getting a bit ahead of myself.

I'll try to keep this thread informed with any major updates. Anything else will be on the Google Code page.
vividboarder
 
Posts: 18
Joined: Wed Sep 22, 2010 1:37 pm
Location: 223

Postby kermit22 » Mon Dec 20, 2010 6:24 pm

Very cool idea vivid. Keep us informed and I will be happy to beta test when you get to that stage.
User avatar
kermit22
 
Posts: 218
Joined: Fri Feb 20, 2009 7:00 pm

Postby vividboarder » Mon Dec 27, 2010 10:08 am

Question here guys...

I'm wondering what the best way to approach this is going to be... do I implement the API as close to the SubsonicAPI as possible? Or do I make it "better" and do a bunch of stuff "automagically".

EDIT:
So I was going to refer you to the diff... but I just wiped everything so I could switch my version system over to mercurial. This will make things easier for me as I move forward.
vividboarder
 
Posts: 18
Joined: Wed Sep 22, 2010 1:37 pm
Location: 223

Postby kramttocs » Tue Dec 28, 2010 9:43 pm

My initial suggestion would be to keep it as close to the SubsonicAPI as possible mainly for ease of use/troubleshooting. But I am not sure of the api improvements you have in mind and whether or not they would completely justify the new direction. Either way, I would say since you are the mastermind putting forth the time and effort on this, I don't think anybody is going to criticize you no matter what direction you take.

And I am interested in some of these 'automagic' improvements you are thinking about. :)
kramttocs
 
Posts: 110
Joined: Thu Nov 25, 2010 4:59 am
Location: Southwest Missouri, USA

Postby vividboarder » Wed Dec 29, 2010 2:54 am

Well what I'm trying to do now is still preserve the ability to interface with the Subsonic API directly and exactly as the main API, but I'm using some Class Properties to auto fetch data from the server on demand and load it into static variables. It really makes using the API very easy.

When I was playing around with other implementations of this I noticed that it's nice that to have it do all the fetching automatically, but it makes it hard to cache data if you wanted to provide a local database to reduce network load between times you run the application. That's why I'm definitely going to be providing the straight through methods to the base API.

I also have a generic method for making any API calls. Overall, I think it's coming along.
vividboarder
 
Posts: 18
Joined: Wed Sep 22, 2010 1:37 pm
Location: 223

Postby vividboarder » Wed Jan 05, 2011 9:00 am

Another update...

I've made some changes to the Mono player app and now it will queue songs in VLC when you click the little > button. So VLC is a requirement for playing songs via my example app.

In other news, I found another practical use for my API. Any linux users familiar with Gnome Do? It's written in C# so I'm trying to build a plugin for it.
vividboarder
 
Posts: 18
Joined: Wed Sep 22, 2010 1:37 pm
Location: 223

I'm totally down to contribute!

Postby hipsterzipster » Thu Jan 06, 2011 5:07 am

I just checked out your code and I'll be going over it for the next or so. I love subsonic and it'd be kind of nice to slap a nice UI on the front of it.
hipsterzipster
 
Posts: 1
Joined: Wed Jan 05, 2011 6:41 am

Postby 3R3 » Tue Mar 15, 2011 12:48 pm

Just stating my interest and ability to test apps (cli or ui) under ubu karmic. Looking forward to any progress updates :-)
User avatar
3R3
 
Posts: 332
Joined: Mon May 04, 2009 2:09 pm
Location: Germany

Postby vividboarder » Sat Mar 19, 2011 3:33 pm

Hey, so I haven't posted many updates...

But my API is pretty functional at the moment. I've got a test app in Mono GTK that queues up songs and plays them in VLC player.

Also, I started working on a Gnome DO plugin to play songs as well, but that project is kind of a mess at my first glance.

That said...

Anyone with C# experience want to work on an actually application with me? I don't have the time to do it all on my own on top of the API layer.

Another idea was building a Winamp plugin using sharpamp api. https://code.google.com/p/sharpamp/

I think that could be pretty cool! Winamp would just see your subsonic library as if it's local.

So who wants to get involved?
vividboarder
 
Posts: 18
Joined: Wed Sep 22, 2010 1:37 pm
Location: 223

Postby gelse » Wed Mar 30, 2011 7:30 am

*raising hand*

i have quite some experience now with c# - just i do not know how much time i can spend (yes, i got RL, too... ;) ) and i am mostly writing pure WinForms for Windows ("real" .NET, not mono).

if you're interested, PM me, i'll check the repo within the next few days (propably even today already).

thx

PS: as i am having some troubles with my own SubSonic server, my focus would be on performance and background working. see my other posting.
gelse
 
Posts: 3
Joined: Wed Mar 30, 2011 6:57 am

great idea

Postby Matma » Mon May 23, 2011 2:24 pm

im assuming this hasnt been continued as the source hasnt been updated in a while, but im hopeing that youll spot this message and pick it up again as its a good idea and would be useful to me too.

ive just bought/donated to get the video side of things and would like to build my own front end using the api too.

I have however had some trouble getting your source to work (assuming its due to newer versions of the api being released since your code was written) so i downloaded it and modded until i got a connection. ill probably pick away at the api calls one at a time over the next few weeks, if i can get a half decent version up and running ill post it somewhere and you can pick and choose whatever you want to merge back into your source if you ever continue. Be warned though im not a c# developer (Delphi/vb.net) so it might well be inefficient code, im of the "if it aint broke dont fix it brigade" :)

I wont be doing anything mono related as i dont use anything other than ms hosting myself, but if others want to thats up to them as ill only be wrapping up the api.

if people have architectural advice before i get to far in please just reply here and ill see what i can do.
Matma
 
Posts: 8
Joined: Mon May 23, 2011 1:34 pm

Postby vividboarder » Wed May 25, 2011 1:59 pm

Hey, let me know where you checked the code out, Google Code or Github and I can add you ad you as a committer or you can email me the code to review if you'd like.

I realize it may need some updating, but shouldn't need much.

I've been trying to make sure the methods are backwards compatible (you'll notice that I am trying to use version specific methods for searching) as well as compatible with both Mono and Visual Studio. I don't have a good computer with Visual Studio to test with though and have done most of my development in Mono so it may need a bit of tweaking in that sense to compile.

Feel free to email me the source or with any technical questions or contact me via the Google Code page. Email is at Gmail with my username here.
vividboarder
 
Posts: 18
Joined: Wed Sep 22, 2010 1:37 pm
Location: 223

Postby Matma » Fri May 27, 2011 12:20 pm

I got it from google code i think.

Since i dont know what mono is or how to use it struggled to get the google code to compile as it had missing references and such and lots of downloading and installing later i gave up, skipped that altogether and copy n pasted the api file content to a new vs2010 project file. The only thing i really had to play with was the basic authenication header, alternate ports and a few other comsetic bits, the rest is a straight copy n paste of yours. I only just started but i can ping servers, get lists of folders, file properties etc...

When i get home from work I'll setup my source on Fogbugz Kiln (the student freebe hosted version) but i can also check it into any other branch you setup elsewhere if you like.
Matma
 
Posts: 8
Joined: Mon May 23, 2011 1:34 pm

Next

Return to Mods, Apps and Clients

Who is online

Users browsing this forum: No registered users and 0 guests