fix sample bank image size configuration

This commit is contained in:
niels
2015-10-22 19:46:33 +02:00
parent 5cae61c2d3
commit b539d6c20f

View File

@@ -5376,8 +5376,6 @@ static void load_editlist_info()
update_label_i( "label_el_achans", values[7], 0);
update_label_i( "label_el_abits", values[5], 0);
info->el.ratio = (float)info->el.width / (float) info->el.height;
if( values[4] == 0 )
{
disable_widget( "button_5_4" );
@@ -6572,7 +6570,9 @@ void vj_gui_set_debug_level(int level, int n_tracks, int pw, int ph )
vims_verbosity = level;
mt_set_max_tracks(n_tracks);
if( !mt_set_max_tracks(n_tracks) ) {
mt_set_max_tracks(5);
}
}
int vj_gui_get_preview_priority(void)
@@ -6584,6 +6584,7 @@ void default_bank_values(int *col, int *row )
{
int nsc = 2;
int nsy = 6;
if( ui_skin_ == 1 ) {
nsc = 5;
nsy = 4;
@@ -6596,8 +6597,8 @@ void default_bank_values(int *col, int *row )
}
else
{
NUM_SAMPLES_PER_ROW = *col;
NUM_SAMPLES_PER_COL = *row;
NUM_SAMPLES_PER_ROW = *row;
NUM_SAMPLES_PER_COL = *col;
}
NUM_SAMPLES_PER_PAGE = NUM_SAMPLES_PER_COL * NUM_SAMPLES_PER_ROW;
NUM_BANKS = (4096 / NUM_SAMPLES_PER_PAGE );
@@ -6787,17 +6788,15 @@ void vj_gui_wipe()
}
GtkWidget *new_bank_pad(GtkWidget *box, int type)
GtkWidget *new_bank_pad(GtkWidget *box)
{
GtkWidget *pad = info->sample_bank_pad = gtk_notebook_new();
gtk_notebook_set_tab_pos( GTK_NOTEBOOK(pad), GTK_POS_BOTTOM );
gtk_notebook_set_show_tabs( GTK_NOTEBOOK(pad ), FALSE );
gtk_box_pack_start (GTK_BOX (box), GTK_WIDGET(pad), TRUE, TRUE, 0);
if( type == 0 ) {
setup_samplebank( NUM_SAMPLES_PER_COL, NUM_SAMPLES_PER_ROW, pad, &(info->image_dimensions[0]),
&(info->image_dimensions[1]) );
}
// setup_samplebank( NUM_SAMPLES_PER_COL, NUM_SAMPLES_PER_ROW, pad, &(info->image_dimensions[0]),&(info->image_dimensions[1]) );
return pad;
}
@@ -6936,7 +6935,7 @@ void vj_gui_init(char *glade_file, int launcher, char *hostname, int port_num,
NULL );
GtkWidget *box = glade_xml_get_widget_( info->main_window, "sample_bank_hbox" );
info->sample_bank_pad = new_bank_pad( box,0 );
info->sample_bank_pad = new_bank_pad( box );
//QuickSelect slots
create_ref_slots( 10 );
@@ -7612,48 +7611,38 @@ void free_samplebank(void)
#define RUP8(num)(((num)+8)&~8)
//@ OK
void setup_samplebank(gint num_cols, gint num_rows, GtkWidget *pad, int *idx, int *idy)
{
GdkRectangle result;
if(info->el.width <= 0 || info->el.height <= 0 ) {
*idx = 0;
*idy = 0;
return;
}
else {
widget_get_rect_in_screen(
pad,
&result
);
result.width -= ( num_rows * 16);
result.height -= ( num_cols * 16);
gint image_width = result.width / num_rows;
gint image_height = result.height / num_cols;
if( image_width > 64 && image_height > 64 ) {
image_width -= 16; /* some spacing between slot border and image */
image_height -= 16;
}
float ratio = (float) info->el.height / (float) info->el.width;
// ratio = (float) info->el.width / (float) info->el.height;
gfloat w = 0.0f;
gfloat h = 0.0f;
if( info->el.width > info->el.height ) {
float w,h;
if( ratio <= 1.0f ) {
h = ratio * image_width;
w = image_width;
h = image_width * ratio;
}
else {
w = image_height * ratio;
h = image_height;
w = image_width / ratio;
}
*idx = (int)w;
*idy = (int)h;
}
veejay_msg(VEEJAY_MSG_INFO, "Sample bank image dimensions: %dx%d", *idx,*idy);
veejay_msg(VEEJAY_MSG_DEBUG, "Sample bank [%dx%d] image dimensions %dx%d -> %dx%d %2.2f",result.width,result.height,image_width,image_height, *idx,*idy, ratio);
}
/* --------------------------------------------------------------------------------------------------------------------------