[Linux] XBMControl-evo - A mono/glade remote controller
#1
About half a year ago I've started creating xbmcontrol-evo. Which should have become the multi-platform successor of my XBMControl project using Mono as a base where XBMControl was based on .NET3.5. During the development I came to the conclusion that building cross platform applications with Mono is a no-go. Mono is pretty cool for Linux and the MonoDevelop RAD environment isn't all that bad! But trying to get Mono to run on Windows is too much hassle and developing for Windows with Mono presents the same problems as developing with .NET2.0/3.5 (Windows.Forms) on Windows for Mono does. The simple advice is...don't try and develop cross platform applications with C#. You'll run into (frustrating) problems sooner or later....
So I started to play around in NetBeans with Java, discovering that Java is a very powerful and mature language (loving it!) and NetBeans is one of the best RAD environments (especially since it's free!) out there. More then six months later nothing more then a partial java XBMC communications library is completed. I simple don't have the time....unfortunately.

As a dedicated Ubuntu user I was missing a XBMControl-alike solution. I'd made a XBMControl (the .NET/Windows application) version that compiled on linux with MonoDevelop, but Windows.Forms just doesn't do it on Linux. It's buggy and hiddious. So today I decided to crush some bugs in xbmcontrol-evo to make it at least functional on Ubuntu. The basic features work (on my machine). Don't expect too much. I basically made it work so I can use it on my machine specifically, and hopefully develop it a bit further (step by step) and thought I should share the debian installer.
It has only been tested with Ubuntu 9.10 (up to date), so please let me know if it works on other versions of ubuntu or debian and don't expect it to install properly on a os other then (X)Ubuntu 9.10. I'll post the sources shortly, so the daring can try and compile it on other platforms. Again....don't expect too much!! There are a lot menu's and buttons that do nothing at all and you're likely to run into bugs (which you are free to report Smile).

download deb installer: xbmcontrol-evo_0.1.9-1_i386.deb
google-code page: http://code.google.com/p/xbmcontrol-evo/
Image

Please add to my reputation if you find my posts usefull (+/- button below posts)
Ubuntu 12.10 minimal XBMC auto-install script :: XBMControl :: Xbmc XBOX Skins :: XBMControl for Android :: Owner of Sudo Systems
Reply
#2
It looks pretty excellent.. Well done.. Haven't yet installed XBMC to give it a bash am just researching..

No way you can add zones and zone groups to the UI is there? That would really make it rock!! I've read that there's a way to access multi zone/ multiple sound-cards via pulse-audio however as a novice newbie maybe I got wrong end of stick.
Reply
#3
I just saw this! It's so _almost_ what I've been dying for....

I got it to install from your deb file on my x64 system (pretty generic Ubuntu 9.10) with --force-architecture, and it was really mad at me while I tried to suss out various mystery dependencies that would calm it down. I got tired of cherry-picking and installed the "mono-complete" package and now it seems pretty stable.

I definitely know what it's like to not have time for all the things you want to do, but please don't give up on this! I look forward to whatever you decide to do with this, whenever you get around to it....
Reply
#4
The only library that is not present in mono-complete that is required (as far as I know) is "libnotify4.0-cil". I'm completely unexperienced with building deb packages. After uploading I discovered that the package did not automatically install the required dependencies. So...cool that you've successfully installed it.

As you must have noticed, a lot of functionality isn't there yet. And the two most anoying bugs at the moment are...

The pause/play button doesn't work.
Sometimes you'll need to manually reload the playlist (by chaniging playlist types) to be able to add or remove stuff. I'm not sure why.

I've stopped development, but I will try to fix those bugs. Please feel free to download the code and continue development! I've used Glade3 for building the interface and MonoDevelop for the actual coding.

Q1 of 2010 I will continue development of jXbmControl which will eventually be a true cross platform XbmController.
Image

Please add to my reputation if you find my posts usefull (+/- button below posts)
Ubuntu 12.10 minimal XBMC auto-install script :: XBMControl :: Xbmc XBOX Skins :: XBMControl for Android :: Owner of Sudo Systems
Reply
#5
Bram77 Wrote:The pause/play button doesn't work.
Sometimes you'll need to manually reload the playlist (by changing playlist types) to be able to add or remove stuff. I'm not sure why.

That one was a bit disappointing.... I also had trouble getting anything to happen after the playlist finished. I'll try to change playlist types first, but I know that didn't work for me at least once. I had better luck dis-/re-connecting to the Xbox.

Closing to the status bar didn't seem to work, either, but I could still use the status bar icon to skip ahead while the thing was minimized.

I look forward to whatever slightly smoother release you can prepare, and am very anxious to see what comes of your new project when you get there. Thanks for the reply, and for releasing what you had of this project (and also for your tireless skin updates).
Reply
#6
I'll have a look at those bugs asap. Then it will at least be a bit more usable usable (even though I use it myself every day, with the bugs Smile).

Thank youSmile But what would be the fun in maintaining the repo and developing apps if no one would be using them... so thank YOU Wink
Image

Please add to my reputation if you find my posts usefull (+/- button below posts)
Ubuntu 12.10 minimal XBMC auto-install script :: XBMControl :: Xbmc XBOX Skins :: XBMControl for Android :: Owner of Sudo Systems
Reply
#7
Bram77 Wrote:I'll have a look at those bugs asap. Then it will at least be a bit more usable usable (even though I use it myself every day, with the bugs Smile).

It's probably not even a big enough deal to worry about. Like you said, I've just learned to use it anyway. I minimize it on a separate desktop and then use the status icon.

I've found quitting the program and restarting it to be the only consistent way to get things going again after a playlist finishes. Also, after adding files to my main music source (I only listen in files mode, and everything's over an smb share), I can't make the controller aware of the new files without restarting it (the program, not xbmc). It seems to never refresh the source even when disconnecting and toggling other sources to be active....

