├── .gitmodules
├── admin
├── dist
│ ├── win
│ │ ├── wix
│ │ │ ├── qt.conf
│ │ │ ├── eula.rtf
│ │ │ ├── wixboff.cmd
│ │ │ └── wixclient.cmd
│ │ ├── wizard.bmp
│ │ ├── UninsHs.exe
│ │ ├── installer.ico
│ │ ├── wizard_small.bmp
│ │ ├── installer1_icon.bmp
│ │ ├── installer2_icon.bmp
│ │ └── isspp
│ ├── mac
│ │ ├── fm.last.Scrobbler.scpt
│ │ ├── dacp.fm.last.Scrobbler.scpt
│ │ ├── sign_update.rb
│ │ ├── Growl Registration Ticket.growlRegDict
│ │ └── dsa_pub.pem
│ └── updates
│ │ └── Changelog.txt
├── qmake
│ ├── QtOverride.pro.inc
│ ├── debug.pro.inc
│ └── 1stparty.pro.inc
└── tests
│ ├── run_tests.sh
│ └── log_test.sh
├── lib
├── unicorn
│ ├── qrc
│ │ ├── unicorn.qrc
│ │ ├── spinner.mng
│ │ ├── down_arrow.png
│ │ ├── profile_on.png
│ │ ├── default_user.png
│ │ ├── profile_hover.png
│ │ ├── profile_off.png
│ │ ├── right_arrow.png
│ │ ├── default_user_small.png
│ │ └── as.svg
│ ├── dialogs
│ │ ├── CloseAppsDialog_mac.mm
│ │ └── AboutDialog.h
│ ├── DesktopServices.h
│ ├── CrashReporter
│ │ └── CrashReporter.h
│ ├── widgets
│ │ └── GhostWidget.h
│ └── qtwin.h
├── listener
│ ├── win
│ │ ├── SpotifyListener.cpp
│ │ └── NamedPipeServer.h
│ ├── tests
│ │ └── test_liblistener.pro
│ └── PlayerCommand.h
├── 3rdparty
│ ├── iTunesCOMAPI
│ │ ├── iTunesCOM.chm
│ │ ├── SampleScripts
│ │ │ ├── RemoveDeadTracks.js
│ │ │ ├── CreateAlbumPlaylists.js
│ │ │ └── RemoveUserPlaylists.js
│ │ └── ReadMe.rtf
│ ├── patches
│ │ └── README
│ ├── README
│ └── fetch.sh
└── logger
│ └── logger.pro
├── plugins
├── winamp
│ ├── Gen_AudioScrobbler.h
│ ├── StdString.h
│ ├── VersionApp.h
│ ├── VersionApp.cpp
│ ├── tools
│ │ └── RCStamp.exe
│ ├── UTF.h
│ ├── StdAfx.cpp
│ ├── WinampBootstrap.h
│ ├── GEN.H
│ ├── res
│ │ └── Gen_AudioScrobbler.rc2
│ ├── StdAfx.h
│ ├── Gen_AudioScrobbler.dsw
│ └── Gen_AudioScrobbler.sln
├── foobar09
│ ├── foobar_sdk
│ │ ├── foobar2000
│ │ │ ├── SDK
│ │ │ │ ├── shortcut_actions.h
│ │ │ │ ├── playlist_lock.cpp
│ │ │ │ ├── stdafx.cpp
│ │ │ │ ├── component_client.h
│ │ │ │ ├── components_menu.h
│ │ │ │ ├── playback_control.cpp
│ │ │ │ ├── app_close_blocker.cpp
│ │ │ │ ├── popup_message.cpp
│ │ │ │ ├── shared.h
│ │ │ │ ├── preferences_page.cpp
│ │ │ │ ├── utf8api.cpp
│ │ │ │ ├── link_resolver.cpp
│ │ │ │ ├── mem_block_container.cpp
│ │ │ │ ├── config_io_callback.h
│ │ │ │ ├── abort_callback.cpp
│ │ │ │ ├── config_io_callback.cpp
│ │ │ │ ├── initquit.h
│ │ │ │ ├── modeless_dialog.cpp
│ │ │ │ ├── packet_decoder.cpp
│ │ │ │ ├── chapterizer.cpp
│ │ │ │ ├── genrand.h
│ │ │ │ ├── hasher_md5.cpp
│ │ │ │ ├── commandline.cpp
│ │ │ │ ├── app_close_blocker.h
│ │ │ │ ├── service.cpp
│ │ │ │ ├── coreversion.h
│ │ │ │ ├── completion_notify.cpp
│ │ │ │ ├── playable_location.cpp
│ │ │ │ ├── mainmenu.cpp
│ │ │ │ ├── modeless_dialog.h
│ │ │ │ ├── ui.cpp
│ │ │ │ ├── audio_postprocessor.h
│ │ │ │ ├── main_thread_callback.h
│ │ │ │ └── console.cpp
│ │ │ ├── shared
│ │ │ │ └── shared.lib
│ │ │ ├── foo_input_raw
│ │ │ │ └── readme.txt
│ │ │ ├── foo_input_validator
│ │ │ │ └── foo_input_validator.dll
│ │ │ └── helpers
│ │ │ │ ├── format_title_group.h
│ │ │ │ ├── StdAfx.cpp
│ │ │ │ ├── dynamic_bitrate_helper.h
│ │ │ │ ├── cue_creator.h
│ │ │ │ ├── text_file_loader.h
│ │ │ │ ├── wildcard.h
│ │ │ │ ├── create_directory_helper.h
│ │ │ │ ├── preload_info_helper.h
│ │ │ │ ├── file_wrapper_simple.h
│ │ │ │ ├── dropdown_helper.h
│ │ │ │ ├── stream_buffer_helper.h
│ │ │ │ ├── StdAfx.h
│ │ │ │ ├── cfg_structlist.h
│ │ │ │ ├── file_list_helper.h
│ │ │ │ ├── string_filter.h
│ │ │ │ ├── cfg_guidlist.h
│ │ │ │ ├── cuesheet_index_list.h
│ │ │ │ ├── helpers.h
│ │ │ │ ├── window_placement_helper.h
│ │ │ │ └── wildcard.cpp
│ │ └── pfc
│ │ │ ├── stdafx.cpp
│ │ │ ├── bsearch.cpp
│ │ │ ├── selftest.cpp
│ │ │ ├── profiler.cpp
│ │ │ ├── bsearch_inline.h
│ │ │ ├── guid.h
│ │ │ ├── ptr_list.h
│ │ │ ├── other.cpp
│ │ │ └── instance_tracker.h
│ ├── tools
│ │ └── append_once.bat
│ ├── resource.h
│ └── ChangeLog.txt
├── iTunes
│ ├── tests
│ │ ├── tests.pro
│ │ ├── comtest.cpp
│ │ ├── ITunesPlaysDatabaseMac.pro
│ │ └── comtest.sln
│ ├── tools
│ │ ├── RCStamp.exe
│ │ └── append_once.bat
│ ├── scripts
│ │ ├── currentTrack.scpt
│ │ ├── currentTrackLocation.scpt
│ │ ├── playCountForDatabaseId.scpt
│ │ ├── currentTrackPersistentId.scpt
│ │ ├── playCountForPersistentId.scpt
│ │ └── uninstall.sh
│ ├── README.dist
│ ├── _iTunes.plist
│ └── resource.h
├── wmp
│ ├── StdString.h
│ ├── VersionApp.h
│ ├── tools
│ │ ├── RCStamp.exe
│ │ └── append_once.bat
│ ├── wmp_scrobbler.def
│ ├── StdAfx.cpp
│ ├── WMPScrobbler.cpp
│ ├── wmpBootStrap.h
│ ├── WMPScrobbler.h
│ ├── wmp_scrobbler.sln
│ ├── wmp_scrobbler.rgs
│ ├── wmp_scrobbler.7.10.sln
│ └── StdAfx.h
├── scrobsub
│ ├── StdString.h
│ ├── resource.h
│ └── resource1.h
└── foobar08
│ └── tools
│ └── append_once.bat
├── common
├── qt
│ ├── override
│ │ ├── QHttp
│ │ ├── QMessageBox
│ │ ├── QNetworkAccessManager
│ │ └── README
│ ├── README
│ └── msleep.cpp
├── HideStupidWarnings.h
├── precompiled.h
└── c++
│ └── string.h
├── app
├── client
│ ├── Services
│ │ ├── AnalyticsService.h
│ │ ├── ScrobbleService.h
│ │ └── AnalyticsService
│ │ │ └── PersistentCookieJar.h
│ ├── qrc
│ │ ├── as.png
│ │ ├── 16x16.png
│ │ ├── 22x22.png
│ │ ├── delete.png
│ │ ├── beta_sash.png
│ │ ├── highlight.png
│ │ ├── icon_eq.gif
│ │ ├── on_tour.png
│ │ ├── start_bg.png
│ │ ├── header_tags.png
│ │ ├── volume_high.png
│ │ ├── volume_low.png
│ │ ├── volume_mid.png
│ │ ├── volume_mute.png
│ │ ├── asterisk_small.png
│ │ ├── loading_meta.gif
│ │ ├── loading_radio.gif
│ │ ├── message_close.png
│ │ ├── message_error.png
│ │ ├── message_info.png
│ │ ├── meta_ban_REST.png
│ │ ├── meta_buy_HOVER.png
│ │ ├── meta_buy_PRESS.png
│ │ ├── meta_buy_REST.png
│ │ ├── meta_skip_REST.png
│ │ ├── meta_tag_HOVER.png
│ │ ├── meta_tag_PRESS.png
│ │ ├── meta_tag_REST.png
│ │ ├── radio_eq_small.gif
│ │ ├── radio_mix_REST.png
│ │ ├── radio_rec_REST.png
│ │ ├── scrobble_OFF.png
│ │ ├── settings_HOVER.png
│ │ ├── settings_PRESS.png
│ │ ├── settings_REST.png
│ │ ├── slider_nubbin.png
│ │ ├── subscribe_bg.png
│ │ ├── tab_radio_REST.png
│ │ ├── tag_29x29_rest.png
│ │ ├── user_default.png
│ │ ├── wizard
│ │ │ ├── arrow.png
│ │ │ ├── bg_clouds.png
│ │ │ ├── graphic_access.png
│ │ │ ├── graphic_finish.png
│ │ │ ├── graphic_radio.png
│ │ │ ├── lastfm_icon_32.png
│ │ │ ├── lastfm_icon_64.png
│ │ │ ├── player_wmp_64.png
│ │ │ ├── graphic_connect.png
│ │ │ ├── graphic_importing.gif
│ │ │ ├── graphic_metadata.png
│ │ │ ├── graphic_plugins.png
│ │ │ ├── graphic_scrobbles.png
│ │ │ ├── player_foobar_64.png
│ │ │ ├── player_itunes_64.png
│ │ │ ├── player_winamp_64.png
│ │ │ ├── graphic_import_wmp.png
│ │ │ ├── button_grey_LEFT_HOVER.png
│ │ │ ├── button_grey_LEFT_REST.png
│ │ │ ├── button_grey_RIGHT_REST.png
│ │ │ ├── button_red_LEFT_HOVER.png
│ │ │ ├── button_red_LEFT_REST.png
│ │ │ ├── button_red_MIDDLE_REST.png
│ │ │ ├── button_red_RIGHT_HOVER.png
│ │ │ ├── button_red_RIGHT_REST.png
│ │ │ ├── graphic_import_foobar.png
│ │ │ ├── graphic_import_itunes.png
│ │ │ ├── graphic_import_winamp.png
│ │ │ ├── graphic_location_MAC.png
│ │ │ ├── graphic_location_WIN.png
│ │ │ ├── button_grey_MIDDLE_HOVER.png
│ │ │ ├── button_grey_MIDDLE_REST.png
│ │ │ ├── button_grey_RIGHT_HOVER.png
│ │ │ ├── button_red_MIDDLE_HOVER.png
│ │ │ ├── arrow_bigger_than_dropbox.png
│ │ │ └── arrow_even_bigger_than_dropbox.png
│ │ ├── button_LEFT_REST.png
│ │ ├── control_bar_back.png
│ │ ├── meta_share_HOVER.png
│ │ ├── meta_share_PRESS.png
│ │ ├── meta_share_REST.png
│ │ ├── now-playing-REST.png
│ │ ├── progress_slot_ON.png
│ │ ├── radio_mix_HOVER.png
│ │ ├── radio_mix_PRESS.png
│ │ ├── radio_rec_HOVER.png
│ │ ├── radio_rec_PRESS.png
│ │ ├── share_29x29_rest.png
│ │ ├── subscribe_radio.png
│ │ ├── tab_friends_REST.png
│ │ ├── tab_profile_REST.png
│ │ ├── tab_radio_ACTIVE.png
│ │ ├── tab_radio_HOVER.png
│ │ ├── tag_29x29_hover.png
│ │ ├── volume_knob_REST.png
│ │ ├── 22x22_transparent.png
│ │ ├── button_LEFT_HOVER.png
│ │ ├── button_LEFT_PRESS.png
│ │ ├── button_MIDDLE_HOVER.png
│ │ ├── button_MIDDLE_PRESS.png
│ │ ├── button_MIDDLE_REST.png
│ │ ├── button_RIGHT_HOVER.png
│ │ ├── button_RIGHT_PRESS.png
│ │ ├── button_RIGHT_REST.png
│ │ ├── controls_ban_HOVER.png
│ │ ├── controls_ban_PRESS.png
│ │ ├── controls_ban_REST.png
│ │ ├── controls_pause_REST.png
│ │ ├── controls_play_HOVER.png
│ │ ├── controls_play_PRESS.png
│ │ ├── controls_play_REST.png
│ │ ├── controls_skip_HOVER.png
│ │ ├── controls_skip_PRESS.png
│ │ ├── controls_skip_REST.png
│ │ ├── meta_album_no_art.png
│ │ ├── meta_context_arrow.png
│ │ ├── meta_love_OFF_HOVER.png
│ │ ├── meta_love_OFF_PRESS.png
│ │ ├── meta_love_OFF_REST.png
│ │ ├── meta_love_ON_HOVER.png
│ │ ├── meta_love_ON_PRESS.png
│ │ ├── meta_love_ON_REST.png
│ │ ├── meta_tag_LEFT_HOVER.png
│ │ ├── meta_tag_LEFT_REST.png
│ │ ├── meta_tag_RIGHT_REST.png
│ │ ├── now-playing-PRESS.png
│ │ ├── preferences_devices.png
│ │ ├── preferences_general.png
│ │ ├── progress_slot_OFF.png
│ │ ├── radio_friends_HOVER.png
│ │ ├── radio_friends_PRESS.png
│ │ ├── radio_friends_REST.png
│ │ ├── radio_library_HOVER.png
│ │ ├── radio_library_PRESS.png
│ │ ├── radio_library_REST.png
│ │ ├── scrobble_marker_OFF.png
│ │ ├── scrobble_marker_ON.png
│ │ ├── scrobbles_refresh.png
│ │ ├── share_29x29_hover.png
│ │ ├── share_29x29_pressed.png
│ │ ├── tab_friends_ACTIVE.png
│ │ ├── tab_friends_HOVER.png
│ │ ├── tab_profile_ACTIVE.png
│ │ ├── tab_profile_HOVER.png
│ │ ├── tab_scrobbles_HOVER.png
│ │ ├── tab_scrobbles_REST.png
│ │ ├── tag_29x29_disabled.png
│ │ ├── tag_29x29_pressed.png
│ │ ├── taskbar-ban-16x16.png
│ │ ├── taskbar-info-16x16.png
│ │ ├── taskbar-play-16x16.png
│ │ ├── taskbar-skip-16x16.png
│ │ ├── titlebar_highlight.png
│ │ ├── volume_knob_PRESS.png
│ │ ├── window_drag_corner.png
│ │ ├── button_dark_LEFT_REST.png
│ │ ├── control_bar_radio_as.png
│ │ ├── control_bar_radio_mix.png
│ │ ├── control_bar_radio_rec.png
│ │ ├── control_bar_radio_tag.png
│ │ ├── controls_love_ON_REST.png
│ │ ├── controls_pause_HOVER.png
│ │ ├── controls_pause_PRESS.png
│ │ ├── meta_artist_no_photo.png
│ │ ├── meta_radio_LEFT_HOVER.png
│ │ ├── meta_radio_LEFT_PRESS.png
│ │ ├── meta_radio_LEFT_REST.png
│ │ ├── meta_radio_RIGHT_REST.png
│ │ ├── meta_tag_MIDDLE_HOVER.png
│ │ ├── meta_tag_MIDDLE_REST.png
│ │ ├── meta_tag_RIGHT_HOVER.png
│ │ ├── preferences_accounts.png
│ │ ├── preferences_advanced.png
│ │ ├── radio_play_large_REST.png
│ │ ├── radio_play_small_REST.png
│ │ ├── scrobble_progress_OFF.png
│ │ ├── scrobble_progress_ON.png
│ │ ├── share_29x29_disabled.png
│ │ ├── systray_icon_rest_mac.png
│ │ ├── tab_now_playing_HOVER.png
│ │ ├── tab_now_playing_REST.png
│ │ ├── tab_scrobbles_ACTIVE.png
│ │ ├── taskbar-love-ON-16x16.png
│ │ ├── button_dark_LEFT_HOVER.png
│ │ ├── button_dark_LEFT_PRESS.png
│ │ ├── button_dark_MIDDLE_HOVER.png
│ │ ├── button_dark_MIDDLE_PRESS.png
│ │ ├── button_dark_MIDDLE_REST.png
│ │ ├── button_dark_RIGHT_HOVER.png
│ │ ├── button_dark_RIGHT_PRESS.png
│ │ ├── button_dark_RIGHT_REST.png
│ │ ├── control_bar_radio_artist.png
│ │ ├── control_bar_scrobble_wmp.png
│ │ ├── controls_love_OFF_HOVER.png
│ │ ├── controls_love_OFF_PRESS.png
│ │ ├── controls_love_OFF_REST.png
│ │ ├── controls_love_ON_HOVER.png
│ │ ├── controls_love_ON_PRESS.png
│ │ ├── lastfm_icon_16_grayscale.png
│ │ ├── lastfm_icon_22_grayscale.png
│ │ ├── mac_control_bar_as_OFF.png
│ │ ├── meta_radio_MIDDLE_HOVER.png
│ │ ├── meta_radio_MIDDLE_PRESS.png
│ │ ├── meta_radio_MIDDLE_REST.png
│ │ ├── meta_radio_RIGHT_HOVER.png
│ │ ├── meta_radio_RIGHT_PRESS.png
│ │ ├── preferences_scrobbling.png
│ │ ├── radio_play_large_HOVER.png
│ │ ├── radio_play_large_PRESS.png
│ │ ├── radio_play_small_HOVER.png
│ │ ├── radio_play_small_PRESS.png
│ │ ├── systray_icon_pressed_mac.png
│ │ ├── tab_now_playing_ACTIVE.png
│ │ ├── taskbar-love-OFF-16x16.png
│ │ ├── control_bar_radio_friends.png
│ │ ├── control_bar_radio_library.png
│ │ ├── window_drag_corner_minimum.png
│ │ ├── control_bar_scrobble_foobar.png
│ │ ├── control_bar_scrobble_itunes.png
│ │ ├── control_bar_scrobble_spotify.png
│ │ ├── control_bar_scrobble_winamp.png
│ │ └── control_bar_scrobble_applemusic.png
│ ├── PrefPane
│ │ ├── icon.png
│ │ ├── English.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── PrefPane.pro
│ │ ├── PrefPane_prefix.pch
│ │ ├── Info.plist
│ │ ├── FmLastPrefPaneQtView.h
│ │ ├── FmLastPrefPane.h
│ │ └── FmLastPrefPanePrefWidget.h
│ ├── audioscrobbler.icns
│ ├── audioscrobbler.ico
│ ├── icons
│ │ ├── 16x16
│ │ │ └── lastfm-scrobbler.png
│ │ ├── 22x22
│ │ │ └── lastfm-scrobbler.png
│ │ ├── 32x32
│ │ │ └── lastfm-scrobbler.png
│ │ ├── 48x48
│ │ │ └── lastfm-scrobbler.png
│ │ ├── 64x64
│ │ │ └── lastfm-scrobbler.png
│ │ └── 128x128
│ │ │ └── lastfm-scrobbler.png
│ ├── lastfm-scrobbler.desktop
│ ├── Widgets
│ │ ├── NothingPlayingWidget_mac.mm
│ │ ├── TitleBar.h
│ │ ├── ContextLabel.h
│ │ ├── ProfileArtistWidget.h
│ │ └── RefreshButton.h
│ ├── Settings
│ │ ├── AccountSettingsWidget.ui
│ │ └── IpodSettingsWidget.h
│ ├── Dialogs
│ │ ├── LicensesDialog.ui
│ │ ├── LicensesDialog.h
│ │ └── BetaDialog.h
│ ├── audioscrobbler.rc
│ ├── Wizard
│ │ └── TourScrobblesPage.h
│ └── Mpris2
│ │ └── Mpris2.h
├── boffin
│ ├── qrc
│ │ ├── play.png
│ │ ├── skip.png
│ │ ├── stop.png
│ │ ├── pause.png
│ │ └── boffin.qrc
│ └── json_spirit
│ │ ├── README
│ │ ├── json_spirit_value.cpp
│ │ ├── json_spirit.h
│ │ └── json_spirit_writer.h
├── twiddly
│ ├── README
│ ├── Utils.h
│ ├── Twiddly.rc
│ ├── TwiddlyApplication.h
│ └── TwiddlyApplication.cpp
└── fingerprinter
│ └── fingerprinter.pro
├── .gitignore
└── Last.fm.pro
/.gitmodules:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/admin/dist/win/wix/qt.conf:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/unicorn/qrc/unicorn.qrc:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/plugins/winamp/Gen_AudioScrobbler.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/common/qt/override/QHttp:
--------------------------------------------------------------------------------
1 | #error Use QNetworkManager instead.
2 |
--------------------------------------------------------------------------------
/common/qt/README:
--------------------------------------------------------------------------------
1 | These functions are small utility functions that only depend on Qt.
2 |
--------------------------------------------------------------------------------
/common/qt/override/QMessageBox:
--------------------------------------------------------------------------------
1 | #error Use lib/unicorn/QMessageBoxBuilder.h instead.
2 |
--------------------------------------------------------------------------------
/common/qt/override/QNetworkAccessManager:
--------------------------------------------------------------------------------
1 | #error Use lib/ws/WsNetworkManager instead.
2 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/shortcut_actions.h:
--------------------------------------------------------------------------------
1 | #error DEPRECATED
2 |
--------------------------------------------------------------------------------
/app/client/Services/AnalyticsService.h:
--------------------------------------------------------------------------------
1 | #include "AnalyticsService/AnalyticsService.h"
2 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/playlist_lock.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
--------------------------------------------------------------------------------
/app/boffin/qrc/play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/boffin/qrc/play.png
--------------------------------------------------------------------------------
/app/boffin/qrc/skip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/boffin/qrc/skip.png
--------------------------------------------------------------------------------
/app/boffin/qrc/stop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/boffin/qrc/stop.png
--------------------------------------------------------------------------------
/app/client/qrc/as.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/as.png
--------------------------------------------------------------------------------
/plugins/iTunes/tests/tests.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = subdirs
2 |
3 | SUBDIRS = ITunesPlaysDatabaseMac.pro
4 |
--------------------------------------------------------------------------------
/plugins/wmp/StdString.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/wmp/StdString.h
--------------------------------------------------------------------------------
/admin/dist/win/wizard.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/admin/dist/win/wizard.bmp
--------------------------------------------------------------------------------
/app/boffin/qrc/pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/boffin/qrc/pause.png
--------------------------------------------------------------------------------
/app/client/qrc/16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/16x16.png
--------------------------------------------------------------------------------
/app/client/qrc/22x22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/22x22.png
--------------------------------------------------------------------------------
/app/client/qrc/delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/delete.png
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/pfc/stdafx.cpp:
--------------------------------------------------------------------------------
1 | //cpp used to generate precompiled header
2 | #include "pfc.h"
--------------------------------------------------------------------------------
/plugins/wmp/VersionApp.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/wmp/VersionApp.h
--------------------------------------------------------------------------------
/admin/dist/win/UninsHs.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/admin/dist/win/UninsHs.exe
--------------------------------------------------------------------------------
/admin/dist/win/installer.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/admin/dist/win/installer.ico
--------------------------------------------------------------------------------
/app/client/PrefPane/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/PrefPane/icon.png
--------------------------------------------------------------------------------
/app/client/qrc/beta_sash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/beta_sash.png
--------------------------------------------------------------------------------
/app/client/qrc/highlight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/highlight.png
--------------------------------------------------------------------------------
/app/client/qrc/icon_eq.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/icon_eq.gif
--------------------------------------------------------------------------------
/app/client/qrc/on_tour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/on_tour.png
--------------------------------------------------------------------------------
/app/client/qrc/start_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/start_bg.png
--------------------------------------------------------------------------------
/lib/unicorn/qrc/spinner.mng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/unicorn/qrc/spinner.mng
--------------------------------------------------------------------------------
/plugins/scrobsub/StdString.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/scrobsub/StdString.h
--------------------------------------------------------------------------------
/plugins/winamp/StdString.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/winamp/StdString.h
--------------------------------------------------------------------------------
/plugins/winamp/VersionApp.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/winamp/VersionApp.h
--------------------------------------------------------------------------------
/app/client/audioscrobbler.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/audioscrobbler.icns
--------------------------------------------------------------------------------
/app/client/audioscrobbler.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/audioscrobbler.ico
--------------------------------------------------------------------------------
/app/client/qrc/header_tags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/header_tags.png
--------------------------------------------------------------------------------
/app/client/qrc/volume_high.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/volume_high.png
--------------------------------------------------------------------------------
/app/client/qrc/volume_low.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/volume_low.png
--------------------------------------------------------------------------------
/app/client/qrc/volume_mid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/volume_mid.png
--------------------------------------------------------------------------------
/app/client/qrc/volume_mute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/volume_mute.png
--------------------------------------------------------------------------------
/lib/unicorn/qrc/down_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/unicorn/qrc/down_arrow.png
--------------------------------------------------------------------------------
/lib/unicorn/qrc/profile_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/unicorn/qrc/profile_on.png
--------------------------------------------------------------------------------
/plugins/winamp/VersionApp.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/winamp/VersionApp.cpp
--------------------------------------------------------------------------------
/plugins/wmp/tools/RCStamp.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/wmp/tools/RCStamp.exe
--------------------------------------------------------------------------------
/admin/dist/win/wizard_small.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/admin/dist/win/wizard_small.bmp
--------------------------------------------------------------------------------
/app/client/qrc/asterisk_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/asterisk_small.png
--------------------------------------------------------------------------------
/app/client/qrc/loading_meta.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/loading_meta.gif
--------------------------------------------------------------------------------
/app/client/qrc/loading_radio.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/loading_radio.gif
--------------------------------------------------------------------------------
/app/client/qrc/message_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/message_close.png
--------------------------------------------------------------------------------
/app/client/qrc/message_error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/message_error.png
--------------------------------------------------------------------------------
/app/client/qrc/message_info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/message_info.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_ban_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_ban_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_buy_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_buy_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_buy_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_buy_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_buy_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_buy_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_skip_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_skip_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_tag_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_tag_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_tag_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_tag_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_tag_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_tag_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_eq_small.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_eq_small.gif
--------------------------------------------------------------------------------
/app/client/qrc/radio_mix_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_mix_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_rec_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_rec_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/scrobble_OFF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/scrobble_OFF.png
--------------------------------------------------------------------------------
/app/client/qrc/settings_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/settings_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/settings_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/settings_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/settings_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/settings_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/slider_nubbin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/slider_nubbin.png
--------------------------------------------------------------------------------
/app/client/qrc/subscribe_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/subscribe_bg.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_radio_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_radio_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/tag_29x29_rest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tag_29x29_rest.png
--------------------------------------------------------------------------------
/app/client/qrc/user_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/user_default.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/arrow.png
--------------------------------------------------------------------------------
/lib/unicorn/qrc/default_user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/unicorn/qrc/default_user.png
--------------------------------------------------------------------------------
/lib/unicorn/qrc/profile_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/unicorn/qrc/profile_hover.png
--------------------------------------------------------------------------------
/lib/unicorn/qrc/profile_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/unicorn/qrc/profile_off.png
--------------------------------------------------------------------------------
/lib/unicorn/qrc/right_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/unicorn/qrc/right_arrow.png
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/stdafx.cpp:
--------------------------------------------------------------------------------
1 | //cpp used to generate precompiled header
2 | #include "foobar2000.h"
--------------------------------------------------------------------------------
/plugins/iTunes/tools/RCStamp.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/iTunes/tools/RCStamp.exe
--------------------------------------------------------------------------------
/plugins/winamp/tools/RCStamp.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/winamp/tools/RCStamp.exe
--------------------------------------------------------------------------------
/admin/dist/win/installer1_icon.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/admin/dist/win/installer1_icon.bmp
--------------------------------------------------------------------------------
/admin/dist/win/installer2_icon.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/admin/dist/win/installer2_icon.bmp
--------------------------------------------------------------------------------
/app/client/qrc/button_LEFT_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_LEFT_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_back.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_share_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_share_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_share_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_share_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_share_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_share_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/now-playing-REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/now-playing-REST.png
--------------------------------------------------------------------------------
/app/client/qrc/progress_slot_ON.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/progress_slot_ON.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_mix_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_mix_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_mix_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_mix_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_rec_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_rec_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_rec_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_rec_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/share_29x29_rest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/share_29x29_rest.png
--------------------------------------------------------------------------------
/app/client/qrc/subscribe_radio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/subscribe_radio.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_friends_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_friends_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_profile_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_profile_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_radio_ACTIVE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_radio_ACTIVE.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_radio_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_radio_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/tag_29x29_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tag_29x29_hover.png
--------------------------------------------------------------------------------
/app/client/qrc/volume_knob_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/volume_knob_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/bg_clouds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/bg_clouds.png
--------------------------------------------------------------------------------
/admin/dist/mac/fm.last.Scrobbler.scpt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/admin/dist/mac/fm.last.Scrobbler.scpt
--------------------------------------------------------------------------------
/app/boffin/json_spirit/README:
--------------------------------------------------------------------------------
1 | json spirit v3.0
2 | From:
3 | http://www.codeproject.com/KB/recipes/JSON_Spirit.aspx
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/client/Services/ScrobbleService.h:
--------------------------------------------------------------------------------
1 | #include "ScrobbleService/ScrobbleService.h"
2 | #include "ScrobbleService/StopWatch.h"
3 |
--------------------------------------------------------------------------------
/app/client/qrc/22x22_transparent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/22x22_transparent.png
--------------------------------------------------------------------------------
/app/client/qrc/button_LEFT_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_LEFT_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/button_LEFT_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_LEFT_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/button_MIDDLE_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_MIDDLE_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/button_MIDDLE_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_MIDDLE_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/button_MIDDLE_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_MIDDLE_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/button_RIGHT_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_RIGHT_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/button_RIGHT_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_RIGHT_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/button_RIGHT_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_RIGHT_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_ban_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_ban_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_ban_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_ban_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_ban_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_ban_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_pause_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_pause_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_play_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_play_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_play_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_play_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_play_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_play_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_skip_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_skip_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_skip_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_skip_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_skip_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_skip_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_album_no_art.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_album_no_art.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_context_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_context_arrow.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_love_OFF_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_love_OFF_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_love_OFF_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_love_OFF_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_love_OFF_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_love_OFF_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_love_ON_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_love_ON_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_love_ON_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_love_ON_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_love_ON_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_love_ON_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_tag_LEFT_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_tag_LEFT_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_tag_LEFT_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_tag_LEFT_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_tag_RIGHT_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_tag_RIGHT_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/now-playing-PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/now-playing-PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/preferences_devices.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/preferences_devices.png
--------------------------------------------------------------------------------
/app/client/qrc/preferences_general.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/preferences_general.png
--------------------------------------------------------------------------------
/app/client/qrc/progress_slot_OFF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/progress_slot_OFF.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_friends_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_friends_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_friends_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_friends_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_friends_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_friends_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_library_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_library_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_library_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_library_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_library_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_library_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/scrobble_marker_OFF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/scrobble_marker_OFF.png
--------------------------------------------------------------------------------
/app/client/qrc/scrobble_marker_ON.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/scrobble_marker_ON.png
--------------------------------------------------------------------------------
/app/client/qrc/scrobbles_refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/scrobbles_refresh.png
--------------------------------------------------------------------------------
/app/client/qrc/share_29x29_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/share_29x29_hover.png
--------------------------------------------------------------------------------
/app/client/qrc/share_29x29_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/share_29x29_pressed.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_friends_ACTIVE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_friends_ACTIVE.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_friends_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_friends_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_profile_ACTIVE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_profile_ACTIVE.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_profile_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_profile_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_scrobbles_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_scrobbles_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_scrobbles_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_scrobbles_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/tag_29x29_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tag_29x29_disabled.png
--------------------------------------------------------------------------------
/app/client/qrc/tag_29x29_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tag_29x29_pressed.png
--------------------------------------------------------------------------------
/app/client/qrc/taskbar-ban-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/taskbar-ban-16x16.png
--------------------------------------------------------------------------------
/app/client/qrc/taskbar-info-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/taskbar-info-16x16.png
--------------------------------------------------------------------------------
/app/client/qrc/taskbar-play-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/taskbar-play-16x16.png
--------------------------------------------------------------------------------
/app/client/qrc/taskbar-skip-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/taskbar-skip-16x16.png
--------------------------------------------------------------------------------
/app/client/qrc/titlebar_highlight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/titlebar_highlight.png
--------------------------------------------------------------------------------
/app/client/qrc/volume_knob_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/volume_knob_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/window_drag_corner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/window_drag_corner.png
--------------------------------------------------------------------------------
/lib/listener/win/SpotifyListener.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/listener/win/SpotifyListener.cpp
--------------------------------------------------------------------------------
/lib/unicorn/qrc/default_user_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/unicorn/qrc/default_user_small.png
--------------------------------------------------------------------------------
/app/client/qrc/button_dark_LEFT_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_dark_LEFT_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_radio_as.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_radio_as.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_radio_mix.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_radio_mix.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_radio_rec.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_radio_rec.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_radio_tag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_radio_tag.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_love_ON_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_love_ON_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_pause_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_pause_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_pause_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_pause_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_artist_no_photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_artist_no_photo.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_radio_LEFT_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_radio_LEFT_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_radio_LEFT_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_radio_LEFT_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_radio_LEFT_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_radio_LEFT_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_radio_RIGHT_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_radio_RIGHT_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_tag_MIDDLE_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_tag_MIDDLE_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_tag_MIDDLE_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_tag_MIDDLE_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_tag_RIGHT_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_tag_RIGHT_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/preferences_accounts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/preferences_accounts.png
--------------------------------------------------------------------------------
/app/client/qrc/preferences_advanced.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/preferences_advanced.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_play_large_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_play_large_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_play_small_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_play_small_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/scrobble_progress_OFF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/scrobble_progress_OFF.png
--------------------------------------------------------------------------------
/app/client/qrc/scrobble_progress_ON.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/scrobble_progress_ON.png
--------------------------------------------------------------------------------
/app/client/qrc/share_29x29_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/share_29x29_disabled.png
--------------------------------------------------------------------------------
/app/client/qrc/systray_icon_rest_mac.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/systray_icon_rest_mac.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_now_playing_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_now_playing_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_now_playing_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_now_playing_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_scrobbles_ACTIVE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_scrobbles_ACTIVE.png
--------------------------------------------------------------------------------
/app/client/qrc/taskbar-love-ON-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/taskbar-love-ON-16x16.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_access.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_access.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_finish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_finish.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_radio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_radio.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/lastfm_icon_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/lastfm_icon_32.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/lastfm_icon_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/lastfm_icon_64.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/player_wmp_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/player_wmp_64.png
--------------------------------------------------------------------------------
/lib/3rdparty/iTunesCOMAPI/iTunesCOM.chm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/3rdparty/iTunesCOMAPI/iTunesCOM.chm
--------------------------------------------------------------------------------
/plugins/iTunes/scripts/currentTrack.scpt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/iTunes/scripts/currentTrack.scpt
--------------------------------------------------------------------------------
/admin/dist/mac/dacp.fm.last.Scrobbler.scpt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/admin/dist/mac/dacp.fm.last.Scrobbler.scpt
--------------------------------------------------------------------------------
/app/client/icons/16x16/lastfm-scrobbler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/icons/16x16/lastfm-scrobbler.png
--------------------------------------------------------------------------------
/app/client/icons/22x22/lastfm-scrobbler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/icons/22x22/lastfm-scrobbler.png
--------------------------------------------------------------------------------
/app/client/icons/32x32/lastfm-scrobbler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/icons/32x32/lastfm-scrobbler.png
--------------------------------------------------------------------------------
/app/client/icons/48x48/lastfm-scrobbler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/icons/48x48/lastfm-scrobbler.png
--------------------------------------------------------------------------------
/app/client/icons/64x64/lastfm-scrobbler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/icons/64x64/lastfm-scrobbler.png
--------------------------------------------------------------------------------
/app/client/qrc/button_dark_LEFT_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_dark_LEFT_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/button_dark_LEFT_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_dark_LEFT_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/button_dark_MIDDLE_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_dark_MIDDLE_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/button_dark_MIDDLE_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_dark_MIDDLE_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/button_dark_MIDDLE_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_dark_MIDDLE_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/button_dark_RIGHT_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_dark_RIGHT_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/button_dark_RIGHT_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_dark_RIGHT_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/button_dark_RIGHT_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/button_dark_RIGHT_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_radio_artist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_radio_artist.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_scrobble_wmp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_scrobble_wmp.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_love_OFF_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_love_OFF_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_love_OFF_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_love_OFF_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_love_OFF_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_love_OFF_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_love_ON_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_love_ON_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/controls_love_ON_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/controls_love_ON_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/lastfm_icon_16_grayscale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/lastfm_icon_16_grayscale.png
--------------------------------------------------------------------------------
/app/client/qrc/lastfm_icon_22_grayscale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/lastfm_icon_22_grayscale.png
--------------------------------------------------------------------------------
/app/client/qrc/mac_control_bar_as_OFF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/mac_control_bar_as_OFF.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_radio_MIDDLE_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_radio_MIDDLE_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_radio_MIDDLE_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_radio_MIDDLE_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_radio_MIDDLE_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_radio_MIDDLE_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_radio_RIGHT_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_radio_RIGHT_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/meta_radio_RIGHT_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/meta_radio_RIGHT_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/preferences_scrobbling.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/preferences_scrobbling.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_play_large_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_play_large_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_play_large_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_play_large_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_play_small_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_play_small_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/radio_play_small_PRESS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/radio_play_small_PRESS.png
--------------------------------------------------------------------------------
/app/client/qrc/systray_icon_pressed_mac.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/systray_icon_pressed_mac.png
--------------------------------------------------------------------------------
/app/client/qrc/tab_now_playing_ACTIVE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/tab_now_playing_ACTIVE.png
--------------------------------------------------------------------------------
/app/client/qrc/taskbar-love-OFF-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/taskbar-love-OFF-16x16.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_connect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_connect.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_importing.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_importing.gif
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_metadata.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_plugins.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_plugins.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_scrobbles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_scrobbles.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/player_foobar_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/player_foobar_64.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/player_itunes_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/player_itunes_64.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/player_winamp_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/player_winamp_64.png
--------------------------------------------------------------------------------
/app/client/icons/128x128/lastfm-scrobbler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/icons/128x128/lastfm-scrobbler.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_radio_friends.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_radio_friends.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_radio_library.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_radio_library.png
--------------------------------------------------------------------------------
/app/client/qrc/window_drag_corner_minimum.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/window_drag_corner_minimum.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_import_wmp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_import_wmp.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_scrobble_foobar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_scrobble_foobar.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_scrobble_itunes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_scrobble_itunes.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_scrobble_spotify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_scrobble_spotify.png
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_scrobble_winamp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_scrobble_winamp.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/button_grey_LEFT_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/button_grey_LEFT_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/button_grey_LEFT_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/button_grey_LEFT_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/button_grey_RIGHT_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/button_grey_RIGHT_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/button_red_LEFT_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/button_red_LEFT_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/button_red_LEFT_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/button_red_LEFT_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/button_red_MIDDLE_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/button_red_MIDDLE_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/button_red_RIGHT_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/button_red_RIGHT_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/button_red_RIGHT_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/button_red_RIGHT_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_import_foobar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_import_foobar.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_import_itunes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_import_itunes.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_import_winamp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_import_winamp.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_location_MAC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_location_MAC.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/graphic_location_WIN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/graphic_location_WIN.png
--------------------------------------------------------------------------------
/plugins/iTunes/scripts/currentTrackLocation.scpt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/iTunes/scripts/currentTrackLocation.scpt
--------------------------------------------------------------------------------
/app/client/qrc/control_bar_scrobble_applemusic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/control_bar_scrobble_applemusic.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/button_grey_MIDDLE_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/button_grey_MIDDLE_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/button_grey_MIDDLE_REST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/button_grey_MIDDLE_REST.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/button_grey_RIGHT_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/button_grey_RIGHT_HOVER.png
--------------------------------------------------------------------------------
/app/client/qrc/wizard/button_red_MIDDLE_HOVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/button_red_MIDDLE_HOVER.png
--------------------------------------------------------------------------------
/plugins/iTunes/scripts/playCountForDatabaseId.scpt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/iTunes/scripts/playCountForDatabaseId.scpt
--------------------------------------------------------------------------------
/app/client/PrefPane/English.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/PrefPane/English.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/app/client/qrc/wizard/arrow_bigger_than_dropbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/arrow_bigger_than_dropbox.png
--------------------------------------------------------------------------------
/plugins/iTunes/scripts/currentTrackPersistentId.scpt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/iTunes/scripts/currentTrackPersistentId.scpt
--------------------------------------------------------------------------------
/plugins/iTunes/scripts/playCountForPersistentId.scpt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/iTunes/scripts/playCountForPersistentId.scpt
--------------------------------------------------------------------------------
/app/client/qrc/wizard/arrow_even_bigger_than_dropbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/app/client/qrc/wizard/arrow_even_bigger_than_dropbox.png
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/shared/shared.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/foobar09/foobar_sdk/foobar2000/shared/shared.lib
--------------------------------------------------------------------------------
/lib/3rdparty/iTunesCOMAPI/SampleScripts/RemoveDeadTracks.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/3rdparty/iTunesCOMAPI/SampleScripts/RemoveDeadTracks.js
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/component_client.h:
--------------------------------------------------------------------------------
1 | #ifndef _COMPONENT_CLIENT_H_
2 | #define _COMPONENT_CLIENT_H_
3 |
4 |
5 |
6 | #endif //_COMPONENT_CLIENT_H_
--------------------------------------------------------------------------------
/lib/3rdparty/iTunesCOMAPI/SampleScripts/CreateAlbumPlaylists.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/3rdparty/iTunesCOMAPI/SampleScripts/CreateAlbumPlaylists.js
--------------------------------------------------------------------------------
/lib/3rdparty/iTunesCOMAPI/SampleScripts/RemoveUserPlaylists.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/lib/3rdparty/iTunesCOMAPI/SampleScripts/RemoveUserPlaylists.js
--------------------------------------------------------------------------------
/lib/3rdparty/patches/README:
--------------------------------------------------------------------------------
1 | tbytevector_cpp.patch is for Taglib 1.5 to fix v.slow parsing of
2 | some rare MP3 files, see: http://bugs.kde.org/show_bug.cgi?id=159821
3 |
4 | ****
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/components_menu.h:
--------------------------------------------------------------------------------
1 | #ifndef _COMPONENTS_MENU_H_
2 | #define _COMPONENTS_MENU_H_
3 |
4 | #error deprecated, see menu_item.h
5 |
6 |
7 | #endif
--------------------------------------------------------------------------------
/app/boffin/qrc/boffin.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | pause.png
4 | play.png
5 | skip.png
6 | stop.png
7 |
8 |
9 |
--------------------------------------------------------------------------------
/plugins/iTunes/tools/append_once.bat:
--------------------------------------------------------------------------------
1 | REM %1 - string to append
2 | REM %2 - file to append it to
3 | find /C /I %1 %2
4 | if not errorlevel 1 goto end
5 | echo start /WAIT "" %1 /SILENT >> %2
6 | :end
--------------------------------------------------------------------------------
/plugins/wmp/tools/append_once.bat:
--------------------------------------------------------------------------------
1 | REM %1 - string to append
2 | REM %2 - file to append it to
3 | find /C /I %1 %2
4 | if not errorlevel 1 goto end
5 | echo start /WAIT "" %1 /SILENT >> %2
6 | :end
--------------------------------------------------------------------------------
/plugins/foobar08/tools/append_once.bat:
--------------------------------------------------------------------------------
1 | REM %1 - string to append
2 | REM %2 - file to append it to
3 | find /C /I %1 %2
4 | if not errorlevel 1 goto end
5 | echo start /WAIT "" %1 /SILENT >> %2
6 | :end
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/foo_input_raw/readme.txt:
--------------------------------------------------------------------------------
1 | Foo_input_raw is a sample component demonstrating implementation of a simple audio input service, use of filesystem APIs and service registration.
--------------------------------------------------------------------------------
/plugins/foobar09/tools/append_once.bat:
--------------------------------------------------------------------------------
1 | REM %1 - string to append
2 | REM %2 - file to append it to
3 | find /C /I %1 %2
4 | if not errorlevel 1 goto end
5 | echo start /WAIT "" %1 /SILENT >> %2
6 | :end
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/foo_input_validator/foo_input_validator.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lastfm/lastfm-desktop/HEAD/plugins/foobar09/foobar_sdk/foobar2000/foo_input_validator/foo_input_validator.dll
--------------------------------------------------------------------------------
/admin/qmake/QtOverride.pro.inc:
--------------------------------------------------------------------------------
1 | !CONFIG( no_override ) {
2 | win32:QMAKE_INCDIR_QT = $$ROOT_DIR/common/qt/override $$QMAKE_INCDIR_QT
3 | else:!macx-xcode::QMAKE_CXX = $$QMAKE_CXX -I$$ROOT_DIR/common/qt/override
4 | }
5 |
--------------------------------------------------------------------------------
/common/HideStupidWarnings.h:
--------------------------------------------------------------------------------
1 | #ifdef Q_CC_MSVC //prevent gcc issuing warning about the pragma! lol ;)
2 | // ms admits its lousy compiler doesn't care about throw declarations
3 | #pragma warning( disable : 4290 )
4 | #endif
5 |
--------------------------------------------------------------------------------
/admin/dist/win/wix/eula.rtf:
--------------------------------------------------------------------------------
1 | {\rtf1\ansi\ansicpg1252\deff0\deflang2057{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
2 | {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\f0\fs20 Last.fm EULA.\par
3 | \par
4 | \fs32 Rock on!\fs20\par
5 | }
6 |
--------------------------------------------------------------------------------
/app/boffin/json_spirit/json_spirit_value.cpp:
--------------------------------------------------------------------------------
1 | /* Copyright (c) 2007 John W Wilkinson
2 |
3 | This source code can be used for any purpose as long as
4 | this comment is retained. */
5 |
6 | // json spirit version 2.00
7 |
8 | #include "json_spirit_value.h"
9 |
--------------------------------------------------------------------------------
/lib/listener/tests/test_liblistener.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | QT = testlib
3 | CONFIG += core types
4 | INCLUDEPATH += ..
5 | include( admin/include.qmake )
6 |
7 | DEFINES += LASTFM_COLLAPSE_NAMESPACE
8 | SOURCES = TestPlayerCommandParser.cpp ../PlayerCommandParser.cpp
9 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/format_title_group.h:
--------------------------------------------------------------------------------
1 | void format_title_group(pfc::list_base_const_t const & p_list,titleformat_hook * p_hook,pfc::string_base & p_out,service_ptr_t p_script,titleformat_text_filter * p_filter);
--------------------------------------------------------------------------------
/plugins/wmp/wmp_scrobbler.def:
--------------------------------------------------------------------------------
1 | ; wmp_scrobbler.def : Declares the module parameters.
2 |
3 | LIBRARY "WMP_SCROBBLER.DLL"
4 |
5 | EXPORTS
6 | DllCanUnloadNow PRIVATE
7 | DllGetClassObject PRIVATE
8 | DllRegisterServer PRIVATE
9 | DllUnregisterServer PRIVATE
10 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // foobar2000_sdk_helpers.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
7 |
--------------------------------------------------------------------------------
/admin/dist/mac/sign_update.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/ruby
2 | if ARGV.length < 2
3 | puts "Usage: ruby sign_update.rb update_archive private_key"
4 | exit
5 | end
6 | openssl = "/usr/bin/openssl"
7 | puts `#{openssl} dgst -sha1 -binary < "#{ARGV[0]}" | #{openssl} dgst -dss1 -sign "#{ARGV[1]}" | #{openssl} enc -base64`
--------------------------------------------------------------------------------
/plugins/winamp/UTF.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | class UTF
4 | {
5 | public:
6 | static bool wchartoutf8(const wchar_t* in, std::string &out);
7 | static bool utf8towstring(const unsigned char* in, std::wstring &out);
8 | static bool utf8towstring(const char* in, std::wstring &out);
9 | };
10 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | _build/
2 | _files.qmake
3 | _build_parameters.pl.h
4 | Makefile*
5 | /_bin/
6 | /_include/
7 | admin/dist/mac/dsa_priv.pem
8 | *.idb
9 | *.pdb
10 | *.ncb
11 | *.vcproj*
12 | *.sln
13 | *.suo
14 | .DS_Store
15 | *.breakpad
16 | *.user
17 | *.qm
18 | *.exe
19 | *.vscode
20 | Growl
21 | Sparkle
22 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/playback_control.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 |
4 | double playback_control::playback_get_length()
5 | {
6 | double rv = 0;
7 | metadb_handle_ptr ptr;
8 | if (get_now_playing(ptr))
9 | {
10 | rv = ptr->get_length();
11 | }
12 | return rv;
13 | }
14 |
--------------------------------------------------------------------------------
/plugins/iTunes/README.dist:
--------------------------------------------------------------------------------
1 | Edit the version in:
2 |
3 | main.h
4 | iScrobbleWin.rc
5 | itunes_install.iss
6 | iTunes Scrobbler.plist
7 |
8 | Note there are two version numbers in the iss file.
9 |
10 | Build the release build in Visual Studio.
11 |
12 | Then open the iss and compile to get the installer exe.
13 |
14 |
--------------------------------------------------------------------------------
/plugins/wmp/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // stdafx.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
7 | #ifdef _ATL_STATIC_REGISTRY
8 | #include
9 | #endif
10 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/app_close_blocker.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | bool app_close_blocker::g_query()
4 | {
5 | service_ptr_t ptr;
6 | service_enum_t e;
7 | while(e.next(ptr))
8 | {
9 | if (!ptr->query()) return false;
10 | }
11 | return true;
12 | }
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/popup_message.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | void popup_message::g_show_ex(const char * p_msg,unsigned p_msg_length,const char * p_title,unsigned p_title_length,t_icon p_icon)
4 | {
5 | static_api_ptr_t()->show_ex(p_msg,p_msg_length,p_title,p_title_length,p_icon);
6 | }
7 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/shared.h:
--------------------------------------------------------------------------------
1 | //DEPRECATED
2 |
3 | #ifndef _FOOBAR2000_SHARED_H_
4 | #define _FOOBAR2000_SHARED_H_
5 |
6 | #include "../shared/shared.h"
7 |
8 | HWND uCreateDialog(UINT id,HWND parent,DLGPROC proc,LPARAM param=0);
9 | int uDialogBox(UINT id,HWND parent,DLGPROC proc,LPARAM param=0);
10 |
11 | #endif
--------------------------------------------------------------------------------
/plugins/winamp/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // Gen_AudioScrobbler.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
7 | // TODO: reference any additional headers you need in STDAFX.H
8 | // and not in this file
9 |
--------------------------------------------------------------------------------
/plugins/winamp/WinampBootstrap.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "..\ScrobSub\Bootstrap.h"
4 |
5 | class WinampBootStrap :
6 | public BootStrap
7 | {
8 | public:
9 | WinampBootStrap();
10 | ~WinampBootStrap(void);
11 |
12 | void sethWndWinampML( HWND hWndWinampML );
13 |
14 | private:
15 | HWND m_hWndWinampML;
16 | bool start();
17 | };
18 |
--------------------------------------------------------------------------------
/app/client/lastfm-scrobbler.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Version=1.0
3 | Name=Last.fm Scrobbler
4 | Comment=Listen to Last.fm radio
5 | Exec=lastfm-scrobbler %u
6 | Icon=lastfm-scrobbler
7 | Terminal=false
8 | Type=Application
9 | MimeType=x-scheme-handler/lastfm;
10 | Categories=Qt;AudioVideo;Audio;Player;
11 | X-KDE-Protocols=lastfm
12 | StartupNotify=true
13 | Keywords=Player;Audio;
14 |
--------------------------------------------------------------------------------
/admin/dist/updates/Changelog.txt:
--------------------------------------------------------------------------------
1 | The changelog is publicly places into the update files, which live on cdn.last.fm. Add your changes there.
2 |
3 | Note that build-release.rb will output a stub Sparkle update XML block (called update.xml in the project root) to be added to various files here (beta, then release versions) which is correctly signed with our dsa_priv.pem key. You must incorporate this into the update XMLs.
--------------------------------------------------------------------------------
/admin/qmake/debug.pro.inc:
--------------------------------------------------------------------------------
1 | CONFIG( debug, debug|release ) {
2 | mac* {
3 | #speeds up debug builds by only compiling x86
4 | CONFIG -= ppc
5 | }
6 |
7 | unix:!mac {
8 | QMAKE_CXXFLAGS_DEBUG = -ggdb
9 | }
10 |
11 | VERSION_UPDATE_PATTERN = *.*.*.*
12 | }
13 | else {
14 | CONFIG += warn_off
15 | DEFINES += NDEBUG
16 | #macx*:CONFIG += ppc x86
17 | }
18 |
--------------------------------------------------------------------------------
/plugins/winamp/GEN.H:
--------------------------------------------------------------------------------
1 | typedef struct {
2 | int version;
3 | char *description;
4 | int (*init)();
5 | void (*config)();
6 | void (*quit)();
7 | HWND hwndParent;
8 | HINSTANCE hDllInstance;
9 | } winampGeneralPurposePlugin;
10 |
11 | #define GPPHDR_VER 0x10
12 |
13 | extern winampGeneralPurposePlugin *gen_plugins[256];
14 | typedef winampGeneralPurposePlugin * (*winampGeneralPurposePluginGetter)();
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/pfc/bsearch.cpp:
--------------------------------------------------------------------------------
1 | #include "pfc.h"
2 |
3 |
4 |
5 | /*
6 | class NOVTABLE bsearch_callback
7 | {
8 | public:
9 | virtual int test(t_size p_index) const = 0;
10 | };
11 | */
12 |
13 | namespace pfc {
14 |
15 | bool pfc::bsearch(t_size p_count, bsearch_callback const & p_callback,t_size & p_result) {
16 | return bsearch_inline_t(p_count,p_callback,p_result);
17 | }
18 |
19 | }
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/preferences_page.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | bool preferences_page::get_help_url(pfc::string_base & p_out)
4 | {
5 | p_out = "http://help.foobar2000.org/";
6 | p_out += core_version_info::g_get_version_string();
7 | p_out += "/preferences/";
8 | p_out += (const char*) pfc::print_guid(get_guid());
9 | p_out += "/";
10 | p_out += get_name();
11 | return true;
12 | }
--------------------------------------------------------------------------------
/lib/logger/logger.pro:
--------------------------------------------------------------------------------
1 | TARGET = logger
2 | TEMPLATE = lib
3 | QT -= gui
4 | CONFIG += dll
5 | unix:!mac {
6 | CONFIG -= dll
7 | CONFIG += staticlib
8 | QMAKE_DISTCLEAN += -f ../../_bin/liblogger.a
9 | }
10 |
11 | include( ../../admin/include.qmake )
12 |
13 | DEFINES += _LOGGER_DLLEXPORT LASTFM_COLLAPSE_NAMESPACE
14 |
15 | SOURCES += $$ROOT_DIR/common/c++/Logger.cpp
16 |
17 | HEADERS += $$ROOT_DIR/common/c++/Logger.h
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/twiddly/README:
--------------------------------------------------------------------------------
1 | Twiddly is coupled to the iPod handling component of the iTunes plugin and the
2 | Last.fm Client software.
3 |
4 | It is launched when an iPod has finished syncing with iTunes and compares the
5 | iTunesPlaysDatabase with the iTunes Library Database, and thus determines what
6 | has been played by an iPod.
7 |
8 | It is a separate process for the purpose of writing simpler code, and the
9 | use-case where the client is not running.
10 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/utf8api.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | HWND uCreateDialog(UINT id,HWND parent,DLGPROC proc,LPARAM param)
4 | {
5 | return CreateDialogParam(core_api::get_my_instance(),MAKEINTRESOURCE(id),parent,proc,param);
6 | }
7 |
8 | int uDialogBox(UINT id,HWND parent,DLGPROC proc,LPARAM param)
9 | {
10 | return (int)DialogBoxParam(core_api::get_my_instance(),MAKEINTRESOURCE(id),parent,proc,param);
11 | }
12 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/link_resolver.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | bool link_resolver::g_find(service_ptr_t & p_out,const char * p_path)
4 | {
5 | service_enum_t e;
6 | service_ptr_t ptr;
7 | pfc::string_extension ext(p_path);
8 | while(e.next(ptr))
9 | {
10 | if (ptr->is_our_path(p_path,ext))
11 | {
12 | p_out = ptr;
13 | return true;
14 | }
15 | }
16 | return false;
17 | }
18 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/dynamic_bitrate_helper.h:
--------------------------------------------------------------------------------
1 | class dynamic_bitrate_helper
2 | {
3 | public:
4 | dynamic_bitrate_helper();
5 | void on_frame(double p_duration,t_size p_bits);
6 | bool on_update(file_info & p_out, double & p_timestamp_delta);
7 | void reset();
8 | private:
9 | void init();
10 | double m_last_duration;
11 | t_size m_update_bits;
12 | double m_update_time;
13 | double m_update_interval;
14 | bool m_inited, m_enabled;
15 | };
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/mem_block_container.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | void mem_block_container::from_stream(stream_reader * p_stream,t_size p_bytes,abort_callback & p_abort) {
4 | if (p_bytes == 0) {set_size(0);}
5 | set_size(p_bytes);
6 | p_stream->read_object(get_ptr(),p_bytes,p_abort);
7 | }
8 |
9 | void mem_block_container::set(const void * p_buffer,t_size p_size) {
10 | set_size(p_size);
11 | memcpy(get_ptr(),p_buffer,p_size);
12 | }
13 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/cue_creator.h:
--------------------------------------------------------------------------------
1 | namespace cue_creator
2 | {
3 | struct t_entry
4 | {
5 | file_info_impl m_infos;
6 | pfc::string8 m_file,m_flags;
7 | unsigned m_track_number;
8 |
9 | t_cuesheet_index_list m_index_list;
10 |
11 | void set_simple_index(double p_time);
12 | };
13 |
14 | typedef pfc::chain_list_t t_entry_list;
15 |
16 | void create(pfc::string_formatter & p_out,const pfc::chain_list_t & p_list);
17 | };
--------------------------------------------------------------------------------
/plugins/foobar09/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by foo_audioscrobbler.rc
4 |
5 | // Next default values for new objects
6 | //
7 | #ifdef APSTUDIO_INVOKED
8 | #ifndef APSTUDIO_READONLY_SYMBOLS
9 | #define _APS_NEXT_RESOURCE_VALUE 101
10 | #define _APS_NEXT_COMMAND_VALUE 40001
11 | #define _APS_NEXT_CONTROL_VALUE 1001
12 | #define _APS_NEXT_SYMED_VALUE 101
13 | #endif
14 | #endif
15 |
--------------------------------------------------------------------------------
/plugins/winamp/res/Gen_AudioScrobbler.rc2:
--------------------------------------------------------------------------------
1 | //
2 | // GEN_AUDIOSCROBBLER.RC2 - resources Microsoft Visual C++ does not edit directly
3 | //
4 |
5 | #ifdef APSTUDIO_INVOKED
6 | #error this file is not editable by Microsoft Visual C++
7 | #endif //APSTUDIO_INVOKED
8 |
9 |
10 | /////////////////////////////////////////////////////////////////////////////
11 | // Add manually edited resources here...
12 |
13 | /////////////////////////////////////////////////////////////////////////////
14 |
--------------------------------------------------------------------------------
/admin/dist/mac/Growl Registration Ticket.growlRegDict:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | TicketVersion
6 | 1
7 | AllNotifications
8 |
9 | New track
10 |
11 | DefaultNotifications
12 |
13 | New track
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/config_io_callback.h:
--------------------------------------------------------------------------------
1 | #ifndef _config_io_callback_h_
2 | #define _config_io_callback_h_
3 |
4 | class NOVTABLE config_io_callback : public service_base
5 | {
6 | public:
7 | virtual void on_read() = 0;
8 | virtual void on_write(bool reset) = 0;
9 |
10 | //for core use only
11 | static void g_on_read();
12 | static void g_on_write(bool reset);
13 |
14 | FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(config_io_callback);
15 | };
16 |
17 | #endif //_config_io_callback_h_
--------------------------------------------------------------------------------
/app/boffin/json_spirit/json_spirit.h:
--------------------------------------------------------------------------------
1 | #ifndef JASON_SPIRIT
2 | #define JASON_SPIRIT
3 |
4 | /* Copyright (c) 2007-2009 John W Wilkinson
5 |
6 | This source code can be used for any purpose as long as
7 | this comment is retained. */
8 |
9 | // json spirit version 3.00
10 |
11 | #if defined(_MSC_VER) && (_MSC_VER >= 1020)
12 | # pragma once
13 | #endif
14 |
15 | #include "json_spirit_value.h"
16 | #include "json_spirit_reader.h"
17 | #include "json_spirit_writer.h"
18 | #include "json_spirit_utils.h"
19 |
20 | #endif
21 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/text_file_loader.h:
--------------------------------------------------------------------------------
1 | namespace text_file_loader
2 | {
3 | void write(const service_ptr_t & p_file,abort_callback & p_abort,const char * p_string,bool is_utf8);
4 | void read(const service_ptr_t & p_file,abort_callback & p_abort,pfc::string_base & p_out,bool & is_utf8);
5 |
6 | void write(const char * p_path,abort_callback & p_abort,const char * p_string,bool is_utf8);
7 | void read(const char * p_path,abort_callback & p_abort,pfc::string_base & p_out,bool & is_utf8);
8 |
9 | };
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/wildcard.h:
--------------------------------------------------------------------------------
1 | #ifndef __FOOBAR2000_HELPER_WILDCARD_H__
2 | #define __FOOBAR2000_HELPER_WILDCARD_H__
3 |
4 | namespace wildcard_helper
5 | {
6 | bool test_path(const char * path,const char * pattern,bool b_separate_by_semicolon = false);//will extract filename from path first
7 | bool test(const char * str,const char * pattern,bool b_separate_by_semicolon = false);//tests if str matches pattern
8 | bool has_wildcards(const char * str);
9 | };
10 |
11 | #endif //__FOOBAR2000_HELPER_WILDCARD_H__
--------------------------------------------------------------------------------
/admin/tests/run_tests.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # @author
3 | # expects to located in _bin, otherwise it doesn't work
4 |
5 | d=`dirname $0`
6 |
7 | source $d/../admin/utils.bash
8 |
9 |
10 | case `uname` in
11 | Darwin) export DYLD_LIBRARY_PATH=$d:DYLD_LIBRARY_PATH;;
12 | Linux) export LD_LIBRARY_PATH=$d:$LD_LIBRARY_PATH;;
13 | esac
14 |
15 | # reverse sorted because test_client takes 3 minutes and it is boring to wait
16 | for x in `find . -type f -perm +1 -name test_\* | sort -r`
17 | do
18 | header $x
19 | $x
20 | done
21 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/abort_callback.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | void abort_callback::check() const {
4 | if (is_aborting()) throw exception_aborted();
5 | }
6 |
7 | void abort_callback::sleep(double p_timeout_seconds) const {
8 | if (!sleep_ex(p_timeout_seconds)) throw exception_aborted();
9 | }
10 |
11 | bool abort_callback::sleep_ex(double p_timeout_seconds) const {
12 | #ifdef _WIN32
13 | return !win32_event::g_wait_for(get_abort_event(),p_timeout_seconds);
14 | #else
15 | #error PORTME
16 | #endif
17 | }
--------------------------------------------------------------------------------
/plugins/wmp/WMPScrobbler.cpp:
--------------------------------------------------------------------------------
1 | // WMPScrobbler.cpp: implementation of the CWMPScrobbler class.
2 | //
3 | //////////////////////////////////////////////////////////////////////
4 |
5 | #include "stdafx.h"
6 | #include "WMPScrobbler.h"
7 |
8 | //////////////////////////////////////////////////////////////////////
9 | // Construction/Destruction
10 | //////////////////////////////////////////////////////////////////////
11 |
12 | CWMPScrobbler::CWMPScrobbler()
13 | {
14 |
15 | }
16 |
17 | CWMPScrobbler::~CWMPScrobbler()
18 | {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/config_io_callback.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | void config_io_callback::g_on_read()
4 | {
5 | service_enum_t e;
6 | service_ptr_t ptr;
7 | if (e.first(ptr)) do {
8 | ptr->on_read();
9 | } while(e.next(ptr));
10 | }
11 |
12 | void config_io_callback::g_on_write(bool reset)
13 | {
14 | service_enum_t e;
15 | service_ptr_t ptr;
16 | if (e.first(ptr)) do {
17 | ptr->on_write(reset);
18 | } while(e.next(ptr));
19 | }
20 |
--------------------------------------------------------------------------------
/Last.fm.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = subdirs
2 | CONFIG += ordered
3 | SUBDIRS = lib/logger \
4 | lib/unicorn \
5 | lib/listener \
6 | i18n \
7 | app/client \
8 | app/twiddly \
9 | app/fingerprinter
10 | #app/boffin
11 |
12 | unix:!mac:SUBDIRS -= app/twiddly
13 |
14 | CONFIG( tests ) {
15 | SUBDIRS += \
16 | lib/lastfm/core/tests/test_libcore.pro \
17 | lib/lastfm/types/tests/test_libtypes.pro \
18 | lib/lastfm/scrobble/tests/test_libscrobble.pro \
19 | lib/listener/tests/test_liblistener.pro
20 | }
21 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/initquit.h:
--------------------------------------------------------------------------------
1 | #ifndef _INITQUIT_H_
2 | #define _INITQUIT_H_
3 |
4 | #include "service.h"
5 |
6 | //init/quit callback, on_init is called after main window has been created, on_quit is called before main window is destroyed
7 | class NOVTABLE initquit : public service_base
8 | {
9 | public:
10 | virtual void on_init() {}
11 | virtual void on_quit() {}
12 |
13 | FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(initquit);
14 | };
15 |
16 | template
17 | class initquit_factory_t : public service_factory_single_t {};
18 |
19 | #endif
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/modeless_dialog.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | void modeless_dialog_manager::g_add(HWND p_wnd)
4 | {
5 | service_enum_t e;
6 | service_ptr_t ptr;
7 | if (e.first(ptr)) do {
8 | ptr->add(p_wnd);
9 | } while(e.next(ptr));
10 | }
11 |
12 | void modeless_dialog_manager::g_remove(HWND p_wnd)
13 | {
14 | service_enum_t e;
15 | service_ptr_t ptr;
16 | if (e.first(ptr)) do {
17 | ptr->remove(p_wnd);
18 | } while(e.next(ptr));
19 | }
--------------------------------------------------------------------------------
/plugins/iTunes/scripts/uninstall.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #@author Max Howell
3 |
4 | if [[ "$1" != "--db-only" ]]
5 | then
6 | # clearly, we have to be started with AudioScrobbler.bundle/Contents/MacOS
7 | # as the working directory, then we explicitly delete the directory by name
8 | # this is a safety precaution
9 | cd ../../../
10 | rm -rf AudioScrobbler.bundle
11 | fi
12 |
13 | cd ~/Library/Application\ Support/Last.fm || exit 1
14 |
15 | # automatic iPod database
16 | rm iTunesPlays.db
17 | # manual iPod databases
18 | find devices -name playcounts.db -delete
19 |
--------------------------------------------------------------------------------
/admin/dist/win/isspp:
--------------------------------------------------------------------------------
1 | use File::Copy;
2 |
3 | open FILE, '_build/build_parameters.pl.h' or die $!;
4 | while ($line = ) {
5 | $str .= $line;
6 | }
7 | eval $str;
8 | close FILE;
9 |
10 |
11 | $root_dir = `cygpath -m '$ROOT_DIR'`;
12 | $qt_dir = `cygpath -m '$QMAKE_LIBDIR_QT\\..'`;
13 |
14 |
15 | copy( $ARGV[0], $ARGV[1] ) or die $!;
16 | open FILE, $ARGV[1] or die $!;
17 | while (<>) {
18 | s/@VERSION@/$VERSION-$REVISION/g;
19 | s/@SHORT_VERSION@/$VERSION/g;
20 | s/@ROOT_DIR@/$ROOT_DIR/g;
21 | s/@QT_DIR@/$qt_dir/g;
22 | s/@BIN_DIR@/$root_dir\\_bin/g;
23 | }
24 | close FILE;
25 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/packet_decoder.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | void packet_decoder::g_open(service_ptr_t & p_out,bool p_decode,const GUID & p_owner,t_size p_param1,const void * p_param2,t_size p_param2size,abort_callback & p_abort)
4 | {
5 | service_enum_t e;
6 | service_ptr_t ptr;
7 | while(e.next(ptr)) {
8 | if (ptr->is_our_setup(p_owner,p_param1,p_param2,p_param2size)) {
9 | ptr->open(p_out,p_decode,p_owner,p_param1,p_param2,p_param2size,p_abort);
10 | return;
11 | }
12 | }
13 | throw exception_io_data();
14 | }
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/create_directory_helper.h:
--------------------------------------------------------------------------------
1 | #ifndef _CREATE_DIRECTORY_HELPER_H_
2 | #define _CREATE_DIRECTORY_HELPER_H_
3 |
4 | namespace create_directory_helper {
5 | void create_path(const char * p_path,abort_callback & p_abort);
6 | void make_path(const char * parent,const char * filename,const char * extension,bool allow_new_dirs,pfc::string8 & out,bool b_really_create_dirs,abort_callback & p_dir_create_abort);
7 | void format_filename(const metadb_handle_ptr & handle,titleformat_hook * p_hook,const char * spec,pfc::string8 & out);
8 | };
9 |
10 | #endif//_CREATE_DIRECTORY_HELPER_H_
--------------------------------------------------------------------------------
/plugins/winamp/StdAfx.h:
--------------------------------------------------------------------------------
1 | // stdafx.h : include file for standard system include files,
2 | // or project specific include files that are used frequently, but
3 | // are changed infrequently
4 | //
5 |
6 | #pragma once
7 |
8 | // Insert your headers here
9 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
10 |
11 | #include
12 | #include
13 | extern CComModule _Module;
14 | #include
15 | #include
16 | #include
17 | #pragma warning( disable : 4192 )
18 |
19 | #include "stdstring.h"
20 | #include "dbg.h"
21 | #include "ComDATE.h"
--------------------------------------------------------------------------------
/lib/3rdparty/README:
--------------------------------------------------------------------------------
1 | Windows
2 | =======
3 |
4 | You need to install:
5 | * mad
6 | * fftw3 (single precision)
7 | * libsamplerate
8 | * taglib
9 |
10 | The fetch.sh will attempt to fetch and build them all. But you need to use
11 | MinGW in order to compile fftw and libsamplerate.
12 |
13 | We have binaries at /svn/clientside/bin/win.
14 | Minimal headers are also in lib/3rdparty, though we don't keep these up to date.
15 |
16 |
17 | Mac OS X
18 | ========
19 | Use macports to install:
20 |
21 | * taglib
22 | * fftw3-3
23 | * libsamplerate
24 | * taglib
25 |
26 | Linux
27 | =====
28 | Install the same as for the Mac with your package manager.
29 |
--------------------------------------------------------------------------------
/app/client/Widgets/NothingPlayingWidget_mac.mm:
--------------------------------------------------------------------------------
1 |
2 |
3 | #include "NothingPlayingWidget.h"
4 |
5 | void
6 | NothingPlayingWidget::oniTunesClicked()
7 | {
8 | // launch iTunes!
9 | [[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:@"com.apple.iTunes" options:NSWorkspaceLaunchDefault additionalEventParamDescriptor:nil launchIdentifier:NULL];
10 | }
11 |
12 | void
13 | NothingPlayingWidget::onAppleMusicClicked()
14 | {
15 | // launch Apple Music!
16 | [[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:@"com.apple.Music" options:NSWorkspaceLaunchDefault additionalEventParamDescriptor:nil launchIdentifier:NULL];
17 | }
18 |
--------------------------------------------------------------------------------
/app/client/PrefPane/PrefPane.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 |
3 | debug {
4 | pp.commands = xcodebuild -project PrefPane.xcodeproj -configuration Debug
5 | }
6 |
7 | release {
8 | pp.commands = xcodebuild -project PrefPane.xcodeproj -configuration Release
9 | }
10 |
11 | pp.target=PrefPane.prefpane
12 |
13 | QMAKE_CLEAN = -r build
14 |
15 | # Disable the linker:
16 | QMAKE_LINK=@\\$$LITERAL_HASH
17 |
18 | CONFIG-=app_bundle
19 | CONFIG+=lib_bundle
20 | OBJECTS_DIR=.
21 |
22 | QMAKE_BUNDLE_EXTENSION=.prefpane
23 | debug:TARGET=Scrobbler_debug.prefpane
24 | release:TARGET=Scrobbler.prefpane
25 |
26 | QMAKE_EXTRA_TARGETS = pp
27 | PRE_TARGETDEPS = $$pp.target
28 |
29 |
--------------------------------------------------------------------------------
/plugins/wmp/wmpBootStrap.h:
--------------------------------------------------------------------------------
1 | #ifndef _WMP_BOOTSTRAP_H
2 | #define _WMP_BOOTSTRAP_H
3 |
4 | #include "Bootstrap.h"
5 | #include "wmp.h"
6 |
7 | class wmpBootStrap :
8 | public BootStrap
9 | {
10 | public:
11 | wmpBootStrap();
12 | ~wmpBootStrap(void);
13 |
14 | void setCore( IWMPCore *pCore );
15 |
16 | private:
17 | IWMPCore *m_core;
18 | void readAttributes( IWMPMedia* media );
19 | bool start();
20 | std::map<_bstr_t, enum BootStrapDetails > attributes;
21 | void getDateTimeFormat();
22 |
23 | std::stringstream m_dateFormat;
24 | std::stringstream m_timeFormat;
25 | };
26 |
27 | #endif // _WMP_BOOTSTRAP_H
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/chapterizer.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | void chapter_list::copy(const chapter_list & p_source)
4 | {
5 | t_size n, count = p_source.get_chapter_count();
6 | set_chapter_count(count);
7 | for(n=0;n & p_out,const char * p_path,abort_callback & p_abort)
12 | {
13 | service_ptr_t ptr;
14 | service_enum_t e;
15 | while(e.next(ptr))
16 | {
17 | if (ptr->is_our_file(p_path,p_abort))
18 | {
19 | p_out = ptr;
20 | return true;
21 | }
22 | }
23 | return false;
24 | }
--------------------------------------------------------------------------------
/admin/dist/win/wix/wixboff.cmd:
--------------------------------------------------------------------------------
1 | rem @echo off
2 | rem Requires Wix 3.0.x
3 | rem Run with current directory same as .cmd location
4 |
5 | rem set VCREDISTDIR=C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\
6 | set VCREDISTDIR=C:\Program Files\Common Files\Merge Modules\
7 |
8 | echo WIX = %WIX%
9 | echo QTDIR = %QTDIR%
10 | echo VCREDISTDIR = %VCREDISTDIR%
11 |
12 | "%WIX%"\bin\candle boffin.wxs
13 | if ERRORLEVEL 1 goto ERROR
14 |
15 | "%WIX%"\bin\light -ext WixUIExtension boffin.wixobj -b ..\..\..\..\_bin\ -b %QTDIR%\bin -b %QTDIR%\plugins -b "%VCREDISTDIR%\"
16 | if ERRORLEVEL 1 goto ERROR
17 |
18 | goto END
19 |
20 | :ERROR
21 | echo "***Fail"
22 |
23 | :END
--------------------------------------------------------------------------------
/plugins/wmp/WMPScrobbler.h:
--------------------------------------------------------------------------------
1 | // WMPScrobbler.h: interface for the CWMPScrobbler class.
2 | //
3 | //////////////////////////////////////////////////////////////////////
4 |
5 | #if !defined(AFX_WMPSCROBBLER_H__9E9C7CB2_8718_4C0C_8BA3_E5F7D55D5118__INCLUDED_)
6 | #define AFX_WMPSCROBBLER_H__9E9C7CB2_8718_4C0C_8BA3_E5F7D55D5118__INCLUDED_
7 |
8 | #if _MSC_VER > 1000
9 | #pragma once
10 | #endif // _MSC_VER > 1000
11 |
12 | #include "Scrobbler.h"
13 |
14 | class CWMPScrobbler : public CScrobbler
15 | {
16 | public:
17 | CWMPScrobbler();
18 | virtual ~CWMPScrobbler();
19 |
20 | };
21 |
22 | #endif // !defined(AFX_WMPSCROBBLER_H__9E9C7CB2_8718_4C0C_8BA3_E5F7D55D5118__INCLUDED_)
23 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/preload_info_helper.h:
--------------------------------------------------------------------------------
1 | namespace preload_info_helper {
2 | bool __declspec(deprecated("Use metadb_io_v2 methods instead.")) preload_info(metadb_handle_ptr p_item,HWND p_parent_window,bool p_showerror);
3 | bool __declspec(deprecated("Use metadb_io_v2 methods instead.")) preload_info_multi(const pfc::list_base_const_t & p_items,HWND p_parent_window,bool p_showerror);
4 | bool __declspec(deprecated("Use metadb_io_v2 methods instead.")) preload_info_multi_modalcheck(const pfc::list_base_const_t & p_items,HWND p_parent_window,bool p_showerror);
5 | bool are_all_loaded(const pfc::list_base_const_t & p_items);
6 | };
--------------------------------------------------------------------------------
/plugins/iTunes/tests/comtest.cpp:
--------------------------------------------------------------------------------
1 | // comtest.cpp : Defines the entry point for the console application.
2 | //
3 |
4 | #include "ITunesComThread.h"
5 | #include "common/logger.h"
6 |
7 | #include
8 | #include
9 |
10 | #include
11 | #include
12 |
13 | //class ComtestModule : public CAtlExeModuleT< ComtestModule >
14 | //{
15 | //};
16 |
17 | //ComtestModule _AtlModule;
18 |
19 | int _tmain(int argc, _TCHAR* argv[])
20 | {
21 | Logger::GetLogger().Init( L"test.log" );
22 |
23 | printf("main");
24 |
25 | ITunesComThread t;
26 |
27 | //Sleep( 1000 * 1000 );
28 |
29 | getchar();
30 |
31 | return 0;
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/plugins/winamp/Gen_AudioScrobbler.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "Gen_AudioScrobbler"=.\Gen_AudioScrobbler.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/genrand.h:
--------------------------------------------------------------------------------
1 | #ifndef _SDK_GENRAND_H_
2 | #define _SDK_GENRAND_H_
3 |
4 | //! PRNG service. Implemented by the core, do not reimplement. Use g_create() helper function to instantiate.
5 | class NOVTABLE genrand_service : public service_base
6 | {
7 | public:
8 | //! Seeds the PRNG with specified value.
9 | virtual void seed(unsigned val) = 0;
10 | //! Returns random value N, where 0 <= N < range.
11 | virtual unsigned genrand(unsigned range)=0;
12 |
13 | static service_ptr_t g_create() {return standard_api_create_t();}
14 |
15 | FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(genrand_service);
16 | };
17 |
18 |
19 | #endif //_SDK_GENRAND_H_
--------------------------------------------------------------------------------
/app/fingerprinter/fingerprinter.pro:
--------------------------------------------------------------------------------
1 | TARGET = fingerprinter
2 | QT = core network xml sql
3 |
4 | CONFIG += lastfm unicorn logger fingerprint ffmpeg
5 | CONFIG -= app_bundle
6 |
7 | include( ../../admin/include.qmake )
8 |
9 | # TODO: FIX THIS: I think this means that we can only build bundles
10 | mac {
11 | DESTDIR = "../../_bin/Last.fm Scrobbler.app/Contents/Helpers"
12 | QMAKE_POST_LINK += ../../admin/dist/mac/bundleFrameworks.sh \"$$DESTDIR/$$TARGET\"
13 | }
14 |
15 | SOURCES += main.cpp \
16 | Fingerprinter.cpp \
17 | LAV_Source.cpp
18 |
19 | HEADERS += LAV_Source.h \
20 | Fingerprinter.h
21 |
22 |
23 |
24 |
25 |
26 | DEFINES += LASTFM_COLLAPSE_NAMESPACE LASTFM_FINGERPRINTER
27 |
28 |
--------------------------------------------------------------------------------
/admin/dist/win/wix/wixclient.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | rem Requires Wix 3.0.x
3 | rem Run with current directory same as .cmd location
4 |
5 | rem set VCREDISTDIR=C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\
6 | set VCREDISTDIR=C:\Program Files\Common Files\Merge Modules\
7 |
8 | echo WIX = %WIX%
9 | echo QTDIR = %QTDIR%
10 | echo VCREDISTDIR = %VCREDISTDIR%
11 |
12 | "%WIX%"\bin\candle client.wxs
13 | if ERRORLEVEL 1 goto ERROR
14 |
15 | "%WIX%"\bin\light -ext WixUIExtension client.wixobj -b ..\..\..\..\ -b ..\..\..\..\_bin\ -b %QTDIR%\bin -b %QTDIR%\plugins -b "%VCREDISTDIR%\"
16 | if ERRORLEVEL 1 goto ERROR
17 |
18 | goto END
19 |
20 | :ERROR
21 | echo "***Fail"
22 |
23 | :END
24 |
--------------------------------------------------------------------------------
/plugins/scrobsub/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by Bootstrap.rc
4 | //
5 | #define IDD_PROGRESSFORM 101
6 | #define IDC_PROGRESS1 1002
7 | #define IDC_BUTTONOK 1005
8 | #define IDC_BUTTONCANCEL 1006
9 | #define IDC_LABEL 1007
10 |
11 | // Next default values for new objects
12 | //
13 | #ifdef APSTUDIO_INVOKED
14 | #ifndef APSTUDIO_READONLY_SYMBOLS
15 | #define _APS_NEXT_RESOURCE_VALUE 101
16 | #define _APS_NEXT_COMMAND_VALUE 40001
17 | #define _APS_NEXT_CONTROL_VALUE 1001
18 | #define _APS_NEXT_SYMED_VALUE 101
19 | #endif
20 | #endif
21 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/hasher_md5.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | GUID hasher_md5::guid_from_result(const hasher_md5_result & param)
4 | {
5 | assert(sizeof(GUID) == sizeof(hasher_md5_result));
6 | GUID temp = * reinterpret_cast(¶m);
7 | byte_order::order_le_to_native_t(temp);
8 | return temp;
9 | }
10 |
11 | hasher_md5_result hasher_md5::process_single(const void * p_buffer,t_size p_bytes)
12 | {
13 | hasher_md5_state state;
14 | initialize(state);
15 | process(state,p_buffer,p_bytes);
16 | return get_result(state);
17 | }
18 |
19 | GUID hasher_md5::process_single_guid(const void * p_buffer,t_size p_bytes)
20 | {
21 | return guid_from_result(process_single(p_buffer,p_bytes));
22 | }
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/file_wrapper_simple.h:
--------------------------------------------------------------------------------
1 | class file_wrapper_simple
2 | {
3 | public:
4 | explicit file_wrapper_simple(const service_ptr_t & p_file,abort_callback & p_abort) : m_file(p_file), m_abort(p_abort), m_has_failed(false) {}
5 |
6 | inline bool has_failed() const {return m_has_failed;}
7 | inline void reset_status() {m_has_failed = false;}
8 |
9 |
10 | t_size read(void * p_buffer,t_size p_bytes);
11 | t_size write(const void * p_buffer,t_size p_bytes);
12 | bool seek(t_filesize p_offset);
13 | t_filesize get_position();
14 | t_filesize get_size();
15 | bool can_seek();
16 | bool truncate();
17 | private:
18 | service_ptr_t m_file;
19 | abort_callback & m_abort;
20 | bool m_has_failed;
21 | };
22 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/dropdown_helper.h:
--------------------------------------------------------------------------------
1 | #ifndef _DROPDOWN_HELPER_H_
2 | #define _DROPDOWN_HELPER_H_
3 |
4 |
5 | class cfg_dropdown_history
6 | {
7 | enum {separator = '\n'};
8 | cfg_string data;
9 | unsigned max;
10 | void build_list(pfc::ptr_list_t & out);
11 | void parse_list(const pfc::ptr_list_t & src);
12 | public:
13 | cfg_dropdown_history(const GUID & p_guid,unsigned p_max = 10,const char * init_vals = "") : data(p_guid,init_vals) {max = p_max;}
14 | void setup_dropdown(HWND wnd);
15 | void setup_dropdown(HWND wnd,UINT id) {setup_dropdown(GetDlgItem(wnd,id));}
16 | void add_item(const char * item);
17 | bool is_empty();
18 | void on_context(HWND wnd,LPARAM coords);
19 | };
20 |
21 |
22 | #endif //_DROPDOWN_HELPER_H_
--------------------------------------------------------------------------------
/plugins/scrobsub/resource1.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by Bootstrap.rc
4 | //
5 | #define IDD_PROGRESSFORM 101
6 | #define IDC_PROGRESS1 1002
7 | #define IDC_BUTTONOK 1005
8 | #define IDC_BUTTONCANCEL 1006
9 | #define IDC_LABEL 1007
10 | #define IDC_LABEL1 1007
11 |
12 | // Next default values for new objects
13 | //
14 | #ifdef APSTUDIO_INVOKED
15 | #ifndef APSTUDIO_READONLY_SYMBOLS
16 | #define _APS_NEXT_RESOURCE_VALUE 101
17 | #define _APS_NEXT_COMMAND_VALUE 40001
18 | #define _APS_NEXT_CONTROL_VALUE 1001
19 | #define _APS_NEXT_SYMED_VALUE 101
20 | #endif
21 | #endif
22 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/commandline.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | void commandline_handler_metadb_handle::on_file(const char * url)
4 | {
5 |
6 | abort_callback_impl blah;
7 |
8 | {
9 | playlist_loader_callback_impl callback(blah);
10 |
11 | bool fail = false;
12 | try {
13 | playlist_loader::g_process_path_ex(url,callback);
14 | } catch(std::exception const & e) {
15 | console::formatter() << "Unhandled exception in playlist loader: " << e;
16 | fail = true;
17 | } catch(...) {
18 | console::formatter() << "Unhandled exception in playlist loader";
19 | fail = true;
20 | }
21 |
22 | if (!fail) {
23 | t_size n,m=callback.get_count();
24 | for(n=0;n m_buffer;
9 | t_size m_buffer_ptr, m_buffer_max;
10 | };
11 |
12 | class stream_writer_buffered : public stream_writer
13 | {
14 | public:
15 | stream_writer_buffered(stream_writer * p_base,t_size p_buffer);
16 |
17 | void write(const void * p_buffer,t_size p_bytes,abort_callback & p_abort);
18 |
19 | void flush(abort_callback & p_abort);
20 |
21 | private:
22 | stream_writer * m_base;
23 | pfc::array_t m_buffer;
24 | t_size m_buffer_ptr;
25 | };
26 |
27 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/StdAfx.h:
--------------------------------------------------------------------------------
1 | // stdafx.h : include file for standard system include files,
2 | // or project specific include files that are used frequently, but
3 | // are changed infrequently
4 | //
5 |
6 | #if !defined(AFX_STDAFX_H__6356EC2B_6DD1_4BE8_935C_87ECBA8697E4__INCLUDED_)
7 | #define AFX_STDAFX_H__6356EC2B_6DD1_4BE8_935C_87ECBA8697E4__INCLUDED_
8 |
9 | #if _MSC_VER > 1000
10 | #pragma once
11 | #endif // _MSC_VER > 1000
12 |
13 |
14 | #include "../SDK/foobar2000.h"
15 | #include "helpers.h"
16 |
17 | // TODO: reference additional headers your program requires here
18 |
19 | //{{AFX_INSERT_LOCATION}}
20 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
21 |
22 | #endif // !defined(AFX_STDAFX_H__6356EC2B_6DD1_4BE8_935C_87ECBA8697E4__INCLUDED_)
23 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/cfg_structlist.h:
--------------------------------------------------------------------------------
1 | template
2 | class cfg_structlist_t : public cfg_var, public pfc::list_t
3 | {
4 | public:
5 | void get_data_raw(stream_writer * p_stream,abort_callback & p_abort) {
6 | t_uint32 n, m = get_count();
7 | p_stream->write_lendian_t(m,p_abort);
8 | for(n=0;nwrite_object(&m_buffer[n],sizeof(T),p_abort);
10 | }
11 | }
12 |
13 | void set_data_raw(stream_reader * p_stream,t_size,abort_callback & p_abort) {
14 | t_uint32 n,count;
15 | p_stream->read_lendian_t(count,p_abort);
16 | m_buffer.set_size_e(count);
17 | for(n=0;nread_object(&m_buffer[n],sizeof(T),p_abort);
20 | } catch(...) {m_buffer.set_size(0); throw;}
21 | }
22 | }
23 | public:
24 | cfg_structlist_t(const GUID & p_guid) : cfg_var(p_guid) {}
25 | };
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/file_list_helper.h:
--------------------------------------------------------------------------------
1 | #ifndef _foobar2000_helpers_file_list_helper_
2 | #define _foobar2000_helpers_file_list_helper_
3 |
4 |
5 | namespace file_list_helper
6 | {
7 | //list guaranteed to be sorted by metadb::path_compare
8 | class file_list_from_metadb_handle_list : public pfc::list_base_const_t {
9 | public:
10 |
11 | void init_from_list(const list_base_const_t & p_list);
12 | void init_from_list_display(const list_base_const_t & p_list);
13 |
14 | t_size get_count() const;
15 | void get_item_ex(const char * & p_out,t_size n) const;
16 |
17 | ~file_list_from_metadb_handle_list();
18 |
19 | private:
20 | void __add(const char * p_what);
21 | pfc::ptr_list_t m_data;
22 | };
23 |
24 |
25 | };
26 |
27 |
28 | #endif //_foobar2000_helpers_file_list_helper_
--------------------------------------------------------------------------------
/app/client/PrefPane/PrefPane_prefix.pch:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2010 Last.fm Ltd.
3 | - Primarily authored by Jono Cole
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/service.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 | #include "component.h"
3 |
4 | foobar2000_api * g_api;
5 |
6 | service_class_ref service_factory_base::enum_find_class(const GUID & p_guid)
7 | {
8 | PFC_ASSERT(core_api::are_services_available() && g_api);
9 | return g_api->service_enum_find_class(p_guid);
10 | }
11 |
12 | bool service_factory_base::enum_create(service_ptr_t & p_out,service_class_ref p_class,t_size p_index)
13 | {
14 | PFC_ASSERT(core_api::are_services_available() && g_api);
15 | return g_api->service_enum_create(p_out,p_class,p_index);
16 | }
17 |
18 | t_size service_factory_base::enum_get_count(service_class_ref p_class)
19 | {
20 | PFC_ASSERT(core_api::are_services_available() && g_api);
21 | return g_api->service_enum_get_count(p_class);
22 | }
23 |
24 | service_factory_base * service_factory_base::__internal__list = NULL;
25 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/coreversion.h:
--------------------------------------------------------------------------------
1 | #ifndef _COREVERSION_H_
2 | #define _COREVERSION_H_
3 |
4 | class NOVTABLE core_version_info : public service_base {
5 | public:
6 | virtual const char * get_version_string() = 0;
7 | static const char * g_get_version_string() {return static_api_ptr_t()->get_version_string();}
8 | FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(core_version_info);
9 | };
10 |
11 | struct t_core_version_data {
12 | t_uint32 m_major, m_minor1, m_minor2, m_minor3;
13 | };
14 |
15 | //! New (0.9.4.2)
16 | class NOVTABLE core_version_info_v2 : public core_version_info {
17 | public:
18 | virtual const char * get_name() = 0;//"foobar2000"
19 | virtual const char * get_version_as_text() = 0;//"N.N.N.N"
20 | virtual t_core_version_data get_version() = 0;
21 |
22 | FB2K_MAKE_SERVICE_INTERFACE(core_version_info_v2, core_version_info);
23 | };
24 |
25 | #endif //_COREVERSION_H_
26 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/string_filter.h:
--------------------------------------------------------------------------------
1 | class string_filter_noncasesensitive {
2 | public:
3 | string_filter_noncasesensitive(const char * p_string,t_size p_string_len = infinite) {
4 | uStringLower(m_pattern,p_string,p_string_len);
5 | }
6 |
7 | bool test(const char * p_string,t_size p_string_len = infinite) const {
8 | ::uStringLower(m_lowercasebuffer,p_string,p_string_len);
9 | t_size walk = 0;
10 | while(m_pattern[walk] != 0) {
11 | while(m_pattern[walk] == ' ') walk++;
12 | t_size delta = 0;
13 | while(m_pattern[walk+delta] != 0 && m_pattern[walk+delta] != ' ') delta++;
14 | if (delta > 0) {
15 | if (pfc::string_find_first_ex(m_lowercasebuffer,infinite,m_pattern+walk,delta) == infinite) return false;
16 | }
17 | walk += delta;
18 | }
19 | return true;
20 | }
21 | private:
22 | mutable pfc::string8_fastalloc m_lowercasebuffer;
23 | pfc::string8 m_pattern;
24 | };
25 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/pfc/selftest.cpp:
--------------------------------------------------------------------------------
1 | #include "pfc.h"
2 |
3 | static void selftest() //never called, testing done at compile time
4 | {
5 | pfc::static_assert_t();
6 | pfc::static_assert_t();
7 | pfc::static_assert_t();
8 | pfc::static_assert_t();
9 |
10 | pfc::static_assert_t();
11 | pfc::static_assert_t();
12 | pfc::static_assert_t();
13 | pfc::static_assert_t();
14 |
15 | pfc::static_assert_t();
16 | pfc::static_assert_t();
17 |
18 | pfc::static_assert_t();
19 | pfc::static_assert_t();
20 |
21 | pfc::static_assert_t();
22 |
23 | pfc::static_assert_t();
24 |
25 | }
--------------------------------------------------------------------------------
/app/client/PrefPane/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | fm.last.prefpane
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleSignature
16 | ????
17 | CFBundleVersion
18 | 1.0
19 | NSPrefPaneIconLabel
20 | Last.fm
21 | NSPrefPaneIconFile
22 | icon.png
23 | NSMainNibFile
24 | MainWindow
25 | NSPrincipalClass
26 | FmLastPrefPane
27 |
28 |
29 |
--------------------------------------------------------------------------------
/app/client/Settings/AccountSettingsWidget.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | AccountSettingsWidget
4 |
5 |
6 |
7 | 0
8 | 0
9 | 400
10 | 300
11 |
12 |
13 |
14 | Form
15 |
16 |
17 | -
18 |
19 |
20 |
21 |
22 |
23 |
24 | UserManagerWidget
25 | QWidget
26 | lib/unicorn/widgets/UserManagerWidget.h
27 | 1
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/pfc/profiler.cpp:
--------------------------------------------------------------------------------
1 | #include "pfc.h"
2 |
3 | #ifdef _WINDOWS
4 | namespace pfc {
5 |
6 | profiler_static::profiler_static(const char * p_name)
7 | {
8 | name = p_name;
9 | total_time = 0;
10 | num_called = 0;
11 | }
12 |
13 | profiler_static::~profiler_static()
14 | {
15 | try {
16 | pfc::string_fixed_t<511> message;
17 | message << "profiler: " << pfc::format_pad_left >(48,' ',name) << " - " <<
18 | pfc::format_pad_right >(16,' ',pfc::format_uint(total_time) ) << " cycles";
19 |
20 | if (num_called > 0) {
21 | message << " (executed " << num_called << " times, " << (total_time / num_called) << " average)";
22 | }
23 | message << "\n";
24 | OutputDebugStringA(message);
25 | } catch(...) {
26 | //should never happen
27 | OutputDebugString(_T("unexpected profiler failure\n"));
28 | }
29 | }
30 |
31 | }
32 | #else
33 | //PORTME
34 | #endif
35 |
--------------------------------------------------------------------------------
/plugins/iTunes/tests/comtest.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 9.00
3 | # Visual Studio 2005
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "comtest", "comtest.vcproj", "{13C49490-5E37-4616-AC77-52F340DE07D8}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Win32 = Debug|Win32
9 | Release|Win32 = Release|Win32
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {13C49490-5E37-4616-AC77-52F340DE07D8}.Debug|Win32.ActiveCfg = Debug|Win32
13 | {13C49490-5E37-4616-AC77-52F340DE07D8}.Debug|Win32.Build.0 = Debug|Win32
14 | {13C49490-5E37-4616-AC77-52F340DE07D8}.Release|Win32.ActiveCfg = Release|Win32
15 | {13C49490-5E37-4616-AC77-52F340DE07D8}.Release|Win32.Build.0 = Release|Win32
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/plugins/wmp/wmp_scrobbler.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 11.00
2 | # Visual Studio 2010
3 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wmp_scrobbler", "wmp_scrobbler.vcxproj", "{CF8AD3FB-2EAF-4A9D-8619-F6701B9A9BDE}"
4 | EndProject
5 | Global
6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
7 | Debug|Win32 = Debug|Win32
8 | Release|Win32 = Release|Win32
9 | EndGlobalSection
10 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
11 | {CF8AD3FB-2EAF-4A9D-8619-F6701B9A9BDE}.Debug|Win32.ActiveCfg = Debug|Win32
12 | {CF8AD3FB-2EAF-4A9D-8619-F6701B9A9BDE}.Debug|Win32.Build.0 = Debug|Win32
13 | {CF8AD3FB-2EAF-4A9D-8619-F6701B9A9BDE}.Release|Win32.ActiveCfg = Release|Win32
14 | {CF8AD3FB-2EAF-4A9D-8619-F6701B9A9BDE}.Release|Win32.Build.0 = Release|Win32
15 | EndGlobalSection
16 | GlobalSection(SolutionProperties) = preSolution
17 | HideSolutionNode = FALSE
18 | EndGlobalSection
19 | EndGlobal
20 |
--------------------------------------------------------------------------------
/plugins/wmp/wmp_scrobbler.rgs:
--------------------------------------------------------------------------------
1 | HKCR
2 | {
3 | NoRemove CLSID
4 | {
5 | ForceRemove {E7C0F450-9B76-4481-B3DF-B3447B383762} = s 'Wmp_scrobbler Class'
6 | {
7 | InprocServer32 = s '%MODULE%'
8 | {
9 | val ThreadingModel = s 'Apartment'
10 | }
11 | }
12 | }
13 | }
14 | HKEY_LOCAL_MACHINE
15 | {
16 | NoRemove SOFTWARE
17 | {
18 | NoRemove Microsoft
19 | {
20 | NoRemove MediaPlayer
21 | {
22 | NoRemove UIPlugins
23 | {
24 | ForceRemove {E7C0F450-9B76-4481-B3DF-B3447B383762}
25 | {
26 | val FriendlyName = s 'res://wmp_scrobbler.dll/RT_STRING/#102'
27 | val Description = s 'res://wmp_scrobbler.dll/RT_STRING/#103'
28 | val Capabilities = d '3758096385'
29 | }
30 | }
31 | }
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/completion_notify.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | namespace {
4 | class main_thread_callback_myimpl : public main_thread_callback {
5 | public:
6 | void callback_run() {
7 | m_notify->on_completion(m_code);
8 | }
9 |
10 | main_thread_callback_myimpl(completion_notify_ptr p_notify,unsigned p_code) : m_notify(p_notify), m_code(p_code) {}
11 | private:
12 | completion_notify_ptr m_notify;
13 | unsigned m_code;
14 | };
15 | }
16 |
17 | void completion_notify::g_signal_completion_async(completion_notify_ptr p_notify,unsigned p_code) {
18 | if (p_notify.is_valid()) {
19 | static_api_ptr_t()->add_callback(new service_impl_t(p_notify,p_code));
20 | }
21 | }
22 |
23 | void completion_notify::on_completion_async(unsigned p_code) {
24 | static_api_ptr_t()->add_callback(new service_impl_t(this,p_code));
25 | }
--------------------------------------------------------------------------------
/plugins/winamp/Gen_AudioScrobbler.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 11.00
2 | # Visual Studio 2010
3 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Gen_AudioScrobbler", "Gen_AudioScrobbler.vcxproj", "{07D89C03-8770-45C7-A766-A8C4F3656BAF}"
4 | EndProject
5 | Global
6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
7 | Debug|Win32 = Debug|Win32
8 | Release|Win32 = Release|Win32
9 | EndGlobalSection
10 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
11 | {07D89C03-8770-45C7-A766-A8C4F3656BAF}.Debug|Win32.ActiveCfg = Debug|Win32
12 | {07D89C03-8770-45C7-A766-A8C4F3656BAF}.Debug|Win32.Build.0 = Debug|Win32
13 | {07D89C03-8770-45C7-A766-A8C4F3656BAF}.Release|Win32.ActiveCfg = Release|Win32
14 | {07D89C03-8770-45C7-A766-A8C4F3656BAF}.Release|Win32.Build.0 = Release|Win32
15 | EndGlobalSection
16 | GlobalSection(SolutionProperties) = preSolution
17 | HideSolutionNode = FALSE
18 | EndGlobalSection
19 | EndGlobal
20 |
--------------------------------------------------------------------------------
/common/precompiled.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2009 Last.fm Ltd.
3 | - Primarily authored by Max Howell, Jono Cole and Doug Mansell
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 | #include
21 | #include
22 | #include
23 | #include
24 |
--------------------------------------------------------------------------------
/plugins/wmp/wmp_scrobbler.7.10.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 8.00
2 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wmp_scrobbler", "wmp_scrobbler.vcproj", "{CF8AD3FB-2EAF-4A9D-8619-F6701B9A9BDE}"
3 | ProjectSection(ProjectDependencies) = postProject
4 | EndProjectSection
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfiguration) = preSolution
8 | Debug = Debug
9 | Release = Release
10 | EndGlobalSection
11 | GlobalSection(ProjectConfiguration) = postSolution
12 | {CF8AD3FB-2EAF-4A9D-8619-F6701B9A9BDE}.Debug.ActiveCfg = Debug|Win32
13 | {CF8AD3FB-2EAF-4A9D-8619-F6701B9A9BDE}.Debug.Build.0 = Debug|Win32
14 | {CF8AD3FB-2EAF-4A9D-8619-F6701B9A9BDE}.Release.ActiveCfg = Release|Win32
15 | {CF8AD3FB-2EAF-4A9D-8619-F6701B9A9BDE}.Release.Build.0 = Release|Win32
16 | EndGlobalSection
17 | GlobalSection(ExtensibilityGlobals) = postSolution
18 | EndGlobalSection
19 | GlobalSection(ExtensibilityAddIns) = postSolution
20 | EndGlobalSection
21 | EndGlobal
22 |
--------------------------------------------------------------------------------
/app/client/Dialogs/LicensesDialog.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | LicensesDialog
4 |
5 |
6 |
7 | 0
8 | 0
9 | 480
10 | 503
11 |
12 |
13 |
14 | Licenses
15 |
16 |
17 |
18 | 0
19 |
20 |
21 | 0
22 |
23 | -
24 |
25 |
26 | QFrame::NoFrame
27 |
28 |
29 | true
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/plugins/iTunes/_iTunes.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | AudioScrobbler
9 | CFBundleGetInfoString
10 | The official Last.fm iTunes AudioScrobbler plugin
11 | CFBundleIdentifier
12 | fm.last.iTunes Scrobbler
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | AudioScrobbler
17 | CFBundleDisplayName
18 | Last.fm iTunes AudioScrobbler
19 | CFBundlePackageType
20 | hvpl
21 | CFBundleSignature
22 | hook
23 | CFBundleVersion
24 | 6.0.5.4
25 | CFBundleShortVersionString
26 | 6.0.5
27 |
28 |
29 |
--------------------------------------------------------------------------------
/plugins/foobar09/ChangeLog.txt:
--------------------------------------------------------------------------------
1 | 20/8/12 2.3.1.3
2 | -------------------------------------------------------------------------------
3 | * Now sends album artist as parameter d in scrob sub protocol.
4 |
5 |
6 | 13/5/08 2.3.1.2
7 | -------------------------------------------------------------------------------
8 | * Updates broken Updater.exe in client if installed.
9 |
10 |
11 | 16/1/08 2.3.1.1
12 | -------------------------------------------------------------------------------
13 | * Fix installer package to actually contain 2.3.1 and not 2.2!
14 |
15 |
16 | 9/1/08 2.3.1.0
17 | -------------------------------------------------------------------------------
18 | * Make Scrobsubmitter global instead of heap-allocated to see if removing the
19 | delete helps fixing crashes.
20 | * Only print to console on errors.
21 | * Only send Stop when playback stops.
22 |
23 |
24 | 31/7/07 2.3.0.0
25 | -------------------------------------------------------------------------------
26 | * Recompiled with new ScrobSub for Vista compatibility.
27 |
28 |
--------------------------------------------------------------------------------
/common/qt/override/README:
--------------------------------------------------------------------------------
1 | Brief
2 | =====
3 | Force this directory first in the -I g++ directives to use these overrides.
4 |
5 | With QMake: CXX = $$CXX -IlibMoose/QtOverrides
6 |
7 | There is danger with this system. But it beats the system where developers
8 | could accidentally use the Qt version of a class or function and for some
9 | reason it is absolutely essential our override is used.
10 |
11 | NOTE, the cpp files are named without the Q as this seems to break qmake, heh :)
12 |
13 | NOTE, new classes should be as minimal as possible, even Qt will use your versions of the classes, but only if they are used in inline functions in headers, so you should be mostly safe. Still be careful. If you change more than a tiny amount of the class do '#error include "blah.h" instead' and write a separate class.
14 |
15 | NOTE Beware overriding non virtual functions if the base class may use that function.
16 |
17 | Implementations
18 | ===============
19 | QSystemTrayIcon
20 | ---------------
21 | For sendMessage() on mac, to show a notification when Growl is not installed.
22 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/playable_location.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | int playable_location::g_compare(const playable_location & p_item1,const playable_location & p_item2) {
4 | int ret = metadb::path_compare(p_item1.get_path(),p_item2.get_path());
5 | if (ret != 0) return 0;
6 | return pfc::compare_t(p_item1.get_subsong(),p_item2.get_subsong());
7 | }
8 |
9 | pfc::string_base & operator<<(pfc::string_base & p_fmt,const playable_location & p_location)
10 | {
11 | p_fmt << "\"" << file_path_display(p_location.get_path()) << "\"";
12 | t_uint32 index = p_location.get_subsong_index();
13 | if (index != 0) p_fmt << " / index: " << p_location.get_subsong_index();
14 | return p_fmt;
15 | }
16 |
17 |
18 | bool playable_location::operator==(const playable_location & p_other) const {
19 | return metadb::path_compare(get_path(),p_other.get_path()) == 0 && get_subsong() == p_other.get_subsong();
20 | }
21 | bool playable_location::operator!=(const playable_location & p_other) const {
22 | return !(*this == p_other);
23 | }
24 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/cfg_guidlist.h:
--------------------------------------------------------------------------------
1 | class cfg_guidlist : public cfg_var, public pfc::list_t
2 | {
3 | public:
4 | void get_data_raw(stream_writer * p_stream,abort_callback & p_abort) {
5 | t_uint32 n, m = pfc::downcast_guarded(get_count());
6 | p_stream->write_lendian_t(m,p_abort);
7 | for(n=0;nwrite_lendian_t(get_item(n),p_abort);
8 | }
9 | void set_data_raw(stream_reader * p_stream,t_size p_sizehint,abort_callback & p_abort) {
10 | t_uint32 n,count;
11 | p_stream->read_lendian_t(count,p_abort);
12 | m_buffer.set_size(count);
13 | for(n=0;nread_lendian_t(m_buffer[n],p_abort);
16 | } catch(...) {m_buffer.set_size(0); throw;}
17 | }
18 | }
19 |
20 | void sort() {sort_t(pfc::guid_compare);}
21 |
22 | bool have_item_bsearch(const GUID & p_item) {
23 | t_size dummy;
24 | return bsearch_t(pfc::guid_compare,p_item,dummy);
25 | }
26 |
27 | public:
28 | cfg_guidlist(const GUID & p_guid) : cfg_var(p_guid) {}
29 | };
30 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/mainmenu.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | bool mainmenu_commands::g_execute(const GUID & p_guid,service_ptr_t p_callback) {
4 | service_enum_t e;
5 | service_ptr_t ptr;
6 | while(e.next(ptr)) {
7 | const t_uint32 count = ptr->get_command_count();
8 | for(t_uint32 n=0;nget_command(n) == p_guid) {
10 | ptr->execute(n,p_callback);
11 | return true;
12 | }
13 | }
14 | }
15 | return false;
16 | }
17 |
18 | bool mainmenu_commands::g_find_by_name(const char * p_name,GUID & p_guid) {
19 | service_enum_t e;
20 | service_ptr_t ptr;
21 | pfc::string8_fastalloc temp;
22 | while(e.next(ptr)) {
23 | const t_uint32 count = ptr->get_command_count();
24 | for(t_uint32 n=0;nget_name(n,temp);
26 | if (stricmp_utf8(temp,p_name) == 0) {
27 | p_guid = ptr->get_command(n);
28 | return true;
29 | }
30 | }
31 | }
32 | return false;
33 |
34 | }
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/modeless_dialog.h:
--------------------------------------------------------------------------------
1 | #ifndef _MODELESS_DIALOG_H_
2 | #define _MODELESS_DIALOG_H_
3 |
4 |
5 | //! Service for plugging your nonmodal dialog windows into main app loop to receive IsDialogMessage()-translated messages.\n
6 | //! Note that all methods are valid from main app thread only.\n
7 | //! Usage: static_api_ptr_t or modeless_dialog_manager::g_add / modeless_dialog_manager::g_remove.
8 | class NOVTABLE modeless_dialog_manager : public service_base
9 | {
10 | public:
11 | //! Adds specified window to global list of windows to receive IsDialogMessage().
12 | virtual void add(HWND p_wnd) = 0;
13 | //! Removes specified window from global list of windows to receive IsDialogMessage().
14 | virtual void remove(HWND p_wnd) = 0;
15 |
16 | //! Static helper; see add().
17 | static void g_add(HWND p_wnd);
18 | //! Static helper; see remove().
19 | static void g_remove(HWND p_wnd);
20 |
21 | FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(modeless_dialog_manager);
22 | };
23 |
24 | #endif //_MODELESS_DIALOG_H_
--------------------------------------------------------------------------------
/app/twiddly/Utils.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2012 Last.fm Ltd.
3 | - Primarily authored by Michael Coffey
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef UTILS_H
22 | #define UTILS_H
23 |
24 | #include
25 |
26 | class Utils
27 | {
28 | public:
29 | static void startAudioscrobbler( QStringList& vargs );
30 | };
31 |
32 | #endif // UTILS_H
33 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/cuesheet_index_list.h:
--------------------------------------------------------------------------------
1 | struct t_cuesheet_index_list
2 | {
3 | enum {count = 100};
4 | inline t_cuesheet_index_list() {reset();}
5 | inline t_cuesheet_index_list(const t_cuesheet_index_list & p_source) {*this=p_source;}
6 | void reset() {for(unsigned n=0;n.
19 | */
20 | #include
21 |
22 |
23 | namespace Qt
24 | {
25 | static inline void msleep( uint ms )
26 | {
27 | struct Thread : QThread { using QThread::msleep; };
28 | Thread::msleep( ms );
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/ui.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 | bool ui_drop_item_callback::g_on_drop(interface IDataObject * pDataObject)
4 | {
5 | service_enum_t e;
6 | service_ptr_t ptr;
7 | if (e.first(ptr)) do {
8 | if (ptr->on_drop(pDataObject)) return true;
9 | } while(e.next(ptr));
10 | return false;
11 | }
12 |
13 | bool ui_drop_item_callback::g_is_accepted_type(interface IDataObject * pDataObject, DWORD * p_effect)
14 | {
15 | service_enum_t e;
16 | service_ptr_t ptr;
17 | if (e.first(ptr)) do {
18 | if (ptr->is_accepted_type(pDataObject,p_effect)) return true;
19 | } while(e.next(ptr));
20 | return false;
21 | }
22 |
23 | bool user_interface::g_find(service_ptr_t & p_out,const GUID & p_guid)
24 | {
25 | service_enum_t e;
26 | service_ptr_t ptr;
27 | if (e.first(ptr)) do {
28 | if (ptr->get_guid() == p_guid)
29 | {
30 | p_out = ptr;
31 | return true;
32 | }
33 | } while(e.next(ptr));
34 | return false;
35 | }
36 |
--------------------------------------------------------------------------------
/common/c++/string.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2009 Last.fm Ltd.
3 | - Primarily authored by Max Howell, Jono Cole and Doug Mansell
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 | #ifdef WIN32
21 | #define COMMON_STD_STRING std::wstring
22 | #define COMMON_CHAR wchar_t
23 | #else
24 | #define COMMON_STD_STRING std::string
25 | #define COMMON_CHAR char
26 | #endif
27 |
28 | #include
29 |
--------------------------------------------------------------------------------
/lib/unicorn/dialogs/CloseAppsDialog_mac.mm:
--------------------------------------------------------------------------------
1 | #include "CloseAppsDialog.h"
2 |
3 | QString qt_mac_NSStringToQString(const NSString *nsstr)
4 | {
5 | NSRange range;
6 | range.location = 0;
7 | range.length = [nsstr length];
8 |
9 | unichar *chars = new unichar[range.length];
10 | [nsstr getCharacters:chars range:range];
11 | QString result = QString::fromUtf16(chars, range.length);
12 | delete[] chars;
13 | return result;
14 | }
15 |
16 | QStringList
17 | unicorn::CloseAppsDialog::runningApps()
18 | {
19 | // we only ever test for iTunes on Mac
20 |
21 | QStringList apps;
22 |
23 | // make sure iTunes isn't running
24 | NSArray* runningApps = [[NSWorkspace sharedWorkspace] runningApplications];
25 |
26 | for ( unsigned int i = 0 ; i < [runningApps count] ; ++i )
27 | {
28 | if ( [[[runningApps objectAtIndex:i] bundleIdentifier] isEqualToString:@"com.apple.iTunes"] )
29 | {
30 | NSString* appName = [[runningApps objectAtIndex:i] localizedName];
31 | apps << qt_mac_NSStringToQString( appName );
32 | break;
33 | }
34 | }
35 |
36 | return apps;
37 | }
38 |
--------------------------------------------------------------------------------
/app/client/Widgets/TitleBar.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2010 Last.fm Ltd.
3 | - Primarily authored by Jono Cole and Micahel Coffey
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #include
22 |
23 | class QLabel;
24 |
25 | class TitleBar : public QFrame
26 | {
27 | Q_OBJECT
28 | public:
29 | TitleBar( QWidget* parent = 0 );
30 |
31 | signals:
32 | void closeClicked();
33 | };
34 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/pfc/bsearch_inline.h:
--------------------------------------------------------------------------------
1 | namespace pfc {
2 |
3 | template
4 | inline bool bsearch_inline_t(t_size p_count, const t_callback & p_callback,t_size & p_result)
5 | {
6 | t_size max = p_count;
7 | t_size min = 0;
8 | t_size ptr;
9 | while(min> 1);
12 | int result = p_callback.test(ptr);
13 | if (result<0) min = ptr + 1;
14 | else if (result>0) max = ptr;
15 | else
16 | {
17 | p_result = ptr;
18 | return true;
19 | }
20 | }
21 | p_result = min;
22 | return false;
23 | }
24 |
25 | template
26 | inline bool bsearch_simple_inline_t(const t_buffer & p_buffer,t_size p_count,t_value const & p_value,t_size & p_result)
27 | {
28 | t_size max = p_count;
29 | t_size min = 0;
30 | t_size ptr;
31 | while(min> 1);
34 | if (p_value > p_buffer[ptr]) min = ptr + 1;
35 | else if (p_value < p_buffer[ptr]) max = ptr;
36 | else
37 | {
38 | p_result = ptr;
39 | return true;
40 | }
41 | }
42 | p_result = min;
43 | return false;
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/app/client/PrefPane/FmLastPrefPaneQtView.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2010 Last.fm Ltd.
3 | - Primarily authored by Jono Cole
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #import
22 |
23 | @interface FmLastPrefPaneQtView : NSView {
24 | class FmLastPrefPanePrefWidget* pw;
25 | }
26 |
27 | - (id) initWithFrame:(NSRect)frameRect;
28 | - (void) drawRect:(NSRect)rect;
29 | - (FmLastPrefPanePrefWidget*) prefWidget;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/plugins/iTunes/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by iScrobbleWin.rc
4 | //
5 | #define IDHELP2 10
6 | #define IDCLEAR 10
7 | #define IDD_DIALOG1 101
8 | #define IDC_LIST1 1002
9 | #define IDC_LIST 1003
10 | #define IDC_USERNAME 1004
11 | #define IDC_PASSWORD 1005
12 | #define IDC_PROXY_CHECK 1007
13 | #define IDC_AUTH_CHECK 1008
14 | #define IDC_SERVER 1010
15 | #define IDC_PUSERNAME 1011
16 | #define IDC_PPASS 1013
17 | #define IDC_CHECK1 1015
18 | #define IDC_ENABLED 1016
19 |
20 | // Next default values for new objects
21 | //
22 | #ifdef APSTUDIO_INVOKED
23 | #ifndef APSTUDIO_READONLY_SYMBOLS
24 | #define _APS_NEXT_RESOURCE_VALUE 110
25 | #define _APS_NEXT_COMMAND_VALUE 40001
26 | #define _APS_NEXT_CONTROL_VALUE 1017
27 | #define _APS_NEXT_SYMED_VALUE 101
28 | #endif
29 | #endif
30 |
--------------------------------------------------------------------------------
/app/client/PrefPane/FmLastPrefPane.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2010 Last.fm Ltd.
3 | - Primarily authored by Jono Cole
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #import
22 | #import
23 | #import "FmLastPrefPaneQtView.h"
24 |
25 | @interface FmLastPrefPane : NSPreferencePane {
26 | IBOutlet FmLastPrefPaneQtView* qtView;
27 | }
28 |
29 | - (void)mainViewDidLoad;
30 | - (void)didSelect;
31 | @end
32 |
--------------------------------------------------------------------------------
/lib/listener/PlayerCommand.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2009 Last.fm Ltd.
3 | - Primarily authored by Max Howell, Jono Cole and Doug Mansell
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 | #ifndef PLAYER_COMMAND_H
21 | #define PLAYER_COMMAND_H
22 |
23 | enum PlayerCommand
24 | {
25 | CommandInit,
26 | CommandStart,
27 | CommandPause,
28 | CommandResume,
29 | CommandStop,
30 | CommandTerm,
31 |
32 | CommandBootstrap
33 | };
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/lib/unicorn/dialogs/AboutDialog.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2009 Last.fm Ltd.
3 | - Primarily authored by Max Howell, Jono Cole and Doug Mansell
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 | #include "lib/DllExportMacro.h"
21 | #include
22 |
23 | namespace Ui { class AboutDialog; }
24 |
25 | class UNICORN_DLLEXPORT AboutDialog : public QDialog
26 | {
27 | public:
28 | AboutDialog( QWidget* parent );
29 |
30 | private:
31 | Ui::AboutDialog* ui;
32 | };
33 |
--------------------------------------------------------------------------------
/app/twiddly/Twiddly.rc:
--------------------------------------------------------------------------------
1 | IDI_ICON1 ICON DISCARDABLE "..\\..\\admin\\dist\\win\\installer.ico"
2 |
3 | // The first entry ('1') on the below line is normally written as the define
4 | // VS_VERSION_INFO, but we can't always be sure that value has been included
5 | // in a Qt build so we just hardcode 1 in.
6 | 1 VERSIONINFO
7 | FILEVERSION 0,0,0,0
8 | PRODUCTVERSION 0,0,0,0
9 | FILEFLAGSMASK 0x3fL
10 | #ifdef _DEBUG
11 | FILEFLAGS 0x1L
12 | #else
13 | FILEFLAGS 0x0L
14 | #endif
15 | FILEOS 0x4L
16 | FILETYPE 0x1L
17 | FILESUBTYPE 0x0L
18 | BEGIN
19 | BLOCK "StringFileInfo"
20 | BEGIN
21 | BLOCK "040904b0"
22 | BEGIN
23 | VALUE "Comments", "http://www.last.fm"
24 | VALUE "CompanyName", "Last.fm"
25 | VALUE "FileDescription", "Last.fm iPodScrobbler"
26 | VALUE "FileVersion", "0.0.0.0\0"
27 | VALUE "InternalName", "Last.fm iPodScrobbler"
28 | VALUE "LegalCopyright", "Copyright (C) 2008"
29 | VALUE "OriginalFilename", "iPodScrobbler.exe"
30 | VALUE "ProductName", "Last.fm iPodScrobbler"
31 | VALUE "ProductVersion", "0.0.0.0\0"
32 | END
33 | END
34 | END
35 |
--------------------------------------------------------------------------------
/plugins/wmp/StdAfx.h:
--------------------------------------------------------------------------------
1 | // stdafx.h : include file for standard system include files,
2 | // or project specific include files that are used frequently,
3 | // but are changed infrequently
4 |
5 | #if !defined(AFX_STDAFX_H__970E5960_5209_4AE7_8DD2_ACD4C1165941__INCLUDED_)
6 | #define AFX_STDAFX_H__970E5960_5209_4AE7_8DD2_ACD4C1165941__INCLUDED_
7 |
8 | #if _MSC_VER > 1000
9 | #pragma once
10 | #endif // _MSC_VER > 1000
11 |
12 | #define STRICT
13 | #ifndef _WIN32_WINNT
14 | #define _WIN32_WINNT 0x0500
15 | #endif
16 | #define _ATL_APARTMENT_THREADED
17 |
18 | #include
19 | //You may derive a class from CComModule and use it if you want to override
20 | //something, but do not change the name of _Module
21 | extern CComModule _Module;
22 | #include
23 | #include // Added by ClassView
24 | #include
25 | #include
26 | #pragma warning( disable : 4192 )
27 |
28 |
29 | #include "stdstring.h"
30 | #include "dbg.h"
31 | #include "ComDATE.h"
32 |
33 | //{{AFX_INSERT_LOCATION}}
34 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
35 |
36 | #endif // !defined(AFX_STDAFX_H__970E5960_5209_4AE7_8DD2_ACD4C1165941__INCLUDED)
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/pfc/guid.h:
--------------------------------------------------------------------------------
1 | #ifndef _PFC_GUID_H_
2 | #define _PFC_GUID_H_
3 |
4 | namespace pfc {
5 |
6 | class GUID_from_text : public GUID
7 | {
8 | unsigned read_hex(char c);
9 | unsigned read_byte(const char * ptr);
10 | unsigned read_word(const char * ptr);
11 | unsigned read_dword(const char * ptr);
12 | void read_bytes(unsigned char * out,unsigned num,const char * ptr);
13 |
14 | public:
15 | GUID_from_text(const char * text);
16 | };
17 |
18 | class print_guid
19 | {
20 | public:
21 | print_guid(const GUID & p_guid);
22 | inline operator const char * () const {return m_data;}
23 | inline const char * get_ptr() {return m_data;}
24 | private:
25 | char m_data[64];
26 | };
27 |
28 | inline int guid_compare(const GUID & g1,const GUID & g2) {return memcmp(&g1,&g2,sizeof(GUID));}
29 |
30 | inline bool guid_equal(const GUID & g1,const GUID & g2) {return (g1 == g2) ? true : false;}
31 | template<> inline int compare_t(const GUID & p_item1,const GUID & p_item2) {return guid_compare(p_item1,p_item2);}
32 |
33 | extern const GUID guid_null;
34 |
35 | PFC_DLL_EXPORT void print_hex_raw(const void * buffer,unsigned bytes,char * p_out);
36 | }
37 |
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/app/boffin/json_spirit/json_spirit_writer.h:
--------------------------------------------------------------------------------
1 | #ifndef JASON_SPIRIT_WRITER
2 | #define JASON_SPIRIT_WRITER
3 |
4 | /* Copyright (c) 2007-2009 John W Wilkinson
5 |
6 | This source code can be used for any purpose as long as
7 | this comment is retained. */
8 |
9 | // json spirit version 3.00
10 |
11 | #if defined(_MSC_VER) && (_MSC_VER >= 1020)
12 | # pragma once
13 | #endif
14 |
15 | #include "json_spirit_value.h"
16 | #include
17 |
18 | namespace json_spirit
19 | {
20 | // functions to convert JSON Values to text,
21 | // the "formatted" versions add whitespace to format the output nicely
22 |
23 | void write ( const Value& value, std::ostream& os );
24 | void write_formatted( const Value& value, std::ostream& os );
25 | std::string write ( const Value& value );
26 | std::string write_formatted( const Value& value );
27 |
28 | #ifndef BOOST_NO_STD_WSTRING
29 | std::wstring write ( const wValue& value );
30 | std::wstring write_formatted( const wValue& value );
31 | void write ( const wValue& value, std::wostream& os );
32 | void write_formatted( const wValue& value, std::wostream& os );
33 | #endif
34 | }
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/app/client/Widgets/ContextLabel.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2011 Last.fm Ltd.
3 | - Primarily authored by Michael Coffey
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef CONTEXTLABEL_H
22 | #define CONTEXTLABEL_H
23 |
24 | #include "lib/unicorn/widgets/Label.h"
25 |
26 | class ContextLabel : public unicorn::Label
27 | {
28 | Q_OBJECT
29 | public:
30 | explicit ContextLabel( QWidget *parent = 0);
31 |
32 | private:
33 | void paintEvent( QPaintEvent* event );
34 |
35 | };
36 |
37 | #endif // CONTEXTLABEL_H
38 |
--------------------------------------------------------------------------------
/lib/unicorn/DesktopServices.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2011 Last.fm Ltd.
3 | - Primarily authored by Michael Coffey
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef DESKTOPSERVICES_H
22 | #define DESKTOPSERVICES_H
23 |
24 | #include
25 |
26 | #include "lib/DllExportMacro.h"
27 |
28 | namespace unicorn
29 | {
30 |
31 | class UNICORN_DLLEXPORT DesktopServices
32 | {
33 | public:
34 | DesktopServices();
35 |
36 | static void openUrl( QUrl url );
37 | };
38 |
39 | }
40 |
41 | #endif // DESKTOPSERVICES_H
42 |
--------------------------------------------------------------------------------
/app/client/audioscrobbler.rc:
--------------------------------------------------------------------------------
1 | IDI_ICON1 ICON DISCARDABLE "audioscrobbler.ico"
2 |
3 | #include
4 |
5 | // Get updates from this appcast feed:
6 | FeedURL APPCAST {"https://cdn.last.fm/client/Win/updates.xml"}
7 |
8 | // Version information; this, too, is used by WinSparkle
9 | 1 VERSIONINFO
10 | FILEVERSION 2,1,36,0
11 | PRODUCTVERSION 2,1,36,0
12 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
13 | FILEFLAGS 0
14 | FILEOS VOS_NT_WINDOWS32
15 | FILETYPE VFT_APP
16 | FILESUBTYPE VFT2_UNKNOWN
17 | BEGIN
18 | BLOCK "StringFileInfo"
19 | BEGIN
20 | BLOCK "040904B0" // US English, Unicode
21 | BEGIN
22 | VALUE "Comments", "Last.fm\0"
23 | VALUE "CompanyName", "Last.fm\0"
24 | VALUE "FileDescription", "Last.fm\0"
25 | VALUE "FileVersion", "2.1.36\0"
26 | VALUE "InternalName", "Last.fm\0"
27 | VALUE "OriginalFilename", "Last.fm.exe\0"
28 | VALUE "LegalCopyright", "Public Domain\0"
29 | VALUE "ProductName", "Last.fm\0"
30 | VALUE "ProductVersion", "2.1.36\0"
31 | END
32 | END
33 |
34 | BLOCK "VarFileInfo"
35 | BEGIN
36 | VALUE "Translation", 0x0409, 0x04B0
37 | END
38 | END
--------------------------------------------------------------------------------
/app/twiddly/TwiddlyApplication.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2009 Last.fm Ltd.
3 | - Primarily authored by Max Howell, Jono Cole, Erik Jaelevik,
4 | Christian Muehlhaeuser
5 |
6 | This file is part of the Last.fm Desktop Application Suite.
7 |
8 | lastfm-desktop is free software: you can redistribute it and/or modify
9 | it under the terms of the GNU General Public License as published by
10 | the Free Software Foundation, either version 3 of the License, or
11 | (at your option) any later version.
12 |
13 | lastfm-desktop is distributed in the hope that it will be useful,
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | GNU General Public License for more details.
17 |
18 | You should have received a copy of the GNU General Public License
19 | along with lastfm-desktop. If not, see .
20 | */
21 |
22 | #include "lib/unicorn/UnicornCoreApplication.h"
23 |
24 | class TwiddlyApplication : public unicorn::CoreApplication
25 | {
26 | Q_OBJECT
27 | public:
28 | TwiddlyApplication(int& argc, char** argv);
29 |
30 | void sendBusMessage( const QByteArray& msg );
31 | };
32 |
--------------------------------------------------------------------------------
/admin/dist/mac/dsa_pub.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PUBLIC KEY-----
2 | MIIDPDCCAi4GByqGSM44BAEwggIhAoIBAQDagjvSe6+JNNvHjB6aWriA6YXnVdqS
3 | s//YkmhwiCwkHGk0set/4P4IZbl2xkpd/hyo9qQnnhjou0llHOaljU8Yp6g61lt9
4 | n/BhlhPt7tvBkTtsugJ4YIRkaakzscLUIoeHneF8D3B3Ej2xoZ734Rq/LDc9jZgd
5 | UNjS+sZec69waEp2ikcmkvfAbZ0yPHHhl0xftaA0A9OqaBBDUyxiBOqWfLQexj9L
6 | DHlx38kGy3lsuqY9DQQ0BbIv24QKDWDFf9GD/TEXgVOBAiIC4cGVUh2JgQVAZ0nk
7 | 86pwavc1uIPynTyje902MI0ojFPLuhuod7QAO9NNBFD3024n+uv7mPi5AhUAqo2v
8 | msdlE3NsONzW4uBVGujvNNUCggEBANlg+4w6ikFI8agyolAl9YepP0dcwk33MSXY
9 | 2Plwqp/41yIpFzb9qp0QKjfmtwy+cAdWcVcN8xKM9MghVgTukttdV9Rz8fwnfHAa
10 | QMoYVhHBNDaipR0RRpx+NPnMkKPrYiH1+J4C8/MYAsDEB0xa7Vv/EasA0yWD3mhK
11 | ydm9O2Njj1J2ZEQ4Nz+9ba7wDLpZVM/P9fitZalVyWxFVPxhYs3ifUSCgE+fYGR2
12 | VBiwBZiQ8uKf+yJpmYQkUA4/h54S2hiCQHrSS9A9L0Ekdj+Jy07lPGv6IAlhzcfQ
13 | OyiNzmbEgsR8LLo6H54/JxTwElt/TsdpWP8n83l4KFVN00eAZSgDggEGAAKCAQEA
14 | us92grNvv1zRXmBpsEPPhy5hGhcslBy5ZWygUytgwupjq8MkpkD3yez649qVTUAt
15 | E4SJUW+6EKbcLZSBRBdMWZNwudrHCly4n6OMOh4ZqHDA2YQFqMFnLaOHMBxHDU7b
16 | YiBPYxjHlm7yBXTnXIVqOnts3yRPRfHUCvNdiMvNzLQaDtP343jew2W4R8arwFpC
17 | U01NbHWoOiQ6GggTJEfGIxTHhjkd5Xd0hB97KccPF4YvOTGnXpNiHN+hGteF2CrZ
18 | pZAyYIqshyeijR9ipbOpYxdrYOGKfA5nUSDjeGpG2Yqg6R6eJrrBw49JsJP6VqhD
19 | VM0wmv7fyfPZHD/g9CAx0w==
20 | -----END PUBLIC KEY-----
21 |
--------------------------------------------------------------------------------
/lib/listener/win/NamedPipeServer.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2012 Last.fm Ltd.
3 | - Primarily authored by Michael Coffey
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef NAMEDPIPESERVER_H
22 | #define NAMEDPIPESERVER_H
23 |
24 | #include
25 |
26 | class NamedPipeServer : public QThread
27 | {
28 | Q_OBJECT
29 | public:
30 | explicit NamedPipeServer( QObject* parent = 0 );
31 |
32 | private:
33 | void run();
34 |
35 | signals:
36 | QString lineReady( const QString& line );
37 | };
38 |
39 | #endif // NAMEDPIPESERVER_H
40 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/audio_postprocessor.h:
--------------------------------------------------------------------------------
1 | #ifndef _CVT_FLOAT_TO_LINEAR_H_
2 | #define _CVT_FLOAT_TO_LINEAR_H_
3 |
4 | //! This class handles conversion of audio data (audio_chunk) to various linear PCM types, with optional dithering.
5 |
6 | class NOVTABLE audio_postprocessor : public service_base
7 | {
8 | public:
9 | //! Processes one chunk of audio data.
10 | //! @param p_chunk Chunk of audio data to process.
11 | //! @param p_output Receives output linear signed PCM data.
12 | //! @param p_out_bps Desired bit depth of output.
13 | //! @param p_out_bps_physical Desired physical word width of output. Must be either 8, 16, 24 or 32, greater or equal to p_out_bps. This is typically set to same value as p_out_bps.
14 | //! @param p_dither Indicates whether dithering should be used. Note that dithering is CPU-heavy.
15 | //! @param p_prescale Value to scale all audio samples by when converting. Set to 1.0 to do nothing.
16 |
17 | virtual void run(const audio_chunk & p_chunk,
18 | mem_block_container & p_output,
19 | t_uint32 p_out_bps,
20 | t_uint32 p_out_bps_physical,
21 | bool p_dither,
22 | audio_sample p_prescale
23 | ) = 0;
24 |
25 |
26 |
27 | FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(audio_postprocessor);
28 | };
29 |
30 | #endif
--------------------------------------------------------------------------------
/admin/tests/log_test.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # author
3 | # meant to be run from the /tests dir
4 |
5 | RUNDIR=`pwd`
6 | mkdir $RUNDIR/output
7 |
8 | TOTERRORS=0
9 |
10 | pushd ../_bin > /dev/null
11 |
12 | for i in $*
13 | do
14 | BINDIR=`dirname $i`
15 | LEN=${#BINDIR}
16 | let LEN=$LEN+1
17 | OUTPUTDIR=${i:$LEN}
18 | OUTPUTFILE=$RUNDIR/output/$OUTPUTDIR.output
19 |
20 | $i -xml > "$OUTPUTFILE"
21 |
22 | # check for program errors
23 | RETURNCODE=$?
24 | if [[ RETURNCODE -gt 0 ]];
25 | then
26 | echo "Bailing out - bad return code: $RETURNCODE"
27 | echo "$i"
28 | exit
29 | fi
30 |
31 | # count number of test failures
32 | NUMERRORS=`grep -c \"fail\" $OUTPUTFILE`
33 | XPASS=`grep -c \"xpass\" $OUTPUTFILE`
34 | let NUMERRORS=$NUMERRORS+$XPASS
35 | let TOTERRORS=TOTERRORS+NUMERRORS
36 |
37 | if [[ NUMERRORS -gt 0 ]];
38 | then
39 | echo "$NUMERRORS errors where encountered in $i"
40 | fi
41 |
42 | # transform outputted xml into junit-xml
43 | xsltproc $RUNDIR/QtTest_to_JUnit.xslt $OUTPUTFILE > "$OUTPUTFILE.junit.xml"
44 | done
45 |
46 | popd > /dev/null
47 |
48 |
49 | if [[ TOTERRORS -gt 0 ]];
50 | then
51 | echo "Total: $TOTERRORS errors"
52 | fi
53 |
--------------------------------------------------------------------------------
/app/client/Widgets/ProfileArtistWidget.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2011 Last.fm Ltd.
3 | - Primarily authored by Michael Coffey
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef ProfileArtistWidget_H
22 | #define ProfileArtistWidget_H
23 |
24 | #include
25 |
26 | namespace lastfm { class XmlQuery; }
27 |
28 | class ProfileArtistWidget : public QFrame
29 | {
30 | Q_OBJECT
31 | public:
32 | explicit ProfileArtistWidget( const lastfm::XmlQuery& artist, int maxPlays, QWidget *parent = 0);
33 |
34 | };
35 |
36 | #endif // ProfileArtistWidget_H
37 |
--------------------------------------------------------------------------------
/app/client/Widgets/RefreshButton.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2011 Last.fm Ltd.
3 | - Primarily authored by Michael Coffey
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef REFRESHBUTTON_H
22 | #define REFRESHBUTTON_H
23 |
24 | #include
25 | #include
26 |
27 | class RefreshButton : public QPushButton
28 | {
29 | Q_OBJECT
30 | public:
31 | explicit RefreshButton(QWidget *parent = 0);
32 |
33 | private:
34 | void paintEvent(QPaintEvent *);
35 |
36 | private:
37 | QPixmap m_pixmap;
38 | };
39 |
40 | #endif // REFRESHBUTTON_H
41 |
--------------------------------------------------------------------------------
/lib/unicorn/CrashReporter/CrashReporter.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2012 Last.fm Ltd.
3 | - Primarily authored by Michael Coffey
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef CRASHREPORTER_H
22 | #define CRASHREPORTER_H
23 |
24 | #include
25 |
26 | #include "lib/DllExportMacro.h"
27 |
28 | namespace unicorn
29 | {
30 |
31 | class UNICORN_DLLEXPORT CrashReporter : public QObject
32 | {
33 | Q_OBJECT
34 | public:
35 | explicit CrashReporter(QObject *parent = 0);
36 | ~CrashReporter();
37 | };
38 |
39 | }
40 |
41 | #endif // CRASHREPORTER_H
42 |
--------------------------------------------------------------------------------
/app/client/Dialogs/LicensesDialog.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2012 Last.fm Ltd.
3 | - Primarily authored by Michael Coffey
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef LICENCEDIALOG_H
22 | #define LICENCEDIALOG_H
23 |
24 | #include
25 |
26 | namespace Ui {
27 | class LicensesDialog;
28 | }
29 |
30 | class LicensesDialog : public QDialog
31 | {
32 | Q_OBJECT
33 |
34 | public:
35 | explicit LicensesDialog(QWidget *parent = 0);
36 | ~LicensesDialog();
37 |
38 | private:
39 | Ui::LicensesDialog *ui;
40 | };
41 |
42 | #endif // LICENCEDIALOG_H
43 |
--------------------------------------------------------------------------------
/lib/3rdparty/fetch.sh:
--------------------------------------------------------------------------------
1 | source ../../common/bash/utils.sh.inc
2 |
3 | function go
4 | {
5 | tar=`basename $1`
6 | dir=`basename $1 .tar.gz`
7 |
8 | shift
9 |
10 | header $dir
11 |
12 | test -f $tar || wget $1
13 | # test -d $dir || tar xzf $tar
14 | }
15 |
16 | function co
17 | {
18 | svn co $1 $2
19 | pushd $2
20 | ./configure
21 | make
22 | popd
23 | }
24 |
25 |
26 | ################################################################################
27 |
28 | case `uname`
29 | CYGWIN_NT_5.1)
30 | which make || die "You need to install GNU make"
31 | which ld || die "You need to install cygwin binutils"
32 | which wget || die "You need to install wget"
33 |
34 | go http://surfnet.dl.sourceforge.net/sourceforge/mad/libmad-0.15.1b.tar.gz --disable-debug
35 | go http://www.fftw.org/fftw-3.1.3.tar.gz --enable-float --disable-debug
36 | go http://www.mega-nerd.com/SRC/libsamplerate-0.1.4.tar.gz --disable-debug
37 | go http://developer.kde.org/~wheeler/files/src/taglib-1.5.tar.gz --disable-debug
38 | ;;
39 | *)
40 | echo Please refer to the README file.
41 | ;;
42 | esac
43 |
44 | #co http://google-breakpad.googlecode.com/svn/trunk/ breakpad
45 |
46 |
47 | header Done!
48 | echo "Now do make install in each directory or something"
49 | echo
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/helpers.h:
--------------------------------------------------------------------------------
1 | #ifndef _FOOBAR2000_SDK_HELPERS_H_
2 | #define _FOOBAR2000_SDK_HELPERS_H_
3 |
4 | #include "input_helpers.h"
5 | #include "create_directory_helper.h"
6 | #include "dialog_resize_helper.h"
7 | #include "dropdown_helper.h"
8 | #include "window_placement_helper.h"
9 | #include "win32_dialog.h"
10 | #include "wildcard.h"
11 | #include "cuesheet_index_list.h"
12 | #include "cue_creator.h"
13 | #include "cue_parser.h"
14 | #include "search_filter.h"
15 | #include "text_file_loader.h"
16 | #include "file_list_helper.h"
17 | #include "preload_info_helper.h"
18 | #include "listview_helper.h"
19 | #include "stream_buffer_helper.h"
20 | #include "file_info_const_impl.h"
21 | #include "file_wrapper_simple.h"
22 | #include "dynamic_bitrate_helper.h"
23 | #include "cfg_guidlist.h"
24 | #include "cfg_structlist.h"
25 | #include "file_win32_wrapper.h"
26 | #include "file_move_helper.h"
27 | #include "file_cached.h"
28 | #include "seekabilizer.h"
29 | #include "string_filter.h"
30 | #include "bitreader_helper.h"
31 | #include "mp3_utils.h"
32 | #include "win32_misc.h"
33 | #include "metadb_io_hintlist.h"
34 | #include "format_title_group.h"
35 | #include "inplace_edit.h"
36 | #include "meta_table_builder.h"
37 |
38 | #endif //_FOOBAR2000_SDK_HELPERS_H_
--------------------------------------------------------------------------------
/app/twiddly/TwiddlyApplication.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2009 Last.fm Ltd.
3 | - Primarily authored by Max Howell, Jono Cole, Erik Jaelevik,
4 | Christian Muehlhaeuser
5 |
6 | This file is part of the Last.fm Desktop Application Suite.
7 |
8 | lastfm-desktop is free software: you can redistribute it and/or modify
9 | it under the terms of the GNU General Public License as published by
10 | the Free Software Foundation, either version 3 of the License, or
11 | (at your option) any later version.
12 |
13 | lastfm-desktop is distributed in the hope that it will be useful,
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | GNU General Public License for more details.
17 |
18 | You should have received a copy of the GNU General Public License
19 | along with lastfm-desktop. If not, see .
20 | */
21 |
22 | #include "TwiddlyApplication.h"
23 |
24 | TwiddlyApplication::TwiddlyApplication( int& argc, char** argv )
25 | :unicorn::CoreApplication( "fm.last.Twiddly", argc, argv )
26 | {
27 | }
28 |
29 | void
30 | TwiddlyApplication::sendBusMessage( const QByteArray& /*msg*/ )
31 | {
32 | //m_bus.sendMessage( msg );
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/lib/unicorn/widgets/GhostWidget.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2010-2011 Last.fm Ltd.
3 | - Primarily authored by Jono Cole and Michael Coffey
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef GHOST_WIDGET_H
22 | #define GHOST_WIDGET_H
23 |
24 | #include
25 | #include "lib/DllExportMacro.h"
26 |
27 | class UNICORN_DLLEXPORT GhostWidget : public QWidget
28 | {
29 | public:
30 | GhostWidget(QWidget* parent = 0 );
31 | void setOrigin( QWidget* origin );
32 |
33 | protected:
34 | bool eventFilter( QObject* obj, QEvent* event );
35 | };
36 |
37 | #endif //GHOST_WIDGET_H
38 |
39 |
--------------------------------------------------------------------------------
/app/client/Dialogs/BetaDialog.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2012 Last.fm Ltd.
3 | - Primarily authored by Michael Coffey
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef BETADIALOG_H
22 | #define BETADIALOG_H
23 |
24 | #include
25 |
26 | namespace Ui {
27 | class BetaDialog;
28 | }
29 |
30 | class BetaDialog : public QDialog
31 | {
32 | Q_OBJECT
33 |
34 | public:
35 | explicit BetaDialog(QWidget *parent = 0);
36 | ~BetaDialog();
37 |
38 | private slots:
39 | void createIssue();
40 |
41 | private:
42 | Ui::BetaDialog *ui;
43 | };
44 |
45 | #endif // BETADIALOG_H
46 |
--------------------------------------------------------------------------------
/app/client/Services/AnalyticsService/PersistentCookieJar.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2012 Last.fm Ltd.
3 | - Primarily authored by Frantz Joseph
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 | #pragma once
21 |
22 | #include
23 |
24 | class PersistentCookieJar : public QNetworkCookieJar
25 | {
26 | Q_OBJECT
27 | public:
28 | PersistentCookieJar(QObject *parent);
29 | ~PersistentCookieJar();
30 |
31 | void load();
32 |
33 | private:
34 | bool setCookiesFromUrl(const QList &cookieList, const QUrl &url);
35 |
36 | public slots:
37 | void save();
38 | };
39 |
--------------------------------------------------------------------------------
/lib/unicorn/qtwin.h:
--------------------------------------------------------------------------------
1 | /****************************************************************************
2 | **
3 | ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4 | **
5 | ** Use, modification and distribution is allowed without limitation,
6 | ** warranty, liability or support of any kind.
7 | **
8 | ****************************************************************************/
9 |
10 | #ifndef QTWIN_H
11 | #define QTWIN_H
12 | #include
13 | #include
14 | #include
15 | /**
16 | * This is a helper class for using the Desktop Window Manager
17 | * functionality on Windows 7 and Windows Vista. On other platforms
18 | * these functions will simply not do anything.
19 | */
20 |
21 | class WindowNotifier;
22 |
23 | class UNICORN_DLLEXPORT QtWin
24 | {
25 | public:
26 | static bool enableBlurBehindWindow(QWidget *widget, bool enable = true);
27 | static bool extendFrameIntoClientArea(QWidget *widget,
28 | int left = -1, int top = -1,
29 | int right = -1, int bottom = -1);
30 | static bool isCompositionEnabled();
31 | static QColor colorizatinColor();
32 |
33 | private:
34 | static WindowNotifier *windowNotifier();
35 | };
36 |
37 | #endif // QTWIN_H
38 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/main_thread_callback.h:
--------------------------------------------------------------------------------
1 | //! Callback object class for main_thread_callback_manager service.
2 | class NOVTABLE main_thread_callback : public service_base {
3 | public:
4 | //! Gets called from main app thread. See main_thread_callback_manager description for more info.
5 | virtual void callback_run() = 0;
6 |
7 | FB2K_MAKE_SERVICE_INTERFACE(main_thread_callback,service_base);
8 | };
9 |
10 | /*!
11 | Allows you to queue a callback object to be called from main app thread. This is commonly used to trigger main-thread-only API calls from worker threads.\n
12 | This can be also used from main app thread, to avoid race conditions when trying to use APIs that dispatch global callbacks from inside some other global callback, or using message loops / modal dialogs inside global callbacks.
13 | */
14 | class NOVTABLE main_thread_callback_manager : public service_base {
15 | public:
16 | //! Queues a callback object. This can be called from any thread, implementation ensures multithread safety. Implementation will call p_callback->callback_run() once later. To get it called repeatedly, you would need to add your callback again.
17 | virtual void add_callback(service_ptr_t p_callback) = 0;
18 |
19 | FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(main_thread_callback_manager);
20 | };
--------------------------------------------------------------------------------
/admin/qmake/1stparty.pro.inc:
--------------------------------------------------------------------------------
1 | CONFIG( unicorn ) {
2 | LIBS += -lunicorn
3 | QT += gui
4 | CONFIG += lastfm
5 | }
6 | CONFIG( listener ) {
7 | LIBS += -llistener
8 | CONFIG += lastfm
9 | }
10 | CONFIG( fingerprint ) {
11 | LIBS += -llastfm_fingerprint
12 | CONFIG += lastfm
13 | }
14 | CONFIG( logger ) {
15 | LIBS += -llogger
16 | CONFIG += lastfm
17 | }
18 | CONFIG( lastfm ) {
19 | QT += core network xml
20 | LIBS += -llastfm
21 | win32 {
22 | CONFIG += link_pkgconfig
23 |
24 | CONFIG(debug, debug|release) {
25 | PKGCONFIG += lastfm-debug
26 | }
27 | else {
28 | PKGCONFIG += lastfm-release
29 | }
30 |
31 | }
32 | mac{
33 | CONFIG( notifications ) {
34 | MAC_SDK = $$system(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
35 |
36 | if( !exists( $$MAC_SDK) ) {
37 | message("You do not have the MacOSX10.8 SDK installed. User Notifications will not be built.")
38 | }
39 | else {
40 | macx:QMAKE_MAC_SDK = $$MAC_SDK
41 | DEFINES += LASTFM_USER_NOTIFICATIONS
42 | }
43 | }
44 |
45 | LIBS += -weak_framework Carbon -weak_framework CoreFoundation -weak_framework Foundation
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/window_placement_helper.h:
--------------------------------------------------------------------------------
1 | #ifndef _WINDOW_PLACEMENT_HELPER_H_
2 | #define _WINDOW_PLACEMENT_HELPER_H_
3 |
4 | class cfg_window_placement : public cfg_var
5 | {
6 | public:
7 | bool on_window_creation(HWND window);//returns true if window position has been changed, false if not
8 | void on_window_destruction(HWND window);
9 | bool read_from_window(HWND window);
10 | void get_data_raw(stream_writer * p_stream,abort_callback & p_abort);
11 | void set_data_raw(stream_reader * p_stream,t_size p_sizehint,abort_callback & p_abort);
12 | cfg_window_placement(const GUID & p_guid);
13 | private:
14 | pfc::list_hybrid_t m_windows;
15 | WINDOWPLACEMENT m_data;
16 | };
17 |
18 | class cfg_window_size : public cfg_var
19 | {
20 | public:
21 | bool on_window_creation(HWND window);//returns true if window position has been changed, false if not
22 | void on_window_destruction(HWND window);
23 | bool read_from_window(HWND window);
24 | void get_data_raw(stream_writer * p_stream,abort_callback & p_abort);
25 | void set_data_raw(stream_reader * p_stream,t_size p_sizehint,abort_callback & p_abort);
26 | cfg_window_size(const GUID & p_guid);
27 | private:
28 | pfc::list_hybrid_t m_windows;
29 | t_uint32 m_width,m_height;
30 | };
31 |
32 |
33 | #endif //_WINDOW_PLACEMENT_HELPER_H_
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/pfc/ptr_list.h:
--------------------------------------------------------------------------------
1 | #ifndef __PFC_PTR_LIST_H_
2 | #define __PFC_PTR_LIST_H_
3 |
4 | namespace pfc {
5 |
6 | template >
7 | class ptr_list_t : public B
8 | {
9 | public:
10 | ptr_list_t() {}
11 | ptr_list_t(const ptr_list_t & p_source) {*this = p_source;}
12 |
13 | void free_by_idx(t_size n) {free_mask(bit_array_one(n));}
14 | void free_all() {this->remove_all_ex(free);}
15 | void free_mask(const bit_array & p_mask) {this->remove_mask_ex(p_mask,free);}
16 |
17 | void delete_item(T* ptr) {delete_by_idx(find_item(ptr));}
18 |
19 | void delete_by_idx(t_size p_index) {
20 | delete_mask(bit_array_one(p_index));
21 | }
22 |
23 | void delete_all() {
24 | this->remove_all_ex(pfc::delete_t);
25 | }
26 |
27 | void delete_mask(const bit_array & p_mask) {
28 | this->remove_mask_ex(p_mask,pfc::delete_t);
29 | }
30 |
31 | T * operator[](t_size n) const {return this->get_item(n);}
32 | };
33 |
34 | template
35 | class ptr_list_hybrid_t : public ptr_list_t > {
36 | public:
37 | ptr_list_hybrid_t() {}
38 | ptr_list_hybrid_t(const ptr_list_hybrid_t & p_source) {*this = p_source;}
39 | };
40 |
41 | typedef ptr_list_t ptr_list;
42 | }
43 |
44 |
45 | #endif //__PFC_PTR_LIST_H_
46 |
--------------------------------------------------------------------------------
/app/client/PrefPane/FmLastPrefPanePrefWidget.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2010 Last.fm Ltd.
3 | - Primarily authored by Jono Cole
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef PREF_WIDGET_H_
22 | #define PREF_WIDGET_H_
23 |
24 | #include
25 | #include
26 |
27 | class FmLastPrefPanePrefWidget {
28 | public:
29 | FmLastPrefPanePrefWidget();
30 | NSView* view();
31 | QMacNativeWidget* qWidget(){ return widget; }
32 | void updateGeometry();
33 |
34 | private:
35 | QMacNativeWidget* widget;
36 | class SettingsDialog* dialog;
37 | };
38 |
39 | #endif //PREF_WIDGET_H_
40 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/helpers/wildcard.cpp:
--------------------------------------------------------------------------------
1 | #include "stdafx.h"
2 |
3 | static bool test_recur(const char * fn,const char * rm,bool b_sep)
4 | {
5 | for(;;)
6 | {
7 | if ((b_sep && *rm==';') || *rm==0) return *fn==0;
8 | else if (*rm=='*')
9 | {
10 | rm++;
11 | do
12 | {
13 | if (test_recur(fn,rm,b_sep)) return true;
14 | } while(pfc::utf8_advance(fn));
15 | return false;
16 | }
17 | else if (*fn==0) return false;
18 | else if (*rm!='?' && char_lower(pfc::utf8_get_char(fn))!=char_lower(pfc::utf8_get_char(rm))) return false;
19 |
20 | fn = pfc::utf8_char_next(fn); rm = pfc::utf8_char_next(rm);
21 | }
22 | }
23 |
24 | bool wildcard_helper::test_path(const char * path,const char * pattern,bool b_sep) {return test(path + pfc::scan_filename(path),pattern,b_sep);}
25 |
26 | bool wildcard_helper::test(const char * fn,const char * pattern,bool b_sep)
27 | {
28 | if (!b_sep) return test_recur(fn,pattern,false);
29 | const char * rm=pattern;
30 | while(*rm)
31 | {
32 | if (test_recur(fn,rm,true)) return true;
33 | while(*rm && *rm!=';') rm++;
34 | if (*rm==';')
35 | {
36 | while(*rm==';') rm++;
37 | while(*rm==' ') rm++;
38 | }
39 | };
40 |
41 | return false;
42 | }
43 |
44 | bool wildcard_helper::has_wildcards(const char * str) {return strchr(str,'*') || strchr(str,'?');}
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/pfc/other.cpp:
--------------------------------------------------------------------------------
1 | #include "pfc.h"
2 |
3 | #include
4 |
5 |
6 | void order_helper::g_swap(t_size * data,t_size ptr1,t_size ptr2)
7 | {
8 | t_size temp = data[ptr1];
9 | data[ptr1] = data[ptr2];
10 | data[ptr2] = temp;
11 | }
12 |
13 |
14 | t_size order_helper::g_find_reverse(const t_size * order,t_size val)
15 | {
16 | t_size prev = val, next = order[val];
17 | while(next != val)
18 | {
19 | prev = next;
20 | next = order[next];
21 | }
22 | return prev;
23 | }
24 |
25 |
26 | void order_helper::g_reverse(t_size * order,t_size base,t_size count)
27 | {
28 | t_size max = count>>1;
29 | t_size n;
30 | t_size base2 = base+count-1;
31 | for(n=0;n>1;n++) swap_t(ptr[n],ptr[p_bytes-n-1]);
49 | }
50 |
51 | #if defined(_DEBUG) && defined(_WIN32)
52 | void pfc::myassert(const wchar_t * _Message, const wchar_t *_File, unsigned _Line) {
53 | if (IsDebuggerPresent()) pfc::crash();
54 | _wassert(_Message,_File,_Line);
55 | }
56 | #endif
--------------------------------------------------------------------------------
/app/client/Settings/IpodSettingsWidget.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2010 Last.fm Ltd.
3 | - Primarily authored by Jono Cole, Michael Coffey, and William Viana
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef IPOD_SETTINGS_H
22 | #define IPOD_SETTINGS_H
23 |
24 | #include "SettingsWidget.h"
25 |
26 | namespace Ui { class IpodSettingsWidget; }
27 |
28 | class IpodSettingsWidget: public SettingsWidget
29 | {
30 | Q_OBJECT
31 |
32 | public:
33 | IpodSettingsWidget( QWidget* parent = 0 );
34 |
35 | public slots:
36 | virtual void saveSettings();
37 |
38 | private:
39 | Ui::IpodSettingsWidget* ui;
40 | };
41 |
42 | #endif
43 |
--------------------------------------------------------------------------------
/app/client/Wizard/TourScrobblesPage.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2011 Last.fm Ltd.
3 | - Primarily authored by Michael Coffey
4 |
5 | This file is part of the Last.fm Desktop Application Suite.
6 |
7 | lastfm-desktop is free software: you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation, either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | lastfm-desktop is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with lastfm-desktop. If not, see .
19 | */
20 |
21 | #ifndef TOURSCROBBLESPAGE_H
22 | #define TOURSCROBBLESPAGE_H
23 |
24 | #include "WizardPage.h"
25 |
26 | class TourScrobblesPage : public WizardPage
27 | {
28 | Q_OBJECT
29 | private:
30 | struct
31 | {
32 | class QLabel* image;
33 | class QLabel* description;
34 | } ui;
35 |
36 | public:
37 | explicit TourScrobblesPage();
38 |
39 | private:
40 | void initializePage();
41 | void cleanupPage();
42 | };
43 |
44 | #endif // TOURSCROBBLESPAGE_H
45 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/foobar2000/SDK/console.cpp:
--------------------------------------------------------------------------------
1 | #include "foobar2000.h"
2 |
3 |
4 | void console::info(const char * p_message) {print(p_message);}
5 | void console::error(const char * p_message) {formatter() << "ERROR : " << p_message;}
6 | void console::warning(const char * p_message) {formatter() << "WARNING : " << p_message;}
7 |
8 | void console::info_location(const playable_location & src) {print_location(src);}
9 | void console::info_location(const metadb_handle_ptr & src) {print_location(src);}
10 |
11 | void console::print_location(const metadb_handle_ptr & src)
12 | {
13 | print_location(src->get_location());
14 | }
15 |
16 | void console::print_location(const playable_location & src)
17 | {
18 | formatter() << src;
19 | }
20 |
21 | void console::print(const char* p_message)
22 | {
23 | if (core_api::are_services_available()) {
24 | service_ptr_t ptr;
25 | service_enum_t e;
26 | while(e.next(ptr)) ptr->print(p_message,infinite);
27 | }
28 | }
29 |
30 | void console::printf(const char* p_format,...)
31 | {
32 | va_list list;
33 | va_start(list,p_format);
34 | printfv(p_format,list);
35 | va_end(list);
36 | }
37 |
38 | void console::printfv(const char* p_format,va_list p_arglist)
39 | {
40 | pfc::string8_fastalloc temp;
41 | uPrintfV(temp,p_format,p_arglist);
42 | print(temp);
43 | }
--------------------------------------------------------------------------------
/lib/3rdparty/iTunesCOMAPI/ReadMe.rtf:
--------------------------------------------------------------------------------
1 | {\rtf1\mac\ansicpg10000\cocoartf102
2 | {\fonttbl\f0\fswiss\fcharset77 Helvetica;}
3 | {\colortbl;\red255\green255\blue255;}
4 | \margl1440\margr1440\vieww10620\viewh12220\viewkind0
5 | \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
6 |
7 | \f0\fs24 \cf0 iTunesCOM.chm\
8 | \
9 | Compressed HTML help file containing the documentation on the iTunes COM\
10 | interface. It's built directly from the IDL files, so anything you see\
11 | documented is guaranteed to be available in iTunes.\
12 | \
13 | iTunesCOMInterface.h\
14 | iTunesCOMInterface_i.c\
15 | \
16 | The iTunes COM header file (along with IID constants), needed for building clients in a high level\
17 | language like C++. Note that the type library is built into iTunes.exe,\
18 | you can browse it using OLEView or similar tools.\
19 | \
20 | SampleScripts folder\
21 | \
22 | A few sample JScripts that use the iTunes COM interface:\
23 | \
24 | CreateAlbumPlaylists.js\
25 | \
26 | Iterates over all tracks in your library, creates a new playlist for\
27 | each album, and adds the tracks for that album to the playlist.\
28 | \
29 | RemoveDeadTracks.js\
30 | \
31 | Iterates over your library and removes any tracks that can no longer be\
32 | found on disk.\
33 | \
34 | RemoveUserPlaylists.js\
35 | \
36 | Deletes all non-smart user playlists your library.\
37 | }
--------------------------------------------------------------------------------
/app/client/Mpris2/Mpris2.h:
--------------------------------------------------------------------------------
1 | /***********************************************************************
2 | * Copyright 2012 Eike Hein
3 | *
4 | * This program is free software; you can redistribute it and/or
5 | * modify it under the terms of the GNU General Public License as
6 | * published by the Free Software Foundation; either version 2 of
7 | * the License or (at your option) version 3 or any later version
8 | * accepted by the membership of KDE e.V. (or its successor approved
9 | * by the membership of KDE e.V.), which shall act as a proxy
10 | * defined in Section 14 of version 3 of the license.
11 | *
12 | * This program is distributed in the hope that it will be useful,
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | * GNU General Public License for more details.
16 | *
17 | * You should have received a copy of the GNU General Public License
18 | * along with this program. If not, see .
19 | ***********************************************************************/
20 |
21 | #ifndef MPRIS2_H
22 | #define MPRIS2_H
23 |
24 | #include
25 |
26 | class Mpris2 : public QObject
27 | {
28 | Q_OBJECT
29 |
30 | public:
31 | explicit Mpris2( QObject *parent = 0 );
32 | ~Mpris2();
33 | };
34 |
35 | #endif // MPRIS2_H
36 |
--------------------------------------------------------------------------------
/lib/unicorn/qrc/as.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
--------------------------------------------------------------------------------
/plugins/foobar09/foobar_sdk/pfc/instance_tracker.h:
--------------------------------------------------------------------------------
1 | namespace pfc {
2 | template
3 | class instance_tracker_server_t {
4 | public:
5 | void add(t_object * p_object) {
6 | m_list.add_item(p_object);
7 | }
8 | void remove(t_object * p_object) {
9 | m_list.remove_item(p_object);
10 | }
11 |
12 | t_size get_count() const {return m_list.get_count();}
13 | t_object * get_item(t_size p_index) {return m_list[p_index];}
14 | t_object * operator[](t_size p_index) {return m_list[p_index];}
15 |
16 | private:
17 | ptr_list_hybrid_t m_list;
18 | };
19 |
20 |
21 | template & p_server>
22 | class instance_tracker_client_t {
23 | public:
24 | instance_tracker_client_t(t_object* p_ptr) : m_ptr(NULL), m_added(false) {initialize(p_ptr);}
25 | instance_tracker_client_t() : m_ptr(NULL), m_added(false) {}
26 |
27 | void initialize(t_object * p_ptr) {
28 | uninitialize();
29 | p_server.add(p_ptr);
30 | m_ptr = p_ptr;
31 | m_added = true;
32 | }
33 |
34 | void uninitialize() {
35 | if (m_added) {
36 | p_server.remove(m_ptr);
37 | m_ptr = NULL;
38 | m_added = false;
39 | }
40 | }
41 |
42 | ~instance_tracker_client_t() {
43 | uninitialize();
44 | }
45 | private:
46 | bool m_added;
47 | t_object * m_ptr;
48 | };
49 | }
--------------------------------------------------------------------------------