fixed naming of variables

fixed some font sensitiveness issues


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16462 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2006-02-18 18:03:29 +00:00
parent 38b52de937
commit b4a124700c
9 changed files with 292 additions and 288 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ Preference Media :
MediaViews.cpp MediaViews.cpp
MediaListItem.cpp MediaListItem.cpp
MediaAlert.cpp MediaAlert.cpp
: be media : media be
: media.rdef : media.rdef
; ;
+5 -5
View File
@@ -56,8 +56,8 @@ Media::Media()
} }
} }
mWindow = new MediaWindow(rect); fWindow = new MediaWindow(rect);
mWindow->SetSizeLimits(605.0, 10000.0, 378.0, 10000.0); fWindow->SetSizeLimits(605.0, 10000.0, 378.0, 10000.0);
be_roster->StartWatching(BMessenger(this)); be_roster->StartWatching(BMessenger(this));
} }
@@ -72,8 +72,8 @@ Media::~Media()
status_t status_t
Media::InitCheck() Media::InitCheck()
{ {
if (mWindow) if (fWindow)
return mWindow->InitCheck(); return fWindow->InitCheck();
return B_OK; return B_OK;
} }
@@ -85,7 +85,7 @@ void Media::MessageReceived (BMessage *message)
{ {
case B_SOME_APP_LAUNCHED: case B_SOME_APP_LAUNCHED:
case B_SOME_APP_QUIT: case B_SOME_APP_QUIT:
mWindow->PostMessage(message); fWindow->PostMessage(message);
break; break;
default: default:
BApplication::MessageReceived(message); // pass it along ... BApplication::MessageReceived(message); // pass it along ...
+1 -1
View File
@@ -32,7 +32,7 @@ class Media : public BApplication
status_t InitCheck(); status_t InitCheck();
private: private:
MediaWindow *mWindow; MediaWindow *fWindow;
}; };
+33 -33
View File
@@ -26,28 +26,28 @@
// MediaListItem - Constructor // MediaListItem - Constructor
MediaListItem::MediaListItem(dormant_node_info *info, uint32 level, bool isVideo, BList *icons, uint32 modifiers) MediaListItem::MediaListItem(dormant_node_info *info, uint32 level, bool isVideo, BList *icons, uint32 modifiers)
: BListItem(level), : BListItem(level),
mIsAudioMixer(false), fIsAudioMixer(false),
mIsVideo(isVideo), fIsVideo(isVideo),
mIsDefaultInput(false), fIsDefaultInput(false),
mIsDefaultOutput(false) fIsDefaultOutput(false)
{ {
mIcons = icons; fIcons = icons;
mInfo = info; fInfo = info;
mLabel = mInfo->name; fLabel = fInfo->name;
SetHeight(16 + kITEM_MARGIN); SetHeight(16 + kITEM_MARGIN);
} }
MediaListItem::MediaListItem(const char *label, uint32 level, bool isVideo, BList *icons, uint32 modifiers) MediaListItem::MediaListItem(const char *label, uint32 level, bool isVideo, BList *icons, uint32 modifiers)
: BListItem(level), : BListItem(level),
mLabel(label), fLabel(label),
mIsAudioMixer(false), fIsAudioMixer(false),
mIsVideo(isVideo), fIsVideo(isVideo),
mIsDefaultInput(false), fIsDefaultInput(false),
mIsDefaultOutput(false) fIsDefaultOutput(false)
{ {
mIcons = icons; fIcons = icons;
mInfo = NULL; fInfo = NULL;
SetHeight(16 + kITEM_MARGIN); SetHeight(16 + kITEM_MARGIN);
} }
@@ -86,32 +86,32 @@ MediaListItem::DrawItem(BView *owner, BRect frame, bool complete)
BRect iconFrame(frame); BRect iconFrame(frame);
iconFrame.Set(iconFrame.left, iconFrame.top+1, iconFrame.left+15, iconFrame.top+16); iconFrame.Set(iconFrame.left, iconFrame.top+1, iconFrame.left+15, iconFrame.top+16);
uint32 index = 0; uint32 index = 0;
if(OutlineLevel()==0 || (mIsDefaultInput&&mIsDefaultOutput)) { if(OutlineLevel()==0 || (fIsDefaultInput && fIsDefaultOutput)) {
if(mIsDefaultInput && mIsVideo) if(fIsDefaultInput && fIsVideo)
index = 4; index = 4;
else if(mIsDefaultInput && !mIsVideo) else if(fIsDefaultInput && !fIsVideo)
index = 2; index = 2;
owner->SetDrawingMode(B_OP_OVER); owner->SetDrawingMode(B_OP_OVER);
owner->DrawBitmap(static_cast<BBitmap*>(mIcons->ItemAt(index)), iconFrame); owner->DrawBitmap(static_cast<BBitmap*>(fIcons->ItemAt(index)), iconFrame);
owner->SetDrawingMode(B_OP_COPY); owner->SetDrawingMode(B_OP_COPY);
} }
iconFrame.OffsetBy(16, 0); iconFrame.OffsetBy(16, 0);
if(mIsDefaultInput || mIsDefaultOutput || mIsAudioMixer) { if(fIsDefaultInput || fIsDefaultOutput || fIsAudioMixer) {
if(mIsAudioMixer) if(fIsAudioMixer)
index = 1; index = 1;
else if(mIsDefaultOutput) { else if(fIsDefaultOutput) {
if(mIsVideo) if(fIsVideo)
index = 5; index = 5;
else else
index = 3; index = 3;
} else { } else {
if(mIsVideo) if(fIsVideo)
index = 4; index = 4;
else else
index = 2; index = 2;
} }
owner->SetDrawingMode(B_OP_OVER); owner->SetDrawingMode(B_OP_OVER);
owner->DrawBitmap(static_cast<BBitmap*>(mIcons->ItemAt(index)), iconFrame); owner->DrawBitmap(static_cast<BBitmap*>(fIcons->ItemAt(index)), iconFrame);
owner->SetDrawingMode(B_OP_COPY); owner->SetDrawingMode(B_OP_COPY);
} }
@@ -124,7 +124,7 @@ MediaListItem::DrawItem(BView *owner, BRect frame, bool complete)
owner->SetFont(&font); owner->SetFont(&font);
owner->MovePenTo(frame.left+8, frame.top + ((frame.Height() - (finfo.ascent + finfo.descent + finfo.leading)) / 2) + owner->MovePenTo(frame.left+8, frame.top + ((frame.Height() - (finfo.ascent + finfo.descent + finfo.leading)) / 2) +
(finfo.ascent + finfo.descent) - 1); (finfo.ascent + finfo.descent) - 1);
owner->DrawString(mLabel); owner->DrawString(fLabel);
} }
//--------------------------------------------------------------------------------------------------------------// //--------------------------------------------------------------------------------------------------------------//
@@ -132,15 +132,15 @@ void
MediaListItem::SetDefault(bool isDefault, bool isInput) MediaListItem::SetDefault(bool isDefault, bool isInput)
{ {
if(isInput) if(isInput)
mIsDefaultInput = isDefault; fIsDefaultInput = isDefault;
else else
mIsDefaultOutput = isDefault; fIsDefaultOutput = isDefault;
} }
void void
MediaListItem::SetAudioMixer(bool isAudioMixer) MediaListItem::SetAudioMixer(bool isAudioMixer)
{ {
mIsAudioMixer = isAudioMixer; fIsAudioMixer = isAudioMixer;
} }
void void
@@ -159,11 +159,11 @@ MediaListItem::Compare(const void *firstArg, const void *secondArg)
{ {
const MediaListItem *item1 = *static_cast<const MediaListItem * const *>(firstArg); const MediaListItem *item1 = *static_cast<const MediaListItem * const *>(firstArg);
const MediaListItem *item2 = *static_cast<const MediaListItem * const *>(secondArg); const MediaListItem *item2 = *static_cast<const MediaListItem * const *>(secondArg);
if(item1->mIsVideo != item2->mIsVideo) if(item1->fIsVideo != item2->fIsVideo)
return item1->mIsVideo ? 1 : -1; return item1->fIsVideo ? 1 : -1;
if(item1->OutlineLevel()!=item2->OutlineLevel()) if(item1->OutlineLevel()!=item2->OutlineLevel())
return item1->OutlineLevel()>item2->OutlineLevel() ? 1 : -1; return item1->OutlineLevel()>item2->OutlineLevel() ? 1 : -1;
if(item1->mIsAudioMixer!=item2->mIsAudioMixer) if(item1->fIsAudioMixer!=item2->fIsAudioMixer)
return item2->mIsAudioMixer ? 1 : -1; return item2->fIsAudioMixer ? 1 : -1;
return strcmp(item1->mLabel, item2->mLabel); return strcmp(item1->fLabel, item2->fLabel);
} }
+12 -12
View File
@@ -31,23 +31,23 @@ class MediaListItem : public BListItem {
void SetDefault(bool isDefaultInput, bool isInput); void SetDefault(bool isDefaultInput, bool isInput);
void SetAudioMixer(bool isAudioMixer); void SetAudioMixer(bool isAudioMixer);
bool IsDefault(bool isInput) { return isInput ? mIsDefaultInput : mIsDefaultOutput; } bool IsDefault(bool isInput) { return isInput ? fIsDefaultInput : fIsDefaultOutput; }
bool IsAudioMixer() { return mIsAudioMixer; } bool IsAudioMixer() { return fIsAudioMixer; }
bool IsVideo() { return mIsVideo; } bool IsVideo() { return fIsVideo; }
const char *GetLabel() { return mLabel; } const char *GetLabel() { return fLabel; }
dormant_node_info *mInfo; dormant_node_info *fInfo;
static int Compare(const void *firstArg, const void *secondArg); static int Compare(const void *firstArg, const void *secondArg);
private: private:
const char *mLabel; const char *fLabel;
bool mIsAudioMixer; bool fIsAudioMixer;
bool mIsVideo; bool fIsVideo;
bool mIsDefaultInput; bool fIsDefaultInput;
bool mIsDefaultOutput; bool fIsDefaultOutput;
dormant_node_info node_info; //dormant_node_info fNodeInfo;
BList *mIcons; BList *fIcons;
}; };
#endif /* __MEDIALISTITEM_H__ */ #endif /* __MEDIALISTITEM_H__ */
+58 -54
View File
@@ -17,7 +17,6 @@
// Includes -------------------------------------------------------------------------------------------------- // // Includes -------------------------------------------------------------------------------------------------- //
#include <Box.h> #include <Box.h>
#include <Button.h> #include <Button.h>
#include <TextView.h>
#include <MenuField.h> #include <MenuField.h>
#include <PopUpMenu.h> #include <PopUpMenu.h>
#include <MediaRoster.h> #include <MediaRoster.h>
@@ -26,11 +25,12 @@
#include <stdio.h> #include <stdio.h>
#include <MediaAddOn.h> #include <MediaAddOn.h>
#include <String.h> #include <String.h>
#include <TextView.h>
#include "MediaViews.h" #include "MediaViews.h"
BarView::BarView(BRect frame) BarView::BarView(BRect frame)
: BView (frame, "barView", B_FOLLOW_LEFT_RIGHT, B_WILL_DRAW ), : BView (frame, "barView", B_FOLLOW_LEFT_RIGHT, B_WILL_DRAW ),
mDisplay(true) fDisplay(true)
{ {
} }
@@ -39,7 +39,7 @@ BarView::Draw(BRect updateRect)
{ {
BRect r = Bounds(); BRect r = Bounds();
if(mDisplay) { if(fDisplay) {
// Display the 3D Look Divider Bar // Display the 3D Look Divider Bar
SetHighColor(140,140,140,0); SetHighColor(140,140,140,0);
StrokeLine(BPoint(r.left,r.top),BPoint(r.right,r.top)); StrokeLine(BPoint(r.left,r.top),BPoint(r.right,r.top));
@@ -55,7 +55,7 @@ BarView::Draw(BRect updateRect)
SettingsView::SettingsView (BRect frame, bool isVideo) SettingsView::SettingsView (BRect frame, bool isVideo)
: BView (frame, "SettingsView", B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW ), : BView (frame, "SettingsView", B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW ),
mIsVideo(isVideo) fIsVideo(isVideo)
{ {
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
BRect rect(frame); BRect rect(frame);
@@ -64,48 +64,47 @@ SettingsView::SettingsView (BRect frame, bool isVideo)
rect.right -=21; rect.right -=21;
rect.bottom = rect.top + 104; rect.bottom = rect.top + 104;
BBox *defaultsBox = new BBox(rect, "defaults"); BBox *defaultsBox = new BBox(rect, "defaults");
defaultsBox->SetLabel(mIsVideo ? "Default Nodes" : "Defaults"); defaultsBox->SetLabel(fIsVideo ? "Default Nodes" : "Defaults");
AddChild(defaultsBox); AddChild(defaultsBox);
BRect defaultRect(20, 22, 250, 40); BRect defaultRect(20, 22, 250, 40);
float divider = StringWidth(mIsVideo ? "Video Output:" : "Audio Output:") + 5; float divider = StringWidth(fIsVideo ? "Video Output:" : "Audio Output:") + 5;
mMenu1 = new BPopUpMenu("<none>"); fMenu1 = new BPopUpMenu("<none>");
mMenu1->SetLabelFromMarked(true); fMenu1->SetLabelFromMarked(true);
BMenuField *menuField1 = new BMenuField(defaultRect, "menuField1", BMenuField *menuField1 = new BMenuField(defaultRect, "menuField1",
mIsVideo ? "Video Input:" : "Audio Input:", mMenu1); fIsVideo ? "Video Input:" : "Audio Input:", fMenu1);
defaultsBox->AddChild(menuField1); defaultsBox->AddChild(menuField1);
menuField1->SetDivider(divider); menuField1->SetDivider(divider);
defaultRect.OffsetBy(0, 26); defaultRect.OffsetBy(0, 26);
mMenu2 = new BPopUpMenu("<none>"); fMenu2 = new BPopUpMenu("<none>");
mMenu2->SetLabelFromMarked(true); fMenu2->SetLabelFromMarked(true);
BMenuField *menuField2 = new BMenuField(defaultRect, "menuField2", BMenuField *menuField2 = new BMenuField(defaultRect, "menuField2",
mIsVideo ? "Video Output:" : "Audio Output:", mMenu2); fIsVideo ? "Video Output:" : "Audio Output:", fMenu2);
defaultsBox->AddChild(menuField2); defaultsBox->AddChild(menuField2);
menuField2->SetDivider(divider); menuField2->SetDivider(divider);
if(!mIsVideo) { if(!fIsVideo) {
defaultRect.OffsetBy(186, 0); defaultRect.OffsetBy(186, 0);
mMenu3 = new BPopUpMenu("<none>"); defaultRect.right -= 30;
mMenu3->SetLabelFromMarked(true); fMenu3 = new BPopUpMenu("<none>");
BMenuField *mMenuField3 = new BMenuField(defaultRect, "menuField3", fMenu3->SetLabelFromMarked(true);
"Channel:", mMenu3); BMenuField *menuField3 = new BMenuField(defaultRect, "menuField3",
defaultsBox->AddChild(mMenuField3); "Channel:", fMenu3);
mMenuField3->SetDivider(StringWidth("Channel:")+5); defaultsBox->AddChild(menuField3);
menuField3->SetDivider(StringWidth("Channel:")+5);
defaultRect.right += 30;
defaultRect.OffsetBy(-186, 0); defaultRect.OffsetBy(-186, 0);
} }
defaultRect.OffsetBy(0, 32); defaultRect.OffsetBy(0, 32);
BRect restartTextRect(defaultRect); defaultRect.right += 100;
restartTextRect.OffsetTo(B_ORIGIN);
restartTextRect.InsetBy(1,1);
rgb_color red_color = {222, 32, 33}; rgb_color red_color = {222, 32, 33};
mRestartTextView = new BTextView(defaultRect, "restartTextView", restartTextRect, fRestartView = new BStringView(defaultRect, "restartStringView", "Restart the Media Server to apply changes.",
be_plain_font, &red_color, B_FOLLOW_ALL, B_WILL_DRAW); B_FOLLOW_ALL, B_WILL_DRAW);
mRestartTextView->Insert("Restart the Media Server to apply changes."); fRestartView->SetHighColor(red_color);
mRestartTextView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); defaultsBox->AddChild(fRestartView);
defaultsBox->AddChild(mRestartTextView); fRestartView->Hide();
mRestartTextView->Hide();
rect.top = rect.bottom + 10; rect.top = rect.bottom + 10;
rect.bottom = rect.top + 162; rect.bottom = rect.top + 162;
@@ -114,25 +113,28 @@ SettingsView::SettingsView (BRect frame, bool isVideo)
AddChild(realtimeBox); AddChild(realtimeBox);
BMessage *message = new BMessage(ML_ENABLE_REAL_TIME); BMessage *message = new BMessage(ML_ENABLE_REAL_TIME);
message->AddBool("isVideo", mIsVideo); message->AddBool("isVideo", fIsVideo);
BRect rect2(22,20, 190, 40); BRect rect2(22,20, 190, 40);
mRealtimeCheckBox = new BCheckBox(rect2, "realtimeCheckBox", fRealtimeCheckBox = new BCheckBox(rect2, "realtimeCheckBox",
mIsVideo ? "Enable Real-Time Video" : "Enable Real-Time Audio", message); fIsVideo ? "Enable Real-Time Video" : "Enable Real-Time Audio", message);
realtimeBox->AddChild(mRealtimeCheckBox); realtimeBox->AddChild(fRealtimeCheckBox);
uint32 flags; uint32 flags;
BMediaRoster::Roster()->GetRealtimeFlags(&flags); BMediaRoster::Roster()->GetRealtimeFlags(&flags);
if(flags & (mIsVideo ? B_MEDIA_REALTIME_VIDEO : B_MEDIA_REALTIME_AUDIO)) if(flags & (fIsVideo ? B_MEDIA_REALTIME_VIDEO : B_MEDIA_REALTIME_AUDIO))
mRealtimeCheckBox->SetValue(B_CONTROL_ON); fRealtimeCheckBox->SetValue(B_CONTROL_ON);
rect2.top += 26; rect2.top += 26;
rect2.bottom = rect.Height() - 5; rect2.bottom = rect.Height() - 5;
rect2.right = rect.right - 15; rect2.right = rect.right - 15;
BRect textRect(3, 3, rect2.Width() - 3, rect2.Height() - 3); BRect textRect(3, 3, rect2.Width() - 3, rect2.Height() - 3);
BTextView *textView = new BTextView(rect2, "textView", textRect, B_FOLLOW_ALL, B_WILL_DRAW); BTextView *textView = new BTextView(rect2, "stringView", textRect, B_FOLLOW_ALL, B_WILL_DRAW);
textView->Insert(mIsVideo ? "Enabling Real-Time Video allows the BeOS to perform video operations as fast and smoothly as possible. It achieves optimum performance by using more RAM." textView->Insert(fIsVideo ? "Enabling Real-Time Video allows the BeOS to perform video operations as fast and smoothly as possible. It achieves optimum performance by using more RAM."
: "Enabling Real-time Audio allows BeOS to record and play audio as fast as possible. It achieves this performance by using more CPU and RAM."); "\n\nOnly enable this feature if you need the lowest latency possible."
textView->Insert("\n\nOnly enable this feature if you need the lowest latency possible."); : "Enabling Real-time Audio allows BeOS to record and play audio as fast as possible. It achieves this performance by using more CPU and RAM."
"\n\nOnly enable this feature if you need the lowest latency possible.");
textView->MakeEditable(false);
textView->MakeSelectable(false);
textView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); textView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
realtimeBox->AddChild(textView); realtimeBox->AddChild(textView);
@@ -143,30 +145,32 @@ SettingsView::SettingsView (BRect frame, bool isVideo)
"Restart Media Services", new BMessage(ML_RESTART_MEDIA_SERVER)); "Restart Media Services", new BMessage(ML_RESTART_MEDIA_SERVER));
AddChild(restartButton); AddChild(restartButton);
if(!mIsVideo) { if(!fIsVideo) {
rect.right = rect.left - 10;
rect.top += 4; rect.top += 4;
rect.left = frame.left + 33; rect.left = frame.left + 33;
rect.right = rect.left + 180; if (StringWidth("Show Volume Control on Deskbar") > rect.Width() - 30)
rect.left -= 10;
mVolumeCheckBox = new BCheckBox(rect, "volumeCheckBox", fVolumeCheckBox = new BCheckBox(rect, "volumeCheckBox",
"Show Volume Control on Deskbar", new BMessage(ML_SHOW_VOLUME_CONTROL)); "Show Volume Control on Deskbar", new BMessage(ML_SHOW_VOLUME_CONTROL));
AddChild(mVolumeCheckBox); AddChild(fVolumeCheckBox);
if(BDeskbar().HasItem("MediaReplicant")) if(BDeskbar().HasItem("MediaReplicant"))
mVolumeCheckBox->SetValue(B_CONTROL_ON); fVolumeCheckBox->SetValue(B_CONTROL_ON);
} }
} }
void void
SettingsView::AddNodes(BList &list, bool isInput) SettingsView::AddNodes(BList &list, bool isInput)
{ {
BMenu *menu = isInput ? mMenu1 : mMenu2; BMenu *menu = isInput ? fMenu1 : fMenu2;
void *item; void *item;
while ((item = menu->RemoveItem((int32)0)) != NULL) while ((item = menu->RemoveItem((int32)0)) != NULL)
delete static_cast<dormant_node_info *>(item); delete static_cast<dormant_node_info *>(item);
BMessage message(ML_DEFAULT_CHANGE); BMessage message(ML_DEFAULT_CHANGE);
message.AddBool("isVideo", mIsVideo); message.AddBool("isVideo", fIsVideo);
message.AddBool("isInput", isInput); message.AddBool("isInput", isInput);
for (int32 i = 0; i < list.CountItems(); i++) { for (int32 i = 0; i < list.CountItems(); i++) {
@@ -178,19 +182,19 @@ SettingsView::AddNodes(BList &list, bool isInput)
void void
SettingsView::SetDefault(dormant_node_info &info, bool isInput, int32 outputID) SettingsView::SetDefault(dormant_node_info &info, bool isInput, int32 outputID)
{ {
BMenu *menu = isInput ? mMenu1 : mMenu2; BMenu *menu = isInput ? fMenu1 : fMenu2;
for (int32 i = 0; i < menu->CountItems(); i++) { for (int32 i = 0; i < menu->CountItems(); i++) {
SettingsItem *item = static_cast<SettingsItem *>(menu->ItemAt(i)); SettingsItem *item = static_cast<SettingsItem *>(menu->ItemAt(i));
if(item->mInfo && item->mInfo->addon == info.addon && item->mInfo->flavor_id == info.flavor_id) { if(item->fInfo && item->fInfo->addon == info.addon && item->fInfo->flavor_id == info.flavor_id) {
item->SetMarked(true); item->SetMarked(true);
break; break;
} }
} }
if (!mIsVideo&&!isInput&&outputID>-1) { if (!fIsVideo&&!isInput&&outputID>-1) {
BMenuItem *item; BMenuItem *item;
while ((item = mMenu3->RemoveItem((int32)0)) != NULL) while ((item = fMenu3->RemoveItem((int32)0)) != NULL)
delete item; delete item;
BMediaRoster *roster = BMediaRoster::Roster(); BMediaRoster *roster = BMediaRoster::Roster();
media_node node; media_node node;
@@ -210,7 +214,7 @@ SettingsView::SetDefault(dormant_node_info &info, bool isInput, int32 outputID)
for (int32 i = 0; i < inputCount; i++) { for (int32 i = 0; i < inputCount; i++) {
media_input *input = new media_input(); media_input *input = new media_input();
memcpy(input, &inputs[i], sizeof(*input)); memcpy(input, &inputs[i], sizeof(*input));
mMenu3->AddItem(item = new Settings2Item(&info, input, new BMessage(message))); fMenu3->AddItem(item = new Settings2Item(&info, input, new BMessage(message)));
if(inputs[i].destination.id == outputID) if(inputs[i].destination.id == outputID)
item->SetMarked(true); item->SetMarked(true);
} }
@@ -222,7 +226,7 @@ SettingsView::SetDefault(dormant_node_info &info, bool isInput, int32 outputID)
SettingsItem::SettingsItem(dormant_node_info *info, BMessage *message, SettingsItem::SettingsItem(dormant_node_info *info, BMessage *message,
char shortcut, uint32 modifiers) char shortcut, uint32 modifiers)
: BMenuItem(info->name, message, shortcut, modifiers), : BMenuItem(info->name, message, shortcut, modifiers),
mInfo(info) fInfo(info)
{ {
} }
@@ -230,14 +234,14 @@ SettingsItem::SettingsItem(dormant_node_info *info, BMessage *message,
Settings2Item::Settings2Item(dormant_node_info *info, media_input *input, BMessage *message, Settings2Item::Settings2Item(dormant_node_info *info, media_input *input, BMessage *message,
char shortcut, uint32 modifiers) char shortcut, uint32 modifiers)
: BMenuItem(input->name, message, shortcut, modifiers), : BMenuItem(input->name, message, shortcut, modifiers),
mInfo(info), fInfo(info),
mInput(input) fInput(input)
{ {
} }
Settings2Item::~Settings2Item() Settings2Item::~Settings2Item()
{ {
delete mInput; delete fInput;
} }
+12 -12
View File
@@ -18,7 +18,7 @@
#define __MEDIAVIEWS_H__ #define __MEDIAVIEWS_H__
#include <CheckBox.h> #include <CheckBox.h>
#include <MenuItem.h> #include <MenuItem.h>
#include <TextView.h> #include <StringView.h>
#include <View.h> #include <View.h>
const uint32 ML_RESTART_MEDIA_SERVER = 'resr'; const uint32 ML_RESTART_MEDIA_SERVER = 'resr';
@@ -32,7 +32,7 @@ class BarView : public BView
public: public:
BarView(BRect frame); BarView(BRect frame);
virtual void Draw(BRect updateRect); virtual void Draw(BRect updateRect);
bool mDisplay; bool fDisplay;
}; };
class SettingsItem : public BMenuItem class SettingsItem : public BMenuItem
@@ -40,7 +40,7 @@ class SettingsItem : public BMenuItem
public: public:
SettingsItem(dormant_node_info *info, BMessage *message, SettingsItem(dormant_node_info *info, BMessage *message,
char shortcut = 0, uint32 modifiers = 0); char shortcut = 0, uint32 modifiers = 0);
dormant_node_info *mInfo; dormant_node_info *fInfo;
}; };
class Settings2Item : public BMenuItem class Settings2Item : public BMenuItem
@@ -49,8 +49,8 @@ class Settings2Item : public BMenuItem
Settings2Item(dormant_node_info *info, media_input *input, BMessage *message, Settings2Item(dormant_node_info *info, media_input *input, BMessage *message,
char shortcut = 0, uint32 modifiers = 0); char shortcut = 0, uint32 modifiers = 0);
~Settings2Item(); ~Settings2Item();
dormant_node_info *mInfo; dormant_node_info *fInfo;
media_input *mInput; media_input *fInput;
}; };
class SettingsView : public BView class SettingsView : public BView
@@ -59,15 +59,15 @@ class SettingsView : public BView
SettingsView(BRect frame, bool isVideo); SettingsView(BRect frame, bool isVideo);
void AddNodes(BList &list, bool isInput); void AddNodes(BList &list, bool isInput);
void SetDefault(dormant_node_info &info, bool isInput, int32 outputID = -1); void SetDefault(dormant_node_info &info, bool isInput, int32 outputID = -1);
BCheckBox *mRealtimeCheckBox; BCheckBox *fRealtimeCheckBox;
BCheckBox *mVolumeCheckBox; BCheckBox *fVolumeCheckBox;
BMenu *mMenu1; BMenu *fMenu1;
BMenu *mMenu2; BMenu *fMenu2;
BMenu *mMenu3; BMenu *fMenu3;
BTextView *mRestartTextView; BStringView *fRestartView;
private: private:
bool mIsVideo; bool fIsVideo;
}; };
#endif #endif
+154 -154
View File
@@ -34,10 +34,10 @@ const uint32 ML_INIT_MEDIA = 'MlIM';
// MediaWindow - Constructor // MediaWindow - Constructor
MediaWindow::MediaWindow(BRect frame) MediaWindow::MediaWindow(BRect frame)
: BWindow (frame, "Media", B_TITLED_WINDOW, B_ASYNCHRONOUS_CONTROLS), : BWindow (frame, "Media", B_TITLED_WINDOW, B_ASYNCHRONOUS_CONTROLS),
mCurrentNode(NULL), fCurrentNode(NULL),
mParamWeb(NULL), fParamWeb(NULL),
mAlert(NULL), fAlert(NULL),
mInitCheck(B_OK) fInitCheck(B_OK)
{ {
InitWindow(); InitWindow();
} }
@@ -46,25 +46,25 @@ MediaWindow::MediaWindow(BRect frame)
status_t status_t
MediaWindow::InitCheck() MediaWindow::InitCheck()
{ {
return mInitCheck; return fInitCheck;
} }
// MediaWindow - Destructor // MediaWindow - Destructor
MediaWindow::~MediaWindow() MediaWindow::~MediaWindow()
{ {
for(int i=0; i<mAudioOutputs.CountItems(); i++) for(int i=0; i<fAudioOutputs.CountItems(); i++)
delete static_cast<dormant_node_info *>(mAudioOutputs.ItemAt(i)); delete static_cast<dormant_node_info *>(fAudioOutputs.ItemAt(i));
for(int i=0; i<mAudioInputs.CountItems(); i++) for(int i=0; i<fAudioInputs.CountItems(); i++)
delete static_cast<dormant_node_info *>(mAudioInputs.ItemAt(i)); delete static_cast<dormant_node_info *>(fAudioInputs.ItemAt(i));
for(int i=0; i<mVideoOutputs.CountItems(); i++) for(int i=0; i<fVideoOutputs.CountItems(); i++)
delete static_cast<dormant_node_info *>(mVideoOutputs.ItemAt(i)); delete static_cast<dormant_node_info *>(fVideoOutputs.ItemAt(i));
for(int i=0; i<mVideoInputs.CountItems(); i++) for(int i=0; i<fVideoInputs.CountItems(); i++)
delete static_cast<dormant_node_info *>(mVideoInputs.ItemAt(i)); delete static_cast<dormant_node_info *>(fVideoInputs.ItemAt(i));
BMediaRoster *roster = BMediaRoster::Roster(); BMediaRoster *roster = BMediaRoster::Roster();
if(roster && mCurrentNode) if(roster && fCurrentNode)
roster->ReleaseNode(*mCurrentNode); roster->ReleaseNode(*fCurrentNode);
char buffer[512]; char buffer[512];
BRect rect = Frame(); BRect rect = Frame();
@@ -119,9 +119,9 @@ MediaWindow::FindNodes(media_type type, uint64 kind, BList &list)
MediaListItem * MediaListItem *
MediaWindow::FindMediaListItem(dormant_node_info *info) MediaWindow::FindMediaListItem(dormant_node_info *info)
{ {
for(int32 j=0; j<mListView->CountItems(); j++) { for(int32 j=0; j<fListView->CountItems(); j++) {
MediaListItem *item = static_cast<MediaListItem *>(mListView->ItemAt(j)); MediaListItem *item = static_cast<MediaListItem *>(fListView->ItemAt(j));
if(item->mInfo && item->mInfo->addon == info->addon && item->mInfo->flavor_id == info->flavor_id) { if(item->fInfo && item->fInfo->addon == info->addon && item->fInfo->flavor_id == info->flavor_id) {
return item; return item;
break; break;
} }
@@ -136,7 +136,7 @@ MediaWindow::AddNodes(BList &list, bool isVideo)
for(int32 i=0; i<list.CountItems(); i++) { for(int32 i=0; i<list.CountItems(); i++) {
dormant_node_info *info = static_cast<dormant_node_info *>(list.ItemAt(i)); dormant_node_info *info = static_cast<dormant_node_info *>(list.ItemAt(i));
if(!FindMediaListItem(info)) if(!FindMediaListItem(info))
mListView->AddItem(new MediaListItem(info, 1, isVideo, &mIcons)); fListView->AddItem(new MediaListItem(info, 1, isVideo, &fIcons));
} }
} }
@@ -149,22 +149,22 @@ MediaWindow::InitWindow(void)
BRect iconRect(0,0,15,15); BRect iconRect(0,0,15,15);
BBitmap *icon = new BBitmap(iconRect, B_CMAP8); BBitmap *icon = new BBitmap(iconRect, B_CMAP8);
icon->SetBits(kDevicesBits, kDevicesWidth*kDevicesHeight, 0, kDevicesColorSpace); icon->SetBits(kDevicesBits, kDevicesWidth*kDevicesHeight, 0, kDevicesColorSpace);
mIcons.AddItem(icon); fIcons.AddItem(icon);
icon = new BBitmap(iconRect, B_CMAP8); icon = new BBitmap(iconRect, B_CMAP8);
icon->SetBits(kMixerBits, kMixerWidth*kMixerHeight, 0, kMixerColorSpace); icon->SetBits(kMixerBits, kMixerWidth*kMixerHeight, 0, kMixerColorSpace);
mIcons.AddItem(icon); fIcons.AddItem(icon);
icon = new BBitmap(iconRect, B_CMAP8); icon = new BBitmap(iconRect, B_CMAP8);
icon->SetBits(kMicBits, kMicWidth*kMicHeight, 0, kMicColorSpace); icon->SetBits(kMicBits, kMicWidth*kMicHeight, 0, kMicColorSpace);
mIcons.AddItem(icon); fIcons.AddItem(icon);
icon = new BBitmap(iconRect, B_CMAP8); icon = new BBitmap(iconRect, B_CMAP8);
icon->SetBits(kSpeakerBits, kSpeakerWidth*kSpeakerHeight, 0, kSpeakerColorSpace); icon->SetBits(kSpeakerBits, kSpeakerWidth*kSpeakerHeight, 0, kSpeakerColorSpace);
mIcons.AddItem(icon); fIcons.AddItem(icon);
icon = new BBitmap(iconRect, B_CMAP8); icon = new BBitmap(iconRect, B_CMAP8);
icon->SetBits(kCamBits, kCamWidth*kCamHeight, 0, kCamColorSpace); icon->SetBits(kCamBits, kCamWidth*kCamHeight, 0, kCamColorSpace);
mIcons.AddItem(icon); fIcons.AddItem(icon);
icon = new BBitmap(iconRect, B_CMAP8); icon = new BBitmap(iconRect, B_CMAP8);
icon->SetBits(kTVBits, kTVWidth*kTVHeight, 0, kTVColorSpace); icon->SetBits(kTVBits, kTVWidth*kTVHeight, 0, kTVColorSpace);
mIcons.AddItem(icon); fIcons.AddItem(icon);
BRect bounds = Bounds(); // the whole view BRect bounds = Bounds(); // the whole view
@@ -172,43 +172,43 @@ MediaWindow::InitWindow(void)
// Create the OutlineView // Create the OutlineView
BRect menuRect(bounds.left+14,bounds.top+14,bounds.left+146,bounds.bottom-14); BRect menuRect(bounds.left+14,bounds.top+14,bounds.left+146,bounds.bottom-14);
BRect titleRect(menuRect.right+14,menuRect.top,bounds.right-10,menuRect.top+16); BRect titleRect(menuRect.right+14,menuRect.top,bounds.right-10,menuRect.top+16);
BRect availableRect(menuRect.right+15,titleRect.bottom+12,bounds.right-14,bounds.bottom-14); BRect availableRect(menuRect.right+15,titleRect.bottom+12,bounds.right-14,bounds.bottom-4);
BRect barRect(titleRect.left,titleRect.bottom+10,titleRect.right-2,titleRect.bottom+11); BRect barRect(titleRect.left,titleRect.bottom+10,titleRect.right-2,titleRect.bottom+11);
mListView = new BListView(menuRect,"audio_list", B_SINGLE_SELECTION_LIST, B_FOLLOW_ALL_SIDES); fListView = new BListView(menuRect,"audio_list", B_SINGLE_SELECTION_LIST, B_FOLLOW_ALL_SIDES);
mListView->SetSelectionMessage(new BMessage(ML_SELECTED_NODE)); fListView->SetSelectionMessage(new BMessage(ML_SELECTED_NODE));
// Add ScrollView to Media Menu // Add ScrollView to Media Menu
BScrollView *scrollView = new BScrollView("scroll_audio", mListView, B_FOLLOW_LEFT|B_FOLLOW_TOP_BOTTOM, 0, false, false, B_FANCY_BORDER); BScrollView *scrollView = new BScrollView("scroll_audio", fListView, B_FOLLOW_LEFT|B_FOLLOW_TOP_BOTTOM, 0, false, false, B_FANCY_BORDER);
// Create the Views // Create the Views
mBox = new BBox(bounds, "mediaView", B_FOLLOW_ALL_SIDES, B_WILL_DRAW | B_FRAME_EVENTS, B_PLAIN_BORDER); fBox = new BBox(bounds, "mediaView", B_FOLLOW_ALL_SIDES, B_WILL_DRAW | B_FRAME_EVENTS, B_PLAIN_BORDER);
// Add Child(ren) // Add Child(ren)
AddChild(mBox); AddChild(fBox);
mBox->AddChild(scrollView); fBox->AddChild(scrollView);
// StringViews // StringViews
rgb_color titleFontColor = { 0,0,0,0 }; rgb_color titleFontColor = { 0,0,0,0 };
mTitleView = new BStringView(titleRect, "AudioSettings", "Audio Settings", B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); fTitleView = new BStringView(titleRect, "AudioSettings", "Audio Settings", B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW);
mTitleView->SetFont(be_bold_font); fTitleView->SetFont(be_bold_font);
mTitleView->SetFontSize(12.0); fTitleView->SetFontSize(12.0);
mTitleView->SetHighColor(titleFontColor); fTitleView->SetHighColor(titleFontColor);
mBox->AddChild(mTitleView); fBox->AddChild(fTitleView);
mContentView = new BBox(availableRect, "contentView", B_FOLLOW_ALL_SIDES, B_WILL_DRAW | B_FRAME_EVENTS, B_NO_BORDER); fContentView = new BBox(availableRect, "contentView", B_FOLLOW_ALL_SIDES, B_WILL_DRAW | B_FRAME_EVENTS, B_NO_BORDER);
mBox->AddChild(mContentView); fBox->AddChild(fContentView);
BRect settingsRect(0, 0, 442, 330); BRect settingsRect(0, 0, 442, 335);
mAudioView = new SettingsView(settingsRect, false); fAudioView = new SettingsView(settingsRect, false);
mVideoView = new SettingsView(settingsRect, true); fVideoView = new SettingsView(settingsRect, true);
mBar = new BarView(barRect); fBar = new BarView(barRect);
mBox->AddChild(mBar); fBox->AddChild(fBar);
mInitCheck = InitMedia(true); fInitCheck = InitMedia(true);
if (mInitCheck != B_OK) { if (fInitCheck != B_OK) {
PostMessage(B_QUIT_REQUESTED); PostMessage(B_QUIT_REQUESTED);
} else { } else {
if (IsHidden()) if (IsHidden())
@@ -231,9 +231,9 @@ MediaWindow::InitMedia(bool first)
if(alert->Go()==0) if(alert->Go()==0)
return B_ERROR; return B_ERROR;
mAlert = new MediaAlert(BRect(0,0,300,60), fAlert = new MediaAlert(BRect(0,0,300,60),
"restart_alert", "Restarting Media Services\nStarting Media Server...\n"); "restart_alert", "Restarting Media Services\nStarting Media Server...\n");
mAlert->Show(); fAlert->Show();
Show(); Show();
@@ -243,58 +243,58 @@ MediaWindow::InitMedia(bool first)
Lock(); Lock();
bool isVideoSelected = true; bool isVideoSelected = true;
if(!first && mListView->ItemAt(0) && mListView->ItemAt(0)->IsSelected()) if(!first && fListView->ItemAt(0) && fListView->ItemAt(0)->IsSelected())
isVideoSelected = false; isVideoSelected = false;
if((!first || (first && err) ) && mAlert) { if((!first || (first && err) ) && fAlert) {
BAutolock locker(mAlert); BAutolock locker(fAlert);
if(locker.IsLocked()) if(locker.IsLocked())
mAlert->TextView()->SetText("Ready For Use..."); fAlert->TextView()->SetText("Ready For Use...");
} }
void *listItem; void *listItem;
while((listItem = mListView->RemoveItem((int32)0))) while((listItem = fListView->RemoveItem((int32)0)))
delete static_cast<MediaListItem *>(listItem); delete static_cast<MediaListItem *>(listItem);
while((listItem = mAudioOutputs.RemoveItem((int32)0))) while((listItem = fAudioOutputs.RemoveItem((int32)0)))
delete static_cast<dormant_node_info *>(listItem); delete static_cast<dormant_node_info *>(listItem);
while((listItem = mAudioInputs.RemoveItem((int32)0))) while((listItem = fAudioInputs.RemoveItem((int32)0)))
delete static_cast<dormant_node_info *>(listItem); delete static_cast<dormant_node_info *>(listItem);
while((listItem = mVideoOutputs.RemoveItem((int32)0))) while((listItem = fVideoOutputs.RemoveItem((int32)0)))
delete static_cast<dormant_node_info *>(listItem); delete static_cast<dormant_node_info *>(listItem);
while((listItem = mVideoInputs.RemoveItem((int32)0))) while((listItem = fVideoInputs.RemoveItem((int32)0)))
delete static_cast<dormant_node_info *>(listItem); delete static_cast<dormant_node_info *>(listItem);
MediaListItem *item, *mixer, *audio, *video; MediaListItem *item, *mixer, *audio, *video;
// Grab Media Info // Grab Media Info
FindNodes(B_MEDIA_RAW_AUDIO, B_PHYSICAL_OUTPUT, mAudioOutputs); FindNodes(B_MEDIA_RAW_AUDIO, B_PHYSICAL_OUTPUT, fAudioOutputs);
FindNodes(B_MEDIA_RAW_AUDIO, B_PHYSICAL_INPUT, mAudioInputs); FindNodes(B_MEDIA_RAW_AUDIO, B_PHYSICAL_INPUT, fAudioInputs);
FindNodes(B_MEDIA_ENCODED_AUDIO, B_PHYSICAL_OUTPUT, mAudioOutputs); FindNodes(B_MEDIA_ENCODED_AUDIO, B_PHYSICAL_OUTPUT, fAudioOutputs);
FindNodes(B_MEDIA_ENCODED_AUDIO, B_PHYSICAL_INPUT, mAudioInputs); FindNodes(B_MEDIA_ENCODED_AUDIO, B_PHYSICAL_INPUT, fAudioInputs);
FindNodes(B_MEDIA_RAW_VIDEO, B_PHYSICAL_OUTPUT, mVideoOutputs); FindNodes(B_MEDIA_RAW_VIDEO, B_PHYSICAL_OUTPUT, fVideoOutputs);
FindNodes(B_MEDIA_RAW_VIDEO, B_PHYSICAL_INPUT, mVideoInputs); FindNodes(B_MEDIA_RAW_VIDEO, B_PHYSICAL_INPUT, fVideoInputs);
FindNodes(B_MEDIA_ENCODED_VIDEO, B_PHYSICAL_OUTPUT, mVideoOutputs); FindNodes(B_MEDIA_ENCODED_VIDEO, B_PHYSICAL_OUTPUT, fVideoOutputs);
FindNodes(B_MEDIA_ENCODED_VIDEO, B_PHYSICAL_INPUT, mVideoInputs); FindNodes(B_MEDIA_ENCODED_VIDEO, B_PHYSICAL_INPUT, fVideoInputs);
// Add video nodes first. They might have an additional audio // Add video nodes first. They might have an additional audio
// output or input, but still should be listed as video node. // output or input, but still should be listed as video node.
AddNodes(mVideoOutputs, true); AddNodes(fVideoOutputs, true);
AddNodes(mVideoInputs, true); AddNodes(fVideoInputs, true);
AddNodes(mAudioOutputs, false); AddNodes(fAudioOutputs, false);
AddNodes(mAudioInputs, false); AddNodes(fAudioInputs, false);
mAudioView->AddNodes(mAudioOutputs, false); fAudioView->AddNodes(fAudioOutputs, false);
mAudioView->AddNodes(mAudioInputs, true); fAudioView->AddNodes(fAudioInputs, true);
mVideoView->AddNodes(mVideoOutputs, false); fVideoView->AddNodes(fVideoOutputs, false);
mVideoView->AddNodes(mVideoInputs, true); fVideoView->AddNodes(fVideoInputs, true);
mListView->AddItem(audio = new MediaListItem("Audio Settings", 0, false, &mIcons)); fListView->AddItem(audio = new MediaListItem("Audio Settings", 0, false, &fIcons));
mListView->AddItem(video = new MediaListItem("Video Settings", 0, true, &mIcons)); fListView->AddItem(video = new MediaListItem("Video Settings", 0, true, &fIcons));
mListView->AddItem(mixer = new MediaListItem("Audio Mixer", 1, false, &mIcons)); fListView->AddItem(mixer = new MediaListItem("Audio Mixer", 1, false, &fIcons));
mixer->SetAudioMixer(true); mixer->SetAudioMixer(true);
mListView->SortItems(&MediaListItem::Compare); fListView->SortItems(&MediaListItem::Compare);
media_node default_node; media_node default_node;
dormant_node_info node_info; dormant_node_info node_info;
@@ -306,7 +306,7 @@ MediaWindow::InitMedia(bool first)
item = FindMediaListItem(&node_info); item = FindMediaListItem(&node_info);
if(item) if(item)
item->SetDefault(true, true); item->SetDefault(true, true);
mAudioView->SetDefault(node_info, true); fAudioView->SetDefault(node_info, true);
} }
if(roster->GetAudioOutput(&default_node, &outputID, &outputName)==B_OK) { if(roster->GetAudioOutput(&default_node, &outputID, &outputName)==B_OK) {
@@ -314,7 +314,7 @@ MediaWindow::InitMedia(bool first)
item = FindMediaListItem(&node_info); item = FindMediaListItem(&node_info);
if(item) if(item)
item->SetDefault(true, false); item->SetDefault(true, false);
mAudioView->SetDefault(node_info, false, outputID); fAudioView->SetDefault(node_info, false, outputID);
} }
if(roster->GetVideoInput(&default_node)==B_OK) { if(roster->GetVideoInput(&default_node)==B_OK) {
@@ -322,7 +322,7 @@ MediaWindow::InitMedia(bool first)
item = FindMediaListItem(&node_info); item = FindMediaListItem(&node_info);
if(item) if(item)
item->SetDefault(true, true); item->SetDefault(true, true);
mVideoView->SetDefault(node_info, true); fVideoView->SetDefault(node_info, true);
} }
if(roster->GetVideoOutput(&default_node)==B_OK) { if(roster->GetVideoOutput(&default_node)==B_OK) {
@@ -330,28 +330,28 @@ MediaWindow::InitMedia(bool first)
item = FindMediaListItem(&node_info); item = FindMediaListItem(&node_info);
if(item) if(item)
item->SetDefault(true, false); item->SetDefault(true, false);
mVideoView->SetDefault(node_info, false); fVideoView->SetDefault(node_info, false);
} }
if(first) { if(first) {
mListView->Select(mListView->IndexOf(mixer)); fListView->Select(fListView->IndexOf(mixer));
} else { } else {
if(!mAudioView->mRestartTextView->IsHidden()) if(!fAudioView->fRestartView->IsHidden())
mAudioView->mRestartTextView->Hide(); fAudioView->fRestartView->Hide();
if(!mVideoView->mRestartTextView->IsHidden()) if(!fVideoView->fRestartView->IsHidden())
mVideoView->mRestartTextView->Hide(); fVideoView->fRestartView->Hide();
if(isVideoSelected) if(isVideoSelected)
mListView->Select(mListView->IndexOf(video)); fListView->Select(fListView->IndexOf(video));
else else
mListView->Select(mListView->IndexOf(audio)); fListView->Select(fListView->IndexOf(audio));
} }
if(mAlert) { if(fAlert) {
snooze(800000); snooze(800000);
mAlert->PostMessage(B_QUIT_REQUESTED); fAlert->PostMessage(B_QUIT_REQUESTED);
} }
mAlert = NULL; fAlert = NULL;
Unlock(); Unlock();
@@ -365,8 +365,8 @@ MediaWindow::QuitRequested()
{ {
// stop watching the MediaRoster // stop watching the MediaRoster
BMediaRoster *roster = BMediaRoster::CurrentRoster(); BMediaRoster *roster = BMediaRoster::CurrentRoster();
if (roster && mCurrentNode) { if (roster && fCurrentNode) {
roster->StopWatching(this, *mCurrentNode, B_MEDIA_WILDCARD); roster->StopWatching(this, *fCurrentNode, B_MEDIA_WILDCARD);
} }
be_app->PostMessage(B_QUIT_REQUESTED); be_app->PostMessage(B_QUIT_REQUESTED);
return true; return true;
@@ -409,14 +409,14 @@ MediaWindow::MessageReceived (BMessage *message)
int32 index; int32 index;
if(message->FindInt32("index", &index)!=B_OK) if(message->FindInt32("index", &index)!=B_OK)
break; break;
Settings2Item *item = static_cast<Settings2Item *>(mAudioView->mMenu3->ItemAt(index)); Settings2Item *item = static_cast<Settings2Item *>(fAudioView->fMenu3->ItemAt(index));
if(item) { if(item) {
BMediaRoster *roster = BMediaRoster::Roster(); BMediaRoster *roster = BMediaRoster::Roster();
roster->SetAudioOutput(*item->mInput); roster->SetAudioOutput(*item->fInput);
if(mAudioView->mRestartTextView->IsHidden()) if(fAudioView->fRestartView->IsHidden())
mAudioView->mRestartTextView->Show(); fAudioView->fRestartView->Show();
} else } else
fprintf(stderr, "Settings2Item not found\n"); fprintf(stderr, "Settings2Item not found\n");
} }
@@ -432,8 +432,8 @@ MediaWindow::MessageReceived (BMessage *message)
int32 index; int32 index;
if(message->FindInt32("index", &index)!=B_OK) if(message->FindInt32("index", &index)!=B_OK)
break; break;
SettingsView *settingsView = isVideo ? mVideoView : mAudioView; SettingsView *settingsView = isVideo ? fVideoView : fAudioView;
BMenu *menu = isInput ? settingsView->mMenu1 : settingsView->mMenu2; BMenu *menu = isInput ? settingsView->fMenu1 : settingsView->fMenu2;
SettingsItem *item = static_cast<SettingsItem *>(menu->ItemAt(index)); SettingsItem *item = static_cast<SettingsItem *>(menu->ItemAt(index));
if(item) { if(item) {
@@ -441,22 +441,22 @@ MediaWindow::MessageReceived (BMessage *message)
BMediaRoster *roster = BMediaRoster::Roster(); BMediaRoster *roster = BMediaRoster::Roster();
if(isVideo) { if(isVideo) {
if(isInput) if(isInput)
roster->SetVideoInput(*item->mInfo); roster->SetVideoInput(*item->fInfo);
else else
roster->SetVideoOutput(*item->mInfo); roster->SetVideoOutput(*item->fInfo);
} else { } else {
if(isInput) if(isInput)
roster->SetAudioInput(*item->mInfo); roster->SetAudioInput(*item->fInfo);
else { else {
roster->SetAudioOutput(*item->mInfo); roster->SetAudioOutput(*item->fInfo);
mAudioView->SetDefault(*item->mInfo, false, 0); fAudioView->SetDefault(*item->fInfo, false, 0);
} }
} }
MediaListItem *oldListItem = NULL; MediaListItem *oldListItem = NULL;
for(int32 j=0; j<mListView->CountItems(); j++) { for(int32 j=0; j<fListView->CountItems(); j++) {
oldListItem = static_cast<MediaListItem *>(mListView->ItemAt(j)); oldListItem = static_cast<MediaListItem *>(fListView->ItemAt(j));
if(oldListItem->mInfo && oldListItem->IsVideo() == isVideo if(oldListItem->fInfo && oldListItem->IsVideo() == isVideo
&& oldListItem->IsDefault(isInput)) && oldListItem->IsDefault(isInput))
break; break;
} }
@@ -465,15 +465,15 @@ MediaWindow::MessageReceived (BMessage *message)
else else
fprintf(stderr, "oldListItem not found\n"); fprintf(stderr, "oldListItem not found\n");
MediaListItem *listItem = FindMediaListItem(item->mInfo); MediaListItem *listItem = FindMediaListItem(item->fInfo);
if(listItem) { if(listItem) {
listItem->SetDefault(true, isInput); listItem->SetDefault(true, isInput);
} else } else
fprintf(stderr, "MediaListItem not found\n"); fprintf(stderr, "MediaListItem not found\n");
mListView->Invalidate(); fListView->Invalidate();
if(settingsView->mRestartTextView->IsHidden()) if(settingsView->fRestartView->IsHidden())
settingsView->mRestartTextView->Show(); settingsView->fRestartView->Show();
} else } else
fprintf(stderr, "SettingsItem not found\n"); fprintf(stderr, "SettingsItem not found\n");
} }
@@ -491,7 +491,7 @@ MediaWindow::MessageReceived (BMessage *message)
case ML_SHOW_VOLUME_CONTROL: case ML_SHOW_VOLUME_CONTROL:
{ {
BDeskbar deskbar; BDeskbar deskbar;
if (mAudioView->mVolumeCheckBox->Value() == B_CONTROL_ON) { if (fAudioView->fVolumeCheckBox->Value() == B_CONTROL_ON) {
BEntry entry("/bin/desklink", true); BEntry entry("/bin/desklink", true);
int32 id; int32 id;
entry_ref ref; entry_ref ref;
@@ -517,12 +517,12 @@ MediaWindow::MessageReceived (BMessage *message)
bool isVideo = true; bool isVideo = true;
if(message->FindBool("isVideo", &isVideo)!=B_OK) if(message->FindBool("isVideo", &isVideo)!=B_OK)
break; break;
SettingsView *settingsView = isVideo ? mVideoView : mAudioView; SettingsView *settingsView = isVideo ? fVideoView : fAudioView;
uint32 flags; uint32 flags;
uint32 realtimeFlag = isVideo ? B_MEDIA_REALTIME_VIDEO : B_MEDIA_REALTIME_AUDIO; uint32 realtimeFlag = isVideo ? B_MEDIA_REALTIME_VIDEO : B_MEDIA_REALTIME_AUDIO;
BMediaRoster *roster = BMediaRoster::Roster(); BMediaRoster *roster = BMediaRoster::Roster();
roster->GetRealtimeFlags(&flags); roster->GetRealtimeFlags(&flags);
if(settingsView->mRealtimeCheckBox->Value()==B_CONTROL_ON) if(settingsView->fRealtimeCheckBox->Value()==B_CONTROL_ON)
flags |= realtimeFlag; flags |= realtimeFlag;
else else
flags &= ~realtimeFlag; flags &= ~realtimeFlag;
@@ -534,68 +534,68 @@ MediaWindow::MessageReceived (BMessage *message)
{ {
PRINT_OBJECT(*message); PRINT_OBJECT(*message);
MediaListItem *item = static_cast<MediaListItem *>(mListView->ItemAt(mListView->CurrentSelection())); MediaListItem *item = static_cast<MediaListItem *>(fListView->ItemAt(fListView->CurrentSelection()));
if(!item) if(!item)
break; break;
BMediaRoster* roster = BMediaRoster::Roster(); BMediaRoster* roster = BMediaRoster::Roster();
if(mCurrentNode) { if(fCurrentNode) {
// stop watching the MediaRoster // stop watching the MediaRoster
roster->StopWatching(this, *mCurrentNode, B_MEDIA_WILDCARD); roster->StopWatching(this, *fCurrentNode, B_MEDIA_WILDCARD);
roster->ReleaseNode(*mCurrentNode); roster->ReleaseNode(*fCurrentNode);
} }
mCurrentNode = NULL; fCurrentNode = NULL;
BView *paramView = mContentView->ChildAt(0); BView *paramView = fContentView->ChildAt(0);
if(paramView!=NULL) { if(paramView!=NULL) {
mContentView->RemoveChild(paramView); fContentView->RemoveChild(paramView);
} }
paramView = NULL; paramView = NULL;
if(mParamWeb) if(fParamWeb)
delete mParamWeb; delete fParamWeb;
mParamWeb = NULL; fParamWeb = NULL;
mTitleView->SetText(item->GetLabel()); fTitleView->SetText(item->GetLabel());
if(item->OutlineLevel() == 0) { if(item->OutlineLevel() == 0) {
if(item->IsVideo()) if(item->IsVideo())
mContentView->AddChild(mVideoView); fContentView->AddChild(fVideoView);
else else
mContentView->AddChild(mAudioView); fContentView->AddChild(fAudioView);
} else { } else {
if(!mCurrentNode) if(!fCurrentNode)
mCurrentNode = new media_node(); fCurrentNode = new media_node();
media_node_id node_id; media_node_id node_id;
if(item->IsAudioMixer()) if(item->IsAudioMixer())
roster->GetAudioMixer(mCurrentNode); roster->GetAudioMixer(fCurrentNode);
else if(roster->GetInstancesFor(item->mInfo->addon, item->mInfo->flavor_id, &node_id)!=B_OK) else if(roster->GetInstancesFor(item->fInfo->addon, item->fInfo->flavor_id, &node_id)!=B_OK)
roster->InstantiateDormantNode(*(item->mInfo), mCurrentNode, B_FLAVOR_IS_GLOBAL); roster->InstantiateDormantNode(*(item->fInfo), fCurrentNode, B_FLAVOR_IS_GLOBAL);
else else
roster->GetNodeFor(node_id, mCurrentNode); roster->GetNodeFor(node_id, fCurrentNode);
if(roster->GetParameterWebFor(*mCurrentNode, &mParamWeb)==B_OK) { if(roster->GetParameterWebFor(*fCurrentNode, &fParamWeb)==B_OK) {
BMediaTheme* theme = BMediaTheme::PreferredTheme(); BMediaTheme* theme = BMediaTheme::PreferredTheme();
paramView = theme->ViewFor(mParamWeb); paramView = theme->ViewFor(fParamWeb);
mContentView->AddChild(paramView); fContentView->AddChild(paramView);
paramView->ResizeTo(mContentView->Bounds().Width(), mContentView->Bounds().Height()); paramView->ResizeTo(fContentView->Bounds().Width(), fContentView->Bounds().Height() - 10);
roster->StartWatching(this, *mCurrentNode, B_MEDIA_WILDCARD); roster->StartWatching(this, *fCurrentNode, B_MEDIA_WILDCARD);
} else { } else {
mParamWeb = NULL; fParamWeb = NULL;
BRect bounds = mContentView->Bounds(); BRect bounds = fContentView->Bounds();
BStringView* stringView = new BStringView(bounds, BStringView* stringView = new BStringView(bounds,
"noControls", "This hardware has no controls.", B_FOLLOW_V_CENTER | B_FOLLOW_H_CENTER); "noControls", "This hardware has no controls.", B_FOLLOW_V_CENTER | B_FOLLOW_H_CENTER);
stringView->ResizeToPreferred(); stringView->ResizeToPreferred();
mContentView->AddChild(stringView); fContentView->AddChild(stringView);
stringView->MoveBy((bounds.Width()-stringView->Bounds().Width())/2, stringView->MoveBy((bounds.Width()-stringView->Bounds().Width())/2,
(bounds.Height()-stringView->Bounds().Height())/2); (bounds.Height()-stringView->Bounds().Height())/2);
} }
} }
bool barChanged = (item->OutlineLevel() == 0 || mParamWeb == NULL || mParamWeb->CountGroups()<2); bool barChanged = (item->OutlineLevel() == 0 || fParamWeb == NULL || fParamWeb->CountGroups()<2);
if(barChanged != mBar->mDisplay) { if(barChanged != fBar->fDisplay) {
mBar->mDisplay = barChanged; fBar->fDisplay = barChanged;
mBar->Invalidate(); fBar->Invalidate();
} }
} }
break; break;
@@ -603,12 +603,12 @@ MediaWindow::MessageReceived (BMessage *message)
{ {
PRINT_OBJECT(*message); PRINT_OBJECT(*message);
const char *mimeSig; const char *mimeSig;
if(mAlert && message->FindString("be:signature", &mimeSig)==B_OK if(fAlert && message->FindString("be:signature", &mimeSig)==B_OK
&& (strcmp(mimeSig, "application/x-vnd.Be.addon-host")==0 && (strcmp(mimeSig, "application/x-vnd.Be.addon-host")==0
|| strcmp(mimeSig, "application/x-vnd.Be.media-server")==0)) { || strcmp(mimeSig, "application/x-vnd.Be.media-server")==0)) {
mAlert->Lock(); fAlert->Lock();
mAlert->TextView()->SetText("Starting Media Server..."); fAlert->TextView()->SetText("Starting Media Server...");
mAlert->Unlock(); fAlert->Unlock();
} }
} }
break; break;
@@ -637,17 +637,17 @@ status_t
MediaWindow::RestartMediaServices(void *data) MediaWindow::RestartMediaServices(void *data)
{ {
MediaWindow *window = (MediaWindow *)data; MediaWindow *window = (MediaWindow *)data;
window->mAlert = new MediaAlert(BRect(0,0,300,60), window->fAlert = new MediaAlert(BRect(0,0,300,60),
"restart_alert", "Restarting Media Services\nShutting down Media Server\n"); "restart_alert", "Restarting Media Services\nShutting down Media Server\n");
window->mAlert->Show(); window->fAlert->Show();
shutdown_media_server(B_INFINITE_TIMEOUT, MediaWindow::UpdateProgress, window->mAlert); shutdown_media_server(B_INFINITE_TIMEOUT, MediaWindow::UpdateProgress, window->fAlert);
{ {
BAutolock locker(window->mAlert); BAutolock locker(window->fAlert);
if(locker.IsLocked()) if(locker.IsLocked())
window->mAlert->TextView()->SetText("Starting Media Server..."); window->fAlert->TextView()->SetText("Starting Media Server...");
} }
launch_media_server(); launch_media_server();
+16 -16
View File
@@ -47,25 +47,25 @@ class MediaWindow : public BWindow
static status_t RestartMediaServices(void *data); static status_t RestartMediaServices(void *data);
static bool UpdateProgress(int stage, const char * message, void * cookie); static bool UpdateProgress(int stage, const char * message, void * cookie);
BBox * mBox; BBox * fBox;
BListView* mListView; BListView* fListView;
BStringView* mTitleView; BStringView* fTitleView;
BView* mContentView; BView* fContentView;
SettingsView* mAudioView; SettingsView* fAudioView;
SettingsView* mVideoView; SettingsView* fVideoView;
BarView* mBar; BarView* fBar;
media_node* mCurrentNode; media_node* fCurrentNode;
BParameterWeb* mParamWeb; BParameterWeb* fParamWeb;
BList mAudioInputs; BList fAudioInputs;
BList mAudioOutputs; BList fAudioOutputs;
BList mVideoInputs; BList fVideoInputs;
BList mVideoOutputs; BList fVideoOutputs;
BList mIcons; BList fIcons;
MediaAlert *mAlert; MediaAlert *fAlert;
status_t mInitCheck; status_t fInitCheck;
}; };
#endif #endif