Ticket #3085: sounds.diff

File sounds.diff, 3.9 KB (added by Barrett, 3 years ago)

Patch to move out of BGameSound, not properly working though.

  • src/kits/media/MediaFiles.cpp

    diff --git a/src/kits/media/MediaFiles.cpp b/src/kits/media/MediaFiles.cpp
    index 2779d35340..4c6a7f8b66 100644
    a b BMediaFiles::_ClearItems()  
    300300// #pragma mark - FBC padding
    301301
    302302
    303 status_t
    304 BMediaFiles::_Reserved_MediaFiles_0(void*,...)
    305 {
    306     // TODO: Someone didn't understand FBC
    307     return B_ERROR;
    308 }
    309 
    310 
     303status_t BMediaFiles::_Reserved_MediaFiles_0(void*,...) { return B_ERROR; }
    311304status_t BMediaFiles::_Reserved_MediaFiles_1(void*,...) { return B_ERROR; }
    312305status_t BMediaFiles::_Reserved_MediaFiles_2(void*,...) { return B_ERROR; }
    313306status_t BMediaFiles::_Reserved_MediaFiles_3(void*,...) { return B_ERROR; }
    status_t BMediaFiles::_Reserved_MediaFiles_4(void*,...) { return B_ERROR; }  
    315308status_t BMediaFiles::_Reserved_MediaFiles_5(void*,...) { return B_ERROR; }
    316309status_t BMediaFiles::_Reserved_MediaFiles_6(void*,...) { return B_ERROR; }
    317310status_t BMediaFiles::_Reserved_MediaFiles_7(void*,...) { return B_ERROR; }
    318 
  • src/preferences/sounds/HWindow.cpp

    diff --git a/src/preferences/sounds/HWindow.cpp b/src/preferences/sounds/HWindow.cpp
    index 5b0fc2b57b..2523dd09c4 100644
    a b  
    3535#include <Roster.h>
    3636#include <ScrollView.h>
    3737#include <StringView.h>
    38 #include <Sound.h>
    3938
    4039
    4140#undef B_TRANSLATION_CONTEXT
    HWindow::HWindow(BRect rect, const char* name)  
    4847    :
    4948    BWindow(rect, name, B_TITLED_WINDOW, B_AUTO_UPDATE_SIZE_LIMITS),
    5049    fFilePanel(NULL),
    51     fPlayer(NULL)
     50    fPlayer(NULL),
     51    fSound(NULL)
    5252{
    5353    _InitGUI();
    5454
    HWindow::MessageReceived(BMessage* message)  
    186186                    entry_ref ref;
    187187                    ::get_ref_for_path(path, &ref);
    188188                    delete fPlayer;
    189                     fPlayer = new BFileGameSound(&ref, false);
    190                     fPlayer->StartPlaying();
     189                    fPlayer = new BSoundPlayer("Sound Prefs", NULL, NULL, NULL);
     190                    fSound = new BSound(&ref, true);
     191                    fID = fPlayer->StartPlaying(fSound);
     192                    fPlayer->Start();
    191193                }
    192194            }
    193195            break;
    HWindow::MessageReceived(BMessage* message)  
    197199        {
    198200            if (fPlayer == NULL)
    199201                break;
    200             if (fPlayer->IsPlaying()) {
    201                 fPlayer->StopPlaying();
     202            if (fPlayer->IsPlaying(fID)) {
     203                fPlayer->StopPlaying(fID);
    202204                delete fPlayer;
    203205                fPlayer = NULL;
    204206            }
    HWindow::_Pulse()  
    343345        return;
    344346
    345347    if (fPlayer != NULL) {
    346         if (fPlayer->IsPlaying())
     348        if (fPlayer->IsPlaying(fID))
    347349            stop->SetEnabled(true);
    348350        else
    349351            stop->SetEnabled(false);
  • src/preferences/sounds/HWindow.h

    diff --git a/src/preferences/sounds/HWindow.h b/src/preferences/sounds/HWindow.h
    index 7402340c28..7cfc20e3ae 100644
    a b  
    1313
    1414#include <Window.h>
    1515#include <FilePanel.h>
    16 #include <FileGameSound.h>
     16#include <Sound.h>
     17#include <SoundPlayer.h>
    1718
    1819
    1920class HEventList;
    enum{  
    3536
    3637class HWindow : public BWindow {
    3738public:
    38                                 HWindow(BRect rect, const char* name);
    39     virtual                     ~HWindow();
     39                                    HWindow(BRect rect, const char* name);
     40    virtual                         ~HWindow();
    4041
    41     virtual void                DispatchMessage(BMessage* message,
    42                                     BHandler* handler);
    43     virtual void                MessageReceived(BMessage* message);
    44     virtual bool                QuitRequested();
     42    virtual void                    DispatchMessage(BMessage* message,
     43                                        BHandler* handler);
     44    virtual void                    MessageReceived(BMessage* message);
     45    virtual bool                    QuitRequested();
    4546
    4647private:
    47             void                _InitGUI();
    48             void                _Pulse();
    49             void                _SetupMenuField();
    50             void                _UpdateZoomLimits();
     48            void                    _InitGUI();
     49            void                    _Pulse();
     50            void                    _SetupMenuField();
     51            void                    _UpdateZoomLimits();
    5152
    5253private:
    53             HEventList*         fEventList;
    54             BFilePanel*         fFilePanel;
    55             BFileGameSound*     fPlayer;
    56             BRect               fFrame;
     54            HEventList*             fEventList;
     55            BFilePanel*             fFilePanel;
     56            BSoundPlayer*           fPlayer;
     57            BSound*                 fSound;
     58            BSoundPlayer::play_id   fID;
     59            BRect                   fFrame;
    5760};
    5861
    5962