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>
......
......@@ -56,7 +56,7 @@
<child>
<widget class="GtkLabel" id="label13">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Sonance Music Folder Location&lt;/b&gt;</property>
<property name="label" translatable="yes">&lt;b&gt;Banshee Music Folder Location&lt;/b&gt;</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
......@@ -313,7 +313,7 @@
<widget class="GtkCheckButton" id="CopyOnImport">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Copy files to Sonance Music Folder when importing to Library</property>
<property name="label" translatable="yes">Copy files to Banshee Music Folder when importing to Library</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
......@@ -872,6 +872,237 @@
<property name="type">tab</property>
</packing>
</child>
<child>
<widget class="GtkAlignment" id="alignment8">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">1</property>
<property name="yscale">1</property>
<property name="top_padding">10</property>
<property name="bottom_padding">10</property>
<property name="left_padding">25</property>
<property name="right_padding">10</property>
<child>
<widget class="GtkVBox" id="vbox10">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">10</property>
<child>
<widget class="GtkLabel" id="label29">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Playback Engines&lt;/b&gt;</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkTable" id="table5">
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
<property name="homogeneous">False</property>
<property name="row_spacing">5</property>
<property name="column_spacing">10</property>
<child>
<widget class="GtkLabel" id="label30">
<property name="visible">True</property>
<property name="label" translatable="yes">Engine:</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">1</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
<property name="top_attach">0</property>
<property name="bottom_attach">1</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="EngineComboContainer">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<placeholder/>
</child>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">0</property>
<property name="bottom_attach">1</property>
<property name="x_options">fill</property>
<property name="y_options">fill</property>
</packing>
</child>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
<widget class="GtkTextView" id="EngineDescription">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">False</property>
<property name="overwrite">False</property>
<property name="accepts_tab">False</property>
<property name="justification">GTK_JUSTIFY_LEFT</property>
<property name="wrap_mode">GTK_WRAP_WORD</property>
<property name="cursor_visible">False</property>
<property name="pixels_above_lines">0</property>
<property name="pixels_below_lines">0</property>
<property name="pixels_inside_wrap">0</property>
<property name="left_margin">0</property>
<property name="right_margin">0</property>
<property name="indent">0</property>
<property name="text" translatable="yes"></property>
</widget>
</child>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="y_options">fill</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label31">
<property name="visible">True</property>
<property name="label" translatable="yes">Description:</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">1</property>
<property name="yalign">0</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">fill</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
</child>
</widget>
<packing>
<property name="tab_expand">False</property>
<property name="tab_fill">True</property>
</packing>
</child>
<child>
<widget class="GtkVBox" id="vbox9">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">1</property>
<child>
<widget class="GtkImage" id="ImageAdvancedTab">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">10</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label24">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;small&gt;Advanced&lt;/small&gt;</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="type">tab</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
......
......@@ -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;