Skip to content

Commit

Permalink
Panel Collapse, MouseWheel Volume + Video Volume Display (SV8ARJ Insp…
Browse files Browse the repository at this point in the history
…ired)
  • Loading branch information
tomvdb committed Jul 9, 2024
1 parent f84c097 commit 6094787
Show file tree
Hide file tree
Showing 20 changed files with 321 additions and 114 deletions.
3 changes: 0 additions & 3 deletions ExtraFeatures/BATCSpectrum/BATCSpectrum.cs
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,6 @@ private void drawspectrum(UInt16[] fft_data)
tmp.DrawImage(bmp2, 0, 255 - bandplan_height); //bandplan

y = 0;
int y_offset = 0; ;

for (int tuner = 0; tuner < _tuners; tuner++)
{
Expand Down Expand Up @@ -478,8 +477,6 @@ private void selectSignal(int X, int Y)
debug("Freq: " + freq.ToString());
debug("SR: " + sr.ToString());

UInt32 lo = 0;

OnSignalSelected?.Invoke(rx, freq, sr);

}
Expand Down
2 changes: 1 addition & 1 deletion ExtraFeatures/BATCWebchat/wbchat.cs
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ private void lbUsers_SelectedIndexChanged(object sender, EventArgs e)
{
// from Chris - DH3CS
string user = lbUsers.GetItemText(lbUsers.SelectedItem);
string result = null;

try
{
richChat.SelectionStart = 0;
Expand Down
118 changes: 101 additions & 17 deletions MainForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ namespace opentuner
delegate void UpdateLabelDelegate(Label LB, Object obj);
delegate void updateRecordingStatusDelegate(MainForm gui, bool recording_status, string id);

public partial class MainForm : Form
public partial class MainForm : Form, IMessageFilter
{
// extras
MqttManager mqtt_client;
Expand All @@ -53,20 +53,9 @@ public partial class MainForm : Form

private static OTSource videoSource;

// mqtt settings
string setting_mqtt_broker_host = "127.0.0.1";
int setting_mqtt_broker_port = 1883;
string setting_mqtt_parent_topic = "";

// f5oeoe firmware pluto
bool setting_enable_pluto = false;

private TunerControlForm tuner1ControlForm;
private TunerControlForm tuner2ControlForm;

private VideoViewForm mediaPlayer1Window;
private VideoViewForm mediaPlayer2Window;

private MainSettings _settings;
private SettingsManager<MainSettings> _settingsManager;

Expand All @@ -75,6 +64,8 @@ public partial class MainForm : Form
List<StoredFrequency> stored_frequencies = new List<StoredFrequency>();
List<ExternalTool> external_tools = new List<ExternalTool>();

List<VolumeInfoContainer> volume_display = new List<VolumeInfoContainer>();


public MainForm()
{
Expand All @@ -83,6 +74,8 @@ public MainForm()

InitializeComponent();

Application.AddMessageFilter(this);

_settings = new MainSettings();
_settingsManager = new SettingsManager<MainSettings>("open_tuner_settings");
_settings = (_settingsManager.LoadSettings(_settings));
Expand Down Expand Up @@ -279,6 +272,9 @@ private void ChangeVideo(int video_number, bool start)
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Log.Information("Exiting...");

Application.RemoveMessageFilter(this);

Log.Information("* Saving Settings");

// save current windows properties
Expand Down Expand Up @@ -351,6 +347,8 @@ private void Form1_FormClosing(object sender, FormClosingEventArgs e)
Log.Error( Ex, "Closing Exception");
}



Log.Information("Bye!");

}
Expand Down Expand Up @@ -742,65 +740,122 @@ private void LoadSeperateWindow(Control VideoControl, string Title, int Nr)

private OTMediaPlayer ConfigureVideoPlayer(int nr, int preference, bool seperate_window)
{
OTMediaPlayer player;
OTMediaPlayer player = null;

VolumeInfoContainer video_volume_display = null;

switch (preference)
{
case 0: // vlc
Log.Information(nr.ToString() + " - " + "VLC");
var vlc_video_player = new LibVLCSharp.WinForms.VideoView();
vlc_video_player.Dock = DockStyle.Fill;
vlc_video_player.MouseDoubleClick += video_player_MouseDoubleClick;
vlc_video_player.MouseWheel += video_player_MouseWheel;
vlc_video_player.Tag = nr;

video_volume_display = new VolumeInfoContainer((Control)vlc_video_player);
video_volume_display.Tag = nr;


if (seperate_window)
{
LoadSeperateWindow(vlc_video_player, "VLC - " + (nr + 1).ToString(), nr);
}
else
{
videoPanels[nr].Controls.Add(video_volume_display);
videoPanels[nr].Controls.Add(vlc_video_player);
}

player = new VLCMediaPlayer(vlc_video_player);
player.Initialize(videoSource.GetVideoDataQueue(nr), nr);
return player;
break;

case 1: // ffmpeg
Log.Information(nr.ToString() + " - " + "FFMPEG");
var ffmpeg_video_player = new FlyleafLib.Controls.WinForms.FlyleafHost();
ffmpeg_video_player.Dock = DockStyle.Fill;
ffmpeg_video_player.MouseDoubleClick += video_player_MouseDoubleClick;
ffmpeg_video_player.MouseWheel += video_player_MouseWheel;
ffmpeg_video_player.Tag = nr;

video_volume_display = new VolumeInfoContainer((Control)ffmpeg_video_player);
video_volume_display.Tag = nr;

if (seperate_window)
{
LoadSeperateWindow(ffmpeg_video_player, "FFMPEG - " + (nr + 1).ToString(), nr);
}
else
{
videoPanels[nr].Controls.Add(video_volume_display);
videoPanels[nr].Controls.Add(ffmpeg_video_player);
}

player = new FFMPEGMediaPlayer(ffmpeg_video_player);
player.Initialize(videoSource.GetVideoDataQueue(nr), nr);
return player;
break;

case 2: // mpv
Log.Information(nr.ToString() + " - " + "MPV");
var mpv_video_player = new PictureBox();
mpv_video_player.Dock = DockStyle.Fill;
mpv_video_player.MouseDoubleClick += video_player_MouseDoubleClick;
mpv_video_player.MouseWheel += video_player_MouseWheel;
mpv_video_player.Tag = nr;

video_volume_display = new VolumeInfoContainer((Control)mpv_video_player);
video_volume_display.Tag = nr;


if (seperate_window)
{
LoadSeperateWindow(mpv_video_player, "MPV - " + (nr + 1).ToString(), nr);
}
else
{
videoPanels[nr].Controls.Add(video_volume_display);
videoPanels[nr].Controls.Add(mpv_video_player);
}

player = new MPVMediaPlayer(mpv_video_player.Handle.ToInt64());
player.Initialize(videoSource.GetVideoDataQueue(nr), nr);
return player;
break;
}


if (video_volume_display != null)
this.volume_display.Add(video_volume_display);

return player;
}

private void video_player_MouseWheel(object sender, MouseEventArgs e)
{
int wheel_volume_rate = 10; // todo, maybe turn this into a setting

int video_nr = (int)((Control)sender).Tag;

if (e.Delta < 0)
{
videoSource.UpdateVolume(video_nr, -1 * wheel_volume_rate);
}
if (e.Delta > 0)
{
videoSource.UpdateVolume(video_nr, wheel_volume_rate);
}

return null;
if (volume_display.Count > video_nr)
{
volume_display[video_nr].UpdateVolume(videoSource.GetVolume(video_nr));
}

}

private void video_player_MouseDoubleClick(object sender, MouseEventArgs e)
{
Log.Information("Double Clicked on " + ((Control)sender).Tag);
}

// configure TS recorders
Expand Down Expand Up @@ -1093,6 +1148,35 @@ private void menuManageFrequencyPresets_Click(object sender, EventArgs e)
videoSource.UpdateFrequencyPresets(stored_frequencies);
}
}

