Commit 37cd82bf authored by Aaron Bockover's avatar Aaron Bockover

Sonance renamed to Banshee

parent 886c5a78
2005-08-04 Aaron Bockover <aaron@aaronbock.net>
* banshee: Version 0.8.2
* banshee: Namespace renamed from Sonance to Banshee
* banshee: Files/Graphics updated to read Banshee in public/user places
* sonance: Renamed to Banshee
* src/Preferences.cs: Player Engine Chooser, Advanced Tab
* src/PlayerEngineLoader.cs: Uses gconf to select preferred engine
* plugincore/IPlayerEngine.cs: New fields for name, description, author,
etc. for engine implementations. Initializer code moved to Initialize()
function. Added TestInitialize() to interface.
* src/mediaengines/HelixPlayer.cs: More minor fixes, still not working
2005-08-03 Aaron Bockover <aaron@aaronbock.net>
* sonance: Version 0.8.1
......
......@@ -9,15 +9,15 @@ SUBDIRS = \
src
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = sonance.pc
pkgconfig_DATA = banshee.pc
EXTRA_DIST = \
sonance.mdp \
sonance.mds \
sonance.pc.in
banshee.mdp \
banshee.mds \
banshee.pc.in
CLEANFILES=sonance.pc
DISTCLEANFILES=config.guess config.sub configure install-sh missing depcomp Makefile.in *.bak *~ sonance.pidb Sonance.pws mkinstalldirs ltmain.sh aclocal.m4 config.h.in INSTALL
CLEANFILES=banshee.pc
DISTCLEANFILES=config.guess config.sub configure install-sh missing depcomp Makefile.in *.bak *~ *.pidb mkinstalldirs ltmain.sh aclocal.m4 config.h.in INSTALL
......@@ -4,7 +4,7 @@
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
PKG_NAME="sonance"
PKG_NAME="banshee"
(test -f $srcdir/configure.ac) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
......
<Project name="sonance" fileversion="2.0" enableviewstate="False" language="C#" ctype="DotNetProject">
<Project name="banshee" fileversion="2.0" enableviewstate="False" language="C#" ctype="DotNetProject">
<Configurations>
<Configuration name="Debug" ctype="DotNetProjectConfiguration">
<Output directory="./src" assembly="sonance" />
<Output directory="./src" assembly="banshee" />
<Build debugmode="False" target="Exe" />
<Execution runwithwarnings="True" consolepause="True" runtime="MsNet" />
<CodeGeneration compiler="Csc" warninglevel="2" optimize="False" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
</Configuration>
<Configuration name="Release" ctype="DotNetProjectConfiguration">
<Output directory="./src" assembly="sonance" />
<Output directory="./src" assembly="banshee" />
<Build debugmode="False" target="Exe" />
<Execution runwithwarnings="True" consolepause="True" runtime="MsNet" />
<CodeGeneration compiler="Csc" warninglevel="2" optimize="False" unsafecodeallowed="False" generateoverflowchecks="False" mainclass="" generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
......@@ -136,5 +136,6 @@
<File name="./data/images/circle.png" subtype="Code" buildaction="EmbedAsResource" />
<File name="./data/images/star.png" subtype="Code" buildaction="EmbedAsResource" />
<File name="./src/RatingRenderer.cs" subtype="Code" buildaction="Compile" />
<File name="./data/images/advanced-icon-32.png" subtype="Code" buildaction="EmbedAsResource" />
</Contents>
</Project>
\ No newline at end of file
<Combine name="sonance" fileversion="2.0">
<Combine name="banshee" fileversion="2.0">
<Configurations>
<Configuration name="Debug" ctype="CombineConfiguration">
<Entry build="True" name="sonance" />
<Entry build="True" name="banshee" />
</Configuration>
<Configuration name="Release" ctype="CombineConfiguration">
<Entry build="True" name="sonance" />
<Entry build="True" name="banshee" />
</Configuration>
</Configurations>
<StartMode startupentry="sonance" single="True">
<Execute type="None" entry="sonance" />
<StartMode startupentry="banshee" single="True">
<Execute type="None" entry="banshee" />
</StartMode>
<Entries>
<Entry filename="./sonance.mdp" />
<Entry filename="./banshee.mdp" />
</Entries>
</Combine>
\ No newline at end of file
......@@ -2,8 +2,8 @@ prefix=@prefix@
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
Name: Sonance
Name: Banshee
Description: Mono/GStreamer based media playback and organization platform
Version: @VERSION@
Libs:
Libs: -r:${prefix}/lib/banshee/plugin-core.dll
......@@ -4,7 +4,7 @@ AM_CONFIG_HEADER(config.h)
AC_CANONICAL_SYSTEM
AC_PREREQ(2.13)
AM_INIT_AUTOMAKE(sonance, 0.8.1)
AM_INIT_AUTOMAKE(banshee, 0.8.2)
AM_MAINTAINER_MODE
AC_PROG_INSTALL
......@@ -131,7 +131,7 @@ AC_SUBST(LIBNAUTILUS_BURN_LIBS)
AC_OUTPUT([
Makefile
sonance.pc
banshee.pc
entagged/Makefile
hal-sharp/Makefile
mediaengines/Makefile
......@@ -143,17 +143,17 @@ plugincore/Makefile
src/Makefile
src/AssemblyInfo.cs
src/ConfigureDefines.cs
src/sonance
src/sonance.exe.config
src/banshee
src/banshee.exe.config
libsonance/Makefile
data/Makefile
data/sonance.desktop
data/banshee.desktop
data/glade/Makefile
data/images/Makefile
])
echo "
sonance-$VERSION
banshee-$VERSION
Install Prefix: ${prefix}
C Compiler: ${CC}
......
[Desktop Entry]
Name=Sonance Music Player
Name=Banshee Music Player
Comment=A Mono/GStreamer Based Music Player
Exec=@prefix@/bin/sonance
Exec=@prefix@/bin/banshee
Terminal=false
Type=Application
Icon=@prefix@/share/pixmaps/sonance-icon.png
......
......@@ -6,7 +6,7 @@
<widget class="GtkWindow" id="WindowAbout">
<property name="border_width">7</property>
<property name="visible">True</property>
<property name="title" translatable="yes">About Sonance</property>
<property name="title" translatable="yes">About Banshee</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_CENTER</property>
<property name="modal">False</property>
......@@ -78,7 +78,7 @@
<widget class="GtkLabel" id="AboutLabel">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">About Sonance</property>
<property name="label" translatable="yes">About Banshee</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
......
......@@ -6,7 +6,7 @@
<widget class="GtkWindow" id="WindowPlayer">
<property name="visible">True</property>
<property name="title" translatable="yes">Sonance</property>
<property name="title" translatable="yes">Banshee</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_CENTER</property>
<property name="modal">False</property>
......@@ -887,7 +887,7 @@
<child>
<widget class="GtkLabel" id="LabelStatusBar">
<property name="visible">True</property>
<property name="label" translatable="yes">Sonance Music Player</property>
<property name="label" translatable="yes">Banshee Music Player</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
......
This diff is collapsed.
......@@ -5,6 +5,7 @@ sonanceicon_DATA = \
DISTCLEANFILES = Makefile.in
EXTRA_DIST = \
advanced-icon-32.png \
album-cover-container.png \
blue-speaker.png \
burn-icon-32.png \
......
data/images/sonance-icon.png

