MCPcopy Create free account
hub / github.com/AcademySoftwareFoundation/xstudio / message_handler

Method message_handler

src/timeline/src/timeline_actor.cpp:1225–2729  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1223
1224
1225caf::message_handler TimelineActor::message_handler() {
1226 return caf::message_handler{
1227 [=](broadcast::broadcast_down_atom, const caf::actor_addr &) {},
1228
1229 [=](history::history_atom) -> UuidActor { return UuidActor(history_uuid_, history_); },
1230
1231 [=](link_media_atom, const bool force) -> result<bool> {
1232 auto rp = make_response_promise<bool>();
1233
1234 if (item_actors_.empty()) {
1235 rp.deliver(true);
1236 } else {
1237 // pool direct children for state.
1238 fan_out_request<policy::select_all>(
1239 map_value_to_vec(item_actors_),
1240 infinite,
1241 link_media_atom_v,
1242 media_actors_,
1243 force)
1244 .await(
1245 [=](std::vector<bool> items) mutable { rp.deliver(true); },
1246 [=](error &err) mutable {
1247 spdlog::warn(
1248 "{} {} {}",
1249 __PRETTY_FUNCTION__,
1250 to_string(err),
1251 base_.item().name());
1252 rp.deliver(false);
1253 });
1254 }
1255
1256 return rp;
1257 },
1258
1259 [=](link_media_atom, const UuidActorMap &media, const bool force) -> result<bool> {
1260 auto rp = make_response_promise<bool>();
1261 if (item_actors_.empty()) {
1262 rp.deliver(true);
1263 } else {
1264 // pool direct children for state.
1265 fan_out_request<policy::select_all>(
1266 map_value_to_vec(item_actors_), infinite, link_media_atom_v, media, force)
1267 .await(
1268 [=](std::vector<bool> items) mutable { rp.deliver(true); },
1269 [=](error &err) mutable { rp.deliver(err); });
1270 }
1271
1272 return rp;
1273 },
1274
1275
1276 [=](active_range_atom, const FrameRange &fr) -> JsonStore {
1277 auto jsn = base_.item().set_active_range(fr);
1278 if (not jsn.is_null()) {
1279 mail(event_atom_v, item_atom_v, jsn, false).send(base_.event_group());
1280 anon_mail(history::log_atom_v, __sysclock_now(), jsn).send(history_);
1281 }
1282 return jsn;

Callers

nothing calls this directly

Calls 15

map_value_to_vecFunction · 0.85
__sysclock_nowFunction · 0.85
find_itemFunction · 0.85
find_media_clipsFunction · 0.85
find_uuidFunction · 0.85
find_parent_actorFunction · 0.85
UuidClass · 0.85
vector_to_uuid_vectorFunction · 0.85
formatFunction · 0.85
spawnFunction · 0.85
deliverMethod · 0.80
itemMethod · 0.80

Tested by

no test coverage detected