Skip to content

Commit

Permalink
22.4
Browse files Browse the repository at this point in the history
  • Loading branch information
vl-nix committed Feb 18, 2022
1 parent dad16e0 commit 2df75ec
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 45 deletions.
2 changes: 1 addition & 1 deletion meson.build
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
project('helia', 'c', version: '22.2', meson_version: '>= 0.50.0', default_options: ['warning_level=2', 'c_std=gnu11'])
project('helia', 'c', version: '22.4', meson_version: '>= 0.50.0', default_options: ['warning_level=2', 'c_std=gnu11'])

cc = meson.get_compiler('c')

Expand Down
2 changes: 1 addition & 1 deletion src/helia-win.c
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ static void helia_about ( GtkWindow *window )
gtk_about_dialog_set_authors ( dialog, authors );
gtk_about_dialog_set_artists ( dialog, artists );
gtk_about_dialog_set_program_name ( dialog, "Helia" );
gtk_about_dialog_set_logo_icon_name ( dialog, DEF_ICON );
gtk_about_dialog_set_logo_icon_name ( dialog, "helia-logo" );
gtk_about_dialog_set_license_type ( dialog, GTK_LICENSE_GPL_3_0 );
gtk_about_dialog_set_copyright ( dialog, "Copyright 2022 Helia" );
gtk_about_dialog_set_website ( dialog, "https://github.com/vl-nix/helia" );
Expand Down
2 changes: 1 addition & 1 deletion src/player.c
Original file line number Diff line number Diff line change
Expand Up @@ -662,7 +662,7 @@ static void player_record ( Player *player )
gboolean hls = FALSE;
if ( uri && g_strrstr ( uri, ".m3u8" ) ) hls = TRUE;

double volume = VOLUME;
double volume = 0.75;
g_object_get ( player->playbin, "volume", &volume, NULL );

player_set_stop ( player );
Expand Down
65 changes: 23 additions & 42 deletions src/tree-view.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ static void tree_view_to_file ( const char *file, gboolean mp_tv, GtkTreeView *t
if ( ind == 0 ) return;

gboolean valid;
for ( valid = gtk_tree_model_get_iter_first ( model, &iter ); valid;
valid = gtk_tree_model_iter_next ( model, &iter ) )
for ( valid = gtk_tree_model_get_iter_first ( model, &iter ); valid; valid = gtk_tree_model_iter_next ( model, &iter ) )
{
char *name = NULL;
char *data = NULL;
Expand Down Expand Up @@ -141,6 +140,9 @@ static gboolean tree_view_media_filter ( const char *file_name, gboolean m3u )

static void tree_view_add_m3u ( const char *file, GtkTreeView *treeview )
{
char *title = NULL;
gboolean found = FALSE;

char *contents = NULL;
GError *err = NULL;

Expand All @@ -149,33 +151,27 @@ static void tree_view_add_m3u ( const char *file, GtkTreeView *treeview )
char **lines = g_strsplit ( contents, "\n", 0 );

uint i = 0; for ( i = 0; lines[i] != NULL; i++ )
//for ( i = 0; lines[i] != NULL && *lines[i]; i++ )
{
if ( g_str_has_prefix ( lines[i], "#EXTM3U" ) || g_str_has_prefix ( lines[i], " " ) || strlen ( lines[i] ) < 4 ) continue;

if ( g_str_has_prefix ( lines[i], "#EXTINF" ) )
{
char **lines_info = g_strsplit ( lines[i], ",", 0 );
if ( g_str_has_prefix ( lines[i], "#EXTM3U" ) || strlen ( lines[i] ) < 4 ) continue;
if ( g_str_has_prefix ( lines[i], "#EXTGRP" ) || g_str_has_prefix ( lines[i], "#EXTVLCOPT" ) ) continue;

if ( g_str_has_prefix ( lines[i+1], "#EXTGRP" ) ) i++;
if ( found ) { tree_view_append ( title, g_strstrip ( lines[i] ), treeview ); found = FALSE; }

tree_view_append ( g_strstrip ( lines_info[1] ), g_strstrip ( lines[i+1] ), treeview );

g_strfreev ( lines_info );
i++;
}
else
if ( g_str_has_prefix ( lines[i], "#EXTINF" ) )
{
if ( g_str_has_prefix ( lines[i], "#" ) || g_str_has_prefix ( lines[i], " " ) || strlen ( lines[i] ) < 4 ) continue;
char **line = g_strsplit ( lines[i], ",", 0 );

char *name = g_path_get_basename ( lines[i] );
if ( title ) free ( title );
title = g_strdup ( g_strstrip ( line[1] ) );

tree_view_append ( g_strstrip ( name ), g_strstrip ( lines[i] ), treeview );
g_strfreev ( line );

free ( name );
found = TRUE;
}
}

if ( title ) free ( title );

g_strfreev ( lines );
free ( contents );
}
Expand Down Expand Up @@ -454,15 +450,15 @@ static void treeview_handler_append ( TreeView *treeview, const char *name, cons
static char * treeview_handler_next ( TreeView *treeview, const char *uri, uint num )
{
char *path = NULL;
g_autofree char *next = ( uri ) ? helia_uri_get_path ( uri ) : NULL;

GtkTreeModel *model = gtk_tree_view_get_model ( GTK_TREE_VIEW ( treeview ) );

uint count = 0;
GtkTreeIter iter;
gboolean valid, break_f = FALSE;
gboolean valid, found = FALSE, break_f = FALSE;

for ( valid = gtk_tree_model_get_iter_first ( model, &iter ); valid;
valid = gtk_tree_model_iter_next ( model, &iter ) )
for ( valid = gtk_tree_model_get_iter_first ( model, &iter ); valid; valid = gtk_tree_model_iter_next ( model, &iter ) )
{
char *data = NULL;
gtk_tree_model_get ( model, &iter, COL_DATA, &data, -1 );
Expand All @@ -472,40 +468,25 @@ static char * treeview_handler_next ( TreeView *treeview, const char *uri, uint
if ( count == num )
{
path = g_strdup ( data );
gtk_tree_selection_select_iter ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( treeview ) ), &iter );

break_f = TRUE;
}
}
else
{
char *next = helia_uri_get_path ( uri );
if ( found ) { path = g_strdup ( data ); break_f = TRUE; }

if ( g_strrstr ( next, data ) )
{
if ( gtk_tree_model_iter_next ( model, &iter ) )
{
char *data2 = NULL;
gtk_tree_model_get ( model, &iter, COL_DATA, &data2, -1 );

path = g_strdup ( data2 );

gtk_tree_selection_select_iter ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( treeview ) ), &iter );
free ( data2 );

}

break_f = TRUE;
}

free ( next );
if ( next && g_strrstr ( next, data ) ) found = TRUE;
}

count++;
free ( data );

if ( break_f ) break;
}

if ( break_f ) gtk_tree_selection_select_iter ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( treeview ) ), &iter );

return path;
}

Expand Down

0 comments on commit 2df75ec

Please sign in to comment.