forked from External/mage
Add a background music player to Mage Client. Music support .mp3 or .wav files. Put the audio files under plugins\sounds\music, random song will be played sequentially when GamePane is activited. the UI to adjust background music is add to preference dialog as well.
This commit is contained in:
parent
7102d08637
commit
6bbaa9fda1
6 changed files with 78 additions and 20 deletions
|
|
@ -73,6 +73,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
public static final String KEY_CARD_IMAGES_SAVE_TO_ZIP = "cardImagesSaveToZip";
|
||||
|
||||
public static final String KEY_SOUNDS_ON = "soundsOn";
|
||||
public static final String KEY_MUSICS_ON = "MusicsOn";
|
||||
|
||||
public static final String KEY_BIG_CARD_TOGGLED = "bigCardToggled";
|
||||
|
||||
|
|
@ -201,6 +202,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
saveToZipFiles = new javax.swing.JCheckBox();
|
||||
jPanel22 = new javax.swing.JPanel();
|
||||
jEnableSounds = new javax.swing.JCheckBox();
|
||||
jEnableMusics = new javax.swing.JCheckBox();
|
||||
jPanel6 = new javax.swing.JPanel();
|
||||
lblProxyType = new javax.swing.JLabel();
|
||||
cbProxyType = new javax.swing.JComboBox();
|
||||
|
|
@ -322,7 +324,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap(84, Short.MAX_VALUE))
|
||||
.addContainerGap(92, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
jTabbedPane1.addTab("Main", jPanel1);
|
||||
|
|
@ -537,7 +539,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
.addGroup(jPanel4Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap(92, Short.MAX_VALUE))
|
||||
.addContainerGap(96, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
jTabbedPane1.addTab("Images", jPanel4);
|
||||
|
|
@ -549,13 +551,22 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
}
|
||||
});
|
||||
|
||||
jEnableMusics.setText("enable BGM");
|
||||
jEnableMusics.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jEnableMusicsActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
javax.swing.GroupLayout jPanel22Layout = new javax.swing.GroupLayout(jPanel22);
|
||||
jPanel22.setLayout(jPanel22Layout);
|
||||
jPanel22Layout.setHorizontalGroup(
|
||||
jPanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel22Layout.createSequentialGroup()
|
||||
.addGap(19, 19, 19)
|
||||
.addComponent(jEnableSounds)
|
||||
.addGroup(jPanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jEnableSounds)
|
||||
.addComponent(jEnableMusics))
|
||||
.addContainerGap(325, Short.MAX_VALUE))
|
||||
);
|
||||
jPanel22Layout.setVerticalGroup(
|
||||
|
|
@ -563,7 +574,9 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
.addGroup(jPanel22Layout.createSequentialGroup()
|
||||
.addGap(24, 24, 24)
|
||||
.addComponent(jEnableSounds)
|
||||
.addContainerGap(217, Short.MAX_VALUE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jEnableMusics)
|
||||
.addContainerGap(194, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
jTabbedPane1.addTab("Sounds", jPanel22);
|
||||
|
|
@ -605,7 +618,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
}
|
||||
});
|
||||
|
||||
jLabel11.setFont(new java.awt.Font("Tahoma", 2, 10));
|
||||
jLabel11.setFont(new java.awt.Font("Tahoma", 2, 10)); // NOI18N
|
||||
jLabel11.setText("Note: password won't be encrypted!");
|
||||
|
||||
javax.swing.GroupLayout pnlProxyLayout = new javax.swing.GroupLayout(pnlProxy);
|
||||
|
|
@ -747,7 +760,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
.addGap(0, 100, Short.MAX_VALUE)
|
||||
);
|
||||
|
||||
jLabel12.setFont(new java.awt.Font("Tahoma", 1, 11));
|
||||
jLabel12.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
|
||||
jLabel12.setText("Choose your avatar:");
|
||||
|
||||
jPanel12.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(204, 204, 204), 1, true));
|
||||
|
|
@ -789,7 +802,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
.addGap(0, 100, Short.MAX_VALUE)
|
||||
);
|
||||
|
||||
jLabel13.setFont(new java.awt.Font("Tahoma", 1, 11));
|
||||
jLabel13.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
|
||||
jLabel13.setText("New avatars:");
|
||||
|
||||
jPanel16.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(204, 204, 204), 1, true));
|
||||
|
|
@ -975,7 +988,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jTabbedPane1)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
||||
.addContainerGap(316, Short.MAX_VALUE)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(saveButton)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(exitButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
|
|
@ -1028,7 +1041,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
|
||||
// sounds
|
||||
save(prefs, dialog.jEnableSounds, KEY_SOUNDS_ON, "true", "false", UPDATE_CACHE_POLICY);
|
||||
|
||||
save(prefs, dialog.jEnableMusics, KEY_MUSICS_ON, "true", "false", UPDATE_CACHE_POLICY);
|
||||
// connection
|
||||
save(prefs, dialog.cbProxyType, KEY_PROXY_TYPE);
|
||||
save(prefs, dialog.txtProxyServer, KEY_PROXY_ADDRESS);
|
||||
|
|
@ -1124,6 +1137,10 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
// TODO add your handling code here:
|
||||
}//GEN-LAST:event_jEnableSoundsActionPerformed
|
||||
|
||||
private void jEnableMusicsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jEnableMusicsActionPerformed
|
||||
// TODO add your handling code here:
|
||||
}//GEN-LAST:event_jEnableMusicsActionPerformed
|
||||
|
||||
private void showProxySettings() {
|
||||
if (cbProxyType.getSelectedItem() == Connection.ProxyType.SOCKS) {
|
||||
this.pnlProxy.setVisible(true);
|
||||
|
|
@ -1231,6 +1248,12 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
} else {
|
||||
dialog.jEnableSounds.setSelected(false);
|
||||
}
|
||||
prop = prefs.get(KEY_MUSICS_ON, "true");
|
||||
if (prop.equals("true")) {
|
||||
dialog.jEnableMusics.setSelected(true);
|
||||
} else {
|
||||
dialog.jEnableMusics.setSelected(false);
|
||||
}
|
||||
}
|
||||
|
||||
private static void loadProxySettings(Preferences prefs) {
|
||||
|
|
@ -1449,6 +1472,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
private javax.swing.JCheckBox displayBigCardsInHand;
|
||||
private javax.swing.JButton exitButton;
|
||||
private javax.swing.JTextField imageFolderPath;
|
||||
private javax.swing.JCheckBox jEnableMusics;
|
||||
private javax.swing.JCheckBox jEnableSounds;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel10;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue