Create new items programmatically
Allows creating annotation items programmatically on a single level.
You have to pass in a data frame describing the new items. Each new item is identified by
its session
, bundle
, level
, and depending on the
level type either:
sequence index (start_item_seq_idx)
: when level type = ITEM
start
: start time in ms * 1000 (see output of query) when level type = EVENT
start
: start time in ms * 1000 () when level type = SEGMENT
(creates gapless segment groups where the last segment ends at the end of the audio file)
.
The level
with its associated attributes
determines how many
labels must be provided. You must provide a label for every existing attribute.
Sessions, bundles, levels and attributes must exist beforehand. The sequence index is explained below.
Within each bundle, there can be multiple annotation items on every level. Their order within the level is given by their sequence index. All *existing* items have a natural-valued sequence index and there are no gaps in the sequences (i.e. if a level contains N annotation items, they are indexed 1..N).
Any newly created item must be given a sequence index. The sequence index may
be real-valued (it will automatically be replaced with a natural value). To
prepend the new item to the existing one, pass a value lower than one. To
append it to the existing items, you can either pass NA
or any value
that you know is greater than n (the number of existing items in that level).
It does not need to be exactly n+1. To place the new item between two
existing ones, use any real value between the sequence indexes of the existing
neighbors.
If you are appending multiple items at the same time, every sequence index (including NA) can only be used once per session/bundle/level combination (because session/bundle/level/sequence index are a unique identifier of an item's ).
After creating the items, all sequence indexes (which may now be real-valued, natural-valued or NA) are sorted in ascending order and then replaced with the values 1..n, where n is the number of items on that level. While sorting, NA values are placed at the end.
create_itemsInLevel( emuDBhandle, itemsToCreate, rewriteAllAnnots = TRUE, verbose = TRUE )
emuDBhandle |
emuDB handle as returned by |
itemsToCreate |
A data frame with the columns
*None* of the columns should be factors.
|
rewriteAllAnnots |
should changes be written to file system (_annot.json files) (intended for expert use only) |
verbose |
if set to |
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.