<commit_before>package Music;

use myperl;

use Cwd;
use Carp;
use MP3::Tag;
use File::Spec;
use File::Find;
use File::HomeDir;
use File::Basename;
use Text::Capitalize;

use Music::Dirs;
use MusicCollection::Tag;

use base 'Exporter';
our @EXPORT = (@Music::Dirs::EXPORT,									# pass these along
qw<
	$ME set_album_dir usage_error fatal_error album_arg
	album title filename alpha_filename sort_tracklist generate_tracklist rename_album
	get_track_info
	get_tag foreach_album_tag compare_song_times denumerify format_sortkey
	attach_album_art extract_album_art
	rebuild_playlists find_tracklists_containing cover_file
>);


const our $ME => file($0)->basename;

# this can be changed to work with albums in places other than the default
# use one of these:
#		set_album_dir(to => $dir_containing_album_dirs);
#		set_album_dir(from => $dir_containing_one_album);
#		local $Music::AlbumDir = $dir_containing_album_dirs;
our $AlbumDir = $ALBUM_DIR;

func set_album_dir (:$from, :$to)<commit_msg>export of `seconds` (should have gone out with 84131e2c)<commit_after>package Music;

use myperl;

use Cwd;
use Carp;
use MP3::Tag;
use File::Spec;
use File::Find;
use File::HomeDir;
use File::Basename;
use Text::Capitalize;

use Music::Dirs;
use MusicCollection::Tag;

use base 'Exporter';
our @EXPORT = (@Music::Dirs::EXPORT,									# pass these along
qw<
	$ME set_album_dir usage_error fatal_error album_arg
	album title filename alpha_filename sort_tracklist generate_tracklist rename_album
	get_track_info
	get_tag foreach_album_tag compare_song_times seconds denumerify format_sortkey
	attach_album_art extract_album_art
	rebuild_playlists find_tracklists_containing cover_file
>);


const our $ME => file($0)->basename;

# this can be changed to work with albums in places other than the default
# use one of these:
#		set_album_dir(to => $dir_containing_album_dirs);
#		set_album_dir(from => $dir_containing_one_album);
#		local $Music::AlbumDir = $dir_containing_album_dirs;
our $AlbumDir = $ALBUM_DIR;

func set_album_dir (:$from, :$to)
{'fraction_non_alphanumeric': 0.0930004894762604, 'fraction_numerical': 0.004894762604013705, 'mean_word_length': 6.514705882352941, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1008693', 'n_tokens_mistral': 748, 'n_tokens_neox': 699, 'n_words': 194}