From 2006a80079aa065d6043b4081f651dca3e8098cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Tue, 17 Apr 2007 23:14:13 +0000 Subject: [PATCH] now plays the file found for the selected event reclaim and reuse of sounds ressources still to be implemented git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20742 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/media_addon/Jamfile | 2 +- src/servers/media_addon/MediaFilePlayer.cpp | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/servers/media_addon/Jamfile b/src/servers/media_addon/Jamfile index 6f15792203..75e5c9f1aa 100644 --- a/src/servers/media_addon/Jamfile +++ b/src/servers/media_addon/Jamfile @@ -15,5 +15,5 @@ Server media_addon_server : MediaFilePlayer.cpp SystemTimeSource.cpp : - be libmedia.so + be libmedia.so game ; diff --git a/src/servers/media_addon/MediaFilePlayer.cpp b/src/servers/media_addon/MediaFilePlayer.cpp index 2de271a423..b48b6a683c 100644 --- a/src/servers/media_addon/MediaFilePlayer.cpp +++ b/src/servers/media_addon/MediaFilePlayer.cpp @@ -1,9 +1,11 @@ /* - * Copyright (c) 2004-2007, Marcus Overhagen . All rights reserved. + * Copyright (c) 2004, Marcus Overhagen . All rights reserved. + * Copyright (c) 2007, Jérôme Duval. All rights reserved. * Distributed under the terms of the MIT License. */ #include +#include #include #include "MediaFilePlayer.h" #include "debug.h" @@ -14,6 +16,15 @@ PlayMediaFile(const char *media_type, const char *media_name) TRACE("PlayMediaFile: type '%s', name '%s'\n", media_type, media_name); entry_ref ref; - BMediaFiles().GetRefFor(media_type, media_name, &ref); + if (BMediaFiles().GetRefFor(media_type, media_name, &ref)!=B_OK + || !BEntry(&ref).Exists()) + return; + + BFileGameSound *sound = new BFileGameSound(&ref, false); + if (sound->InitCheck() == B_OK) { + sound->Preload(); + sound->StartPlaying(); + } + // TODO reclaim sound }