aboutsummaryrefslogtreecommitdiff
path: root/lib/App/MediaControl.rakumod
diff options
context:
space:
mode:
Diffstat (limited to 'lib/App/MediaControl.rakumod')
-rw-r--r--lib/App/MediaControl.rakumod13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/App/MediaControl.rakumod b/lib/App/MediaControl.rakumod
index 0887095..12ed948 100644
--- a/lib/App/MediaControl.rakumod
+++ b/lib/App/MediaControl.rakumod
@@ -45,7 +45,11 @@ class App::MediaControl {
start react {
whenever scan-dir($root) -> $item {
when $item ~~ $root {}
- when $item ~~ ScanDir::End { $!db.remove-unseen() }
+ when $item ~~ ScanDir::End {
+ $!db.remove-unseen();
+ $to-add.done();
+ $to-add = Nil;
+ }
my $path = $item.parent.relative($root);
$path = '' if $path eq '.';
@@ -56,7 +60,12 @@ class App::MediaControl {
}
else {
my $is-dir = $item.d;
- $to-add.emit(%(:$path,:$name,:$is-dir));
+ with $to-add {
+ .emit(%(:$path,:$name,:$is-dir));
+ }
+ else {
+ $!db.add-entries([%(:$path,:$name,:$is-dir)]);
+ }
}
}
whenever $to-add.Supply.batch(:100elems,:2seconds) -> $items {