The pause button would be nice, but there are enough workarounds there, too. I'd say don't bother digging back in here unless you're really motivated to finish this guy off. I can make do (like you do) until your other program comes out--no sense in splitting your focus.

But I'll be a happy test-user of updates to either project....
Reply
#8
Try switching shares to refresh your directories Smile
Image

Please add to my reputation if you find my posts usefull (+/- button below posts)
Ubuntu 12.10 minimal XBMC auto-install script :: XBMControl :: Xbmc XBOX Skins :: XBMControl for Android :: Owner of Sudo Systems
Reply
#9
Bram77 Wrote:Try switching shares to refresh your directories Smile

I tried that, though the only other share was for a computer that wasn't actually on. So maybe since that second share never got populated, it didn't refresh the main share when I went back to it...? I'll set up a dummy share to test/workaround this.
Reply
#10
i'll give this a swing later tonight. Does it support typing from the desktop to xbmc? I run a XBMC live computer. It would be nice to have the functionality of a keyboard without actually hooking up a keyboard. I'm pretty sure that the webapi supports sending keys.
Use mythicalLibrarian to make a library out of your MythTV files. Leave the recording to MythTV and use XBMC as your library.
Installation and Instructions:http://wiki.xbmc.org/index.php?title=MythicalLibrarian
Technical Support:http://forum.xbmc.org/showthread.php?tid=65644
[url=http://forum.xda-developers.com/showthread.php?tid=1081892][/url]
Reply
#11
I'm sorry, that's not a feature that's included. I think the best way to solve your problem would be using a wireless keyboard hooked to the computer XBMC Live is running on.
Image

Please add to my reputation if you find my posts usefull (+/- button below posts)
Ubuntu 12.10 minimal XBMC auto-install script :: XBMControl :: Xbmc XBOX Skins :: XBMControl for Android :: Owner of Sudo Systems
Reply
#12
I did some quick and dirty coding.

- On my ubuntu installation the play/pause button is working now.
- Added a shares-contextmenu option to refresh the selected shares-mode (also available in the files tab).
- Added functionality to set the Partymode button to active if partymode is enabled. Unfortunately there is a bug in the HTTP API that makes it unable to retrieve the actual status. The code is there and it should be working. So when the bug is fixed in XBMC, the button should show the current partymode status.

http://xbmcontrol-evo.googlecode.com/fil...1_i386.deb

I'll have a look at the playlist problem asap!


The .deb installer still doesn't automatically look for and install required packages. I did a build with checkinstall and I'm not sure how to specify the required packages. If any feels the need to enlighten me...please feel free! Smile
Image

Please add to my reputation if you find my posts usefull (+/- button below posts)
Ubuntu 12.10 minimal XBMC auto-install script :: XBMControl :: Xbmc XBOX Skins :: XBMControl for Android :: Owner of Sudo Systems
Reply
#13
Bram77 Wrote:I did some quick and dirty coding.

- On my ubuntu installation the play/pause button is working now.
- Added a shares-contextmenu option to refresh the selected shares-mode (also available in the files tab).
- Added functionality to set the Partymode button to active if partymode is enabled. Unfortunately there is a bug in the HTTP API that makes it unable to retrieve the actual status. The code is there and it should be working. So when the bug is fixed in XBMC, the button should show the current partymode status.

The play button works for me, but pause does nothing. I can choose play from right clicking on a file, the status icon, or the playlist entry, but not the big one left of the progress indicator. That one does nothing, the others all start playing. Pause does nothing when pressed from that area, or from the status bar. Stop stops playing immediately, and the playlist area clears, but switching to video and back refreshes it (the refresh button doesn't). I tried running it from terminal to see if there was a specific error, but pushing the buttons that do nothing outputs nothing. Fitting, I suppose, but not helpful.

Refreshing shares seems to work, though it looks like it just dumps everything currently loaded and lets you load it again how you like (which is an improvement over restarting the program!) but isn't truly refreshing. I'm not sure what the intended use case was there. Either: good job on the hack, or something's wrong with your more elegant implementation....

Don't use partymode, and it sounds like I can't test it anyway, but cool!

Status bar still works when the window is open, but closing the program still kills the status bar. I know that wasn't on your list of things you fixed, but I never fully committed to testing the behavior here, so I'm just confirming my previous recollection....
Reply
#14
Also, while we're talking about hacking in features, are there any command line options for the status icon functions? That way we could map them to global keyboard shortcuts. I'm assuming that would be easier to implement than actually coding something like that into the program directly, but either way, that would be a great feature and trumps any of the current idiosyncrasies, I think.

Whoa! And while I was playing with the status icon functions just now, I clicked on "configuration" from that menu for the first time, and it just crashed completely. Instant shutdown, no break message in the terminal it was run from. I don't need to get to configuration from the status icon, so I'm not at all bothered, but I'm assuming this isn't standard behavior and that you'd like to know about it.
Reply

Logout Mark Read Team Forum Stats Members Help
[Linux] XBMControl-evo - A mono/glade remote controller0