bool PropertiesHidden = false;

private void TogglePropertiesPanel(bool hide)
{
if (hide)
{
splitContainer1.Panel1.Hide();
splitContainer1.Panel1Collapsed = true;
PropertiesHidden = true;
}
else
{
splitContainer1.Panel1.Show();
splitContainer1.Panel1Collapsed = false;
PropertiesHidden = false;
}
}

public bool PreFilterMessage(ref Message m)
{
if (m.Msg == 0X0100 && (Keys)m.WParam.ToInt32() == Keys.P && ModifierKeys == Keys.Control)
{
TogglePropertiesPanel(!PropertiesHidden);
return true;
}

return false;
}
}


Expand Down
1 change: 0 additions & 1 deletion MediaPlayers/FFMPEG/FFMPEGMediaPlayer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ public class FFMPEGMediaPlayer : OTMediaPlayer

MediaStream media_stream;

int counter = 0;
CircularBuffer ts_data_queue;

int _id = 0;
Expand Down
7 changes: 0 additions & 7 deletions MediaPlayers/MPV/MPVMediaPlayer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,6 @@ public class MPVMediaPlayer : OTMediaPlayer
private MyStreamCbReadFn readfn;
private MyStreamCbCloseFn closefn;


private string _videoPlayerId = "";
private string _videoPlayerTitle = "";

Int64 counter = 0;

private CircularBuffer _videoBuffer;

bool stopFlag = false;
Expand Down Expand Up @@ -320,7 +314,6 @@ public override void Initialize(CircularBuffer TSDataQueue)

public override void Play()
{
counter = 0;
ts_sync = false;
stopFlag = false;

Expand Down
28 changes: 27 additions & 1 deletion MediaSources/Longmynd/LongmyndProperties.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ public partial class LongmyndSource
Control _parent = null;

private static DynamicPropertyGroup _tuner1_properties = null;
private static DynamicPropertyGroup _tuner2_properties = null;
private static DynamicPropertyGroup _source_properties = null;

// context menu strip
Expand Down Expand Up @@ -360,5 +359,32 @@ public override void UpdateFrequencyPresets(List<StoredFrequency> FrequencyPrese
_frequency_presets = FrequencyPresets;
}

public override void UpdateVolume(int device, int volume)
{
if (_media_player == null)
return;

int new_volume = _media_player.GetVolume() + volume;

if (new_volume < 0) new_volume = 0;
if (new_volume > 200) new_volume = 200;

_media_player.SetVolume(new_volume);

_tuner1_properties?.UpdateValue("volume_slider_1", new_volume.ToString());
}

public override void ToggleMute(int device)
{

}

public override int GetVolume(int device)
{
if (_media_player == null)
return -1;

return _media_player.GetVolume();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -570,7 +570,6 @@ public override byte nim_read_reg16(byte addr, ushort reg, ref byte val)
// get a list of all detected ft2232 devices
public List<FTDIDevice> detect_all_ftdi()
{
uint device_count = 0;
List<FTDIDevice> ftdi_devices = new List<FTDIDevice>();
/*
Expand Down Expand Up @@ -649,7 +648,6 @@ public override byte hw_detect(ref uint i2c_port, ref uint ts_port, ref uint ts_
public override byte hw_init(uint i2c_device, uint ts_device, uint ts_device2)
{
byte err = 0;
uint devcount = 0;


UsbContext usbContext = new UsbContext();
Expand Down
Loading

0 comments on commit 6094787

Please sign in to comment.