13.5 KB | W: | H:

data/images/sonance-icon.png

15.7 KB | W: | H:

data/images/sonance-icon.png
data/images/sonance-icon.png
data/images/sonance-icon.png
data/images/sonance-icon.png
  • 2-up
  • Swipe
  • Onion skin
data/images/sonance-splash.png

33 KB | W: | H:

data/images/sonance-splash.png

75.1 KB | W: | H:

data/images/sonance-splash.png
data/images/sonance-splash.png
data/images/sonance-splash.png
data/images/sonance-splash.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -32,7 +32,7 @@ using System.Text.RegularExpressions;
using Gst;
using GLib;
namespace Sonance
namespace Banshee
{
public class GstPlayer : IPlayerEngine
{
......@@ -60,15 +60,76 @@ namespace Sonance
public event PlayerEngineVolumeChangedHandler VolumeChanged;
public event PlayerEngineIterateHandler Iterate;
public event EventHandler EndOfStream;
private bool disabled;
public bool Disabled {
get { return disabled; }
set { disabled = value; }
}
public string ConfigName
{
get {
return "gst-sharp";
}
}
public string EngineName
{
get {
return "GStreamer (gst-sharp)";
}
}
public string EngineLongName
{
get {
return "GStreamer CLI Engine (gst-sharp)";
}
}
public string EngineDetails
{
get {
return "gst-sharp provides a managed API binding for the " +
"GStreamer multimedia framework. Any GStreamer plugin " +
"that is available will work through this engine.";
}
}
public int MajorVersion
{
get {
return 0;
}
}
public int MinorVersion
{
get {
return 3;
}
}
public string AuthorName
{
get {
return "Aaron Bockover";
}
}
public string AuthorEmail
{
get {
return "aaron@aaronbock.net";
}
}
public GstPlayer()
{
}
public void Initialize()
{
Element dummy;
string [] args = {""};
......@@ -77,6 +138,11 @@ namespace Sonance
Gst.SchedulerFactory.Make(null, dummy);
}
public void TestInitialize()
{
Initialize();
}
private bool Construct()
{
pipeline = new Pipeline("pipeline");
......
......@@ -4,7 +4,7 @@ using System;
using System.Threading;
using Helix;
namespace Sonance
namespace Banshee
{
public class HelixPlayer : IPlayerEngine
{
......@@ -17,34 +17,114 @@ namespace Sonance
public event PlayerEngineIterateHandler Iterate;
public event EventHandler EndOfStream;
private bool disabled;
private bool shutdown;
public bool Disabled {
get { return disabled; }
set { disabled = value; }
}
public string ConfigName
{
get {
return "helix";
}
}
public string EngineName
{
get {
return "Helix Engine (hxclientkit)";
return "Helix";
}
}
public string EngineLongName
{
get {
return "Helix Framework Engine (hxclientkit)";
}
}
public string EngineDetails
{
get {
return "The Helix Engine provides multimedia control through " +
"the Helix Multimedia Framework, sponsored by RealNetworks. " +
"The engine can play any file that RealPlayer can. Install " +
"RealPlayer for best results.";
}
}
public int MajorVersion
{
get {
return 0;
}
}
public int MinorVersion
{
get {
return 1;
}
}
public string AuthorName
{
get {
return "Aaron Bockover";
}
}
public string AuthorEmail
{
get {
return "aaron@aaronbock.net";
}
}
public HelixPlayer()
{
}
public void Initialize()
{
player = new HxPlayer();
player.ContentConcluded += OnContentConcluded;
player.ErrorOccurred += OnErrorOccurred;
player.ContentStateChanged += OnContentStateChanged;
//playbackThread = new Thread(new ThreadStart(ThreadedIterate));
//playbackThread.Start();
playbackThread = new Thread(new ThreadStart(ThreadedIterate));
playbackThread.Start();
GLib.Timeout.Add(100, new GLib.TimeoutHandler(ThreadedIterate));
}
public void TestInitialize()
{
HxPlayer testplayer = new HxPlayer();
uint testvol = testplayer.Volume;
testplayer.Volume = testvol;
// testplayer.OpenUri("file:///dev/null");
// testplayer.Play();
/// testplayer.Stop();
}
public bool Open(ITrackInfo ti)
{
loaded = player.OpenUri("file://" + ti.Uri);
Console.WriteLine("Loaded URI: " + loaded);
return loaded;
}
public void Play()
{
if(player.State == HxContentState.Stopped
|| player.State == HxContentState.Paused)
player.Play();
|| player.State == HxContentState.Paused) {
Console.WriteLine("Playing");
player.Play();}
}
public void Pause()
......@@ -55,12 +135,13 @@ namespace Sonance
public void Shutdown()
{
//shutdown = true;
}
public bool Playing
{
get {
Console.WriteLine("State: " + player.State);
return player.State == HxContentState.Playing;
}
}
......@@ -108,9 +189,20 @@ namespace Sonance
// --- //
private void ThreadedIterate()
{
while(player.Iterate());
private bool ThreadedIterate()
{
if(Playing) {
Console.WriteLine("Pumping HxClientHengine");
player.Iterate();
Console.WriteLine("Pumped HxClientHengine");
PlayerEngineIterateArgs args = new PlayerEngineIterateArgs();
args.Position = Position;
EmitIterate(args);
} else {
Console.WriteLine("Idling");
}
//return true;
return !shutdown;
}
private void OnContentConcluded(object o, HxPlayerArgs args)
......@@ -118,6 +210,11 @@ namespace Sonance
EmitEndOfStream();
}
private void OnContentStateChanged(object o, ContentStateChangedArgs args)
{
Console.WriteLine("Setting New State: " + args.NewState);
}
private void OnErrorOccurred(object o, ErrorOccurredArgs args)
{
PlayerEngineErrorArgs eargs = new PlayerEngineErrorArgs();
......
......@@ -69,6 +69,7 @@ namespace Helix
set {
HxUnmanaged.ClientPlayerSetVolume(handle, value);
Console.WriteLine("Set volume to : " + volume);
}
}
......@@ -117,11 +118,11 @@ namespace Helix
public int Position
{
get {
return HxUnmanaged.HXPlayerGetPosition(handleRaw);
return HxUnmanaged.ClientPlayerGetPosition(handle);
}
set {
HxUnmanaged.HXPlayerSetPosition(handleRaw, value);
HxUnmanaged.ClientPlayerSetPosition(handle, value);
}
}
......@@ -203,9 +204,8 @@ namespace Helix
public bool OpenUri(string uri)
{
Console.WriteLine("URI: " + uri);
shouldIterate = HxUnmanaged.HXPlayerOpenUrl(handleRaw, uri);
shouldIterate = HxUnmanaged.ClientPlayerOpenURL(handle, uri,
IntPtr.Zero);
if(shouldIterate)
this.uri = uri;
......@@ -215,17 +215,19 @@ namespace Helix
public void Play()
{
HxUnmanaged.HXPlayerPlay(handleRaw);
HxUnmanaged.ClientPlayerPlay(handle);
while(true)
HxUnmanaged.HXPlayerIterate(handleRaw);
}
public void Pause()
{
HxUnmanaged.HXPlayerPause(handleRaw);
HxUnmanaged.ClientPlayerPause(handle);
}
public void Stop()
{
HxUnmanaged.HXPlayerStop(handleRaw);
HxUnmanaged.ClientPlayerStop(handle);
}
public bool Iterate()
......@@ -271,6 +273,8 @@ namespace Helix
args.NewState = newContentState;
args.OldState = oldContentState;
Console.WriteLine("{0} -> {1}", oldContentState, newContentState);
handler(this, args);
}
}
......
......@@ -140,7 +140,7 @@ namespace Helix
public static extern void ClientPlayerSetVolume(uint handle,
uint volume);
/*[DllImport("hxclient")]
[DllImport("hxclient")]
public static extern bool ClientPlayerOpenURL(uint handle,
string url, IntPtr ptr);
......@@ -158,9 +158,9 @@ namespace Helix
[DllImport("hxclient")]
public static extern void ClientPlayerSetPosition(uint handle,
int position);*/
int position);
[DllImport("hxplayer")]
/*[DllImport("hxplayer")]
public static extern bool HXPlayerOpenUrl(HandleRef player,
string url);
......@@ -185,6 +185,6 @@ namespace Helix
[DllImport("hxplayer")]
public static extern void HXPlayerSetPosition(HandleRef player,
int position);
int position);*/
}
}
......@@ -27,7 +27,7 @@ ASSEMBLY_SOURCES = \
all: $(ASSEMBLY)
$(ASSEMBLY): $(ASSEMBLY_SOURCES)
$(MCS) $(MCS_FLAGS) -target:library -out:$@ -r:$(top_builddir)/plugincore/plugin-core.dll $(ASSEMBLY_SOURCES)
$(MCS) $(MCS_FLAGS) -target:library -out:$@ -r:$(top_builddir)/plugincore/plugin-core.dll $(GTKSHARP_LIBS) $(ASSEMBLY_SOURCES)
EXTRA_DIST = $(ASSEMBLY_SOURCES) HxPlayerTest.cs HXPlayer.h HXCompat.h libhxclient.a libhxclient.so
DISTCLEANFILES = Makefile.in
......
......@@ -28,7 +28,7 @@
using System;
namespace Sonance
namespace Banshee
{
public delegate void PlayerEngineErrorHandler(object o,
PlayerEngineErrorArgs args);
......@@ -56,38 +56,34 @@ namespace Sonance
public interface IPlayerEngine
{
bool Open(ITrackInfo track);
void Play();
void Pause();
void Shutdown();
bool Open(ITrackInfo track);
string EngineName {
get;
}
void Initialize();
void TestInitialize();
void Play();
void Pause();
void Shutdown();
bool Loaded {
get;
}
bool Disabled { get; set; }
bool Playing {
get;
}
string ConfigName { get; }
string EngineName { get; }
string EngineLongName { get; }
string EngineDetails { get; }
string AuthorName { get; }
string AuthorEmail { get; }
int MajorVersion { get; }
int MinorVersion { get; }
double Volume {
get;
set;
}
bool Loaded { get; }
bool Playing { get; }
long Position {
get;
set;
}
double Volume { get; set; }
long Position { get; set; }
// --- //
event PlayerEngineErrorHandler Error;
event PlayerEngineVolumeChangedHandler VolumeChanged;
event PlayerEngineIterateHandler Iterate;
event EventHandler EndOfStream;
event PlayerEngineErrorHandler Error;
event PlayerEngineVolumeChangedHandler VolumeChanged;
event PlayerEngineIterateHandler Iterate;
event EventHandler EndOfStream;
}
}
......@@ -26,7 +26,7 @@
* DEALINGS IN THE SOFTWARE.
*/
namespace Sonance
namespace Banshee
{
public interface ITrackInfo
{
......
......@@ -31,7 +31,7 @@ using System.Reflection;
using Gtk;
using Glade;
namespace Sonance
namespace Banshee
{
public class AboutBox
{
......
......@@ -29,7 +29,7 @@
using System;
using Amazon;
namespace Sonance
namespace Banshee
{
public class AlbumCoverFetch
{
......
......@@ -30,7 +30,7 @@ using System;
using System.Collections;
using Hal;
namespace Sonance
namespace Banshee
{
public class AudioCdCore
{
......
......@@ -32,7 +32,7 @@ using Gtk;
using Gdk;
using Pango;
namespace Sonance
namespace Banshee
{
public class CellEdit : Entry, CellEditable
{
......
......@@ -33,7 +33,7 @@ using System.IO;
using Gtk;
using Nautilus;
namespace Sonance
namespace Banshee
{
public class BurnCore
{
......
......@@ -32,7 +32,7 @@ using System.Collections;
using Nautilus;
using Gtk;