You can subscribe to this list here.
2007 |
Jan
(36) |
Feb
(79) |
Mar
(123) |
Apr
(95) |
May
(119) |
Jun
(172) |
Jul
(124) |
Aug
(100) |
Sep
(83) |
Oct
(52) |
Nov
(97) |
Dec
(87) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(131) |
Feb
(80) |
Mar
(163) |
Apr
(178) |
May
(73) |
Jun
(54) |
Jul
(106) |
Aug
(118) |
Sep
(50) |
Oct
(125) |
Nov
(100) |
Dec
(99) |
2009 |
Jan
(104) |
Feb
(99) |
Mar
(68) |
Apr
(81) |
May
(52) |
Jun
(87) |
Jul
(67) |
Aug
(33) |
Sep
(27) |
Oct
(37) |
Nov
(60) |
Dec
(116) |
2010 |
Jan
(82) |
Feb
(79) |
Mar
(38) |
Apr
(50) |
May
(45) |
Jun
(53) |
Jul
(23) |
Aug
(86) |
Sep
(22) |
Oct
(96) |
Nov
(97) |
Dec
(73) |
2011 |
Jan
(24) |
Feb
(45) |
Mar
(28) |
Apr
(31) |
May
(42) |
Jun
(25) |
Jul
|
Aug
(12) |
Sep
(28) |
Oct
(13) |
Nov
(43) |
Dec
(13) |
2012 |
Jan
(62) |
Feb
(28) |
Mar
(6) |
Apr
(16) |
May
(7) |
Jun
|
Jul
(16) |
Aug
(2) |
Sep
(1) |
Oct
(4) |
Nov
(1) |
Dec
(3) |
2013 |
Jan
(5) |
Feb
|
Mar
(34) |
Apr
(9) |
May
(6) |
Jun
(10) |
Jul
(32) |
Aug
(8) |
Sep
(11) |
Oct
(35) |
Nov
(24) |
Dec
(22) |
2014 |
Jan
(44) |
Feb
(9) |
Mar
(9) |
Apr
(15) |
May
(25) |
Jun
(34) |
Jul
(16) |
Aug
(11) |
Sep
(7) |
Oct
(6) |
Nov
(1) |
Dec
(12) |
2015 |
Jan
(33) |
Feb
(19) |
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(5) |
From: <che...@us...> - 2007-05-24 15:35:15
|
Revision: 422 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=422&view=rev Author: chef_koch Date: 2007-05-24 08:35:07 -0700 (Thu, 24 May 2007) Log Message: ----------- deleted obsolete Thumbs.db added german and english languageFiles added multilanguage support cleanup for B2skin file Modified Paths: -------------- trunk/plugins/My Connect4/Skin/Skin Blue Two/MyConnect4.xml trunk/plugins/My Connect4/Source/MyConnect4/MyConnect4.cs trunk/plugins/My Connect4/Source/MyConnect4/MyConnect4.csproj Added Paths: ----------- trunk/plugins/My Connect4/Source/MyConnect4/LocalizeStrings.cs trunk/plugins/My Connect4/language/ trunk/plugins/My Connect4/language/MyConnect4/ trunk/plugins/My Connect4/language/MyConnect4/strings_de.xml trunk/plugins/My Connect4/language/MyConnect4/strings_en.xml Removed Paths: ------------- trunk/plugins/My Connect4/Thumbs.db Modified: trunk/plugins/My Connect4/Skin/Skin Blue Two/MyConnect4.xml =================================================================== --- trunk/plugins/My Connect4/Skin/Skin Blue Two/MyConnect4.xml 2007-05-23 16:45:51 UTC (rev 421) +++ trunk/plugins/My Connect4/Skin/Skin Blue Two/MyConnect4.xml 2007-05-24 15:35:07 UTC (rev 422) @@ -1,604 +1,601 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> <window> - <id>22031969</id> - <defaultcontrol>2</defaultcontrol> - <allowoverlay>yes</allowoverlay> - <autohidetopbar>yes</autohidetopbar> - <controls> - <import>common.time.xml</import> - <control> - <description>BackGround</description> - <type>image</type> - <id>10</id> - <posX>0</posX> - <posY>0</posY> - <width>720</width> - <height>576</height> - <texture>background.png</texture> - </control> - <control> - <description>text label</description> - <type>label</type> - <id>11</id> - <posX>60</posX> - <posY>70</posY> - <label>Connect 4</label> - <font>font16</font> - <align>Left</align> - <textcolor>ffffffff</textcolor> - <animation effect="fade" time="150">WindowOpen</animation> - <animation effect="fade" time="150">WindowClose</animation> - </control> - <control> + <id>22031969</id> + <defaultcontrol>2</defaultcontrol> + <allowoverlay>yes</allowoverlay> + <autohidetopbar>yes</autohidetopbar> + <controls> + <import>common.time.xml</import> + <control> + <description>BackGround</description> + <type>image</type> + <id>10</id> + <posX>0</posX> + <posY>0</posY> + <width>720</width> + <height>576</height> + <texture>background.png</texture> + </control> + <control> + <description>header label</description> + <type>label</type> + <id>11</id> + <posX>250</posX> + <posY>70</posY> + <font>font16</font> + <align>right</align> + <textcolor>White</textcolor> + <animation effect="fade" time="200">WindowOpen</animation> + <animation effect="fade" time="200">WindowClose</animation> + </control> + <control> + <description>button group</description> <type>group</type> - <description>group element</description> - <animation effect="fade" time="150">WindowOpen</animation> - <animation effect="fade" time="150">WindowClose</animation> - <control> - <description>Start</description> - <type>button</type> - <id>2</id> - <posX>60</posX> - <posY>97</posY> - <label>Start</label> - <onleft>2</onleft> - <onright>301</onright> - <onup>7</onup> - <ondown>3</ondown> - </control> - <control> - <description>Mode</description> - <type>button</type> - <id>3</id> - <posX>60</posX> + <animation effect="fade" time="250">WindowOpen</animation> + <animation effect="fade" time="500">WindowClose</animation> + <animation effect="slide" time="250" start="-300,0">WindowOpen</animation> + <animation effect="slide" time="500" end="0,-300">WindowClose</animation> + <control> + <description>Start</description> + <type>button</type> + <id>2</id> + <posX>60</posX> + <posY>97</posY> + <onleft>2</onleft> + <onright>301</onright> + <onup>7</onup> + <ondown>3</ondown> + </control> + <control> + <description>Mode</description> + <type>button</type> + <id>3</id> + <posX>60</posX> <posY>131</posY> - <label>Mode: Play vs Player</label> - <onleft>3</onleft> - <onright>3</onright> - <onup>2</onup> - <ondown>4</ondown> - </control> - <control> - <description>Level</description> - <type>button</type> - <id>4</id> - <posX>60</posX> + <onleft>3</onleft> + <onright>301</onright> + <onup>2</onup> + <ondown>4</ondown> + </control> + <control> + <description>Level</description> + <type>button</type> + <id>4</id> + <posX>60</posX> <posY>165</posY> - <label>Level: Amateur</label> - <onleft>4</onleft> - <onright>4</onright> - <onup>3</onup> - <ondown>7</ondown> - </control> - <control> - <description>text label</description> + <onleft>4</onleft> + <onright>301</onright> + <onup>3</onup> + <ondown>7</ondown> + </control> + <control> + <description>Round</description> <type>label</type> <id>5</id> <posX>70</posX> <posY>205</posY> <label>#Round</label> - <font>font12</font> - <align>Left</align> - <textcolor>ffffffff</textcolor> - </control> - <control> - <description>text label</description> + <font>font12</font> + <align>Left</align> + <textcolor>ffffffff</textcolor> + </control> + <control> + <description>Player: / GameOver</description> <type>label</type> <id>6</id> <posX>70</posX> <posY>240</posY> <label>#Player</label> - <font>font12</font> - <align>Left</align> - <textcolor>ffffffff</textcolor> - </control> - <control> - <description>Whatsthis</description> + <font>font12</font> + <align>Left</align> + <textcolor>ffffffff</textcolor> + </control> + <control> + <description>What is this?</description> <type>button</type> <id>7</id> <posX>60</posX> <posY>270</posY> - <label>What's this?</label> <onleft>7</onleft> <onright>301</onright> <onup>4</onup> <ondown>2</ondown> - </control> - </control> - <control> - <description>BackGround Game</description> - <type>image</type> - <id>15</id> - <posX>260</posX> - <posY>120</posY> - <width>440</width> - <height>380</height> - <texture>MyConnBack.png</texture> - <animation effect="fade" time="150">WindowOpen</animation> - <animation effect="fade" time="150">WindowClose</animation> </control> - <control> - <type>group</type> - <description>group element</description> - <animation effect="fade" time="150">WindowOpen</animation> - <animation effect="fade" time="150">WindowClose</animation> - <control> - <type>image</type> - <id>101</id> - <posX>280</posX> - <posY>140</posY> - <width>40</width> - <height>40</height> - <texture>#Con_1_1</texture> - </control> - <control> - <type>image</type> - <id>102</id> - <posX>340</posX> - <posY>140</posY> - <width>40</width> - <height>40</height> - <texture>#Con_1_2</texture> - </control> - <control> - <type>image</type> - <id>103</id> - <posX>400</posX> - <posY>140</posY> - <width>40</width> - <height>40</height> - <texture>#Con_1_3</texture> - </control> - <control> - <type>image</type> - <id>104</id> - <posX>460</posX> - <posY>140</posY> - <width>40</width> - <height>40</height> - <texture>#Con_1_4</texture> - </control> - <control> - <type>image</type> - <id>105</id> - <posX>520</posX> - <posY>140</posY> - <width>40</width> - <height>40</height> - <texture>#Con_1_5</texture> - </control> - <control> - <type>image</type> - <id>106</id> - <posX>580</posX> - <posY>140</posY> - <width>40</width> - <height>40</height> - <texture>#Con_1_6</texture> - </control> - <control> - <type>image</type> - <id>107</id> - <posX>640</posX> - <posY>140</posY> - <width>40</width> - <height>40</height> - <texture>#Con_1_7</texture> - </control> - - <control> - <type>image</type> - <id>111</id> - <posX>280</posX> - <posY>200</posY> - <width>40</width> - <height>40</height> - <texture>#Con_2_1</texture> - </control> - <control> - <type>image</type> - <id>112</id> - <posX>340</posX> - <posY>200</posY> - <width>40</width> - <height>40</height> - <texture>#Con_2_2</texture> - </control> - <control> - <type>image</type> - <id>113</id> - <posX>400</posX> - <posY>200</posY> - <width>40</width> - <height>40</height> - <texture>#Con_2_3</texture> - </control> - <control> - <type>image</type> - <id>114</id> - <posX>460</posX> - <posY>200</posY> - <width>40</width> - <height>40</height> - <texture>#Con_2_4</texture> - </control> - <control> - <type>image</type> - <id>115</id> - <posX>520</posX> - <posY>200</posY> - <width>40</width> - <height>40</height> - <texture>#Con_2_5</texture> - </control> - <control> - <type>image</type> - <id>116</id> - <posX>580</posX> - <posY>200</posY> - <width>40</width> - <height>40</height> - <texture>#Con_2_6</texture> - </control> - <control> - <type>image</type> - <id>117</id> - <posX>640</posX> - <posY>200</posY> - <width>40</width> - <height>40</height> - <texture>#Con_2_7</texture> - </control> - - <control> - <type>image</type> - <id>121</id> - <posX>280</posX> - <posY>260</posY> - <width>40</width> - <height>40</height> - <texture>#Con_3_1</texture> - </control> - <control> - <type>image</type> - <id>122</id> - <posX>340</posX> - <posY>260</posY> - <width>40</width> - <height>40</height> - <texture>#Con_3_2</texture> - </control> - <control> - <type>image</type> - <id>123</id> - <posX>400</posX> - <posY>260</posY> - <width>40</width> - <height>40</height> - <texture>#Con_3_3</texture> - </control> - <control> - <type>image</type> - <id>124</id> - <posX>460</posX> - <posY>260</posY> - <width>40</width> - <height>40</height> - <texture>#Con_3_4</texture> - </control> - <control> - <type>image</type> - <id>125</id> - <posX>520</posX> - <posY>260</posY> - <width>40</width> - <height>40</height> - <texture>#Con_3_5</texture> - </control> - <control> - <type>image</type> - <id>126</id> - <posX>580</posX> - <posY>260</posY> - <width>40</width> - <height>40</height> - <texture>#Con_3_6</texture> - </control> - <control> - <type>image</type> - <id>127</id> - <posX>640</posX> - <posY>260</posY> - <width>40</width> - <height>40</height> - <texture>#Con_3_7</texture> - </control> - - <control> - <type>image</type> - <id>131</id> - <posX>280</posX> - <posY>320</posY> - <width>40</width> - <height>40</height> - <texture>#Con_4_1</texture> - </control> - <control> - <type>image</type> - <id>132</id> - <posX>340</posX> - <posY>320</posY> - <width>40</width> - <height>40</height> - <texture>#Con_4_2</texture> - </control> - <control> - <type>image</type> - <id>133</id> - <posX>400</posX> - <posY>320</posY> - <width>40</width> - <height>40</height> - <texture>#Con_4_3</texture> - </control> - <control> - <type>image</type> - <id>134</id> - <posX>460</posX> - <posY>320</posY> - <width>40</width> - <height>40</height> - <texture>#Con_4_4</texture> - </control> - <control> - <type>image</type> - <id>135</id> - <posX>520</posX> - <posY>320</posY> - <width>40</width> - <height>40</height> - <texture>#Con_4_5</texture> - </control> - <control> - <type>image</type> - <id>136</id> - <posX>580</posX> - <posY>320</posY> - <width>40</width> - <height>40</height> - <texture>#Con_4_6</texture> - </control> - <control> - <type>image</type> - <id>137</id> - <posX>640</posX> - <posY>320</posY> - <width>40</width> - <height>40</height> - <texture>#Con_4_7</texture> - </control> - - <control> - <type>image</type> - <id>141</id> - <posX>280</posX> - <posY>380</posY> - <width>40</width> - <height>40</height> - <texture>#Con_5_1</texture> - </control> - <control> - <type>image</type> - <id>142</id> - <posX>340</posX> - <posY>380</posY> - <width>40</width> - <height>40</height> - <texture>#Con_5_2</texture> - </control> - <control> - <type>image</type> - <id>143</id> - <posX>400</posX> - <posY>380</posY> - <width>40</width> - <height>40</height> - <texture>#Con_5_3</texture> - </control> - <control> - <type>image</type> - <id>144</id> - <posX>460</posX> - <posY>380</posY> - <width>40</width> - <height>40</height> - <texture>#Con_5_4</texture> - </control> - <control> - <type>image</type> - <id>145</id> - <posX>520</posX> - <posY>380</posY> - <width>40</width> - <height>40</height> - <texture>#Con_5_5</texture> - </control> - <control> - <type>image</type> - <id>146</id> - <posX>580</posX> - <posY>380</posY> - <width>40</width> - <height>40</height> - <texture>#Con_5_6</texture> - </control> - <control> - <type>image</type> - <id>147</id> - <posX>640</posX> - <posY>380</posY> - <width>40</width> - <height>40</height> - <texture>#Con_5_7</texture> - </control> - - <control> - <type>image</type> - <id>151</id> - <posX>280</posX> - <posY>440</posY> - <width>40</width> - <height>40</height> - <texture>#Con_6_1</texture> - </control> - <control> - <type>image</type> - <id>152</id> - <posX>340</posX> - <posY>440</posY> - <width>40</width> - <height>40</height> - <texture>#Con_6_2</texture> - </control> - <control> - <type>image</type> - <id>153</id> - <posX>400</posX> - <posY>440</posY> - <width>40</width> - <height>40</height> - <texture>#Con_6_3</texture> - </control> - <control> - <type>image</type> - <id>154</id> - <posX>460</posX> - <posY>440</posY> - <width>40</width> - <height>40</height> - <texture>#Con_6_4</texture> - </control> - <control> - <type>image</type> - <id>155</id> - <posX>520</posX> - <posY>440</posY> - <width>40</width> - <height>40</height> - <texture>#Con_6_5</texture> - </control> - <control> - <type>image</type> - <id>156</id> - <posX>580</posX> - <posY>440</posY> - <width>40</width> - <height>40</height> - <texture>#Con_6_6</texture> - </control> - <control> - <type>image</type> - <id>157</id> - <posX>640</posX> - <posY>440</posY> - <width>40</width> - <height>40</height> - <texture>#Con_6_7</texture> - </control> - <control> - <description>text label</description> - <type>label</type> - <id>18</id> - <posX>260</posX> - <posY>510</posY> - <label>#Status</label> - <font>font16</font> - <align>Left</align> - <textcolor>ffffffff</textcolor> - </control> - <control> - <description>Pointer 01</description> - <type>button</type> - <id>301</id> - <posX>280</posX> - <posY>70</posY> - <width>40</width> - <height>40</height> - <onleft>2</onleft> - <onright>302</onright> - <textureFocus>MyConn4Cur.png</textureFocus> - </control> - <control> - <description>Pointer 02</description> - <type>button</type> - <id>302</id> - <posX>340</posX> - <posY>70</posY> - <width>40</width> - <height>40</height> - <onleft>301</onleft> - <onright>303</onright> - <textureFocus>MyConn4Cur.png</textureFocus> - </control> - <control> - <description>Pointer 03</description> - <type>button</type> - <id>303</id> - <posX>400</posX> - <posY>70</posY> - <width>40</width> - <height>40</height> - <onleft>302</onleft> - <onright>304</onright> - <textureFocus>MyConn4Cur.png</textureFocus> - </control> - <control> - <description>Pointer 04</description> - <type>button</type> - <id>304</id> - <posX>460</posX> - <posY>70</posY> - <width>40</width> - <height>40</height> - <onleft>303</onleft> - <onright>305</onright> - <textureFocus>MyConn4Cur.png</textureFocus> - </control> - <control> - <description>Pointer 05</description> - <type>button</type> - <id>305</id> - <posX>520</posX> - <posY>70</posY> - <width>40</width> - <height>40</height> - <onleft>304</onleft> - <onright>306</onright> - <textureFocus>MyConn4Cur.png</textureFocus> - </control> - <control> - <description>Pointer 06</description> - <type>button</type> - <id>306</id> - <posX>580</posX> - <posY>70</posY> - <width>40</width> - <height>40</height> - <onleft>305</onleft> - <onright>307</onright> - <textureFocus>MyConn4Cur.png</textureFocus> - </control> - <control> - <description>Pointer 07</description> - <type>button</type> - <id>307</id> - <posX>640</posX> - <posY>70</posY> - <width>40</width> - <height>40</height> - <onleft>306</onleft> - <onright>307</onright> - <textureFocus>MyConn4Cur.png</textureFocus> - </control> - </control> - </controls> + </control> + <control> + <description>BackGround Game</description> + <type>image</type> + <id>15</id> + <posX>260</posX> + <posY>120</posY> + <width>440</width> + <height>380</height> + <texture>MyConnBack.png</texture> + <animation effect="fade" time="250">WindowOpen</animation> + <animation effect="fade" time="500">WindowClose</animation> + <animation effect="slide" time="400" start="0,-300">WindowOpen</animation> + <animation effect="slide" time="400" end="800,0">WindowClose</animation> + </control> + <control> + <description>game group</description> + <type>group</type> + <animation effect="fade" time="250">WindowOpen</animation> + <animation effect="fade" time="500">WindowClose</animation> + <animation effect="slide" time="400" start="0,-300">WindowOpen</animation> + <animation effect="slide" time="400" end="800,0">WindowClose</animation> + <control> + <type>image</type> + <id>101</id> + <posX>280</posX> + <posY>140</posY> + <width>40</width> + <height>40</height> + <texture>#Con_1_1</texture> + </control> + <control> + <type>image</type> + <id>102</id> + <posX>340</posX> + <posY>140</posY> + <width>40</width> + <height>40</height> + <texture>#Con_1_2</texture> + </control> + <control> + <type>image</type> + <id>103</id> + <posX>400</posX> + <posY>140</posY> + <width>40</width> + <height>40</height> + <texture>#Con_1_3</texture> + </control> + <control> + <type>image</type> + <id>104</id> + <posX>460</posX> + <posY>140</posY> + <width>40</width> + <height>40</height> + <texture>#Con_1_4</texture> + </control> + <control> + <type>image</type> + <id>105</id> + <posX>520</posX> + <posY>140</posY> + <width>40</width> + <height>40</height> + <texture>#Con_1_5</texture> + </control> + <control> + <type>image</type> + <id>106</id> + <posX>580</posX> + <posY>140</posY> + <width>40</width> + <height>40</height> + <texture>#Con_1_6</texture> + </control> + <control> + <type>image</type> + <id>107</id> + <posX>640</posX> + <posY>140</posY> + <width>40</width> + <height>40</height> + <texture>#Con_1_7</texture> + </control> + <control> + <type>image</type> + <id>111</id> + <posX>280</posX> + <posY>200</posY> + <width>40</width> + <height>40</height> + <texture>#Con_2_1</texture> + </control> + <control> + <type>image</type> + <id>112</id> + <posX>340</posX> + <posY>200</posY> + <width>40</width> + <height>40</height> + <texture>#Con_2_2</texture> + </control> + <control> + <type>image</type> + <id>113</id> + <posX>400</posX> + <posY>200</posY> + <width>40</width> + <height>40</height> + <texture>#Con_2_3</texture> + </control> + <control> + <type>image</type> + <id>114</id> + <posX>460</posX> + <posY>200</posY> + <width>40</width> + <height>40</height> + <texture>#Con_2_4</texture> + </control> + <control> + <type>image</type> + <id>115</id> + <posX>520</posX> + <posY>200</posY> + <width>40</width> + <height>40</height> + <texture>#Con_2_5</texture> + </control> + <control> + <type>image</type> + <id>116</id> + <posX>580</posX> + <posY>200</posY> + <width>40</width> + <height>40</height> + <texture>#Con_2_6</texture> + </control> + <control> + <type>image</type> + <id>117</id> + <posX>640</posX> + <posY>200</posY> + <width>40</width> + <height>40</height> + <texture>#Con_2_7</texture> + </control> + <control> + <type>image</type> + <id>121</id> + <posX>280</posX> + <posY>260</posY> + <width>40</width> + <height>40</height> + <texture>#Con_3_1</texture> + </control> + <control> + <type>image</type> + <id>122</id> + <posX>340</posX> + <posY>260</posY> + <width>40</width> + <height>40</height> + <texture>#Con_3_2</texture> + </control> + <control> + <type>image</type> + <id>123</id> + <posX>400</posX> + <posY>260</posY> + <width>40</width> + <height>40</height> + <texture>#Con_3_3</texture> + </control> + <control> + <type>image</type> + <id>124</id> + <posX>460</posX> + <posY>260</posY> + <width>40</width> + <height>40</height> + <texture>#Con_3_4</texture> + </control> + <control> + <type>image</type> + <id>125</id> + <posX>520</posX> + <posY>260</posY> + <width>40</width> + <height>40</height> + <texture>#Con_3_5</texture> + </control> + <control> + <type>image</type> + <id>126</id> + <posX>580</posX> + <posY>260</posY> + <width>40</width> + <height>40</height> + <texture>#Con_3_6</texture> + </control> + <control> + <type>image</type> + <id>127</id> + <posX>640</posX> + <posY>260</posY> + <width>40</width> + <height>40</height> + <texture>#Con_3_7</texture> + </control> + <control> + <type>image</type> + <id>131</id> + <posX>280</posX> + <posY>320</posY> + <width>40</width> + <height>40</height> + <texture>#Con_4_1</texture> + </control> + <control> + <type>image</type> + <id>132</id> + <posX>340</posX> + <posY>320</posY> + <width>40</width> + <height>40</height> + <texture>#Con_4_2</texture> + </control> + <control> + <type>image</type> + <id>133</id> + <posX>400</posX> + <posY>320</posY> + <width>40</width> + <height>40</height> + <texture>#Con_4_3</texture> + </control> + <control> + <type>image</type> + <id>134</id> + <posX>460</posX> + <posY>320</posY> + <width>40</width> + <height>40</height> + <texture>#Con_4_4</texture> + </control> + <control> + <type>image</type> + <id>135</id> + <posX>520</posX> + <posY>320</posY> + <width>40</width> + <height>40</height> + <texture>#Con_4_5</texture> + </control> + <control> + <type>image</type> + <id>136</id> + <posX>580</posX> + <posY>320</posY> + <width>40</width> + <height>40</height> + <texture>#Con_4_6</texture> + </control> + <control> + <type>image</type> + <id>137</id> + <posX>640</posX> + <posY>320</posY> + <width>40</width> + <height>40</height> + <texture>#Con_4_7</texture> + </control> + <control> + <type>image</type> + <id>141</id> + <posX>280</posX> + <posY>380</posY> + <width>40</width> + <height>40</height> + <texture>#Con_5_1</texture> + </control> + <control> + <type>image</type> + <id>142</id> + <posX>340</posX> + <posY>380</posY> + <width>40</width> + <height>40</height> + <texture>#Con_5_2</texture> + </control> + <control> + <type>image</type> + <id>143</id> + <posX>400</posX> + <posY>380</posY> + <width>40</width> + <height>40</height> + <texture>#Con_5_3</texture> + </control> + <control> + <type>image</type> + <id>144</id> + <posX>460</posX> + <posY>380</posY> + <width>40</width> + <height>40</height> + <texture>#Con_5_4</texture> + </control> + <control> + <type>image</type> + <id>145</id> + <posX>520</posX> + <posY>380</posY> + <width>40</width> + <height>40</height> + <texture>#Con_5_5</texture> + </control> + <control> + <type>image</type> + <id>146</id> + <posX>580</posX> + <posY>380</posY> + <width>40</width> + <height>40</height> + <texture>#Con_5_6</texture> + </control> + <control> + <type>image</type> + <id>147</id> + <posX>640</posX> + <posY>380</posY> + <width>40</width> + <height>40</height> + <texture>#Con_5_7</texture> + </control> + <control> + <type>image</type> + <id>151</id> + <posX>280</posX> + <posY>440</posY> + <width>40</width> + <height>40</height> + <texture>#Con_6_1</texture> + </control> + <control> + <type>image</type> + <id>152</id> + <posX>340</posX> + <posY>440</posY> + <width>40</width> + <height>40</height> + <texture>#Con_6_2</texture> + </control> + <control> + <type>image</type> + <id>153</id> + <posX>400</posX> + <posY>440</posY> + <width>40</width> + <height>40</height> + <texture>#Con_6_3</texture> + </control> + <control> + <type>image</type> + <id>154</id> + <posX>460</posX> + <posY>440</posY> + <width>40</width> + <height>40</height> + <texture>#Con_6_4</texture> + </control> + <control> + <type>image</type> + <id>155</id> + <posX>520</posX> + <posY>440</posY> + <width>40</width> + <height>40</height> + <texture>#Con_6_5</texture> + </control> + <control> + <type>image</type> + <id>156</id> + <posX>580</posX> + <posY>440</posY> + <width>40</width> + <height>40</height> + <texture>#Con_6_6</texture> + </control> + <control> + <type>image</type> + <id>157</id> + <posX>640</posX> + <posY>440</posY> + <width>40</width> + <height>40</height> + <texture>#Con_6_7</texture> + </control> + <control> + <description>text label</description> + <type>label</type> + <id>18</id> + <posX>260</posX> + <posY>510</posY> + <label>#Status</label> + <font>font16</font> + <align>Left</align> + <textcolor>ffffffff</textcolor> + </control> + <control> + <description>Pointer 01</description> + <type>button</type> + <id>301</id> + <posX>280</posX> + <posY>70</posY> + <width>40</width> + <height>40</height> + <onleft>2</onleft> + <onright>302</onright> + <textureFocus>MyConn4Cur.png</textureFocus> + </control> + <control> + <description>Pointer 02</description> + <type>button</type> + <id>302</id> + <posX>340</posX> + <posY>70</posY> + <width>40</width> + <height>40</height> + <onleft>301</onleft> + <onright>303</onright> + <textureFocus>MyConn4Cur.png</textureFocus> + </control> + <control> + <description>Pointer 03</description> + <type>button</type> + <id>303</id> + <posX>400</posX> + <posY>70</posY> + <width>40</width> + <height>40</height> + <onleft>302</onleft> + <onright>304</onright> + <textureFocus>MyConn4Cur.png</textureFocus> + </control> + <control> + <description>Pointer 04</description> + <type>button</type> + <id>304</id> + <posX>460</posX> + <posY>70</posY> + <width>40</width> + <height>40</height> + <onleft>303</onleft> + <onright>305</onright> + <textureFocus>MyConn4Cur.png</textureFocus> + </control> + <control> + <description>Pointer 05</description> + <type>button</type> + <id>305</id> + <posX>520</posX> + <posY>70</posY> + <width>40</width> + <height>40</height> + <onleft>304</onleft> + <onright>306</onright> + <textureFocus>MyConn4Cur.png</textureFocus> + </control> + <control> + <description>Pointer 06</description> + <type>button</type> + <id>306</id> + <posX>580</posX> + <posY>70</posY> + <width>40</width> + <height>40</height> + <onleft>305</onleft> + <onright>307</onright> + <textureFocus>MyConn4Cur.png</textureFocus> + </control> + <control> + <description>Pointer 07</description> + <type>button</type> + <id>307</id> + <posX>640</posX> + <posY>70</posY> + <width>40</width> + <height>40</height> + <onleft>306</onleft> + <onright>307</onright> + <textureFocus>MyConn4Cur.png</textureFocus> + </control> + </control> + </controls> </window> Added: trunk/plugins/My Connect4/Source/MyConnect4/LocalizeStrings.cs =================================================================== --- trunk/plugins/My Connect4/Source/MyConnect4/LocalizeStrings.cs (rev 0) +++ trunk/plugins/My Connect4/Source/MyConnect4/LocalizeStrings.cs 2007-05-24 15:35:07 UTC (rev 422) @@ -0,0 +1,260 @@ +#region Copyright (C) 2005-2007 Team MediaPortal + +/* + * Copyright (C) 2005-2007 Team MediaPortal + * http://www.team-mediaportal.com + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +#endregion + +using System; +using System.IO; +using System.Globalization; +using System.Collections; +using System.Collections.Generic; +using System.Text; +using System.Xml; +using MediaPortal.Util; +using MediaPortal.GUI.Library; +using MediaPortal.Configuration; +using MediaPortal.Localisation; + +namespace MediaPortal.GUI.MyConnect +{ + /// <summary> + /// This class will hold all text used in the application + /// The text is loaded for the current language from + /// the file language/[language]/strings.xml + /// </summary> + public class GUILocalizeStrings + { + #region Variables + static LocalisationProvider _stringProvider; + static Dictionary<string, string> _cultures; + static string[] _languages; + #endregion + + #region Constructors/Destructors + // singleton. Dont allow any instance of this class + private GUILocalizeStrings() + { + } + + static public void Dispose() + { + if (_stringProvider != null) + _stringProvider.Dispose(); + } + #endregion + + #region Public Methods + /// <summary> + /// Public method to load the text from a strings/xml file into memory + /// </summary> + /// <param name="strFileName">Contains the filename+path for the string.xml file</param> + /// <returns> + /// true when text is loaded + /// false when it was unable to load the text + /// </returns> + //[Obsolete("This method has changed", true)] + static public bool Load(string language) + { + bool isPrefixEnabled = true; + + using (MediaPortal.Profile.Settings reader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml"))) + isPrefixEnabled = reader.GetValueAsBool("general", "myprefix", true); + + string directory = Config.GetSubFolder(Config.Dir.Language, "MyConnect4"); + string cultureName = null; + if (language != null) + cultureName = GetCultureName(language); + + Log.Info(" Loading localised Strings - Path: {0} Culture: {1} Language: {2} Prefix: {3}", directory, cultureName, language, isPrefixEnabled); + + _stringProvider = new LocalisationProvider(directory, cultureName, isPrefixEnabled); + + GUIGraphicsContext.CharsInCharacterSet = _stringProvider.Characters; + + return true; + } + + static public string CurrentLanguage() + { + if (_stringProvider == null) + Load(null); + + return _stringProvider.CurrentLanguage.EnglishName; + } + + static public void ChangeLanguage(string language) + { + if (_stringProvider == null) + Load(language); + else + _stringProvider.ChangeLanguage(GetCultureName(language)); + } + + /// <summary> + /// Get the translation for a given id and format the sting with + /// the given parameters + /// </summary> + /// <param name="dwCode">id of text</param> + /// <param name="parameters">parameters used in the formating</param> + /// <returns> + /// string containing the translated text + /// </returns> + static public string Get(int dwCode, object[] parameters) + { + if (_stringProvider == null) + Load(null); + + string translation = _stringProvider.GetString("unmapped", dwCode); + // if parameters or the translation is null, return the translation. + if ((translation == null) || (parameters == null)) + { + return translation; + } + // return the formatted string. If formatting fails, log the error + // and return the unformatted string. + try + { + return String.Format(translation, parameters); + } + catch (System.FormatException e) + { + Log.Error("Error formatting translation with id {0}", dwCode); + Log.Error("Unformatted translation: {0}", translation); + Log.Error(e); + return translation; + } + } + + /// <summary> + /// Get the translation for a given id + /// </summary> + /// <param name="dwCode">id of text</param> + /// <returns> + /// string containing the translated text + /// </returns> + static public string Get(int dwCode) + { + if (_stringProvider == null) + Load(null); + + string translation = _stringProvider.GetString("unmapped", dwCode); + + if (translation == null) + { + Log.Error("No translation found for id {0}", dwCode); + return String.Empty; + } + + return translation; + } + + static public void LocalizeLabel(ref string strLabel) + { + if (_stringProvider == null) + Load(null); + + if (strLabel == null) strLabel = String.Empty; + if (strLabel == "-") strLabel = ""; + if (strLabel == "") return; + // This can't be a valid string code if the first character isn't a number. + // This check will save us from catching unnecessary exceptions. + if (!char.IsNumber(strLabel, 0)) + return; + + int dwLabelID; + + try + { + dwLabelID = System.Int32.Parse(strLabel); + } + catch (FormatException e) + { + Log.Error(e); + strLabel = String.Empty; + return; + } + + strLabel = _stringProvider.GetString("unmapped", dwLabelID); + if (strLabel == null) + { + Log.Error("No translation found for id {0}", dwLabelID); + strLabel = String.Empty; + } + } + + public static string LocalSupported() + { + if (_stringProvider == null) + Load(null); + + CultureInfo culture = _stringProvider.GetBestLanguage(); + + return culture.EnglishName; + } + + public static string[] SupportedLanguages() + { + if (_languages == null) + { + if (_stringProvider == null) + Load(null); + + CultureInfo[] cultures = _stringProvider.AvailableLanguages(); + + SortedList sortedLanguages = new SortedList(); + foreach (CultureInfo culture in cultures) + sortedLanguages.Add(culture.EnglishName, culture.EnglishName); + + _languages = new string[sortedLanguages.Count]; + + for (int i = 0; i < sortedLanguages.Count; i++) + { + _languages[i] = (string)sortedLanguages.GetByIndex(i); + } + } + + return _languages; + } + + static public string GetCultureName(string language) + { + if (_cultures == null) + { + _cultures = new Dictionary<string, string>(); + + CultureInfo[] cultureList = CultureInfo.GetCultures(CultureTypes.AllCultures); + + for (int i = 0; i < cultureList.Length; i++) + { + _cultures.Add(cultureList[i].EnglishName, cultureList[i].Name); + } + } + + if (_cultures.ContainsKey(language)) + return _cultures[language]; + + return null; + } + #endregion + } +} \ No newline at end of file Modified: trunk/plugins/My Connect4/Source/MyConnect4/MyConnect4.cs =================================================================== --- trunk/plugins/My Connect4/Source/MyConnect4/MyConnect4.cs 2007-05-23 16:45:51 UTC (rev 421) +++ trunk/plugins/My Connect4/Source/MyConnect4/MyConnect4.cs 2007-05-24 15:35:07 UTC (rev 422) @@ -36,448 +36,458 @@ namespace MediaPortal.GUI.MyConnect { - [PluginIcons("MyConnect4.connect4.png", "MyConnect4.connect4Disabled.png")] - public class MyConnect4GUI : GUIWindow, ISetupForm - { - #region SkinControl - [SkinControlAttribute(2)] protected GUIButtonControl BtnStart = null; - [SkinControlAttribute(4)] protected GUIButtonControl BtnLevel = null; - [SkinControlAttribute(3)] protected GUIButtonControl BtnMode = null; - - [SkinControlAttribute(7)] protected GUIButtonControl BtnWhatsThis = null; - #endregion + [PluginIcons("MyConnect4.connect4.png", "MyConnect4.connect4Disabled.png")] + public class MyConnect4GUI : GUIWindow, ISetupForm + { + #region SkinControl + [SkinControlAttribute(11)] + protected GUILabelControl lblHeader = null; - #region Private variables + [SkinControlAttribute(2)] + protected GUIButtonControl BtnStart = null; + [SkinControlAttribute(4)] + protected GUIButtonControl BtnLevel = null; + [SkinControlAttribute(3)] + protected GUIButtonControl BtnMode = null; - string Level="Nor"; //Choosen level - int AI = 5; + [SkinControlAttribute(7)] + protected GUIButtonControl BtnWhatsThis = null; + #endregion - string Mode = "1p"; //2player + #region Private variables - int Player = 0; - int round = 0; + string Level = "Nor"; //Choosen level + int AI = 5; - int wait = 0; + string Mode = "1p"; //2player - private static OnActionHandler ah; + int Player = 0; + int round = 0; - private System.Windows.Forms.Timer _Game = new System.Windows.Forms.Timer(); + int wait = 0; - private Engine gameEngine; + private static OnActionHandler ah; - #endregion + private System.Windows.Forms.Timer _Game = new System.Windows.Forms.Timer(); - #region ISetupForm Members + private Engine gameEngine; - // Returns the name of the plugin which is shown in the plugin menu - public string PluginName() - { - return "My Connect 4"; - } + #endregion - // Returns the description of the plugin is shown in the plugin menu - public string Description() - { - return "Connect 4"; - } + #region ISetupForm Members - // Returns the author of the plugin which is shown in the plugin menu - public string Author() - { - return "Mark Koenig (kroko)"; - } + // Returns the name of the plugin which is shown in the plugin menu + public string PluginName() + { + return "My Connect 4"; + } - // show the setup dialog - public void ShowPlugin() - { - MessageBox.Show("Nothing to configure, this is just an example"); - } + // Returns the description of the plugin is shown in the plugin menu + public string Description() + { + return "Connect 4"; + } - // Indicates whether plugin can be enabled/disabled - public bool CanEnable() + // Returns the author of the plugin which is shown in the plugin menu + public string Author() + { + return "Mark Koenig (kroko)"; + } + + // show the setup dialog + public void ShowPlugin() + { + MessageBox.Show("Nothing to configure, this is just an example"); + } + + // Indicates whether plugin can be enabled/disabled + public bool CanEnable() + { + return true; + } + + // get ID of windowplugin belonging to this setup + public int GetWindowId() + { + return 22031969; + } + + // Indicates if plugin is enabled by default; + public bool DefaultEnabled() + { + return true; + } + + // indicates if a plugin has its own setup screen + public bool HasSetup() + { + return false; + } + + /// <summary> + /// If the plugin should have its own button on the main menu of MediaPortal then it + /// should return true to this method, otherwise if it should not be on home + /// it should return false + /// </summary> + /// <param name="strButtonText">text the button should have</param> + /// <param name="strButtonImage">image for the button, or empty for default</param> + /// <param name="strButtonImageFocus">image for the button, or empty for default</param> + /// <param name="strPictureImage">subpicture for the button or empty for none</param> + /// <returns>true : plugin needs its own button on home + /// false : plugin does not need its own button on home</returns> + + public bool GetHome(out string strButtonText, out string strButtonImage, out string strButtonImageFocus, out string strPictureImage) + { + strButtonText = PluginName(); + strButtonImage = String.Empty; + strButtonImageFocus = String.Empty; + strPictureImage = "hover_my connect4.png"; + return true; + } + + #endregion + + public override int GetID + { + get { - return true; + return 22031969; } - - // get ID of windowplugin belonging to this setup - public int GetWindowId() + set { - return 22031969; + base.GetID = value; } + } - // Indicates if plugin is enabled by default; - public bool DefaultEnabled() - { - return true; - } + public override bool Init() + { + MyConnect.GUILocalizeStrings.Load(GUI.Library.GUILocalizeStrings.CurrentLanguage()); - // indicates if a plugin has its own setup screen - public bool HasSetup() - { - return false; - } + bool result = Load(GUIGraphicsContext.Skin + @"\MyConnect4.xml"); + if (ah == null) ah = new OnActionHandler(OnAction2); - /// <summary> - /// If the plugin should have its own button on the main menu of MediaPortal then it - /// should return true to this method, otherwise if it should not be on home - /// it should return false - /// </summary> - /// <param name="strButtonText">text the button should have</param> - /// <param name="strButtonImage">image for the button, or empty for default</param> - /// <param name="strButtonImageFocus">image for the button, or empty for default</param> - /// <param name="strPictureImage">subpicture for the button or empty for none</param> - /// <returns>true : plugin needs its own button on home - /// false : plugin does not need its own button on home</returns> + return result; + } - public bool GetHome(out string strButtonText, out string strButtonImage, out string strButtonImageFocus, out string strPictureImage) - { - strButtonText = PluginName(); - strButtonImage = String.Empty; - strButtonImageFocus = String.Empty; - strPictureImage = "hover_my connect4.png"; - return true; - } + #region Actions + public override void OnAction(Action action) + { + base.OnAction(action); + } + public void OnAction2(Action action) + { - #endregion + if (GUIWindowManager.ActiveWindowEx == (int)GUIWindow.Window.WINDOW_DIALOG_MENU) return; - public override int GetID + //string t = action.wID.ToString(); + //GUIPropertyManager.SetProperty("#Round", t); + + if ((Player == 1) | (Player == 2 && Mode == "2p")) { - get - { - return 22031969; - } - set - { - base.GetID = value; - } + switch (action.wID) + { + case Action.ActionType.ACTION_MOVE_LEFT: + + break; + case Action.ActionType.ACTION_MOVE_RIGHT: + + break; + case Action.ActionType.ACTION_SELECT_ITEM: + + break; + default: + break; + } } - - public override bool Init() - { - bool result = Load(GUIGraphicsContext.Skin + @"\MyConnect4.xml"); - if (ah == null) ah = new OnActionHandler(OnAction2); - return result; - } + } + #endregion - #region Actions - public override void OnAction(Action action) - { - base.OnAction(action); - } - public void OnAction2(Action action) - { + public override bool OnMessage(GUIMessage message) + { + return base.OnMessage(message); + } - if (GUIWindowManager.ActiveWindowEx == (int)GUIWindow.Window.WINDOW_DIALOG_MENU) return; + public void Dispose() + { + _Game.Stop(); + _Game.Tick -= new EventHandler(_Game_Tick); + } - //string t = action.wID.ToString(); - //GUIPropertyManager.SetProperty("#Round", t); + protected override void OnPageLoad() + { + _Game.Interval = 300; + _Game.Tick += new EventHandler(_Game_Tick); + _Game.Start(); - if ((Player == 1) | (Player == 2 && Mode == "2p")) - { - switch (action.wID) - { - case Action.ActionType.ACTION_MOVE_LEFT: - - break; - case Action.ActionType.ACTION_MOVE_RIGHT : - - break; - case Action.ActionType.ACTION_SELECT_ITEM : - - break; - default: - break; - } - } - } - #endregion + Player = 0; + Level = "Nor"; + Mode = "1p"; + AI = 5; - public override bool OnMessage(GUIMessage message) - { - return base.OnMessage(message); - } + GUIControl.SetControlLabel(GetID, 11, MyConnect.GUILocalizeStrings.Get(0)); // My Connect 4 + GUIControl.SetControlLabel(GetID, BtnStart.GetID, MyConnect.GUILocalizeStrings.Get(1)); // Start + GUIControl.SetControlLabel(GetID, BtnWhatsThis.GetID, MyConnect.GUILocalizeStrings.Get(31)); // What is Connect4? - public void Dispose() - { - _Game.Stop(); - _Game.Tick -= new EventHandler(_Game_Tick); - } + GUIPropertyManager.SetProperty("#Status", " "); + GUIControl.SetControlLabel(GetID, BtnLevel.GetID, MyConnect.GUILocalizeStrings.Get(12)); // Level: Normal + GUIControl.SetControlLabel(GetID, BtnMode.GetID, MyConnect.GUILocalizeStrings.Get(21)); // Mode: Play vs Comp - protected override void OnPageLoad() - { - _Game.Interval = 300; - _Game.Tick += new EventHandler(_Game_Tick); - _Game.Start(); + // Disable level selection + GUIControl.DisableControl(GetID, 4); - Player = 0; - Level = "Nor"; - Mode = "1p"; - AI = 5; + RelButtons(); - GUIPropertyManager.SetProperty("#Status", " "); - GUIControl.SetControlLabel(GetID, BtnLevel.GetID, "Level: Normal"); - GUIControl.SetControlLabel(GetID, BtnMode.GetID, "Mode: Play vs Comp"); - - // Disable level selection - GUIControl.DisableControl(GetID, 4); + GUIGraphicsContext.OnNewAction -= ah; + GUIGraphicsContext.OnNewAction += ah; - RelButtons(); + base.OnPageLoad(); - GUIGraphicsContext.OnNewAction -= ah; - GUIGraphicsContext.OnNewAction += ah; + this.gameEngine = null; + this.gameEngine = new Engine(7, 6, 4); - base.OnPageLoad(); + Drawfield(); - this.gameEngine = null; - this.gameEngine = new Engine(7, 6, 4); + } - Drawfield (); - - } + protected override void OnPageDestroy(int new_windowId) + { + _Game.Stop(); + _Game.Tick -= new EventHandler(_Game_Tick); + } - protected override void OnPageDestroy(int new_windowId) - { - _Game.Stop(); - _Game.Tick -= new EventHandler(_Game_Tick); - } + protected override void OnClicked(int controlId, GUIControl control, MediaPortal.GUI.Library.Action.ActionType actionType) + { + if (control == BtnLevel) + OnBtnLevel(); + if (control == BtnMode) + OnBtnMode(); + if (control == BtnWhatsThis) + OnBtnWhatsThis(); + if (control == BtnStart) + { //start game - protected override void OnClicked(int controlId, GUIControl control, MediaPortal.GUI.Library.Action.ActionType actionType) - { - if (control == BtnLevel) - OnBtnLevel(); - if (control == BtnMode) - OnBtnMode(); - if (control == BtnWhatsThis) - OnBtnWhatsThis(); - if (control == BtnStart) - { //start game + if (Player == 0 && wait == 0) + { + Player = 1; + round = 0; + GUIPropertyManager.SetProperty("#Status", " "); - if (Player == 0 && wait==0) - { - Player = 1; - round = 0; - GUIPropertyManager.SetProperty("#Status", " "); + // Disable start button + GUIControl.DisableControl(GetID, 2); + // Disable level selection + GUIControl.DisableControl(GetID, 3); + // Disable mode selection + GUIControl.DisableControl(GetID, 4); - // Disable start button - GUIControl.DisableControl(GetID, 2); - // Disable level selection - GUIControl.DisableControl(GetID, 3); - // Disable mode selection - GUIControl.DisableControl(GetID, 4); + this.gameEngine = null; + this.gameEngine = new Engine(7, 6, 4); - this.gameEngine = null; - this.gameEngine = new Engine(7, 6, 4); + Drawfield(); - Drawfield(); - - wait = 2; - GUIControl.FocusControl(GetID, 15); - } - } - if ((Player==1)|(Player==2 && Mode=="2p")) - { - - if ((controlId >= 301) && (controlId <= 307)) - { - //which button has clicked ? - int col = controlId - 301; - - PlayerClick(col); - wait = 2; - } - } - base.OnClicked(controlId, control, actionType); + wait = 2; + GUIControl.FocusControl(GetID, 15); + } } + if ((Player == 1) | (Player == 2 && Mode == "2p")) + { - protected override void OnShowContextMenu() - { - base.OnShowContextMenu(); - } + if ((controlId >= 301) && (controlId <= 307)) + { + //which button has clicked ? + int col = controlId - 301; - private void OnBtnLevel() - { //Choose level for the game - if (Player==0) - { - if (Level == "Nor") - { - GUIControl.SetControlLabel(GetID, BtnLevel.GetID, "Level: Professional"); - Level = "Pro"; - AI = 8; - } - else if (Level == "Pro") - { - GUIControl.SetControlLabel(GetID, BtnLevel.GetID, "Level: Amateur"); - Level = "Am"; - AI = 3; - } - else - { - GUIControl.SetControlLabel(GetID, BtnLevel.GetID, "Level: Normal"); - Level = "Nor"; - AI = 5; - } - } + PlayerClick(col); + wait = 2; + } } + base.OnClicked(controlId, control, actionType); + } - private void OnBtnMode() - { //Choose mode for the game - if (Player == 0) - { - if (Mode == "2p") - { - GUIControl.SetControlLabel(GetID, BtnMode.GetID, "Mode: Play vs Comp"); - Mode = "1p"; - // Enable level selection - GUIControl.EnableControl(GetID, 4); - } - else - { - GUIControl.SetControlLabel(GetID, BtnMode.GetID, "Mode: Play vs Player"); - Mode = "2p"; - // Disable level selection - GUIControl.DisableControl(GetID, 4); - } - } - } + protected override void OnShowContextMenu() + { + base.OnShowContextMenu(); + } - private void OnBtnWhatsThis() + private void OnBtnLevel() + { //Choose level for the game + if (Player == 0) { - GUIDialogText dlg = (GUIDialogText)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_TEXT); - dlg.SetHeading("What's Connect 4 (Vier gewinnt)"); - dlg.SetText("Connect 4 is a game where your object is to get 4 tokens in a row.\n" + - "This could be vertically, horizontal or diagonally.\n\n" + - "Gameboard design by Mikael S\xF6derstr\xF6m.\n\n" + - "AI code has been taken from http://www.Planet-Source-Code.com\n\n" + - "Good luck\nMark Koenig (kroko)"); - dlg.DoModal(GetID); + if (Level == "Nor") + { + GUIControl.SetControlLabel(GetID, BtnLevel.GetID, MyConnect.GUILocalizeStrings.Get(13)); // Level: Professional + Level = "Pro"; + AI = 8; + } + else if (Level == "Pro") + { + GUIControl.SetControlLabel(GetID, BtnLevel.GetID, MyConnect.GUILocalizeStrings.Get(11)); // Level: Amateur + Level = "Am"; + AI = 3; + } + else + { + GUIControl.SetControlLabel(GetID, BtnLevel.GetID, MyConnect.GUILocalizeStrings.Get(12)); // Level: Normal + Level = "Nor"; + AI = 5; + } } + } - private void Drawfield() - { // draw all fields + private void OnBtnMode() + { //Choose mode for the game + if (Player == 0) + { + if (Mode == "2p") + { + GUIControl.SetControlLabel(GetID, BtnMode.GetID, MyConnect.GUILocalizeStrings.Get(21)); // Mode: Play vs Comp + Mode = "1p"; + // Enable level selection + GUIControl.EnableControl(GetID, 4); + } + else + { + GUIControl.SetControlLabel(GetID, BtnMode.GetID, MyConnect.GUILocalizeStrings.Get(22)); // Mode: Play vs Player + Mode = "2p"; + // Disable level selection + GUIControl.DisableControl(GetID, 4); + } + } + } - int[,] Myboard = gameEngine.getBoard(); - - for (int i = 0; i < 7; i++) - { - for (int j = 0; j < 6; j++) - { - string prop = "#Con_" + (6-j) + "_" + (i+1); + private void OnBtnWhatsThis() + { + GUIDialogText dlg = (GUIDialogText)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_TEXT); + dlg.SetHeading(MyConnect.GUILocalizeStrings.Get(31)); // help dialog heading + dlg.SetText(MyConnect.GUILocalizeStrings.Get(32)); // help dialog text + dlg.DoModal(GetID); + } - if (Myboard[i, j] == 2) - GUIPropertyManager.SetProperty(prop, "MyConn4Wh.png"); - if (Myboard[i, j] == 0) - GUIPropertyManager.SetProperty(prop, "MyConn4Ye.png"); - if (Myboard[i, j] == 1) - GUIPropertyManager.SetProperty(prop, "MyConn4Rd.png"); - if (Myboard[i, j] > 2) - GUIPropertyManager.SetProp... [truncated message content] |
From: <sa...@us...> - 2007-05-23 16:46:19
|
Revision: 421 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=421&view=rev Author: saamand Date: 2007-05-23 09:45:51 -0700 (Wed, 23 May 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/MyLyrics/My Lyrics/DatabaseUtil.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.cs trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup_LyricsLibrary.cs trunk/plugins/MyLyrics/MyLyrics.suo Modified: trunk/plugins/MyLyrics/My Lyrics/DatabaseUtil.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/DatabaseUtil.cs 2007-05-23 16:10:27 UTC (rev 420) +++ trunk/plugins/MyLyrics/My Lyrics/DatabaseUtil.cs 2007-05-23 16:45:51 UTC (rev 421) @@ -126,7 +126,7 @@ public static void SerializeLyricDB() { - string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsDBName); + string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsDBName); using (FileStream fs = new FileStream(path, FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); @@ -138,7 +138,7 @@ public static void SerializeLyricMarkedDB() { - string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); + string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); using (FileStream fs = new FileStream(path, FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs 2007-05-23 16:10:27 UTC (rev 420) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs 2007-05-23 16:45:51 UTC (rev 421) @@ -354,13 +354,13 @@ // Deserialize lyrics and marked database, and save references in LyricsDB try { - string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, LyricsDBName); + string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, LyricsDBName); FileStream fs = new FileStream(path, FileMode.Open); BinaryFormatter bf = new BinaryFormatter(); LyricsDB = (LyricsDatabase)bf.Deserialize(fs); fs.Close(); - path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, LyricsMarkedDBName); + path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, LyricsMarkedDBName); fs = new FileStream(path, FileMode.Open); LyricsMarkedDB = (LyricsDatabase)bf.Deserialize(fs); fs.Close(); @@ -391,7 +391,7 @@ LoadSettings(); - LyricDiagnostics.OpenLog(MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Log, logName)); + LyricDiagnostics.OpenLog(MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Log, logName)); LyricDiagnostics.TraceSource.TraceEvent(TraceEventType.Start, 0, LyricDiagnostics.ElapsedTimeString() + "MyLyrics opens."); return true; } @@ -757,7 +757,7 @@ LyricsItem item = new LyricsItem(artist, title, lyricAsString, "LRC-editor screen"); LyricsDB[DatabaseUtil.CorrectKeyFormat(artist, title)] = item; - string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, LyricsDBName); + string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, LyricsDBName); using (FileStream fs = new FileStream(path, FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); @@ -868,7 +868,7 @@ { LyricsDB.Add(DatabaseUtil.CorrectKeyFormat(capArtist, capTitle), new LyricsItem(capArtist, capTitle, m_LyricText, site)); - string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, LyricsDBName); + string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, LyricsDBName); using (FileStream fs = new FileStream(path, FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); @@ -882,7 +882,7 @@ { LyricsMarkedDB.Remove(DatabaseUtil.CorrectKeyFormat(capArtist, capTitle)); - string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, LyricsMarkedDBName); + string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, LyricsMarkedDBName); using (FileStream fs = new FileStream(path, FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.cs 2007-05-23 16:10:27 UTC (rev 420) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.cs 2007-05-23 16:45:51 UTC (rev 421) @@ -105,8 +105,8 @@ public MyLyricsSetup() { - LyricDiagnostics.OpenLog(MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Log, MyLyricsSettings.LogName)); - //LyricDiagnostics.OpenLog(MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Log)); + LyricDiagnostics.OpenLog(MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Log, MyLyricsSettings.LogName)); + //LyricDiagnostics.OpenLog(MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Log)); #region Initialize GUI and class InitializeComponent(); @@ -162,7 +162,7 @@ #endregion #region Serialzie/deserialize lyricsdatabases - string lyricsXMLpath = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Base, MyLyricsSettings.LyricsXMLName); + string lyricsXMLpath = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Base, MyLyricsSettings.LyricsXMLName); FileInfo lyricsXMLfileInfo = new FileInfo(lyricsXMLpath); @@ -170,7 +170,7 @@ if (lyricsXMLfileInfo.Exists) { - string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsDBName); + string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsDBName); FileInfo fileInfo = new FileInfo(path); // .. but only if it hasn't already been converted @@ -192,7 +192,7 @@ fs.Close(); // Create likewise a database for the remainingLyrics - path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); + path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); fs = new FileStream(path, FileMode.Create); MyLyricsSettings.LyricsMarkedDB = new LyricsDatabase(); bf.Serialize(fs, MyLyricsSettings.LyricsMarkedDB); @@ -212,13 +212,13 @@ // If no Lyrics.xml present in base, then create new serialized databases else { - string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsDBName); + string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsDBName); FileInfo fileInfo = new FileInfo(path); // .. but only if the databases hasn't been created if (fileInfo.Exists == false) { - path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsDBName); + path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsDBName); // Serialize empty LyricsDatabase if no lyrics.xml present FileStream fs = new FileStream(path, FileMode.Create); @@ -228,7 +228,7 @@ fs.Close(); // Serialize empty LyricsMarkedDatabase - path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); + path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); fs = new FileStream(path, FileMode.Create); MyLyricsSettings.LyricsMarkedDB = new LyricsDatabase(); bf.Serialize(fs, MyLyricsSettings.LyricsMarkedDB); @@ -822,7 +822,7 @@ private void DeserializeBothDB() { - string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsDBName); + string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsDBName); // Open database to read data from FileStream fs = new FileStream(path, FileMode.Open); @@ -835,7 +835,7 @@ fs.Close(); // Deserialize LyricsRemainingDatabase - path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); + path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); fs = new FileStream(path, FileMode.Open); MyLyricsSettings.LyricsMarkedDB = (LyricsDatabase)bf.Deserialize(fs); Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup_LyricsLibrary.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup_LyricsLibrary.cs 2007-05-23 16:10:27 UTC (rev 420) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup_LyricsLibrary.cs 2007-05-23 16:45:51 UTC (rev 421) @@ -628,7 +628,7 @@ { if (MessageBox.Show(this, "Are you sure the Lyrics database should be deleted?", "Delete Lyrics database", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { - string path = MediaPortal.Util.Config.GetFolder(MediaPortal.Util.Config.Dir.Database) + "\\" + MyLyricsSettings.LyricsDBName; + string path = MediaPortal.Configuration.Config.GetFolder(MediaPortal.Configuration.Config.Dir.Database) + "\\" + MyLyricsSettings.LyricsDBName; FileStream fs = new FileStream(path, FileMode.Create); BinaryFormatter bf = new BinaryFormatter(); MyLyricsSettings.LyricsDB = new LyricsDatabase(); @@ -647,7 +647,7 @@ { if (MessageBox.Show(this, "Are you sure you want to delete the database with marked titles?", "Delete title database", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { - string path = MediaPortal.Util.Config.GetFolder(MediaPortal.Util.Config.Dir.Database) + "\\" + MyLyricsSettings.LyricsMarkedDBName; + string path = MediaPortal.Configuration.Config.GetFolder(MediaPortal.Configuration.Config.Dir.Database) + "\\" + MyLyricsSettings.LyricsMarkedDBName; FileStream fs = new FileStream(path, FileMode.Create); BinaryFormatter bf = new BinaryFormatter(); MyLyricsSettings.LyricsMarkedDB = new LyricsDatabase(); Modified: trunk/plugins/MyLyrics/MyLyrics.suo =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2007-05-23 16:10:33
|
Revision: 420 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=420&view=rev Author: saamand Date: 2007-05-23 09:10:27 -0700 (Wed, 23 May 2007) Log Message: ----------- Added Paths: ----------- trunk/plugins/MyLyrics/My Lyrics/MyLyricsExternCode.cs Added: trunk/plugins/MyLyrics/My Lyrics/MyLyricsExternCode.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyricsExternCode.cs (rev 0) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyricsExternCode.cs 2007-05-23 16:10:27 UTC (rev 420) @@ -0,0 +1,335 @@ +using System; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Runtime.Serialization; +using System.Runtime.Serialization.Formatters.Binary; +using System.Text; +using System.Collections.Generic; +using System.Timers; + +using LyricsEngine; + +using MediaPortal.GUI.Library; +using MediaPortal.Dialogs; +using MediaPortal.Player; +using MediaPortal.TagReader; +using MediaPortal.Music.Database; +using MediaPortal.Playlists; +using MediaPortal.Util; +using MediaPortal.GUI.Music; + +using System.Collections; + +namespace MyLyrics +{ + public partial class GUIMyLyrics : GUIWindow, ILyricForm, ISetupForm + { + public void getAlbumArt() + { + ImagePathContainer.Clear(); + CurrentTrackFileName = g_Player.CurrentFile; + GetTrackTags(); + + CurrentThumbFileName = GUIMusicFiles.GetCoverArt(false, CurrentTrackFileName, CurrentTrackTag); + if (CurrentThumbFileName.Length > 0) + { + // let us test if there is a larger cover art image + string strLarge = MediaPortal.Util.Utils.ConvertToLargeCoverArt(CurrentThumbFileName); + if (System.IO.File.Exists(strLarge)) + CurrentThumbFileName = strLarge; + AddImageToImagePathContainer(CurrentThumbFileName); + } + + CurrentThumbFileName = GUIMusicFiles.GetArtistCoverArtName(CurrentTrackTag.Artist); + if (CurrentThumbFileName.Length > 0) + { + // let us test if there is a larger cover art image + string strLarge = MediaPortal.Util.Utils.ConvertToLargeCoverArt(CurrentThumbFileName); + if (System.IO.File.Exists(strLarge)) + CurrentThumbFileName = strLarge; + AddImageToImagePathContainer(CurrentThumbFileName); + } + + UpdateImagePathContainer(); + } + + private void UpdateTrackPosition() + { + double trackDuration = g_Player.Duration; + double curTrackPostion = g_Player.CurrentPosition; + + int progPrecent = (int)(curTrackPostion / trackDuration * 100d); + + this.GUIelement_ProgTrack.Percentage = progPrecent; + GUIelement_ProgTrack.Visible = GUIelement_ProgTrack.Percentage > 0; + } + + private void OnImageTimerTickEvent(object trash_, ElapsedEventArgs args_) + { + FlipPictures(); + } + + private void FlipPictures() + { + //// Check if we should let the visualization window handle image flipping + //if (_usingBassEngine && _showVisualization) + // return; + + if (GUIelement_ImgCoverArt != null) + { + GUIelement_ImgCoverArt.FreeResources(); + if (ImagePathContainer.Count > 0) + { + if (ImagePathContainer.Count > 1) + { + int currentImage = 0; + // get the next image + foreach (string image in ImagePathContainer) + { + currentImage++; + if (GUIelement_ImgCoverArt.FileName == image) + break; + } + if (currentImage < ImagePathContainer.Count) + GUIelement_ImgCoverArt.SetFileName(ImagePathContainer[currentImage]); + else + // start loop again + GUIelement_ImgCoverArt.SetFileName(ImagePathContainer[0]); + } + else + GUIelement_ImgCoverArt.SetFileName(ImagePathContainer[0]); + } + GUIelement_ImgCoverArt.AllocResources(); + } + } + + + private void GetTrackTags() + { + bool isCurSongCdTrack = IsCdTrack(CurrentTrackFileName); + bool isNextSongCdTrack = IsCdTrack(NextTrackFileName); + MusicDatabase dbs = new MusicDatabase(); + + if (CurrentTrackTag != null) + PreviousTrackTag = CurrentTrackTag; + + if (!isCurSongCdTrack) + CurrentTrackTag = GetTrackTag(dbs, CurrentTrackFileName, UseID3); + + if (!isNextSongCdTrack) + NextTrackTag = GetTrackTag(dbs, NextTrackFileName, UseID3); + + if (isCurSongCdTrack || isNextSongCdTrack) + { + PlayList curPlaylist = PlaylistPlayer.GetPlaylist(PlayListType.PLAYLIST_MUSIC); + + int iCurItemIndex = PlaylistPlayer.CurrentSong; + PlayListItem curPlaylistItem = curPlaylist[iCurItemIndex]; + + if (curPlaylistItem == null) + { + CurrentTrackTag = null; + NextTrackTag = null; + return; + } + + int playListItemCount = curPlaylist.Count; + int nextItemIndex = 0; + + if (iCurItemIndex < playListItemCount - 1) + nextItemIndex = iCurItemIndex + 1; + + PlayListItem nextPlaylistItem = curPlaylist[nextItemIndex]; + + if (isCurSongCdTrack) + CurrentTrackTag = (MusicTag)curPlaylistItem.MusicTag; + + if (isNextSongCdTrack && nextPlaylistItem != null) + NextTrackTag = (MusicTag)nextPlaylistItem.MusicTag; + + // There's no MusicTag info in the Playlist so check is we have a valid + // GUIMusicFiles.MusicCD object + if ((CurrentTrackTag == null || NextTrackTag == null) && GUIMusicFiles.MusicCD != null) + { + int curCDTrackNum = GetCDATrackNumber(CurrentTrackFileName); + int nextCDTrackNum = GetCDATrackNumber(NextTrackFileName); + + if (curCDTrackNum < GUIMusicFiles.MusicCD.Tracks.Length) + { + MediaPortal.Freedb.CDTrackDetail curTrack = GUIMusicFiles.MusicCD.getTrack(curCDTrackNum); + CurrentTrackTag = GetTrackTag(curTrack); + } + if (nextCDTrackNum < GUIMusicFiles.MusicCD.Tracks.Length) + { + MediaPortal.Freedb.CDTrackDetail nextTrack = GUIMusicFiles.MusicCD.getTrack(nextCDTrackNum); + NextTrackTag = GetTrackTag(nextTrack); + } + } + } + } + + private bool IsCdTrack(string fileName) + { + return System.IO.Path.GetExtension(CurrentTrackFileName).ToLower() == ".cda"; + } + + int GetCDATrackNumber(string strFile) + { + string strTrack = string.Empty; + int pos = strFile.IndexOf(".cda"); + if (pos >= 0) + { + pos--; + while (Char.IsDigit(strFile[pos]) && pos > 0) + { + strTrack = strFile[pos] + strTrack; + pos--; + } + } + + try + { + int iTrack = Convert.ToInt32(strTrack); + return iTrack; + } + catch (Exception) + { + } + + return 1; + } + + private MusicTag GetTrackTag(MediaPortal.Freedb.CDTrackDetail cdTrack) + { + if (GUIMusicFiles.MusicCD == null) + return null; + MusicTag tag = new MusicTag(); + tag.Artist = GUIMusicFiles.MusicCD.Artist; + tag.Album = GUIMusicFiles.MusicCD.Title; + tag.Genre = GUIMusicFiles.MusicCD.Genre; + tag.Year = GUIMusicFiles.MusicCD.Year; + tag.Duration = cdTrack.Duration; + tag.Title = cdTrack.Title; + return tag; + } + + private MusicTag GetTrackTag(MusicDatabase dbs, string strFile, bool useID3) + { + MusicTag tag = null; + Song song = new Song(); + bool bFound = dbs.GetSongByFileName(strFile, ref song); + if (!bFound) + { + if (useID3) + tag = TagReader.ReadTag(strFile); + } + else + { + tag = new MusicTag(); + tag = BuildMusicTagFromSong(song); + } + return tag; + } + + private MusicTag BuildMusicTagFromSong(Song Song_) + { + MusicTag tmpTag = new MusicTag(); + + tmpTag.Title = Song_.Title; + tmpTag.Album = Song_.Album; + tmpTag.Artist = Song_.Artist; + tmpTag.Duration = Song_.Duration; + tmpTag.Genre = Song_.Genre; + tmpTag.Track = Song_.Track; + tmpTag.Year = Song_.Year; + tmpTag.Rating = Song_.Rating; + + return tmpTag; + } + + + private void UpdateImagePathContainer() + { + if (ImagePathContainer.Count <= 0) + { + try + { + GUIelement_ImgCoverArt.SetFileName(GUIGraphicsContext.Skin + @"\media\missing_coverart.png"); + } + catch (Exception ex) + { + Log.Debug("GUIMusicPlayingNow: could not set default image - {0}", ex.Message); + } + } + + if (g_Player.Duration > 0 && ImagePathContainer.Count > 1) + // ImageChangeTimer.Interval = (g_Player.Duration * 1000) / (ImagePathContainer.Count * 8); // change each cover 8x + ImageChangeTimer.Interval = 15 * 1000; // change covers every 15 seconds + else + ImageChangeTimer.Interval = 3600 * 1000; + + ImageChangeTimer.Stop(); + ImageChangeTimer.Start(); + } + + private bool AddImageToImagePathContainer(string newImage) + { + lock (_imageMutex) + { + string ImagePath = Convert.ToString(newImage); + if (ImagePath.IndexOf(@"missing_coverart") > 0)// && (ImagePathContainer.Count > 0)) + { + Log.Debug("GUIMusicPlayingNow: Found placeholder - not inserting image {0}", ImagePath); + return false; + } + + bool success = false; + if (ImagePathContainer != null) + { + if (ImagePathContainer.Contains(ImagePath)) + return false; + + //// check for placeholder + //int indexDel = 0; + //bool found = false; + //foreach (string pic in ImagePathContainer) + //{ + // indexDel++; + // if (pic.IndexOf("missing_coverart.png") > 0) + // { + // found = true; + // break; + // } + //} + //if (found) + // ImagePathContainer.RemoveAt(indexDel - 1); + + if (System.IO.File.Exists(ImagePath)) + { + try + { + Log.Debug("GUIMusicPlayingNow: adding image to container - {0}", ImagePath); + ImagePathContainer.Add(ImagePath); + success = true; + } + catch (Exception ex) + { + Log.Error("GUIMusicPlayingNow: error adding image ({0}) - {1}", ImagePath, ex.Message); + } + + // display the first pic automatically + if (ImagePathContainer.Count == 1) + FlipPictures(); + } + } + + return success; + } + } + + + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2007-05-23 15:45:02
|
Revision: 419 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=419&view=rev Author: saamand Date: 2007-05-23 08:44:40 -0700 (Wed, 23 May 2007) Log Message: ----------- Removed file/folder Removed Paths: ------------- trunk/plugins/README.txt trunk/plugins/format Deleted: trunk/plugins/README.txt =================================================================== --- trunk/plugins/README.txt 2007-05-23 15:44:03 UTC (rev 418) +++ trunk/plugins/README.txt 2007-05-23 15:44:40 UTC (rev 419) @@ -1,5 +0,0 @@ -This is a Subversion repository; use the 'svnadmin' tool to examine -it. Do not add, delete, or modify files here unless you know how -to avoid corrupting the repository. - -Visit http://subversion.tigris.org/ for more information. Deleted: trunk/plugins/format =================================================================== --- trunk/plugins/format 2007-05-23 15:44:03 UTC (rev 418) +++ trunk/plugins/format 2007-05-23 15:44:40 UTC (rev 419) @@ -1 +0,0 @@ -5 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2007-05-23 15:44:14
|
Revision: 418 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=418&view=rev Author: saamand Date: 2007-05-23 08:44:03 -0700 (Wed, 23 May 2007) Log Message: ----------- Removed file/folder Removed Paths: ------------- trunk/plugins/conf/ trunk/plugins/dav/ trunk/plugins/db/ trunk/plugins/hooks/ trunk/plugins/locks/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2007-05-23 15:43:07
|
Revision: 417 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=417&view=rev Author: saamand Date: 2007-05-23 08:42:30 -0700 (Wed, 23 May 2007) Log Message: ----------- Removed file/folder Removed Paths: ------------- trunk/plugins/mylyrics/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2007-05-23 15:30:49
|
Revision: 416 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=416&view=rev Author: saamand Date: 2007-05-23 08:30:36 -0700 (Wed, 23 May 2007) Log Message: ----------- Added Paths: ----------- trunk/plugins/README.txt trunk/plugins/conf/ trunk/plugins/conf/authz trunk/plugins/conf/passwd trunk/plugins/conf/svnserve.conf trunk/plugins/dav/ trunk/plugins/db/ trunk/plugins/db/current trunk/plugins/db/format trunk/plugins/db/fs-type trunk/plugins/db/revprops/ trunk/plugins/db/revprops/0 trunk/plugins/db/revs/ trunk/plugins/db/revs/0 trunk/plugins/db/transactions/ trunk/plugins/db/uuid trunk/plugins/db/write-lock trunk/plugins/format trunk/plugins/hooks/ trunk/plugins/hooks/post-commit.tmpl trunk/plugins/hooks/post-lock.tmpl trunk/plugins/hooks/post-revprop-change.tmpl trunk/plugins/hooks/post-unlock.tmpl trunk/plugins/hooks/pre-commit.tmpl trunk/plugins/hooks/pre-lock.tmpl trunk/plugins/hooks/pre-revprop-change.tmpl trunk/plugins/hooks/pre-unlock.tmpl trunk/plugins/hooks/start-commit.tmpl trunk/plugins/locks/ trunk/plugins/locks/db-logs.lock trunk/plugins/locks/db.lock Added: trunk/plugins/README.txt =================================================================== --- trunk/plugins/README.txt (rev 0) +++ trunk/plugins/README.txt 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,5 @@ +This is a Subversion repository; use the 'svnadmin' tool to examine +it. Do not add, delete, or modify files here unless you know how +to avoid corrupting the repository. + +Visit http://subversion.tigris.org/ for more information. Added: trunk/plugins/conf/authz =================================================================== --- trunk/plugins/conf/authz (rev 0) +++ trunk/plugins/conf/authz 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,21 @@ +### This file is an example authorization file for svnserve. +### Its format is identical to that of mod_authz_svn authorization +### files. +### As shown below each section defines authorizations for the path and +### (optional) repository specified by the section name. +### The authorizations follow. An authorization line can refer to a +### single user, to a group of users defined in a special [groups] +### section, or to anyone using the '*' wildcard. Each definition can +### grant read ('r') access, read-write ('rw') access, or no access +### (''). + +[groups] +# harry_and_sally = harry,sally + +# [/foo/bar] +# harry = rw +# * = + +# [repository:/baz/fuz] +# @harry_and_sally = rw +# * = r Added: trunk/plugins/conf/passwd =================================================================== --- trunk/plugins/conf/passwd (rev 0) +++ trunk/plugins/conf/passwd 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,8 @@ +### This file is an example password file for svnserve. +### Its format is similar to that of svnserve.conf. As shown in the +### example below it contains one section labelled [users]. +### The name and password for each user follow, one account per line. + +[users] +# harry = harryssecret +# sally = sallyssecret Added: trunk/plugins/conf/svnserve.conf =================================================================== --- trunk/plugins/conf/svnserve.conf (rev 0) +++ trunk/plugins/conf/svnserve.conf 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,30 @@ +### This file controls the configuration of the svnserve daemon, if you +### use it to allow access to this repository. (If you only allow +### access through http: and/or file: URLs, then this file is +### irrelevant.) + +### Visit http://subversion.tigris.org/ for more information. + +[general] +### These options control access to the repository for unauthenticated +### and authenticated users. Valid values are "write", "read", +### and "none". The sample settings below are the defaults. +# anon-access = read +# auth-access = write +### The password-db option controls the location of the password +### database file. Unless you specify a path starting with a /, +### the file's location is relative to the conf directory. +### Uncomment the line below to use the default password file. +# password-db = passwd +### The authz-db option controls the location of the authorization +### rules for path-based access control. Unless you specify a path +### starting with a /, the file's location is relative to the conf +### directory. If you don't specify an authz-db, no path-based access +### control is done. +### Uncomment the line below to use the default authorization file. +# authz-db = authz +### This option specifies the authentication realm of the repository. +### If two repositories have the same authentication realm, they should +### have the same password database, and vice versa. The default realm +### is repository's uuid. +# realm = My First Repository Added: trunk/plugins/db/current =================================================================== --- trunk/plugins/db/current (rev 0) +++ trunk/plugins/db/current 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1 @@ +0 1 1 Added: trunk/plugins/db/format =================================================================== --- trunk/plugins/db/format (rev 0) +++ trunk/plugins/db/format 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1 @@ +2 Added: trunk/plugins/db/fs-type =================================================================== --- trunk/plugins/db/fs-type (rev 0) +++ trunk/plugins/db/fs-type 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1 @@ +fsfs Added: trunk/plugins/db/revprops/0 =================================================================== --- trunk/plugins/db/revprops/0 (rev 0) +++ trunk/plugins/db/revprops/0 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,5 @@ +K 8 +svn:date +V 27 +2007-05-23T15:29:51.468750Z +END Added: trunk/plugins/db/revs/0 =================================================================== --- trunk/plugins/db/revs/0 (rev 0) +++ trunk/plugins/db/revs/0 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,11 @@ +PLAIN +END +ENDREP +id: 0.0.r0/17 +type: dir +count: 0 +text: 0 0 4 4 2d2977d1c96f487abe4a1e202dd03b4e +cpath: / + + +17 107 Added: trunk/plugins/db/uuid =================================================================== --- trunk/plugins/db/uuid (rev 0) +++ trunk/plugins/db/uuid 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1 @@ +6c8b92d6-5249-d34a-a8da-dab726210609 Added: trunk/plugins/db/write-lock =================================================================== Added: trunk/plugins/format =================================================================== --- trunk/plugins/format (rev 0) +++ trunk/plugins/format 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1 @@ +5 Added: trunk/plugins/hooks/post-commit.tmpl =================================================================== --- trunk/plugins/hooks/post-commit.tmpl (rev 0) +++ trunk/plugins/hooks/post-commit.tmpl 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,51 @@ +#!/bin/sh + +# POST-COMMIT HOOK +# +# The post-commit hook is invoked after a commit. Subversion runs +# this hook by invoking a program (script, executable, binary, etc.) +# named 'post-commit' (for which this file is a template) with the +# following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] REV (the number of the revision just committed) +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# Because the commit has already completed and cannot be undone, +# the exit code of the hook program is ignored. The hook program +# can use the 'svnlook' utility to help it examine the +# newly-committed tree. +# +# On a Unix system, the normal procedure is to have 'post-commit' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'post-commit' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'post-commit.bat' or 'post-commit.exe', +# but the basic idea is the same. +# +# The hook program typically does not inherit the environment of +# its parent process. For example, a common problem is for the +# PATH environment variable to not be set to its usual value, so +# that subprograms fail to launch unless invoked via absolute path. +# If you're having unexpected problems with a hook program, the +# culprit may be unusual (or missing) environment variables. +# +# Here is an example hook script, for a Unix /bin/sh interpreter. +# For more examples and pre-written hooks, see those in +# the Subversion repository at +# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and +# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/ + + +REPOS="$1" +REV="$2" + +commit-email.pl "$REPOS" "$REV" com...@ex... +log-commit.py --repository "$REPOS" --revision "$REV" Added: trunk/plugins/hooks/post-lock.tmpl =================================================================== --- trunk/plugins/hooks/post-lock.tmpl (rev 0) +++ trunk/plugins/hooks/post-lock.tmpl 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,44 @@ +#!/bin/sh + +# POST-LOCK HOOK +# +# The post-lock hook is run after a path is locked. Subversion runs +# this hook by invoking a program (script, executable, binary, etc.) +# named 'post-lock' (for which this file is a template) with the +# following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] USER (the user who created the lock) +# +# The paths that were just locked are passed to the hook via STDIN (as +# of Subversion 1.2, only one path is passed per invocation, but the +# plan is to pass all locked paths at once, so the hook program +# should be written accordingly). +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# Because the lock has already been created and cannot be undone, +# the exit code of the hook program is ignored. The hook program +# can use the 'svnlook' utility to help it examine the +# newly-created lock. +# +# On a Unix system, the normal procedure is to have 'post-lock' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'post-lock' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'post-lock.bat' or 'post-lock.exe', +# but the basic idea is the same. +# +# Here is an example hook script, for a Unix /bin/sh interpreter: + +REPOS="$1" +USER="$2" + +# Send email to interested parties, let them know a lock was created: +mailer.py lock "$REPOS" "$USER" /path/to/mailer.conf Added: trunk/plugins/hooks/post-revprop-change.tmpl =================================================================== --- trunk/plugins/hooks/post-revprop-change.tmpl (rev 0) +++ trunk/plugins/hooks/post-revprop-change.tmpl 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,56 @@ +#!/bin/sh + +# POST-REVPROP-CHANGE HOOK +# +# The post-revprop-change hook is invoked after a revision property +# has been added, modified or deleted. Subversion runs this hook by +# invoking a program (script, executable, binary, etc.) named +# 'post-revprop-change' (for which this file is a template), with the +# following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] REV (the revision that was tweaked) +# [3] USER (the username of the person tweaking the property) +# [4] PROPNAME (the property that was changed) +# [5] ACTION (the property was 'A'dded, 'M'odified, or 'D'eleted) +# +# [STDIN] PROPVAL ** the old property value is passed via STDIN. +# +# Because the propchange has already completed and cannot be undone, +# the exit code of the hook program is ignored. The hook program +# can use the 'svnlook' utility to help it examine the +# new property value. +# +# On a Unix system, the normal procedure is to have 'post-revprop-change' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'post-revprop-change' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'post-revprop-change.bat' or 'post-revprop-change.exe', +# but the basic idea is the same. +# +# The hook program typically does not inherit the environment of +# its parent process. For example, a common problem is for the +# PATH environment variable to not be set to its usual value, so +# that subprograms fail to launch unless invoked via absolute path. +# If you're having unexpected problems with a hook program, the +# culprit may be unusual (or missing) environment variables. +# +# Here is an example hook script, for a Unix /bin/sh interpreter. +# For more examples and pre-written hooks, see those in +# the Subversion repository at +# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and +# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/ + + +REPOS="$1" +REV="$2" +USER="$3" +PROPNAME="$4" +ACTION="$5" + +propchange-email.pl "$REPOS" "$REV" "$USER" "$PROPNAME" wat...@ex... Added: trunk/plugins/hooks/post-unlock.tmpl =================================================================== --- trunk/plugins/hooks/post-unlock.tmpl (rev 0) +++ trunk/plugins/hooks/post-unlock.tmpl 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,42 @@ +#!/bin/sh + +# POST-UNLOCK HOOK +# +# The post-unlock hook runs after a path is unlocked. Subversion runs +# this hook by invoking a program (script, executable, binary, etc.) +# named 'post-unlock' (for which this file is a template) with the +# following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] USER (the user who destroyed the lock) +# +# The paths that were just unlocked are passed to the hook via STDIN +# (as of Subversion 1.2, only one path is passed per invocation, but +# the plan is to pass all unlocked paths at once, so the hook program +# should be written accordingly). +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# Because the lock has already been destroyed and cannot be undone, +# the exit code of the hook program is ignored. +# +# On a Unix system, the normal procedure is to have 'post-unlock' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'post-unlock' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'post-unlock.bat' or 'post-unlock.exe', +# but the basic idea is the same. +# +# Here is an example hook script, for a Unix /bin/sh interpreter: + +REPOS="$1" +USER="$2" + +# Send email to interested parties, let them know a lock was removed: +mailer.py unlock "$REPOS" "$USER" /path/to/mailer.conf Added: trunk/plugins/hooks/pre-commit.tmpl =================================================================== --- trunk/plugins/hooks/pre-commit.tmpl (rev 0) +++ trunk/plugins/hooks/pre-commit.tmpl 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,70 @@ +#!/bin/sh + +# PRE-COMMIT HOOK +# +# The pre-commit hook is invoked before a Subversion txn is +# committed. Subversion runs this hook by invoking a program +# (script, executable, binary, etc.) named 'pre-commit' (for which +# this file is a template), with the following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] TXN-NAME (the name of the txn about to be committed) +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# If the hook program exits with success, the txn is committed; but +# if it exits with failure (non-zero), the txn is aborted, no commit +# takes place, and STDERR is returned to the client. The hook +# program can use the 'svnlook' utility to help it examine the txn. +# +# On a Unix system, the normal procedure is to have 'pre-commit' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# *** NOTE: THE HOOK PROGRAM MUST NOT MODIFY THE TXN, EXCEPT *** +# *** FOR REVISION PROPERTIES (like svn:log or svn:author). *** +# +# This is why we recommend using the read-only 'svnlook' utility. +# In the future, Subversion may enforce the rule that pre-commit +# hooks should not modify the versioned data in txns, or else come +# up with a mechanism to make it safe to do so (by informing the +# committing client of the changes). However, right now neither +# mechanism is implemented, so hook writers just have to be careful. +# +# Note that 'pre-commit' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'pre-commit.bat' or 'pre-commit.exe', +# but the basic idea is the same. +# +# The hook program typically does not inherit the environment of +# its parent process. For example, a common problem is for the +# PATH environment variable to not be set to its usual value, so +# that subprograms fail to launch unless invoked via absolute path. +# If you're having unexpected problems with a hook program, the +# culprit may be unusual (or missing) environment variables. +# +# Here is an example hook script, for a Unix /bin/sh interpreter. +# For more examples and pre-written hooks, see those in +# the Subversion repository at +# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and +# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/ + + +REPOS="$1" +TXN="$2" + +# Make sure that the log message contains some text. +SVNLOOK=/usr/local/bin/svnlook +$SVNLOOK log -t "$TXN" "$REPOS" | \ + grep "[a-zA-Z0-9]" > /dev/null || exit 1 + +# Check that the author of this commit has the rights to perform +# the commit on the files and directories being modified. +commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1 + +# All checks passed, so allow the commit. +exit 0 Added: trunk/plugins/hooks/pre-lock.tmpl =================================================================== --- trunk/plugins/hooks/pre-lock.tmpl (rev 0) +++ trunk/plugins/hooks/pre-lock.tmpl 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,64 @@ +#!/bin/sh + +# PRE-LOCK HOOK +# +# The pre-lock hook is invoked before an exclusive lock is +# created. Subversion runs this hook by invoking a program +# (script, executable, binary, etc.) named 'pre-lock' (for which +# this file is a template), with the following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] PATH (the path in the repository about to be locked) +# [3] USER (the user creating the lock) +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# If the hook program exits with success, the lock is created; but +# if it exits with failure (non-zero), the lock action is aborted +# and STDERR is returned to the client. + +# On a Unix system, the normal procedure is to have 'pre-lock' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'pre-lock' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'pre-lock.bat' or 'pre-lock.exe', +# but the basic idea is the same. +# +# Here is an example hook script, for a Unix /bin/sh interpreter: + +REPOS="$1" +PATH="$2" +USER="$3" + +# If a lock exists and is owned by a different person, don't allow it +# to be stolen (e.g., with 'svn lock --force ...'). + +# (Maybe this script could send email to the lock owner?) +SVNLOOK=/usr/local/bin/svnlook +GREP=/bin/grep +SED=/bin/sed + +LOCK_OWNER=`$SVNLOOK lock "$REPOS" "$PATH" | \ + $GREP '^Owner: ' | $SED 's/Owner: //'` + +# If we get no result from svnlook, there's no lock, allow the lock to +# happen: +if [ "$LOCK_OWNER" = "" ]; then + exit 0 +fi + +# If the person locking matches the lock's owner, allow the lock to +# happen: +if [ "$LOCK_OWNER" = "$USER" ]; then + exit 0 +fi + +# Otherwise, we've got an owner mismatch, so return failure: +echo "Error: $PATH already locked by ${LOCK_OWNER}." 1>&2 +exit 1 Added: trunk/plugins/hooks/pre-revprop-change.tmpl =================================================================== --- trunk/plugins/hooks/pre-revprop-change.tmpl (rev 0) +++ trunk/plugins/hooks/pre-revprop-change.tmpl 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,66 @@ +#!/bin/sh + +# PRE-REVPROP-CHANGE HOOK +# +# The pre-revprop-change hook is invoked before a revision property +# is added, modified or deleted. Subversion runs this hook by invoking +# a program (script, executable, binary, etc.) named 'pre-revprop-change' +# (for which this file is a template), with the following ordered +# arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] REVISION (the revision being tweaked) +# [3] USER (the username of the person tweaking the property) +# [4] PROPNAME (the property being set on the revision) +# [5] ACTION (the property is being 'A'dded, 'M'odified, or 'D'eleted) +# +# [STDIN] PROPVAL ** the new property value is passed via STDIN. +# +# If the hook program exits with success, the propchange happens; but +# if it exits with failure (non-zero), the propchange doesn't happen. +# The hook program can use the 'svnlook' utility to examine the +# existing value of the revision property. +# +# WARNING: unlike other hooks, this hook MUST exist for revision +# properties to be changed. If the hook does not exist, Subversion +# will behave as if the hook were present, but failed. The reason +# for this is that revision properties are UNVERSIONED, meaning that +# a successful propchange is destructive; the old value is gone +# forever. We recommend the hook back up the old value somewhere. +# +# On a Unix system, the normal procedure is to have 'pre-revprop-change' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'pre-revprop-change' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'pre-revprop-change.bat' or 'pre-revprop-change.exe', +# but the basic idea is the same. +# +# The hook program typically does not inherit the environment of +# its parent process. For example, a common problem is for the +# PATH environment variable to not be set to its usual value, so +# that subprograms fail to launch unless invoked via absolute path. +# If you're having unexpected problems with a hook program, the +# culprit may be unusual (or missing) environment variables. +# +# Here is an example hook script, for a Unix /bin/sh interpreter. +# For more examples and pre-written hooks, see those in +# the Subversion repository at +# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and +# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/ + + +REPOS="$1" +REV="$2" +USER="$3" +PROPNAME="$4" +ACTION="$5" + +if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi + +echo "Changing revision properties other than svn:log is prohibited" >&2 +exit 1 Added: trunk/plugins/hooks/pre-unlock.tmpl =================================================================== --- trunk/plugins/hooks/pre-unlock.tmpl (rev 0) +++ trunk/plugins/hooks/pre-unlock.tmpl 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,60 @@ +#!/bin/sh + +# PRE-UNLOCK HOOK +# +# The pre-unlock hook is invoked before an exclusive lock is +# destroyed. Subversion runs this hook by invoking a program +# (script, executable, binary, etc.) named 'pre-unlock' (for which +# this file is a template), with the following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] PATH (the path in the repository about to be unlocked) +# [3] USER (the user destroying the lock) +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# If the hook program exits with success, the lock is destroyed; but +# if it exits with failure (non-zero), the unlock action is aborted +# and STDERR is returned to the client. + +# On a Unix system, the normal procedure is to have 'pre-unlock' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'pre-unlock' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'pre-unlock.bat' or 'pre-unlock.exe', +# but the basic idea is the same. +# +# Here is an example hook script, for a Unix /bin/sh interpreter: + +REPOS="$1" +PATH="$2" +USER="$3" + +# If a lock is owned by a different person, don't allow it be broken. +# (Maybe this script could send email to the lock owner?) + +SVNLOOK=/usr/local/bin/svnlook +GREP=/bin/grep +SED=/bin/sed + +LOCK_OWNER=`$SVNLOOK lock "$REPOS" "$PATH" | \ + $GREP '^Owner: ' | $SED 's/Owner: //'` + +# If we get no result from svnlook, there's no lock, return success: +if [ "$LOCK_OWNER" = "" ]; then + exit 0 +fi +# If the person unlocking matches the lock's owner, return success: +if [ "$LOCK_OWNER" = "$USER" ]; then + exit 0 +fi + +# Otherwise, we've got an owner mismatch, so return failure: +echo "Error: $PATH locked by ${LOCK_OWNER}." 1>&2 +exit 1 Added: trunk/plugins/hooks/start-commit.tmpl =================================================================== --- trunk/plugins/hooks/start-commit.tmpl (rev 0) +++ trunk/plugins/hooks/start-commit.tmpl 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,54 @@ +#!/bin/sh + +# START-COMMIT HOOK +# +# The start-commit hook is invoked before a Subversion txn is created +# in the process of doing a commit. Subversion runs this hook +# by invoking a program (script, executable, binary, etc.) named +# 'start-commit' (for which this file is a template) +# with the following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] USER (the authenticated user attempting to commit) +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# If the hook program exits with success, the commit continues; but +# if it exits with failure (non-zero), the commit is stopped before +# a Subversion txn is created, and STDERR is returned to the client. +# +# On a Unix system, the normal procedure is to have 'start-commit' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'start-commit' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'start-commit.bat' or 'start-commit.exe', +# but the basic idea is the same. +# +# The hook program typically does not inherit the environment of +# its parent process. For example, a common problem is for the +# PATH environment variable to not be set to its usual value, so +# that subprograms fail to launch unless invoked via absolute path. +# If you're having unexpected problems with a hook program, the +# culprit may be unusual (or missing) environment variables. +# +# Here is an example hook script, for a Unix /bin/sh interpreter. +# For more examples and pre-written hooks, see those in +# the Subversion repository at +# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and +# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/ + + +REPOS="$1" +USER="$2" + +commit-allower.pl --repository "$REPOS" --user "$USER" || exit 1 +special-auth-check.py --user "$USER" --auth-level 3 || exit 1 + +# All checks passed, so allow the commit. +exit 0 Added: trunk/plugins/locks/db-logs.lock =================================================================== --- trunk/plugins/locks/db-logs.lock (rev 0) +++ trunk/plugins/locks/db-logs.lock 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,3 @@ +This file is not used by Subversion 1.3.x or later. +However, its existence is required for compatibility with +Subversion 1.2.x or earlier. Added: trunk/plugins/locks/db.lock =================================================================== --- trunk/plugins/locks/db.lock (rev 0) +++ trunk/plugins/locks/db.lock 2007-05-23 15:30:36 UTC (rev 416) @@ -0,0 +1,3 @@ +This file is not used by Subversion 1.3.x or later. +However, its existence is required for compatibility with +Subversion 1.2.x or earlier. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2007-05-23 15:28:24
|
Revision: 415 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=415&view=rev Author: saamand Date: 2007-05-23 08:28:23 -0700 (Wed, 23 May 2007) Log Message: ----------- Added Paths: ----------- trunk/plugins/mylyrics/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2007-05-23 14:58:32
|
Revision: 414 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=414&view=rev Author: saamand Date: 2007-05-23 07:58:29 -0700 (Wed, 23 May 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/MyLyrics/LyricsEngine/Properties/AssemblyInfo.cs trunk/plugins/MyLyrics/My Lyrics/DatabaseUtil.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.cs trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup_LyricsLibrary.cs trunk/plugins/MyLyrics/My Lyrics/Properties/AssemblyInfo.cs trunk/plugins/MyLyrics/MyLyrics.suo Modified: trunk/plugins/MyLyrics/LyricsEngine/Properties/AssemblyInfo.cs =================================================================== --- trunk/plugins/MyLyrics/LyricsEngine/Properties/AssemblyInfo.cs 2007-05-22 06:29:24 UTC (rev 413) +++ trunk/plugins/MyLyrics/LyricsEngine/Properties/AssemblyInfo.cs 2007-05-23 14:58:29 UTC (rev 414) @@ -26,7 +26,7 @@ // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("0.21")] +[assembly: AssemblyVersion("0.22")] // // In order to sign your assembly you must specify a key to use. Refer to the Modified: trunk/plugins/MyLyrics/My Lyrics/DatabaseUtil.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/DatabaseUtil.cs 2007-05-22 06:29:24 UTC (rev 413) +++ trunk/plugins/MyLyrics/My Lyrics/DatabaseUtil.cs 2007-05-23 14:58:29 UTC (rev 414) @@ -126,7 +126,7 @@ public static void SerializeLyricDB() { - string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsDBName); + string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsDBName); using (FileStream fs = new FileStream(path, FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); @@ -138,7 +138,7 @@ public static void SerializeLyricMarkedDB() { - string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); + string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); using (FileStream fs = new FileStream(path, FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs 2007-05-22 06:29:24 UTC (rev 413) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs 2007-05-23 14:58:29 UTC (rev 414) @@ -354,13 +354,13 @@ // Deserialize lyrics and marked database, and save references in LyricsDB try { - string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, LyricsDBName); + string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, LyricsDBName); FileStream fs = new FileStream(path, FileMode.Open); BinaryFormatter bf = new BinaryFormatter(); LyricsDB = (LyricsDatabase)bf.Deserialize(fs); fs.Close(); - path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, LyricsMarkedDBName); + path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, LyricsMarkedDBName); fs = new FileStream(path, FileMode.Open); LyricsMarkedDB = (LyricsDatabase)bf.Deserialize(fs); fs.Close(); @@ -391,7 +391,7 @@ LoadSettings(); - LyricDiagnostics.OpenLog(MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Log, logName)); + LyricDiagnostics.OpenLog(MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Log, logName)); LyricDiagnostics.TraceSource.TraceEvent(TraceEventType.Start, 0, LyricDiagnostics.ElapsedTimeString() + "MyLyrics opens."); return true; } @@ -757,7 +757,7 @@ LyricsItem item = new LyricsItem(artist, title, lyricAsString, "LRC-editor screen"); LyricsDB[DatabaseUtil.CorrectKeyFormat(artist, title)] = item; - string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, LyricsDBName); + string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, LyricsDBName); using (FileStream fs = new FileStream(path, FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); @@ -868,7 +868,7 @@ { LyricsDB.Add(DatabaseUtil.CorrectKeyFormat(capArtist, capTitle), new LyricsItem(capArtist, capTitle, m_LyricText, site)); - string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, LyricsDBName); + string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, LyricsDBName); using (FileStream fs = new FileStream(path, FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); @@ -882,7 +882,7 @@ { LyricsMarkedDB.Remove(DatabaseUtil.CorrectKeyFormat(capArtist, capTitle)); - string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, LyricsMarkedDBName); + string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, LyricsMarkedDBName); using (FileStream fs = new FileStream(path, FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.cs 2007-05-22 06:29:24 UTC (rev 413) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.cs 2007-05-23 14:58:29 UTC (rev 414) @@ -105,8 +105,8 @@ public MyLyricsSetup() { - LyricDiagnostics.OpenLog(MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Log, MyLyricsSettings.LogName)); - //LyricDiagnostics.OpenLog(MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Log)); + LyricDiagnostics.OpenLog(MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Log, MyLyricsSettings.LogName)); + //LyricDiagnostics.OpenLog(MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Log)); #region Initialize GUI and class InitializeComponent(); @@ -162,7 +162,7 @@ #endregion #region Serialzie/deserialize lyricsdatabases - string lyricsXMLpath = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Base, MyLyricsSettings.LyricsXMLName); + string lyricsXMLpath = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Base, MyLyricsSettings.LyricsXMLName); FileInfo lyricsXMLfileInfo = new FileInfo(lyricsXMLpath); @@ -170,7 +170,7 @@ if (lyricsXMLfileInfo.Exists) { - string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsDBName); + string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsDBName); FileInfo fileInfo = new FileInfo(path); // .. but only if it hasn't already been converted @@ -192,7 +192,7 @@ fs.Close(); // Create likewise a database for the remainingLyrics - path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); + path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); fs = new FileStream(path, FileMode.Create); MyLyricsSettings.LyricsMarkedDB = new LyricsDatabase(); bf.Serialize(fs, MyLyricsSettings.LyricsMarkedDB); @@ -212,13 +212,13 @@ // If no Lyrics.xml present in base, then create new serialized databases else { - string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsDBName); + string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsDBName); FileInfo fileInfo = new FileInfo(path); // .. but only if the databases hasn't been created if (fileInfo.Exists == false) { - path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsDBName); + path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsDBName); // Serialize empty LyricsDatabase if no lyrics.xml present FileStream fs = new FileStream(path, FileMode.Create); @@ -228,7 +228,7 @@ fs.Close(); // Serialize empty LyricsMarkedDatabase - path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); + path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); fs = new FileStream(path, FileMode.Create); MyLyricsSettings.LyricsMarkedDB = new LyricsDatabase(); bf.Serialize(fs, MyLyricsSettings.LyricsMarkedDB); @@ -822,7 +822,7 @@ private void DeserializeBothDB() { - string path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsDBName); + string path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsDBName); // Open database to read data from FileStream fs = new FileStream(path, FileMode.Open); @@ -835,7 +835,7 @@ fs.Close(); // Deserialize LyricsRemainingDatabase - path = MediaPortal.Configuration.Config.GetFile(MediaPortal.Configuration.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); + path = MediaPortal.Util.Config.GetFile(MediaPortal.Util.Config.Dir.Database, MyLyricsSettings.LyricsMarkedDBName); fs = new FileStream(path, FileMode.Open); MyLyricsSettings.LyricsMarkedDB = (LyricsDatabase)bf.Deserialize(fs); Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup_LyricsLibrary.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup_LyricsLibrary.cs 2007-05-22 06:29:24 UTC (rev 413) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup_LyricsLibrary.cs 2007-05-23 14:58:29 UTC (rev 414) @@ -628,7 +628,7 @@ { if (MessageBox.Show(this, "Are you sure the Lyrics database should be deleted?", "Delete Lyrics database", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { - string path = MediaPortal.Configuration.Config.GetFolder(MediaPortal.Configuration.Config.Dir.Database) + "\\" + MyLyricsSettings.LyricsDBName; + string path = MediaPortal.Util.Config.GetFolder(MediaPortal.Util.Config.Dir.Database) + "\\" + MyLyricsSettings.LyricsDBName; FileStream fs = new FileStream(path, FileMode.Create); BinaryFormatter bf = new BinaryFormatter(); MyLyricsSettings.LyricsDB = new LyricsDatabase(); @@ -647,7 +647,7 @@ { if (MessageBox.Show(this, "Are you sure you want to delete the database with marked titles?", "Delete title database", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { - string path = MediaPortal.Configuration.Config.GetFolder(MediaPortal.Configuration.Config.Dir.Database) + "\\" + MyLyricsSettings.LyricsMarkedDBName; + string path = MediaPortal.Util.Config.GetFolder(MediaPortal.Util.Config.Dir.Database) + "\\" + MyLyricsSettings.LyricsMarkedDBName; FileStream fs = new FileStream(path, FileMode.Create); BinaryFormatter bf = new BinaryFormatter(); MyLyricsSettings.LyricsMarkedDB = new LyricsDatabase(); Modified: trunk/plugins/MyLyrics/My Lyrics/Properties/AssemblyInfo.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/Properties/AssemblyInfo.cs 2007-05-22 06:29:24 UTC (rev 413) +++ trunk/plugins/MyLyrics/My Lyrics/Properties/AssemblyInfo.cs 2007-05-23 14:58:29 UTC (rev 414) @@ -31,5 +31,5 @@ // // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("0.21")] -[assembly: AssemblyFileVersion("0.21")] +[assembly: AssemblyVersion("0.22")] +[assembly: AssemblyFileVersion("0.22")] Modified: trunk/plugins/MyLyrics/MyLyrics.suo =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-05-22 06:29:25
|
Revision: 413 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=413&view=rev Author: and-81 Date: 2007-05-21 23:29:24 -0700 (Mon, 21 May 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/StbSetup.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/PluginSetup.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/StbSetup.Designer.cs Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/StbSetup.Designer.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/StbSetup.Designer.cs 2007-05-22 06:26:03 UTC (rev 412) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/StbSetup.Designer.cs 2007-05-22 06:29:24 UTC (rev 413) @@ -284,6 +284,7 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Transparent; this.Controls.Add(this.groupBoxOptions); this.Controls.Add(this.groupBoxCommands); this.MinimumSize = new System.Drawing.Size(504, 310); Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/PluginSetup.Designer.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/PluginSetup.Designer.cs 2007-05-22 06:26:03 UTC (rev 412) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/PluginSetup.Designer.cs 2007-05-22 06:29:24 UTC (rev 413) @@ -257,6 +257,7 @@ // // PluginSetup // + this.BackColor = System.Drawing.Color.Transparent; this.Controls.Add(this.tabControl); this.MinimumSize = new System.Drawing.Size(328, 266); this.Name = "PluginSetup"; Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/StbSetup.Designer.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/StbSetup.Designer.cs 2007-05-22 06:26:03 UTC (rev 412) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/StbSetup.Designer.cs 2007-05-22 06:29:24 UTC (rev 413) @@ -296,6 +296,7 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Transparent; this.Controls.Add(this.labelCardName); this.Controls.Add(this.groupBoxOptions); this.Controls.Add(this.groupBoxCommands); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-05-22 06:26:06
|
Revision: 412 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=412&view=rev Author: and-81 Date: 2007-05-21 23:26:03 -0700 (Mon, 21 May 2007) Log Message: ----------- Adds a status icon for TV Server to the system tray (shows TV Cards status) Added Paths: ----------- trunk/plugins/TVServerStatus/ trunk/plugins/TVServerStatus/Graphics/ trunk/plugins/TVServerStatus/Graphics/Blue.png trunk/plugins/TVServerStatus/Graphics/Green.png trunk/plugins/TVServerStatus/Graphics/Red.png trunk/plugins/TVServerStatus/Graphics/Yellow.png trunk/plugins/TVServerStatus/PluginSetup.Designer.cs trunk/plugins/TVServerStatus/PluginSetup.cs trunk/plugins/TVServerStatus/PluginSetup.resx trunk/plugins/TVServerStatus/Properties/ trunk/plugins/TVServerStatus/Properties/AssemblyInfo.cs trunk/plugins/TVServerStatus/Properties/Resources.Designer.cs trunk/plugins/TVServerStatus/Properties/Resources.resx trunk/plugins/TVServerStatus/TVServerStatus.cs trunk/plugins/TVServerStatus/TVServerStatus.csproj Added: trunk/plugins/TVServerStatus/Graphics/Blue.png =================================================================== (Binary files differ) Property changes on: trunk/plugins/TVServerStatus/Graphics/Blue.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/plugins/TVServerStatus/Graphics/Green.png =================================================================== (Binary files differ) Property changes on: trunk/plugins/TVServerStatus/Graphics/Green.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/plugins/TVServerStatus/Graphics/Red.png =================================================================== (Binary files differ) Property changes on: trunk/plugins/TVServerStatus/Graphics/Red.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/plugins/TVServerStatus/Graphics/Yellow.png =================================================================== (Binary files differ) Property changes on: trunk/plugins/TVServerStatus/Graphics/Yellow.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/plugins/TVServerStatus/PluginSetup.Designer.cs =================================================================== --- trunk/plugins/TVServerStatus/PluginSetup.Designer.cs (rev 0) +++ trunk/plugins/TVServerStatus/PluginSetup.Designer.cs 2007-05-22 06:26:03 UTC (rev 412) @@ -0,0 +1,143 @@ +namespace SetupTv.Sections +{ + + [System.CLSCompliant(false)] + partial class PluginSetup + { + /// <summary> + /// Required designer variable. + /// </summary> + private new System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + this.labelIdleIcon = new System.Windows.Forms.Label(); + this.labelEPGIcon = new System.Windows.Forms.Label(); + this.labelTSIcon = new System.Windows.Forms.Label(); + this.labelRecIcon = new System.Windows.Forms.Label(); + this.labelIdleText = new System.Windows.Forms.Label(); + this.labelEPGText = new System.Windows.Forms.Label(); + this.labelTSText = new System.Windows.Forms.Label(); + this.labelRecText = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // labelIdleIcon + // + this.labelIdleIcon.Image = global::TvEngine.Properties.Resources.Blue; + this.labelIdleIcon.Location = new System.Drawing.Point(8, 8); + this.labelIdleIcon.Name = "labelIdleIcon"; + this.labelIdleIcon.Size = new System.Drawing.Size(24, 24); + this.labelIdleIcon.TabIndex = 0; + // + // labelEPGIcon + // + this.labelEPGIcon.Image = global::TvEngine.Properties.Resources.Yellow; + this.labelEPGIcon.Location = new System.Drawing.Point(8, 40); + this.labelEPGIcon.Name = "labelEPGIcon"; + this.labelEPGIcon.Size = new System.Drawing.Size(24, 24); + this.labelEPGIcon.TabIndex = 2; + // + // labelTSIcon + // + this.labelTSIcon.Image = global::TvEngine.Properties.Resources.Green; + this.labelTSIcon.Location = new System.Drawing.Point(8, 72); + this.labelTSIcon.Name = "labelTSIcon"; + this.labelTSIcon.Size = new System.Drawing.Size(24, 24); + this.labelTSIcon.TabIndex = 4; + // + // labelRecIcon + // + this.labelRecIcon.Image = global::TvEngine.Properties.Resources.Red; + this.labelRecIcon.Location = new System.Drawing.Point(8, 104); + this.labelRecIcon.Name = "labelRecIcon"; + this.labelRecIcon.Size = new System.Drawing.Size(24, 24); + this.labelRecIcon.TabIndex = 6; + // + // labelIdleText + // + this.labelIdleText.Location = new System.Drawing.Point(40, 8); + this.labelIdleText.Name = "labelIdleText"; + this.labelIdleText.Size = new System.Drawing.Size(88, 24); + this.labelIdleText.TabIndex = 1; + this.labelIdleText.Text = "Idle"; + this.labelIdleText.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // labelEPGText + // + this.labelEPGText.Location = new System.Drawing.Point(40, 40); + this.labelEPGText.Name = "labelEPGText"; + this.labelEPGText.Size = new System.Drawing.Size(88, 24); + this.labelEPGText.TabIndex = 3; + this.labelEPGText.Text = "Grabbing EPG"; + this.labelEPGText.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // labelTSText + // + this.labelTSText.Location = new System.Drawing.Point(40, 72); + this.labelTSText.Name = "labelTSText"; + this.labelTSText.Size = new System.Drawing.Size(88, 24); + this.labelTSText.TabIndex = 5; + this.labelTSText.Text = "Timeshifting"; + this.labelTSText.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // labelRecText + // + this.labelRecText.Location = new System.Drawing.Point(40, 104); + this.labelRecText.Name = "labelRecText"; + this.labelRecText.Size = new System.Drawing.Size(88, 24); + this.labelRecText.TabIndex = 7; + this.labelRecText.Text = "Recording"; + this.labelRecText.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // PluginSetup + // + this.Controls.Add(this.labelRecText); + this.Controls.Add(this.labelTSText); + this.Controls.Add(this.labelEPGText); + this.Controls.Add(this.labelIdleText); + this.Controls.Add(this.labelRecIcon); + this.Controls.Add(this.labelTSIcon); + this.Controls.Add(this.labelEPGIcon); + this.Controls.Add(this.labelIdleIcon); + this.Name = "PluginSetup"; + this.Size = new System.Drawing.Size(138, 138); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label labelIdleIcon; + private System.Windows.Forms.Label labelEPGIcon; + private System.Windows.Forms.Label labelTSIcon; + private System.Windows.Forms.Label labelRecIcon; + private System.Windows.Forms.Label labelIdleText; + private System.Windows.Forms.Label labelEPGText; + private System.Windows.Forms.Label labelTSText; + private System.Windows.Forms.Label labelRecText; + + + + + } + +} Added: trunk/plugins/TVServerStatus/PluginSetup.cs =================================================================== --- trunk/plugins/TVServerStatus/PluginSetup.cs (rev 0) +++ trunk/plugins/TVServerStatus/PluginSetup.cs 2007-05-22 06:26:03 UTC (rev 412) @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +using TvLibrary.Log; +using TvEngine; +using TvControl; +using TvDatabase; + +namespace SetupTv.Sections +{ + + public partial class PluginSetup : SetupTv.SectionSettings + { + + #region Constructor + + public PluginSetup() + { + InitializeComponent(); + } + + #endregion Constructor + + #region SetupTv.SectionSettings + + public override void OnSectionDeActivated() + { + Log.Info("TVServerStatus: Configuration deactivated"); + + base.OnSectionDeActivated(); + } + public override void OnSectionActivated() + { + Log.Info("TVServerStatus: Configuration activated"); + + base.OnSectionActivated(); + } + + #endregion SetupTv.SectionSettings + + } + +} Added: trunk/plugins/TVServerStatus/PluginSetup.resx =================================================================== --- trunk/plugins/TVServerStatus/PluginSetup.resx (rev 0) +++ trunk/plugins/TVServerStatus/PluginSetup.resx 2007-05-22 06:26:03 UTC (rev 412) @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file Added: trunk/plugins/TVServerStatus/Properties/AssemblyInfo.cs =================================================================== --- trunk/plugins/TVServerStatus/Properties/AssemblyInfo.cs (rev 0) +++ trunk/plugins/TVServerStatus/Properties/AssemblyInfo.cs 2007-05-22 06:26:03 UTC (rev 412) @@ -0,0 +1,71 @@ +using System; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Security.Permissions; + +// +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +// +[assembly: AssemblyTitle("TV Server Status Plugin")] +[assembly: AssemblyDescription("Creates a system tray status icon for the TV Server")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("and-81")] +[assembly: AssemblyProduct("MediaPortal TV Server")] +[assembly: AssemblyCopyright("Aaron Dinnage")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: + +[assembly: AssemblyVersion("1.0.3.0")] +[assembly: AssemblyFileVersionAttribute("1.0.3.0")] + +// +// In order to sign your assembly you must specify a key to use. Refer to the +// Microsoft .NET Framework documentation for more information on assembly signing. +// +// Use the attributes below to control which key is used for signing. +// +// Notes: +// (*) If no key is specified, the assembly is not signed. +// (*) KeyName refers to a key that has been installed in the Crypto Service +// Provider (CSP) on your machine. KeyFile refers to a file which contains +// a key. +// (*) If the KeyFile and the KeyName values are both specified, the +// following processing occurs: +// (1) If the KeyName can be found in the CSP, that key is used. +// (2) If the KeyName does not exist and the KeyFile does exist, the key +// in the KeyFile is installed into the CSP and used. +// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. +// When specifying the KeyFile, the location of the KeyFile should be +// relative to the project output directory which is +// %Project Directory%\obj\<configuration>. For example, if your KeyFile is +// located in the project directory, you would specify the AssemblyKeyFile +// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] +// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework +// documentation for more information on this. +// +[assembly: AssemblyDelaySign(false)] +[assembly: AssemblyKeyFile("")] +[assembly: AssemblyKeyName("")] + +[assembly: CLSCompliant(true)] + +//[assembly: SecurityPermission(SecurityAction.RequestMinimum, UnmanagedCode = true)] Added: trunk/plugins/TVServerStatus/Properties/Resources.Designer.cs =================================================================== --- trunk/plugins/TVServerStatus/Properties/Resources.Designer.cs (rev 0) +++ trunk/plugins/TVServerStatus/Properties/Resources.Designer.cs 2007-05-22 06:26:03 UTC (rev 412) @@ -0,0 +1,91 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:2.0.50727.42 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace TvEngine.Properties { + using System; + + + /// <summary> + /// A strongly-typed resource class, for looking up localized strings, etc. + /// </summary> + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// <summary> + /// Returns the cached ResourceManager instance used by this class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TvEngine.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + internal static System.Drawing.Bitmap Blue { + get { + object obj = ResourceManager.GetObject("Blue", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap Green { + get { + object obj = ResourceManager.GetObject("Green", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap Red { + get { + object obj = ResourceManager.GetObject("Red", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap Yellow { + get { + object obj = ResourceManager.GetObject("Yellow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} Added: trunk/plugins/TVServerStatus/Properties/Resources.resx =================================================================== --- trunk/plugins/TVServerStatus/Properties/Resources.resx (rev 0) +++ trunk/plugins/TVServerStatus/Properties/Resources.resx 2007-05-22 06:26:03 UTC (rev 412) @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="Red" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Graphics\Red.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="Yellow" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Graphics\Yellow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="Blue" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Graphics\Blue.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="Green" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Graphics\Green.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> +</root> \ No newline at end of file Added: trunk/plugins/TVServerStatus/TVServerStatus.cs =================================================================== --- trunk/plugins/TVServerStatus/TVServerStatus.cs (rev 0) +++ trunk/plugins/TVServerStatus/TVServerStatus.cs 2007-05-22 06:26:03 UTC (rev 412) @@ -0,0 +1,201 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Drawing; +using System.Text; +using System.Threading; +using System.Windows.Forms; + +using TvLibrary.Log; +using TvControl; +using SetupTv; +using TvEngine.Events; +using TvLibrary.Streaming; +using TvLibrary.Helper; +using TvLibrary.Interfaces; +using TvLibrary.Implementations; +using TvDatabase; + +namespace TvEngine +{ + + public class TVServerStatus : ITvServerPlugin + { + + #region Variables + + IController _controller; + + NotifyIcon _notifyIcon; + Thread _updateThread; + + int _cards; + int[] _cardIDs; + + #endregion Variables + + #region Properties + + /// <summary> + /// returns the name of the plugin + /// </summary> + public string Name { get { return "TVServerStatus"; } } + /// <summary> + /// returns the version of the plugin + /// </summary> + public string Version { get { return "1.0.3.0"; } } + /// <summary> + /// returns the author of the plugin + /// </summary> + public string Author { get { return "and-81"; } } + /// <summary> + /// returns if the plugin should only run on the master server + /// or also on slave servers + /// </summary> + public bool MasterOnly { get { return false; } } + + #endregion Properties + + #region Plugin methods + + [CLSCompliant(false)] + public void Start(IController controller) + { + //TvBusinessLayer layer = new TvBusinessLayer(); + //LogVerbose = Convert.ToBoolean(layer.GetSetting("TVServerStatus_Setting", "False").Value); + + _controller = controller; + + _cards = _controller.Cards; + _cardIDs = new int[_cards]; + for (int index = 0; index < _cards; index++) + _cardIDs[index] = _controller.CardId(index); + + CreateIcon(); + UpdateIcon(); + ShowIcon(); + + _updateThread = new Thread(new ThreadStart(UpdateThread)); + _updateThread.Start(); + } + + public void Stop() + { + try + { + _updateThread.Abort(); + } + catch { } + + HideIcon(); + } + + [CLSCompliant(false)] + public SetupTv.SectionSettings Setup + { + get { return new SetupTv.Sections.PluginSetup(); } + } + + #endregion Plugin methods + + #region Private Methods + + void UpdateThread() + { + while (true) + { + Thread.Sleep(5000); + UpdateIcon(); + } + } + + void CreateIcon() + { + _notifyIcon = new NotifyIcon(); + _notifyIcon.Text = "TV Server"; + } + void UpdateIcon() + { + List<int> recordingChannels = new List<int>(); + List<int> timeshiftingChannels = new List<int>(); + _controller.GetAllRecordingChannels(out recordingChannels, out timeshiftingChannels); + + if (recordingChannels.Count > 0) + { + _notifyIcon.Icon = Icon.FromHandle(Properties.Resources.Red.GetHicon()); + } + else if (timeshiftingChannels.Count > 0) + { + _notifyIcon.Icon = Icon.FromHandle(Properties.Resources.Green.GetHicon()); + } + else + { + foreach (int cardID in _cardIDs) + { + if (!_controller.Enabled(cardID)) + continue; + + if (_controller.IsGrabbingEpg(cardID)) + { + _notifyIcon.Icon = Icon.FromHandle(Properties.Resources.Yellow.GetHicon()); + return; + } + } + + _notifyIcon.Icon = Icon.FromHandle(Properties.Resources.Blue.GetHicon()); + } + + string status = "TV Server" + StatusText(); + if (status.Length > 64) + status = status.Substring(0, 60) + " ..."; + + _notifyIcon.Text = status; + } + void ShowIcon() + { + _notifyIcon.Visible = true; + } + void HideIcon() + { + _notifyIcon.Visible = false; + } + + string StatusText() + { + StringBuilder outputString = new StringBuilder(); + string overallStatus = String.Empty; + + foreach (int cardID in _cardIDs) + { + if (!_controller.Enabled(cardID)) + continue; + + outputString.Append("\r\n"); + outputString.Append(cardID.ToString()); + outputString.Append(" - "); + + User user; + + if (_controller.IsScanning(cardID)) + outputString.Append("Scanning"); + else if (_controller.IsGrabbingEpg(cardID)) + outputString.Append("Grabbing EPG"); + else if (_controller.IsCardInUse(cardID, out user)) + { + if (_controller.IsRecording(ref user)) + outputString.Append(String.Format("Recording")); + else if (_controller.IsTimeShifting(ref user)) + outputString.Append(String.Format("Timeshifting")); + } + else + outputString.Append("Idle"); + } + + return outputString.ToString(); + } + + #endregion Private Methods + + } + +} Added: trunk/plugins/TVServerStatus/TVServerStatus.csproj =================================================================== --- trunk/plugins/TVServerStatus/TVServerStatus.csproj (rev 0) +++ trunk/plugins/TVServerStatus/TVServerStatus.csproj 2007-05-22 06:26:03 UTC (rev 412) @@ -0,0 +1,186 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectType>Local</ProjectType> + <ProductVersion>8.0.50727</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{C17FD89A-D510-4395-A292-54A17E31AB93}</ProjectGuid> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ApplicationIcon> + </ApplicationIcon> + <AssemblyKeyContainerName> + </AssemblyKeyContainerName> + <AssemblyName>TVServerStatus</AssemblyName> + <AssemblyOriginatorKeyFile> + </AssemblyOriginatorKeyFile> + <DefaultClientScript>JScript</DefaultClientScript> + <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> + <DefaultTargetSchema>IE50</DefaultTargetSchema> + <DelaySign>false</DelaySign> + <OutputType>Library</OutputType> + <RootNamespace>TvEngine</RootNamespace> + <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent> + <StartupObject> + </StartupObject> + <FileUpgradeFlags> + </FileUpgradeFlags> + <UpgradeBackupLocation> + </UpgradeBackupLocation> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <OutputPath>bin\Debug\</OutputPath> + <AllowUnsafeBlocks>false</AllowUnsafeBlocks> + <BaseAddress>285212672</BaseAddress> + <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow> + <ConfigurationOverrideFile> + </ConfigurationOverrideFile> + <DefineConstants>DEBUG</DefineConstants> + <DocumentationFile> + </DocumentationFile> + <DebugSymbols>true</DebugSymbols> + <FileAlignment>4096</FileAlignment> + <NoStdLib>false</NoStdLib> + <NoWarn> + </NoWarn> + <Optimize>false</Optimize> + <RegisterForComInterop>false</RegisterForComInterop> + <RemoveIntegerChecks>false</RemoveIntegerChecks> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> + <WarningLevel>4</WarningLevel> + <DebugType>full</DebugType> + <ErrorReport>prompt</ErrorReport> + <UseVSHostingProcess>false</UseVSHostingProcess> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <OutputPath>bin\Release\</OutputPath> + <AllowUnsafeBlocks>false</AllowUnsafeBlocks> + <BaseAddress>285212672</BaseAddress> + <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow> + <ConfigurationOverrideFile> + </ConfigurationOverrideFile> + <DefineConstants> + </DefineConstants> + <DocumentationFile> + </DocumentationFile> + <DebugSymbols>false</DebugSymbols> + <FileAlignment>4096</FileAlignment> + <NoStdLib>false</NoStdLib> + <NoWarn> + </NoWarn> + <Optimize>true</Optimize> + <RegisterForComInterop>false</RegisterForComInterop> + <RemoveIntegerChecks>false</RemoveIntegerChecks> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> + <WarningLevel>4</WarningLevel> + <DebugType>none</DebugType> + <ErrorReport>prompt</ErrorReport> + <UseVSHostingProcess>false</UseVSHostingProcess> + </PropertyGroup> + <ItemGroup> + <Reference Include="Gentle.Common, Version=1.2.9.1285, Culture=neutral, PublicKeyToken=80b5de62e27be49b"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\TV Engine\TVLibrary\TVDatabase\references\Gentle.Common.dll</HintPath> + <Private>False</Private> + </Reference> + <Reference Include="Gentle.Framework, Version=1.2.9.1286, Culture=neutral, PublicKeyToken=80b5de62e27be49b"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\TV Engine\TVLibrary\TVDatabase\references\Gentle.Framework.dll</HintPath> + <Private>False</Private> + </Reference> + <Reference Include="PluginBase, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\TV Engine\TVLibrary\Plugins\PluginBase\bin\Release\PluginBase.dll</HintPath> + <Private>False</Private> + </Reference> + <Reference Include="SetupControls, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\TV Engine\TVLibrary\SetupControls\bin\Release\SetupControls.dll</HintPath> + <Private>False</Private> + </Reference> + <Reference Include="System"> + <Name>System</Name> + </Reference> + <Reference Include="System.Data"> + <Name>System.Data</Name> + </Reference> + <Reference Include="System.Drawing"> + <Name>System.Drawing</Name> + </Reference> + <Reference Include="System.ServiceProcess" /> + <Reference Include="System.Windows.Forms"> + <Name>System.Windows.Forms</Name> + </Reference> + <Reference Include="System.Xml" /> + <Reference Include="TvBusinessLayer, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\TV Engine\TVLibrary\TvService\bin\Release\TvBusinessLayer.dll</HintPath> + <Private>False</Private> + </Reference> + <Reference Include="TvControl, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\TV Engine\TVLibrary\TvControl\bin\Release\TvControl.dll</HintPath> + <Private>False</Private> + </Reference> + <Reference Include="TVDatabase, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\TV Engine\TVLibrary\TVDatabase\bin\Release\TVDatabase.dll</HintPath> + <Private>False</Private> + </Reference> + <Reference Include="TVLibrary, Version=1.0.0.1, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\TV Engine\TVLibrary\TVLibrary\bin\Release\TVLibrary.dll</HintPath> + <Private>False</Private> + </Reference> + <Reference Include="TvLibrary.Interfaces, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\TV Engine\TVLibrary\TvLibrary.Interfaces\bin\Release\TvLibrary.Interfaces.dll</HintPath> + <Private>False</Private> + </Reference> + </ItemGroup> + <ItemGroup> + <Compile Include="PluginSetup.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Include="PluginSetup.designer.cs"> + <DependentUpon>PluginSetup.cs</DependentUpon> + </Compile> + <Compile Include="Properties\AssemblyInfo.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="Properties\Resources.Designer.cs"> + <AutoGen>True</AutoGen> + <DesignTime>True</DesignTime> + <DependentUpon>Resources.resx</DependentUpon> + </Compile> + <Compile Include="TVServerStatus.cs" /> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="PluginSetup.resx"> + <DependentUpon>PluginSetup.cs</DependentUpon> + <SubType>Designer</SubType> + </EmbeddedResource> + <EmbeddedResource Include="Properties\Resources.resx"> + <SubType>Designer</SubType> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <None Include="Graphics\Red.png" /> + </ItemGroup> + <ItemGroup> + <None Include="Graphics\Yellow.png" /> + </ItemGroup> + <ItemGroup> + <None Include="Graphics\Blue.png" /> + </ItemGroup> + <ItemGroup> + <None Include="Graphics\Green.png" /> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <PropertyGroup> + <PreBuildEvent> + </PreBuildEvent> + <PostBuildEvent>copy "$(TargetPath)" "\MediaPortal Development\Plugin Releases\TVServerStatus\"</PostBuildEvent> + </PropertyGroup> +</Project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2007-05-20 20:00:24
|
Revision: 411 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=411&view=rev Author: chreekar Date: 2007-05-20 13:00:20 -0700 (Sun, 20 May 2007) Log Message: ----------- All strings in main GUI is now translateable Modified Paths: -------------- trunk/plugins/MyEmulators/Readme.txt trunk/plugins/MyEmulators/myEmulators/Class1.cs trunk/plugins/MyEmulators/myEmulators/myEmulators.csproj trunk/plugins/MyEmulators/output.rar Modified: trunk/plugins/MyEmulators/Readme.txt =================================================================== --- trunk/plugins/MyEmulators/Readme.txt 2007-05-19 16:16:01 UTC (rev 410) +++ trunk/plugins/MyEmulators/Readme.txt 2007-05-20 20:00:20 UTC (rev 411) @@ -7,6 +7,8 @@ CHANGELOG ------------------------------------------- v1.6 +-Solved problem when returning from + a launched emulator -Added support for translations, see below v1.5.1 @@ -117,6 +119,9 @@ Line 4 - Most played Line 5 - Recently played Line 6 - Top graded +Line 7 - Select grade for this game +Line 8 - Set grade to +Line 9 - No grade Note that the setup is not translated, only the buttons in the main program. Modified: trunk/plugins/MyEmulators/myEmulators/Class1.cs =================================================================== --- trunk/plugins/MyEmulators/myEmulators/Class1.cs 2007-05-19 16:16:01 UTC (rev 410) +++ trunk/plugins/MyEmulators/myEmulators/Class1.cs 2007-05-20 20:00:20 UTC (rev 411) @@ -19,7 +19,7 @@ //To compare with the current marked private int previouslySelectedIndex; //Translation strings - private String[] translation = { "View: List", "View: Large Icons", "View: Icons", "Most played", "Recently played", "Top graded" }; + private String[] translation = { "View: List", "View: Large Icons", "View: Icons", "Most played", "Recently played", "Top graded", "Select grade for this game", "Set grade to", "No grade" }; //The emulator/rom list control [SkinControlAttribute(50)] protected GUIFacadeControl lstEmulators = null; //The buttons in the menu to the left @@ -118,6 +118,7 @@ //At start of MP public override bool Init() { + Log.Info("My Emulators - Init{0}",""); DB.launch(); emulators = new List<Emulator>(); stars = new GUIImage[10]; @@ -133,15 +134,18 @@ //Loads the translation strings try { + Log.Info("My Emulators - Language is set to {0}", Options.getStringOption("language")); if (Options.getStringOption("language") != "English") { StreamReader translationFile = new StreamReader("language\\" + Options.getStringOption("language") + "\\myEmulators.txt"); - for (int i = 0; i < translation.Length; i++) + int i = 0; + for (; i < translation.Length; i++) { String line = translationFile.ReadLine(); if (line == null) { break; } translation[i] = line; } + Log.Info("My Emulators - Found {0} translated strings", i); translationFile.Close(); } } @@ -232,18 +236,12 @@ if (dlg != null) { dlg.Reset(); - dlg.SetHeading("Select grade for this game"); - dlg.Add(new GUIListItem("Set grade to 1")); - dlg.Add(new GUIListItem("Set grade to 2")); - dlg.Add(new GUIListItem("Set grade to 3")); - dlg.Add(new GUIListItem("Set grade to 4")); - dlg.Add(new GUIListItem("Set grade to 5")); - dlg.Add(new GUIListItem("Set grade to 6")); - dlg.Add(new GUIListItem("Set grade to 7")); - dlg.Add(new GUIListItem("Set grade to 8")); - dlg.Add(new GUIListItem("Set grade to 9")); - dlg.Add(new GUIListItem("Set grade to 10")); - dlg.Add(new GUIListItem("No grade")); + dlg.SetHeading(translation[6]); + for (int i = 1; i < 11; i++) + { + dlg.Add(new GUIListItem(translation[7] + " " + i)); + } + dlg.Add(new GUIListItem(translation[8])); dlg.DoModal(GetID); if (dlg.SelectedId > 0 && dlg.SelectedId <= 10) { Modified: trunk/plugins/MyEmulators/myEmulators/myEmulators.csproj =================================================================== --- trunk/plugins/MyEmulators/myEmulators/myEmulators.csproj 2007-05-19 16:16:01 UTC (rev 410) +++ trunk/plugins/MyEmulators/myEmulators/myEmulators.csproj 2007-05-20 20:00:20 UTC (rev 411) @@ -84,4 +84,8 @@ <Target Name="AfterBuild"> </Target> --> + <PropertyGroup> + <PostBuildEvent> + </PostBuildEvent> + </PropertyGroup> </Project> \ No newline at end of file Modified: trunk/plugins/MyEmulators/output.rar =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-05-19 16:16:07
|
Revision: 410 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=410&view=rev Author: and-81 Date: 2007-05-19 09:16:01 -0700 (Sat, 19 May 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MappedKeyCode.cs Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MappedKeyCode.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MappedKeyCode.cs 2007-05-19 16:14:30 UTC (rev 409) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MappedKeyCode.cs 2007-05-19 16:16:01 UTC (rev 410) @@ -11,8 +11,8 @@ #region Variables - public RemoteButton _button; - public string _keyCode; + RemoteButton _button; + string _keyCode; #endregion Variables @@ -33,20 +33,12 @@ #region Constructors - public MappedKeyCode() - : this(RemoteButton.None, String.Empty) - { - } - - public MappedKeyCode(string button, string keyCode) - : this((RemoteButton)Enum.Parse(typeof(RemoteButton), button), keyCode) - { - } - + public MappedKeyCode() : this(RemoteButton.None, String.Empty) { } + public MappedKeyCode(string button, string keyCode) : this((RemoteButton)Enum.Parse(typeof(RemoteButton), button), keyCode) { } public MappedKeyCode(RemoteButton button, string keyCode) { - _button = button; - _keyCode = keyCode; + _button = button; + _keyCode = keyCode; } #endregion Constructors This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-05-19 16:14:36
|
Revision: 409 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=409&view=rev Author: and-81 Date: 2007-05-19 09:14:30 -0700 (Sat, 19 May 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/IR Server Suite/Applications/IR Server/IRServer.cs trunk/plugins/IR Server Suite/Applications/IR Server/Program.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/MainForm.cs trunk/plugins/IR Server Suite/Applications/Translator/Program.cs trunk/plugins/IR Server Suite/Applications/Tray Launcher/Tray.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote/MainForm.cs trunk/plugins/IR Server Suite/Common/MPUtils/ExternalChannelConfig.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/MacroEditor.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/MPBlastZonePlugin.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/MacroEditor.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/SetupForm.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/InputMapper/InputMappingForm.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MPControlPlugin.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MappedEvent.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/TV2BlasterPlugin.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/MacroEditor.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/TV3BlasterPlugin.cs trunk/plugins/MCEReplacement/Forms/SetupForm.cs trunk/plugins/MCEReplacement/InputMapper/InputMappingForm.cs trunk/plugins/MCEReplacement/MCEReplacement.cs trunk/plugins/MCEReplacement/MappedEvent.cs Modified: trunk/plugins/IR Server Suite/Applications/IR Server/IRServer.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/IR Server/IRServer.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/Applications/IR Server/IRServer.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -446,7 +446,7 @@ void RemoteButtonPressed(string keyCode) { - IrssLog.Info("Remote Button Pressed: {0}", keyCode); + IrssLog.Debug("Remote Button Pressed: {0}", keyCode); byte[] bytes = Encoding.ASCII.GetBytes(keyCode); @@ -468,7 +468,7 @@ case IRServerMode.RepeaterMode: { - IrssLog.Info("Remote button press ignored, IR Server is in Repeater Mode."); + IrssLog.Debug("Remote button press ignored, IR Server is in Repeater Mode."); break; } } @@ -478,8 +478,6 @@ { IrssLog.Debug("SendToAll({0})", message.ToString()); - IrssLog.Info("Message out: {0}", message.Name); - List<Client> unregister = new List<Client>(); lock (_registeredClients) @@ -512,8 +510,6 @@ { IrssLog.Debug("SendToAllExcept({0}, {1}, {2})", exceptPipe, exceptServer, message.ToString()); - IrssLog.Info("Message out: {0}", message.Name); - List<Client> unregister = new List<Client>(); lock (_registeredClients) @@ -549,8 +545,6 @@ { IrssLog.Debug("SendTo({0}, {1}, {2})", pipe, server, message.ToString()); - IrssLog.Info("Message out: {0}", message.Name); - try { PipeAccess.SendMessage(pipe, server, message.ToString()); @@ -567,8 +561,6 @@ { IrssLog.Debug("SendToRepeaters({0})", message.ToString()); - IrssLog.Info("Message out: {0}", message.Name); - List<Client> unregister = new List<Client>(); lock (_registeredRepeaters) @@ -828,8 +820,6 @@ { IrssLog.Debug("Message received from client \\\\{0}\\pipe\\{1} = {2}", received.FromServer, received.FromPipe, received.ToString()); - IrssLog.Info("Message in: {0}", received.Name); - try { switch (received.Name) @@ -929,6 +919,8 @@ case "Shutdown": { + IrssLog.Info("Shutdown command received"); + if (_mode == IRServerMode.ServerMode) { PipeMessage response = new PipeMessage(Common.ServerPipeName, Environment.MachineName, "Server Shutdown", null); @@ -995,6 +987,7 @@ case "Server Shutdown": { + IrssLog.Info("Host server shut down"); _registered = false; break; } Modified: trunk/plugins/IR Server Suite/Applications/IR Server/Program.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/IR Server/Program.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/Applications/IR Server/Program.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -17,7 +17,7 @@ { [STAThread] - static int Main(string[] args) + static int Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Modified: trunk/plugins/IR Server Suite/Applications/Translator/Forms/MainForm.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Translator/Forms/MainForm.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/Applications/Translator/Forms/MainForm.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -664,7 +664,7 @@ } private void buttonSetCommand_Click(object sender, EventArgs e) { - if (comboBoxCommands.SelectedIndex == -1) + if (comboBoxCommands.SelectedIndex == -1 || listViewEventMap.SelectedItems.Count == 0) return; string selected = comboBoxCommands.SelectedItem as string; Modified: trunk/plugins/IR Server Suite/Applications/Translator/Program.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Translator/Program.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/Applications/Translator/Program.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -511,8 +511,6 @@ while (_keepAlive && _registered && !reconnect) { - IrssLog.Info("Ping ({0})", _config.ServerHost); - int pingID = random.Next(); long pingTime = DateTime.Now.Ticks; @@ -547,15 +545,13 @@ if (receivedEcho) // Received ping echo ... { - IrssLog.Info("Echo received"); - // Wait 60 seconds before re-pinging ... for (int sleeps = 0; sleeps < 60 && _keepAlive && _registered; sleeps++) Thread.Sleep(1000); } else // Didn't receive ping echo ... { - IrssLog.Warn("No echo, attempting to reconnect ..."); + IrssLog.Warn("No echo to ping, attempting to reconnect ..."); // Break out of pinging cycle ... _registered = false; Modified: trunk/plugins/IR Server Suite/Applications/Tray Launcher/Tray.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Tray Launcher/Tray.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/Applications/Tray Launcher/Tray.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -86,7 +86,9 @@ bool didSetup = false; if (String.IsNullOrEmpty(_programFile) || String.IsNullOrEmpty(_serverHost)) { - ClickSetup(null, null); + if (!Configure()) + return false; + didSetup = true; } @@ -349,8 +351,6 @@ while (_keepAlive && _registered && !reconnect) { - IrssLog.Info("Ping ({0})", _serverHost); - int pingID = random.Next(); long pingTime = DateTime.Now.Ticks; @@ -385,15 +385,13 @@ if (receivedEcho) // Received ping echo ... { - IrssLog.Info("Echo received"); - // Wait 60 seconds before re-pinging ... for (int sleeps = 0; sleeps < 60 && _keepAlive && _registered; sleeps++) Thread.Sleep(1000); } else // Didn't receive ping echo ... { - IrssLog.Warn("No echo, attempting to reconnect ..."); + IrssLog.Warn("No echo to ping, attempting to reconnect ..."); // Break out of pinging cycle ... _registered = false; @@ -411,7 +409,7 @@ { PipeMessage received = PipeMessage.FromString(message); - IrssLog.Info(received.Name); + IrssLog.Debug("Received Message \"{0}\"", received.Name); try { @@ -483,23 +481,18 @@ ClickLaunch(null, null); } - void ClickSetup(object sender, EventArgs e) + bool Configure() { - IrssLog.Info("Setup"); - Setup setup = new Setup(); setup.AutoRun = _autoRun; setup.ServerHost = _serverHost; setup.ProgramFile = _programFile; setup.LaunchOnLoad = _launchOnLoad; - setup.LaunchKeyCode = _launchKeyCode; + setup.LaunchKeyCode = _launchKeyCode; - if (setup.ShowDialog() == DialogResult.OK) + if (setup.ShowDialog(this) == DialogResult.OK) { - if (PipeAccess.ServerRunning && _serverHost != setup.ServerHost) - MessageBox.Show(this, "Changes to the server host address may not take effect until you restart Tray Launcher", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); - _autoRun = setup.AutoRun; _serverHost = setup.ServerHost; _programFile = setup.ProgramFile; @@ -507,8 +500,24 @@ _launchKeyCode = setup.LaunchKeyCode; SaveSettings(); + + return true; } + + return false; } + + void ClickSetup(object sender, EventArgs e) + { + IrssLog.Info("Setup"); + + if (Configure()) + { + Stop(); + Thread.Sleep(500); + Start(); + } + } void ClickLaunch(object sender, EventArgs e) { IrssLog.Info("Launch"); Modified: trunk/plugins/IR Server Suite/Applications/Virtual Remote/MainForm.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Virtual Remote/MainForm.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/Applications/Virtual Remote/MainForm.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -21,7 +21,7 @@ #region Constants - const string DefaultSkin = "MCE"; + const string DefaultSkin = "MCE"; public static readonly string ConfigurationFile = Common.FolderAppData + "Virtual Remote\\Virtual Remote.xml"; @@ -172,7 +172,7 @@ writer.WriteStartElement("settings"); // <settings> writer.WriteAttributeString("ServerHost", _serverHost); - writer.WriteAttributeString("Skin", _remoteSkin); + writer.WriteAttributeString("RemoteSkin", _remoteSkin); writer.WriteEndElement(); // </settings> writer.WriteEndDocument(); @@ -473,8 +473,6 @@ while (_keepAlive && _registered && !reconnect) { - IrssLog.Info("Ping ({0})", _serverHost); - int pingID = random.Next(); long pingTime = DateTime.Now.Ticks; @@ -509,15 +507,13 @@ if (receivedEcho) // Received ping echo ... { - IrssLog.Info("Echo received"); - // Wait 60 seconds before re-pinging ... for (int sleeps = 0; sleeps < 60 && _keepAlive && _registered; sleeps++) Thread.Sleep(1000); } else // Didn't receive ping echo ... { - IrssLog.Warn("No echo, attempting to reconnect ..."); + IrssLog.Warn("No echo to ping, attempting to reconnect ..."); // Break out of pinging cycle ... _registered = false; Modified: trunk/plugins/IR Server Suite/Common/MPUtils/ExternalChannelConfig.cs =================================================================== --- trunk/plugins/IR Server Suite/Common/MPUtils/ExternalChannelConfig.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/Common/MPUtils/ExternalChannelConfig.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -113,8 +113,10 @@ #region Constructor - public ExternalChannelConfig() + public ExternalChannelConfig(string fileName) { + _fileName = fileName; + _cardID = DefaultCardID; _pauseTime = DefaultPauseTime; @@ -207,8 +209,7 @@ public static ExternalChannelConfig Load(string fileName) { - ExternalChannelConfig newECC = new ExternalChannelConfig(); - newECC._fileName = fileName; + ExternalChannelConfig newECC = new ExternalChannelConfig(fileName); XmlDocument doc = new XmlDocument(); doc.Load(newECC._fileName); Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/MacroEditor.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/MacroEditor.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/MacroEditor.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -36,7 +36,10 @@ textBoxName.Enabled = newMacro; if (!newMacro) - ReadFromFile(name); + { + string fileName = MPBlastZonePlugin.FolderMacros + name + Common.FileExtensionMacro; + ReadFromFile(fileName); + } } #endregion Constructor @@ -70,7 +73,7 @@ /// <param name="fileName">Name of Macro to write (macro name, not file path).</param> void WriteToFile(string fileName) { - XmlTextWriter writer = new XmlTextWriter(MPBlastZonePlugin.FolderMacros + fileName + Common.FileExtensionMacro, System.Text.Encoding.UTF8); + XmlTextWriter writer = new XmlTextWriter(fileName, System.Text.Encoding.UTF8); writer.Formatting = Formatting.Indented; writer.Indentation = 1; writer.IndentChar = (char)9; @@ -169,7 +172,7 @@ void ReadFromFile(string fileName) { XmlDocument doc = new XmlDocument(); - doc.Load(MPBlastZonePlugin.FolderMacros + fileName + Common.FileExtensionMacro); + doc.Load(fileName); listBoxMacro.Items.Clear(); @@ -370,6 +373,8 @@ return; } + fileName = MPBlastZonePlugin.FolderMacros + fileName + Common.FileExtensionMacro; + WriteToFile(fileName); try @@ -398,6 +403,8 @@ return; } + fileName = MPBlastZonePlugin.FolderMacros + fileName + Common.FileExtensionMacro; + WriteToFile(fileName); this.DialogResult = DialogResult.OK; Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/MPBlastZonePlugin.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/MPBlastZonePlugin.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/MPBlastZonePlugin.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -496,8 +496,6 @@ while (_keepAlive && _registered && !reconnect) { - Log.Debug("MPBlastZonePlugin: Ping ({0})", _serverHost); - int pingID = random.Next(); long pingTime = DateTime.Now.Ticks; @@ -532,15 +530,13 @@ if (receivedEcho) // Received ping echo ... { - Log.Debug("MPBlastZonePlugin: Echo received"); - // Wait 60 seconds before re-pinging ... for (int sleeps = 0; sleeps < 60 && _keepAlive && _registered; sleeps++) Thread.Sleep(1000); } else // Didn't receive ping echo ... { - Log.Warn("MPBlastZonePlugin: No echo, attempting to reconnect ..."); + Log.Warn("MPBlastZonePlugin: No echo to ping, attempting to reconnect ..."); // Break out of pinging cycle ... _registered = false; @@ -559,7 +555,7 @@ PipeMessage received = PipeMessage.FromString(message); if (LogVerbose) - Log.Info("MPBlastZonePlugin: Received Message \"{0}\"", received.Name); + Log.Debug("MPBlastZonePlugin: Received Message \"{0}\"", received.Name); try { Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/MacroEditor.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/MacroEditor.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/MacroEditor.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -33,7 +33,7 @@ if (!newMacro) { string fileName = MPControlPlugin.FolderMacros + name + Common.FileExtensionMacro; - ReadFromFile(name); + ReadFromFile(fileName); } } @@ -481,6 +481,8 @@ return; } + fileName = MPControlPlugin.FolderMacros + fileName + Common.FileExtensionMacro; + WriteToFile(fileName); this.DialogResult = DialogResult.OK; Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/SetupForm.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/SetupForm.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/SetupForm.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -74,13 +74,7 @@ listBoxMappings.Items.Add(map); // Event Mapper ... - comboBoxCommands.Items.Clear(); - comboBoxCommands.Items.Add(Common.UITextRun); - comboBoxCommands.Items.Add(Common.UITextSerial); - comboBoxCommands.Items.Add(Common.UITextMessage); - comboBoxCommands.Items.Add(Common.UITextKeys); - comboBoxCommands.Items.Add(Common.UITextGoto); - comboBoxCommands.Items.AddRange(MPControlPlugin.GetFileList(true)); + RefreshEventMapperCommands(); comboBoxEvents.Items.Clear(); foreach (string eventType in Enum.GetNames(typeof(MappedEvent.MappingEvent))) @@ -254,6 +248,17 @@ listBoxMacro.Items.AddRange(MPControlPlugin.GetMacroList(false)); } + void RefreshEventMapperCommands() + { + comboBoxCommands.Items.Clear(); + comboBoxCommands.Items.Add(Common.UITextRun); + comboBoxCommands.Items.Add(Common.UITextSerial); + comboBoxCommands.Items.Add(Common.UITextMessage); + comboBoxCommands.Items.Add(Common.UITextKeys); + comboBoxCommands.Items.Add(Common.UITextGoto); + comboBoxCommands.Items.AddRange(MPControlPlugin.GetFileList(true)); + } + void EditIR() { if (listBoxIR.SelectedIndex != -1) @@ -270,6 +275,7 @@ { MessageBox.Show(this, "File not found: " + fileName, "File missing", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); RefreshIRList(); + RefreshEventMapperCommands(); } } } @@ -289,6 +295,7 @@ { MessageBox.Show(this, "File not found: " + fileName, "File missing", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); RefreshMacroList(); + RefreshEventMapperCommands(); } } } @@ -378,6 +385,7 @@ learnIR.ShowDialog(this); RefreshIRList(); + RefreshEventMapperCommands(); } private void buttonEditIR_Click(object sender, EventArgs e) { @@ -400,6 +408,7 @@ } RefreshIRList(); + RefreshEventMapperCommands(); } } @@ -409,6 +418,7 @@ macroEditor.ShowDialog(this); RefreshMacroList(); + RefreshEventMapperCommands(); } private void buttonEditMacro_Click(object sender, EventArgs e) { @@ -431,6 +441,7 @@ } RefreshMacroList(); + RefreshEventMapperCommands(); } } private void buttonTestMacro_Click(object sender, EventArgs e) Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/InputMapper/InputMappingForm.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/InputMapper/InputMappingForm.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/InputMapper/InputMappingForm.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -586,6 +586,7 @@ this.comboBoxCmdProperty.Sorted = true; this.comboBoxCmdProperty.TabIndex = 7; this.comboBoxCmdProperty.SelectionChangeCommitted += new System.EventHandler(this.comboBoxCmdProperty_SelectionChangeCommitted); + this.comboBoxCmdProperty.KeyUp += new System.Windows.Forms.KeyEventHandler(this.comboBoxCmdProperty_KeyUp); // // groupBoxCondition // @@ -663,6 +664,7 @@ this.comboBoxCondProperty.Sorted = true; this.comboBoxCondProperty.TabIndex = 4; this.comboBoxCondProperty.SelectionChangeCommitted += new System.EventHandler(this.comboBoxCondProperty_SelectionChangeCommitted); + this.comboBoxCondProperty.KeyUp += new System.Windows.Forms.KeyEventHandler(this.comboBoxCondProperty_KeyUp); // // groupBoxLayer // @@ -824,8 +826,11 @@ switch (condition) { case "WINDOW": - conditionString = GetFriendlyName(Enum.GetName(typeof(GUIWindow.Window), Convert.ToInt32(conProperty))); - break; + { + try { conditionString = GetFriendlyName(Enum.GetName(typeof(GUIWindow.Window), Convert.ToInt32(conProperty))); } + catch { conditionString = conProperty; } + break; + } case "FULLSCREEN": if (conProperty == "TRUE") conditionString = "Fullscreen"; @@ -852,8 +857,11 @@ commandString = "Key \"" + cmdProperty + "\""; break; case "WINDOW": - commandString = "Window \"" + GetFriendlyName(Enum.GetName(typeof(GUIWindow.Window), Convert.ToInt32(cmdProperty))) + "\""; - break; + { + try { commandString = "Window \"" + GetFriendlyName(Enum.GetName(typeof(GUIWindow.Window), Convert.ToInt32(cmdProperty))) + "\""; } + catch { commandString = "Window \"" + cmdProperty + "\""; } + break; + } case "TOGGLE": commandString = "Toggle Layer"; break; @@ -896,7 +904,7 @@ TreeNode soundNode = new TreeNode(sound); soundNode.Tag = new Data("SOUND", null, sound); - if (sound == String.Empty) + if (String.IsNullOrEmpty(sound)) soundNode.Text = "No Sound"; soundNode.ForeColor = Color.DarkRed; conditionNode.Nodes.Add(soundNode); @@ -1009,7 +1017,7 @@ writer.WriteAttributeString("cmdproperty", cmdProperty); if (cmdProperty == Convert.ToInt32(Action.ActionType.ACTION_KEY_PRESSED).ToString()) { - if (cmdKeyChar != String.Empty) + if (!String.IsNullOrEmpty(cmdKeyChar)) { writer.WriteAttributeString("cmdkeychar", cmdKeyChar); } @@ -1017,7 +1025,7 @@ { writer.WriteAttributeString("cmdkeychar", "0"); } - if (cmdKeyCode != String.Empty) + if (!String.IsNullOrEmpty(cmdKeyCode)) { writer.WriteAttributeString("cmdkeycode", cmdKeyCode); } @@ -1027,7 +1035,7 @@ } } - if (sound != String.Empty) + if (!String.IsNullOrEmpty(sound)) writer.WriteAttributeString("sound", sound); if (focus) writer.WriteAttributeString("focus", focus.ToString()); @@ -1187,11 +1195,21 @@ switch ((string)data.Parameter) { case "WINDOW": - radioButtonWindow.Checked = true; - comboBoxCondProperty.Enabled = true; - UpdateCombo(ref comboBoxCondProperty, windowsList, GetFriendlyName(Enum.GetName(typeof(GUIWindow.Window), Convert.ToInt32(data.Value)))); - break; + { + comboBoxCondProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown; + + radioButtonWindow.Checked = true; + comboBoxCondProperty.Enabled = true; + + string friendlyName; + try { friendlyName = GetFriendlyName(Enum.GetName(typeof(GUIWindow.Window), Convert.ToInt32(data.Value))); } + catch { friendlyName = Convert.ToInt32(data.Value).ToString(); } + UpdateCombo(ref comboBoxCondProperty, windowsList, friendlyName); + break; + } case "FULLSCREEN": + comboBoxCondProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + radioButtonFullscreen.Checked = true; comboBoxCondProperty.Enabled = true; if (Convert.ToBoolean(data.Value)) @@ -1200,11 +1218,15 @@ UpdateCombo(ref comboBoxCondProperty, fullScreenList, "No Fullscreen"); break; case "PLAYER": + comboBoxCondProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + radioButtonPlaying.Checked = true; comboBoxCondProperty.Enabled = true; UpdateCombo(ref comboBoxCondProperty, playerList, playerList[Array.IndexOf(nativePlayerList, (string)data.Value)]); break; case "*": + comboBoxCondProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + comboBoxCondProperty.Text = "none"; radioButtonNoCondition.Checked = true; comboBoxCondProperty.Enabled = false; @@ -1217,7 +1239,7 @@ switch (data.Type) { case "SOUND": - if ((string)data.Value != String.Empty) + if (!String.IsNullOrEmpty(data.Value as string)) comboBoxSound.SelectedItem = data.Value; else comboBoxSound.SelectedItem = "none"; @@ -1245,14 +1267,20 @@ UpdateCombo(ref comboBoxCmdProperty, actionList, "Key Pressed"); break; case "WINDOW": - comboBoxCmdProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - radioButtonActWindow.Checked = true; - comboBoxSound.Enabled = true; - comboBoxCmdProperty.Enabled = true; - textBoxKeyChar.Enabled = textBoxKeyCode.Enabled = false; - textBoxKeyChar.Text = textBoxKeyCode.Text = String.Empty; - UpdateCombo(ref comboBoxCmdProperty, windowsListFiltered, GetFriendlyName(Enum.GetName(typeof(GUIWindow.Window), Convert.ToInt32(data.Value)))); - break; + { + comboBoxCmdProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown; + radioButtonActWindow.Checked = true; + comboBoxSound.Enabled = true; + comboBoxCmdProperty.Enabled = true; + textBoxKeyChar.Enabled = textBoxKeyCode.Enabled = false; + textBoxKeyChar.Text = textBoxKeyCode.Text = String.Empty; + + string friendlyName; + try { friendlyName = GetFriendlyName(Enum.GetName(typeof(GUIWindow.Window), Convert.ToInt32(data.Value))); } + catch { friendlyName = Convert.ToInt32(data.Value).ToString(); } + UpdateCombo(ref comboBoxCmdProperty, windowsListFiltered, friendlyName); + break; + } case "TOGGLE": radioButtonToggle.Checked = true; comboBoxSound.Enabled = true; @@ -1269,7 +1297,6 @@ comboBoxCmdProperty.Enabled = true; textBoxKeyChar.Enabled = textBoxKeyCode.Enabled = false; textBoxKeyChar.Text = textBoxKeyCode.Text = String.Empty; - string friendlyName = String.Empty; UpdateCombo(ref comboBoxCmdProperty, powerList, powerList[Array.IndexOf(nativePowerList, (string)data.Value)]); break; case "PROCESS": @@ -1299,7 +1326,7 @@ } } - void UpdateCombo(ref MediaPortal.UserInterface.Controls.MPComboBox comboBox, Array list, string hilight) + static void UpdateCombo(ref MediaPortal.UserInterface.Controls.MPComboBox comboBox, Array list, string hilight) { comboBox.Items.Clear(); foreach (object item in list) @@ -1309,12 +1336,12 @@ comboBox.Enabled = true; } - void UpdateCombo(ref MediaPortal.UserInterface.Controls.MPComboBox comboBox, ArrayList list, string hilight) + static void UpdateCombo(ref MediaPortal.UserInterface.Controls.MPComboBox comboBox, ArrayList list, string hilight) { UpdateCombo(ref comboBox, list.ToArray(), hilight); } - string GetFriendlyName(string name) + static string GetFriendlyName(string name) { if ((name.IndexOf("ACTION") != -1) || (name.IndexOf("WINDOW") != -1)) name = name.Substring(7); @@ -1355,12 +1382,12 @@ return newName; } - string GetWindowName(string friendlyName) + static string GetWindowName(string friendlyName) { return "WINDOW_" + friendlyName.Replace(' ', '_').ToUpper(); } - string GetActionName(string friendlyName) + static string GetActionName(string friendlyName) { string actionName = String.Empty; @@ -1384,7 +1411,7 @@ } - void CleanAbbreviation(ref string name, string abbreviation) + static void CleanAbbreviation(ref string name, string abbreviation) { int index = name.ToUpper().IndexOf(abbreviation.ToUpper()); if (index != -1) @@ -1393,6 +1420,7 @@ private void radioButtonWindow_Click(object sender, System.EventArgs e) { + comboBoxCondProperty.DropDownStyle = ComboBoxStyle.DropDown; comboBoxCondProperty.Enabled = true; TreeNode node = getNode("CONDITION"); node.Tag = new Data("CONDITION", "WINDOW", "0"); @@ -1403,6 +1431,7 @@ private void radioButtonFullscreen_Click(object sender, System.EventArgs e) { + comboBoxCondProperty.DropDownStyle = ComboBoxStyle.DropDownList; comboBoxCondProperty.Enabled = true; TreeNode node = getNode("CONDITION"); node.Tag = new Data("CONDITION", "FULLSCREEN", "true"); @@ -1413,6 +1442,7 @@ private void radioButtonPlaying_Click(object sender, System.EventArgs e) { + comboBoxCondProperty.DropDownStyle = ComboBoxStyle.DropDownList; comboBoxCondProperty.Enabled = true; TreeNode node = getNode("CONDITION"); node.Tag = new Data("CONDITION", "PLAYER", "TV"); @@ -1423,6 +1453,7 @@ private void radioButtonNoCondition_Click(object sender, System.EventArgs e) { + comboBoxCondProperty.DropDownStyle = ComboBoxStyle.DropDownList; comboBoxCondProperty.Enabled = false; comboBoxCondProperty.Items.Clear(); comboBoxCondProperty.Text = "none"; @@ -1450,14 +1481,19 @@ private void radioButtonActWindow_Click(object sender, System.EventArgs e) { - comboBoxCmdProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + comboBoxCmdProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown; comboBoxSound.Enabled = true; comboBoxCmdProperty.Enabled = true; TreeNode node = getNode("COMMAND"); Data data = new Data("COMMAND", "WINDOW", "0"); node.Tag = data; - UpdateCombo(ref comboBoxCmdProperty, windowsListFiltered, GetFriendlyName(Enum.GetName(typeof(GUIWindow.Window), Convert.ToInt32(data.Value)))); - node.Text = "Window \"" + (string)comboBoxCmdProperty.SelectedItem + "\""; + + string friendlyName; + try { friendlyName = GetFriendlyName(Enum.GetName(typeof(GUIWindow.Window), Convert.ToInt32(data.Value))); } + catch { friendlyName = Convert.ToInt32(data.Value).ToString(); } + UpdateCombo(ref comboBoxCmdProperty, windowsListFiltered, friendlyName); + + node.Text = "Window \"" + comboBoxCmdProperty.Text + "\""; ((Data)node.Tag).Focus = checkBoxGainFocus.Checked; changedSettings = true; } @@ -1699,81 +1735,14 @@ private void comboBoxCondProperty_SelectionChangeCommitted(object sender, EventArgs e) { - TreeNode node = getNode("CONDITION"); - Data data = (Data)node.Tag; - switch ((string)data.Parameter) - { - case "WINDOW": - node.Tag = new Data("CONDITION", "WINDOW", (int)Enum.Parse(typeof(GUIWindow.Window), GetWindowName((string)comboBoxCondProperty.SelectedItem))); - node.Text = (string)comboBoxCondProperty.SelectedItem; - break; - case "FULLSCREEN": - if ((string)comboBoxCondProperty.SelectedItem == "Fullscreen") - node.Tag = new Data("CONDITION", "FULLSCREEN", "true"); - else - node.Tag = new Data("CONDITION", "FULLSCREEN", "false"); - node.Text = (string)comboBoxCondProperty.SelectedItem; - break; - case "PLAYER": - { - node.Tag = new Data("CONDITION", "PLAYER", nativePlayerList[Array.IndexOf(playerList, (string)comboBoxCondProperty.SelectedItem)]); - node.Text = (string)comboBoxCondProperty.SelectedItem; - break; - } - case "*": - break; - } - changedSettings = true; + if (comboBoxCondProperty.DropDownStyle == ComboBoxStyle.DropDownList) + ConditionPropChanged(); } private void comboBoxCmdProperty_SelectionChangeCommitted(object sender, EventArgs e) { - if ((string)comboBoxCmdProperty.SelectedItem == "Key Pressed") - textBoxKeyChar.Enabled = textBoxKeyCode.Enabled = true; - else - { - textBoxKeyChar.Enabled = textBoxKeyCode.Enabled = false; - textBoxKeyChar.Text = textBoxKeyCode.Text = String.Empty; - } - - TreeNode node = getNode("COMMAND"); - Data data = (Data)node.Tag; - switch ((string)data.Parameter) - { - case "ACTION": - if ((string)comboBoxCmdProperty.SelectedItem != "Key Pressed") - { - node.Tag = new Data("COMMAND", "ACTION", (int)Enum.Parse(typeof(Action.ActionType), GetActionName((string)comboBoxCmdProperty.SelectedItem))); - node.Text = "Action \"" + (string)comboBoxCmdProperty.SelectedItem + "\""; - } - else - { - textBoxKeyChar.Text = "0"; - textBoxKeyCode.Text = "0"; - Key key = new Key(Convert.ToInt32(textBoxKeyChar.Text), Convert.ToInt32(textBoxKeyCode.Text)); - node.Tag = new Data("COMMAND", "KEY", key); - node.Text = String.Format("Key Pressed: {0} [{1}]", textBoxKeyChar.Text, textBoxKeyCode.Text); - } - break; - case "WINDOW": - node.Tag = new Data("COMMAND", "WINDOW", (int)Enum.Parse(typeof(GUIWindow.Window), GetWindowName((string)comboBoxCmdProperty.SelectedItem))); - node.Text = "Window \"" + (string)comboBoxCmdProperty.SelectedItem + "\""; - break; - case "POWER": - node.Tag = new Data("COMMAND", "POWER", nativePowerList[Array.IndexOf(powerList, (string)comboBoxCmdProperty.SelectedItem)]); - node.Text = (string)comboBoxCmdProperty.SelectedItem; - break; - case "PROCESS": - node.Tag = new Data("COMMAND", "PROCESS", nativeProcessList[Array.IndexOf(processList, (string)comboBoxCmdProperty.SelectedItem)]); - node.Text = (string)comboBoxCmdProperty.SelectedItem; - break; - case "BLAST": - node.Tag = new Data("COMMAND", "BLAST", (string)comboBoxCmdProperty.SelectedItem); - node.Text = "Blast IR: \"" + (string)comboBoxCmdProperty.SelectedItem + "\""; - break; - } - ((Data)node.Tag).Focus = checkBoxGainFocus.Checked; - changedSettings = true; + if (comboBoxCmdProperty.DropDownStyle == ComboBoxStyle.DropDownList) + CommandPropChanged(); } private void comboBoxSound_SelectionChangeCommitted(object sender, EventArgs e) @@ -1795,9 +1764,9 @@ string keyChar = textBoxKeyChar.Text; string keyCode = textBoxKeyCode.Text; TreeNode node = getNode("COMMAND"); - if (keyChar == String.Empty) + if (String.IsNullOrEmpty(keyChar)) keyChar = "0"; - if (keyCode == String.Empty) + if (String.IsNullOrEmpty(keyCode)) keyCode = "0"; Key key = new Key(Convert.ToInt32(keyChar), Convert.ToInt32(keyCode)); node.Tag = new Data("COMMAND", "KEY", key); @@ -1842,6 +1811,109 @@ changedSettings = true; } + private void comboBoxCondProperty_KeyUp(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Enter && comboBoxCondProperty.DropDownStyle == ComboBoxStyle.DropDown) + ConditionPropChanged(); + } + + private void comboBoxCmdProperty_KeyUp(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Enter && comboBoxCmdProperty.DropDownStyle == ComboBoxStyle.DropDown) + CommandPropChanged(); + } + + private void CommandPropChanged() + { + if ((string)comboBoxCmdProperty.SelectedItem == "Key Pressed") + textBoxKeyChar.Enabled = textBoxKeyCode.Enabled = true; + else + { + textBoxKeyChar.Enabled = textBoxKeyCode.Enabled = false; + textBoxKeyChar.Text = textBoxKeyCode.Text = String.Empty; + } + + TreeNode node = getNode("COMMAND"); + Data data = (Data)node.Tag; + switch ((string)data.Parameter) + { + case "ACTION": + if ((string)comboBoxCmdProperty.SelectedItem != "Key Pressed") + { + node.Tag = new Data("COMMAND", "ACTION", (int)Enum.Parse(typeof(Action.ActionType), GetActionName((string)comboBoxCmdProperty.SelectedItem))); + node.Text = "Action \"" + (string)comboBoxCmdProperty.SelectedItem + "\""; + } + else + { + textBoxKeyChar.Text = "0"; + textBoxKeyCode.Text = "0"; + Key key = new Key(Convert.ToInt32(textBoxKeyChar.Text), Convert.ToInt32(textBoxKeyCode.Text)); + node.Tag = new Data("COMMAND", "KEY", key); + node.Text = String.Format("Key Pressed: {0} [{1}]", textBoxKeyChar.Text, textBoxKeyCode.Text); + } + break; + case "WINDOW": + { + int windowID; + try { windowID = (int)Enum.Parse(typeof(GUIWindow.Window), GetWindowName(comboBoxCmdProperty.Text)); } + catch { windowID = Convert.ToInt32(comboBoxCmdProperty.Text); } + + node.Tag = new Data("COMMAND", "WINDOW", windowID); + node.Text = "Window \"" + comboBoxCmdProperty.Text + "\""; + break; + } + case "POWER": + node.Tag = new Data("COMMAND", "POWER", nativePowerList[Array.IndexOf(powerList, (string)comboBoxCmdProperty.SelectedItem)]); + node.Text = (string)comboBoxCmdProperty.SelectedItem; + break; + case "PROCESS": + node.Tag = new Data("COMMAND", "PROCESS", nativeProcessList[Array.IndexOf(processList, (string)comboBoxCmdProperty.SelectedItem)]); + node.Text = (string)comboBoxCmdProperty.SelectedItem; + break; + case "BLAST": + node.Tag = new Data("COMMAND", "BLAST", (string)comboBoxCmdProperty.SelectedItem); + node.Text = "Blast IR: \"" + (string)comboBoxCmdProperty.SelectedItem + "\""; + break; + } + ((Data)node.Tag).Focus = checkBoxGainFocus.Checked; + changedSettings = true; + } + + private void ConditionPropChanged() + { + TreeNode node = getNode("CONDITION"); + Data data = (Data)node.Tag; + switch ((string)data.Parameter) + { + case "WINDOW": + { + int windowID; + try { windowID = (int)Enum.Parse(typeof(GUIWindow.Window), GetWindowName(comboBoxCondProperty.Text)); } + catch { windowID = Convert.ToInt32(comboBoxCondProperty.Text); } + + node.Tag = new Data("CONDITION", "WINDOW", windowID); + node.Text = comboBoxCondProperty.Text; + break; + } + case "FULLSCREEN": + if ((string)comboBoxCondProperty.SelectedItem == "Fullscreen") + node.Tag = new Data("CONDITION", "FULLSCREEN", "true"); + else + node.Tag = new Data("CONDITION", "FULLSCREEN", "false"); + node.Text = (string)comboBoxCondProperty.SelectedItem; + break; + case "PLAYER": + { + node.Tag = new Data("CONDITION", "PLAYER", nativePlayerList[Array.IndexOf(playerList, (string)comboBoxCondProperty.SelectedItem)]); + node.Text = (string)comboBoxCondProperty.SelectedItem; + break; + } + case "*": + break; + } + changedSettings = true; + } + // private TreeNode tn; // // private void treeMapping_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MPControlPlugin.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MPControlPlugin.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MPControlPlugin.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -52,7 +52,6 @@ internal static readonly string MultiMappingFile = Common.FolderAppData + "MP Control Plugin\\MultiMapping.xml"; internal static readonly string EventMappingFile = Common.FolderAppData + "MP Control Plugin\\EventMapping.xml"; - internal static readonly string ExtCfgFolder = Common.FolderAppData + "MP Control Plugin\\"; internal static readonly string RemotePresetsFolder = Common.FolderAppData + "MP Control Plugin\\Remote Presets\\"; #endregion Constants @@ -111,11 +110,6 @@ #region Properties - internal static bool IsRegistered - { - get { return _registered; } - } - internal static string ServerHost { get { return _serverHost; } @@ -762,8 +756,6 @@ while (_keepAlive && _registered && !reconnect) { - Log.Debug("MPControlPlugin: Ping ({0})", _serverHost); - int pingID = random.Next(); long pingTime = DateTime.Now.Ticks; @@ -798,15 +790,13 @@ if (receivedEcho) // Received ping echo ... { - Log.Debug("MPControlPlugin: Echo received"); - // Wait 60 seconds before re-pinging ... for (int sleeps = 0; sleeps < 60 && _keepAlive && _registered; sleeps++) Thread.Sleep(1000); } else // Didn't receive ping echo ... { - Log.Warn("MPControlPlugin: No echo, attempting to reconnect ..."); + Log.Warn("MPControlPlugin: No echo to ping, attempting to reconnect ..."); // Break out of pinging cycle ... _registered = false; @@ -825,7 +815,7 @@ PipeMessage received = PipeMessage.FromString(message); if (LogVerbose) - Log.Info("MPControlPlugin: Received Message \"{0}\"", received.Name); + Log.Debug("MPControlPlugin: Received Message \"{0}\"", received.Name); try { @@ -949,6 +939,14 @@ } static void ChangeMultiMapping(string multiMapping) { + Log.Debug("ChangeMultiMapping: {0}", multiMapping); + + if (multiMapping == "TOGGLE") + { + ChangeMultiMapping(); + return; + } + for (int index = 0; index < MultiMaps.Length; index++) { if (MultiMaps[index] == multiMapping) @@ -1087,6 +1085,8 @@ static void MapEvent(GUIMessage msg) { MappedEvent.MappingEvent eventType = MappedEvent.GetEventType(msg.Message); + if (eventType == MappedEvent.MappingEvent.None) + return; foreach (MappedEvent mappedEvent in EventMappings) { @@ -1104,45 +1104,22 @@ switch (mappedEvent.Param) { - case "Label 1": - matched = (msg.Label == paramValueString); + case "Label 1": matched = (msg.Label == paramValueString); break; + case "Label 2": matched = (msg.Label2 == paramValueString); break; + case "Label 3": matched = (msg.Label3 == paramValueString); break; + case "Label 4": matched = (msg.Label4 == paramValueString); break; + case "Parameter 1": matched = (msg.Param1 == paramValueInt); break; + case "Parameter 2": matched = (msg.Param2 == paramValueInt); break; + case "Parameter 3": matched = (msg.Param3 == paramValueInt); break; + case "Parameter 4": matched = (msg.Param4 == paramValueInt); break; + case "Sender Control ID": matched = (msg.SenderControlId == paramValueInt); break; + case "Send To Target Window": matched = (msg.SendToTargetWindow == paramValueBool); break; + case "Target Control ID": matched = (msg.TargetControlId == paramValueInt); break; + case "Target Window ID": matched = (msg.TargetWindowId == paramValueInt); break; + + default: + matched = false; break; - case "Label 2": - matched = (msg.Label2 == paramValueString); - break; - case "Label 3": - matched = (msg.Label3 == paramValueString); - break; - case "Label 4": - matched = (msg.Label4 == paramValueString); - break; - case "Parameter 1": - matched = (msg.Param1 == paramValueInt); - break; - case "Parameter 2": - matched = (msg.Param2 == paramValueInt); - break; - case "Parameter 3": - matched = (msg.Param3 == paramValueInt); - break; - case "Parameter 4": - matched = (msg.Param4 == paramValueInt); - break; - case "Sender Control ID": - matched = (msg.SenderControlId == paramValueInt); - break; - case "Send To Target Window": - matched = (msg.SendToTargetWindow == paramValueBool); - break; - case "Target Control ID": - matched = (msg.TargetControlId == paramValueInt); - break; - case "Target Window ID": - matched = (msg.TargetWindowId == paramValueInt); - break; - default: - matched = false; - break; } } Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MappedEvent.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MappedEvent.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MappedEvent.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -58,6 +58,7 @@ Tune_External_Channel, Clicked, Item_Selected, + Go_To_Window, } @@ -119,70 +120,39 @@ { switch (messageType) { - case GUIMessage.MessageType.GUI_MSG_CD_INSERTED: - return MappingEvent.CD_Inserted; - case GUIMessage.MessageType.GUI_MSG_CD_REMOVED: - return MappingEvent.CD_Ejected; - case GUIMessage.MessageType.GUI_MSG_FILE_DOWNLOADED: - return MappingEvent.File_Downloaded; - case GUIMessage.MessageType.GUI_MSG_FILE_DOWNLOADING: - return MappingEvent.File_Downloading; - case GUIMessage.MessageType.GUI_MSG_LOSTFOCUS: - return MappingEvent.Focus_Lost; - case GUIMessage.MessageType.GUI_MSG_MSN_CLOSECONVERSATION: - return MappingEvent.MSN_Close_Conversation; - case GUIMessage.MessageType.GUI_MSG_MSN_MESSAGE: - return MappingEvent.MSN_Message; - case GUIMessage.MessageType.GUI_MSG_MSN_STATUS_MESSAGE: - return MappingEvent.MSN_Status_Message; - case GUIMessage.MessageType.GUI_MSG_PLAY_AUDIO_CD: - return MappingEvent.Play_Audio_CD; - case GUIMessage.MessageType.GUI_MSG_PLAY_FILE: - return MappingEvent.Play_File; - case GUIMessage.MessageType.GUI_MSG_PLAY_ITEM: - return MappingEvent.Play_Item; - case GUIMessage.MessageType.GUI_MSG_PLAY_RADIO_STATION: - return MappingEvent.Play_Radio_Station; - case GUIMessage.MessageType.GUI_MSG_PLAYBACK_ENDED: - return MappingEvent.Playback_Ended; - case GUIMessage.MessageType.GUI_MSG_PLAYBACK_STARTED: - return MappingEvent.Playback_Started; - case GUIMessage.MessageType.GUI_MSG_PLAYBACK_STOPPED: - return MappingEvent.Playback_Stopped; - case GUIMessage.MessageType.GUI_MSG_RECORD: - return MappingEvent.Record; - case GUIMessage.MessageType.GUI_MSG_RECORDER_ABOUT_TO_START_RECORDING: - return MappingEvent.About_To_Record; - case GUIMessage.MessageType.GUI_MSG_RECORDER_START: - return MappingEvent.Recorder_Start; - case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP: - return MappingEvent.Recorder_Stop; - case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP_RADIO: - return MappingEvent.Recorder_Stop_Radio; - case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP_TIMESHIFT: - return MappingEvent.Recorder_Stop_Timeshift; - case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP_TV: - return MappingEvent.Recorder_Stop_TV; - case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP_VIEWING: - return MappingEvent.Recorder_Stop_Viewing; - case GUIMessage.MessageType.GUI_MSG_RECORDER_TUNE_RADIO: - return MappingEvent.Recorder_Tune_Radio; - case GUIMessage.MessageType.GUI_MSG_RECORDER_VIEW_CHANNEL: - return MappingEvent.Recorder_View_Channel; - case GUIMessage.MessageType.GUI_MSG_RESUME_TV: - return MappingEvent.Resume_TV; - case GUIMessage.MessageType.GUI_MSG_START_SLIDESHOW: - return MappingEvent.Slideshow_Start; - case GUIMessage.MessageType.GUI_MSG_STOP_FILE: - return MappingEvent.File_Stop; - case GUIMessage.MessageType.GUI_MSG_SWITCH_FULL_WINDOWED: - return MappingEvent.Switch_Full_Windowed; - case GUIMessage.MessageType.GUI_MSG_TUNE_EXTERNAL_CHANNEL: - return MappingEvent.Tune_External_Channel; - case GUIMessage.MessageType.GUI_MSG_CLICKED: - return MappingEvent.Clicked; - case GUIMessage.MessageType.GUI_MSG_ITEM_SELECTED: - return MappingEvent.Item_Selected; + case GUIMessage.MessageType.GUI_MSG_CD_INSERTED: return MappingEvent.CD_Inserted; + case GUIMessage.MessageType.GUI_MSG_CD_REMOVED: return MappingEvent.CD_Ejected; + case GUIMessage.MessageType.GUI_MSG_FILE_DOWNLOADED: return MappingEvent.File_Downloaded; + case GUIMessage.MessageType.GUI_MSG_FILE_DOWNLOADING: return MappingEvent.File_Downloading; + case GUIMessage.MessageType.GUI_MSG_LOSTFOCUS: return MappingEvent.Focus_Lost; + case GUIMessage.MessageType.GUI_MSG_MSN_CLOSECONVERSATION: return MappingEvent.MSN_Close_Conversation; + case GUIMessage.MessageType.GUI_MSG_MSN_MESSAGE: return MappingEvent.MSN_Message; + case GUIMessage.MessageType.GUI_MSG_MSN_STATUS_MESSAGE: return MappingEvent.MSN_Status_Message; + case GUIMessage.MessageType.GUI_MSG_PLAY_AUDIO_CD: return MappingEvent.Play_Audio_CD; + case GUIMessage.MessageType.GUI_MSG_PLAY_FILE: return MappingEvent.Play_File; + case GUIMessage.MessageType.GUI_MSG_PLAY_ITEM: return MappingEvent.Play_Item; + case GUIMessage.MessageType.GUI_MSG_PLAY_RADIO_STATION: return MappingEvent.Play_Radio_Station; + case GUIMessage.MessageType.GUI_MSG_PLAYBACK_ENDED: return MappingEvent.Playback_Ended; + case GUIMessage.MessageType.GUI_MSG_PLAYBACK_STARTED: return MappingEvent.Playback_Started; + case GUIMessage.MessageType.GUI_MSG_PLAYBACK_STOPPED: return MappingEvent.Playback_Stopped; + case GUIMessage.MessageType.GUI_MSG_RECORD: return MappingEvent.Record; + case GUIMessage.MessageType.GUI_MSG_RECORDER_ABOUT_TO_START_RECORDING: return MappingEvent.About_To_Record; + case GUIMessage.MessageType.GUI_MSG_RECORDER_START: return MappingEvent.Recorder_Start; + case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP: return MappingEvent.Recorder_Stop; + case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP_RADIO: return MappingEvent.Recorder_Stop_Radio; + case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP_TIMESHIFT: return MappingEvent.Recorder_Stop_Timeshift; + case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP_TV: return MappingEvent.Recorder_Stop_TV; + case GUIMessage.MessageType.GUI_MSG_RECORDER_STOP_VIEWING: return MappingEvent.Recorder_Stop_Viewing; + case GUIMessage.MessageType.GUI_MSG_RECORDER_TUNE_RADIO: return MappingEvent.Recorder_Tune_Radio; + case GUIMessage.MessageType.GUI_MSG_RECORDER_VIEW_CHANNEL: return MappingEvent.Recorder_View_Channel; + case GUIMessage.MessageType.GUI_MSG_RESUME_TV: return MappingEvent.Resume_TV; + case GUIMessage.MessageType.GUI_MSG_START_SLIDESHOW: return MappingEvent.Slideshow_Start; + case GUIMessage.MessageType.GUI_MSG_STOP_FILE: return MappingEvent.File_Stop; + case GUIMessage.MessageType.GUI_MSG_SWITCH_FULL_WINDOWED: return MappingEvent.Switch_Full_Windowed; + case GUIMessage.MessageType.GUI_MSG_TUNE_EXTERNAL_CHANNEL: return MappingEvent.Tune_External_Channel; + case GUIMessage.MessageType.GUI_MSG_CLICKED: return MappingEvent.Clicked; + case GUIMessage.MessageType.GUI_MSG_ITEM_SELECTED: return MappingEvent.Item_Selected; + case GUIMessage.MessageType.GUI_MSG_GOTO_WINDOW: return MappingEvent.Go_To_Window; default: return MappingEvent.None; Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/TV2BlasterPlugin.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/TV2BlasterPlugin.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/TV2BlasterPlugin.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -368,8 +368,6 @@ while (_keepAlive && _registered && !reconnect) { - Log.Debug("TV2BlasterPlugin: Ping ({0})", _serverHost); - int pingID = random.Next(); long pingTime = DateTime.Now.Ticks; @@ -404,15 +402,13 @@ if (receivedEcho) // Received ping echo ... { - Log.Debug("TV2BlasterPlugin: Echo received"); - // Wait 60 seconds before re-pinging ... for (int sleeps = 0; sleeps < 60 && _keepAlive && _registered; sleeps++) Thread.Sleep(1000); } else // Didn't receive ping echo ... { - Log.Warn("TV2BlasterPlugin: No echo, attempting to reconnect ..."); + Log.Warn("TV2BlasterPlugin: No echo to ping, attempting to reconnect ..."); // Break out of pinging cycle ... _registered = false; @@ -431,7 +427,7 @@ PipeMessage received = PipeMessage.FromString(message); if (LogVerbose) - Log.Info("TV2BlasterPlugin: Received Message \"{0}\"", received.Name); + Log.Debug("TV2BlasterPlugin: Received Message \"{0}\"", received.Name); try { @@ -558,7 +554,7 @@ } catch (Exception ex) { - ExternalChannelConfigs[index] = new ExternalChannelConfig(); + ExternalChannelConfigs[index] = new ExternalChannelConfig(fileName); Log.Error(ex); } } Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/MacroEditor.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/MacroEditor.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/MacroEditor.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -290,6 +290,8 @@ return; } + fileName = TV3BlasterPlugin.FolderMacros + fileName + Common.FileExtensionMacro; + WriteToFile(fileName); this.DialogResult = DialogResult.OK; Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/TV3BlasterPlugin.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/TV3BlasterPlugin.cs 2007-05-19 06:45:44 UTC (rev 408) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/TV3BlasterPlugin.cs 2007-05-19 16:14:30 UTC (rev 409) @@ -345,8 +345,6 @@ while (_keepAlive && _registered && !reconnect) { - Log.Debug("TV3BlasterPlugin: Ping ({0})", _serverHost); - int pingID = random.Next(); long pingTime = DateTime.Now.Ticks; @@ -381,15 +379,13 @@ if (receivedEcho) // Received ping echo ... { - Log.Debug("TV3BlasterPlugin: Echo received"); - // Wait 60 seconds before re-pinging ... for (int sleeps = 0; sleeps < 60 && _keepAlive && _registered; sleeps++) Thread.Sleep(1000); } else // Didn't receive ping echo ... { - Log.Error("TV3BlasterPlugin: No echo, attempting to reconnect ..."); + Log.Error("TV3BlasterPlugin: No echo to ping, attempting to reconnect ..."); // Break out of pinging cycle ... _registered = false; @@ -408,7 +404,7 @@ PipeMessage received =... [truncated message content] |
From: <an...@us...> - 2007-05-19 06:45:45
|
Revision: 408 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=408&view=rev Author: and-81 Date: 2007-05-18 23:45:44 -0700 (Fri, 18 May 2007) Log Message: ----------- Fixed GoToScreen.cs not storing screen number. Modified Paths: -------------- trunk/plugins/IR Server Suite/Common/MPUtils/Forms/GoToScreen.cs trunk/plugins/MCEReplacement/Forms/GoToScreen.cs Modified: trunk/plugins/IR Server Suite/Common/MPUtils/Forms/GoToScreen.cs =================================================================== --- trunk/plugins/IR Server Suite/Common/MPUtils/Forms/GoToScreen.cs 2007-05-19 06:39:06 UTC (rev 407) +++ trunk/plugins/IR Server Suite/Common/MPUtils/Forms/GoToScreen.cs 2007-05-19 06:45:44 UTC (rev 408) @@ -16,7 +16,7 @@ public string Screen { - get { return comboBoxScreen.SelectedText; } + get { return comboBoxScreen.Text; } } #endregion Properties @@ -33,7 +33,7 @@ if (String.IsNullOrEmpty(selected)) comboBoxScreen.SelectedIndex = 0; else - comboBoxScreen.SelectedText = selected; + comboBoxScreen.Text = selected; } #endregion Constructors Modified: trunk/plugins/MCEReplacement/Forms/GoToScreen.cs =================================================================== --- trunk/plugins/MCEReplacement/Forms/GoToScreen.cs 2007-05-19 06:39:06 UTC (rev 407) +++ trunk/plugins/MCEReplacement/Forms/GoToScreen.cs 2007-05-19 06:45:44 UTC (rev 408) @@ -16,7 +16,7 @@ public string Screen { - get { return comboBoxScreen.SelectedText; } + get { return comboBoxScreen.Text; } } #endregion Properties @@ -33,7 +33,7 @@ if (String.IsNullOrEmpty(selected)) comboBoxScreen.SelectedIndex = 0; else - comboBoxScreen.SelectedText = selected; + comboBoxScreen.Text = selected; } #endregion Constructors This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-05-19 06:39:12
|
Revision: 407 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=407&view=rev Author: and-81 Date: 2007-05-18 23:39:06 -0700 (Fri, 18 May 2007) Log Message: ----------- Fixed GoToScreen.cs not storing the screen number Modified Paths: -------------- trunk/plugins/IR Server Suite/Common/MPUtils/Forms/GoToScreen.cs trunk/plugins/MCEReplacement/Forms/GoToScreen.cs Modified: trunk/plugins/IR Server Suite/Common/MPUtils/Forms/GoToScreen.cs =================================================================== --- trunk/plugins/IR Server Suite/Common/MPUtils/Forms/GoToScreen.cs 2007-05-18 18:02:50 UTC (rev 406) +++ trunk/plugins/IR Server Suite/Common/MPUtils/Forms/GoToScreen.cs 2007-05-19 06:39:06 UTC (rev 407) @@ -16,7 +16,7 @@ public string Screen { - get { return comboBoxScreen.SelectedItem as string; } + get { return comboBoxScreen.SelectedText; } } #endregion Properties @@ -33,7 +33,7 @@ if (String.IsNullOrEmpty(selected)) comboBoxScreen.SelectedIndex = 0; else - comboBoxScreen.SelectedItem = selected; + comboBoxScreen.SelectedText = selected; } #endregion Constructors Modified: trunk/plugins/MCEReplacement/Forms/GoToScreen.cs =================================================================== --- trunk/plugins/MCEReplacement/Forms/GoToScreen.cs 2007-05-18 18:02:50 UTC (rev 406) +++ trunk/plugins/MCEReplacement/Forms/GoToScreen.cs 2007-05-19 06:39:06 UTC (rev 407) @@ -16,14 +16,14 @@ public string Screen { - get { return (string)comboBoxScreen.SelectedItem; } + get { return comboBoxScreen.SelectedText; } } #endregion Properties #region Constructors - public GoToScreen() : this("") { } + public GoToScreen() : this(String.Empty) { } public GoToScreen(string selected) { InitializeComponent(); @@ -33,7 +33,7 @@ if (String.IsNullOrEmpty(selected)) comboBoxScreen.SelectedIndex = 0; else - comboBoxScreen.SelectedItem = selected; + comboBoxScreen.SelectedText = selected; } #endregion Constructors This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-05-18 18:02:52
|
Revision: 406 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=406&view=rev Author: and-81 Date: 2007-05-18 11:02:50 -0700 (Fri, 18 May 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/IR Server Suite/Applications/Translator/Forms/MacroEditor.cs trunk/plugins/IR Server Suite/Applications/Translator/Program.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/MPBlastZonePlugin.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MPControlPlugin.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/TV2BlasterPlugin.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/TV3BlasterPlugin.cs Modified: trunk/plugins/IR Server Suite/Applications/Translator/Forms/MacroEditor.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Translator/Forms/MacroEditor.cs 2007-05-16 16:18:40 UTC (rev 405) +++ trunk/plugins/IR Server Suite/Applications/Translator/Forms/MacroEditor.cs 2007-05-18 18:02:50 UTC (rev 406) @@ -45,7 +45,10 @@ comboBoxCommands.Items.Add(Common.UITextSerial); comboBoxCommands.Items.Add(Common.UITextMessage); comboBoxCommands.Items.Add(Common.UITextKeys); - + //TODO: Add Shutdown and Reboot + comboBoxCommands.Items.Add(Common.UITextStandby); + comboBoxCommands.Items.Add(Common.UITextHibernate); + string[] irList = Common.GetIRList(true); if (irList != null && irList.Length > 0) comboBoxCommands.Items.AddRange(irList); @@ -96,6 +99,16 @@ writer.WriteAttributeString("command", Common.XmlTagKeys); writer.WriteAttributeString("cmdproperty", item.Substring(Common.CmdPrefixKeys.Length)); } + else if (item.StartsWith(Common.CmdPrefixStandby)) + { + writer.WriteAttributeString("command", Common.XmlTagStandby); + writer.WriteAttributeString("cmdproperty", String.Empty); + } + else if (item.StartsWith(Common.CmdPrefixHibernate)) + { + writer.WriteAttributeString("command", Common.XmlTagHibernate); + writer.WriteAttributeString("cmdproperty", String.Empty); + } writer.WriteEndElement(); } @@ -148,6 +161,14 @@ case Common.XmlTagKeys: listBoxMacro.Items.Add(Common.CmdPrefixKeys + commandProperty); break; + + case Common.XmlTagStandby: + listBoxMacro.Items.Add(Common.CmdPrefixStandby); + break; + + case Common.XmlTagHibernate: + listBoxMacro.Items.Add(Common.CmdPrefixHibernate); + break; } } } @@ -211,6 +232,14 @@ listBoxMacro.Items.Add(Common.CmdPrefixKeys + keysCommand.CommandString); } + else if (selected == Common.UITextStandby) + { + listBoxMacro.Items.Add(Common.CmdPrefixStandby); + } + else if (selected == Common.UITextHibernate) + { + listBoxMacro.Items.Add(Common.CmdPrefixHibernate); + } else { BlastCommand blastCommand = new BlastCommand(selected.Substring(Common.CmdPrefixBlast.Length)); Modified: trunk/plugins/IR Server Suite/Applications/Translator/Program.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Translator/Program.cs 2007-05-16 16:18:40 UTC (rev 405) +++ trunk/plugins/IR Server Suite/Applications/Translator/Program.cs 2007-05-18 18:02:50 UTC (rev 406) @@ -858,6 +858,18 @@ Common.ProcessKeyCommand(commandProperty); break; } + + case Common.XmlTagStandby: + { + Application.SetSuspendState(PowerState.Suspend, true, false); + break; + } + + case Common.XmlTagHibernate: + { + Application.SetSuspendState(PowerState.Hibernate, true, false); + break; + } } } } Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/MPBlastZonePlugin.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/MPBlastZonePlugin.cs 2007-05-16 16:18:40 UTC (rev 405) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/MPBlastZonePlugin.cs 2007-05-18 18:02:50 UTC (rev 406) @@ -247,15 +247,8 @@ InConfiguration = false; - if (StartComms()) - { - Log.Debug("MPBlastZonePlugin: Connected to IR Server host \"{0}\"", ServerHost); - } - else - { - Log.Error("MPBlastZonePlugin: Failed to start local comms"); - Log.Error("MPBlastZonePlugin: IR blasting is disabled for this session"); - } + if (!StartComms()) + Log.Error("MPBlastZonePlugin: Failed to start local comms, IR blasting is disabled for this session"); if (LogVerbose) Log.Info("MPBlastZonePlugin: Started"); Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MPControlPlugin.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MPControlPlugin.cs 2007-05-16 16:18:40 UTC (rev 405) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MPControlPlugin.cs 2007-05-18 18:02:50 UTC (rev 406) @@ -231,17 +231,11 @@ if (MultiMappingEnabled) LoadMultiMappings(); - if (StartComms()) - { - Log.Debug("MPControlPlugin: Connected to IR Server host \"{0}\"", ServerHost); - RemoteButtonListener = new RemoteButtonHandler(RemoteButtonPressed); - } - else - { - Log.Error("MPControlPlugin: Failed to connect to server on host \"{0}\"", ServerHost); - Log.Error("MPControlPlugin: Remote button reception and IR blasting are disabled for this session"); - } + if (!StartComms()) + Log.Error("MPControlPlugin: Failed to start local comms, IR input and IR blasting is disabled for this session"); + RemoteButtonListener += new RemoteButtonHandler(RemoteButtonPressed); + // Load the event mapper mappings if (EventMapperEnabled) { @@ -269,6 +263,8 @@ //SystemEvents.SessionEnding -= new SessionEndingEventHandler(SystemEvents_SessionEnding); SystemEvents.PowerModeChanged -= new PowerModeChangedEventHandler(SystemEvents_PowerModeChanged); + RemoteButtonListener -= new RemoteButtonHandler(RemoteButtonPressed); + if (EventMapperEnabled) MapEvent(MappedEvent.MappingEvent.MediaPortal_Stop); Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/TV2BlasterPlugin.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/TV2BlasterPlugin.cs 2007-05-16 16:18:40 UTC (rev 405) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/TV2BlasterPlugin.cs 2007-05-18 18:02:50 UTC (rev 406) @@ -129,15 +129,8 @@ LoadExternalConfigs(); - if (StartComms()) - { - Log.Debug("TV2BlasterPlugin: Connected to IR Server host \"{0}\"", ServerHost); - } - else - { - Log.Error("TV2BlasterPlugin: Failed to connect to server on host \"{0}\"", ServerHost); - Log.Error("TV2BlasterPlugin: IR blasting is disabled for this session"); - } + if (!StartComms()) + Log.Error("TV2BlasterPlugin: Failed to start local comms, IR blasting is disabled for this session"); // Register with MediaPortal to receive GUI Messages ... GUIWindowManager.Receivers += new SendMessageHandler(OnMessage); Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/TV3BlasterPlugin.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/TV3BlasterPlugin.cs 2007-05-16 16:18:40 UTC (rev 405) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/TV3BlasterPlugin.cs 2007-05-18 18:02:50 UTC (rev 406) @@ -144,15 +144,8 @@ _eventHandler = new TvServerEventHandler(events_OnTvServerEvent); events.OnTvServerEvent += _eventHandler; - if (StartComms()) - { - Log.Debug("TV3BlasterPlugin: Connected to IR Server host \"{0}\"", ServerHost); - } - else - { - Log.Error("TV3BlasterPlugin: Failed to connect to server on host \"{0}\"", ServerHost); - Log.Error("TV3BlasterPlugin: IR blasting is disabled for this session"); - } + if (!StartComms()) + Log.Error("TV3BlasterPlugin: Failed to start local comms, IR blasting is disabled for this session"); } public void Stop() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gre...@us...> - 2007-05-16 16:18:44
|
Revision: 405 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=405&view=rev Author: gregmac45 Date: 2007-05-16 09:18:40 -0700 (Wed, 16 May 2007) Log Message: ----------- Fixed incorrect video url Modified Paths: -------------- trunk/plugins/OnlineVideos/Source/OnlineVideos/MetaCafeUtil.cs Modified: trunk/plugins/OnlineVideos/Source/OnlineVideos/MetaCafeUtil.cs =================================================================== --- trunk/plugins/OnlineVideos/Source/OnlineVideos/MetaCafeUtil.cs 2007-05-16 14:00:58 UTC (rev 404) +++ trunk/plugins/OnlineVideos/Source/OnlineVideos/MetaCafeUtil.cs 2007-05-16 16:18:40 UTC (rev 405) @@ -12,6 +12,7 @@ using System.Xml.XPath; using System.ComponentModel; using System.Threading; +using System.Web; @@ -21,11 +22,14 @@ { public override String getUrl(String fsId) - { - String lsHtml = getHTMLData(String.Format("http://www.metacafe.com/fplayer.php?itemID={0}&fs=n&t=embedded",fsId)); - //Log.Write("html to parse to get url = \n{0}",lsHtml); + { + WebClient client = new WebClient(); + String lsHtml = client.DownloadString(String.Format("http://www.metacafe.com/fplayer.php?itemID={0}&fs=n&t=embedded", fsId)); + Regex loRegex = new Regex("url=\"([^\"]+)"); String lsUrl = loRegex.Match(lsHtml).Groups[1].Value; + + lsUrl = HttpUtility.UrlDecode(lsUrl); Log.Info("MetaCafe flv url = {0}",lsUrl); return lsUrl; } @@ -39,7 +43,7 @@ video.Description = rssItem.description; video.ImageUrl = rssItem.mediaThumbnail; video.Title = rssItem.title; - video.VideoUrl = rssItem.link; + video.VideoUrl = Regex.Match(rssItem.link,@"watch/([\d]*)").Groups[1].Value; loVideoList.Add(video); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-05-16 14:01:01
|
Revision: 404 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=404&view=rev Author: and-81 Date: 2007-05-16 07:00:58 -0700 (Wed, 16 May 2007) Log Message: ----------- Fixed STB Command modification through BlasterCommand dialog Modified Paths: -------------- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/BlastCommand.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/MacroEditor.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/StbSetup.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/BlastCommand.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/MacroEditor.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/StbSetup.cs Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/BlastCommand.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/BlastCommand.cs 2007-05-16 07:37:02 UTC (rev 403) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/BlastCommand.cs 2007-05-16 14:00:58 UTC (rev 404) @@ -29,44 +29,55 @@ #endregion Properties + #region Variables + + string _baseFolder; + + #endregion Variables + #region Constructors - public BlastCommand(string file) + public BlastCommand(string baseFolder, string file) { InitializeComponent(); - labelIRCommandFile.Text = file; + SetupPortsAndSpeeds(); - comboBoxPort.Items.AddRange(TV2BlasterPlugin.TransceiverInformation.Ports); - comboBoxPort.SelectedIndex = 0; + _baseFolder = baseFolder; - comboBoxSpeed.Items.AddRange(TV2BlasterPlugin.TransceiverInformation.Speeds); - comboBoxSpeed.SelectedIndex = 0; + labelIRCommandFile.Text = file; } - public BlastCommand(string[] commands) + public BlastCommand(string baseFolder, string[] commands) { InitializeComponent(); + SetupPortsAndSpeeds(); + + _baseFolder = baseFolder; + if (commands == null) return; labelIRCommandFile.Text = commands[0]; - comboBoxPort.Items.AddRange(TV2BlasterPlugin.TransceiverInformation.Ports); if (comboBoxPort.Items.Contains(commands[1])) comboBoxPort.SelectedItem = commands[1]; - else - comboBoxPort.SelectedIndex = 0; - comboBoxSpeed.Items.AddRange(TV2BlasterPlugin.TransceiverInformation.Speeds); if (comboBoxSpeed.Items.Contains(commands[2])) comboBoxSpeed.SelectedItem = commands[2]; - else - comboBoxSpeed.SelectedIndex = 0; } #endregion Constructors + void SetupPortsAndSpeeds() + { + comboBoxPort.Items.AddRange(TV2BlasterPlugin.TransceiverInformation.Ports); + comboBoxPort.SelectedIndex = 0; + + comboBoxSpeed.Items.AddRange(TV2BlasterPlugin.TransceiverInformation.Speeds); + comboBoxSpeed.SelectedIndex = 0; + } + #region Buttons private void buttonOK_Click(object sender, EventArgs e) @@ -90,7 +101,7 @@ try { - TV2BlasterPlugin.BlastIR(Common.FolderIRCommands + fileName + Common.FileExtensionIR, + TV2BlasterPlugin.BlastIR(_baseFolder + fileName + Common.FileExtensionIR, comboBoxPort.SelectedItem as string, comboBoxSpeed.SelectedItem as string); } Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/MacroEditor.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/MacroEditor.cs 2007-05-16 07:37:02 UTC (rev 403) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/MacroEditor.cs 2007-05-16 14:00:58 UTC (rev 404) @@ -233,7 +233,7 @@ } else { - BlastCommand blastCommand = new BlastCommand(selected.Substring(Common.CmdPrefixBlast.Length)); + BlastCommand blastCommand = new BlastCommand(Common.FolderIRCommands, selected.Substring(Common.CmdPrefixBlast.Length)); if (blastCommand.ShowDialog(this) == DialogResult.Cancel) return; @@ -398,7 +398,7 @@ else if (selected.StartsWith(Common.CmdPrefixBlast)) { string[] commands = Common.SplitBlastCommand(selected.Substring(Common.CmdPrefixBlast.Length)); - BlastCommand blastCommand = new BlastCommand(commands); + BlastCommand blastCommand = new BlastCommand(Common.FolderIRCommands, commands); if (blastCommand.ShowDialog(this) == DialogResult.Cancel) return; Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/StbSetup.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/StbSetup.cs 2007-05-16 07:37:02 UTC (rev 403) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/StbSetup.cs 2007-05-16 14:00:58 UTC (rev 404) @@ -220,7 +220,7 @@ if (command.StartsWith(Common.CmdPrefixSTB)) { - blastCommand = new BlastCommand(command.Substring(Common.CmdPrefixSTB.Length)); + blastCommand = new BlastCommand(Common.FolderSTB, command.Substring(Common.CmdPrefixSTB.Length)); listViewExternalCommands.Items[i].SubItems[1].Text = Common.CmdPrefixSTB + blastCommand.CommandString; } else @@ -280,14 +280,14 @@ if (selected.StartsWith(Common.CmdPrefixBlast)) { string[] commands = Common.SplitBlastCommand(selected.Substring(Common.CmdPrefixBlast.Length)); - BlastCommand blastCommand = new BlastCommand(commands); + BlastCommand blastCommand = new BlastCommand(Common.FolderIRCommands, commands); if (blastCommand.ShowDialog(this) == DialogResult.OK) listViewExternalCommands.SelectedItems[0].SubItems[1].Text = Common.CmdPrefixBlast + blastCommand.CommandString; } else if (selected.StartsWith(Common.CmdPrefixSTB)) { string[] commands = Common.SplitBlastCommand(selected.Substring(Common.CmdPrefixSTB.Length)); - BlastCommand blastCommand = new BlastCommand(commands); + BlastCommand blastCommand = new BlastCommand(Common.FolderSTB, commands); if (blastCommand.ShowDialog(this) == DialogResult.OK) listViewExternalCommands.SelectedItems[0].SubItems[1].Text = Common.CmdPrefixSTB + blastCommand.CommandString; } @@ -366,7 +366,7 @@ } else if (selected.StartsWith(Common.CmdPrefixBlast)) { - BlastCommand blastCommand = new BlastCommand(selected.Substring(Common.CmdPrefixBlast.Length)); + BlastCommand blastCommand = new BlastCommand(Common.FolderIRCommands, selected.Substring(Common.CmdPrefixBlast.Length)); if (blastCommand.ShowDialog(this) == DialogResult.Cancel) return; Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/BlastCommand.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/BlastCommand.cs 2007-05-16 07:37:02 UTC (rev 403) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/BlastCommand.cs 2007-05-16 14:00:58 UTC (rev 404) @@ -29,44 +29,55 @@ #endregion Properties + #region Variables + + string _baseFolder; + + #endregion Variables + #region Constructors - public BlastCommand(string file) + public BlastCommand(string baseFolder, string file) { InitializeComponent(); - labelIRCommandFile.Text = file; + SetupPortsAndSpeeds(); - comboBoxPort.Items.AddRange(TV3BlasterPlugin.TransceiverInformation.Ports); - comboBoxPort.SelectedIndex = 0; + _baseFolder = baseFolder; - comboBoxSpeed.Items.AddRange(TV3BlasterPlugin.TransceiverInformation.Speeds); - comboBoxSpeed.SelectedIndex = 0; + labelIRCommandFile.Text = file; } - public BlastCommand(string[] commands) + public BlastCommand(string baseFolder, string[] commands) { InitializeComponent(); + SetupPortsAndSpeeds(); + + _baseFolder = baseFolder; + if (commands == null) return; labelIRCommandFile.Text = commands[0]; - comboBoxPort.Items.AddRange(TV3BlasterPlugin.TransceiverInformation.Ports); if (comboBoxPort.Items.Contains(commands[1])) comboBoxPort.SelectedItem = commands[1]; - else - comboBoxPort.SelectedIndex = 0; - comboBoxSpeed.Items.AddRange(TV3BlasterPlugin.TransceiverInformation.Speeds); if (comboBoxSpeed.Items.Contains(commands[2])) comboBoxSpeed.SelectedItem = commands[2]; - else - comboBoxSpeed.SelectedIndex = 0; } #endregion Constructors + void SetupPortsAndSpeeds() + { + comboBoxPort.Items.AddRange(TV3BlasterPlugin.TransceiverInformation.Ports); + comboBoxPort.SelectedIndex = 0; + + comboBoxSpeed.Items.AddRange(TV3BlasterPlugin.TransceiverInformation.Speeds); + comboBoxSpeed.SelectedIndex = 0; + } + #region Buttons private void buttonOK_Click(object sender, EventArgs e) @@ -90,7 +101,7 @@ try { - TV3BlasterPlugin.BlastIR(Common.FolderIRCommands + fileName + Common.FileExtensionIR, + TV3BlasterPlugin.BlastIR(_baseFolder + fileName + Common.FileExtensionIR, comboBoxPort.SelectedItem as string, comboBoxSpeed.SelectedItem as string); } Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/MacroEditor.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/MacroEditor.cs 2007-05-16 07:37:02 UTC (rev 403) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/MacroEditor.cs 2007-05-16 14:00:58 UTC (rev 404) @@ -213,7 +213,7 @@ } else { - BlastCommand blastCommand = new BlastCommand(selected.Substring(Common.CmdPrefixBlast.Length)); + BlastCommand blastCommand = new BlastCommand(Common.FolderIRCommands, selected.Substring(Common.CmdPrefixBlast.Length)); if (blastCommand.ShowDialog(this) == DialogResult.Cancel) return; @@ -364,7 +364,7 @@ else if (selected.StartsWith(Common.CmdPrefixBlast)) { string[] commands = Common.SplitBlastCommand(selected.Substring(Common.CmdPrefixBlast.Length)); - BlastCommand blastCommand = new BlastCommand(commands); + BlastCommand blastCommand = new BlastCommand(Common.FolderIRCommands, commands); if (blastCommand.ShowDialog(this) == DialogResult.Cancel) return; Modified: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/StbSetup.cs =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/StbSetup.cs 2007-05-16 07:37:02 UTC (rev 403) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/StbSetup.cs 2007-05-16 14:00:58 UTC (rev 404) @@ -244,7 +244,7 @@ if (command.StartsWith(Common.CmdPrefixSTB)) { - blastCommand = new BlastCommand(command.Substring(Common.CmdPrefixSTB.Length)); + blastCommand = new BlastCommand(Common.FolderSTB, command.Substring(Common.CmdPrefixSTB.Length)); listViewExternalCommands.Items[i].SubItems[1].Text = Common.CmdPrefixSTB + blastCommand.CommandString; } else @@ -304,14 +304,14 @@ if (selected.StartsWith(Common.CmdPrefixBlast)) { string[] commands = Common.SplitBlastCommand(selected.Substring(Common.CmdPrefixBlast.Length)); - BlastCommand blastCommand = new BlastCommand(commands); + BlastCommand blastCommand = new BlastCommand(Common.FolderIRCommands, commands); if (blastCommand.ShowDialog(this) == DialogResult.OK) listViewExternalCommands.SelectedItems[0].SubItems[1].Text = Common.CmdPrefixBlast + blastCommand.CommandString; } else if (selected.StartsWith(Common.CmdPrefixSTB)) { string[] commands = Common.SplitBlastCommand(selected.Substring(Common.CmdPrefixSTB.Length)); - BlastCommand blastCommand = new BlastCommand(commands); + BlastCommand blastCommand = new BlastCommand(Common.FolderSTB, commands); if (blastCommand.ShowDialog(this) == DialogResult.OK) listViewExternalCommands.SelectedItems[0].SubItems[1].Text = Common.CmdPrefixSTB + blastCommand.CommandString; } @@ -390,7 +390,7 @@ } else if (selected.StartsWith(Common.CmdPrefixBlast)) { - BlastCommand blastCommand = new BlastCommand(selected.Substring(Common.CmdPrefixBlast.Length)); + BlastCommand blastCommand = new BlastCommand(Common.FolderIRCommands, selected.Substring(Common.CmdPrefixBlast.Length)); if (blastCommand.ShowDialog(this) == DialogResult.Cancel) return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-05-16 07:37:17
|
Revision: 403 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=403&view=rev Author: and-81 Date: 2007-05-16 00:37:02 -0700 (Wed, 16 May 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/IR Server Suite/Applications/Debug Client/MainForm.cs trunk/plugins/IR Server Suite/Applications/IR Server/Config.cs trunk/plugins/IR Server Suite/Applications/IR Server/IR Server.csproj trunk/plugins/IR Server Suite/Applications/IR Server/IRServer.cs trunk/plugins/IR Server Suite/Applications/IR Server/Program.cs trunk/plugins/IR Server Suite/Applications/Translator/Configuration.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/MainForm.cs trunk/plugins/IR Server Suite/Applications/Translator/Program.cs trunk/plugins/IR Server Suite/Applications/Tray Launcher/Program.cs trunk/plugins/IR Server Suite/Applications/Tray Launcher/Setup.cs trunk/plugins/IR Server Suite/Applications/Tray Launcher/Tray.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote/MainForm.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/MainForm.cs trunk/plugins/IR Server Suite/Common/IrssUtils/IrssUtils.csproj trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/AppModule.InterProcessComm.csproj trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/AppModule.NamedPipes.csproj trunk/plugins/IR Server Suite/IR Server Plugins/IR Server Plugin Interface/IR Server Plugin Interface.csproj trunk/plugins/IR Server Suite/IR Server Suite.sln trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/SetupForm.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/MPBlastZonePlugin.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/SetupForm.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MPControlPlugin.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/SetupForm.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/StbSetup.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/TV2BlasterPlugin.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/PluginSetup.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/StbSetup.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/TV3BlasterPlugin.cs Added Paths: ----------- trunk/plugins/IR Server Suite/Common/IrssUtils/SystemRegistry.cs Modified: trunk/plugins/IR Server Suite/Applications/Debug Client/MainForm.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Debug Client/MainForm.cs 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/Debug Client/MainForm.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -10,8 +10,6 @@ using System.Text; using System.Windows.Forms; -using Microsoft.Win32; - using NamedPipes; using IrssUtils; @@ -97,7 +95,7 @@ #region Constants - const string TempIRFile = "test.IR"; + const string TempIRFile = "test.IR"; #endregion @@ -190,10 +188,12 @@ { _transceiverInfo = TransceiverInfo.FromBytes(received.Data); - comboBoxPort.Items.Add(_transceiverInfo.Ports); + comboBoxPort.Items.Clear(); + comboBoxPort.Items.AddRange(_transceiverInfo.Ports); comboBoxPort.SelectedIndex = 0; - comboBoxSpeed.Items.Add(_transceiverInfo.Speeds); + comboBoxSpeed.Items.Clear(); + comboBoxSpeed.Items.AddRange(_transceiverInfo.Speeds); comboBoxSpeed.SelectedIndex = 0; return; } @@ -574,12 +574,15 @@ private void buttonHelp_Click(object sender, EventArgs e) { - RegistryKey registryKey = Registry.LocalMachine.OpenSubKey("Software\\IR Server Suite\\"); - string installFolder = (string)registryKey.GetValue("Install_Dir", String.Empty); - registryKey.Close(); - - Help.ShowHelp(this, installFolder + "\\IR Server Suite.chm"); - // , HelpNavigator.Topic, "index.html" + try + { + Help.ShowHelp(this, SystemRegistry.GetInstallFolder() + "\\IR Server Suite.chm"); + // , HelpNavigator.Topic, "index.html" + } + catch (Exception ex) + { + MessageBox.Show(this, ex.Message, "Failed to load help", MessageBoxButtons.OK, MessageBoxIcon.Error); + } } #endregion Controls Modified: trunk/plugins/IR Server Suite/Applications/IR Server/Config.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/IR Server/Config.cs 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/IR Server/Config.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -9,8 +9,6 @@ using System.Text; using System.Windows.Forms; -using Microsoft.Win32; - using IRServerPluginInterface; using IrssUtils; @@ -104,9 +102,7 @@ try { - RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"); - checkBoxRunAtBoot.Checked = (key.GetValue("IR Server", null) != null); - key.Close(); + checkBoxRunAtBoot.Checked = SystemRegistry.GetAutoRun("IR Server"); } catch { @@ -138,12 +134,10 @@ { try { - RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"); if (checkBoxRunAtBoot.Checked) - key.SetValue("IR Server", Application.ExecutablePath); + SystemRegistry.SetAutoRun("IR Server", Application.ExecutablePath); else - key.DeleteValue("IR Server", false); - key.Close(); + SystemRegistry.RemoveAutoRun("IR Server"); } catch (Exception ex) { @@ -181,12 +175,14 @@ private void buttonHelp_Click(object sender, EventArgs e) { - RegistryKey registryKey = Registry.LocalMachine.OpenSubKey("Software\\IR Server Suite\\"); - string installFolder = (string)registryKey.GetValue("Install_Dir", String.Empty); - registryKey.Close(); - - Help.ShowHelp(this, installFolder + "\\IR Server Suite.chm"); - // , HelpNavigator.Topic, "index.html" + try + { + Help.ShowHelp(this, SystemRegistry.GetInstallFolder() + "\\IR Server Suite.chm", HelpNavigator.Topic, "IR Server"); + } + catch (Exception ex) + { + MessageBox.Show(this, ex.Message, "Failed to load help", MessageBoxButtons.OK, MessageBoxIcon.Error); + } } #endregion Controls Modified: trunk/plugins/IR Server Suite/Applications/IR Server/IR Server.csproj =================================================================== --- trunk/plugins/IR Server Suite/Applications/IR Server/IR Server.csproj 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/IR Server/IR Server.csproj 2007-05-16 07:37:02 UTC (rev 403) @@ -119,7 +119,6 @@ <ProjectReference Include="..\..\IR Server Plugins\IR Server Plugin Interface\IR Server Plugin Interface.csproj"> <Project>{D8B3D28F-62CE-4CA7-86CE-B7EAD614A94C}</Project> <Name>IR Server Plugin Interface</Name> - <Private>True</Private> </ProjectReference> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> Modified: trunk/plugins/IR Server Suite/Applications/IR Server/IRServer.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/IR Server/IRServer.cs 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/IR Server/IRServer.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -6,6 +6,7 @@ using System.Text; using System.Threading; using System.Windows.Forms; +using System.Xml; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; @@ -43,6 +44,12 @@ internal class IRServer { + #region Constants + + public static readonly string ConfigurationFile = Common.FolderAppData + "IR Server\\IR Server.xml"; + + #endregion Constants + #region Variables NotifyIcon _notifyIcon; @@ -64,31 +71,23 @@ string _pluginName = String.Empty; IIRServerPlugin _plugin = null; + bool _inConfiguration = false; + #endregion Variables #region Constructor public IRServer() { - try - { - // Load settings - RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\and-81\IRServer"); + // Setup taskbar icon + _notifyIcon = new NotifyIcon(); + _notifyIcon.ContextMenuStrip = new ContextMenuStrip(); + _notifyIcon.ContextMenuStrip.Items.Add(new ToolStripMenuItem("&Setup", null, new EventHandler(ClickSetup))); + _notifyIcon.ContextMenuStrip.Items.Add(new ToolStripMenuItem("&Quit", null, new EventHandler(ClickQuit))); + _notifyIcon.Icon = Properties.Resources.Icon16; + _notifyIcon.Text = "IR Server"; - _mode = (IRServerMode)key.GetValue("Mode", (int)IRServerMode.ServerMode); - _hostComputer = (string)key.GetValue("HostComputer", String.Empty); - _pluginName = (string)key.GetValue("Plugin", String.Empty); - key.Close(); - } - catch (Exception ex) - { - IrssLog.Error(ex.Message); - - _mode = IRServerMode.ServerMode; - _hostComputer = String.Empty; - _pluginName = String.Empty; - } } #endregion Constructor @@ -103,66 +102,40 @@ { try { - IrssLog.Debug("Starting IR Server"); + IrssLog.Debug("Starting IR Server ..."); - if (String.IsNullOrEmpty(_pluginName)) + LoadSettings(); + + // Try to load the IR Plugin, if it fails (for whatever reason) then run configuration. + _plugin = null; + while (_plugin == null) { - IrssLog.Error("No transceiver plugin specified, cannot start. Run Configuration."); - return false; - } - else - { - IIRServerPlugin[] serverPlugins = Program.AvailablePlugins(); + _plugin = Program.GetPlugin(_pluginName); + IrssLog.Warn("Failed to load plugin \"{0}\"", _pluginName); - if (serverPlugins == null) - { - IrssLog.Error("No IR Server Plugins found, cannot start."); - return false; - } - - foreach (IIRServerPlugin plugin in serverPlugins) - { - if (plugin.Name == _pluginName) - { - _plugin = plugin; - break; - } - } - if (_plugin == null) { - IrssLog.Error("Failed to start transceiver plugin \"{0}\", cannot start. Run Configuration.", _pluginName); - return false; + if (Configure()) + SaveSettings(); + else + return false; } - else - { - IrssLog.Info("Loading transceiver plugin: \"{0}\"", _pluginName); - } } - // Create a FIFO message queue - _messageQueue = Queue.Synchronized(new Queue()); + StartMessageQueue(); - // Start message queue handling thread - _processMessageQueue = true; - _messageHandlerThread = new Thread(new ThreadStart(MessageHandlerThread)); - _messageHandlerThread.IsBackground = true; - _messageHandlerThread.Name = "IR Server Message Queue"; - _messageHandlerThread.Start(); - - IrssLog.Debug("Message Queue thread started"); - switch (_mode) { case IRServerMode.ServerMode: { - // Initialize registered clients list + // Initialize registered client lists ... _registeredClients = new List<Client>(); + _registeredRepeaters = new List<Client>(); // Start server pipe PipeAccess.StartServer(Common.ServerPipeName, new PipeMessageHandler(QueueMessage)); - IrssLog.Debug("Server Mode: \\\\" + Environment.MachineName + "\\pipe\\" + Common.ServerPipeName); + IrssLog.Info("Server Mode: \\\\" + Environment.MachineName + "\\pipe\\" + Common.ServerPipeName); break; } @@ -207,12 +180,6 @@ if (_plugin.CanReceive) _plugin.RemoteButtonCallback += new RemoteButtonHandler(RemoteButtonPressed); - // Setup taskbar icon - _notifyIcon = new NotifyIcon(); - _notifyIcon.ContextMenu = new ContextMenu(); - _notifyIcon.ContextMenu.MenuItems.Add(new MenuItem("&Quit", ClickQuit)); - _notifyIcon.Icon = Properties.Resources.Icon16; - _notifyIcon.Text = "IR Server"; _notifyIcon.Visible = true; IrssLog.Info("IR Server started"); @@ -233,13 +200,12 @@ { IrssLog.Info("Stopping IR Server ..."); - _processMessageQueue = false; - _notifyIcon.Visible = false; if (_plugin.CanReceive) _plugin.RemoteButtonCallback -= new RemoteButtonHandler(RemoteButtonPressed); - + + // Stop Plugin try { _plugin.Stop(); @@ -249,8 +215,19 @@ IrssLog.Error(ex.ToString()); } + // Stop Message Queue try { + StopMessageQueue(); + } + catch (Exception ex) + { + IrssLog.Error(ex.ToString()); + } + + // Stop Server + try + { switch (_mode) { case IRServerMode.ServerMode: @@ -271,10 +248,68 @@ { IrssLog.Error(ex.ToString()); } + } - Application.Exit(); + bool Configure() + { + _inConfiguration = true; + + try + { + Config config = new Config(); + config.Mode = _mode; + config.HostComputer = _hostComputer; + config.Plugin = _pluginName; + + if (config.ShowDialog() == DialogResult.OK) + { + _mode = config.Mode; + _hostComputer = config.HostComputer; + _pluginName = config.Plugin; + + _inConfiguration = false; + + return true; + } + } + catch (Exception ex) + { + IrssLog.Error(ex.ToString()); + } + + _inConfiguration = false; + + return false; } + void StartMessageQueue() + { + _processMessageQueue = true; + + // Create a FIFO message queue + _messageQueue = Queue.Synchronized(new Queue()); + + // Start message queue handling thread + _messageHandlerThread = new Thread(new ThreadStart(MessageHandlerThread)); + _messageHandlerThread.IsBackground = true; + _messageHandlerThread.Name = "IR Server Message Queue"; + _messageHandlerThread.Start(); + } + void StopMessageQueue() + { + _processMessageQueue = false; + + try + { + if (_messageHandlerThread != null && _messageHandlerThread.IsAlive) + _messageHandlerThread.Abort(); + } + catch { } + + _messageQueue.Clear(); + _messageQueue = null; + } + bool StartRelay() { bool retry = false; @@ -344,8 +379,6 @@ bool StartRepeater() { - _registeredRepeaters = new List<Client>(); - bool retry = false; int pipeNumber = 1; string localPipeTest; @@ -530,7 +563,6 @@ UnregisterClient(pipe, server); } } - void SendToRepeaters(PipeMessage message) { IrssLog.Debug("SendToRepeaters({0})", message.ToString()); @@ -902,7 +934,9 @@ PipeMessage response = new PipeMessage(Common.ServerPipeName, Environment.MachineName, "Server Shutdown", null); SendToAll(response); } + Stop(); + Application.Exit(); break; } @@ -1001,10 +1035,27 @@ catch { } } + void ClickSetup(object sender, EventArgs e) + { + IrssLog.Info("Setup"); + + if (_inConfiguration) + return; + + Stop(); + + if (Configure()) + SaveSettings(); + + Start(); + } void ClickQuit(object sender, EventArgs e) { IrssLog.Info("Quit"); + if (_inConfiguration) + return; + if (_mode == IRServerMode.ServerMode) { PipeMessage message = new PipeMessage(Common.ServerPipeName, Environment.MachineName, "Server Shutdown", null); @@ -1012,8 +1063,54 @@ } Stop(); + Application.Exit(); } + void LoadSettings() + { + try + { + XmlDocument doc = new XmlDocument(); + doc.Load(ConfigurationFile); + + _mode = (IRServerMode)Enum.Parse(typeof(IRServerMode), doc.DocumentElement.Attributes["Mode"].Value); + _hostComputer = doc.DocumentElement.Attributes["HostComputer"].Value; + _pluginName = doc.DocumentElement.Attributes["Plugin"].Value; + } + catch (Exception ex) + { + IrssLog.Error(ex.ToString()); + + _mode = IRServerMode.ServerMode; + _hostComputer = String.Empty; + _pluginName = String.Empty; + } + } + void SaveSettings() + { + try + { + XmlTextWriter writer = new XmlTextWriter(ConfigurationFile, System.Text.Encoding.UTF8); + writer.Formatting = Formatting.Indented; + writer.Indentation = 1; + writer.IndentChar = (char)9; + writer.WriteStartDocument(true); + writer.WriteStartElement("settings"); // <settings> + + writer.WriteAttributeString("Mode", Enum.GetName(typeof(IRServerMode), _mode)); + writer.WriteAttributeString("HostComputer", _hostComputer); + writer.WriteAttributeString("Plugin", _pluginName); + + writer.WriteEndElement(); // </settings> + writer.WriteEndDocument(); + writer.Close(); + } + catch (Exception ex) + { + IrssLog.Error(ex.ToString()); + } + } + #endregion Implementation } Modified: trunk/plugins/IR Server Suite/Applications/IR Server/Program.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/IR Server/Program.cs 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/IR Server/Program.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -16,86 +16,22 @@ static class Program { - enum ErrorCode : int - { - None = 0, - InvalidCommandLine = 1, - MultipleInstances = 2, - FailedToStart = 3, - Other = 127 - } - - /// <summary> - /// Entry point for IR Server - /// </summary> - /// <param name="args">Command line arguments - /// /c = configure the IR Server - /// /k = kill the server - /// /? = show command line parameters - /// </param> - /// <returns>Exit code to show what happened - /// 0 = Successful - /// 1 = Invalid command line arguments - /// 2 = Multiple instances - /// 3 = Failed to start - /// 4 = Other failure - /// </returns> [STAThread] static int Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - // Process Command Line Arguments - if (args.Length == 1) - { - switch(args[0]) - { - case "--help": - case "-help": - case "/help": - case "-?": - case "/?": - MessageBox.Show( -@"Command Line Parameters: - -/c = configure the IR Server -/k = kill the server -/? = show command line parameters", - "IR Server", MessageBoxButtons.OK, MessageBoxIcon.Information); - return (int)ErrorCode.None; - - case "-configure": - case "/configure": - case "-c": - case "/c": - return Configure(); - - case "-kill": - case "/kill": - case "-k": - case "/k": - return Kill(); - - default: - return (int)ErrorCode.InvalidCommandLine; - } - } - else if (args.Length > 1) - { - return (int)ErrorCode.InvalidCommandLine; - } - // Check for multiple instances try { - if (IsMultipleInstances()) - return (int)ErrorCode.MultipleInstances; + if (Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName).Length != 1) + return 1; } catch (Exception ex) { Console.WriteLine(ex.Message); - return (int)ErrorCode.Other; + return 1; } // Open log file @@ -109,103 +45,41 @@ catch (Exception ex) { Console.WriteLine(ex.Message); - return (int)ErrorCode.Other; + return 1; } // Start Server - IRServer transceiverServer = new IRServer(); + IRServer irServer = new IRServer(); - if (transceiverServer.Start()) + if (irServer.Start()) { Application.Run(); IrssLog.Close(); - return (int)ErrorCode.None; + return 0; } else { MessageBox.Show("Failed to start IR Server, refer to log file for more details.", "IR Server", MessageBoxButtons.OK, MessageBoxIcon.Error); IrssLog.Close(); - return (int)ErrorCode.FailedToStart; + return 1; } } - static bool IsMultipleInstances() - { - return (Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName).Length != 1); - } - - static int Configure() - { - RegistryKey key = null; - - try - { - key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\and-81\IRServer"); - - Config config = new Config(); - config.Mode = (IRServerMode)key.GetValue("Mode", (int)IRServerMode.ServerMode); - config.HostComputer = (string)key.GetValue("HostComputer", String.Empty); - config.Plugin = (string)key.GetValue("Plugin", String.Empty); - - if (config.ShowDialog() == DialogResult.OK) - { - key.SetValue("Mode", (int)config.Mode); - key.SetValue("HostComputer", config.HostComputer); - key.SetValue("Plugin", config.Plugin); - - if (IsMultipleInstances()) - MessageBox.Show("You must restart the IR Server for any settings changes to take effect.", "IR Server", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - - key.Close(); - } - catch (Exception ex) - { - if (key != null) - key.Close(); - - MessageBox.Show(ex.Message, "IR Server - Configuration Error", MessageBoxButtons.OK, MessageBoxIcon.Error); - return (int)ErrorCode.Other; - } - - return (int)ErrorCode.None; - } - static int Kill() - { - try - { - Process[] processes = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName); - foreach (Process proc in processes) - if (proc.Id != Process.GetCurrentProcess().Id) - proc.Kill(); - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, "IR Server Error", MessageBoxButtons.OK, MessageBoxIcon.Error); - return (int)ErrorCode.Other; - } - - return (int)ErrorCode.None; - } - /// <summary> - /// Retreives a list of available IR Server plugins + /// Retreives a list of available IR Server plugins. /// </summary> - /// <returns>Array of plugin instances</returns> + /// <returns>Array of plugin instances.</returns> internal static IIRServerPlugin[] AvailablePlugins() { try { List<IIRServerPlugin> plugins = new List<IIRServerPlugin>(); - RegistryKey registryKey = Registry.LocalMachine.OpenSubKey("Software\\IR Server Suite\\"); - string installFolder = (string)registryKey.GetValue("Install_Dir", String.Empty); - registryKey.Close(); - - if (string.IsNullOrEmpty(installFolder)) + string installFolder = SystemRegistry.GetInstallFolder(); + if (String.IsNullOrEmpty(installFolder)) return null; string[] files = Directory.GetFiles(installFolder + "\\IR Server Plugins\\", "*.dll", SearchOption.TopDirectoryOnly); @@ -239,7 +113,7 @@ MessageBox.Show(ex.ToString(), "IR Server Unexpected Error"); } } - + return plugins.ToArray(); } catch (Exception ex) @@ -249,6 +123,31 @@ } } + /// <summary> + /// Retreives a plugin instance given the plugin name. + /// </summary> + /// <param name="pluginName">Name of plugin to instantiate.</param> + /// <returns>Plugin instance.</returns> + internal static IIRServerPlugin GetPlugin(string pluginName) + { + if (String.IsNullOrEmpty(pluginName)) + return null; + + IIRServerPlugin[] serverPlugins = AvailablePlugins(); + if (serverPlugins == null) + return null; + + foreach (IIRServerPlugin plugin in serverPlugins) + { + if (plugin.Name == pluginName) + { + return plugin; + } + } + + return null; + } + } } Modified: trunk/plugins/IR Server Suite/Applications/Translator/Configuration.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Translator/Configuration.cs 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/Translator/Configuration.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -16,6 +16,8 @@ #region Variables + string _serverHost; + List<ButtonMapping> _systemWideMappings; List<ProgramSettings> _programSettings; List<MappedEvent> _mappedEvents; @@ -24,6 +26,13 @@ #region Properties + [XmlElement] + public string ServerHost + { + get { return _serverHost; } + set { _serverHost = value; } + } + [XmlArray] public List<ButtonMapping> SystemWideMappings { @@ -51,6 +60,8 @@ public Configuration() { + _serverHost = String.Empty; + _systemWideMappings = new List<ButtonMapping>(); _programSettings = new List<ProgramSettings>(); _mappedEvents = new List<MappedEvent>(); @@ -78,7 +89,7 @@ } catch (Exception ex) { - IrssLog.Error(ex.Message); + IrssLog.Error(ex.ToString()); return false; } } @@ -98,7 +109,7 @@ } catch (Exception ex) { - IrssLog.Error(ex.Message); + IrssLog.Error(ex.ToString()); return null; } } Modified: trunk/plugins/IR Server Suite/Applications/Translator/Forms/MainForm.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Translator/Forms/MainForm.cs 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/Translator/Forms/MainForm.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -8,8 +8,6 @@ using System.Text; using System.Windows.Forms; -using Microsoft.Win32; - using IrssUtils; using IrssUtils.Forms; @@ -99,9 +97,7 @@ try { - RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"); - checkBoxAutoRun.Checked = (key.GetValue("Translator", null) != null); - key.Close(); + checkBoxAutoRun.Checked = SystemRegistry.GetAutoRun("Translator"); } catch { } } @@ -652,12 +648,10 @@ private void checkBoxAutoRun_CheckedChanged(object sender, EventArgs e) { - RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"); if (checkBoxAutoRun.Checked) - key.SetValue("Translator", Application.ExecutablePath); - else if (key.GetValue("Translator", null) != null) - key.DeleteValue("Translator"); - key.Close(); + SystemRegistry.SetAutoRun("Translator", Application.ExecutablePath); + else + SystemRegistry.RemoveAutoRun("Translator"); } private void buttonAddEvent_Click(object sender, EventArgs e) @@ -862,14 +856,12 @@ } private void serverToolStripMenuItem_Click(object sender, EventArgs e) { - IrssUtils.Forms.ServerAddress serverAddress = new IrssUtils.Forms.ServerAddress(Program.ServerHost); + IrssUtils.Forms.ServerAddress serverAddress = new IrssUtils.Forms.ServerAddress(Program.Config.ServerHost); if (serverAddress.ShowDialog(this) == DialogResult.OK) { - RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\and-81\Translator"); - key.SetValue("ServerHost", serverAddress.ServerHost); - key.Close(); - - MessageBox.Show(this, "Changes to the Server Host will not take effect until the program is restarted", "Note", MessageBoxButtons.OK, MessageBoxIcon.Information); + Program.StopComms(); + Program.Config.ServerHost = serverAddress.ServerHost; + Program.StartComms(); } } private void quitToolStripMenuItem_Click(object sender, EventArgs e) @@ -878,12 +870,14 @@ } private void translatorHelpToolStripMenuItem_Click(object sender, EventArgs e) { - RegistryKey registryKey = Registry.LocalMachine.OpenSubKey("Software\\IR Server Suite\\"); - string installFolder = (string)registryKey.GetValue("Install_Dir", String.Empty); - registryKey.Close(); - - Help.ShowHelp(this, installFolder + "\\IR Server Suite.chm"); - // , HelpNavigator.Topic, "index.html" + try + { + Help.ShowHelp(this, SystemRegistry.GetInstallFolder() + "\\IR Server Suite.chm", HelpNavigator.Topic, "Translator"); + } + catch (Exception ex) + { + MessageBox.Show(this, ex.Message, "Failed to load help", MessageBoxButtons.OK, MessageBoxIcon.Error); + } } private void aboutToolStripMenuItem_Click(object sender, EventArgs e) { Modified: trunk/plugins/IR Server Suite/Applications/Translator/Program.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Translator/Program.cs 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/Translator/Program.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -97,7 +97,6 @@ static Configuration _config; - static string _serverHost = String.Empty; static string _localPipeName = String.Empty; static string _learnIRFilename = null; @@ -116,12 +115,6 @@ #region Properties - internal static string ServerHost - { - get { return _serverHost; } - set { _serverHost = value; } - } - internal static Configuration Config { get { return _config; } @@ -165,25 +158,21 @@ IrssLog.Debug("Platform is {0}", (IntPtr.Size == 4 ? "32-bit" : "64-bit")); - RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\and-81\Translator"); - _serverHost = (string)key.GetValue("ServerHost", String.Empty); - key.Close(); + _config = Configuration.Load(ConfigFile); + if (_config == null) + _config = new Configuration(); - if (String.IsNullOrEmpty(_serverHost)) + if (String.IsNullOrEmpty(_config.ServerHost)) { - IrssUtils.Forms.ServerAddress serverAddress = new IrssUtils.Forms.ServerAddress(_serverHost); + IrssUtils.Forms.ServerAddress serverAddress = new IrssUtils.Forms.ServerAddress(_config.ServerHost); if (serverAddress.ShowDialog() == DialogResult.OK) { - _serverHost = serverAddress.ServerHost; - SaveOptions(); + _config.ServerHost = serverAddress.ServerHost; + Configuration.Save(_config, ConfigFile); } } - _config = Configuration.Load(ConfigFile); - if (_config == null) - _config = new Configuration(); - // Setup notify icon ... _notifyIcon = new NotifyIcon(); _notifyIcon.ContextMenuStrip = new ContextMenuStrip(); @@ -249,13 +238,6 @@ } - internal static void SaveOptions() - { - RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\and-81\Translator"); - key.SetValue("ServerHost", _serverHost); - key.Close(); - } - internal static void UpdateNotifyMenu() { _notifyIcon.ContextMenuStrip.Items.Clear(); @@ -333,7 +315,7 @@ Application.Exit(); } - static bool StartComms() + internal static bool StartComms() { try { @@ -354,7 +336,7 @@ return false; } - static void StopComms() + internal static void StopComms() { _notifyIcon.Visible = false; @@ -362,7 +344,7 @@ try { - if (_keepAliveThread != null) + if (_keepAliveThread != null && _keepAliveThread.IsAlive) _keepAliveThread.Abort(); } catch { } @@ -374,7 +356,7 @@ _registered = false; PipeMessage message = new PipeMessage(_localPipeName, Environment.MachineName, "Unregister", null); - PipeAccess.SendMessage(Common.ServerPipeName, _serverHost, message.ToString()); + PipeAccess.SendMessage(Common.ServerPipeName, _config.ServerHost, message.ToString()); } } catch { } @@ -430,7 +412,7 @@ try { PipeMessage message = new PipeMessage(_localPipeName, Environment.MachineName, "Register", null); - PipeAccess.SendMessage(Common.ServerPipeName, _serverHost, message.ToString()); + PipeAccess.SendMessage(Common.ServerPipeName, _config.ServerHost, message.ToString()); return true; } catch (AppModule.NamedPipes.NamedPipeIOException) @@ -462,7 +444,7 @@ #region Connect to server - IrssLog.Info("Connecting ({0}) ...", _serverHost); + IrssLog.Info("Connecting ({0}) ...", _config.ServerHost); attempt = 0; while (_keepAlive && reconnect) { @@ -511,7 +493,7 @@ if (_keepAlive && _registered && !reconnect) { - IrssLog.Info("Connected ({0})", _serverHost); + IrssLog.Info("Connected ({0})", _config.ServerHost); _notifyIcon.Icon = Properties.Resources.Icon16; _notifyIcon.Text = "Translator"; @@ -529,7 +511,7 @@ while (_keepAlive && _registered && !reconnect) { - IrssLog.Info("Ping ({0})", _serverHost); + IrssLog.Info("Ping ({0})", _config.ServerHost); int pingID = random.Next(); long pingTime = DateTime.Now.Ticks; @@ -537,7 +519,7 @@ try { PipeMessage message = new PipeMessage(_localPipeName, Environment.MachineName, "Ping", BitConverter.GetBytes(pingID)); - PipeAccess.SendMessage(Common.ServerPipeName, _serverHost, message.ToString()); + PipeAccess.SendMessage(Common.ServerPipeName, _config.ServerHost, message.ToString()); } catch { @@ -910,7 +892,7 @@ _learnIRFilename = fileName; PipeMessage message = new PipeMessage(_localPipeName, Environment.MachineName, "Learn", null); - PipeAccess.SendMessage(Common.ServerPipeName, _serverHost, message.ToString()); + PipeAccess.SendMessage(Common.ServerPipeName, _config.ServerHost, message.ToString()); } catch (Exception ex) { @@ -948,7 +930,7 @@ file.Close(); PipeMessage message = new PipeMessage(_localPipeName, Environment.MachineName, "Blast", outData); - PipeAccess.SendMessage(Common.ServerPipeName, ServerHost, message.ToString()); + PipeAccess.SendMessage(Common.ServerPipeName, _config.ServerHost, message.ToString()); } /// <summary> Modified: trunk/plugins/IR Server Suite/Applications/Tray Launcher/Program.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Tray Launcher/Program.cs 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/Tray Launcher/Program.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -2,8 +2,6 @@ using System.Diagnostics; using System.Windows.Forms; -using Microsoft.Win32; - using IrssUtils; namespace TrayLauncher Modified: trunk/plugins/IR Server Suite/Applications/Tray Launcher/Setup.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Tray Launcher/Setup.cs 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/Tray Launcher/Setup.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -19,7 +19,7 @@ #region Variables OpenFileDialog openFileDialog; - string _launchButton; + string _launchKeyCode; #endregion Variables @@ -45,10 +45,10 @@ get { return checkBoxLaunchOnLoad.Checked; } set { checkBoxLaunchOnLoad.Checked = value; } } - public string LaunchButton + public string LaunchKeyCode { - get { return _launchButton; } - set { _launchButton = value; } + get { return _launchKeyCode; } + set { _launchKeyCode = value; } } #endregion Properties @@ -108,7 +108,7 @@ if (String.IsNullOrEmpty(keyCode)) return; - _launchButton = keyCode; + _launchKeyCode = keyCode; } } Modified: trunk/plugins/IR Server Suite/Applications/Tray Launcher/Tray.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Tray Launcher/Tray.cs 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/Tray Launcher/Tray.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -7,9 +7,8 @@ using System.Text; using System.Threading; using System.Windows.Forms; +using System.Xml; -using Microsoft.Win32; - using NamedPipes; using IrssUtils; @@ -19,16 +18,14 @@ public class Tray : Form { - #region Properties + #region Constants - internal static Common.MessageHandler HandleMessage - { - get { return _handleMessage; } - set { _handleMessage = value; } - } + const string DefaultKeyCode = "31730"; - #endregion Properties - + public static readonly string ConfigurationFile = Common.FolderAppData + "Tray Launcher\\Tray Launcher.xml"; + + #endregion Constants + #region Variables static Common.MessageHandler _handleMessage = null; @@ -49,24 +46,28 @@ NotifyIcon _notifyIcon; #endregion Variables - - #region Constants - const string DefaultKeyCode = "31730"; + #region Properties - #endregion Constants + internal static Common.MessageHandler HandleMessage + { + get { return _handleMessage; } + set { _handleMessage = value; } + } + #endregion Properties + #region Constructor public Tray() { - ContextMenu contextMenu = new ContextMenu(); - contextMenu.MenuItems.Add(new MenuItem("Launch", ClickLaunch)); - contextMenu.MenuItems.Add(new MenuItem("Setup", ClickSetup)); - contextMenu.MenuItems.Add(new MenuItem("Quit", ClickQuit)); + ContextMenuStrip contextMenu = new ContextMenuStrip(); + contextMenu.Items.Add(new ToolStripMenuItem("&Launch", null, new EventHandler(ClickLaunch))); + contextMenu.Items.Add(new ToolStripMenuItem("&Setup", null, new EventHandler(ClickSetup))); + contextMenu.Items.Add(new ToolStripMenuItem("&Quit", null, new EventHandler(ClickQuit))); _notifyIcon = new NotifyIcon(); - _notifyIcon.ContextMenu = contextMenu; + _notifyIcon.ContextMenuStrip = contextMenu; _notifyIcon.Icon = Properties.Resources.Icon16Connecting; _notifyIcon.Text = "Tray Launcher - Connecting ..."; _notifyIcon.DoubleClick += new EventHandler(ClickSetup); @@ -80,7 +81,7 @@ { try { - LoadSetup(); + LoadSettings(); bool didSetup = false; if (String.IsNullOrEmpty(_programFile) || String.IsNullOrEmpty(_serverHost)) @@ -118,7 +119,7 @@ try { - if (_keepAliveThread != null) + if (_keepAliveThread != null && _keepAliveThread.IsAlive) _keepAliveThread.Abort(); } catch { } @@ -143,51 +144,70 @@ catch { } } - void LoadSetup() + void LoadSettings() { - IrssLog.Info("Load Setup"); + try + { + _autoRun = SystemRegistry.GetAutoRun("Tray Launcher"); + } + catch (Exception ex) + { + IrssLog.Error(ex.ToString()); + _autoRun = false; + } + try { - RegistryKey key; + XmlDocument doc = new XmlDocument(); + doc.Load(ConfigurationFile); - key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"); - _autoRun = (key.GetValue("Tray Launcher", null) != null); - key.Close(); - - key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\and-81\TrayLauncher"); - _serverHost = (string)key.GetValue("ServerHost", String.Empty); - _programFile = (string)key.GetValue("Launch", String.Empty); - _launchOnLoad = bool.Parse((string)key.GetValue("LaunchOnLoad", "False")); - _launchKeyCode = (string)key.GetValue("LaunchButton", DefaultKeyCode); - key.Close(); + _serverHost = doc.DocumentElement.Attributes["ServerHost"].Value; + _programFile = doc.DocumentElement.Attributes["ProgramFile"].Value; + _launchOnLoad = bool.Parse(doc.DocumentElement.Attributes["LaunchOnLoad"].Value); + _launchKeyCode = doc.DocumentElement.Attributes["LaunchKeyCode"].Value; } catch (Exception ex) { IrssLog.Error(ex.ToString()); + + _serverHost = String.Empty; + _programFile = String.Empty; + _launchOnLoad = false; + _launchKeyCode = DefaultKeyCode; } } - void SaveSetup() + void SaveSettings() { - IrssLog.Info("Save Setup"); + try + { + if (_autoRun) + SystemRegistry.SetAutoRun("Tray Launcher", Application.ExecutablePath); + else + SystemRegistry.RemoveAutoRun("Tray Launcher"); + } + catch (Exception ex) + { + IrssLog.Error(ex.ToString()); + } try { - RegistryKey key; + XmlTextWriter writer = new XmlTextWriter(ConfigurationFile, System.Text.Encoding.UTF8); + writer.Formatting = Formatting.Indented; + writer.Indentation = 1; + writer.IndentChar = (char)9; + writer.WriteStartDocument(true); + writer.WriteStartElement("settings"); // <settings> - key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"); - if (_autoRun) - key.SetValue("Tray Launcher", Application.ExecutablePath); - else if (key.GetValue("Tray Launcher", null) != null) - key.DeleteValue("Tray Launcher"); - key.Close(); + writer.WriteAttributeString("ServerHost", _serverHost); + writer.WriteAttributeString("ProgramFile", _programFile); + writer.WriteAttributeString("LaunchOnLoad", _launchOnLoad.ToString()); + writer.WriteAttributeString("LaunchKeyCode", _launchKeyCode); - key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\and-81\TrayLauncher"); - key.SetValue("ServerHost", _serverHost); - key.SetValue("Launch", _programFile); - key.SetValue("LaunchOnLoad", _launchOnLoad.ToString()); - key.SetValue("LaunchButton", _launchKeyCode); - key.Close(); + writer.WriteEndElement(); // </settings> + writer.WriteEndDocument(); + writer.Close(); } catch (Exception ex) { @@ -195,7 +215,6 @@ } } - bool OpenLocalPipe() { try @@ -388,7 +407,6 @@ } - void ReceivedMessage(string message) { PipeMessage received = PipeMessage.FromString(message); @@ -457,7 +475,6 @@ } } - void RemoteButtonPressed(string keyCode) { IrssLog.Info("Remote Button: {0}", keyCode); @@ -471,24 +488,25 @@ IrssLog.Info("Setup"); Setup setup = new Setup(); - setup.ServerHost = _serverHost; - setup.ProgramFile = _programFile; - setup.AutoRun = _autoRun; - setup.LaunchOnLoad = _launchOnLoad; - setup.LaunchButton = _launchKeyCode; + setup.AutoRun = _autoRun; + setup.ServerHost = _serverHost; + setup.ProgramFile = _programFile; + setup.LaunchOnLoad = _launchOnLoad; + setup.LaunchKeyCode = _launchKeyCode; + if (setup.ShowDialog() == DialogResult.OK) { if (PipeAccess.ServerRunning && _serverHost != setup.ServerHost) MessageBox.Show(this, "Changes to the server host address may not take effect until you restart Tray Launcher", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); - _serverHost = setup.ServerHost; - _programFile = setup.ProgramFile; - _autoRun = setup.AutoRun; - _launchOnLoad = setup.LaunchOnLoad; - _launchKeyCode = setup.LaunchButton; + _autoRun = setup.AutoRun; + _serverHost = setup.ServerHost; + _programFile = setup.ProgramFile; + _launchOnLoad = setup.LaunchOnLoad; + _launchKeyCode = setup.LaunchKeyCode; - SaveSetup(); + SaveSettings(); } } void ClickLaunch(object sender, EventArgs e) Modified: trunk/plugins/IR Server Suite/Applications/Virtual Remote/MainForm.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Virtual Remote/MainForm.cs 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/Virtual Remote/MainForm.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -10,8 +10,6 @@ using System.Windows.Forms; using System.Xml; -using Microsoft.Win32; - using NamedPipes; using IrssUtils; @@ -21,76 +19,12 @@ public partial class MainForm : Form { - #region Enumerations - - /// <summary> - /// A list of MCE remote buttons - /// </summary> - public enum MceButton - { - Custom = -1, - None = 0, - TV_Power = 0x7b9a, - Blue = 0x7ba1, - Yellow = 0x7ba2, - Green = 0x7ba3, - Red = 0x7ba4, - Teletext = 0x7ba5, - Radio = 0x7baf, - Print = 0x7bb1, - Videos = 0x7bb5, - Pictures = 0x7bb6, - Recorded_TV = 0x7bb7, - Music = 0x7bb8, - TV = 0x7bb9, - Guide = 0x7bd9, - Live_TV = 0x7bda, - DVD_Menu = 0x7bdb, - Back = 0x7bdc, - OK = 0x7bdd, - Right = 0x7bde, - Left = 0x7bdf, - Down = 0x7be0, - Up = 0x7be1, - Star = 0x7be2, - Hash = 0x7be3, - Replay = 0x7be4, - Skip = 0x7be5, - Stop = 0x7be6, - Pause = 0x7be7, - Record = 0x7be8, - Play = 0x7be9, - Rewind = 0x7bea, - Forward = 0x7beb, - Channel_Down = 0x7bec, - Channel_Up = 0x7bed, - Volume_Down = 0x7bee, - Volume_Up = 0x7bef, - Info = 0x7bf0, - Mute = 0x7bf1, - Start = 0x7bf2, - PC_Power = 0x7bf3, - Enter = 0x7bf4, - Escape = 0x7bf5, - Number_9 = 0x7bf6, - Number_8 = 0x7bf7, - Number_7 = 0x7bf8, - Number_6 = 0x7bf9, - Number_5 = 0x7bfa, - Number_4 = 0x7bfb, - Number_3 = 0x7bfc, - Number_2 = 0x7bfd, - Number_1 = 0x7bfe, - Number_0 = 0x7bff, - } - - #endregion Enumerations - #region Constants const string DefaultSkin = "MCE"; - const string DefaultIntallFolder = "."; + public static readonly string ConfigurationFile = Common.FolderAppData + "Virtual Remote\\Virtual Remote.xml"; + #endregion Constants #region Variables @@ -197,34 +131,52 @@ { try { - RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\and-81\VirtualRemote"); - _remoteSkin = (string)key.GetValue("Skin", DefaultSkin); - _serverHost = (string)key.GetValue("ServerHost", String.Empty); - key.Close(); + _installFolder = SystemRegistry.GetInstallFolder(); + if (String.IsNullOrEmpty(_installFolder)) + _installFolder = "."; + else + _installFolder += "\\Virtual Remote"; + } + catch (Exception ex) + { + IrssLog.Error(ex.ToString()); - key = Registry.LocalMachine.OpenSubKey("Software\\IR Server Suite\\"); - _installFolder = (string)key.GetValue("Install_Dir", DefaultIntallFolder); - key.Close(); + _installFolder = "."; + } - if (_installFolder != DefaultIntallFolder) - _installFolder += "\\Virtual Remote"; + try + { + XmlDocument doc = new XmlDocument(); + doc.Load(ConfigurationFile); + + _serverHost = doc.DocumentElement.Attributes["ServerHost"].Value; + _remoteSkin = doc.DocumentElement.Attributes["RemoteSkin"].Value; } catch (Exception ex) { IrssLog.Error(ex.ToString()); - _remoteSkin = DefaultSkin; - _serverHost = String.Empty; - _installFolder = DefaultIntallFolder; + + _serverHost = String.Empty; + _remoteSkin = DefaultSkin; } } void SaveSettings() { try { - RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\and-81\VirtualRemote"); - key.SetValue("Skin", _remoteSkin); - key.SetValue("ServerHost", _serverHost); - key.Close(); + XmlTextWriter writer = new XmlTextWriter(ConfigurationFile, System.Text.Encoding.UTF8); + writer.Formatting = Formatting.Indented; + writer.Indentation = 1; + writer.IndentChar = (char)9; + writer.WriteStartDocument(true); + writer.WriteStartElement("settings"); // <settings> + + writer.WriteAttributeString("ServerHost", _serverHost); + writer.WriteAttributeString("Skin", _remoteSkin); + + writer.WriteEndElement(); // </settings> + writer.WriteEndDocument(); + writer.Close(); } catch (Exception ex) { @@ -250,14 +202,13 @@ return false; } - void StopComms() { _keepAlive = false; try { - if (_keepAliveThread != null) + if (_keepAliveThread != null && _keepAliveThread.IsAlive) _keepAliveThread.Abort(); } catch { } Modified: trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/MainForm.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/MainForm.cs 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/MainForm.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -8,8 +8,6 @@ using System.Windows.Forms; using System.Xml; -using Microsoft.Win32; - using NamedPipes; using IrssUtils; @@ -19,6 +17,12 @@ public partial class MainForm : Form { + #region Constants + + public static readonly string ConfigurationFile = Common.FolderAppData + "Virtual Remote Skin Editor\\Virtual Remote Skin Editor.xml"; + + #endregion Constants + #region Variables //static bool _keepAlive = true; @@ -238,13 +242,15 @@ { try { - RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\and-81\VirtualRemoteSkinEditor"); - _serverHost = (string)key.GetValue("ServerHost", String.Empty); - key.Close(); + XmlDocument doc = new XmlDocument(); + doc.Load(ConfigurationFile); + + _serverHost = doc.DocumentElement.Attributes["ServerHost"].Value; } catch (Exception ex) { IrssLog.Error(ex.ToString()); + _serverHost = String.Empty; } } @@ -252,13 +258,22 @@ { try { - RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\and-81\VirtualRemoteSkinEditor"); - key.SetValue("ServerHost", _serverHost); - key.Close(); + XmlTextWriter writer = new XmlTextWriter(ConfigurationFile, System.Text.Encoding.UTF8); + writer.Formatting = Formatting.Indented; + writer.Indentation = 1; + writer.IndentChar = (char)9; + writer.WriteStartDocument(true); + writer.WriteStartElement("settings"); // <settings> + + writer.WriteAttributeString("ServerHost", _serverHost); + + writer.WriteEndElement(); // </settings> + writer.WriteEndDocument(); + writer.Close(); } catch (Exception ex) { - IrssLog.Error(ex.Message); + IrssLog.Error(ex.ToString()); } } Modified: trunk/plugins/IR Server Suite/Common/IrssUtils/IrssUtils.csproj =================================================================== --- trunk/plugins/IR Server Suite/Common/IrssUtils/IrssUtils.csproj 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/Common/IrssUtils/IrssUtils.csproj 2007-05-16 07:37:02 UTC (rev 403) @@ -86,6 +86,7 @@ </Compile> <Compile Include="IrssLog.cs" /> <Compile Include="Mouse.cs" /> + <Compile Include="SystemRegistry.cs" /> <Compile Include="TransceiverInfo.cs" /> <Compile Include="Win32.cs" /> <Compile Include="XML.cs" /> Added: trunk/plugins/IR Server Suite/Common/IrssUtils/SystemRegistry.cs =================================================================== --- trunk/plugins/IR Server Suite/Common/IrssUtils/SystemRegistry.cs (rev 0) +++ trunk/plugins/IR Server Suite/Common/IrssUtils/SystemRegistry.cs 2007-05-16 07:37:02 UTC (rev 403) @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Text; + +using Microsoft.Win32; + +namespace IrssUtils +{ + + public static class SystemRegistry + { + + const string AutoRunPath = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; + + /// <summary> + /// Get the install folder for IR Server Suite. + /// </summary> + /// <returns>String containing the Install Folder (no trailing slash).</returns> + public static string GetInstallFolder() + { + RegistryKey registryKey = Registry.LocalMachine.OpenSubKey("Software\\IR Server Suite\\"); + string installFolder = registryKey.GetValue("Install_Dir", null) as string; + registryKey.Close(); + + return installFolder; + } + + /// <summary> + /// Returns a boolean value indicating if there is an auto-run in place for the specified name. + /// </summary> + /// <param name="name">Auto-run program name.</param> + /// <returns>If key of name exists return true else return false.</returns> + public static bool GetAutoRun(string name) + { + RegistryKey key = Registry.CurrentUser.CreateSubKey(AutoRunPath); + bool autoRun = (key.GetValue(name, null) != null); + key.Close(); + + return autoRun; + } + + /// <summary> + /// Setup an auto-run in the system registry. + /// </summary> + /// <param name="name">Auto-run program name.</param> + /// <param name="executablePath">Executable Path for program.</param> + public static void SetAutoRun(string name, string executablePath) + { + RegistryKey key = Registry.CurrentUser.CreateSubKey(AutoRunPath); + key.SetValue(name, executablePath, RegistryValueKind.String); + key.Close(); + } + + /// <summary> + /// Remove an auto-run from the system registry. + /// </summary> + /// <param name="name">Auto-run program name.</param> + public static void RemoveAutoRun(string name) + { + RegistryKey key = Registry.CurrentUser.CreateSubKey(AutoRunPath); + key.DeleteValue(name, false); + key.Close(); + } + + } + +} Modified: trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/AppModule.InterProcessComm.csproj =================================================================== --- trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/AppModule.InterProcessComm.csproj 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/AppModule.InterProcessComm.csproj 2007-05-16 07:37:02 UTC (rev 403) @@ -35,7 +35,8 @@ <ConfigurationOverrideFile> </ConfigurationOverrideFile> <DefineConstants>DEBUG</DefineConstants> - <DocumentationFile>AppModule.InterProcessComm.xml</DocumentationFile> + <DocumentationFile> + </DocumentationFile> <DebugSymbols>false</DebugSymbols> <FileAlignment>4096</FileAlignment> <NoStdLib>false</NoStdLib> Modified: trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/AppModule.NamedPipes.csproj =================================================================== --- trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/AppModule.NamedPipes.csproj 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/AppModule.NamedPipes.csproj 2007-05-16 07:37:02 UTC (rev 403) @@ -35,7 +35,8 @@ <ConfigurationOverrideFile> </ConfigurationOverrideFile> <DefineConstants>DEBUG</DefineConstants> - <DocumentationFile>AppModule.NamedPipes.xml</DocumentationFile> + <DocumentationFile> + </DocumentationFile> <DebugSymbols>false</DebugSymbols> <FileAlignment>4096</FileAlignment> <NoStdLib>false</NoStdLib> Modified: trunk/plugins/IR Server Suite/IR Server Plugins/IR Server Plugin Interface/IR Server Plugin Interface.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/IR Server Plugin Interface/IR Server Plugin Interface.csproj 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/IR Server Plugins/IR Server Plugin Interface/IR Server Plugin Interface.csproj 2007-05-16 07:37:02 UTC (rev 403) @@ -32,7 +32,8 @@ <WarningLevel>4</WarningLevel> <TreatWarningsAsErrors>true</TreatWarningsAsErrors> <UseVSHostingProcess>false</UseVSHostingProcess> - <DocumentationFile>bin\Release\IRServerPluginInterface.xml</DocumentationFile> + <DocumentationFile> + </DocumentationFile> </PropertyGroup> <ItemGroup> <Reference Include="System" /> Modified: trunk/plugins/IR Server Suite/IR Server Suite.sln =================================================================== --- trunk/plugins/IR Server Suite/IR Server Suite.sln 2007-05-15 06:15:21 UTC (rev 402) +++ trunk/plugins/IR Server Suite/IR Server Suite.sln 2007-05-16 07:37:02 UTC (rev 403) @@ -33,8 +33,6 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TV3 Blaster Plugin", "MediaPortal Plugins\TV3 Blaster Plugin\TV3 Blaster Plugin.csproj", "{CD395FC2-70E2-42C4-8A20-5469A0C5EB50}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IR Server Plugin Interface", "IR Server Plugins\IR Server Plugin Interface\IR Server Plugin Interface.csproj", "{D8B3D28F-62CE-4CA7-86CE-B7EAD614A94C}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IgorPlug USB Receiver", "IR Server Plugins\IgorPlug USB Receiver\IgorPlug USB Receiver.csproj", "{A4023992-CCD6-461E-8E14-219A496734C5}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IRMan Receiver", "IR Server Plugins\IRMan Receiver\IRMan Receiver.csproj", "{7C686499-7517-4338-8837-7E8617549D9A}" @@ -65,6 +63,8 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MPUtils", "Common\MPUtils\MPUtils.csproj", "{08F57DD7-2C6E-484E-9CC5-835F70C5BC64}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IR Server Plugin Interface", "IR Server Plugins\IR Server Plugin Interface\IR Server Plugin Interface.csproj", "{D8B3D28F-62CE-4CA7-86CE-B7EAD614A94C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -119,10 +119,6 @@ {CD395FC2-70E2-42C4-8A20-5469A0C5EB50}.Debug|Any CPU.Build.0 = Debug|Any CPU {CD395FC2-70E2-42C4-8A20-5469A0C5EB50}.Release|Any CPU.ActiveCfg = Release|Any CPU {CD395FC2-70E2-42C4-8A20-5469A0C5EB50}.Release|Any CPU.Build.0 = Release|Any CPU ... [truncated message content] |
From: <an...@us...> - 2007-05-15 06:15:23
|
Revision: 402 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=402&view=rev Author: and-81 Date: 2007-05-14 23:15:21 -0700 (Mon, 14 May 2007) Log Message: ----------- Removed backup file Removed Paths: ------------- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/ExternalProgram.cs.bak trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/ExternalProgram.cs.bak Deleted: trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/ExternalProgram.cs.bak =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/ExternalProgram.cs.bak 2007-05-15 06:03:42 UTC (rev 401) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/ExternalProgram.cs.bak 2007-05-15 06:15:21 UTC (rev 402) @@ -1,162 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Diagnostics; -using System.Drawing; -using System.Text; -using System.Windows.Forms; - -using MediaPortal.GUI.Library; - -namespace MediaPortal.Plugins -{ - - public partial class ExternalProgram : Form - { - - #region Variables - - string _parametersMessage = ""; - - #endregion Variables - - #region Properties - - public string CommandString - { - get - { - return string.Format("{0}|{1}|{2}|{3}|{4}|{5}|{6}", - textBoxProgram.Text, - textBoxStartup.Text, - textBoxParameters.Text, - (string)comboBoxWindowStyle.SelectedItem, - checkBoxNoWindow.Checked.ToString(), - checkBoxShellExecute.Checked.ToString(), - checkBoxWaitForExit.Checked.ToString()); - } - } - - #endregion Properties - - #region Constructors - - public ExternalProgram() : this (null, "") { } - public ExternalProgram(string parametersMessage) : this(null, parametersMessage) { } - public ExternalProgram(string[] commands) : this(commands, "") { } - public ExternalProgram(string[] commands, string parametersMessage) - { - InitializeComponent(); - - _parametersMessage = parametersMessage; - - comboBoxWindowStyle.Items.Clear(); - comboBoxWindowStyle.Items.AddRange(Enum.GetNames(typeof(ProcessWindowStyle))); - - if (commands != null) - { - textBoxProgram.Text = commands[0]; - textBoxStartup.Text = commands[1]; - textBoxParameters.Text = commands[2]; - - checkBoxNoWindow.Checked = bool.Parse(commands[4]); - checkBoxShellExecute.Checked = bool.Parse(commands[5]); - checkBoxWaitForExit.Checked = bool.Parse(commands[6]); - - comboBoxWindowStyle.SelectedItem = ((ProcessWindowStyle)Enum.Parse(typeof(ProcessWindowStyle), commands[3])).ToString(); - } - else - { - comboBoxWindowStyle.SelectedIndex = 0; - } - } - - #endregion Constructors - - private void ExternalProgram_Load(object sender, EventArgs e) - { - if (_parametersMessage == "") - buttonParamQuestion.Visible = false; - } - - - private void buttonProgam_Click(object sender, EventArgs e) - { - if (openFileDialog.ShowDialog(this) == DialogResult.OK) - { - textBoxProgram.Text = openFileDialog.FileName; - - if (textBoxStartup.Text == "") - { - textBoxStartup.Text = System.IO.Path.GetDirectoryName(openFileDialog.FileName); - } - } - } - - private void buttonStartup_Click(object sender, EventArgs e) - { - if (folderBrowserDialog.ShowDialog(this) == DialogResult.OK) - { - textBoxProgram.Text = folderBrowserDialog.SelectedPath; - } - } - - private void buttonOK_Click(object sender, EventArgs e) - { - if (textBoxProgram.Text == "") - { - MessageBox.Show(this, "You must specify a program to run", "Missing program name", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); - return; - } - - this.DialogResult = DialogResult.OK; - this.Close(); - } - - private void buttonCancel_Click(object sender, EventArgs e) - { - this.DialogResult = DialogResult.Cancel; - this.Close(); - } - - private void buttonParamQuestion_Click(object sender, EventArgs e) - { - MessageBox.Show(this, _parametersMessage, "Parameters", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - - private void buttonTest_Click(object sender, EventArgs e) - { - if (textBoxProgram.Text == "") - { - MessageBox.Show(this, "You must specify a program to run", "Missing program name", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); - return; - } - - try - { - Process process = new Process(); - process.StartInfo.FileName = textBoxProgram.Text; - process.StartInfo.WorkingDirectory = textBoxStartup.Text; - process.StartInfo.Arguments = textBoxParameters.Text; - process.StartInfo.WindowStyle = (ProcessWindowStyle)Enum.Parse(typeof(ProcessWindowStyle), (string)comboBoxWindowStyle.SelectedItem); - process.StartInfo.CreateNoWindow = checkBoxNoWindow.Checked; - process.StartInfo.UseShellExecute = checkBoxShellExecute.Checked; - - if (MCEReplacement.LogVerbose) - Log.Info("MCEReplacement: Launching external program {0}", textBoxProgram.Text); - - process.Start(); - - if (checkBoxWaitForExit.Checked) // Wait for exit - process.WaitForExit(); - } - catch (Exception ex) - { - Log.Error("MCEReplacement: {0}", ex.Message); - } - } - - } - -} Deleted: trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/ExternalProgram.cs.bak =================================================================== --- trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/ExternalProgram.cs.bak 2007-05-15 06:03:42 UTC (rev 401) +++ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/ExternalProgram.cs.bak 2007-05-15 06:15:21 UTC (rev 402) @@ -1,162 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Diagnostics; -using System.Drawing; -using System.Text; -using System.Windows.Forms; - -using MediaPortal.GUI.Library; - -namespace MediaPortal.Plugins -{ - - public partial class ExternalProgram : Form - { - - #region Variables - - string _parametersMessage = ""; - - #endregion Variables - - #region Properties - - public string CommandString - { - get - { - return string.Format("{0}|{1}|{2}|{3}|{4}|{5}|{6}", - textBoxProgram.Text, - textBoxStartup.Text, - textBoxParameters.Text, - (string)comboBoxWindowStyle.SelectedItem, - checkBoxNoWindow.Checked.ToString(), - checkBoxShellExecute.Checked.ToString(), - checkBoxWaitForExit.Checked.ToString()); - } - } - - #endregion Properties - - #region Constructors - - public ExternalProgram() : this (null, "") { } - public ExternalProgram(string parametersMessage) : this(null, parametersMessage) { } - public ExternalProgram(string[] commands) : this(commands, "") { } - public ExternalProgram(string[] commands, string parametersMessage) - { - InitializeComponent(); - - _parametersMessage = parametersMessage; - - comboBoxWindowStyle.Items.Clear(); - comboBoxWindowStyle.Items.AddRange(Enum.GetNames(typeof(ProcessWindowStyle))); - - if (commands != null) - { - textBoxProgram.Text = commands[0]; - textBoxStartup.Text = commands[1]; - textBoxParameters.Text = commands[2]; - - checkBoxNoWindow.Checked = bool.Parse(commands[4]); - checkBoxShellExecute.Checked = bool.Parse(commands[5]); - checkBoxWaitForExit.Checked = bool.Parse(commands[6]); - - comboBoxWindowStyle.SelectedItem = ((ProcessWindowStyle)Enum.Parse(typeof(ProcessWindowStyle), commands[3])).ToString(); - } - else - { - comboBoxWindowStyle.SelectedIndex = 0; - } - } - - #endregion Constructors - - private void ExternalProgram_Load(object sender, EventArgs e) - { - if (_parametersMessage == "") - buttonParamQuestion.Visible = false; - } - - - private void buttonProgam_Click(object sender, EventArgs e) - { - if (openFileDialog.ShowDialog(this) == DialogResult.OK) - { - textBoxProgram.Text = openFileDialog.FileName; - - if (textBoxStartup.Text == "") - { - textBoxStartup.Text = System.IO.Path.GetDirectoryName(openFileDialog.FileName); - } - } - } - - private void buttonStartup_Click(object sender, EventArgs e) - { - if (folderBrowserDialog.ShowDialog(this) == DialogResult.OK) - { - textBoxProgram.Text = folderBrowserDialog.SelectedPath; - } - } - - private void buttonOK_Click(object sender, EventArgs e) - { - if (textBoxProgram.Text == "") - { - MessageBox.Show(this, "You must specify a program to run", "Missing program name", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); - return; - } - - this.DialogResult = DialogResult.OK; - this.Close(); - } - - private void buttonCancel_Click(object sender, EventArgs e) - { - this.DialogResult = DialogResult.Cancel; - this.Close(); - } - - private void buttonParamQuestion_Click(object sender, EventArgs e) - { - MessageBox.Show(this, _parametersMessage, "Parameters", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - - private void buttonTest_Click(object sender, EventArgs e) - { - if (textBoxProgram.Text == "") - { - MessageBox.Show(this, "You must specify a program to run", "Missing program name", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); - return; - } - - try - { - Process process = new Process(); - process.StartInfo.FileName = textBoxProgram.Text; - process.StartInfo.WorkingDirectory = textBoxStartup.Text; - process.StartInfo.Arguments = textBoxParameters.Text; - process.StartInfo.WindowStyle = (ProcessWindowStyle)Enum.Parse(typeof(ProcessWindowStyle), (string)comboBoxWindowStyle.SelectedItem); - process.StartInfo.CreateNoWindow = checkBoxNoWindow.Checked; - process.StartInfo.UseShellExecute = checkBoxShellExecute.Checked; - - if (MCEReplacement.LogVerbose) - Log.Info("MCEReplacement: Launching external program {0}", textBoxProgram.Text); - - process.Start(); - - if (checkBoxWaitForExit.Checked) // Wait for exit - process.WaitForExit(); - } - catch (Exception ex) - { - Log.Error("MCEReplacement: {0}", ex.Message); - } - } - - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-05-15 06:03:45
|
Revision: 401 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=401&view=rev Author: and-81 Date: 2007-05-14 23:03:42 -0700 (Mon, 14 May 2007) Log Message: ----------- IR Server Suite Added Paths: ----------- trunk/plugins/IR Server Suite/ trunk/plugins/IR Server Suite/Applications/ trunk/plugins/IR Server Suite/Applications/Debug Client/ trunk/plugins/IR Server Suite/Applications/Debug Client/Debug Client.csproj trunk/plugins/IR Server Suite/Applications/Debug Client/Icon.ico trunk/plugins/IR Server Suite/Applications/Debug Client/Icon16.ico trunk/plugins/IR Server Suite/Applications/Debug Client/Icon32.ico trunk/plugins/IR Server Suite/Applications/Debug Client/MainForm.Designer.cs trunk/plugins/IR Server Suite/Applications/Debug Client/MainForm.cs trunk/plugins/IR Server Suite/Applications/Debug Client/MainForm.resx trunk/plugins/IR Server Suite/Applications/Debug Client/Program.cs trunk/plugins/IR Server Suite/Applications/Debug Client/Properties/ trunk/plugins/IR Server Suite/Applications/Debug Client/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/Applications/IR Server/ trunk/plugins/IR Server Suite/Applications/IR Server/Client.cs trunk/plugins/IR Server Suite/Applications/IR Server/Config.Designer.cs trunk/plugins/IR Server Suite/Applications/IR Server/Config.cs trunk/plugins/IR Server Suite/Applications/IR Server/Config.resx trunk/plugins/IR Server Suite/Applications/IR Server/IR Server.csproj trunk/plugins/IR Server Suite/Applications/IR Server/IRServer.cs trunk/plugins/IR Server Suite/Applications/IR Server/Icon.ico trunk/plugins/IR Server Suite/Applications/IR Server/Icon16.ico trunk/plugins/IR Server Suite/Applications/IR Server/Icon32.ico trunk/plugins/IR Server Suite/Applications/IR Server/Program.cs trunk/plugins/IR Server Suite/Applications/IR Server/Properties/ trunk/plugins/IR Server Suite/Applications/IR Server/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/Applications/IR Server/Properties/Resources.Designer.cs trunk/plugins/IR Server Suite/Applications/IR Server/Properties/Resources.resx trunk/plugins/IR Server Suite/Applications/Translator/ trunk/plugins/IR Server Suite/Applications/Translator/ButtonMapping.cs trunk/plugins/IR Server Suite/Applications/Translator/Configuration.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/ trunk/plugins/IR Server Suite/Applications/Translator/Forms/BlastCommand.Designer.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/BlastCommand.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/BlastCommand.resx trunk/plugins/IR Server Suite/Applications/Translator/Forms/ButtonMappingForm.Designer.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/ButtonMappingForm.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/ButtonMappingForm.resx trunk/plugins/IR Server Suite/Applications/Translator/Forms/EditProgramForm.Designer.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/EditProgramForm.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/EditProgramForm.resx trunk/plugins/IR Server Suite/Applications/Translator/Forms/GetKeyCodeForm.Designer.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/GetKeyCodeForm.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/GetKeyCodeForm.resx trunk/plugins/IR Server Suite/Applications/Translator/Forms/LearnIR.Designer.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/LearnIR.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/LearnIR.resx trunk/plugins/IR Server Suite/Applications/Translator/Forms/MacroEditor.Designer.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/MacroEditor.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/MacroEditor.resx trunk/plugins/IR Server Suite/Applications/Translator/Forms/MainForm.Designer.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/MainForm.cs trunk/plugins/IR Server Suite/Applications/Translator/Forms/MainForm.resx trunk/plugins/IR Server Suite/Applications/Translator/Icon.ico trunk/plugins/IR Server Suite/Applications/Translator/Icon16.ico trunk/plugins/IR Server Suite/Applications/Translator/Icon16Connecting.ico trunk/plugins/IR Server Suite/Applications/Translator/Icon32.ico trunk/plugins/IR Server Suite/Applications/Translator/MappedEvent.cs trunk/plugins/IR Server Suite/Applications/Translator/Program.cs trunk/plugins/IR Server Suite/Applications/Translator/ProgramSettings.cs trunk/plugins/IR Server Suite/Applications/Translator/Properties/ trunk/plugins/IR Server Suite/Applications/Translator/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/Applications/Translator/Properties/Resources.Designer.cs trunk/plugins/IR Server Suite/Applications/Translator/Properties/Resources.resx trunk/plugins/IR Server Suite/Applications/Translator/Translator.csproj trunk/plugins/IR Server Suite/Applications/Tray Launcher/ trunk/plugins/IR Server Suite/Applications/Tray Launcher/GetKeyCodeForm.Designer.cs trunk/plugins/IR Server Suite/Applications/Tray Launcher/GetKeyCodeForm.cs trunk/plugins/IR Server Suite/Applications/Tray Launcher/GetKeyCodeForm.resx trunk/plugins/IR Server Suite/Applications/Tray Launcher/Icon.ico trunk/plugins/IR Server Suite/Applications/Tray Launcher/Icon16.ico trunk/plugins/IR Server Suite/Applications/Tray Launcher/Icon16Connecting.ico trunk/plugins/IR Server Suite/Applications/Tray Launcher/Icon32.ico trunk/plugins/IR Server Suite/Applications/Tray Launcher/Program.cs trunk/plugins/IR Server Suite/Applications/Tray Launcher/Properties/ trunk/plugins/IR Server Suite/Applications/Tray Launcher/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/Applications/Tray Launcher/Properties/Resources.Designer.cs trunk/plugins/IR Server Suite/Applications/Tray Launcher/Properties/Resources.resx trunk/plugins/IR Server Suite/Applications/Tray Launcher/Setup.Designer.cs trunk/plugins/IR Server Suite/Applications/Tray Launcher/Setup.cs trunk/plugins/IR Server Suite/Applications/Tray Launcher/Setup.resx trunk/plugins/IR Server Suite/Applications/Tray Launcher/Tray Launcher.csproj trunk/plugins/IR Server Suite/Applications/Tray Launcher/Tray.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote/ trunk/plugins/IR Server Suite/Applications/Virtual Remote/Icon.ico trunk/plugins/IR Server Suite/Applications/Virtual Remote/MainForm.Designer.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote/MainForm.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote/MainForm.resx trunk/plugins/IR Server Suite/Applications/Virtual Remote/Program.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote/Properties/ trunk/plugins/IR Server Suite/Applications/Virtual Remote/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote/RemoteButton.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote/Virtual Remote.csproj trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/ trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/Icon.ico trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/MainForm.Designer.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/MainForm.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/MainForm.resx trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/Program.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/Properties/ trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/Applications/Virtual Remote Skin Editor/Virtual Remote Skin Editor.csproj trunk/plugins/IR Server Suite/Common/ trunk/plugins/IR Server Suite/Common/IrssUtils/ trunk/plugins/IR Server Suite/Common/IrssUtils/CDRom.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Common.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/ trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/ExternalProgram.Designer.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/ExternalProgram.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/ExternalProgram.resx trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/KeysCommand.Designer.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/KeysCommand.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/KeysCommand.resx trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/MessageCommand.Designer.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/MessageCommand.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/MessageCommand.resx trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/PauseTime.Designer.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/PauseTime.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/PauseTime.resx trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/PopupMessage.Designer.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/PopupMessage.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/PopupMessage.resx trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/SerialCommand.Designer.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/SerialCommand.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/SerialCommand.resx trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/ServerAddress.Designer.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/ServerAddress.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Forms/ServerAddress.resx trunk/plugins/IR Server Suite/Common/IrssUtils/IrssLog.cs trunk/plugins/IR Server Suite/Common/IrssUtils/IrssUtils.csproj trunk/plugins/IR Server Suite/Common/IrssUtils/Mouse.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Properties/ trunk/plugins/IR Server Suite/Common/IrssUtils/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/Common/IrssUtils/TransceiverInfo.cs trunk/plugins/IR Server Suite/Common/IrssUtils/Win32.cs trunk/plugins/IR Server Suite/Common/IrssUtils/XML.cs trunk/plugins/IR Server Suite/Common/MPUtils/ trunk/plugins/IR Server Suite/Common/MPUtils/ExternalChannelConfig.cs trunk/plugins/IR Server Suite/Common/MPUtils/Forms/ trunk/plugins/IR Server Suite/Common/MPUtils/Forms/GoToScreen.Designer.cs trunk/plugins/IR Server Suite/Common/MPUtils/Forms/GoToScreen.cs trunk/plugins/IR Server Suite/Common/MPUtils/Forms/GoToScreen.resx trunk/plugins/IR Server Suite/Common/MPUtils/MPCommands.cs trunk/plugins/IR Server Suite/Common/MPUtils/MPUtils.csproj trunk/plugins/IR Server Suite/Common/MPUtils/Properties/ trunk/plugins/IR Server Suite/Common/MPUtils/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IPC/ trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/ trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/AppModule.InterProcessComm.csproj trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/IChannelManager.cs trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/IClientChannel.cs trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/IInterProcessConnection.cs trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/InterProcessConnectionState.cs trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/InterProcessIOException.cs trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/Properties/ trunk/plugins/IR Server Suite/IPC/AppModule.InterProcessComm/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/ trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/APipeConnection.cs trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/AppModule.NamedPipes.csproj trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/ClientPipeConnection.cs trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/NamedPipeIOException.cs trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/NamedPipeNative.cs trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/NamedPipeWrapper.cs trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/PipeHandle.cs trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/Properties/ trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IPC/AppModule.NamedPipes/ServerPipeConnection.cs trunk/plugins/IR Server Suite/IPC/Named Pipes/ trunk/plugins/IR Server Suite/IPC/Named Pipes/Named Pipes.csproj trunk/plugins/IR Server Suite/IPC/Named Pipes/PipeAccess.cs trunk/plugins/IR Server Suite/IPC/Named Pipes/PipeManager.cs trunk/plugins/IR Server Suite/IPC/Named Pipes/PipeMessage.cs trunk/plugins/IR Server Suite/IPC/Named Pipes/Properties/ trunk/plugins/IR Server Suite/IPC/Named Pipes/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IPC/Named Pipes/ServerNamedPipe.cs trunk/plugins/IR Server Suite/IR Server Plugins/ trunk/plugins/IR Server Suite/IR Server Plugins/Dummy Transceiver/ trunk/plugins/IR Server Suite/IR Server Plugins/Dummy Transceiver/Dummy Transceiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/Dummy Transceiver/Dummy Transceiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Dummy Transceiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/Dummy Transceiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/ trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/FusionREMOTE Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/FusionRemoteReceiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/IR Server Plugin Interface/ trunk/plugins/IR Server Suite/IR Server Plugins/IR Server Plugin Interface/IR Server Plugin Interface.csproj trunk/plugins/IR Server Suite/IR Server Plugins/IR Server Plugin Interface/IRServerPluginInterface.cs trunk/plugins/IR Server Suite/IR Server Plugins/IR Server Plugin Interface/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/IR Server Plugin Interface/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/ trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/Configure.Designer.cs trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/Configure.cs trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/Configure.resx trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/IRMan Receiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/IRMan Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/ trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/CSocketPacket.cs trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/Configure.Designer.cs trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/Configure.cs trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/Configure.resx trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/IRTrans Transceiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/IRTransTransceiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug USB Receiver/ trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug USB Receiver/IgorPlug USB Receiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug USB Receiver/IgorPlug USB Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug USB Receiver/IgorPlug.dll trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug USB Receiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug USB Receiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/MCE Replacement Transceiver/ trunk/plugins/IR Server Suite/IR Server Plugins/MCE Replacement Transceiver/Configure.Designer.cs trunk/plugins/IR Server Suite/IR Server Plugins/MCE Replacement Transceiver/Configure.cs trunk/plugins/IR Server Suite/IR Server Plugins/MCE Replacement Transceiver/Configure.resx trunk/plugins/IR Server Suite/IR Server Plugins/MCE Replacement Transceiver/MCE Replacement Transceiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/MCE Replacement Transceiver/MceIrApi.cs trunk/plugins/IR Server Suite/IR Server Plugins/MCE Replacement Transceiver/MceReplacementTransceiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/MCE Replacement Transceiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/MCE Replacement Transceiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/ trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Configure.Designer.cs trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Configure.cs trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Configure.resx trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Microsoft MCE Transceiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/MicrosoftMceTransceiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/NotifyWindow.cs trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/USB-UIRT Transceiver/ trunk/plugins/IR Server Suite/IR Server Plugins/USB-UIRT Transceiver/Configure.Designer.cs trunk/plugins/IR Server Suite/IR Server Plugins/USB-UIRT Transceiver/Configure.cs trunk/plugins/IR Server Suite/IR Server Plugins/USB-UIRT Transceiver/Configure.resx trunk/plugins/IR Server Suite/IR Server Plugins/USB-UIRT Transceiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/USB-UIRT Transceiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/USB-UIRT Transceiver/USB-UIRT Transceiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/USB-UIRT Transceiver/UirtTransceiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/USB-UIRT Transceiver/uuirtdrv.dll trunk/plugins/IR Server Suite/IR Server Plugins/Windows Message Receiver/ trunk/plugins/IR Server Suite/IR Server Plugins/Windows Message Receiver/Configure.Designer.cs trunk/plugins/IR Server Suite/IR Server Plugins/Windows Message Receiver/Configure.cs trunk/plugins/IR Server Suite/IR Server Plugins/Windows Message Receiver/Configure.resx trunk/plugins/IR Server Suite/IR Server Plugins/Windows Message Receiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/Windows Message Receiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/Windows Message Receiver/Windows Message Receiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/Windows Message Receiver/Windows Message Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/X10 Transceiver/ trunk/plugins/IR Server Suite/IR Server Plugins/X10 Transceiver/Interop.X10.dll trunk/plugins/IR Server Suite/IR Server Plugins/X10 Transceiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/X10 Transceiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/X10 Transceiver/X10 Transceiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/X10 Transceiver/X10Transceiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/XBCDRC Receiver/ trunk/plugins/IR Server Suite/IR Server Plugins/XBCDRC Receiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/XBCDRC Receiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/XBCDRC Receiver/XBCDRC Receiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/XBCDRC Receiver/XBCDRC Receiver.csproj trunk/plugins/IR Server Suite/IR Server Suite.sln trunk/plugins/IR Server Suite/MediaPortal Plugins/ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/BlastCommand.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/BlastCommand.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/BlastCommand.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/LearnIR.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/LearnIR.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/LearnIR.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/MacroEditor.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/MacroEditor.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/MacroEditor.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/SetupForm.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/SetupForm.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Forms/SetupForm.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Graphics/ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Graphics/Delete.png trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Graphics/DeleteAll.png trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Graphics/Edit.png trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Graphics/MoveBottom.png trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Graphics/MoveDown.png trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Graphics/MoveTop.png trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Graphics/MoveUp.png trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Graphics/Plus.png trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/MP Blast Zone Plugin.csproj trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/MPBlastZonePlugin.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Menu.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Properties/ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Properties/Resources.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Properties/Resources.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Skin/ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Skin/BlastZone.xml trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Skin/Media/ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Skin/Media/blastzone_logo.png trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Blast Zone Plugin/Skin/Media/hover_blastzone.png trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/BlastCommand.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/BlastCommand.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/BlastCommand.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/ExternalProgram.cs.bak trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/LearnIR.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/LearnIR.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/LearnIR.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/MacroEditor.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/MacroEditor.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/MacroEditor.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/MultiMapNameBox.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/MultiMapNameBox.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/MultiMapNameBox.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/SetupForm.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/SetupForm.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Forms/SetupForm.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/InputMapper/ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/InputMapper/InputHandler.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/InputMapper/InputMappingForm.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/InputMapper/InputMappingForm.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MP Control Plugin.csproj trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MPControlPlugin.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MappedEvent.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/MappedKeyCode.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Properties/ trunk/plugins/IR Server Suite/MediaPortal Plugins/MP Control Plugin/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/BlastCommand.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/BlastCommand.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/BlastCommand.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/ExternalChannels.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/ExternalChannels.designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/ExternalChannels.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/ExternalProgram.cs.bak trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/LearnIR.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/LearnIR.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/LearnIR.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/MacroEditor.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/MacroEditor.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/MacroEditor.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/SetupForm.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/SetupForm.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/SetupForm.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/StbSetup.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/StbSetup.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Forms/StbSetup.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Properties/ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/TV2 Blaster Plugin.csproj trunk/plugins/IR Server Suite/MediaPortal Plugins/TV2 Blaster Plugin/TV2BlasterPlugin.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/BlastCommand.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/BlastCommand.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/BlastCommand.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/ExternalChannels.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/ExternalChannels.designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/ExternalChannels.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/LearnIR.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/LearnIR.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/LearnIR.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/MacroEditor.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/MacroEditor.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/MacroEditor.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/PluginSetup.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/PluginSetup.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/PluginSetup.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/StbSetup.Designer.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/StbSetup.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Forms/StbSetup.resx trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Properties/ trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/TV3 Blaster Plugin.csproj trunk/plugins/IR Server Suite/MediaPortal Plugins/TV3 Blaster Plugin/TV3BlasterPlugin.cs Added: trunk/plugins/IR Server Suite/Applications/Debug Client/Debug Client.csproj =================================================================== --- trunk/plugins/IR Server Suite/Applications/Debug Client/Debug Client.csproj (rev 0) +++ trunk/plugins/IR Server Suite/Applications/Debug Client/Debug Client.csproj 2007-05-15 06:03:42 UTC (rev 401) @@ -0,0 +1,83 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>8.0.50727</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{4CD051F4-F2B5-47B3-8647-F47C2E4DC131}</ProjectGuid> + <OutputType>WinExe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>DebugClient</RootNamespace> + <AssemblyName>DebugClient</AssemblyName> + <StartupObject>DebugClient.Program</StartupObject> + <ApplicationIcon>Icon.ico</ApplicationIcon> + <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>false</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>none</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants> + </DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Data" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="MainForm.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="MainForm.Designer.cs"> + <DependentUpon>MainForm.cs</DependentUpon> + </Compile> + <Compile Include="Program.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="MainForm.resx"> + <DependentUpon>MainForm.cs</DependentUpon> + <SubType>Designer</SubType> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <Content Include="Icon.ico" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\Common\irssUtils\IrssUtils.csproj"> + <Project>{CA15769C-232E-4CA7-94FD-206A06CA3ABB}</Project> + <Name>IrssUtils</Name> + </ProjectReference> + <ProjectReference Include="..\..\IPC\Named Pipes\Named Pipes.csproj"> + <Project>{F4EA6055-7133-4F18-8971-E19ADEB482C1}</Project> + <Name>Named Pipes</Name> + </ProjectReference> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> + <PropertyGroup> + <PostBuildEvent>copy "*.*" "\MediaPortal Development\Plugin Releases\IR Server Suite\$(ProjectName)\"</PostBuildEvent> + </PropertyGroup> +</Project> \ No newline at end of file Added: trunk/plugins/IR Server Suite/Applications/Debug Client/Icon.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/IR Server Suite/Applications/Debug Client/Icon.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/plugins/IR Server Suite/Applications/Debug Client/Icon16.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/IR Server Suite/Applications/Debug Client/Icon16.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/plugins/IR Server Suite/Applications/Debug Client/Icon32.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/IR Server Suite/Applications/Debug Client/Icon32.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/plugins/IR Server Suite/Applications/Debug Client/MainForm.Designer.cs =================================================================== --- trunk/plugins/IR Server Suite/Applications/Debug Client/MainForm.Designer.cs (rev 0) +++ trunk/plugins/IR Server Suite/Applications/Debug Client/MainForm.Designer.cs 2007-05-15 06:03:42 UTC (rev 401) @@ -0,0 +1,437 @@ +namespace DebugClient +{ + partial class MainForm + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.buttonBlast = new System.Windows.Forms.Button(); + this.buttonLearnIR = new System.Windows.Forms.Button(); + this.labelServerAddress = new System.Windows.Forms.Label(); + this.buttonConnect = new System.Windows.Forms.Button(); + this.buttonDisconnect = new System.Windows.Forms.Button(); + this.buttonShutdownServer = new System.Windows.Forms.Button(); + this.listBoxStatus = new System.Windows.Forms.ListBox(); + this.buttonCrash = new System.Windows.Forms.Button(); + this.buttonListConnected = new System.Windows.Forms.Button(); + this.buttonPing = new System.Windows.Forms.Button(); + this.groupBoxGenerateMessage = new System.Windows.Forms.GroupBox(); + this.textBoxCustom = new System.Windows.Forms.TextBox(); + this.buttonSendCustom = new System.Windows.Forms.Button(); + this.groupBoxStatus = new System.Windows.Forms.GroupBox(); + this.groupBoxRemoteButton = new System.Windows.Forms.GroupBox(); + this.labelCustomButton = new System.Windows.Forms.Label(); + this.numericUpDownButton = new System.Windows.Forms.NumericUpDown(); + this.comboBoxRemoteButtons = new System.Windows.Forms.ComboBox(); + this.buttonSendRemoteButton = new System.Windows.Forms.Button(); + this.groupBoxSetup = new System.Windows.Forms.GroupBox(); + this.comboBoxComputer = new System.Windows.Forms.ComboBox(); + this.groupBoxCommands = new System.Windows.Forms.GroupBox(); + this.comboBoxSpeed = new System.Windows.Forms.ComboBox(); + this.comboBoxPort = new System.Windows.Forms.ComboBox(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.buttonHelp = new System.Windows.Forms.Button(); + this.groupBoxGenerateMessage.SuspendLayout(); + this.groupBoxStatus.SuspendLayout(); + this.groupBoxRemoteButton.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownButton)).BeginInit(); + this.groupBoxSetup.SuspendLayout(); + this.groupBoxCommands.SuspendLayout(); + this.SuspendLayout(); + // + // buttonBlast + // + this.buttonBlast.Location = new System.Drawing.Point(8, 48); + this.buttonBlast.Name = "buttonBlast"; + this.buttonBlast.Size = new System.Drawing.Size(64, 24); + this.buttonBlast.TabIndex = 2; + this.buttonBlast.Text = "Blast IR"; + this.toolTip.SetToolTip(this.buttonBlast, "Blast learned IR code"); + this.buttonBlast.UseVisualStyleBackColor = true; + this.buttonBlast.Click += new System.EventHandler(this.buttonBlast_Click); + // + // buttonLearnIR + // + this.buttonLearnIR.Location = new System.Drawing.Point(8, 16); + this.buttonLearnIR.Name = "buttonLearnIR"; + this.buttonLearnIR.Size = new System.Drawing.Size(64, 24); + this.buttonLearnIR.TabIndex = 0; + this.buttonLearnIR.Text = "Learn IR"; + this.toolTip.SetToolTip(this.buttonLearnIR, "Learn an IR code"); + this.buttonLearnIR.UseVisualStyleBackColor = true; + this.buttonLearnIR.Click += new System.EventHandler(this.buttonLearnIR_Click); + // + // labelServerAddress + // + this.labelServerAddress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelServerAddress.Location = new System.Drawing.Point(8, 16); + this.labelServerAddress.Name = "labelServerAddress"; + this.labelServerAddress.Size = new System.Drawing.Size(240, 16); + this.labelServerAddress.TabIndex = 0; + this.labelServerAddress.Text = "IR Server host computer:"; + // + // buttonConnect + // + this.buttonConnect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonConnect.Location = new System.Drawing.Point(264, 32); + this.buttonConnect.Name = "buttonConnect"; + this.buttonConnect.Size = new System.Drawing.Size(80, 24); + this.buttonConnect.TabIndex = 2; + this.buttonConnect.Text = "Connect"; + this.toolTip.SetToolTip(this.buttonConnect, "Connect to server"); + this.buttonConnect.UseVisualStyleBackColor = true; + this.buttonConnect.Click += new System.EventHandler(this.buttonConnect_Click); + // + // buttonDisconnect + // + this.buttonDisconnect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDisconnect.Location = new System.Drawing.Point(352, 32); + this.buttonDisconnect.Name = "buttonDisconnect"; + this.buttonDisconnect.Size = new System.Drawing.Size(80, 24); + this.buttonDisconnect.TabIndex = 3; + this.buttonDisconnect.Text = "Disconnect"; + this.toolTip.SetToolTip(this.buttonDisconnect, "Disconnect from server"); + this.buttonDisconnect.UseVisualStyleBackColor = true; + this.buttonDisconnect.Click += new System.EventHandler(this.buttonDisconnect_Click); + // + // buttonShutdownServer + // + this.buttonShutdownServer.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonShutdownServer.Location = new System.Drawing.Point(296, 16); + this.buttonShutdownServer.Name = "buttonShutdownServer"; + this.buttonShutdownServer.Size = new System.Drawing.Size(64, 24); + this.buttonShutdownServer.TabIndex = 5; + this.buttonShutdownServer.Text = "Shutdown"; + this.toolTip.SetToolTip(this.buttonShutdownServer, "Shutdown server"); + this.buttonShutdownServer.UseVisualStyleBackColor = true; + this.buttonShutdownServer.Click += new System.EventHandler(this.buttonShutdownServer_Click); + // + // listBoxStatus + // + this.listBoxStatus.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listBoxStatus.FormattingEnabled = true; + this.listBoxStatus.HorizontalScrollbar = true; + this.listBoxStatus.IntegralHeight = false; + this.listBoxStatus.Location = new System.Drawing.Point(8, 16); + this.listBoxStatus.Name = "listBoxStatus"; + this.listBoxStatus.ScrollAlwaysVisible = true; + this.listBoxStatus.Size = new System.Drawing.Size(424, 192); + this.listBoxStatus.TabIndex = 0; + this.toolTip.SetToolTip(this.listBoxStatus, "Status messages"); + // + // buttonCrash + // + this.buttonCrash.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCrash.Location = new System.Drawing.Point(368, 16); + this.buttonCrash.Name = "buttonCrash"; + this.buttonCrash.Size = new System.Drawing.Size(64, 24); + this.buttonCrash.TabIndex = 6; + this.buttonCrash.Text = "Crash"; + this.toolTip.SetToolTip(this.buttonCrash, "Crash this program"); + this.buttonCrash.UseVisualStyleBackColor = true; + this.buttonCrash.Click += new System.EventHandler(this.buttonCrash_Click); + // + // buttonListConnected + // + this.buttonListConnected.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonListConnected.Location = new System.Drawing.Point(368, 48); + this.buttonListConnected.Name = "buttonListConnected"; + this.buttonListConnected.Size = new System.Drawing.Size(64, 24); + this.buttonListConnected.TabIndex = 8; + this.buttonListConnected.Text = "# clients"; + this.toolTip.SetToolTip(this.buttonListConnected, "Get client count from server"); + this.buttonListConnected.UseVisualStyleBackColor = true; + this.buttonListConnected.Click += new System.EventHandler(this.buttonListConnected_Click); + // + // buttonPing + // + this.buttonPing.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonPing.Location = new System.Drawing.Point(296, 48); + this.buttonPing.Name = "buttonPing"; + this.buttonPing.Size = new System.Drawing.Size(64, 24); + this.buttonPing.TabIndex = 7; + this.buttonPing.Text = "Ping"; + this.toolTip.SetToolTip(this.buttonPing, "Ping the server"); + this.buttonPing.UseVisualStyleBackColor = true; + this.buttonPing.Click += new System.EventHandler(this.buttonPing_Click); + // + // groupBoxGenerateMessage + // + this.groupBoxGenerateMessage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBoxGenerateMessage.Controls.Add(this.textBoxCustom); + this.groupBoxGenerateMessage.Controls.Add(this.buttonSendCustom); + this.groupBoxGenerateMessage.Location = new System.Drawing.Point(8, 224); + this.groupBoxGenerateMessage.Name = "groupBoxGenerateMessage"; + this.groupBoxGenerateMessage.Size = new System.Drawing.Size(440, 80); + this.groupBoxGenerateMessage.TabIndex = 3; + this.groupBoxGenerateMessage.TabStop = false; + this.groupBoxGenerateMessage.Text = "Generate message"; + // + // textBoxCustom + // + this.textBoxCustom.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textBoxCustom.Location = new System.Drawing.Point(8, 16); + this.textBoxCustom.Multiline = true; + this.textBoxCustom.Name = "textBoxCustom"; + this.textBoxCustom.Size = new System.Drawing.Size(352, 56); + this.textBoxCustom.TabIndex = 0; + this.toolTip.SetToolTip(this.textBoxCustom, "Create a custom message to send to the server"); + // + // buttonSendCustom + // + this.buttonSendCustom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonSendCustom.Location = new System.Drawing.Point(376, 48); + this.buttonSendCustom.Name = "buttonSendCustom"; + this.buttonSendCustom.Size = new System.Drawing.Size(56, 24); + this.buttonSendCustom.TabIndex = 1; + this.buttonSendCustom.Text = "Send"; + this.toolTip.SetToolTip(this.buttonSendCustom, "Send custom message to server"); + this.buttonSendCustom.UseVisualStyleBackColor = true; + this.buttonSendCustom.Click += new System.EventHandler(this.buttonSendCustom_Click); + // + // groupBoxStatus + // + this.groupBoxStatus.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBoxStatus.Controls.Add(this.listBoxStatus); + this.groupBoxStatus.Location = new System.Drawing.Point(8, 312); + this.groupBoxStatus.Name = "groupBoxStatus"; + this.groupBoxStatus.Size = new System.Drawing.Size(440, 216); + this.groupBoxStatus.TabIndex = 4; + this.groupBoxStatus.TabStop = false; + this.groupBoxStatus.Text = "Status"; + // + // groupBoxRemoteButton + // + this.groupBoxRemoteButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBoxRemoteButton.Controls.Add(this.labelCustomButton); + this.groupBoxRemoteButton.Controls.Add(this.numericUpDownButton); + this.groupBoxRemoteButton.Controls.Add(this.comboBoxRemoteButtons); + this.groupBoxRemoteButton.Controls.Add(this.buttonSendRemoteButton); + this.groupBoxRemoteButton.Location = new System.Drawing.Point(8, 168); + this.groupBoxRemoteButton.Name = "groupBoxRemoteButton"; + this.groupBoxRemoteButton.Size = new System.Drawing.Size(440, 48); + this.groupBoxRemoteButton.TabIndex = 2; + this.groupBoxRemoteButton.TabStop = false; + this.groupBoxRemoteButton.Text = "Remote button"; + // + // labelCustomButton + // + this.labelCustomButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.labelCustomButton.Location = new System.Drawing.Point(136, 16); + this.labelCustomButton.Name = "labelCustomButton"; + this.labelCustomButton.Size = new System.Drawing.Size(144, 20); + this.labelCustomButton.TabIndex = 1; + this.labelCustomButton.Text = "Custom button key code:"; + this.labelCustomButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // numericUpDownButton + // + this.numericUpDownButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numericUpDownButton.Location = new System.Drawing.Point(288, 16); + this.numericUpDownButton.Maximum = new decimal(new int[] { + 32768, + 0, + 0, + 0}); + this.numericUpDownButton.Name = "numericUpDownButton"; + this.numericUpDownButton.Size = new System.Drawing.Size(72, 20); + this.numericUpDownButton.TabIndex = 2; + this.numericUpDownButton.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.numericUpDownButton.ThousandsSeparator = true; + this.toolTip.SetToolTip(this.numericUpDownButton, "Specify a custom button code to forward to the server"); + // + // comboBoxRemoteButtons + // + this.comboBoxRemoteButtons.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboBoxRemoteButtons.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBoxRemoteButtons.FormattingEnabled = true; + this.comboBoxRemoteButtons.Location = new System.Drawing.Point(8, 16); + this.comboBoxRemoteButtons.Name = "comboBoxRemoteButtons"; + this.comboBoxRemoteButtons.Size = new System.Drawing.Size(120, 21); + this.comboBoxRemoteButtons.TabIndex = 0; + this.toolTip.SetToolTip(this.comboBoxRemoteButtons, "Choose a remote control button to forward to the server"); + this.comboBoxRemoteButtons.SelectedIndexChanged += new System.EventHandler(this.comboBoxRemoteButtons_SelectedIndexChanged); + // + // buttonSendRemoteButton + // + this.buttonSendRemoteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonSendRemoteButton.Location = new System.Drawing.Point(376, 16); + this.buttonSendRemoteButton.Name = "buttonSendRemoteButton"; + this.buttonSendRemoteButton.Size = new System.Drawing.Size(56, 24); + this.buttonSendRemoteButton.TabIndex = 3; + this.buttonSendRemoteButton.Text = "Send"; + this.buttonSendRemoteButton.UseVisualStyleBackColor = true; + this.buttonSendRemoteButton.Click += new System.EventHandler(this.buttonSendRemoteButton_Click); + // + // groupBoxSetup + // + this.groupBoxSetup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBoxSetup.Controls.Add(this.comboBoxComputer); + this.groupBoxSetup.Controls.Add(this.labelServerAddress); + this.groupBoxSetup.Controls.Add(this.buttonConnect); + this.groupBoxSetup.Controls.Add(this.buttonDisconnect); + this.groupBoxSetup.Location = new System.Drawing.Point(8, 8); + this.groupBoxSetup.Name = "groupBoxSetup"; + this.groupBoxSetup.Size = new System.Drawing.Size(440, 64); + this.groupBoxSetup.TabIndex = 0; + this.groupBoxSetup.TabStop = false; + this.groupBoxSetup.Text = "Setup"; + // + // comboBoxComputer + // + this.comboBoxComputer.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboBoxComputer.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.comboBoxComputer.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.comboBoxComputer.FormattingEnabled = true; + this.comboBoxComputer.Location = new System.Drawing.Point(8, 32); + this.comboBoxComputer.Name = "comboBoxComputer"; + this.comboBoxComputer.Size = new System.Drawing.Size(240, 21); + this.comboBoxComputer.TabIndex = 5; + // + // groupBoxCommands + // + this.groupBoxCommands.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBoxCommands.Controls.Add(this.comboBoxSpeed); + this.groupBoxCommands.Controls.Add(this.comboBoxPort); + this.groupBoxCommands.Controls.Add(this.buttonCrash); + this.groupBoxCommands.Controls.Add(this.buttonBlast); + this.groupBoxCommands.Controls.Add(this.buttonLearnIR); + this.groupBoxCommands.Controls.Add(this.buttonShutdownServer); + this.groupBoxCommands.Controls.Add(this.buttonListConnected); + this.groupBoxCommands.Controls.Add(this.buttonPing); + this.groupBoxCommands.Location = new System.Drawing.Point(8, 80); + this.groupBoxCommands.Name = "groupBoxCommands"; + this.groupBoxCommands.Size = new System.Drawing.Size(440, 80); + this.groupBoxCommands.TabIndex = 1; + this.groupBoxCommands.TabStop = false; + this.groupBoxCommands.Text = "Commands"; + // + // comboBoxSpeed + // + this.comboBoxSpeed.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBoxSpeed.FormattingEnabled = true; + this.comboBoxSpeed.Location = new System.Drawing.Point(168, 50); + this.comboBoxSpeed.Name = "comboBoxSpeed"; + this.comboBoxSpeed.Size = new System.Drawing.Size(80, 21); + this.comboBoxSpeed.TabIndex = 4; + this.toolTip.SetToolTip(this.comboBoxSpeed, "Speed to blast IR at"); + // + // comboBoxPort + // + this.comboBoxPort.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBoxPort.FormattingEnabled = true; + this.comboBoxPort.Location = new System.Drawing.Point(80, 50); + this.comboBoxPort.Name = "comboBoxPort"; + this.comboBoxPort.Size = new System.Drawing.Size(80, 21); + this.comboBoxPort.TabIndex = 3; + this.toolTip.SetToolTip(this.comboBoxPort, "Port for blasting IR"); + // + // buttonHelp + // + this.buttonHelp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonHelp.Location = new System.Drawing.Point(8, 536); + this.buttonHelp.Name = "buttonHelp"; + this.buttonHelp.Size = new System.Drawing.Size(56, 24); + this.buttonHelp.TabIndex = 5; + this.buttonHelp.Text = "Help"; + this.buttonHelp.UseVisualStyleBackColor = true; + this.buttonHelp.Click += new System.EventHandler(this.buttonHelp_Click); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(456, 566); + this.Controls.Add(this.buttonHelp); + this.Controls.Add(this.groupBoxCommands); + this.Controls.Add(this.groupBoxSetup); + this.Controls.Add(this.groupBoxRemoteButton); + this.Controls.Add(this.groupBoxStatus); + this.Controls.Add(this.groupBoxGenerateMessage); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MinimumSize = new System.Drawing.Size(464, 600); + this.Name = "MainForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Debug Client"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); + this.Load += new System.EventHandler(this.MainForm_Load); + this.groupBoxGenerateMessage.ResumeLayout(false); + this.groupBoxGenerateMessage.PerformLayout(); + this.groupBoxStatus.ResumeLayout(false); + this.groupBoxRemoteButton.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownButton)).EndInit(); + this.groupBoxSetup.ResumeLayout(false); + this.groupBoxCommands.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button buttonBlast; + private System.Windows.Forms.Button buttonLearnIR; + private System.Windows.Forms.Label labelServerAddress; + private System.Windows.Forms.Button buttonConnect; + private System.Windows.Forms.Button buttonDisconnect; + private System.Windows.Forms.Button buttonShutdownServer; + private System.Windows.Forms.ListBox listBoxStatus; + private System.Windows.Forms.Button buttonCrash; + private System.Windows.Forms.Button buttonListConnected; + private System.Windows.Forms.Button buttonPing; + private System.Windows.Forms.GroupBox groupBoxGenerateMessage; + private System.Windows.Forms.TextBox textBoxCustom; + private System.Windows.Forms.Button buttonSendCustom; + private System.Windows.Forms.GroupBox groupBoxStatus; + private System.Wind... [truncated message content] |
From: <du...@us...> - 2007-05-14 17:10:07
|
Revision: 400 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=400&view=rev Author: dukus Date: 2007-05-14 10:09:39 -0700 (Mon, 14 May 2007) Log Message: ----------- Add all project files with one click Modified Paths: -------------- trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs trunk/plugins/mpinstaler/MPInstaler/Form1.cs trunk/plugins/mpinstaler/MPInstaler/Form1.resx Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-05-12 08:37:06 UTC (rev 399) +++ trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-05-14 17:09:39 UTC (rev 400) @@ -111,6 +111,10 @@ this.openToolStripButton = new System.Windows.Forms.ToolStripButton(); this.saveToolStripButton = new System.Windows.Forms.ToolStripButton(); this.toolStripContainer1 = new System.Windows.Forms.ToolStripContainer(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.fileAutomatedDiscoverTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); + this.directoryAutomatedDiscoverTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuStrip1.SuspendLayout(); this.contextMenuStrip1.SuspendLayout(); this.tabPage_Skin.SuspendLayout(); @@ -222,7 +226,10 @@ this.textToolStripMenuItem, this.settingsToolStripMenuItem, this.textToolStripMenuItem1, - this.otherToolStripMenuItem}); + this.otherToolStripMenuItem, + this.toolStripSeparator3, + this.fileAutomatedDiscoverTypeToolStripMenuItem, + this.directoryAutomatedDiscoverTypeToolStripMenuItem}); this.addToolStripMenuItem.Name = "addToolStripMenuItem"; this.addToolStripMenuItem.Size = new System.Drawing.Size(38, 20); this.addToolStripMenuItem.Text = "Add"; @@ -236,7 +243,7 @@ this.tagReadersToolStripMenuItem, this.externalPlayersToolStripMenuItem}); this.windowPluginToolStripMenuItem.Name = "windowPluginToolStripMenuItem"; - this.windowPluginToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.windowPluginToolStripMenuItem.Size = new System.Drawing.Size(232, 22); this.windowPluginToolStripMenuItem.Text = "Plugin"; // // windowToolStripMenuItem @@ -283,55 +290,55 @@ this.animationsToolStripMenuItem, this.tetrisToolStripMenuItem}); this.skinToolStripMenuItem.Name = "skinToolStripMenuItem"; - this.skinToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.skinToolStripMenuItem.Size = new System.Drawing.Size(232, 22); this.skinToolStripMenuItem.Text = "Skin"; // // componentToolStripMenuItem // this.componentToolStripMenuItem.Name = "componentToolStripMenuItem"; - this.componentToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.componentToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.componentToolStripMenuItem.Text = "Component"; this.componentToolStripMenuItem.Click += new System.EventHandler(this.componentToolStripMenuItem_Click); // // mediaToolStripMenuItem // this.mediaToolStripMenuItem.Name = "mediaToolStripMenuItem"; - this.mediaToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.mediaToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.mediaToolStripMenuItem.Text = "Media"; this.mediaToolStripMenuItem.Click += new System.EventHandler(this.mediaToolStripMenuItem_Click); // // soundsToolStripMenuItem // this.soundsToolStripMenuItem.Name = "soundsToolStripMenuItem"; - this.soundsToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.soundsToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.soundsToolStripMenuItem.Text = "Sounds"; this.soundsToolStripMenuItem.Click += new System.EventHandler(this.soundsToolStripMenuItem_Click); // // animationsToolStripMenuItem // this.animationsToolStripMenuItem.Name = "animationsToolStripMenuItem"; - this.animationsToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.animationsToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.animationsToolStripMenuItem.Text = "Animations"; this.animationsToolStripMenuItem.Click += new System.EventHandler(this.animationsToolStripMenuItem_Click); // // tetrisToolStripMenuItem // this.tetrisToolStripMenuItem.Name = "tetrisToolStripMenuItem"; - this.tetrisToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.tetrisToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.tetrisToolStripMenuItem.Text = "Tetris"; this.tetrisToolStripMenuItem.Click += new System.EventHandler(this.tetrisToolStripMenuItem_Click); // // languageToolStripMenuItem // this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; - this.languageToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.languageToolStripMenuItem.Size = new System.Drawing.Size(232, 22); this.languageToolStripMenuItem.Text = "Language"; this.languageToolStripMenuItem.Click += new System.EventHandler(this.languageToolStripMenuItem_Click); // // textToolStripMenuItem // this.textToolStripMenuItem.Name = "textToolStripMenuItem"; - this.textToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.textToolStripMenuItem.Size = new System.Drawing.Size(232, 22); this.textToolStripMenuItem.Text = "Text"; this.textToolStripMenuItem.Click += new System.EventHandler(this.textToolStripMenuItem_Click); // @@ -339,20 +346,20 @@ // this.settingsToolStripMenuItem.Enabled = false; this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; - this.settingsToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(232, 22); this.settingsToolStripMenuItem.Text = "Settings"; // // textToolStripMenuItem1 // this.textToolStripMenuItem1.Name = "textToolStripMenuItem1"; - this.textToolStripMenuItem1.Size = new System.Drawing.Size(132, 22); + this.textToolStripMenuItem1.Size = new System.Drawing.Size(232, 22); this.textToolStripMenuItem1.Text = "Thumbs"; this.textToolStripMenuItem1.Click += new System.EventHandler(this.textToolStripMenuItem1_Click); // // otherToolStripMenuItem // this.otherToolStripMenuItem.Name = "otherToolStripMenuItem"; - this.otherToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.otherToolStripMenuItem.Size = new System.Drawing.Size(232, 22); this.otherToolStripMenuItem.Text = "Other"; this.otherToolStripMenuItem.Click += new System.EventHandler(this.otherToolStripMenuItem_Click); // @@ -880,6 +887,29 @@ this.toolStripContainer1.TabIndex = 5; this.toolStripContainer1.Text = "toolStripContainer1"; // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(229, 6); + // + // fileAutomatedDiscoverTypeToolStripMenuItem + // + this.fileAutomatedDiscoverTypeToolStripMenuItem.Name = "fileAutomatedDiscoverTypeToolStripMenuItem"; + this.fileAutomatedDiscoverTypeToolStripMenuItem.Size = new System.Drawing.Size(232, 22); + this.fileAutomatedDiscoverTypeToolStripMenuItem.Text = "File - Automated discover type"; + this.fileAutomatedDiscoverTypeToolStripMenuItem.Click += new System.EventHandler(this.fileAutomatedDiscoverTypeToolStripMenuItem_Click); + // + // folderBrowserDialog1 + // + this.folderBrowserDialog1.ShowNewFolderButton = false; + // + // directoryAutomatedDiscoverTypeToolStripMenuItem + // + this.directoryAutomatedDiscoverTypeToolStripMenuItem.Name = "directoryAutomatedDiscoverTypeToolStripMenuItem"; + this.directoryAutomatedDiscoverTypeToolStripMenuItem.Size = new System.Drawing.Size(260, 22); + this.directoryAutomatedDiscoverTypeToolStripMenuItem.Text = "Directory - Automated discover type"; + this.directoryAutomatedDiscoverTypeToolStripMenuItem.Click += new System.EventHandler(this.directoryAutomatedDiscoverTypeToolStripMenuItem_Click); + // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -1006,6 +1036,10 @@ private System.Windows.Forms.PropertyGrid propertyGrid1; private System.Windows.Forms.ToolStripMenuItem setupGroupsToolStripMenuItem; private System.Windows.Forms.PropertyGrid propertyGrid2; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem fileAutomatedDiscoverTypeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem directoryAutomatedDiscoverTypeToolStripMenuItem; + private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1; } } Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-05-12 08:37:06 UTC (rev 399) +++ trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-05-14 17:09:39 UTC (rev 400) @@ -584,5 +584,96 @@ dlg._struct = this._struct; dlg.ShowDialog(); } + + private void fileAutomatedDiscoverTypeToolStripMenuItem_Click(object sender, EventArgs e) + { + openFileDialog1.Filter = "All files (*.*)|*.*|png files (*.png)|*.png|bmp files (*.bmp)|*.bmp|jpeg files (*.jpg)|*.jpg|Skin files (*.xml)|*.xml|Plugin files (*.dll)|*.dll"; + openFileDialog1.FileName = ""; + openFileDialog1.DefaultExt = "*.*"; + openFileDialog1.Multiselect = true; + if (openFileDialog1.ShowDialog(this) == DialogResult.OK) + { + foreach (string f in openFileDialog1.FileNames) + { + addFile(f); + } + } + } + + private void addFile(string fil) + { + if (Path.GetExtension(fil).ToUpper() == ".DLL") + { + if (fil.ToUpper().Contains("PLUGINS\\WINDOWS")) + { + addrow(Path.GetFileName(fil), MPinstalerStruct.PLUGIN_TYPE, MPinstalerStruct.PLUGIN_WINDOW_SUBTYPE, Path.GetFullPath(fil), "01010"); + } + if (fil.ToUpper().Contains("PLUGINS\\TAGREADERS")) + { + addrow(Path.GetFileName(fil), MPinstalerStruct.PLUGIN_TYPE, MPinstalerStruct.PLUGIN_TAGREADER_SUBTYPE, Path.GetFullPath(fil), "01010"); + } + if (fil.ToUpper().Contains("PLUGINS\\SUBTITLE")) + { + addrow(Path.GetFileName(fil), MPinstalerStruct.PLUGIN_TYPE, MPinstalerStruct.PLUGIN_SUBTITLE_SUBTYPE, Path.GetFullPath(fil), "01010"); + } + if (fil.ToUpper().Contains("PLUGINS\\PROCESS")) + { + addrow(Path.GetFileName(fil), MPinstalerStruct.PLUGIN_TYPE, MPinstalerStruct.PLUGIN_PROCESS_SUBTYPE, Path.GetFullPath(fil), "01010"); + } + if (fil.ToUpper().Contains("PLUGINS\\EXTERNALPLAYERS")) + { + addrow(Path.GetFileName(fil), MPinstalerStruct.PLUGIN_TYPE, MPinstalerStruct.PLUGIN_PLAYER_SUBTYPE, Path.GetFullPath(fil), "01010"); + } + return; + } + if (fil.ToUpper().Contains("SKIN")) + { + string subtype = Path.GetFullPath(fil).Substring(Path.GetFullPath(fil).ToLower().IndexOf("skin\\") + 5); + subtype = subtype.Substring(0, subtype.IndexOf("\\")); + if (fil.ToUpper().Contains("SOUNDS")) + { + addrow(Path.GetFileName(fil), MPinstalerStruct.SKIN_SOUNDS_TYPE, subtype, Path.GetFullPath(fil), "02010", ""); + } + else + if (fil.ToUpper().Contains("MEDIA\\ANIMATIONS")) + { + addrow(Path.GetFileName(fil), MPinstalerStruct.SKIN_ANIMATIONS_TYPE, subtype, Path.GetFullPath(fil), "02010", ""); + } + else if (fil.ToUpper().Contains("MEDIA\\TETRIS")) + { + addrow(Path.GetFileName(fil), MPinstalerStruct.SKIN_TETRIS_TYPE, subtype, Path.GetFullPath(fil), "02010", ""); + } + else if (fil.ToUpper().Contains("MEDIA")) + { + addrow(Path.GetFileName(fil), MPinstalerStruct.SKIN_MEDIA_TYPE, subtype, Path.GetFullPath(fil), "02010", ""); + } + else + { + addrow(Path.GetFileName(fil), MPinstalerStruct.SKIN_TYPE, subtype, Path.GetFullPath(fil), "02010", ""); + } + return; + } + if (Path.GetExtension(fil).ToUpper() == ".TXT") + { + addrow(Path.GetFileName(fil), MPinstalerStruct.TEXT_TYPE,MPinstalerStruct.TEXT_README_TYPE, Path.GetFullPath(fil), "02010", ""); + return; + } + addrow(Path.GetFileName(fil), MPinstalerStruct.OTHER_TYPE, "", Path.GetFullPath(fil), "02010", ""); + } + + private void directoryAutomatedDiscoverTypeToolStripMenuItem_Click(object sender, EventArgs e) + { + + if (folderBrowserDialog1.ShowDialog(this) == DialogResult.OK) + { + DirectoryInfo di = new DirectoryInfo(folderBrowserDialog1.SelectedPath); + FileInfo[] fileList = di.GetFiles("*.*",SearchOption.AllDirectories); + foreach (FileInfo f in fileList) + { + addFile(f.FullName); + } + } + + } } } \ No newline at end of file Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.resx =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/Form1.resx 2007-05-12 08:37:06 UTC (rev 399) +++ trunk/plugins/mpinstaler/MPInstaler/Form1.resx 2007-05-14 17:09:39 UTC (rev 400) @@ -177,6 +177,9 @@ Cv71r/4OTrQ4xWMwWlcAAAAASUVORK5CYII= </value> </data> + <metadata name="folderBrowserDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>624, 17</value> + </metadata> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ze...@us...> - 2007-05-12 08:37:26
|
Revision: 399 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=399&view=rev Author: zebons Date: 2007-05-12 01:37:06 -0700 (Sat, 12 May 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/MyFilms/MesFilms.cs Modified: trunk/plugins/MyFilms/MesFilms.cs =================================================================== --- trunk/plugins/MyFilms/MesFilms.cs 2007-05-11 22:08:49 UTC (rev 398) +++ trunk/plugins/MyFilms/MesFilms.cs 2007-05-12 08:37:06 UTC (rev 399) @@ -121,7 +121,7 @@ string StrTitleSelect = null; string StrFilmSelect = ""; string StrSort = null; - string StrActors = null; + string StrActors = ""; string StrTxtSelect = ""; string StrStorage = null; string StrIdentItem = null; @@ -139,12 +139,12 @@ string StrPathImg = null; string StrSortSens = null; int StrLayOut = 0; - public string WStrSort = null; + public string WStrSort = ""; public string WStrSelect = null; public string WStrSortSens = null; public bool boolreturn = false; public bool boolstorage = false; - string wselectedlabel = null; + string wselectedlabel = ""; string StrDfltSelect = null; string CurrentSortMethod = null; decimal w_rating = 0; @@ -450,6 +450,7 @@ { Change_LayOut(0); WStrSort = "ACTORS"; + wselectedlabel = ""; WStrSortSens = " ASC"; BtnSrtBy.IsAscending = true; StrActors = keyboard.Text; @@ -558,7 +559,8 @@ { wselectedlabel = facadeView.SelectedListItem.Label; Change_LayOut(Layout); - boolreturn = true; + if (!facadeView.SelectedListItem.IsFolder) + boolreturn = true; do { if (StrTitleSelect != "") StrTitleSelect += TitleDelim; @@ -1082,6 +1084,8 @@ Wstar = NewWstar; BtnSrtBy.Label = GUILocalizeStrings.Get(103); boolselect = true; + wselectedlabel = ""; + StrActors = ""; // boolreturn = true; if (ClearIndex) l_index = 0; facadeView.Clear(); @@ -1177,6 +1181,7 @@ xmlwriter.SetValue(CurrentConfig, "IndexItem", (facadeView.SelectedListItemIndex > -1) ? ((boolselect) ? facadeView.SelectedListItemIndex.ToString() : facadeView.SelectedListItem.ItemId.ToString()) : "-1"); //may need to check if there is no item selected and so save -1 xmlwriter.SetValueAsBool(CurrentConfig, "boolselect", boolselect); xmlwriter.SetValueAsBool(CurrentConfig, "boolreturn", boolreturn); + xmlwriter.SetValue(CurrentConfig, "WSelectedLabel", wselectedlabel); xmlwriter.SetValue(CurrentConfig, "WStrSort", WStrSort); xmlwriter.SetValue(CurrentConfig, "Wstar", Wstar); xmlwriter.SetValue(CurrentConfig, "WLayOut", Layout); @@ -1255,12 +1260,18 @@ boolselect = xmlreader.GetValueAsBool(CurrentConfig, "boolselect", false); boolreturn = xmlreader.GetValueAsBool(CurrentConfig, "boolreturn", false); WStrSort = xmlreader.GetValueAsString(CurrentConfig, "WStrSort", ""); + wselectedlabel = xmlreader.GetValueAsString(CurrentConfig, "WSelectedLabel", ""); Wstar = xmlreader.GetValueAsString(CurrentConfig, "Wstar", ""); LastID = xmlreader.GetValueAsInt(CurrentConfig, "LastID", -1); StrViewDfltItem = xmlreader.GetValueAsString(CurrentConfig, "ViewDfltItem", ""); StrViewDfltText = xmlreader.GetValueAsString(CurrentConfig, "ViewDfltText", ""); TitleDelim = xmlreader.GetValueAsString(CurrentConfig, "TitleDelim", "."); } + if ((boolreturn) && (wselectedlabel == "")) + { + boolselect = true; + boolreturn = false; + } } //-------------------------------------------------------------------------------------------- // Choice Configuration @@ -1378,7 +1389,10 @@ // TxtSelect.HorizontalAlignment = MediaPortal.Drawing.HorizontalAlignment.Right; BtnSrtBy.SortChanged += new SortEventHandler(SortChanged); if (boolselect) + { + Change_LayOut(0); getSelectFromDivx(StrSelect, WStrSort, " ASC", Wstar, false, ""); // preserve index from last time + } else if (!(LoadDfltSlct)) GetFilmList(l_index); @@ -1414,6 +1428,7 @@ boolselect = false; boolreturn = true; WStrSort = StrViewDfltItem; + wselectedlabel = ""; if (StrViewDfltItem == "DateAdded") StrSelect = "Date" + " like '" + DateTime.Parse(StrViewDfltText).ToShortDateString() + "'"; else @@ -1471,6 +1486,7 @@ { // Change View All Films StrSelect = StrTitleSelect = StrTxtSelect = ""; //clear all selects + WStrSort = ""; boolselect = false; boolreturn = false; GetFilmList(); @@ -1514,6 +1530,7 @@ TxtSelect.Label = StrTxtSelect; boolselect = false; boolreturn = false; + WStrSort = ""; BtnSrtBy.Label = CurrentSortMethod; if (StrSortSens == " ASC") BtnSrtBy.IsAscending = true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <du...@us...> - 2007-05-11 22:08:51
|
Revision: 398 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=398&view=rev Author: dukus Date: 2007-05-11 15:08:49 -0700 (Fri, 11 May 2007) Log Message: ----------- Latest SVN compatibility Modified Paths: -------------- trunk/plugins/mypoker/cards.cs trunk/plugins/mypoker/mypoker.cs trunk/plugins/mypoker/mypoker.csproj trunk/plugins/mypoker/mypoker.suo trunk/plugins/mypoker/skin/MCE/media/mypoker.xml trunk/plugins/mypoker/skin/MCE/media/mypokerwin.xml Modified: trunk/plugins/mypoker/cards.cs =================================================================== --- trunk/plugins/mypoker/cards.cs 2007-05-11 21:31:08 UTC (rev 397) +++ trunk/plugins/mypoker/cards.cs 2007-05-11 22:08:49 UTC (rev 398) @@ -74,7 +74,7 @@ } catch (System.IndexOutOfRangeException ex) { - Log.Write(" Index out :{0}, {1}, i= {2} ", ex.Message, ex.StackTrace, i.ToString()); + Log.Debug(" Index out :{0}, {1}, i= {2} ", ex.Message, ex.StackTrace, i.ToString()); } return i+1; Modified: trunk/plugins/mypoker/mypoker.cs =================================================================== --- trunk/plugins/mypoker/mypoker.cs 2007-05-11 21:31:08 UTC (rev 397) +++ trunk/plugins/mypoker/mypoker.cs 2007-05-11 22:08:49 UTC (rev 398) @@ -2,8 +2,10 @@ using System.Collections; using System.Windows.Forms; using MediaPortal.GUI.Library; +using MediaPortal; using MediaPortal.Util; using MediaPortal.Dialogs; +using MediaPortal.Configuration; using SQLite.NET; @@ -224,10 +226,12 @@ // pokercards.getFace(deckCards[3]), // pokercards.getFace(deckCards[4]) // )); - MediaPortal.Profile.XmlSettingsProvider xmlwriter = new MediaPortal.Profile.XmlSettingsProvider("myPoker.xml"); + + using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings("myPoker.xml")) + { xmlwriter.SetValue("myPoker", "score", score.ToString()); xmlwriter.SetValue("myPoker", "bet", bet.ToString()); - xmlwriter.Save(); + } _iswin = true; GUIWindowManager.ActivateWindow(7179); }; Modified: trunk/plugins/mypoker/mypoker.csproj =================================================================== --- trunk/plugins/mypoker/mypoker.csproj 2007-05-11 21:31:08 UTC (rev 397) +++ trunk/plugins/mypoker/mypoker.csproj 2007-05-11 22:08:49 UTC (rev 398) @@ -51,7 +51,7 @@ <ErrorReport>prompt</ErrorReport> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>..\mediaportal\xbmc\bin\Release\plugins\windows\</OutputPath> <AllowUnsafeBlocks>false</AllowUnsafeBlocks> <BaseAddress>285212672</BaseAddress> <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow> @@ -74,17 +74,20 @@ <ErrorReport>prompt</ErrorReport> </PropertyGroup> <ItemGroup> - <Reference Include="Core, Version=1.0.2201.1843, Culture=neutral, processorArchitecture=MSIL"> + <Reference Include="Core, Version=0.2.2.0, Culture=neutral, processorArchitecture=x86"> <SpecificVersion>False</SpecificVersion> - <HintPath>G:\Program Files\Team MediaPortal\MediaPortal\Core.dll</HintPath> + <HintPath>..\mediaportal\xbmc\bin\Release\Core.dll</HintPath> + <Private>False</Private> </Reference> - <Reference Include="Databases, Version=1.0.2201.1848, Culture=neutral, processorArchitecture=MSIL"> + <Reference Include="Databases, Version=0.2.2.0, Culture=neutral, processorArchitecture=x86"> <SpecificVersion>False</SpecificVersion> - <HintPath>G:\Program Files\Team MediaPortal\MediaPortal\Databases.dll</HintPath> + <HintPath>..\mediaportal\xbmc\bin\Release\Databases.dll</HintPath> + <Private>False</Private> </Reference> - <Reference Include="Dialogs, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <Reference Include="Dialogs, Version=0.0.0.0, Culture=neutral, processorArchitecture=x86"> <SpecificVersion>False</SpecificVersion> - <HintPath>G:\Program Files\Team MediaPortal\MediaPortal\plugins\windows\Dialogs.dll</HintPath> + <HintPath>..\mediaportal\xbmc\bin\Release\plugins\windows\Dialogs.dll</HintPath> + <Private>False</Private> </Reference> <Reference Include="System"> <Name>System</Name> @@ -98,6 +101,11 @@ <Reference Include="System.XML"> <Name>System.XML</Name> </Reference> + <Reference Include="Utils, Version=2.1.2.0, Culture=neutral, processorArchitecture=x86"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\mediaportal\xbmc\bin\Release\Utils.dll</HintPath> + <Private>False</Private> + </Reference> </ItemGroup> <ItemGroup> <Compile Include="AssemblyInfo.cs"> Modified: trunk/plugins/mypoker/mypoker.suo =================================================================== (Binary files differ) Modified: trunk/plugins/mypoker/skin/MCE/media/mypoker.xml =================================================================== --- trunk/plugins/mypoker/skin/MCE/media/mypoker.xml 2007-05-11 21:31:08 UTC (rev 397) +++ trunk/plugins/mypoker/skin/MCE/media/mypoker.xml 2007-05-11 22:08:49 UTC (rev 398) @@ -14,7 +14,7 @@ <type>button</type> <id>4</id> <posX>488</posX> - <posY>24</posY> + <posY>50</posY> <label>Bet</label> </control> <control> @@ -139,7 +139,7 @@ <type>button</type> <id>2</id> <posX>48</posX> - <posY>24</posY> + <posY>50</posY> <label>19002</label> <width>184</width> <height>32</height> @@ -148,7 +148,7 @@ <type>button</type> <id>3</id> <posX>264</posX> - <posY>24</posY> + <posY>50</posY> <label>Deal</label> </control> <control> Modified: trunk/plugins/mypoker/skin/MCE/media/mypokerwin.xml =================================================================== --- trunk/plugins/mypoker/skin/MCE/media/mypokerwin.xml 2007-05-11 21:31:08 UTC (rev 397) +++ trunk/plugins/mypoker/skin/MCE/media/mypokerwin.xml 2007-05-11 22:08:49 UTC (rev 398) @@ -14,7 +14,7 @@ <type>button</type> <id>4</id> <posX>520</posX> - <posY>16</posY> + <posY>50</posY> <label>Done</label> </control> <control> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |