Skip to content

Commit

Permalink
Merged v0.2.0 development branch
Browse files Browse the repository at this point in the history
  • Loading branch information
ebruck committed Dec 31, 2017
1 parent 22cd90e commit f88c7c4
Show file tree
Hide file tree
Showing 75 changed files with 4,813 additions and 277 deletions.
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
Edward G. Bruck <[email protected]>
Michael A. Burns <[email protected]>
21 changes: 8 additions & 13 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ endif(POLICY CMP0048)

# workaround for Eclipse
if (${CMAKE_EXTRA_GENERATOR} MATCHES "Eclipse CDT4")
set(CMAKE_CXX_COMPILER_ARG1 "-std=c++11"
set(CMAKE_CXX_COMPILER_ARG1 "-std=c++14"
CACHE STRING "C++ version for Eclipse's indexer" FORCE)
set(CMAKE_ECLIPSE_VERSION "4.4"
CACHE STRING "Eclipse version" FORCE)
Expand All @@ -16,8 +16,8 @@ project(radiotray-ng CXX)

# version for user agent creation
set(PROJECT_VERSION_MAJOR 0)
set(PROJECT_VERSION_MINOR 1)
set(PROJECT_VERSION_PATCH 8)
set(PROJECT_VERSION_MINOR 2)
set(PROJECT_VERSION_PATCH 0)
set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")

# output dir
Expand All @@ -37,6 +37,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR})
find_package(CURL REQUIRED)
find_package(PkgConfig REQUIRED)
find_package(Boost REQUIRED filesystem system log program_options thread)
find_package(wxWidgets REQUIRED core base adv)
find_package(GMock)

pkg_search_module(JSONCPP REQUIRED jsoncpp)
Expand All @@ -50,17 +51,12 @@ endif(NOT APPLE)
set(CMAKE_CXX_STANDARD 14)
add_definitions("-DBOOST_LOG_DYN_LINK")
add_compile_options("-fdiagnostics-color=auto")
set(warnings "-Wall -Wextra -Werror")
set(warnings "-Wno-deprecated-declarations -Wall -Wextra -Werror")
set(CMAKE_CXX_FLAGS ${warnings})
set(CMAKE_C_FLAGS ${warnings})
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")

if (NOT CONFIGURED_ONCE)
set(CMAKE_CXX_FLAGS "${warnings}"
CACHE STRING "Flags used by the compiler during all build types." FORCE)
set(CMAKE_C_FLAGS "${warnings}"
CACHE STRING "Flags used by the compiler during all build types." FORCE)
endif()

# includes etc.
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/src/ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ ${JSONCPP_INCLUDE_DIRS})

Expand Down Expand Up @@ -94,6 +90,7 @@ add_subdirectory(src/radiotray-ng/event_bus)
add_subdirectory(src/radiotray-ng/player)
add_subdirectory(src/radiotray-ng/notification)
add_subdirectory(src/radiotray-ng/extras/media_keys)
add_subdirectory(src/radiotray-ng/gui/editor)
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
add_subdirectory(src/radiotray-ng/extras/rtng_dbus)
target_compile_definitions(radiotray-ng PRIVATE RTNG_DBUS)
Expand Down Expand Up @@ -125,5 +122,3 @@ add_custom_command(
)

add_custom_target(user-agent ALL DEPENDS rtng_user_agent)

set(CONFIGURED_ONCE TRUE CACHE INTERNAL "A flag showing that CMake has configured at least once.")
28 changes: 23 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,10 @@ The version here is what "I" wanted out of RadioTray.

## Future: ##

* Cross platform bookmark editor application. (Work is underway. Thanks Mike!)
* ~~Cross platform bookmark editor application.~~
* Finish ncurses interface
* Mac support (icons, menu, media keys etc.) (I need help here.)
* Mac support (icons, menu, media keys etc.)
* ~~Script to convert RadioTray's bookmarks.xml to the new format.~~
* Better handling of any JSON parsing errors.

**Icons:** [http://www.iconsplace.com/]
**License:** Creative Commons Attribution-NoDerivs 3.0 Unported
Expand All @@ -53,6 +52,7 @@ The version here is what "I" wanted out of RadioTray.
![Screenshot](images/screenshot_2.png)
![Screenshot](images/screenshot_3.png)
![Screenshot](images/screenshot_4.png)
![Screenshot](images/screenshot_7.png)
![Screenshot](images/screenshot_6.png)
![Screenshot](images/screenshot_5.png)

Expand All @@ -70,6 +70,9 @@ A config is created in your ~/.config/radiotray-ng directory with the following
```
{
"bookmarks" : "~/.config/radiotray-ng/bookmarks.json",
"bookmark-editor" : "rtng-bookmark-editor",
"buffer-duration: : 2,
"buffer-size" : 320000,
"compact-menu" : false,
"debug-logging" : false,
"file-monitor" : true,
Expand All @@ -81,6 +84,7 @@ A config is created in your ~/.config/radiotray-ng directory with the following
"notifications" : true,
"sleep-timer" : 30,
"split-title" : true,
"ihr-title" : true,
"tag-info-verbose" : true,
"volume-level" : 100,
"volume-step" : 1,
Expand All @@ -97,6 +101,9 @@ A config is created in your ~/.config/radiotray-ng directory with the following
```
```
bookmarks: location of bookmarks file
bookmark-editor: bookmark editor to launch
buffer-size: size of buffer in bytes
buffer-duration: number of seconds to buffer
compact-menu : enable/disable the use of menu separators
debug-logging: enable/disable verbose debug logging
file-monitor: enable/disable notifcation of bookmark file changes
Expand All @@ -106,6 +113,7 @@ A config is created in your ~/.config/radiotray-ng directory with the following
notifications: turns on/off notification messages
sleep-timer: value is in minutes
split-title: attempts to reformat the notification into title/artist
ihr-title: extra parsing for iheartradio formatting (requires split-title)
tag-info-verbose: displays in the menu stream information such as bitrate etc.
volume-step: value used to increment/decrement the volume level
media-key-mapping: enable the mapping of media keys to volume up/down etc. (Previous, Next, Rewind, FastForward etc.)
Expand All @@ -119,9 +127,10 @@ media-key-previous-station: media key to use for previous station within current
radiotray-ng-notification: installed theme icon name for "notification" or path to image
```
* Installed config will only include several commonly edited entries.
* Do not edit the config while Radiotray-NG is running or your changes will be lost.
* No checks are made if a media key assignment collides with another action.

* buffer-size should be large enough to hold the configured duration (More testing is required!)

## Bookmarks Format ##

Expand Down Expand Up @@ -168,6 +177,15 @@ The rt2rtng script will convert your RadioTray bookmarks.xml file. All groups wi
$ rt2rtng ~/.local/share/radiotray/bookmarks.xml > bookmarks.json
```


## Bookmarks Editor ##

The Bookmarks Editor is a simple editor that enables management of your bookmarks file eliminating the need for manually editing the file. The editor will attempt to open the default bookmarks file on startup, but you can select to open another bookmarks file if desired. This provides you with the ability to manage multiple bookmark files.

The editor supports all of the typical editor operations including adding, editing and deleting of both groups and stations. Images are easily selected via standard browsing functionality. You can also arrange the groups and stations using simple drag-n-drop actions.

* Use Radiotray-NG's reload bookmarks after saving your changes.

## DBus Interface ##

```
Expand Down Expand Up @@ -204,7 +222,7 @@ $ qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng

Install these packages:
```
libcurl4-openssl-dev libjsoncpp-dev libxdg-basedir-dev libnotify-dev libboost-filesystem-dev libgstreamer1.0-dev libappindicator3-dev libboost-log-dev libboost-program-options-dev libgtk-3-dev libnotify-dev lsb-release libbsd-dev libncurses5-dev libglibmm-2.4-dev cmake
libcurl4-openssl-dev libjsoncpp-dev libxdg-basedir-dev libnotify-dev libboost-filesystem-dev libgstreamer1.0-dev libappindicator3-dev libboost-log-dev libboost-program-options-dev libgtk-3-dev libnotify-dev lsb-release libbsd-dev libncurses5-dev libglibmm-2.4-dev libwxgtk3.0-dev libwxgtk3.0-0v5 cmake
```


Expand Down
Binary file modified data/hicolor/24x24/apps/radiotray-ng-off.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/hicolor/24x24/apps/radiotray-ng-on.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/hicolor/256x256/apps/radiotray-ng-off.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified data/hicolor/256x256/apps/radiotray-ng-on.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions data/radiotray-ng.desktop
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[Desktop Entry]
Categories=AudioVideo;Audio;Player;GTK;
Comment=Interent Radio Player for Ubuntu
Comment=Interent Radio Player for Linux
Exec=/usr/bin/radiotray-ng
Hidden=false
Icon=radiotray-ng-on
Icon=radiotray-ng-notification
Name=Radiotray-NG
StartupNotify=false
Terminal=false
Expand Down
11 changes: 11 additions & 0 deletions data/rtng-bookmark-editor.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[Desktop Entry]
Categories=AudioVideo;Audio;Player;GTK;
Comment=Bookmark editor for Radiotray-NG
Exec=/usr/bin/rtng-bookmark-editor
Hidden=false
Icon=radiotray-ng-notification
Name=Radiotray-NG Bookmark Editor
StartupNotify=false
Terminal=false
Type=Application

28 changes: 15 additions & 13 deletions debian/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ endif()

set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Edward G. Bruck <[email protected]>")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libbsd0, libcurl3, libjsoncpp1, libxdg-basedir1, libnotify4, python2.7, python-lxml, libglibmm-2.4-1v5, libboost-filesystem${BOOST_DEB_VERSION}, libboost-system${BOOST_DEB_VERSION}, libboost-log${BOOST_DEB_VERSION}, libboost-thread${BOOST_DEB_VERSION}, libboost-program-options${BOOST_DEB_VERSION}, libgstreamer1.0-0, libappindicator3-1, gstreamer1.0-plugins-good, gstreamer1.0-plugins-bad")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libbsd0, libcurl3, libjsoncpp1, libxdg-basedir1, libnotify4, python2.7, python-lxml, libglibmm-2.4-1v5, libboost-filesystem${BOOST_DEB_VERSION}, libboost-system${BOOST_DEB_VERSION}, libboost-log${BOOST_DEB_VERSION}, libboost-thread${BOOST_DEB_VERSION}, libboost-program-options${BOOST_DEB_VERSION}, libgstreamer1.0-0, libappindicator3-1, gstreamer1.0-plugins-good, gstreamer1.0-plugins-bad, gstreamer1.0-plugins-ugly, libwxgtk3.0-0v5")
set(CPACK_GENERATOR "DEB")
set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}_${PROJECT_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE})
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA ${PROJECT_SOURCE_DIR}/debian/postinst;${PROJECT_SOURCE_DIR}/debian/postrm)
Expand All @@ -31,20 +31,22 @@ INCLUDE(CPack)

set(DESTINATION_DIR /usr/share/radiotray-ng)

execute_process(COMMAND gzip -n -9 -c "${PROJECT_SOURCE_DIR}/debian/changelog" WORKING_DIRECTORY ${PROJECT_BINARY_DIR} OUTPUT_FILE "${PROJECT_BINARY_DIR}/changelog.gz")
execute_process(COMMAND gzip -n -9 -c "${PROJECT_SOURCE_DIR}/debian/changelog" WORKING_DIRECTORY ${PROJECT_BINARY_DIR} OUTPUT_FILE "${PROJECT_BINARY_DIR}/changelog.Debian.gz")

# for 16.04
execute_process(COMMAND chmod 755 ${PROJECT_SOURCE_DIR}/debian/postinst)
execute_process(COMMAND chmod 755 ${PROJECT_SOURCE_DIR}/debian/postrm)

install(DIRECTORY "${PROJECT_SOURCE_DIR}/data/hicolor/256x256/apps/" DESTINATION "/usr/share/icons/hicolor/256x256/apps" FILES_MATCHING PATTERN "*.png")
install(DIRECTORY "${PROJECT_SOURCE_DIR}/data/hicolor/24x24/apps/" DESTINATION "/usr/share/icons/hicolor/24x24/apps" FILES_MATCHING PATTERN "*.png")
install(DIRECTORY "${PROJECT_SOURCE_DIR}/data/ubuntu-mono-dark/apps/24/" DESTINATION "/usr/share/icons/ubuntu-mono-dark/apps/24" FILES_MATCHING PATTERN "*.svg")
install(DIRECTORY "${PROJECT_SOURCE_DIR}/data/ubuntu-mono-light/apps/24/" DESTINATION "/usr/share/icons/ubuntu-mono-light/apps/24" FILES_MATCHING PATTERN "*.svg")
install(FILES "${PROJECT_SOURCE_DIR}/data/about/radiotray-ng.png" DESTINATION ${DESTINATION_DIR})
install(FILES "${PROJECT_SOURCE_DIR}/data/bookmarks.json" DESTINATION ${DESTINATION_DIR})
install(PROGRAMS "${PROJECT_SOURCE_DIR}/data/rt2rtng" DESTINATION "/usr/bin/")
install(PROGRAMS "${PROJECT_BINARY_DIR}/radiotray-ng" DESTINATION "/usr/bin/")
install(FILES "${PROJECT_SOURCE_DIR}/data/radiotray-ng.desktop" DESTINATION "/usr/share/applications/")
install(FILES "${PROJECT_SOURCE_DIR}/debian/copyright" DESTINATION "/usr/share/doc/${CPACK_PACKAGE_NAME}")
install(FILES "${PROJECT_BINARY_DIR}/changelog.gz" DESTINATION "/usr/share/doc/${CPACK_PACKAGE_NAME}")
install(DIRECTORY "${PROJECT_SOURCE_DIR}/data/hicolor/256x256/apps/" DESTINATION "/usr/share/icons/hicolor/256x256/apps" FILES_MATCHING PATTERN "*.png")
install(DIRECTORY "${PROJECT_SOURCE_DIR}/data/hicolor/24x24/apps/" DESTINATION "/usr/share/icons/hicolor/24x24/apps" FILES_MATCHING PATTERN "*.png")
install(DIRECTORY "${PROJECT_SOURCE_DIR}/data/ubuntu-mono-dark/apps/24/" DESTINATION "/usr/share/icons/ubuntu-mono-dark/apps/24" FILES_MATCHING PATTERN "*.svg")
install(DIRECTORY "${PROJECT_SOURCE_DIR}/data/ubuntu-mono-light/apps/24/" DESTINATION "/usr/share/icons/ubuntu-mono-light/apps/24" FILES_MATCHING PATTERN "*.svg")
install(FILES "${PROJECT_SOURCE_DIR}/data/about/radiotray-ng.png" DESTINATION ${DESTINATION_DIR})
install(FILES "${PROJECT_SOURCE_DIR}/data/bookmarks.json" DESTINATION ${DESTINATION_DIR})
install(PROGRAMS "${PROJECT_SOURCE_DIR}/data/rt2rtng" DESTINATION "/usr/bin/")
install(PROGRAMS "${PROJECT_BINARY_DIR}/radiotray-ng" DESTINATION "/usr/bin/")
install(PROGRAMS "${PROJECT_BINARY_DIR}/rtng-bookmark-editor" DESTINATION "/usr/bin/")
install(FILES "${PROJECT_SOURCE_DIR}/data/radiotray-ng.desktop" DESTINATION "/usr/share/applications/")
install(FILES "${PROJECT_SOURCE_DIR}/data/rtng-bookmark-editor.desktop" DESTINATION "/usr/share/applications/")
install(FILES "${PROJECT_SOURCE_DIR}/debian/copyright" DESTINATION "/usr/share/doc/${CPACK_PACKAGE_NAME}")
install(FILES "${PROJECT_BINARY_DIR}/changelog.Debian.gz" DESTINATION "/usr/share/doc/${CPACK_PACKAGE_NAME}")
11 changes: 11 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
radiotray-ng (0.2.0) unstable; urgency=low

* Added contributed Bookmark Editor (Thanks Mike!)
* Added iHeartRadio tag parsing
* Added buffer-duration config option
* Fixed jsoncpp build warnings breaking Arch builds
* Minor bug fixes

-- Edward G. Bruck <[email protected]> Sat, 30 Dec 2017 16:27:34 -0800


radiotray-ng (0.1.8) unstable; urgency=low

* Added icon middle click support for starting/stopping playback
Expand Down
Binary file added images/screenshot_7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 8 additions & 2 deletions include/radiotray-ng/common.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,9 @@ using playlist_t = std::vector<std::string>;

// config keys
#define BOOKMARKS_KEY "bookmarks"
#define BOOKMARK_EDITOR_KEY "bookmark-editor"
#define BUFFER_SIZE_KEY "buffer-size"
#define BUFFER_DURATION_KEY "buffer-duration"
#define COMPACT_MENU_KEY "compact-menu"
#define DEBUG_LOGGING_KEY "debug-logging"
#define FILE_MONITOR_KEY "file-monitor"
Expand All @@ -87,6 +89,7 @@ using playlist_t = std::vector<std::string>;
#define RADIOTRAY_NG_NOTIFICATION_KEY "radiotray-ng-notification"
#define SLEEP_TIMER_KEY "sleep-timer"
#define SPLIT_TITLE_KEY "split-title"
#define IHR_TITLE_KEY "ihr-title"
#define TAG_INFO_VERBOSE_KEY "tag-info-verbose"
#define VOLUME_LEVEL_KEY "volume-level"
#define VOLUME_MAX_LEVEL_KEY "volume-max-level"
Expand All @@ -108,11 +111,13 @@ using playlist_t = std::vector<std::string>;
#define RADIOTRAY_NG_LOGO_ICON "radiotray-ng.png"

// defaults
#define DEFAULT_BUFFER_SIZE_VALUE uint32_t(128000*10)
#define DEFAULT_BUFFER_DURATION_VALUE (2)
#define DEFAULT_BUFFER_SIZE_VALUE uint32_t(320000)
#define DEFAULT_BOOKMARK_EDITOR "rtng-bookmark-editor"
#define DEFAULT_COMPACT_MENU_VALUE (false)
#define DEFAULT_DEBUG_LOGGING_VALUE (false)
#define DEFAULT_FILE_MONITOR_VALUE (true)
#define DEFAULT_FILE_MONITOR_INTERVAL_VALUE (30)
#define DEFAULT_FILE_MONITOR_INTERVAL_VALUE (10)
#define DEFAULT_HTTP_TIMEOUT_VALUE (15)
#define DEFAULT_INVERT_MENU_VALUE (false)
#define DEFAULT_MEDIA_KEY_MAPPING_VALUE (false)
Expand All @@ -128,6 +133,7 @@ using playlist_t = std::vector<std::string>;
#define DEFAULT_NOTIFICATION_VERBOSE_VALUE (true)
#define DEFAULT_SLEEP_TIMER_VALUE uint32_t(60)
#define DEFAULT_SPLIT_TITLE_VALUE (true)
#define DEFAULT_IHR_TITLE_KEY_VALUE (true)
#define DEFAULT_STATION_IMAGE_VALUE ""
#define DEFAULT_VOLUME_LEVEL_MAX_VALUE uint32_t(200)
#define DEFAULT_VOLUME_LEVEL_VALUE uint32_t(100)
Expand Down
70 changes: 35 additions & 35 deletions include/radiotray-ng/file_monitor.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,31 +33,7 @@ namespace radiotray_ng
FileMonitor(const std::string& file)
: file_to_watch(radiotray_ng::word_expand(file))
{
this->inotify_fd = inotify_init();

if (this->inotify_fd < 0)
{
LOG(error) << "could not initialize inotify, monitoring disabled: " << errno;
return;
}

if (fcntl(this->inotify_fd, F_SETFL, fcntl(this->inotify_fd, F_GETFL) | O_NONBLOCK) < 0)
{
LOG(error) << "could not set notify descriptor to non-blocking, monitoring disabled: " << errno;
close(this->inotify_fd);
return;
}

if (!this->add_watch())
{
LOG(error) << "could not add inotify watch, monitoring disabled: " << errno;
close(this->inotify_fd);
return;
}

LOG(debug) << "monitoring: " << file;

this->setup = true;
this->setup = this->add_watch();
}

~FileMonitor()
Expand All @@ -82,7 +58,7 @@ namespace radiotray_ng
events.push_back(tmp);
}

for(auto event : events)
for (auto event : events)
{
if (event.mask & IN_MODIFY || event.mask & IN_ATTRIB)
{
Expand All @@ -91,15 +67,11 @@ namespace radiotray_ng

if (event.mask & IN_DELETE_SELF || event.mask & IN_MOVE_SELF || event.mask & IN_IGNORED)
{
inotify_rm_watch(this->inotify_fd, this->watch_fd);
this->setup = this->add_watch();

if (!this->add_watch())
if (!this->setup)
{
LOG(error) << "could not add inotify watch, monitoring disabled: " << errno;

close(this->inotify_fd);

this->setup = false;
}

modified = true;
Expand All @@ -116,16 +88,44 @@ namespace radiotray_ng

bool add_watch()
{
this->cleanup();

this->inotify_fd = inotify_init();

if (this->inotify_fd < 0)
{
LOG(error) << "could not initialize inotify, monitoring disabled: " << errno;
return false;
}

if (fcntl(this->inotify_fd, F_SETFL, fcntl(this->inotify_fd, F_GETFL) | O_NONBLOCK) < 0)
{
LOG(error) << "could not set notify descriptor to non-blocking, monitoring disabled: " << errno;
close(this->inotify_fd);
return false;
}

LOG(debug) << "monitoring: " << this->file_to_watch;

this->watch_fd = inotify_add_watch(this->inotify_fd, file_to_watch.c_str(),
IN_MODIFY | IN_ATTRIB | IN_DELETE_SELF | IN_MOVE_SELF | IN_IGNORED);

return (this->watch_fd != -1);
if (this->watch_fd == -1)
{
close(this->inotify_fd);
return false;
}

return true;
}

void cleanup()
{
inotify_rm_watch(this->inotify_fd, this->watch_fd);
close(this->inotify_fd);
if (this->setup)
{
inotify_rm_watch(this->inotify_fd, this->watch_fd);
close(this->inotify_fd);
}
}

int inotify_fd;
Expand Down
Loading

0 comments on commit f88c7c4

Please sign in to comment.