- [self willChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndex:index] forKey:@"media"];
- [self willChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndex:index] forKey:@"node"];
- [cachedNode insertObject:node atIndex:index];
- [self didChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndex:index] forKey:@"node"];
- [self didChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndex:index] forKey:@"media"];
+ [self willChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndexesInRange:range] forKey:@"media"];
+ [self willChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndexesInRange:range] forKey:@"node"];
+ for( NSDictionary * args in arrayOfArgs )
+ {
+ int index = [[args objectForKey:@"index"] intValue];
+ VLCMedia * media = [args objectForKey:@"media"];
+ VLCMediaListAspectNode * node = [[[VLCMediaListAspectNode alloc] init] autorelease];
+ [node setMedia:media];
+ [node setChildren:[self childrenAtIndex:index]];
+ /* Sanity check */
+ if( index && index > [cachedNode count] )
+ index = [cachedNode count];
+ [cachedNode insertObject:node atIndex:index];
+ }
+ [self didChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndexesInRange:range] forKey:@"node"];
+ [self didChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndexesInRange:range] forKey:@"media"];