Re: [Banshee-List] Compiling under windows
- From: "Dustin C. Hatch" <admiralnemo gmail com>
- To: banshee-list gnome org
- Subject: Re: [Banshee-List] Compiling under windows
- Date: Thu, 13 Jan 2011 23:50:48 -0600
Okay, here are the steps I followed today to get an *almost* working
build on Windows. I have tried to make the steps as atomic as possible,
so if anyone knows more about a particular step and whether or not it
can be done to the mainline code, please comment on it.
1. Install `GTK#`_
2. Install `GStreamer`_ (OSSBuilds WinBuilds)
3. Install `GSreamerSharp`_ (OSSBuilds WinBuilds SDK)
4. Prepare sources::
unzip banshee-dev.zip
cd banshee
git reset --hard HEAD #The dev bundle has local modifications
git pull
cd bin
git pull
cd ..\
git submodule update --init
5. Open Banshee.sln in Visual Studio 2010 and allow it to convert the
solution and project files.
6. Add ``MusicBrainz`` project reference to ``Banshee.Services`` (Core
now depends on an Extension, good idea?)
7. Add ``taglib-sharp`` reference and ``Mono.Media``,
``Hyena.Data.Sqlite`` project references to ``Banshee.AmazonMp3``
8. Add ``pango-sharp`` reference and ``Banshee.Widgets`` project
reference to ``Banshee.WebBrowser``
9. Remove the ``Banshee.GStreamer`` project reference from
``Banshee.Bpm`` and add a ``Banshee.GStreamerSharp`` project reference
10. Click *Build > Configuration Manager*
1. Select "Windows" from *Active Solution Configuration*
2. Untick the "Build" checkbox for the following projects
* ``Banshee.Dap.AppleDevice`` (I haven't found/built *libgpod*
for Windows, yet)
* ``Banshee.UbuntuOneMusicStore``
* ``Banshee.SoundMenu`` (I haven't found/built *libindicate* on
Windows, yet)
11. Remove the following missing files from the ``Banshee.Podcasting``
project
* ``Banshee.Podcasting.Gui\GridContent.cs``
* ``Banshee.Podcasting.Gui\ColumnCellDownloadStatus.cs``
* ``Banshee.Podcasting.Gui\HeaderWidget.cs``
* ``Banshee.Podcasting.Data\DownloadStatusFilterModel.cs``
* ``Banshee.Podcasting.Gui\DownloadStatusFilterView.cs``
12. Change the ``SubtitleUri`` property getter in
``Banshee.GStreamerSharp.PlayerEngine`` to::
get { return new SafeUri(playbin.Suburi) }
I still have not completely solved the Linq extension method problem I
mentioned earlier, so I replaced the ``GetSubtitleDescription`` method
of the ``Banshee.GStreamerSharp.PlayerEngine`` class to::
Gst.List tag_list = playbin.GetTextTags (index)
.GetTag (Gst.Tag.LanguageCode);
foreach(string tag in tag_list)
{
if (tag != null)
{
return tag;
}
}
return default(string);
I'm sure there is a better way to solve it, but I just wanted to get the
project to compile so I could move on to the next step.
At this point, I was able to build the entire solution without errors,
in both Visual Studio and MonoDevelop. When launching Nereid, however, I
get the following fatal exception::
An unhandled exception was thrown: Unable to load DLL
'libgstreamer-0.10.dll': The specified procedure could not be found.
(Exception from HRESULT: 0x8007007F)
at Gst.Application.gst_init(Int32& argc, IntPtr& argv)
at Gst.Application.Init()
at Banshee.GStreamerSharp.PlayerEngine..ctor()
I tried using the stable and beta versions of GStreamer WinBuilds and
the corresponding SDK packages, as well as copying
``libgstreamer-0.10.dll`` into the ``bin`` directory, but nothing seems
to help.
.. _GTK#: http://www.go-mono.com/mono-downloads/download.html
.. _GStreamer:
http://code.google.com/p/ossbuild/downloads/detail?name=GStreamer-WinBuilds-LGPL-x86.msi&can=2&q=
.. _GStreamerSharp:
http://code.google.com/p/ossbuild/downloads/detail?name=GStreamer-WinBuilds-SDK-LGPL-x86.msi&can=2&q=
--
Dustin C. Hatch
theNeverFading
"In the beginning the universe was created. This made a lot of people
angry and has been widely regarded as a 'bad move'."
--Douglas Adams
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]